3. DESIGN
As a function of these solutions, the authors decided on
creating a software instrument that combined the follow- Figure 1. The three primary behavioral rules that result in
ing components: emergent flocking behavior in Craig Reynold’s Boids
3.1 Probabilisitic Sampling The use of Boids in interactive spatial music and with GS
Probabilistic sampling is a system previously used by Stine has been researched by a number of different authors. As
part of his research into spatialization via particle systems
which allows for stochastic meta-control of sample selec-
David Kim-Boyle employs an implementation of Boids to
tion. Rather than sequencing a corpus of samples over time
control sound spatialization using a custom-made panning
the probabilistic distribution of the samples is controlled
system over a 5.1 channel system [15]. Kim-Boyle also ex-
by the user, relinquishing exact timing in exchange for the
ability to shape the likelihood of a sample’s sonic occur- periments with the relationship between spatial and musi-
rence. This system facilitates the use of real-world sound cal dimensions by “mapping the movements of particles to
rather than direct digital synthesis (an interest of both au- the spatial location of individual bins in a short-time Fou-
thors), but also allows for efficient high level textural and rier transform.” Scott Wilson makes use of a three-dimen-
gestural control. The stochastic nature of this system also sional flocking system to assist in spatialization of the
enables the injection of significant unpredictability, requir- BEASTmulch system [5], incorporating ambisonics to al-
ing the performer(s) to adapt to a given realization of their low for variable speaker configurations and also including
chosen distribution. control of parameters on the fly through SuperCollider
code and an external controller, although not putting em-
phasis on interface, adaptive performance, or improvisa-
3.2 Granular Synthesis
tional context [16]. Bates and Furlong employ Boids to
Granular synthesis (GS) is a highly developed sound syn-
generate spatial data used to create score files in Csound
thesis technique first described by Dennis Gabor, formal-
ized by Iannis Xenakis, and implemented on computers by which are performed by synthesis instruments including
GS [17]. Along with using higher order ambisonics Bates behavior. Each agent corresponds to a stream in a granular
and Furlong model the Doppler effect, early reflections, synthesizer that makes use of a probabilistically-controlled
and global reverberation, touching on (at a low, integrated corpus of audio files chosen by the user. The spatialization
level) the control over musical materials via spatialization of each grain stream is controlled in ambisonic space by
that the authors of this work are interested in. Schacher et the corresponding agent’s location. The grain streams are
al. use Boids-like swarm algorithms not only to generate further processed using delay, filtering, and distortion, the
sound but to produce visuals as well, extending this prac- parameters of which are influenced by the spatial charac-
tice to the audio-visual domain [18]. Rather than being per- teristics of the agents corresponding to each grain stream.
formed, high level control of the system is managed via a
Finite State Machine which automates large-scale changes 4. IMPLEMENTATION
in the system. In the “Future Work” section Schacher et al.
also express interest in relating spatialization to the sonic The Mumurator is programmed in Max 7, a media graph-
output of the system in an intriguing way: by “endowing ical programming language developed by Cycling ’74 on
agents with the capability to perceive aspects of the acous- an Apple MacBook Pro (running macOS 10.12.5). The use
tic output”, thus affecting their own behavior in response of laptops for programming and testing was intentionally
to the sound they produce [18]. chosen to enforce lightweight design for performance port-
ability. In addition to original code created by the authors
As the above examples show, Boids has been used numer- the Murmurator makes use of Jan Schacher’s ambisonic
ous times in spatialization contexts, but the authors were Max external objects, developed at the ICST at Zurich
curious to see how it could be extended to act as the focal University of the Arts [6], and an altered implementation
point of an improvisational system, simultaneously reduc- of Craig Reynold’s Boids flocking simulation (included in
ing cognitive load of spatialization control and taking ad- the Javascript examples of the Max distribution; no author
vantage of its emergent properties to enact both autonomy given) [14].
and multiplexed control [1]. The functionality of the program is divided into four main
modules: global settings and preset control, flock view and
3.4 System for Controlling Granular Synthesizer Pa- control, effector and group control, and granular synthe-
rameters via Model of Natural System sizer control. An outline of the functionality of each mod-
ule follows, supplemented with reflections on how the
The authors sought a means for having characteristics of functionality relates to the author’s goals.
the agents in the Boids model affect their corresponding
grain streams in order to create a deep connection between 4.1 Global Settings and Preset Control
spatialization and other musical dimensions. These con-
nections would go beyond integrated psychoacoustically-
driven spatialization effects (e.g. Bates and Furlong’s
modeled Doppler effect [17]) and would allow for expres-
sive control over the granular synthesizer via the model-
controlled spatialization. Such a system requires careful
selection of which model parameters will act as drivers
(agent velocity, acceleration, location, density, etc.) what
sonic dimensions will be affected (speed, amplitude, loca-
tion, duration, or the parameters of DSP effects applied to
the grain streams), and what interface will be created to
control these relationships in an intuitive, expressive way,
while still minimizing the amount of cognitive load on the
user. Figure 2. Global Settings and Preset Control Module
3.5 Higher Order Ambisonic Diffusion The Global Settings and Preset Control module allows the
user to specify how many agents the simulation has (sim-
Lastly, to allow for highly flexible and controllable object- ultaneously controlling the polyphony of the granular syn-
based sound diffusion (driven by the locations of the thesizer) and to load in a folder of audio files which act as
agents in the Boids simulation) the authors decided to work source sounds for the granular synthesizer. The probability
with higher order ambisonics rather than other alternatives of picking a source sound is controlled via a table (center
(vector-based amplitude panning, wavefield synthesis, left of Figure 2) whose members correspond to the audio
etc.). Portable performativity of the system is increased by file corpus: the higher the slider associated with a sound is
ambisonic’s ability to work with a variety of speaker con- the more likely it is to be granularized (if the slider for a
figurations, dependent on the ambisonic order and the par- corresponding sound is all the way down it will not be
ticulars of the configuration [19]. heard), implementing the probabilistic sampling described
in 3.1. The speaker setup may also be adjusted here, allow-
3.6 Final Design Overview ing for toggling between stereo, quadrophonic, or octo-
In summation, the Murmurator is built around a two-di- phonic diffusion with the positions of speakers adjustable
mensional bird flocking simulation consisting of a set of in the ambisonic virtual soundfield.
agents under constraints that result in naturalistic emergent
This module also contains a preset system which allows a be recorded and played back using the automation record-
user to save a snapshot of all current settings of the pro- ing system described in section 4.1.
gram, recall this snapshot, and to linearly interpolate be-
tween different snapshots. In conjunction with the preset 4.3 Effector and Group Control
system each controllable user interface parameter may be
set to its value on snapshot 1 by hovering over it and press-
ing the ‘esc’ key, allowing a performer to quickly reset in-
dividual settings during performance. The windowing en-
velope for the granular synthesizer has its own control
here, along with a simple five band equalizer and limiter
to equalize and limit the master output of the system, re-
spectively.
Special thanks to Natasha Barrett and Eric Lyon for inspir- [17] Bates, Enda, and Dermot Furlong. "Score File Generators
for Boids-Based Granular Synthesis in Csound." Audio
ing this work and the Virginia Center for Computer Music
Engineering Society Convention 126. Audio Engineering
for providing a space and speaker setup for development. Society, 2009.