changelog sep. '04

the binary, source code and api documentation will soon be published at a different directory.

changelog aug. '04

the programme is in version 0.6 which is final for the m.a. and was renamed to meloncillo. i'm writing the thesis text at the moment so come back in september and see what has happened to the app.

ichnograph

ichnograph is name of a software i develop for my magister artium thesis at the technical university of berlin. it is stand-alone application for spatialization (or, more generally speaking, multi-channel processing) of sound. departing from an approch known from the sigma-1 software, it mainly provides a graphical user interface with a momentary two-dimensional view of a multi-channel setup. the setup consists of two categories of objects, receivers and transmitters which correspond to static (non-moving) area shaped objects and dynamic (moving) point-objects respectively. there are tools to change to sensitivity of the receivers and those responsible for creating and transforming the trajectories of the transmitters.

the architecture of ichnograph is designed to be open and flexible. while you can use a synthesis model similar to sigma-1, where receivers correspond to output channels (i.e. loudspeakers) and transmitters to moving sound sources and the sound is rendered through multiply-and-add operations on a two dimensional matrix (amplitude-panning), various other synthesis models can be implemented. examples include the reversal of the matrix (static sounds and moving output channels) and dynamic filtering and signal processing transformation of sound. realtime sound output, trajectory transformations and offline output rendering are realized through a plug-in structure. there is a common lisp interpreter stage between ichnograph and the actual plug-in which has a few extra predefined functions such as sending osc messages. so at the moment, there is a realtime sound output by utilizing the supercollider 3 synthesis server. the server is configured through a lisp script evaluated in ichnograph, allowing the synthesis model to change as outlined above. a similar mechanism for max/msp is planned.

the program is in beta version at the moment. the final distribution form is not yet decided, it might become an open-source or at least free software, but equally it could be commercially distributed, which kind of depends on my economic situation in a few months ;-)

the time schedule is as follows: by beginning of august finish all source code activities for the magister version; by beginning of september finish the written thesis. if you are interested in details of the programme, please email me for more information.

below is an old version of an introduction to the programme in german. a couple of things have changed so this document will be updated and translated to english some day.

overview (german, first beta version)

ichnograph ist eine software zur raumklang-steuerung, die neben der bewegung von klangquellen zwischen verschiedenen lautsprechern eine flexible nutzung der trajektorien für eine räumlich komponierte signalverarbeitung erlaubt. das bedeutet, eine räumlichkeit kann auch z.b. dadurch geschaffen werden, daß ein mehrkanaliger weitgehend korrelierter klang je nach räumlicher position, d.h. je nach abstrahlendem lautsprecher, unterschiedlich gefiltert, transponiert, verzerrt usw. wird. die lautsprecher können damit als punkte eines räumlich ausgedehnten plastischen klangkörpers betrachtet werden. wenn wir einen herkömmlichen klangkörper, z.b. eine violine, an unterschiedlichen punkten microphonieren, erhalten wir kohärente, aber eben räumlich strukturierte klänge. wir können auch dasselbe objekt mit unterschiedlichen microphonen aufzeichnen etc., das heißt wir nähern uns einer art akustischem kubismus - oder surrealismus, wenn anschließend die punkte des klangkörpers irritierend gestört werden.

die software, die den arbeitstitel "ichnograph" (etwa "spurenaufzeichner") trägt, wird als nicht-echtzeit basierte standalone applikation in java implementiert. der hauptteil besteht in der entwicklung einer graphischen benutzeroberfläche zur zweidimensionalen plazierung von flächen variabler sensibilität zur registrierung der parameterbewegungen sowie zur editierung der trajektorien bewegter punktobjekte, die jeweils einen parameter der räumlichen signalverarbeitung repräsentieren.

der folgende screenshot zeigt den gegenwärtigen stand der 2d oberfläche. zu sehen ist ein setting von acht kreisförmigen sogenannten "receivern" und sechs punktobjekten, den "transmittern". für transmitter t6 ist die trajektorie eines gewählten zeitausschnittes als grüner linienzug zu erkennen. über dem surface fenster ist die toolpalette zu sehen, die momentan einfache geometrische formen wie linien und bezierkurven und einen freihandmodus beinhaltet. selektiert ist das kreissegment-tool, auf der oberfläche wurde ein bogen gezeichnet:

surface view screenshot

oben rechts ist ferner eine einfache transport-palette zu erkennen. der transport erlaubt das abspielen der bewegungen in echtzeit. da das programm zunächst keine festlegungen macht, wie die parameterbewegungen in klang umgesetzt werden, müssen noch ein paar grundlegende unterschiedlich akzentuierte preview-mechanismen implementiert werden. der klassische matrix basierte amplitudenmixer (analog der software sigma 1) wurde bereits programmiert. dabei wird die klangsynthese von supercollider 3 bewerkstelligt, das von ichnograph aus per open sound control (osc) mit den trajektorien daten gefüttert wird.

ähnlich der unterteilung in einem videoprogramm entspricht das surface window dem aktuellen frame (dem "canvas"). daneben gibt es noch eine timeline darstellung (analog z.b. dem "sequenz" fenster von final cut pro), die der besseren übersicht dient, selektionen und standard editierungsfunktionen wie cut/copy/paste ermöglicht:

timeline view screenshot

der schwerpunkt der arbeit liegt in der entwicklung einer ergonomischen oberfläche. das beinhaltet datatransfer (clipboardoperationen, drag-and-drop), undo/redo funktionalität und skalierbarkeit (die meisten elemente sind mit java2d realisiert, das stufenloses zoomen und antialiased graphics rendering bietet). für die größtmögliche flexibilität der nutzung der daten werden verschiedene schnittstellen implementiert. neben dem supercollider server, der auch als filter-plugin benutzt werden soll, werden die trajektorien als mehrkanalige soundfiles exportiert werden, weitere schnittstellen zu max/msp oder csound werden im moment geprüft.

das programm befindet sich momentan in der betaphase und ist bereits prinzipiell demonstrierbar. mit wenig anpassungen sollte es neben der macos x plattform auch auf linux und win32 laufen. interessierte komponisten können mich nach einer beta-version fragen.