Conference PaperPDF Available

Gendynish: Stochastic Synthesis on the Arduino

Authors:

Abstract and Figures

The Gendynish algorithm is software that runs the Arduino-class microprocessors to produces sounds similar to Iannis Xenakis' dynamic stochastic synthesis. This article provides background on the origins of stochastic synthesis and describes the Gendynish algorithm and associated electronic instrument development and performance outcomes. This algorithm takes a somewhat uncon-ventional approach to Arduino audio. In doing so it demonstrates how once cutting-edge computer music practices are now much more accessible yet showing that the spirit of creative expression through audio technologies persists.
Content may be subject to copyright.
Gendynish: Stochastic Synthesis on the Arduino
Andrew R. Brown
Griffith University
Brisbane, Australia
andrew.r.brown@griffith.edu.au
Abstract
The Gendynish algorithm is software that runs the Arduino-class
microprocessors to produces sounds similar to Iannis Xenakis’
dynamic stochastic synthesis. This article provides background on
the origins of stochastic synthesis and describes the Gendynish
algorithm and associated electronic instrument development and
performance outcomes. This algorithm takes a somewhat uncon-
ventional approach to Arduino audio. In doing so it demonstrates
how once cutting-edge computer music practices are now much
more accessible yet showing that the spirit of creative expression
through audio technologies persists.
Keywords
Sound, music, audio, software, hardware, computer, mi-
croprocessor, Arduino, performance, interactive.
Introduction
In the 1990s Iannis Xenakis developed a new probabilistic
audio generation method called Dynamic Stochastic Syn-
thesis that produced quite unconventional sounds. This
process reflected his interest in "human intelligibility [of]
temporal periodicity and the symmetry of the [waveform]
curves" generated by digital devices [1: 289]. Two notable
works using this technique were composed by Xenakis,
Gendy3 and S.709. Xenakis applied probability theories to
the construction of both musical structure and the genera-
tion of sound. This synthesis technique applies constrained
random processes to waveform construction. The ampli-
tude and time position of each break point are varied at
each cycle of the wave by a constrained random walk func-
tion. The original implementation of dynamic stochastic
synthesis was in the Gendyn (GENeration DYNamique)
program, written by Xenakis in BASIC with the assistance
of Marie-Hélèn Serra and rendered audio files to disk [2].
Inspired by this process and the works the Gendynish
project took advantage of the rapid advances in technology
to produce a simile of stochastic synthesis on the low-cost
Arduino microcontroller. The algorithm runs in real time
and emulates the four-voice architecture of Gendy3 and
outputs quadraphonic audio.
The author previously engaged with dynamic stochastic
synthesis in 2004 coding the first real time, interactive,
implementation of the process. The IDSS (Interactive Dy-
namic Stochastic Synthesizer) is an implementation of the
dynamic stochastic synthesis algorithm in the jMusic envi-
ronment (Java programming language).
IDSS
The IDSS system was presented and performed with at the
Australasian computer music conference in 2004 [3] and
the International computer music conference in 2005 [4].
As well as being real time, IDSS enabled some other ex-
tended features. Stochastic percussion sounds were
achieved by automating a quick reduction in all random
walk time-step amounts. This resulted in a rapid change
from a bright complex timbre to a fixed and stable tone.
The interpolation between breakpoints in the waveform
could be switched from linear to cosine interpolation with
the effect of smoothing the wave and controlling harmonic
complexity. IDSS was designed as a real time instrument
performed via MIDI controllers. The performers guide the
software between sets of probabilities that determine the
sonic microstructure.
Figure 1: A Gendynish instrument prototype
Gendynish Algorithm
The Gendynish algorithm on the Arduino produces sounds
similar to Iannis Xenakis’ dynamic stochastic synthesis but
is technically only ‘in the spirit’ of that process and is not a
literal reconstruction, unlike IDSS. The Gendynish project
arose as the aurthor was experimenting with generating
audio directly from the pin outs on Arduino microproces-
sors, and noticed that some of the sounds were reminiscent
of those produced by the GENDY program. On the Ar-
duino, a pin on the microprocessor produces a monophonic
output, so four pins were used for the desired polyphony.
Voltage output from a pin typically ranges from 0-5 volts
and so scaling and DC offset was required to make the
output suitable for connecting to a line level audio input.
Figure 1 shows an early prototype with resistors and a ca-
pacitor on each of four pins to manage the output voltage.
The pin outs of an Arduino microprocessor lend them-
selves to pulse width modulation (PWM) output. This is
what was used in the Gendynish algorithm and why is was
only an approximation of the dynamic stochastic synthesis.
To maintain the independence of the four pin outputs the
timing of the pulse wave frequency was controlled within
the main loop of the code, rather than by manipulating the
microprocessor timers. This is computationally inefficient
but allows more polyphonic flexibility. Because of the in-
efficiency a Teensy LC microcontroller was used for the
performance because it is faster than many genuine Ar-
duino microprocessors, yet software compatible. By prob-
abilistically varying the frequency and pulse width of the
pin output a surprisingly wide variety of timbral results
were possible. Code for the Gendynish algorithm is availa-
ble on GitHub.
1
Performance 1 - A.001
The first performance of the Gendynish system was a
composition by the author titled A.001 which ran in real
time without human intervention and was played through a
quadraphonic sound system. The work, performed in early
2018, had a number of contrasting sections and automati-
cally moved between sections during the performance. A
stereo recording of this piece is available online.
2
Performance 2 A.001.i
A second performance of the Gendynish system in late
2018 incorporated interactive control of parameters by the
performer. The software was updated to include three
Figure 2: Performing A.001.i
1
https://github.com/algomusic/Gendynish/tree/master
2
https://soundcloud.com/thejmc/a001
rotary-push controls that adjusted probabilistic boundaries
for frequency and timing and enabled manual sectional
changes. LED lighting that synchronized with audio was
also added for visual interest. The performance was based
on the first composition, and thus titled A.001.i acknowl-
edging the addition of interaction. A recording of this per-
formance is available online.
3
Conclusion
This project demonstrates that the past and present can
come together in interesting and expressive ways. The
Gendynish project draws on inspiration from Iannis Xena-
kis and his innovative use of probabilistic processes to ex-
plore the nature of digital sound making. The project also
utilizes accessible contemporary computing hardware
whose cost to compute-power ratio would have astounded
pioneers such as Xenakis. The value of open hardware and
open source software that is a feature of the Arduino pro-
ject is clearly demonstrated through outcomes such as
these. Yet despite building on widely available platforms
the Gendynish algorithm uses them in unconventional
ways, continuing the artistic tradition of bending technolo-
gies to meet expressive desires.
References
[1] Xenakis, Iannis. Formalized Music: Thought and
Mathematics in Music. Stuyvesant NY: Pendragon Press,
1992.
[2] Serra, Marie-Hélèn. “Stochastic Composition and Sto-
chastic Timbre: Gendy3 by Iannis Xenakis.” Perspectives
of New Music 31, no. 1 (1993): 23657.
[3] Brown, Andrew R., and Greg Jenkins. “The Interactive
Dynamic Stochastic Synthesizer.” In Proceedings of the
Australasian Computer Music Conference, 1822. Wel-
lington, New Zealand: ACMA, 2004.
[4] Brown, Andrew R. “Extending Dynamic Stochastic
Synthesis.” In International Computer Music Conference,
11114. Barcelona, Spain: ICMA, 2005.
Author Biography
Andrew R. Brown is an active computer musician, com-
putational artist, builder of creative software tools, re-
searcher and supervisor of research students. He is Profes-
sor of Digital Arts at Griffith University in Brisbane and
Program Director for the Bachelor of Creative and Interac-
tive Media.
3
https://soundcloud.com/thejmc/a001i-at-os11
Article
This article presents an extension of Iannis Xenakis's Dynamic Stochastic Synthesis (DSS) called Diffusion Dynamic Stochastic Synthesis (DDSS). This extension solves a diffusion equation whose solutions can be used to map particle positions to amplitude values of several breakpoints in a waveform, following traditional concepts of DSS by directly shaping the waveform of a sound. One significant difference between DSS and DDSS is that the latter includes a drift in the Brownian trajectories that each breakpoint experiences through time. Diffusion Dynamic Stochastic Synthesis can also be used in other ways, such as to control the amplitude values of an oscillator bank using additive synthesis, shaping in this case the spectrum, not the waveform. This second modality goes against Xenakis's original desire to depart from classical Fourier synthesis. The results of spectral analyses of the DDSS waveform approach, implemented using the software environment Max, are discussed and compared with the results of a simplified version of DSS to which, despite the similarity in the overall form of the frequency spectrum, noticeable differences are found. In addition to the Max implementation of the basic DDSS algorithm, a MIDI-controlled synthesizer is also presented here. With DDSS we introduce a real physical process, in this case diffusion, into traditional stochastic synthesis. This sort of sonification can suggest models of sound synthesis that are more complex and grounded in physical concepts.
Article
Full-text available
Throughout musical history new sounds and instruments have opened new opportunities for music making. In this paper we outline a new interactive digital instrument that implements the dynamic stochastic synthesis algorithm devised by Iannis Xenakis. We discuss the history and operation of this synthesis process, previous implementations of it, and how our implementation is the first we know of designed specifically for live performance. Finally, the behaviour tendencies of the synthesis system and how these impact upon interactivity are discussed.
Article
GENDY3 by Iannis Xenakis is a stochastic music work entirely produced by a computer program written in 1991 by the composer himself at CEMAMu. The work GENDY3 is the continuation of the series of stochastic music works that Xenakis inaugurated in 1955 with Metastasis. In GENDY3, the use of stochastic rules is more deeply systematic, as the composer says in his recent publication (Xenakis 1991b). Not only is the musical structure of GENDY3 stochastic, but the sound synthesis is also based on a stochastic algorithm that Xenakis invented and called "dynamic stochastic synthesis." In this paper, we describe the whole process of the computation of GENDY3, from the low-level sound production to the high-level global architecture. We also take up aspects which GENDY3 has in common with earlier stochastic works which Xenakis composed and described in Formalized Music (Xenakis 1971). The stochastic program that was used for the composition of GENDY3 is partly listed in the new edition of Formalized Music (Xenakis 1991a).
Extending Dynamic Stochastic Synthesis
  • Andrew R Brown
Brown, Andrew R. "Extending Dynamic Stochastic Synthesis." In International Computer Music Conference, 111-14. Barcelona, Spain: ICMA, 2005.