Daniele Pozzi

trópos (a plausible taxonomy)

Trópos consits of a collection of 97 DSP processes which are composed to achieve different forms of sonic symbiosis with the acoustic environment in which the piece is installed. Such symbiosis is achieved by directly coupling... Read more

Please use headphones


Trópos is a system- and site-specific sound installation developed for the Klangnetze project. In Trópos two sine oscillators interact with the sounds picked up by the microphone, generating emergent sound developments which are strongly dependent on the acoustic environment in which the piece is installed.

POV video from trópos in Ligist by Daniele Pozzi


A peculiarity of the Klangnetze system is that of being highly portable and energy independent. The system is also relatively straightforward to install, which allowed us to bring sound art into public spaces that might be otherwise more complicated to reach. A few compositional questions where buzzing in my mind while working with the klangnetze system, and while reflecting on composing a sound piece for public spaces. Here, I selected those that had a stronger influence in the development of Trópos.

  1. How to relate with a pre-existing soundscape.
  2. How to relate with the perception of the passers-by.
  3. How could sound processes take form / derive their sonic identity from the environment.


The first two questions essentially concern the way in which Trópos integrates in the acoustic environment that welcomes it, and how it relates with the perception of the people who populate such environment. These questions I approached through thr concept of sonic plausibility, loosely borrowing the term plausible from Max Neuhaus and his creation of a permanent public sound work carefully designed to blend with its auditory environment (Max Neuhaus, “Notes on Place and Moment”). Trópos timbral and temporal qualities are indeed composed in order to acoustically blend with an outdoor soundscape. I worked initially with sounds which are plausible in this context, and later I explored the boundary between plausible and implausible sounds. At times, the sonic character of Trópos might then recall either natural sounds (crowing, howling, chirping, blowing, etc.) or artificial sounds (motors and other kinds of static noises), which are usually found in an outdoor city context, but with a kind of electronic coloration. As such Trópos can sonically blend with a city soundscape, while still being recognisable as an aesthetic sound intervention.

The plausibility principle would also, to a certain extent, play with the perception of passers-by. Especially in those situation in which Trópos and the urban soundscape had a similar loudness, it was at times difficult to distinguish between synthesized sounds and environmental sounds. This delicate threshold at which sonic plausibility generates a sort of reciprocal camouflage between site and work I find extremely interesting. In one specific place this was so subtle that visitors would initially just perceive something slightly out of place, which at first they identified with the city tram electric system. Only much later they would discover the installation and the sonic intervention as such, which allowed them to recontextualized that element of sonic confusion and to listen differently. In other places the camouflage effect was less present, but nevertheless the idea of creating some kind of sonic confusion by explorin the margin between plausible and implausible sound is something I have been interested in.


To address the third question, I followed an ecological approach inspired by the biological phenomenon of tropism. The word “tropism” originates from the Greek word trópos which means a turning. It indicates growth or turning movement of a biological organism, usually a plant, in response to an environmental stimulus. Tropisms occur in three sequential steps. First, there is a sensation to a stimulus. Next, signal transduction occurs. And finally, the directional growth response occurs.

Borrowing this metaphore, I considered the acoustic environment as the source of acoustic stimuli. These are (1) sensed through the built-in microphone and (2) transduced into filtered amplitude values. These values then (3) provoke deviations in a generative sound process, which adapts by modifying its timbral and rythmical qualities according to such acoustic stimuli. This mechanism creates an ever-growing, real-time process of acoustic adaptation in which sound processes concretely take shape from their environment, generating a lively sound situation in which the work is in a direct aesthetic interdependence with the place in which it is installed.


On the technical side, Trópos consits of a collection of 97 DSP processes which are composed to achieve different forms of sonic symbiosis with the acoustic environment in which the piece is installed. Such symbiosis is achieved by directly coupling the microphone signal to a real-time sound synthesis program running on the Raspberry Pi. The sounds picked up by the microphone essentially become additional modulators in a recursive FM synthesiser. In designing the 97 sound processes, the microphone input was consider the main generative element: it is precisely through the modulations introduced by the external acoustic enviroment that the piece comes to life, creating a vibrant aesthetic interdependency with the soundscape it inhabits.

Composition Environment

The 97 DSP processes were composed using Strip, a self-developed compact piece of software to experiment with feedback relationships in FM synthesis. The synthesis algorithm in Strip uses a very reduced set of SuperCollider Ugens and puts them in relation with each other to form a complex feedback system. Despite its algorithmic simplicity, the system can generate rich diverse expressive sound behaviors. To experiment with these behaviors, it is sufficient to alter the relations between its components. These relations are mostly recursive, and are defined through a 3 inputs 6 outputs feedback matrix. By changing the matrix coefficients one alters the balance among the system elements, as well as the way they mutually affect each other, essentially reconfiguring the feedback system itself.

[Find Strip in the file synths.scd]


Strip directly interfaces with two SuperCollider classes that allow me to quickly experiment with its feedback matrix. The first one is called Router, and it consists of a graphical user interface that allows to plug any signal at any point in the matrix by simply clicking on the corresponding channel. When composing Trópos, I used the Router GUI to find “insert points” for the microphone signal, experimenting with different feedback paths and listening to how Strip would react to external sounds. The second class, called MidiMix, is a software bridge for interfacing an AKAI MidiMix controller with Supercollider. I configured 6 channels strips of the MidiMix (3 knobs + 1 fader) to control the feedback matrix coefficients in Strip.

[find MidiMix is in the file extensions/MidiMixKN.sc]


The 97 DSP processes of Trópos were designed in iterative experimental sessions in my studio, which could be simplified as follows:

  1. Set all hardware in a fixed position.

  2. Set Strip in a specific configuration by acting on the feedback coefficients through the MidiMix.

  3. Find insert points for the microphone signal by opening channels in the Router.

  4. Leave the desk. Listen to how Strip performs in that specific configuration. How does it react to external sounds? Walk around. Open and close the window. Move things in the room. Repeat if needed.

  5. If (result aesthetically interesting){
    5a. record configuration in a database;
    repeat from 1;
    5b. repeat from 1;


After two days of iterative experimentation I had a databse of 116 entries. Each entry essentially consists of a set of numbers that defines a precise configuration of Strip, and a 15 seconds long mono sound recording generated by that configuration in my studio. I made a tool that would allow me to visualize the database and at the same time playback the associated recordings. By simoultaneously playing back 5 database entries I could simulate, to a certain extent, the overall result I would achieve in the outside installation with 5 Klangnetze agent playing at the same time. I further filtered the database by hand, removing some entries that I thought were not fitting in this context. At the end I was left with 97 entries, or configurations, which compose the database on which Trópos is based.

[Simulation is here: https://www.danielepozzi.com/taxonomy/]
[Find the final database is in the file mmx/220707/220707_taxonomy.scd]

Iteration / Imitation

In Trópos, each Klangnetze agent indipendently iterates through the database by recalling a different feedback configuration (a different database entry) every N seconds, with a pause (silence of S seconds) in between. N and S vary respectiverly between 80 and 120 seconds (N), and between 10 and 20 seconds (S). This creates a scattered polifony of sound processes that fade in and out over time, generating ever changing sound developments that blend with the soundscape that surrounds them.

The 97 entries were indeed chosen according to a loose “imitation” principle. I selected sound processes that could be confused for sounds that are commonly present in an outside environment (natural sounds, traffic noise, vents or other kinds of machinery). The intention behind this aesthetic decision is to make Trópos sonically blend, to a certain extent, with the acoustic space it inhabits.

[Iteration is in file task.scd]


Due to the implementation of Strip, the SuperCollider server needs to run at a low block size. Despite the relative simplicity of Strip, the limited computing capabilities of the Raspberry Pi Zero didn’t allow to run it at a low block size. I therefore made an optimization patch that, before creating the matrix synth node, looks into the database entry for unused feedback channels (feedback coefficient == 0). It then automatically generates an optimized matrix node, that contains only the feedback channels which are actually in use. This reduced the number of Ugens and Strip could run at a low block size on the Pi Zero.

[The optimisation in the file play.scd]


An important final step was then the in-situ calibration. For practical reasons, I decided to keep it simple and the only two parameters I would fine-tune on site were the level of the microphone input and that of the synthesis output. Due to the very different acoustic differences among the five installation sites, these parameters had a variability of +-9 dB.

Link to the GitLab repository

Get the code: https://gitlab.mur.at/pirro/klangnetze/-/tree/main/tropos