• Rutz, Hanns Holger. 2014. “Tracing the Compositional Process. Sound Art That Rewrites Its Own Past: Formation, Praxis and a Computer Framework.” PhD thesis, UK: Plymouth University.
  • Rutz, Hanns Holger, and Robert Höldrich. 2017. “A Sonification Interface Unifying Real-Time and Offline Processing.” In Proceedings of the 14th Sound and Music Computing Conference (SMC). Espoo.

Example Pieces

Fixed composition:

  • Leere Null (2011) vs Leere Null (2) (2012)
  • (Inde)terminus (2013)
  • Mäanderungen (2018)
  • Shouldhalde (2019; in progress)

Sound installation:

  • Writing Machine (2011) vs wr_t_ng m_ch_n_ (2017)
  • (Configuration (2015))


On Reciprocation

Terminology - "Re", Latin for "back"/"again":


  • repetition (Wiederholung)
  • recursion (Rekursion)
  • reentry (Wiedereintritt)
  • feedback (Rückkopplung)


  • reciprocation (Wechselwirkung, but also Erwiderung…)

Here the English word again has "re", but the principle German word is based on "exchanging effect".


Other translations for Wechselwirkung:

  • correlation (Meillassoux gets a rage)
  • interaction (used probably for physical particles)
  • interdependency
  • interplay

(see Barad's on inter versus intra, or Ingold on meshwork versus network)

Writing Machine

i.e. asymmetry (Hui: identity function)

Note the absence of any machinic interaction!

oscillation between
simultaneity (uncoupled)
synchronicity (coupled)

Compositional Processes as Feedback Processes

basic principle of Writing Machine.

"computing at intrinsic speed"

(more responsive?)

TOTE-inspired model by Simon Emmerson
(source: Rutz 2014, p. 66)

"synthesis process model" by David Collins
(source: Rutz 2014, p. 76)

compositional time vs performative time

feedback in the writing, reciprocation in the type of writing

basic principle of Leere Null.

Code commits to the git repositories of the composition of Dissemination and frameworks it depends on. Line count includes lines created, lines edited and lines deleted. Multiple commits per day are integrated. Code carrying musical meaning in the narrow sense is shown in green/flat and contrasted with code used to build the infrastructure, used for debugging, and so forth, which is shown in blue/dotted. Bars are split to distinguish newly created parts from parts derived from previous work.
(source: Rutz 2014, p. 124)

Leere Null

Piece-specific extension of the Kontur DAW (the main elements of which were later integrated into Mellite). Interactive algorithm for selecting sections, running processing, coming back with options.



The circular movement between a general IDE and the domain specific development environment Mellite (here shown as sonification platform SysSon, which is an extension to Mellite).

(source: Rutz and Höldrich 2017)

iteration within Mellite, annotating the sound materials

recursion within a separate “generator” programme.

involuntary suspension (?)

  • "suspension whenever you want"
  • bottom up
  • structure processing within Mellite through new DSL for "expressions and triggers"

Interesting questions (for the language):

  • what does it mean to "create" an object, how do you formalise that with the notion of expressions and triggers/actions
  • how to represent recurring building blocks (how to compose program fragments)


w.i.p. showing drag-and-drop parsing in embedded programs. Monadic threading of sequences and options is implemented, allowing for the common for-comprehension notation is Scala. How do we store the thus calculated values now? We could use side-effecting triggers within the for body; or we could implement `Option#foreach` for this kind of operation.