Modular Understanding: A Taxonomy and
Toolkit for Designing Modularity in Audio
Software and Hardware
A Dissertation submitted in partial satisfaction of the
requirements for the degree Doctor of Philosophy
in Media Arts and Technology
by
Michael Lynn Saverio Hetrick
University of California, Santa Barbara
January 4, 2017
i
The dissertation of Michael Hetrick is approved.
Professor Clarence Barlow
Professor Andrés Cabrera
Professor Matthew J. Wright
Professor Curtis Roads, Committee Chair
December 9th, 2016
ii
In memory of Don Buchla (1937 - 2016)
iii
Modular Understanding: A Taxonomy and Toolkit for Designing
Modularity in Audio Software and Hardware
Copyright © 2016
by
Michael Lynn Saverio Hetrick
iv
Abstract
Modular synthesis is a continually evolving practice. Currently, an eective
taxonomy for analyzing modular synthesizer design does not exist, which is
a signicant barrier for pedagogy and documentation. In this dissertation,
I will dene new taxonomies for modular control, patching strategies, and
panel design. I will also analyze how these taxonomies can be used to in-
uence the design of musical applications outside of hardware, such as my
company Unltered Audio's software products. Finally, I will present Euro
Reakt, my collection of over 140 module designs for the Reaktor Blocks for-
mat and walk through the design process of each.
v
Acknowledgments
This dissertation would not have been possible without the support of the
people around me.
First and foremost, I would like to thank my academic committee for
being friends and mentors for the last six years. Without their support,
guidance, and friendship, you would not be reading this document. Curtis,
you've completely changed the way that I listen to music and think about
our eld. I cannot plainly describe the impact that you've had on my life and
career. Matt, you made me remember the importance of the human element
in music through your community percussion performances and insistence on
better electronic control schemes. Andrés, your DSP know-how and generos-
ity in maintaining the open-source QtCSound were critical for the creation of
Euro Reakt. Clarence, your analytic lectures and freewheeling small-group
discussions reminded me to always balance work and fun, levity and gravity,
humor and gloom, experience and experiments.
Next, I would like to thank my business partners Joshua Dickinson and
Ryan McGee for helping me to build Unltered Audio as an amazing company
and turning my dream job into a reality. Here's to an exciting 2017!
I would like to thank all of the students and faculty at the Media Arts
and Technology department at UC Santa Barbara. The diverse backgrounds
and experiences present have lead to an incredible community full of exciting
projects and research. Charlie Roberts, Graham Wakeeld, Lance Putnam,
vi
Angus Forbes, and Karl Yerkes are a few of the colleagues whose patience
and knowledge I am grateful for. Thank you for answering every DSP or
programming question.
I would like to thank every module manufacturer that supported me
throughout this long dissertation. Many companies provided me with aca-
demic discounts on gear, including 4ms, The Harvestman, Intellijel, Make
Noise, Malekko, Mannequins, Monome, Mutable Instruments, SSF, Tiptop
Audio, and WMD. I would especially like to thank Walker Farrell (at Make
Noise) and Olivier Gillet (at Mutable Instruments) for their frequent corre-
spondence and in-depth conversations regarding modular design and perfor-
mance. The MW, Lines, and Electro-Music communities are irreplaceable
centers of the modular community that I am very grateful for.
I would like to thank the Reaktor User Library community for their sup-
port and feedback through the many iterations of Euro Reakt over the past
year. Of course, I would also like to thank Native Instruments not only for
their excellent Reaktor 6, but also for believing in my work and giving me
the platform to present my work at their Native Sessions event.
Finally, I would like to thank my family. My wonderful wife, Rebecca
Hetrick, has provided me with endless love and support (not to mention
patience as I holed myself up in my oce for endless periods of time). My
mother and mother-in-law, Mimi Geihsler and Allison Snyder, were critical
for their weekly question:
Is your dissertation done yet?
vii
Curriculum Vitae
Education
Bachelor of Arts in Digital Media and Distribution, Vanderbilt Univer-
sity, June 2010
Masters of Arts in Media Arts and Technology, University of California
Santa Barbara, December 2011
Professional Employment
2012-Present: Owner/Developer at Unltered Audio LLC.
2014-2015: Windows Programmer at Slate Digital.
2014-2015: Teaching Associate at University of California, Santa Barbara.
2012-2014: Teaching Assistant at University of California, Santa Barbara.
2013-2014: C++/CUDA Developer at Mayachitra, Inc.
2012-2013: Developer at Biobeats.
2011-2013: CREATE Technical Coordinator at University of California,
Santa Barbara.
viii
Awards
2016: Innovation Award - Computer Music Magazine. Awarded for Unl-
tered Audio Fault.
2016: Performance Award - Computer Music Magazine. Awarded for Unl-
tered Audio Fault.
2015: Performance Award - Computer Music Magazine. Awarded for Unl-
tered Audio Sandman.
2015: Value Award - Computer Music Magazine. Awarded for Unltered
Audio Sandman.
2014: Gold Award - Graduate Design Competition. Audio Engineering So-
ciety. Awarded for Unltered Audio G8 Dynamic Gate.
Contents
1 Introduction 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Statement of Research . . . . . . . . . . . . . . . . . . . . . . 4
2 Taxonomy #1: Module Designs 6
2.1 Classication of Module Designs . . . . . . . . . . . . . . . . . 6
2.1.1 Monosemous . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Rhizomatic . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Expandable . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.4 Polymorphic . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Examples of Classications . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Eect Example: Delay . . . . . . . . . . . . . . . . . . 11
2.2.2 Analyzing Generators: Oscillators . . . . . . . . . . . . 18
2.2.3 Monosemous Polymorphism Example: Mutable Instru-
ments Peaks . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.4 Combination Polymorphism Example: Make Noise Maths 26
ix
CONTENTS x
2.3 Design Limitations . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Hardware Analog . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Hardware Digital . . . . . . . . . . . . . . . . . . . . . 29
2.3.3 Software Digital . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Project: Hardware Module Designs . . . . . . . . . . . . . . . 31
3 Taxonomy #2: Methods of Control 32
3.1 Classication of Control Methods . . . . . . . . . . . . . . . . 32
3.1.1 Control Modules . . . . . . . . . . . . . . . . . . . . . 32
3.1.2 External Modular-Compatible Controllers . . . . . . . 36
3.1.3 Translator Modules for External Controllers . . . . . . 37
3.1.4 The Modular as a Controller . . . . . . . . . . . . . . . 43
3.2 Project: Simple MIDI for Max . . . . . . . . . . . . . . . . . . 45
4 Taxonomy #3: Patching Strategies 49
4.1 Classication of Patch Types . . . . . . . . . . . . . . . . . . . 49
4.1.1 Primary Elements . . . . . . . . . . . . . . . . . . . . . 50
4.1.2 Classications . . . . . . . . . . . . . . . . . . . . . . . 51
4.2 Meta-Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3 Project: Open-Source Compositions . . . . . . . . . . . . . . . 56
4.4 An Example Analysis: New Leaf . . . . . . . . . . . . . . . 56
4.4.1 Module Breakdown . . . . . . . . . . . . . . . . . . . . 57
4.4.2 Getting a Pulse . . . . . . . . . . . . . . . . . . . . . . 59
4.4.3 Designing an Unpredictable Sequence, Part 1 . . . . . 61
CONTENTS xi
4.4.4 Designing an Unpredictable Sequence, Part 2 . . . . . 62
4.4.5 Combining the Voices . . . . . . . . . . . . . . . . . . . 63
5 Unltered Audio: Polymorphism in Plug-ins 67
5.0.1 Yoko: Adding a Mixer to a Band-Splitter . . . . . . . . 67
5.0.2 G8 Gate: Manipulating the Noise Gate Envelope . . . 68
5.0.3 Creating an Expandable, Patchable Modulation System 74
5.0.4 Dent: Making a Modular Distortion . . . . . . . . . . . 77
5.0.5 Sandman Pro: Polymorphic Delay . . . . . . . . . . . . 79
6 Euro Reakt 82
6.1 Other Software Modular Systems . . . . . . . . . . . . . . . . 87
6.1.1 Packages for Visual Programming Environments . . . . 87
6.1.2 Dedicated Software Modular Synthesizers . . . . . . . . 97
6.1.3 Hardware Emulators . . . . . . . . . . . . . . . . . . . 103
6.1.4 Software-Hardware Hybrids . . . . . . . . . . . . . . . 107
6.2 Eects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.2.1 Bitcrusher . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.2.2 Bitshifter . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.2.3 Chebyshev + Chebyshev Scanner . . . . . . . . . . . . 121
6.2.4 Circle Delay . . . . . . . . . . . . . . . . . . . . . . . . 123
6.2.5 Clipper . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.2.6 Comb Filter . . . . . . . . . . . . . . . . . . . . . . . . 126
6.2.7 Dattorro Verb . . . . . . . . . . . . . . . . . . . . . . . 128
CONTENTS xii
6.2.8 Entropy Filter . . . . . . . . . . . . . . . . . . . . . . . 130
6.2.9 Frequency Shifter . . . . . . . . . . . . . . . . . . . . . 133
6.2.10 Low-Pass Gate . . . . . . . . . . . . . . . . . . . . . . 135
6.2.11 Schroeder Reverbs: JCREV, JCREV FF, SATREV,
Freeverb . . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.2.12 Quad Delay . . . . . . . . . . . . . . . . . . . . . . . . 140
6.2.13 Ring Modulator . . . . . . . . . . . . . . . . . . . . . . 143
6.2.14 Saw Multiplier . . . . . . . . . . . . . . . . . . . . . . 145
6.2.15 Spectral Compressor . . . . . . . . . . . . . . . . . . . 147
6.2.16 Tape Delay . . . . . . . . . . . . . . . . . . . . . . . . 149
6.2.17 Timbre . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
6.2.18 Vocoder . . . . . . . . . . . . . . . . . . . . . . . . . . 154
6.2.19 Wavefolder . . . . . . . . . . . . . . . . . . . . . . . . 156
6.2.20 Waveform Processor . . . . . . . . . . . . . . . . . . . 157
6.2.21 Waveset . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.2.22 Waveshaper . . . . . . . . . . . . . . . . . . . . . . . . 161
6.2.23 Wavetable Distortion . . . . . . . . . . . . . . . . . . . 163
6.3 Mixing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.3.1 2-to-4 and 4-to-4 Mix Matrices . . . . . . . . . . . . . 166
6.3.2 8-Way Scanner . . . . . . . . . . . . . . . . . . . . . . 168
6.3.3 Bit Mix . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.3.4 Bit Mix 32 . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.3.5 Contrast . . . . . . . . . . . . . . . . . . . . . . . . . . 176
CONTENTS xiii
6.3.6 Crossfader . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.3.7 DC Blocker . . . . . . . . . . . . . . . . . . . . . . . . 178
6.3.8 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.3.9 Final Output . . . . . . . . . . . . . . . . . . . . . . . 181
6.3.10 Flip Pan . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6.3.11 Logic Mix . . . . . . . . . . . . . . . . . . . . . . . . . 184
6.3.12 Mono Widener . . . . . . . . . . . . . . . . . . . . . . 186
6.3.13 M/S Decoder . . . . . . . . . . . . . . . . . . . . . . . 188
6.3.14 Panner . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
6.3.15 Stereo Widener + MS Encoder . . . . . . . . . . . . . 190
6.3.16 Vector Mix . . . . . . . . . . . . . . . . . . . . . . . . 191
6.4 Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6.4.1 AD Envelope and VCA . . . . . . . . . . . . . . . . . . 194
6.4.2 Dierence Rectier . . . . . . . . . . . . . . . . . . . . 198
6.4.3 Neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
6.4.4 Quad MinMax . . . . . . . . . . . . . . . . . . . . . . 203
6.4.5 Quad Ranger . . . . . . . . . . . . . . . . . . . . . . . 205
6.4.6 Quad Rectier . . . . . . . . . . . . . . . . . . . . . . . 205
6.4.7 Quadrature LFO . . . . . . . . . . . . . . . . . . . . . 207
6.4.8 Trapezoid Envelope and VCA . . . . . . . . . . . . . . 209
6.4.9 Trigonometric Shaper . . . . . . . . . . . . . . . . . . . 212
6.4.10 Voltage Mirror . . . . . . . . . . . . . . . . . . . . . . 213
6.4.11 Wavetable LFO . . . . . . . . . . . . . . . . . . . . . . 215
CONTENTS xiv
6.4.12 XY to Polar . . . . . . . . . . . . . . . . . . . . . . . . 218
6.5 Oscillators and Sound Sources . . . . . . . . . . . . . . . . . . 220
6.5.1 Clap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
6.5.2 Comb Oscillator . . . . . . . . . . . . . . . . . . . . . . 225
6.5.3 Complex Oscillator . . . . . . . . . . . . . . . . . . . . 227
6.5.4 Drum . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
6.5.5 FM Oscillator . . . . . . . . . . . . . . . . . . . . . . . 235
6.5.6 Fold Oscillator . . . . . . . . . . . . . . . . . . . . . . 237
6.5.7 Harmonic Oscillator . . . . . . . . . . . . . . . . . . . 238
6.5.8 Hi-Hats . . . . . . . . . . . . . . . . . . . . . . . . . . 240
6.5.9 Impulse Train + Sinc Train . . . . . . . . . . . . . . . 244
6.5.10 Karplus . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.5.11 Pulsar Oscillator . . . . . . . . . . . . . . . . . . . . . 248
6.5.12 Resonating Bar . . . . . . . . . . . . . . . . . . . . . . 251
6.5.13 Resonating Wood . . . . . . . . . . . . . . . . . . . . . 253
6.5.14 Rungler Oscillator . . . . . . . . . . . . . . . . . . . . 256
6.5.15 Snare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
6.5.16 SumSyn Oscillator . . . . . . . . . . . . . . . . . . . . 262
6.5.17 Sync Oscillator . . . . . . . . . . . . . . . . . . . . . . 265
6.5.18 Toy Oscillator . . . . . . . . . . . . . . . . . . . . . . . 267
6.5.19 Triple Bento . . . . . . . . . . . . . . . . . . . . . . . . 269
6.5.20 Triple Ring . . . . . . . . . . . . . . . . . . . . . . . . 270
6.5.21 Twin Peaks . . . . . . . . . . . . . . . . . . . . . . . . 272
CONTENTS xv
6.5.22 VOSIM Oscillator . . . . . . . . . . . . . . . . . . . . . 273
6.6 Noise and Chaos . . . . . . . . . . . . . . . . . . . . . . . . . 276
6.6.1 1-Op Chaos . . . . . . . . . . . . . . . . . . . . . . . . 277
6.6.2 2-Op Chaos . . . . . . . . . . . . . . . . . . . . . . . . 280
6.6.3 3-Op Chaos . . . . . . . . . . . . . . . . . . . . . . . . 282
6.6.4 Brusselator . . . . . . . . . . . . . . . . . . . . . . . . 284
6.6.5 Chaotic 2D/3D Attractors . . . . . . . . . . . . . . . . 286
6.6.6 Dust Generator . . . . . . . . . . . . . . . . . . . . . . 289
6.6.7 Feedback Sine Chaos . . . . . . . . . . . . . . . . . . . 291
6.6.8 FitzHugh-Nagumo Chaos . . . . . . . . . . . . . . . . . 292
6.6.9 Gingerbread Chaos . . . . . . . . . . . . . . . . . . . . 294
6.6.10 Low Frequency Noise . . . . . . . . . . . . . . . . . . . 295
6.6.11 Multi-Noise . . . . . . . . . . . . . . . . . . . . . . . . 297
6.6.12 Probability Noise . . . . . . . . . . . . . . . . . . . . . 300
6.6.13 Spectral Noise . . . . . . . . . . . . . . . . . . . . . . . 301
6.6.14 Squid Axon . . . . . . . . . . . . . . . . . . . . . . . . 302
6.6.15 Triggered Noise . . . . . . . . . . . . . . . . . . . . . . 303
6.6.16 Tuned Noise . . . . . . . . . . . . . . . . . . . . . . . . 305
6.7 Samplers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
6.7.1 Stereo Sample Looper . . . . . . . . . . . . . . . . . . 308
6.7.2 Stereo Sample Scanner . . . . . . . . . . . . . . . . . . 311
6.8 Sequencing and Logic . . . . . . . . . . . . . . . . . . . . . . . 313
6.8.1 1->2 and 2->1 Switches . . . . . . . . . . . . . . . . . 315
CONTENTS xvi
6.8.2 8-Way Switch . . . . . . . . . . . . . . . . . . . . . . . 317
6.8.3 Analog Shift Register . . . . . . . . . . . . . . . . . . . 320
6.8.4 Analog-to-Digital/Digital-to-Analog Converters . . . . 322
6.8.5 Binary Gate . . . . . . . . . . . . . . . . . . . . . . . . 324
6.8.6 Boolean Logic (2 or 3 Input) . . . . . . . . . . . . . . . 325
6.8.7 Burst Generator . . . . . . . . . . . . . . . . . . . . . . 328
6.8.8 Comparator . . . . . . . . . . . . . . . . . . . . . . . . 330
6.8.9 Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
6.8.10 Flip Flop . . . . . . . . . . . . . . . . . . . . . . . . . 334
6.8.11 Gate Combiner . . . . . . . . . . . . . . . . . . . . . . 336
6.8.12 Gate Delay . . . . . . . . . . . . . . . . . . . . . . . . 337
6.8.13 Gate Matrix . . . . . . . . . . . . . . . . . . . . . . . . 340
6.8.14 Logic Inverter . . . . . . . . . . . . . . . . . . . . . . . 341
6.8.15 Probability Gates . . . . . . . . . . . . . . . . . . . . . 342
6.8.16 Probability . . . . . . . . . . . . . . . . . . . . . . . . 344
6.8.17 Random Gates . . . . . . . . . . . . . . . . . . . . . . 346
6.8.18 Rungler . . . . . . . . . . . . . . . . . . . . . . . . . . 347
6.8.19 Turing Machine . . . . . . . . . . . . . . . . . . . . . . 349
6.8.20 Voltage Controlled Gates . . . . . . . . . . . . . . . . . 352
6.8.21 Voltage Storage . . . . . . . . . . . . . . . . . . . . . . 354
6.9 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
6.9.1 Lissajous Display . . . . . . . . . . . . . . . . . . . . . 357
6.9.2 Manual Gates . . . . . . . . . . . . . . . . . . . . . . . 358
CONTENTS xvii
6.9.3 Meta Control . . . . . . . . . . . . . . . . . . . . . . . 360
6.9.4 Trigger Fixer . . . . . . . . . . . . . . . . . . . . . . . 361
7 Conclusion 363
7.1 Evaluation of Work . . . . . . . . . . . . . . . . . . . . . . . . 363
7.1.1 Euro Reakt . . . . . . . . . . . . . . . . . . . . . . . . 363
7.1.2 Unltered Audio . . . . . . . . . . . . . . . . . . . . . 365
7.1.3 Taxonomies . . . . . . . . . . . . . . . . . . . . . . . . 365
7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
7.2.1 Euro Reakt Updates . . . . . . . . . . . . . . . . . . . 367
7.2.2 Unltered Audio . . . . . . . . . . . . . . . . . . . . . 368
7.2.3 Modular Recordings . . . . . . . . . . . . . . . . . . . 371
List of Figures
2.1 Synthrotek Echo. This is a simple, user-friendly delay. . . . . . 11
2.2 Audio Damage Dub Jr. MK2 . . . . . . . . . . . . . . . . . . 12
2.3 Mungo d0, shown with Mungo Zoom and Macro Machines
Storage Strip expanders. . . . . . . . . . . . . . . . . . . . . . 13
2.4 Tiptop Audio Z-DSP. Note the cartridge reader on the front
for loading dierent algorithms. . . . . . . . . . . . . . . . . . 14
2.5 Sputnik Modular Four-Tap Delay/Dual Crossfader. The de-
lay's outputs and crossfader's inputs are not connected. . . . . 15
2.6 Folktek Conduit. Note the separate Filter and Delay sections,
along with the dedicated Delay output. . . . . . . . . . . . . . 17
2.7 Make Noise Echophon. Note the CLK OUT jack in the top
right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 Snazzy FX Dronebank. . . . . . . . . . . . . . . . . . . . . . . 19
2.9 Make Noise STO. . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.10 WMD Synchrodyne with Expander. . . . . . . . . . . . . . . . 21
2.11 Mutable Instruments Braids. . . . . . . . . . . . . . . . . . . . 22
xviii
LIST OF FIGURES xix
2.12 Roland System-500 512 VCO . . . . . . . . . . . . . . . . . . 23
2.13 Intellijel Atlantis. . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.14 Piston Honda Mk. 2 . . . . . . . . . . . . . . . . . . . . . . . 24
2.15 Mutable Instruments Peaks. . . . . . . . . . . . . . . . . . . . 25
2.16 Make Noise Maths (2013 Revision). . . . . . . . . . . . . . . . 26
3.1 Verbos Electronics Touchplate Keyboard. The keys are ca-
pacitive and at. In addition to the standard keyboard in-
terface, a number of manual voltages are available on the top
row. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2 Make Noise Pressure Points. This has pressure-sensitive keys
on the bottom. Instead of using a traditional keyboard lay-
out, each key outputs a pressure voltage, a gate, and three
manually set voltages. Only one key stage can be active at a
time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Intellijel Planar, here demonstrated with two dierent face-
plates. The module can be inverted to help avoid cables from
physically interfering with the user's range of motion. . . . . . 35
3.4 Keith McMillen QuNexus, here interfacing directly with a Eu-
rorack system via CV outputs. The QuNexus can connect to
a computer via USB and provide MIDI-over-USB. . . . . . . . 36
3.5 Mutable Instruments Yarns. This module converts MIDI mes-
sages into control voltages and gates. . . . . . . . . . . . . . . 38
LIST OF FIGURES xx
3.6 Expert Sleepers ES-8 USB Interface. Note the USB port in the
top-left. This module provides DC-coupled inputs and outputs. 39
3.7 Monome Walk. This module connects to two sustain pedals
and creates six logical outputs. . . . . . . . . . . . . . . . . . . 40
3.8 Ming Mecca Control Core (top middle) being controlled by a
Nintendo NES controller. . . . . . . . . . . . . . . . . . . . . . 41
3.9 The Harvestman English Tear. This module acts as a trans-
lator between the 1 Volt Per Octave and Hz per Volt control
voltage standards. . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.10 The Buchla LEM3 Spider . . . . . . . . . . . . . . . . . . . . 44
3.11 The Simple MIDI help patch. This interactive patch is quickly
available under the Max Extras menu after installing the
package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.1 Complex patches present issues in hardware and software en-
vironments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 Dependence Shared System patch diagram. . . . . . . . . . . 57
4.3 New Leaf Patch diagram. Modular Grid [1], a popular com-
munity website, is used for producing these images. . . . . . . 58
5.1 G8's Expert Mode Panel . . . . . . . . . . . . . . . . . . . . . 71
5.2 Sandman interface, with xed modulation system visible. . . . 74
5.3 Fault interface, with expandable modulation system visible. . . 75
6.1 Reaktor Blocks: MIDI & OSC Learn . . . . . . . . . . . . . 83
LIST OF FIGURES xxi
6.2 Euromax for Max 5+. . . . . . . . . . . . . . . . . . . . . . . 88
6.3 XODULAR for Pure Data Extended. . . . . . . . . . . . . . . 90
6.4 Example BEAP modules. . . . . . . . . . . . . . . . . . . . . . 91
6.5 Max for Cats OSCiLLOT. . . . . . . . . . . . . . . . . . . . . 93
6.6 Ampere Modular for Reaktor. . . . . . . . . . . . . . . . . . . 94
6.7 The Innite Phi Collection by Sandy Small. . . . . . . . . . . 96
6.8 WREN Modular . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.9 Sonigen Modular . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.10 Audulus Modular. This screenshot shows both low-level Nodes
like PolyToMono and higher level Modules like Bidirectional
Seq16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.11 AnalogKit. This image shows the internals of a higher level
module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.12 zMors Modular running on an iPad. . . . . . . . . . . . . . . . 102
6.13 Arturia Modular V . . . . . . . . . . . . . . . . . . . . . . . . 103
6.14 Moog Model 15 . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.15 Softube Modular. In this image, Doepfer and Intellijel emula-
tions are visible. . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.16 A Pink Noise generator patch from Jim Clark's Nord Modular
book. Note the large number of low-level modules required for
a single noise source. . . . . . . . . . . . . . . . . . . . . . . . 108
6.17 Axoloti software patcher. . . . . . . . . . . . . . . . . . . . . . 109
6.18 Monome Aleph with Bees patcher interface. . . . . . . . . . 111
LIST OF FIGURES xxii
6.19 Two Shbobo Shnths. . . . . . . . . . . . . . . . . . . . . . . . 112
6.20 Fish patching environment for Shnth. . . . . . . . . . . . . . . 112
6.21 Roland Scooper, shown next to the Roland Modular Cus-
tomizer. Here, the base eect is combined with an animated
lter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.22 Bitcrusher Panel . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.23 Bitshifter Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.24 Chebyshev Scanner Panel. The standard Chebyshev Block
has an identical interface. . . . . . . . . . . . . . . . . . . . . 120
6.25 Circle Delay Panel . . . . . . . . . . . . . . . . . . . . . . . . 122
6.26 Clipper Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.27 Comb Filter Panel . . . . . . . . . . . . . . . . . . . . . . . . 127
6.28 Dattorro Verb Panel . . . . . . . . . . . . . . . . . . . . . . . 129
6.29 Entropy Filter Panel . . . . . . . . . . . . . . . . . . . . . . . 131
6.30 Frequency Shifter Panel . . . . . . . . . . . . . . . . . . . . . 134
6.31 Low-Pass Gate Panel . . . . . . . . . . . . . . . . . . . . . . . 136
6.32 Schroeder Reverbs . . . . . . . . . . . . . . . . . . . . . . . . 139
6.33 Quad Delay Panel . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.34 Ring Modulator Panel . . . . . . . . . . . . . . . . . . . . . . 142
6.35 Saw Multiplier Panel . . . . . . . . . . . . . . . . . . . . . . . 146
6.36 Spectral Compressor Panel . . . . . . . . . . . . . . . . . . . . 148
6.37 Timbre Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.38 Timbre Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
LIST OF FIGURES xxiii
6.39 Vocoder Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
6.40 Wavefolder Panel . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.41 Waveform Processor Panel . . . . . . . . . . . . . . . . . . . . 158
6.42 Waveset Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
6.43 Waveshaper Panel . . . . . . . . . . . . . . . . . . . . . . . . . 162
6.44 Wavetable Distortion Panel . . . . . . . . . . . . . . . . . . . 163
6.45 Mix Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
6.46 8-Way Scanner Panel . . . . . . . . . . . . . . . . . . . . . . . 169
6.47 Bit Mix Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.48 Bit Mix 32 Panel . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.49 Contrast Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.50 Crossfader Panel . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.51 DC Blocker Panel . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.52 Feedback Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.53 Final Output Panel . . . . . . . . . . . . . . . . . . . . . . . . 181
6.54 Flip Pan Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6.55 Logic Mix Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6.56 Mono Widener Panel . . . . . . . . . . . . . . . . . . . . . . . 187
6.57 M/S Decoder Panel . . . . . . . . . . . . . . . . . . . . . . . . 188
6.58 Panner Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
6.59 Stereo Widener Panel . . . . . . . . . . . . . . . . . . . . . . . 190
6.60 Vector Mix Panel . . . . . . . . . . . . . . . . . . . . . . . . . 192
6.61 AD Envelope Panel . . . . . . . . . . . . . . . . . . . . . . . . 194
LIST OF FIGURES xxiv
6.62 Dierence Rectier Panel . . . . . . . . . . . . . . . . . . . . . 198
6.63 Neuron Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.64 Quad Min-Max Panel . . . . . . . . . . . . . . . . . . . . . . . 203
6.65 Quad Ranger Panel . . . . . . . . . . . . . . . . . . . . . . . . 204
6.66 Quad Rectier Panel . . . . . . . . . . . . . . . . . . . . . . . 206
6.67 Quadrature LFO Panel . . . . . . . . . . . . . . . . . . . . . . 207
6.68 Trapezoid Envelope Panel . . . . . . . . . . . . . . . . . . . . 209
6.69 Trigonometric Shaper Panel . . . . . . . . . . . . . . . . . . . 212
6.70 Voltage Mirror Panel . . . . . . . . . . . . . . . . . . . . . . . 214
6.71 Wavetable LFO Panel . . . . . . . . . . . . . . . . . . . . . . 215
6.72 XY-to-Polar Panel . . . . . . . . . . . . . . . . . . . . . . . . 219
6.73 Clap Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
6.74 Comb Oscillator Panel . . . . . . . . . . . . . . . . . . . . . . 225
6.75 Complex Oscillator Panel . . . . . . . . . . . . . . . . . . . . 227
6.76 Drum Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
6.77 FM Oscillator Panel . . . . . . . . . . . . . . . . . . . . . . . 234
6.78 Fold Oscillator Panel . . . . . . . . . . . . . . . . . . . . . . . 237
6.79 Harmonic Oscillator Panel . . . . . . . . . . . . . . . . . . . . 239
6.80 Hi-Hats Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
6.81 Impulse and Sinc Train Panels . . . . . . . . . . . . . . . . . . 243
6.82 Karplus Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.83 Pulsar Oscillator Panel . . . . . . . . . . . . . . . . . . . . . . 249
6.84 Resonating Bar Panel . . . . . . . . . . . . . . . . . . . . . . . 250
LIST OF FIGURES xxv
6.85 Resonating Wood Panel . . . . . . . . . . . . . . . . . . . . . 254
6.86 Rungler Oscillator Panel . . . . . . . . . . . . . . . . . . . . . 257
6.87 Snare Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
6.88 SumSyn Oscillator Panel . . . . . . . . . . . . . . . . . . . . . 263
6.89 Sync Oscillator Panel . . . . . . . . . . . . . . . . . . . . . . . 265
6.90 Toy Oscillator Panel . . . . . . . . . . . . . . . . . . . . . . . 267
6.91 Triple Bento Panel . . . . . . . . . . . . . . . . . . . . . . . . 268
6.92 Triple Ring Panel . . . . . . . . . . . . . . . . . . . . . . . . . 270
6.93 Twin Peaks Panel . . . . . . . . . . . . . . . . . . . . . . . . . 272
6.94 VOSIM Oscillator Panel . . . . . . . . . . . . . . . . . . . . . 274
6.95 1-Op Chaos Panel . . . . . . . . . . . . . . . . . . . . . . . . . 278
6.96 2-Op Chaos Panel . . . . . . . . . . . . . . . . . . . . . . . . . 280
6.97 3-Op Chaos Panel . . . . . . . . . . . . . . . . . . . . . . . . . 283
6.98 Brusselator Panel . . . . . . . . . . . . . . . . . . . . . . . . . 284
6.99 Chaotic Attractor Panels . . . . . . . . . . . . . . . . . . . . . 287
6.100Dust Generator Panel . . . . . . . . . . . . . . . . . . . . . . . 289
6.101Feedback Sine Panel . . . . . . . . . . . . . . . . . . . . . . . 291
6.102Fitzhugh-Nagumo Panel . . . . . . . . . . . . . . . . . . . . . 293
6.103Gingerbread Chaos Panel . . . . . . . . . . . . . . . . . . . . . 294
6.104Low Frequency Noise Panel . . . . . . . . . . . . . . . . . . . 295
6.105Multi-Noise Panel . . . . . . . . . . . . . . . . . . . . . . . . . 298
6.106Probability Noise Panel . . . . . . . . . . . . . . . . . . . . . . 299
6.107Spectral Noise Panel . . . . . . . . . . . . . . . . . . . . . . . 301
LIST OF FIGURES xxvi
6.108Squid Axon Panel . . . . . . . . . . . . . . . . . . . . . . . . . 302
6.109Triggered Noise Panel . . . . . . . . . . . . . . . . . . . . . . . 304
6.110Tuned Noise Panel . . . . . . . . . . . . . . . . . . . . . . . . 306
6.111Stereo Sample Looper Panel . . . . . . . . . . . . . . . . . . . 308
6.112Stereo Sample Scanner Panel . . . . . . . . . . . . . . . . . . 311
6.113Simple Switch Panels . . . . . . . . . . . . . . . . . . . . . . . 314
6.1148-Way Switch Panel . . . . . . . . . . . . . . . . . . . . . . . . 316
6.115Analog Shift Register Panel . . . . . . . . . . . . . . . . . . . 320
6.116ADC and DAC Panels . . . . . . . . . . . . . . . . . . . . . . 322
6.117Binary Gate Panel . . . . . . . . . . . . . . . . . . . . . . . . 324
6.118Boolean Logic Panels . . . . . . . . . . . . . . . . . . . . . . . 326
6.119Burst Generator Panel . . . . . . . . . . . . . . . . . . . . . . 328
6.120Comparator Panel . . . . . . . . . . . . . . . . . . . . . . . . 330
6.121Delta Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
6.122Flip Flop Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 334
6.123Gate Combiner Panel . . . . . . . . . . . . . . . . . . . . . . . 336
6.124Gate Delay Panel . . . . . . . . . . . . . . . . . . . . . . . . . 337
6.125Gate Matrix Panel . . . . . . . . . . . . . . . . . . . . . . . . 339
6.126Logic Inverter Panel . . . . . . . . . . . . . . . . . . . . . . . 342
6.127Probability Gates Panel . . . . . . . . . . . . . . . . . . . . . 343
6.128Probability Panel . . . . . . . . . . . . . . . . . . . . . . . . . 344
6.129Random Gate Panel . . . . . . . . . . . . . . . . . . . . . . . 346
6.130Rungler Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
LIST OF FIGURES xxvii
6.131Turing Machine Panel . . . . . . . . . . . . . . . . . . . . . . 349
6.132Voltage Controlled Gates Panel . . . . . . . . . . . . . . . . . 353
6.133Voltage Storage Panel . . . . . . . . . . . . . . . . . . . . . . 355
6.134Lissajous Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 358
6.135Manual Gates Panel . . . . . . . . . . . . . . . . . . . . . . . 359
6.136Meta Control Panel . . . . . . . . . . . . . . . . . . . . . . . . 360
6.137Trigger Fixer Panel . . . . . . . . . . . . . . . . . . . . . . . . 361
Chapter 1
Introduction
1.1 Introduction
In the past decade, hardware modular synthesizers have seen a massive resur-
gence. Electronic musicians and composers are discovering the exibility and
hands-on nature of this creative equipment at an unprecedented rate. New
Eurorack module designs are reaching this market on a weekly basis, and
computer musicians have an expanding variety of software modular platforms
to choose from.
It is a continuously and quickly evolving practice. When Dieter Doepfer
established the Eurorack modular format in 1995 [2], individual module
designs were simple, all-analog circuits. Now, many modules feature com-
plex digital algorithms featuring cutting-edge DSP techniques [3]. With case
space at a costly premium, modules of both analog and digital design have
1
CHAPTER 1. INTRODUCTION 2
attempted to pack more functionality into smaller spaces.
As hardware modules take on more polymorphic design strategies, they
are breaking further away from software modulars which usually rely on
simpler, single-function designs. In a software modular system, there's one
primary constraint: processor power. A user can add as many copies of a
single module as they'd like and never worry about the power, space, or mon-
etary costs of each. However, this processor constraint inuences modules
to do only the bare minimum and not create computational overhead for
secondary functionality.
The single-function design paradigm necessitates more intent from a user.
If the user does not know what they wish to create, they won't overcome the
initial intimidating hurdle of the blank canvas presented by Max, Reaktor,
and like-minded environments. A well-designed hardware system, though, is
less of a programming environment and more of a nished instrument waiting
to be played.
This dierence in design perspectives has created a dicult situation for
modular pedagogy and documentation. For a student interested in learning
how a hardware modular works, a software modular may be an aordable
alternative, but it doesn't quite capture the patching techniques, the phys-
ical immediacy, or the multi-level control strategies of the hardware envi-
ronments. For students and educators who are able to aord a hardware
modular, they may nd themselves overwhelmed by poor documentation, a
constant inux of new designs, and a lack of guidance when putting together
CHAPTER 1. INTRODUCTION 3
a new system.
This dissertation aims to resolve a number of these issues. My primary
contribution is a set of three taxonomies to analyze modular design, modular
control strategies, and modular patching techniques. Each taxonomy is a
step toward a more complete pedagogical framework for modular synthesis,
along with a useful analysis as to exactly how software modulars dier from
their hardware counterparts.
As a result of these taxonomies, I am also presenting two large software
projects. The rst is Unltered Audio, a plug-in company that I created
in 2012 with two other MAT students. Our software designs are heavily
inuenced by hardware modular synthesizers. I will present some of our
most notable designs, along with how they relate to the new taxonomies.
I will also present Euro Reakt, a collection of over 140 modules for the
aordable Reaktor software modular environment. This collection is perhaps
the closest a software modular system has come to hardware design, as it
focuses on polymorphic module behavior along with intuitive control sets
and layouts. Each module is thoroughly documented, and the Euro Reakt
package comes with many pre-built demonstration systems. This makes it
an ideal choice for students, educators, musicians, and composers.
CHAPTER 1. INTRODUCTION 4
1.2 Statement of Research
This dissertation outlines ve contributions to the elds of modular synthesis
design and pedagogy:
1. A Taxonomy of Modular Design Strategies. This taxonomy con-
siders how modules are designed and how they interact with other
modules in a system. I will tackle this from both a historical perspec-
tive (i.e. a more rigorous denition of the dierence between Moog and
Buchla design strategies instead of East Coast vs. West Coast) and
a modern Eurorack perspective. This taxonomy will later be applied
to software modulars in Chapter 6.
2. A Taxonomy of Modular Control Strategies. This taxonomy
looks at the wide range of control methods available to modular mu-
sicians and composers, from sensors and translators to keyboards and
joysticks.
3. A Taxonomy of Modular Patching Strategies. This taxonomy
presents ways of breaking down large, complex modular patches into
smaller subpatches and concepts known as meta-modules. These
meta-modules are useful to designers, as they present synergistic inter-
actions between more basic building blocks, encouraging designs that
combine and extend these ideas. They are also useful to composers, as
they outline strategies for composing more complex behaviors through
the use of simple ideas.
CHAPTER 1. INTRODUCTION 5
4. Unltered Audio: Polymorphism in Plug-ins. This section out-
lines ways of analyzing and extending existing signal processing algo-
rithms through the use of the above taxonomies. My primary project
for this section is Unltered Audio (my plug-in company) and its de-
signs.
5. Euro Reakt. This last section focuses on Euro Reakt, my collection of
over 140 modular designs for Native Instruments' Reaktor 6. This sec-
tion will present each module and investigate the design process of each
by using the above taxonomies. Euro Reakt is an attempt to bridge
the design gap between hardware and software modular synthesis. Most
software modulars use monosemous design strategies, while Euro Reakt
embraces the polymorphic and rhizomatic strategies present in mod-
ern hardware. It also includes a number of demonstrative instruments
and per-knob documentation, making it an excellent choice for modular
pedagogy.
Chapter 2
Taxonomy #1: Module Designs
2.1 Classication of Module Designs
In this section, I will outline the seven most common design strategies for
modules. In the hardware realm, a single module is more easily dened as
a physical unit that connects to a larger system. In the software realm, the
concept of a module is dened based on the platform. In Reaktor, this
would be a Block. In Max or PureData, this would be an object. In
SuperCollider or CSound, this would be an opcode or uGen.
2.1.1 Monosemous
A monosemous module is one that does not welcome alternative patching
methods. Its usage is singular, static, and (generally) easy to comprehend.
These modules hold pedagogical value and are great choices for student and
6
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 7
teaching systems.
This is the most common design strategy for software modules, where
CPU usage is the primary design concern.
2.1.2 Rhizomatic
A rhizomatic module is a module that serves one distinct purpose, but
welcomes experimental manipulation and alternative patching strategies. In
general, it is a module that is designed to be more aware of the system around
it.
2.1.3 Expandable
An expandable module is a module that is designed to link up to another
module (typically through the use of a behind-the-panel ribbon cable) to
extend or even completely change functionality. The expander can be a
standalone module that can function on its own or a dedicated module whose
only function is to work as the expander.
2.1.4 Polymorphic
A polymorphic module is a module that can serve multiple, distinct func-
tions. There are four major categories of polymorphism:
1. Modal
2. Independent
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 8
3. Linked
4. Simultaneous
A module can combine multiple forms of polymorphism into one design. Most
polymorphic modules t the denition of rhizomatic as well. The only
exception is that the individual modes of a modally polymorphic module can
be monosemous. Examples will be given in sections 2.2.3 and 2.2.4.
2.1.4.1 Modal Polymorphism
A Modally Polymorphic module is a module that can serve multiple pur-
poses, but only one purpose can be served at a time. These modules typi-
cally have switches or menus to access various modes of operation. However,
smooth parameters like Frequency can create modal polymorphism if an os-
cillator is able to move between audible and sub-audible frequencies.
It is important to note, though, that a module is modally polymorphic if
and only if the module can change its purpose on its own. A simple sample-
and-hold module that relies on external clocking, for instance, is not modally
polymorphic. You could argue that the rate of the external clock would
change the behavior of the module from a stepped modulation sequencer to
an audio-rate sample rate reduction eect. However, these two functions are
determined by an external module. If the wide-range clock is part of the same
module, though, then it could be considered to be modally polymorphic.
There are two ways to further analyze modally polymorphic modules:
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 9
functional and terminal uniformity.
FUNCTIONAL UNIFORMITY A modally polymorphic module dis-
plays Functional Uniformity if all available modes t into the same cat-
egory of signal processing (i.e. all modes are oscillators, all modes are echo
eects, etc.).
TERMINAL UNIFORMITY A modally polymorphic module displays
Terminal Uniformity if all available modes use identical input and output
congurations. For instance, if one of the modes requires an additional gate
that the other modes do not use, then the module does not display terminal
uniformity.
Modally polymorphic modules that are non-uniform are typically useful
for small systems where very versatile modules are needed. As an example,
the Expert Sleepers Disting is a small, 4HP module that covers dozens of
functions including envelopes, oscillators, delays, distortions, and more [4].
Uniform modules can be more useful for quickly exploring compositional
ideas without the need for repatching. For instance, a composer could create
a melody for a functionally uniform, modally polymorphic oscillator. After
nding a melody that they like, they could then switch between the available
modes to audition various timbres.
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 10
2.1.4.2 Independent Polymorphism
A module that exhibits Independent Polymorphism contains multiple,
unlinked functions. These are typically smaller utility functions that don't
have complex circuits or layouts.
As a general design strategy, this is more viable for hardware. Panels
and case space are expensive, so using one panel to host a number of useful
functions is a good value proposition for a user. This design strategy does
not hold up well for software, where every active function uses CPU.
2.1.4.3 Linked Polymorphism
A module that exhibits Linked Polymorphism contains sections that can
work completely independently, but are chained together by default.
2.1.4.4 Simultaneous Polymorphism
A module that exhibits Simultaneous Polymorphism is one that can be
used for multiple purposes at a time. The distinguishing factor of Simultane-
ous Polymorphism is that these various functions share common parameters.
For instance, an envelope with an End of Envelope trigger could be consid-
ered to be a simultaneous envelope generator and trigger delay. Manipulating
the length of one stage of the envelope would aect both the length of the
envelope and the length of the gate delay.
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 11
Figure 2.1: Synthrotek Echo. This is a simple, user-friendly delay.
2.2 Examples of Classications
2.2.1 Eect Example: Delay
2.2.1.1 Monosemous: Synthrotek Echo
The Synthrotek Echo [5] is a simple delay unit primarily meant for DIY
builders. There are three knobs on the Echo: Rate, Feedback, and Mix.
There are jacks for Input, Output, and CV control over Rate. This module
is dened as Monosemous, as there is only one possible patching strategy
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 12
Figure 2.2: Audio Damage Dub Jr. MK2
for it. A dry audio signal goes into the input, and a wet audio signal comes
out of the output. There is voltage control over one parameter, but it doesn't
change the functionality of the unit.
2.2.1.2 Rhizomatic: Audio Damage Dub Jr. Mk2
The Audio Damage Dub Jr. Mk2 [6] is an example of a Rhizomatic design.
The three knobs are identical to the Echo: Time, Feedback, and Mix. There
are two major improvements that make this more exible in a modular envi-
ronment. The rst is a Clock jack. This allows a composer to ensure that the
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 13
Figure 2.3: Mungo d0, shown with Mungo Zoom and Macro Machines Stor-
age Strip expanders.
length of the echoes will always be some metric division of their master clock
(When synced, the Time knob becomes a Div knob). The second is a tapped
feedback loop. The feedback from this delay can be processed using other
modules, such as frequency shifters and lters to provide timbral interest or
VCAs to control the intensity of the feedback. Compared to the Synthrotek
Echo, this is a delay design that is more aware of communication and inter-
action with other modules. It is rhizomatic and not polymorphic because
it can only be used as a delay. There's no alternative functionality.
2.2.1.3 Expandable: Mungo d0 + Mungo Zoom or Macro Ma-
chines Storage Strip
The Mungo d0 [7] is a stereo delay with tempo tracking. It is an example of
expandable design as it can be upgraded with one of two expander modules.
The rst is the Mungo Zoom, a helper module that only works by connecting
to Mungo modules. It is a switch that allows a user to zoom in on a knob's
parameter range, giving ner control over a smaller parameter range.
The other possible expander is the Macro Machines Storage Strip [8].
The Storage Strip is a module that replicates the functionality of the Mungo
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 14
Figure 2.4: Tiptop Audio Z-DSP. Note the cartridge reader on the front for
loading dierent algorithms.
Zoom while also adding the ability to save and recall presets on the connected
module. These presents can be recalled manually. To build on this, the
Storage Strip is also an expandable design. Macro Machines also make a
module called the Dynamic Destiny. On its own, the Dynamic Destiny can
be used as a dual switch. However, when connected to the Storage Strip, it
can be used to recall Mungo module presets under voltage control (instead
of only manual control).
2.2.1.4 Modal Polymorphism: Tiptop Audio Z-DSP
The Tiptop Audio Z-DSP [9] is an example of Modal Polymorphism. This
module has a cartridge reader on the front that allows for the loading of
various algorithms. It comes with one cartridge called Dragony Delays.
This cartridge contains eight dierent delay algorithms. The cartridge can
be swapped, turning the Z-DSP into a multi-algorithm lter, an oscillator, a
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 15
Figure 2.5: Sputnik Modular Four-Tap Delay/Dual Crossfader. The delay's
outputs and crossfader's inputs are not connected.
bitcrusher, and more. The primary reason that this is modally polymorphic
is that only one algorithm can be loaded at a time.
Analyzing the uniformity of the Z-DSP is on a per-cartridge basis. For
instance, the aforementioned Dragony Delays cartridge is terminally and
functionally uniform. Every mode on the cartridge is an echo eect, and each
mode shares the same input/output conguration. However, other cartridges
like the Broken Silicon Error Codes #1 [10] combine disparate modes like
bit-crushing, noise generation, additive synthesis, and burst generation onto
one cartridge. These modes are not terminally uniform, either, as some of the
modes do not use the Z-DSP's inputs, while other modes depend on them.
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 16
2.2.1.5 Independent Polymorphism: Sputnik Modular Four-Tap
Delay and Dual Crossfader
The Sputnik Modular Four-Tap Delay and Dual Crossfader [11] is an example
of Independent Polymorphism. This single module has two major sections.
The top section is a four-tap delay unit, while the bottom section contains
two independent crossfaders.
The design of this unit forgoes a dedicated Feedback control and instead
uses three-channel mixer as the delay's input. The intent is that the individ-
ual delay outputs can be plugged into the extra mixer channels, allowing the
user to explicitly design the feedback path. The crossfaders on the bottom
can create submixes of any of the two outputs, and can be plugged back in
to the input mixer to shift feedback emphasis between taps.
This design is independently polymorphic, as the crossfaders are com-
pletely unconnected from the delay's outputs. The delay can be used while
ignoring the crossfaders, and the crossfaders can be used separately from the
delay.
2.2.1.6 Linked Polymorphism: Folktek Conduit
The Folktek Conduit [12] is an example of Linked Polymorphism. The Con-
duit is a complicated design that combines a lter, a delay, and a number of
oscillators that are a byproduct of the delay process (thus, this module can
also be considered simultaneously polymorphic). The important part of this
design is that the delay's output is normalled to the lter's input, thus creat-
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 17
Figure 2.6: Folktek Conduit. Note the separate Filter and Delay sections,
along with the dedicated Delay output.
ing a more complex signal path. However, the delay has a dedicated output,
and the lter has its own input and output. Thus, the two sections can op-
erate separately. Going back to the example of the Make Noise Echophon,
the Echophon has a pitch shifter and a delay, but does not exhibit Linked
Polymorphism. If the shifter and the delay could be used independently of
each other, then it would qualify here.
2.2.1.7 Simultaneous Polymorphism: Make Noise Echophon
The Make Noise Echophon [13] is an example of Simultaneous Polymorphism.
The delay half has an almost identical feature set compared to the Dub Jr.,
as it has tempo sync and tapped feedback. Even though the Echophon has
a pitch shifter, this is not what makes it polymorphic (The pitch shifter is
part of the algorithm and is not accessible separately). The feature of the
Echophon that demonstrates polymorphism is the CLK OUT jack. Like
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 18
Figure 2.7: Make Noise Echophon. Note the CLK OUT jack in the top right.
the Dub Jr., the Echo knob becomes a Div knob when a signal is present
in the Tempo Sync jack. This sets the delay's length to some metric division
of the tempo present on the TEMPO jack. The CLK OUT jack outputs
a clock that has the same period as the delay and the same phase as the
Tempo jack. Because of this one simple feature, the Echophon becomes
simultaneously polymorphic. It can be used as a clock generator, divider, or
multiplier while ignoring the delay features entirely.
2.2.2 Analyzing Generators: Oscillators
2.2.2.1 Monosemous: Snazzy FX Dronebank
The Snazzy FX Dronebank [14] is a module that houses ve Monosemous
oscillators. These oscillators have a xed timbre. The pitch of each oscillator
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 19
Figure 2.8: Snazzy FX Dronebank.
can be controlled only via a front-panel knob. The oscillators can be output
separately or via a MIX output (each oscillator has a constant amplitude at
the MIX output).
2.2.2.2 Rhizomatic: Make Noise STO
The Make Noise STO [15] is a Rhizomatic oscillator. Many oscillators could
be considered Modally Polymorphic depending on their operating range. The
STO operates from about 8 Hz to 4 kHz without external voltages. Since it
cannot function as an eective LFO on its own, I am not including it in the
Modal Polymorphic category.
However, it has a number of features that make it Rhizomatic. First, it
has two varieties of FM (linear and exponential) in addition to a standardized
1v/oct pitch input. It also has the ability to modulate waveshapes. Finally,
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 20
Figure 2.9: Make Noise STO.
it has multiple waveform outputs including a gated sub-oscillator output.
These features encourage alternative patching strategies including plugging
the STO into itself to generate unpredictable waveforms, or linking the S-
Gate to a clock to create a synced, staccato bassline.
2.2.2.3 Expandable: WMD Synchrodyne
The WMD Synchrodyne [16] is a complicated oscillator that is also an exam-
ple of Linked Polymorphism. In its base form, it is an oscillator that drives
a Phase Locked Loop (PLL). The PLL, in turn, drives a switched capacitor
lter that is used to lter the oscillator. Each of these three sections can be
broken out and used on their own. The Synchrodyne has one of the most un-
usual expanders in Eurorack, as the expander is larger than the Synchrodyne
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 21
Figure 2.10: WMD Synchrodyne with Expander.
itself [17]. It adds a large amount of functionality, including a second VCO,
lter, and PLL, along with a compressor, a wavefolder, and more control over
the original Synchrodyne circuit. The expander cannot be used on its own.
2.2.2.4 Modal Polymorphism: Mutable Instruments Braids
The Mutable Instruments Braids [18] is a self-described macro oscillator,
a perfect example of Modal Polymorphism. It features a prominent encoder
that allows a user to choose between over 40 modes of sound generation. It
includes many synthesis methods (FM, wavetable, microsound) and options
for generating noise or percussion.
Braids is functionally uniform, as every mode is an audio oscillator.
Braids is nearly terminally uniform. Almost every mode generates contin-
uously without the need for excitation. However, a few of the percussion
modes require the use of an additional trigger input to generate sound.
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 22
Figure 2.11: Mutable Instruments Braids.
2.2.2.5 Independent Polymorphism: Roland System-500 512 VCO
The Roland System-500 512 VCO [19] is a rare example of Independent Poly-
morphism in oscillators. I say rare because almost every other hardware
modular with two or more oscillators has at least some form of normalization
between the oscillators. This module contains two completely independent
wide-range oscillators. The polymorphism stems from the fact that one os-
cillator can be used as an audible-range oscillator while the other could be
an LFO.
2.2.2.6 Linked Polymorphism: Intellijel Atlantis
The Intellijel Atlantis [20] is a self-contained subtractive synthesizer. It is a
great example of Linked Polymorphism, as every section can be used com-
pletely independently. For instance, a composer can choose to use only the
envelope generator or lter when the oscillator is not needed. However,
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 23
Figure 2.12: Roland System-500 512 VCO
Figure 2.13: Intellijel Atlantis.
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 24
Figure 2.14: Piston Honda Mk. 2
without any patching, it will behave like a more traditional standalone syn-
thesizer.
2.2.2.7 Simultaneous Polymorphism: The Harvestman Piston Honda
MK II
The Harvestman Piston Honda MK II [21] is a wavetable oscillator that ex-
hibits Simultaneous Polymorphism. There are two outputs: External and
Internal. The Internal output uses an internal phasor, meaning that the
Piston Honda can act as a standalone wavetable oscillator. It also as an Ext.
In section that acts as a separate input for wavetable lookup, the output of
which appears at the External jack. This is considered Simultaneous Poly-
morphism (and not Independent or Linked) because this external waveshaper
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 25
Figure 2.15: Mutable Instruments Peaks.
and internal oscillator share the same wavetable selection controls.
2.2.3 Monosemous Polymorphism Example: Mutable
Instruments Peaks
Peaks is a multi-mode trigger processor from Mutable Instruments [22]. It
contains two channels, each of which have a single trigger input and a single
output. There is no CV control. Peaks has four primary modes: AD en-
velope, LFO with reset, tap-tempo LFO, and drum synthesizer. There are
a number of alternate modes and easter eggs that are not displayed on the
panel graphics. Despite the exibility introduced by modal polymorphism,
the individual channels of Peaks are monosemous in nature.
Since every mode uses one trigger input and one output, Peaks displays
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 26
Figure 2.16: Make Noise Maths (2013 Revision).
terminal uniformity. However, since each mode has a dierent purpose (es-
pecially the drum synthesizer modes vs. the modulation generators), Peaks
does not display functional uniformity.
2.2.4 Combination Polymorphism Example: Make Noise
Maths
The Make Noise Maths is a highly exible Eurorack design, combining mul-
tiple forms of polymorphism into one very dense design [23]. Maths is an
update of the Serge Dual Universal Slope Generator (DUSG) [24], a classic
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 27
design where each section can behave either as an AD Envelope or a Bipolar
Slew Generator. Each section of the DUSG produces a trigger when nishing
a fall. This can be patched back into the Trig In input to produce cycling
behavior, thus turning each section into an oscillator.
Maths builds upon this design by adding in a four-channel bipolar mixer
(with optional oset generation and logical outputs) and toggled cycling
modes. By the standards outlined by my above taxonomy, I would classify
Maths as Modally, Linked, and Simultaneously polymorphic.
Modal: Pushing the Cycle button sets the corresponding channel to
oscillate. Each channel can function as a standalone oscillator, LFO,
envelope, or slew generator depending on the state of CYCLE and the
attack/decay speeds.
Linked: The outputs of channels 1 and 4 (the envelope/slew/oscillator
channels) are normalled into the four-channel mixer.. Oset generators
are normalled to the inputs of channels 2 and 3.
Simultaneous: One channel has an End of Rise gate output, while
the other has an End of Cycle gate output. These can be used for a
number of simultaneous functions, including a master clock, a square
wave LFO with variable PW (width can be set by manipulating the
relationship between rise and fall times), and a gate delay (End of Rise
provides a delay from the moment that an incoming gate goes high,
End of Cycle provides a delay from the moment that an incoming gate
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 28
goes low).
2.3 Design Limitations
There are three major platforms for modular design: hardware analog, hard-
ware digital, and software digital. Each of these platforms introduces impor-
tant design constraints, which will be outlined below.
It is important to note that these platforms are not representative of
the entire module, but rather the generation and/or processing sections. For
instance, a hardware module built around a digital platform still needs analog
sections for acquiring input voltages and restricting them to levels that are
safe for the digital processor.
Multiple platforms can be used on a single module for processing and/or
generation as well. As an example, the Intellijel Shapeshifter uses a digital
platform for generating signals and an analog section for wavefolding the
signals [25].
2.3.1 Hardware Analog
Precision is Expensive For sections where precision is a priority, expen-
sive parts are required. Examples of precision sections include stable tracking
of 1V/Oct signals across multiple octaves, sampling and holding voltages with
low drift, stable clocks without timing jitter, and more. Precision-matched
transistors, temperature compensated resistors, and other parts can quickly
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 29
drive up the cost of a module's BOM.
Physical part counts Analog modules typically require more components
than digital modules. This increased parts count creates a number of issues.
First, having more parts will lead to a more complicated layout, resulting in
more time spent by the designer placing parts on the PCB, and more space
taken up by parts (leading to either larger PCBs or stacked PCBs). Second,
having more parts creates the potential for more places for a circuit to fail,
along with the potential for stock of a specic part to disappear. This can
force a designer to either redo or cancel a design.
2.3.2 Hardware Digital
Input Resolution Most aordable processors and microcontrollers have
ADCs (Analog-to-Digital converters) with sampling rates around 3000 Hz.
This leads to aliasing for sections like FM inputs on oscillators and lters.
Higher sampling rates can be problematic for two reasons. First, the parts
cost can increase rapidly. Second, many high sampling rate ADCs are AC-
coupled, meaning that DC signals (including slow modulation) will be ltered
out.
CPU/Storage Limitations When designing an algorithm, a program-
mer can run up against two major limitations on the microcontroller itself:
the processor's speed and the amount of storage available for instructions.
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 30
Storage space can run out quickly if the algorithm depends on sets of sup-
plemental data, like wavetables.
DACs Digital-to-Analog converters are expensive, especially if a designer
needs more than two high resolution audio outputs. This can make it dicult
for simultaneously polymorphic digital hardware. The primary exception to
this rule is that it is cheap to add binary outputs, like gates and triggers.
Power Consumption Digital modules typically have higher power re-
quirements than analog modules. For many users, their cases are not able to
provide enough power to run these modules. Furthermore, some digital Eu-
rorack modules are designed to require +5V on the power bus, which many
cases do not have.
2.3.3 Software Digital
System Compatibility A software modular needs a stable system to run
on. A software modular can fail from a hardware incompatibility, an operat-
ing system update, a bad audio driver, etc.
CPU Limitations Unlike hardware digital modules (where the CPU re-
quirement of a single algorithm is known), in a software modular each module
additively aects the CPU. As patch complexity increases, so do the CPU
demands. The design of individual modules can often come down to a bal-
ancing act of features and CPU demand.
CHAPTER 2. TAXONOMY #1: MODULE DESIGNS 31
User Control For a hardware module, a static interface is provided by
the designer. Software modulars can vary greatly in this aspect. In software
modulars like Max/MSP, PureData, SuperCollider, and CSound, an interface
has to be created by the patch designer instead of the module designer (i.e.
each object or uGen doesn't come with standard sliders, knobs, buttons, etc.;
they are separate objects). Other software modulars like Reaktor Blocks,
WREN, and OSCiLLOT provide per-module software interfaces. In both
instances, if a user wants external hardware control (via MIDI or OSC), the
user must create this mapping themselves.
2.4 Project: Hardware Module Designs
As part of my research, I've ended up creating a number of proposed hardware
module designs, some of which are currently in active development. Due
to the public nature of this document and the commercial nature of these
designs, I will be presenting these designs only during my dissertation defense.
Chapter 3
Taxonomy #2: Methods of
Control
3.1 Classication of Control Methods
Simply outlining a patch's connections is not a sucient enough explanation
for how the patch is actually performed. A modular can be controlled in
many ways. In this section, I will outline a number of control strategies and
describe currently existing examples from Eurorack.
3.1.1 Control Modules
There are many modules that bring useful control methods to a modular
system, including joysticks, keyboards, pressure-sensitive pads, contact mi-
crophones, motion sensors, gesture recorders, and more. These are modules
32
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 33
Figure 3.1: Verbos Electronics Touchplate Keyboard. The keys are capac-
itive and at. In addition to the standard keyboard interface, a number of
manual voltages are available on the top row.
that exist within a modular case, are powered by the modular case, and are
meant explicitly to control other modules.
3.1.1.1 Modular Keyboards and Pressure Sensitive Pads
Module-based keyboards exist in many forms. Some, like the Verbos Con-
troller keyboard [26] or Sputnik keyboard [27] use a traditional piano layout
(albeit with capacitive keys instead of physical keys). This traditional layout
is welcoming to keyboardists, but also adds new capabilities like continuous
pressure sensitivity, ne pitch adjustment, easy pitch slides, built-in arpeg-
giators, and more. As a drawback, they tend to take up a lot of space in
a system. Many of these modules can be powered outside of the modu-
lar as well, placing them in the same category as Section 3.1.3.1 (External
Modular-Compatible Controllers: Dedicated Controllers). One great side ef-
fect of having a traditional piano layout is that it enables a composer to use
traditional music notation to explain to a user how to perform a patch.
In addition to the traditional piano layout, there exist alternative key-
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 34
Figure 3.2: Make Noise Pressure Points. This has pressure-sensitive keys
on the bottom. Instead of using a traditional keyboard layout, each key
outputs a pressure voltage, a gate, and three manually set voltages. Only
one key stage can be active at a time.
board formats, like WMD's upcoming Poly Pressure Array [28], which uses
an unusual layout of square, rubber keys. This interface allows users that are
not well-versed in piano to still quickly experiment with chords and scales
by using geometrical shapes. There also exist simplied layouts, like Make
Noise's Pressure Points [29]. Each Pressure Points contains four keys, and
each key outputs ve separate voltages, three of which are user-selectable
(the fourth is a pressure-based voltage, while the fth is a binary gate). This
design splits the dierence between exibility and size. A user who needs
more keys can buy multiple Pressure Points and chain them together. Due
to the abstract nature of the module, it is harder to share patch notes via
common music notation.
Some modules, like the Synthwerks FSR series [30] use force-sensitive
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 35
Figure 3.3: Intellijel Planar, here demonstrated with two dierent faceplates.
The module can be inverted to help avoid cables from physically interfering
with the user's range of motion.
resistors to output a voltage based on how much the user presses on it, but
remove the concept of the keyboard and stored voltages.
3.1.1.2 Joysticks and Gesture Recorders
A number of modules provide a joystick or pressure grid interface for inter-
acting with patches in multiple dimensions. The Intellijel Planar [31] and
Flight of Harmony Choices [32] are examples of physical joysticks that out-
put X and Y positions as voltages. The Soundmachines LP1 Lightplane [33]
is an example of an X-Y grid that records a users touch gestures. In addition
to reading where the user's nger appears on an X-Y grid, the module also
detects pressure. This gives the user three simultaneous dimensions of con-
trol. Furthermore, these three dimensions can be recorded and played back
as looping gestures, freeing the user to interact with other components of a
patch.
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 36
Figure 3.4: Keith McMillen QuNexus, here interfacing directly with a Euro-
rack system via CV outputs. The QuNexus can connect to a computer via
USB and provide MIDI-over-USB.
3.1.2 External Modular-Compatible Controllers
These are controllers that exist outside of the modular system. They can still
connect directly to a modular via CV outputs and do not need intermediate
devices for translation.
3.1.2.1 Dedicated Controllers
These are controllers that exist outside of the modular, but contain con-
trol voltage outputs that are calibrated specically to work with a modular
system. These include keyboards (like the Keith McMillen QuNexus), trig-
ger sequencers (Arturia Beatstep Pro), note sequencers (Korg SQ-1), motion
controllers (Koma Kommander), and more. These devices can not generate
audio on their own.
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 37
3.1.2.2 Instruments with CV Capabilities
In addition to dedicated controllers, there are many standalone instruments
that have control sections that can interface with a modular. As an exam-
ple, the Elektron Analog Four [34] is a self-contained synthesizer with four
complete analog voices. It has two separate stereo CV outputs that can be
used for pitch, gate, and two modulation signals. The Analog Four's internal
sequencer can be used to sequence the Analog Four by itself, the Analog Four
and modular simultaneously, or the modular by itself. Note sequences from
the Analog Four are converted to the 1v/oct format on the pitch output.
Other instruments, such as the Teenage Engineering Pocket Operators
[35] or Korg Volcas [36] have analog trigger inputs and outputs for syncing
a modular to their internal clock, or syncing to a modular via a clock input.
3.1.3 Translator Modules for External Controllers
These are modules that exist within a modular system (i.e. screwed into
the modular rack and powered from the modular's busboard). However,
they plug into external controllers that are otherwise independent from the
modular.
3.1.3.1 MIDI and OSC
A number of modules are capable of converting various signals to modular-
compatible voltages. The most obvious instance of this is MIDI, as there
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 38
Figure 3.5: Mutable Instruments Yarns. This module converts MIDI mes-
sages into control voltages and gates.
exist numerous modules capable of converting MIDI note messages to con-
trol voltages and gates. Some of these MIDI converters will also translate
CC messages to CV. Mutable Instruments' Yarns [37] is a notably complex
example, as it features many dierent methods for interpreting MIDI inputs,
including 4 voices of pitch and gate or 1 voice with many parameters. Sim-
pler modules, like Doepfer's A-190-2 [38] or Pittsburgh Modular's MIDI 3
[39], simply read one or two channels of note and gate data.
Modules like the Synthtech e620 [40] or Expert Sleepers FH-1 [41] act as
hosts for any MIDI-over-USB compatible hardware device. These modules
break out specic MIDI CC values and messages to jacks. A newer Monome
module, Ansible, connects to Monome's proprietary Grid and Arc hardware
devices, along with any MIDI-over-USB device [42]. This is the only module
currently out that can change between OSC and MIDI protocols.
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 39
Figure 3.6: Expert Sleepers ES-8 USB Interface. Note the USB port in the
top-left. This module provides DC-coupled inputs and outputs.
3.1.3.2 Software to CV
Many modules provide deep integration with a computer, going beyond the
low resolution that MIDI oers. In general, a computer that has an audio
interface with DC-coupled outputs is capable of sending CV to a modular.
However, this is a fairly rare feature for audio interfaces. As a workaround, a
company called Expert Sleepers makes a series of modules designed to con-
nect to computers or audio interfaces in various ways, depending on what
the user has available [43]. For instance, the ES-3 [44] uses an audio inter-
face's optical output to produce 8 DC-coupled 1/8 outputs. The ES-4 [45],
meanwhile, uses S/PDIF. His newest, the ES-8 [46] connects directly to a
computer using USB, providing DC-coupled inputs and outputs.
If a user has only analog, AC-coupled 1/4 jacks, Expert Sleepers also
makes a software plug-in suite called Silent Way [47]. This suite has an AC
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 40
Figure 3.7: Monome Walk. This module connects to two sustain pedals and
creates six logical outputs.
Encoder plug-in that adds rapid modulation to a CV signal to allow it to
be output from an AC-coupled interface. A partner module, the ES-1 [48],
demodulates this signal to produce a clean CV signal.
Furthermore, the rest of the Silent Way package is designed for generating
and processing CV's, including plug-ins for creating LFOs, envelopes, trigger
sequences, and more. However, Silent Way is not required for these purposes.
An experienced user can use Max/MSP, Reaktor, Supercollider, or a number
of other software packages to generate control signals on a computer. My
Reaktor 6 package, Euro Reakt, is fully capable of interacting with a Eurorack
system.
3.1.3.3 Non-proprietary Controllers and Sensors
Some modules are designed to hook up to non-proprietary controllers and
sensors. For example, the Monome Walk [49] is a module that is designed to
connect to two sustain pedals to create six logical outputs. Many keyboard
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 41
Figure 3.8: Ming Mecca Control Core (top middle) being controlled by a
Nintendo NES controller.
manufacturers create sustain pedals, so a user can select their favorite.
The Eowave EO-310 Sensor Signal Processor is a module designed to
connect with any sensor with a voltage range between 0 and 5 volts [50].
Eowave manufactures a few sensors to easily connect to this module, but an
experienced user can solder a 1/8 jack onto most standard sensors (such as
FSRs, photosensitive resistors, moisture sensors, etc.).
The Monome Teletype is a module that connects to any QWERTY key-
board or numpad [51]. The keyboard is used to program control scripts on the
module that generate trigger/gate and CV sequences. A user can manually
trigger scripts directly from the keyboard or numpad.
3.1.3.4 Proprietary Controllers
Other modules receive control from proprietary formats such as video game
controllers. The ADDAC302 NCHUNK (sic) CONTROL [52] receives mes-
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 42
sages from a Nintendo Wii Nunchuk joystick, while the Special Stage Systems
Ming Mecca Control Core [53] connects to a Nintendo NES controller. These
modules use the proprietary jacks that these controllers require instead of a
more open format like USB.
The Monome series of modules is an interesting case. They use open-
source rmware and communication protocols, but are programmed to host
one specic piece of hardware. In the case of the Monome modules, these
modules use bi-directional OSC to receive button presses from a Monome
1
Grid or encoder information from a Monome Arc , which will then receive
lighting information from the module [55].
3.1.3.5 Voltage Translators
A few modules are able to convert between various voltage standards. As
an example, The Harvestman's English Tear [56] is a Eurorack module that
converts 1v/oct pitch signals to the Hz/V standard used by the Korg MS
series of synthesizers (and vice versa). This allows a user to use the keyboard
on a Korg MS-20 (for example) to control a Eurorack modular in a predictable
manner.
The discontinued Format Jumbler by Make Noise [57] was a panel that
1 It is worth noting that the Monome modules are open-source, and users have cre-
ated alternate rmwares capable of using other MIDI-over-USB controllers. The Monome
Earthsea was originally designed only to interact with the Monome Grid. A user later
added in the ability for it to interact with any MIDI-over-USB keyboard. Another no-
table example, the Orca [54], replaces Monome's White Whale module's rmware with a
completely dierent program that is compatible with the Monome Arc or Grid, presenting
alternate interfaces for each.
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 43
Figure 3.9: The Harvestman English Tear. This module acts as a translator
between the 1 Volt Per Octave and Hz per Volt control voltage standards.
combined banana jacks, 1/8 jacks, and 1/4 jacks as a passive format trans-
lator. It did not provide voltage scaling, but it allowed for an easy connection
between various modular formats.
3.1.4 The Modular as a Controller
Finally, the modular system can be used to control other devices, whether
directly with control voltage or through the use of controllers. As previously
mentioned, there are many modules that receive a MIDI input and convert
it to various voltages. The inverse is true as well, as there exist modules and
external devices that convert voltages to MIDI signals. This can be useful
to many users, as modular synthesizers are capable of generating extremely
complex sequences that would be dicult to produce using other means.
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 44
Figure 3.10: The Buchla LEM3 Spider
The main diculty is guring out how to convert the modular's signals
into another format. Many of the previously mentioned devices allow for
bi-directional communication. In the case of the Keith McMillen QuNexus,
it receives CV signals and outputs MIDI-over-USB [58]. The Harvestman's
English Tear can be used to convert 1v/oct signals to Hz/V, allowing a Korg
MS-series synthesizer to be controlled by a modular [56].
The BEMI Buchla LEM3 Spider is one of the only complete modular
systems sold with the intent of being used solely as a controller [59]. It
consists of a Buchla 252e Polyphonic Rhythm Generator, a 226h CV-to-MIDI
Interface, and a 225h MIDI-to-CV Interface. It can connect to a computer
over USB or to other devices using a 5-pin MIDI output.
In addition to the previously mentioned Expert Sleepers output modules,
he also makes a series of modules designed to take voltages from a hardware
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 45
modular and send them to a computer. The ES-6 [60] is a partner module
to the ES-3 and provides six DC-coupled inputs that connect to an audio
interface using an optical cable. The previously mentioned ES-8 connects
to a computer directly over USB, skipping the need for an existing audio
interface. It provides 8 outputs from the computer and 4 inputs to the
computer.
3.2 Project: Simple MIDI for Max
Simple MIDI is a free package that I have published for Max 7. Max is
extremely exible in regards to external input, as it can communicate with
MIDI, OSC, and a number of other communication protocols (DMX, HID,
etc.).
Unfortunately, this exibility and power leads to long setup times for
every patch that you wish to use OSC and/or MIDI with. The typical Max
way of doing things is to use the route object to take large input messages
and route them based on input matching. For instance, if an OSC device is
communicating with Max and sending messages to /maxosc/knob1/25 you
could create an object that says route /maxosc/knob1/ to listen specically
to the value of that address.
To create a simple MIDI patch, you need to setup a large number of
routing objects. Let's say you want to listen to the value of a single knob on
an external MIDI controller. First, you would need to look up the CC address
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 46
of the knob in your controller's documentation (or experiment with printing
every incoming MIDI message to the Max Console Window). After you know
your MIDI knob's CC value (for this example, it will be CC #33), you'll need
to setup a listener. The midiin object species which MIDI device to listen
to. This object is then connected to a midiparse object, which selectively
routes all MIDI messages from a device based on whether the message is a
CC value, a Note value, velocity, pitch bend, etc. This midiparse object
has 8 outputs, including a separate output for the message's channel number.
In the simplest case scenario (where you would want to listen for CC #33
on *all* MIDI channels), you would now connect a route 33 object to the
third output of midiparse. Only now will you have the value of one knob. If
you are listening on multiple channels, this becomes even more complicated.
This amount of complication impedes an artist or composer's ow. A
more experienced Max user could create a Max clipping to automatically
paste a number of route messages based o of their favorite MIDI controller.
However, this solution would only work for one specic controller and would
need to be rewritten if the user wants to use a dierent controller or dierent
mapping for the same controller.
My solution for this is Simple MIDI. Simple MIDI is organized as a Max
package, a new method of organizing les for easy installation and man-
agement introduced in Max 7. When a user installs Simple MIDI, a number
of clippings are installed. These clippings show up under a Simple MIDI
menu when a user right-clicks on an unlocked patch. The user can then add a
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 47
Simple MIDI object. If a user doesn't know how to interact with the object,
there is an interactive help patch that is installed to the Max Extras menu.
The method of interaction is extremely simple. The user adds Simple
MIDI to a patch. To add MIDI control to a Slider, Dial, or Button widget,
the user simply clicks the X above the object that they wish to control.
After a MIDI control is moved, the Max widget is then mapped to that
external control. This control remembers the CC# and channel, so multiple
controllers and channels can be used. The channel and CC# mappings are
then saved with the patch, allowing for control sets to be quickly recalled.
CHAPTER 3. TAXONOMY #2: METHODS OF CONTROL 48
Figure 3.11: The Simple MIDI help patch. This interactive patch is quickly
available under the Max Extras menu after installing the package.
Chapter 4
Taxonomy #3: Patching
Strategies
4.1 Classication of Patch Types
One of the most dicult aspects of modular synthesis is managing complex-
ity. As a patch grows larger, it becomes more dicult to remember which
aspects of the patch are responsible for each interaction. It also becomes
more dicult to document the patch for preservation. In this chapter, I
will present two tools for managing complexity. The rst is a taxonomy to
categorize the primary elements of a patch. The second is the concept of
Meta-Modules, a tool for examining synergies between common low-level
functions that exist in most modular environments.
49
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 50
Figure 4.1: Complex patches present issues in hardware and software envi-
ronments.
4.1.1 Primary Elements
I've decided to place all modules in a patch into three simple categories:
Voice, Modulation, and Timing. These groupings are more of a guideline
than a hard rule, as individual modules can serve in all three categories in a
single patch (especially if the module is polymorphic).
4.1.1.1 Voice
This grouping includes all modules that are audible in a patch. Typically,
this would include oscillators, lters, and other eects. This does not include
audible devices that a modular system could interact with, like guitar pedals
or other synthesizers.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 51
4.1.1.2 Modulation
This grouping includes all modules that are used to modify the parameters
of other modules (or themselves). Typically, this would include LFOs, en-
velopes, step sequencers, and controllers. Audio-rate modulation (like FM
and AM) would be included here. An audible oscillator with an active inter-
nal modulation bus would count as Voice and Modulation.
4.1.1.3 Timing
This grouping includes all modules that are used to generate gates and trig-
gers. Typically, this would include clock generators, clock dividers, boolean
logic, and other timing modules. If a slow timing signal is derived from an
audible oscillator via a clock divider, then both the oscillator and the clock
divider would be in this category.
4.1.2 Classications
The three categories of primary elements are not required in every modular
patch. As a result, there are seven possible combinations of the basic el-
ements. In this section, I will list the seven combinations along with basic
example patches. These patches do not cover every possible strategy for each
category.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 52
4.1.2.1 Voice Only: Static Drone, Tone Cluster
A Voice Only patch consists of an arbitrary number of unchanging sounds. A
single, unmodulated voice would be a static drone. With at least two voices,
perceived modulations like frequency beating could occur. A cluster of voices
could be combined to create chords or complex timbres.
4.1.2.2 Modulation Only: Controller for External Source
A Modulation Only patch would likely only be a Timing-free patch that is
modulating another device. For instance, an LFO could be used to control
the depth of a guitar pedal.
4.1.2.3 Timing Only: Clock for External Source
A Timing Only patch would consist of a modular synthesizer providing a
clock for other devices. This could be a single, stable, metronomic clock.
With one clock and one clock divider, a modular synthesizer could distribute
multiple clocks among devices. Even without modulation, a multiple stable
clocks, dividers, and boolean logic modules could be combined to create
extremely complex gate and trigger patterns.
4.1.2.4 Voice and Timing: Drums/Triggered Voices, Metronome
A Voice and Timing patch could consist of a complex Timing section being
used to trigger a Voice section made up of multiple, unmodulated drum
modules (eectively a modular drum machine). Alternatively, the simplest
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 53
Timing section (a single, stable clock) could be used to create an audible
metronome Voice.
4.1.2.5 Timing and Modulation: Variable Clock Source, Synced
Modulation
A Modulation section could drive a clock's frequency, stepping between mul-
tiple tempi. Alternatively, a Timing section could be used to sync a Modu-
lation section to some rhythm or steady tempo. Either way, these sections
would then interact with an external device.
4.1.2.6 Voice and Modulation: Animated Drone, Manually Per-
formed Patch
A Modulation sections could animate various parameters on a Voice, such
as the index of an FM voice or the active wavetable of a digital oscillator.
This category also includes Voice sections manipulated by non-Timing-based
modular controllers (keyboards, joysticks, etc., but not sequencers).
4.1.2.7 Voice, Modulation, and Timing
The majority of patches will fall within this category.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 54
4.2 Meta-Modules
One particular diculty exists in hardware modulars that doesn't in software:
sharing patches. In a software modular environment, it is typically very easy
to save a patch and send the le(s) to other users to open using the same
environment. In a software environment, these patches can be used to train
users on how to use the environment. As an example, Euro Reakt (see
Chapter 6) contains over 40 interactive examples that teach users helpful
interactions between the system's modules. In Cycling 74's Max 7, every
single object comes with an interactive help patch showing useful synergies
between other Max objects [61].
Hardware lacks the uniformity necessary for this pedagogical nicety. Since
a user is free to choose whatever modules make up his or her system, it be-
comes very dicult to create documentation that covers every possible con-
guration. Many hardware module manuals include simple descriptions of
a module's inputs, outputs, and controls, but fail to include suggestions on
how to use the module with others. The only exceptions are pre-made modu-
lar systems like the Make Noise Shared System [62] and Pittsburgh Modular
Foundation [63], both of which come with detailed manuals outlining a num-
ber of starter patches.
A Meta-Module is a term that I coined to describe a useful synergy
between at least two basic, low-level functions. I created this concept to
assist with both the design of modules and the pedagogy on how to use
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 55
them.
These low-level functions are functions that are present in practically ev-
ery modular system. Examples include: sample & hold, slew, mixer, noise,
comparator, clock, VCA, oscillator/LFO (basic waveforms like sine, saw, tri-
angle, square), lter, AD envelope, delay, attenuator, boolean logic, analog
logic, step sequencer, clock divider, rectier, switch, and more. As an ex-
ample Meta-Module, a random source could be created by combining noise,
sample and hold, and a clock.
The purpose of a Meta-Module is to separate the concepts of the patch
from their specic implementations. By breaking a patch down into Meta-
modules, a composer can teach other composers how to create similar ges-
tures or sounds without requiring the purchase of specic equipment.
Meta-Modules benet module designers in two ways:
Meta-Modules are the foundation of good polymorphic design. Almost
every linked, simultaneously, or independently polymorphic module is
designed around a Meta-Module (modally polymorphic modules being
the exception).
A designer could use Meta-Modules to improve the documentation of
their product by suggesting synergistic module types.
My original goal for this dissertation was to write a book that served as a
large catalog of Meta-Modules. However, this proved to be too dicult of a
task. Instead, I have focused on spreading the idea of Meta-Modules through
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 56
Euro Reakt's documentation and my open-source compositions.
4.3 Project: Open-Source Compositions
Starting in 2014, I released a series of compositions for Make Noise Records
[64]. These were the rst digital releases in their Shared System Series, a
collection of recordings intended to show o the power and exibility of their
1
Shared System . One track, Late Bloomer, was included in Shared System
Series Side A, the rst compilation of Shared System recordings [65].
With each released recording, I included a patch diagram created using
the Modular Grid website [1]. These diagrams were publicly available to all
listeners directly from the Soundcloud page. In addition to the diagrams,
I created a forum topic [66] to assist any users interested in recreating the
sounds found in each composition.
4.4 An Example Analysis: New Leaf
On April 15th, 2015, I put on a live modular performance as part of UCSB's
CREATE concert series [67]. My piece, New Leaf, was fully documented
through patch diagrams and meta-module analysis, which I have copied be-
low. Here, you can see how the above categories can be used to break a very
1 The Shared System is a specic collection of modules curated by Make Noise founder
Tony Rolando. The original concept was one system that was sent to various artists. Their
only addition could be an external reverb. Since the original concept, the Shared System
Series now focuses on recordings made with Make Noise equipment.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 57
Figure 4.2: Dependence Shared System patch diagram.
complicated patch down into simple, reusable elements. A full recording of
the live performance of this patch is available on my Soundcloud page [68].
4.4.1 Module Breakdown
Timing:
Intellijel Shapeshifter (Pulse output)
Make Noise Wogglebug (Pulse output)
Voices:
Make Noise Mysteron
Mutable Instruments Elements (Generator and eect)
Music Thing Modular Radio Music
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 58
Figure 4.3: New Leaf Patch diagram. Modular Grid [1], a popular commu-
nity website, is used for producing these images.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 59
Intellijel Shapeshifter (Oscillator output)
Make Noise RxMx + FxdF (Mixer and lter)
Modulation:
Mutable Instruments Frames
Intellijel Shapeshifter (LFO output)
Intellijel Planar
Make Noise Wogglebug (CV output)
Make Noise Brains/Pressure Points
4.4.2 Getting a Pulse
In this patch, I decided to use the Intellijel Shapeshifter as the primary clock
source. This is a continuation of my patch Intellijel Shapeshifter as Self-
patched Granulator, in which I used feedback and built-in options to create
rapid percussion and grains.
The Shapeshifter has a Pulse output, which goes high or low depending
on a selected rule. For instance, the Pulse output can be high whenever the
voltage of Osc 2 is negative. With simple waveforms (sine, saw, triangle, etc.),
this output simply produces a secondary, unipolar square wave output that
runs at the same frequency as one of the two primary oscillators. With more
complex waveforms (noise or string wavetables from the Shapeshifter's many
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 60
banks), the Pulse output becomes more irregular. By modulating or mor-
phing the primary oscillator, the output can provide complex, unpredictable
rhythm patterns or chaos.
For this specic patch, I am deriving the Pulse output from Osc 2's po-
larity. I've introduced complexity into the patch by having Osc 2 modulate
its own shape and harmonic ratio (relative to Osc 1). Osc 2 is running at
LFO rates, and set to a fairly complex wavetable set. Without touching any
controls, this system ends up settling into relative periodicity, providing a
fairly stable clock pattern. However, a minor adjustment to Osc 2's Shape
parameter can have a drastic, sudden eect on the entire pattern.
4.4.2.1 Similar Meta-Module: LFO + Comparator
You can create a similar system by combining an LFO with a comparator.
A comparator is a device that provides a positive gate or trigger whenever
an input voltage exceeds a specied threshold.
You can use one to derive steady clocks from simple waveforms. If your
comparator provides a gate output, try deriving a unipolar square wave from
a triangle wave. The pulse width and phase of the square wave will be
determined by the comparator's threshold.
If you have a wavetable LFO, this is an excellent recipe for creating a
pattern generator. Changing the waveform of the LFO will provide a dier-
ent pattern, while changing the comparator's threshold can act as a density
control.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 61
4.4.3 Designing an Unpredictable Sequence, Part 1
The primary pitch sequencer is the Make Noise Brains + Pressure Points
combo. The Brains receives the Shapeshifter's Pulse out as a clock, and the
Pressure Points provide the selection of eight possible voltages. Because of
how the Shapeshifter's sequence has been programmed there are slow, audible
pulses mixed with sudden, frantic, yet extremely brief groups of pulses.
The tight, brief groupings have a very interesting (and musically useful)
side eect. They act almost as a randomizer for the sequence by forcing the
Brains + Pressure Points to jump forward multiple steps without producing
audible intermediary pitch changes.
4.4.3.1 Similar Meta-Module: Noise + S&H + Voltage Controlled
Clock
These three modules work together to create unpredictable impulses via a
feedback network. Essentially, the clock generator controls the Sample and
Hold module. The Sample and Hold module samples the noise generator's
voltage, and the sampled voltage is used to modify the speed of the clock. By
using a high-frequency noise source (like white noise), the clock's output
will be very random and dicult to predict. By using a low-frequency noise
source (or even a stable, periodic waveform), the clock's output will start to
conform to shapes and groupings.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 62
4.4.4 Designing an Unpredictable Sequence, Part 2
The secondary pitch and gate sequencer in this patch is the Make Noise Wog-
glebug, a module that specializes in producing a range of random outputs. It
has three separate sections: random audio, random CV, and random clocks.
In this patch, it is receiving the Pulse output from the Shapeshifter, and
using that as its primary clock source. With every clock that it receives,
it is producing a new, random stepped voltage, along with a related slewed
voltage. The stepped voltage is controlling the Elements' Space parame-
ter, eectively providing a dierent amount of reverb for each triggered note.
The smooth/slewed voltage is controlling the Position parameter, adding a
subtle amount of timbral modulation to the composition at all times.
The Wogglebug also has a burst output, which is a fairly unpredictable
burst generator that produces groups of triggers.
4.4.4.1 Similar Meta-Module #1: Noise, S+H, and Slew
This is a continuation of the Noise + S&H Meta-Module. By adding a
slew generator to the stepped random output, a smooth, continuous random
modulation can be created. With the slew generator being separated from
the noise source, you have more control over the shape of the random
modulation. At quick slew settings, you can create rapid slides to values
that are held for a period of time. At slower slew settings, the generated
signal will never reach a value where it holds. At extremely slow slew
settings, the signal will uctuate gently around its initial voltage.
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 63
4.4.4.2 Similar Metamodule #2: Random Source + Comparator
This is a similar Meta-Module to the LFO + Comparator above. By swapping
out the periodic waveform of the LFO with a random source (i.e. sampled-
and-held noise), a random trigger source can be created. A more intriguing
Meta-module can be created by using a stable clock source to sample-and-
hold the noise source going into the comparator. By doing this, the output
of the comparator is a random gate that only changes state on new triggers.
This can be useful for taking a stable, static clock source and using probability
to remove triggers from it..
4.4.5 Combining the Voices
The primary voice of this patch is the Mutable Instruments Elements, which
acts as both an instrument and an eect. As an instrument, it is a modal
synthesizer that is being triggered by the primary patch pulse (the Pulse
output from Shapeshifter). As an eect, it is receiving the output of the
Make Noise RxMx, which mixes together the Make Noise Mysteron, the
Intellijel Shapeshifter, the Music Thing Modular Radio Music (set to play
birdsong samples) and the Elements itself.
The output of the Elements is plugged into the Make Noise FxdF, which
is a xed lterbank that breaks an input into six bandpass lters and sends
it to the RxMx. Three of the channels of the RxMx are used in this patch
to feed these bands back into the Elements, creating a frequency-sensitive
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 64
feedback path.
The RxMx has a primary Level control, which targets the volume of
all six channels, along with a Strike input, which receives a trigger and
applies a vactrol envelope to the Level parameter. This Strike input is being
triggered by the Wogglebug's burst output. This creates an intermittent
mix, where components of the other voices suddenly appear inside of the
Elements' resonating body for brief periods of time. In a way, it sounds a
lot like rapid tape edits, not entirely unlike John Cage's Williams Mix. By
running everything through Elements, it unies all of the disparate sounds
by applying the same reverb and resonating pitch to each component.
Finally, the RxMx has a Radiate parameter, which controls what chan-
nels are currently active (i.e. which channels are modied by the Level
parameter). The Mysteron is an always-active element, ensuring that it ap-
pears very frequently throughout the piece. The Radio Music's birdsongs
and the Shapeshifter's Osc 1 output are plugged into the outermost chan-
nels, make them appear least frequently in the mix.
4.4.5.1 Similar Metamodule #1: Voltage-Controlled Mixing (VCAs
+ Mixer)
Most Eurorack mixers lack voltage control, meaning that the user has to
interact directly with the mixer to change levels. This can be changed by
using a VCA per-channel before the mixer. The mixer's control thus acts as
a maximum gain setting. In addition to his, the RxMx's Strike control acts
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 65
like a VCA that aects all channels simultaneously. To achieve this same
aect, put a VCA after the mixer instead of before it. With that setup,
the complete mix can be aected simultaneously instead of on a per-channel
basis.
4.4.5.2 Similar Metamodule #2: Voltage-Controlled Feedback (Ef-
fect + VCA + Mixer)
You can add feedback to any eect module by using a mixer (of at least two
channels) after the eect. Plug the eect's input into one channel of the
mixer, and the eect's output into the other channel. Monitor the eect's
output as usual. To add feedback, turn up the output channel. It is important
to keep this level low initially to avoid massive feedback swells. To animate
this feedback, insert a VCA between the eect's output and the mixer's input.
Now, the amount of feedback can be controlled using CV.
4.4.5.3 Similar Metamodule #3: Multi-Band Feedback (Eect +
Filters + Mixer)
This is a more complicated Meta-Module that leads to more intricate feed-
back sculpting. You will need one lter for every band that you want to use.
Use the same mixer and eect setup as above. Instead of plugging the eect's
output directly into the mixer, add a lter between it. High-pass, low-pass,
and band-pass lters all work here, depending on the frequency range that
you are targeting. To add another band, add another lter and plug the
CHAPTER 4. TAXONOMY #3: PATCHING STRATEGIES 66
lter's output into another channel on the mixer. You can now use the mixer
as a feedback equalizer. More even more timbral options, you can modulate
the lters' cutos.
Chapter 5
Unltered Audio: Polymorphism
in Plug-ins
Unltered Audio is a company that I founded with fellow MAT students
Joshua Dickinson and Ryan McGee in 2012. Our software makes strong use
of modular design strategies. In this section, I will outline how the ideas in
this dissertation have inuenced our products.
5.0.1 Yoko: Adding a Mixer to a Band-Splitter
Yoko is a band-splitter, or a crossover lter used for splitting a signal into
three frequency bands. Joshua Dickinson and I designed and implemented
Yoko as a Rack Extension for Reason. The Rack Extension format is par-
ticularly good for modular designs, as the user can switch between a front
panel control set and a rear panel terminal set. Rack Extensions have stan-
67
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 68
dard in/outputs that are connected automatically when one is added, but
the user can switch to the rear view and repatch as desired.
Yoko splits a signal into three frequency bands using Linkwitz-Riley l-
ters. Each band has a Gain control, along with a stereo Send output. The
most notable design element on Yoko is that we added three stereo sets of
Return inputs on the back, along with a stereo Sum output. The Sum
output adds together all three Send outputs. If a signal is preset on the
Return inputs, it replaces the corresponding Send output on the Sum mix.
This simple feature makes Yoko more convenient to use and introduces poly-
morphism.
Without using the individual band outputs, Yoko can be used as a simple
2- or 3-band EQ. A user can plug in a signal, manipulate the Gain knobs and
cuto ranges, and get an equalized signal on the Sum output. When used as
a band-splitter, this design removes the need to add a mixer at the end of
the signal path to sum the individually manipulated bands.
This design has been praised by many users, and Yoko currently has a
5-star average with 285 reviews on the Propellerhead shop.
5.0.2 G8 Gate: Manipulating the Noise Gate Envelope
G8 Gate was our rst VST/AU plug-in (and later AAX and VST3). It
is a noise gate, or an eect that tracks a signals amplitude and reduces
it when it drops below a specic threshold. This eect is typically used
to remove the noise oor from a recording. With G8, we analyzed every
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 69
last section of a noise gate's signal path and created polymorphism wherever
possible. Because of this, we often describe G8 as a comprehensive amplitude
workstation.
5.0.2.1 Reject Outputs and Amplitude Splitting
G8 features two sets of stereo outputs. The primary outputs are the expected
gate outputs, while the other outputs are known as Reject Outputs. These
outputs contain the audio that does not make it through the gate. When
summed together, the main outputs and the Reject Outputs provide the
original signal with no change to amplitude or phase. When Flip mode is
active, the outputs are swapped, allowing a user to explore the Reject signal
on hosts that do not support multi-out VST2 plug-ins.
This feature allows users to create amplitude-sensitive eect chains, where
louder signals are processed dierently than softer signals. This feature was
inspired by Tony Visconti's production techniques on David Bowie's Heroes,
in which three microphones were placed at various distances from the singer.
Each microphone was processed dierently, allowing for a wide dynamic range
and the eect of an expanding room during louder sections [69]. We like to
refer to this technique as Amplitude Splitting.
A great use for this is to use G8 as an amplitude-sensitive auto-panner. To
do this, a user can take the main outputs and pan them hard left, while the
Reject Outputs would be panned hard right. In this scenario, a sound would
begin on the right channel and pan to the left after it becomes loud enough
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 70
before panning back to the right channel. The rate of panning would be
controlled by the Attack and Release settings, while changing the Reduction
parameter would aect the severity of the pan. By using G8's alternative
behaviors (see section III.E), the auto-panner could be set to cycle at regular
intervals.
5.0.2.2 Expert Mode
G8 features an Expert Mode panel, which contains controls pertinent to
manipulating the analysis input. Without Expert Mode enabled, G8 features
a toggle switch to choose between whether the gated sound runs through the
analysis stage, or whether an external sidechain is analyzed. This is a fairly
common control found on most other noise gates.
We wanted to give the user a lot more control, along with the possibility
for opening up more creative mixing strategies. With Expert Mode, we've
created something that we call an Analysis Matrix. Here, the user has
complete control over the toggle state, gain level and ltering of all four input
channels. The channels can be linked together in stereo pairs, meaning
that each pair can share gain and lter controls instead of requiring separate
tweaking. The user can also choose whether the loudest sample from all four
channels is analyzed, or whether the analysis sample comes from an average
of the four. Each channel has a meter showing the channel's amplitude. Each
meter also has an indicator that shows the gate's Threshold setting.
With Expert Mode enabled, the user also has access to Audition Mode.
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 71
Figure 5.1: G8's Expert Mode Panel
With Audition Mode enabled, the user can listen to the signal that is being
analyzed. This allows the user to hear exactly how the signal is being ltered.
As an example of the utility of Expert Mode, imagine that a user wants
to gate a stereo signal with huge variability between the individual channels.
Let's also say that the user only wishes to use the left channel's loudness for
gating analysis. If they were to use a gate that only toggles between the main
input and the external sidechain, they would need to bus their stereo track
to another track, use a utility to change that track to dual mono, and then
route that track into the gate's external input. With G8, the user simply
needs to enable Expert Mode and disable Channel 2. Another idea is to
create gating polyrhythms by using two dierent rhythm tracks.
5.0.2.3 MIDI Functionality
For increased functionality, G8 contains MIDI input and output support.
With MIDI input, G8 can listen for a specic Note On message. It will open
the gate upon receiving a Note On, and close the gate with the Note O. As
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 72
an example, this can be used to rhythmically gate a synthesizer drone based
o of some MIDI rhythm (this eect is frequently referred to as a trance
gate).
G8 can also have a MIDI output that sends a Note On when the gate is
open and a Note O when the gate is closed. This can be used to extract
rhythms from audio tracks, or for drum replacement.
Another benet of the MIDI functionality is for hosts that do not support
VST2 plug-ins with more than two inputs and two outputs. A user can setup
a MIDI Sidechain, in which one instance of G8 can send MIDI output to
the MIDI input of another instance. In this usage scenario, the G8 that sends
MIDI output is similar in functionality to a sidechain input. The G8 instance
that receives MIDI is on the track that is being gated. More creative uses
will be explored in the next section.
5.0.2.4 Alternate Behavior Modes
G8's gate can use one of three dierent behavior modes: Regular Gating,
One-Shot, or Cycle. For Regular Gating, the gate envelope behaves as ex-
pected. The envelope opens up when the signal's amplitude exceeds the
threshold and closes when the signal drops below the hysteresis level.
One-Shot is a mode designed for transient shaping of more percussive
tracks, or for applying percussive envelopes to other sounds. In this mode,
once the signal's amplitude exceeds the threshold, the gate envelope imme-
diately opens, runs through its Hold duration, and closes without waiting for
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 73
the signal to drop below the hysteresis level. The envelope will not open again
until the signal drops below the hysteresis level and exceeds the threshold
again. With this behavior, an envelope with a specied attack and release
time can be applied to individual drum hits.
Cycle mode is a creative mode inspired by our interaction with hardware
modular synthesizers. In particular, we were inspired by Make Noise's Maths
module, which in simplest terms is a dual AD envelope that can be set to cycle
automatically [23]. In Cycle mode, when the incoming signal's amplitude
exceeds the threshold, the envelope immediately res and completes in the
same style as One-Shot mode. However, after completion, the envelope will
re again provided that the signal is still above the threshold. In this mode,
a Delay control becomes active, allowing the user to specify a required time
between envelope triggers.
This mode allows the user to turn any sustained sound into a rhythmic
eect. For example, a sustained synthesizer drone can be turned into a rhyth-
mic eighth-note percussion track. If the user modulates the Delay control,
complicated bouncing ball rhythmic eects can be achieved. Combined
with its MIDI output feature, G8 can eectively be used as a standalone
rhythm generator without requiring any audio input.
In addition to Cycle's rhythmic utility, its wide-ranging envelope times
allow G8 to be used as a tremolo, an AM synthesizer, or a granulator. For
tremolo, slower envelopes can be combined with G8's variable reduction for
exibility. For AM synthesis, G8's envelope time can go down to about 2
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 74
Figure 5.2: Sandman interface, with xed modulation system visible.
milliseconds, or 500 Hz. The Delay parameter can then space out these small
envelopes, allowing for a single-stream granulator.
5.0.3 Creating an Expandable, Patchable Modulation
System
At the start of 2016, we set out to create a expandable, patchable modulation
system for all of our future plug-ins. When we wrote the rst iteration of
Sandman in 2014, a signicant percentage of the code was wasted handling
a xed modulation system. It was dicult adding more parameters after
release due to both programming complexity and interface requirements.
Our goal was to create a generic, expandable system that would work
with all of our plug-ins and use a common codebase. It would also need to
be implemented in a way to accommodate future upgrades (more modules,
rened controls, etc.).
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 75
Figure 5.3: Fault interface, with expandable modulation system visible.
In April 2016, We released Fault as our rst plug-in with the new mod-
ulation system. The design of the modulation system is visually simple and
generic enough to work with all of our plug-ins. A MODULATION tab sits
on the bottom of the plug-in interface. When the tab is active, a bottom
section appears on the plug-in with a number of modules.
There is extensive visual feedback for the user. The modules are color
coded in order from left to right. Whenever the user drags a cable from the
module, the cable's color will match the color of its source module. The
modulated parameter has a white bar showing its center value and a red
modulation indicator to show its current value as set by the modulator(s).
Multiple cables plugged into the same input will be summed (instead of
requiring another module for mixing). Every output of every module has an
attenuverter. Every time a user connects a cable from a module's output, a
new output with a new attenuverter will appear. This makes every module
expandable.
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 76
The initial list of modules is as follows:
Sine LFO
Saw/Tri LFO. This LFO has a SHAPE parameter that sets the LFO's
waveform. At 12 o'clock, it's a triangle. Changing this value will morph
the waveform toward sawtooth or ramp waveforms.
Square LFO: This has a WIDTH control to set the waveform's pulse
width.
S+H Noise: This is a noise source that is sampled and held at a given
interval. It has a SLEW control. At full CCW, no slew is applied,
providing a random stepped signal. At full CW, the slew length will be
equal to the rate of generation. This creates a smooth random signal
that never holds a value.
Input Follower: This module generates an envelope based on the am-
plitude of the plug-in's input signal. A SMOOTH control determines
how rapidly the envelope will track the amplitude.
Macro Control: This module allows a user to generate osets using one
knob. Since this module has an expandable number of outputs, turning
this one knob can aect an arbitrary number of parameters in various
amounts.
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 77
5.0.4 Dent: Making a Modular Distortion
Dent is a distortion and multi-mode bitcrusher released in August 2016.
Our central design focus was making a distortion that would center around
modulation. We ended up with a tool that takes design cues from Linked
Polymorphism. It's not technically a linked design, as the separate elements
can't be independently used, but the concept of chaining together simple
sections to create more complex behavior is used. Dent does use Modal
Polymorphism, which I will describe later in this section.
Our rst design inspiration is the Doepfer A-136 Waveform Processor
[70]. This module takes in an input and provides ve amplitude controls:
positive amplitude, negative amplitude, total amplitude, positive clipping
boundary, and negative clipping boundary. Only the clipping boundaries
can be modulated.
I ported this module to Euro Reakt in late 2015 as the Waveform Pro-
cessor 6.2.20. While working with that, I split the total amplitude control
into Pre-Gain and Post-Gain controls, added a symmetrical DC bias control
called Split, and made everything a modulation target.
The next design inspiration came from the popularity of wavefolders in
Eurorack. Wavefolders serve the same basic purpose as distortion: add har-
monics to a simple signal. Most wavefolders have the same two controls.
These controls are Fold (Gain) and Symmetry (DC Bias). At this point, a
great way to combine distortion and wavefolding became clear. Every basic
distortion algorithm has a gain control, and most have a bias control. The
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 78
only dierence between hard clipping and wavefolding is how to deal with
audio that clears a given threshold. In hard clipping, the signal gets lopped
o at the boundary. In wavefolding, the signal gets reected.
The rst draft of the Dent control set eectively took the control set from
Waveform Processor, added in a Bias control, and replaced the asymmetri-
cal clipping controls with a boundary-handling Mode selector. The Mode
selector chose between hard clipping, soft clipping, and wavefolding. It also
added in a toggled DC lter at the end of the signal path to handle oset
introduced by the Bias and asymmetrical Gain controls.
After that, we looked at how most digital distortions are implemented.
Most common distortion algorithms involve tanh and related sigmoid curves
being applied to the signal, due to how well they model they behavior of
Operational Transconductance Ampliers [71]. A lot of the character of a
distortion can be determined by the intensity of the sigmoid curve and the
boundary-handling. Since Dent already had variable boundary handling,
this sigmoid shaping was the last basic element of distortion that hadn't
been implemented.
For this, I had already implemented a Euro Reakt module called Wave-
shaper 6.2.22. This used one knob to skew a signal using either a hyperbolic
or parabolic shaper. This behavior was ported to Dent using a hyperbolic
shaper with a more limited control range (to avoid unwanted extreme behav-
ior).
The output of the top-row shaping section is fed into a multi-mode
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 79
bitcrusher. It features a traditional bitcrushing mode, but it also includes
two bitwise logic and three other digital degradation methods. This runs
through a low-pass lter before being processed through Waveset analysis.
The Waveset section selectively drops wavecycles, replacing them with either
silence or the dry signal.
The modal polymorphism comes from the Bias control and the optional
DC lter at the tail end of the signal path. By disabling the DC lter, the Bias
control can be used to manually create a modulation signal at Dent's output.
For even more complicated behavior, the Bias control can be manipulated
through the expandable modulation section. This means that Dent can be
used as a complex LFO or random source. With a DC-coupled output, Dent
can directly interface to a hardware modular synthesizer.
5.0.5 Sandman Pro: Polymorphic Delay
Sandman Pro is a modally polymorphic delay with an expandable modulation
system. Its predecessor, Sandman, only featured one mode of operation and
had a xed modulation system. The basic signal path of Sandman is a delay
buer that feeds a frozen buer. Whenever the delay line is frozen, playback
switches to the windowed frozen buer, where the user then has the ability
to manipulate the start and end times of the buer. In essence, it is an echo
that can quickly turn into a looper or granulator. Sandman Pro builds upon
this by adding six additional echo modes, an all-pass diusor that can act
upon the frozen buer, and more.
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 80
The seven modes of operation are:
Classic Tape: The original Sandman behavior, with added DSP tech-
niques to simulate tape playback (wow and utter, tape saturation,
etc.). When changing delay times, pitch artifacts are heard.
Modern Instant: A granular delay mode. In this mode, changing the
delay time does not produce any audible artifacts. It achieves this by
using two windowed delay taps.
Pitch Shifter: A granular pitch shifter mode. Like Modern Instant, this
mode is created through two windowed delay taps.
Glitch Shifter: This mode was implemented by purposefully adding
mistakes to the pitch shifter code.
Reverse: A reverse echo eect. The reverse echo is achieved through
two windowed delay taps.
Multi-Tap: A complex echo eect with up to sixteen active delay taps.
Changing the delay length or the spacing of the taps does not produce
audible artifacts.
No Echo: The plug-in's input is fed directly to the frozen buer. This
can be used to create stutter and glitch eects.
From a DSP standpoint, all seven modes are constructed through the use of a
single 32-tap delay. Because of this, a user is able to quickly switch between
CHAPTER 5. UNFILTERED AUDIO: POLYMORPHISM IN PLUG-INS 81
modes without experiencing clicks or pops. This design encourages creative
uses of the various modes instead of forcing the user to think of each mode
as a static entity.
Chapter 6
Euro Reakt
"Euro Reakt" is a free expansion for Native Instruments' Reaktor 6 [72].
Reaktor is a software platform for modular synthesis by Native Instruments
[73]. With Reaktor 6, Native Instruments introduced the Blocks standard
[74]. A Reaktor Block is very similar to a hardware module. It has an
interface with user controls that manipulate a non-visible algorithm that
generates or processes a signal. This algorithm is written in Reaktor Core
[75], a JIT-compiled visual programming language that is similar to Graham
Wakeeld and Wesley Smith's Gen language [76] for Cycling 74's Max 6+
[61].
In the Block standard, all Blocks process signals within a restricted -/+
1.0 oating point range [77]. This means that any output can be plugged
into any input without worrying about whether the signal is scaled correctly.
This is dierent from CSound and SuperCollider, where the various uGens
82
CHAPTER 6. EURO REAKT 83
Figure 6.1: Reaktor Blocks: MIDI & OSC Learn
and OpCodes expect dierently scaled signals. As an example, lters and
oscillators in SuperCollider expect signals to be scaled to Hz range (typically
20 to 22,000). Envelopes require signals to be scaled to values representing
seconds. In one particularly bad example, SuperCollider's Crackle uGen
expects signals in the range of 1 to just above 2.0 [78]. Values outside of this
range lead to massive, unbounded signal explosions that can be frightening
to users (and damaging to speakers). In my opinion, this sort of behavior
discourages experimentation for novice users.
In the Reaktor 6 Blocks standard, there is no distinction between a timing
signal, a control signal, or an audio signal. The programmer of the Block
can choose whether aspects of a signal are processed at a standard control
rate or sampling rate (In Euro Reakt, I have chosen to use sampling rate for
every aspect).
The standard Block widgets (knobs, buttons, etc.) feature an easy-to-use
MIDI and OSC learn system. To use it, a user right-clicks on any control
to bring up a button that says MIDI and OSC Learn. Clicking this will
set that control into learn mode. Reaktor will then map that control to the
CHAPTER 6. EURO REAKT 84
next MIDI or OSC message. This is a very immediate and intuitive way of
linking hardware control to the software environment.
Because of these features, I feel that Reaktor 6 is the software modular
that most closely resembles the hardware experience.
The Euro Reakt project was started immediately after the release of Reak-
tor 6 in mid-September 2015. The rst Block (Logic Mix) was posted only
a day after Reaktor 6's public release. By November 2015, the project had
1
grown to over 100 Blocks (95 of which were released publicly) . The project
was started as a response to what I felt was an excellent workow and a
short-sighted built-in library. The standard Reaktor 6 Block library focuses
much more on sound design and performance instruments than composition
or generative strategies. The standard Block library is as follows: 4 oscil-
lators, 4 lters, 4 eects (comb lter, reverb, delay, distortion/overdrive),
3 mixers, 2 envelopes, 1 LFO, 1 VCA, 1 8-step sequencer, 1 clock divider,
1 quantizer, 1 CV Processor (attenuverter, oset, and slew), 1 sample and
hold, 1 master clock, 2 MIDI control inputs (trigger or note), 1 oscilloscope,
and 2 amplitude sliders. In terms of sequencing-focused Blocks, only the se-
quencer, master clock, clock divider, quantizer, and sample and hold Blocks
really qualify. In my opinion, this does not leave a lot of opportunity for
generative compositions.
The Euro Reakt series has the following goals:
1. Expanding the number of sound design strategies present in
1 For a complete list of Euro Reakt Blocks, please see Appendix A.
CHAPTER 6. EURO REAKT 85
Reaktor 6. The standard Block library focuses only on Subtractive
and FM synthesis, with light additive synthesis provided by one oscil-
lator. Euro Reakt adds in granular synthesis, Karplus-Strong synthe-
sis, physical modeling synthesis (with help from Chet Singer's Ampere
Modular series), wavetable synthesis (with help from Sandy Small's
Reaktor Blocks), sampling, VOSIM, Multi-Phasor synthesis (a novel
approach to complex synthesis described later in this paper), Wave
Terrain synthesis, Vector synthesis, and more.
2. Expanding the number of compositional strategies present in
Reaktor 6. As mentioned above, the built-in sequencing Blocks do
not expand past the most common sequencing paradigms. Euro Reakt
has boolean logic, ip-ops, probabilistic switches, sequential switches,
a comparator, a burst generator, an analog shift register, and more
Blocks that are focused on advanced generative ideas. This allows a
composer to create emergent behavior using only a handful of Blocks.
3. Providing a platform for modular synthesis pedagogy. Com-
binations of Blocks are called Ensembles in Reaktor. Euro Reakt
includes a large variety of ensembles to help teach users how to har-
ness the power of these Blocks by showing them in musical contexts.
Each ensemble has a number of Snapshots (presets) that show varia-
tions of each patch with dierent control settings. Each ensemble has
text-based documentation that appears when the ensemble is loaded.
CHAPTER 6. EURO REAKT 86
Furthermore, each Block has built-in documentation. There is a gen-
eral description of each Block that is shown when the Block is loaded.
Whenever the user clicks on a control, a detailed description of that
control is then shown. Reaktor costs less than a typical Eurorack mod-
ule and less than almost every Eurorack case on the market. With
this toolkit, students and educators have access to a low-cost, high-
performance system that works well as a platform for learning the fun-
damentals of modular synthesis.
4. Prototyping and exploring advanced DSP ideas. Throughout
the creation of Euro Reakt, the visual modular language of the Core
environment has encouraged me to explore many ideas. As a result, I
have described novel eects and synthesis methods that I have discov-
ered during this process (including Multi-Phasor Synthesi and Inter-
leaved Modulation). This has also been a very useful platform when
prototyping ideas for Unltered Audio plug-ins. Dent, for example, was
created while exploring the Waveform Processor Block and the various
modes of the Bitcrusher Block.
5. Demonstrating Rhizomatic and Synchronously Polymorphic
design, when possible. The Euro Reakt library covers nearly ev-
ery fundamental of modular synthesis. Perhaps my largest goal was
to emphasize the exibility of modular synthesis through polymorphic
design. Without a number of hardware constraints (price, panel sizes),
CHAPTER 6. EURO REAKT 87
I've been able to create designs that tap into many possible inputs and
outputs within the DSP chain. I will describe this process under the
Design Notes section of each Block.
In this chapter, I will list every Block in the library and analyze their designs
using the taxonomies and ideas described in this dissertation. I will also look
at other software modular systems and analyze them through the taxonomies
detailed in this dissertation.
6.1 Other Software Modular Systems
In this section, I will use my three taxonomies to analyze many existing soft-
ware modular synthesis environments. I will analyze them primarily on two
qualities: how similar the software is to a hardware modular, and how useful
the software is for education. I will not analyze text languages like CSound,
SuperCollider, and ChucK or visual programming languages like Max or
PureData. Instead, I will focus on software that is intended exclusively for
modular synthesis.
6.1.1 Packages for Visual Programming Environments
In this section, I will look at modular synthesis packages for visual program-
ming environments. Max and Pure Data oer a lot of functionality aside
from modular synthesis. These packages provide a more focused set of tools
with consistent interfaces and patching standards.
CHAPTER 6. EURO REAKT 88
Figure 6.2: Euromax for Max 5+.
Previous Work: Euromax for Max 5
Euromax is a free package for Cycling 74's Max 5+ [79]. I originally started
the project for MAT 201A, taught by Matthew Wright. The project was
turned in as my nal project for the class.
Euromax predates the similar BEAP package, which was released with
Max 6. BEAP, in turn, predates the OSCiLLOT package, a similar environ-
ment that focuses more on Max4Live.
I made this is 2010, early into both my programming and modular syn-
thesis studies. Surprisingly, many of the modules display simultaneous poly-
morphism. The Gate Sequencer has per-stage gate outputs (along with a
sum output), the AD generator has a Loop switch and a End of Cycle trig-
ger, the noise source has a simultaneous S+H output, etc. There are some
very unusual designs, such as an 4x4 Envelope Matrix, a combo of 4 AD
CHAPTER 6. EURO REAKT 89
envelopes with a matrix modulation panel for routing the trigger outputs of
each envelope into the trigger inputs of any of the envelopes.
There are some major drawbacks. The rst is the visual design. Each
input and output is only labeled through tooltip functionality, meaning that
the user has to hover their cursor above each terminal to nd out what it
does. This greatly slows down the patching process.
The second drawback (which is common to many of the modular packages
in this section) is dicult control. Euromax actually includes a number of
quick MIDI Learn modules (the foundation of Simple MIDI, described in
Taxonomy #2) for interfacing with hardware controllers. However, external
controllers can only interact with each module through CV inputs. If a
control is missing a CV input, it needs to be manipulated by the mouse.
The third drawback is that there are a number of DSP issues. Since
this was made during my rst year of studies, there are a number of areas
where the modules display a lack of understanding. For example, the Trainlet
Generator requires an external clock. The clock input is set to only receive
bangs, which are control rate timing messages in Max. This means that
it's impossible to create a stable clock for the generator. It should have an
internal audio-rate clock and the ability to clock itself for stable oscillations.
Finally, every module loads with poor default settings. Most modules
load with 0.0 for all controls, meaning that each module doesn't produce
useful results by default. This was due to my lack of understanding of the
Max pattr system for storing settings with clippings.
CHAPTER 6. EURO REAKT 90
Figure 6.3: XODULAR for Pure Data Extended.
Overall, this was a decent rst eort for personal use but a poor choice
for a teaching platform.
XODULAR
XODULAR is a package of modules for the Pure Data Extended environment
[80]. It consists of twenty foundational modular building blocks. The panel
designs focus on simplicity, but many of the modules exhibit simultaneous
polymorphism. As examples, the Five-Steps sequencer has gates for every
stage, the Dual VCA oers a mix output, and the AD Envelope has an End of
Cycle gate. It comes with a detailed manual with per-module documentation
along with descriptions of every input and output.
There are a few drawbacks, the most signicant of which is control. There
is not an easy way to connect a hardware controller to the various knobs,
meaning that the primary mode of interaction is the mouse. A less signi-
cant drawback is the requirement of Pure Data Extended (instead of Pure
CHAPTER 6. EURO REAKT 91
Figure 6.4: Example BEAP modules.
Data vanilla). This is a minor issue as PD Extended is no longer actively
maintained, so future compatibility is questionable. Since Pure Data is free,
a user can maintain PD and PD Extended installations side-by-side. Re-
gardless, this is still a great system for students with its versatile designs and
open-source nature.
BEAP
BEAP (Berklee Electro Acoustic Pedagogy) is a package of bPatcher modules
originally developed by Matthew Davidson for Max 6 [81], but later included
as standard in Max 7 [82].
BEAP's modules cover a lot of ground. The Oscillators category in-
cludes Karplus-Strong, Wavetable, Granular, FM, Additive, and more. One
major issue with the designs is the lack of CV inputs on many modules, a few
examples of which are visible in Figure 6.4. For instance, the Sync Delay, De-
cay, Feedback Delay, Pulse Designer, ADSR, and Wavefolder modules have
no CV inputs. There are also a lot of missed opportunities for polymorphism
CHAPTER 6. EURO REAKT 92
in the more complex designs. For instance, the Pulse Designer features two
square wave LFOs interacting through boolean logic. However, it only has
one output. The individual LFOs do not have dedicated outputs.
The lack of CV inputs also aects external control. BEAP has a sur-
prisingly deep controller module collection, including modules dedicated to
interfacing with Monome controllers (ROLI has a separate package available
in the Max Package Manager that adds BEAP modules for interfacing with
their hardware controllers). Like Euromax, XODULAR, and OSCiLLOT,
if a control does not have a CV input, it can only be manipulated via the
mouse. One workaround is MIRA, a method of mirroring a Max interface
onto an iPad or web browser. With this workaround, a user can at least use
multi-touch to interact with multiple controls simultaneously.
BEAP has thorough documentation. Right-clicking on a module brings
up the option to open an example help patcher with an interactive patch.
There are many additional ocial YouTube videos and blog posts from Cy-
cling '74. For classrooms that already have Max, BEAP makes for a great,
educational synthesizer. The lack of deep control holds it back from being
useful in performance situations.
OSCiLLOT
OSCiLLOT is a Max4Live modular synthesizer package developed by Max
for Cats [83]. It diers from BEAP in two major ways:
OSCiLLOT only runs in the Max4Live environment. It does not run
CHAPTER 6. EURO REAKT 93
Figure 6.5: Max for Cats OSCiLLOT.
in standalone Max.
OSCiLLOT does not have the ability to interface with the rest of Max.
It exists only in its own specialized environment.
OSCiLLOT is a polished environment. There are over 100 modules. Every
module is fully documented (via a oating help system), and there are numer-
ous example patches. There is a notable amount of polymorphism present.
As an example, the ADSR Envelope generator has outputs for Envelope,
Inverted Envelope, End of Rise, End of Fall, and End of Cycle. However,
the amount of polymorphism is not consistent from module to module. As
another example, the AD Envelope only has a single output for the envelope
with no additional triggers or gates.
There are two primary drawbacks to OSCiLLOT. The rst is the upfront
cost. To use OSCiLLOT, a user needs to own Ableton Live and Max4Live
plus the additional purchase cost of OSCiLLOT. For students, this can be a
large barrier to entry.
CHAPTER 6. EURO REAKT 94
Figure 6.6: Ampere Modular for Reaktor.
More importantly, OSCiLLOT is not suited to live control. While there
are modules for interacting with controllers (including MIDI CC control and
a module to directly interface with Ableton through 8 control macros), there
isn't a way to directly map a controller to any knob. Modules can only be
automated through their CV inputs. As an example, an OSCiLLOT step
sequencer does not have CV control over each stage. This means that a user
cannot map the sequencer's stages to a MIDI controller and must instead use
their mouse to change the value of a stage.
Ampere Modular
Ampere Modular is a collection of macros for Reaktor 5+ [84]. Ampere is
not designed for rapid patch creation. The Ampere modules are distributed
as monolithic Reaktor ensembles. A user needs to open these ensembles,
copy the modules that they wish to use, and paste them into a new Reaktor
CHAPTER 6. EURO REAKT 95
ensemble.
The module design is monosemous with a small handful of exceptions.
There's a rhizomatic 8-tap delay with per-tap outputs along with a stereo
Mix output with per-tap level and pan. There's also a 4-pole lter with
dedicated outputs for various lter types and one output with a Mode control
(thus demonstrating simultaneous and modal polymorphism).
Since the Ampere modules are built using standard Reaktor controls,
every control has MIDI & OSC Learn.
Documentation on the modules is thin. Most modules have a one sentence
description. Each control has a basic description as well.
This is an excellent resource for DSP techniques, and a few of the mod-
ules here have been ported to Euro Reakt (namely Resonating Wood and
Resonating Bar). It is not a great choice for modular synthesis pedagogy, as
using these modules requires a lot of Reaktor patching knowledge.
Other Reaktor Blocks Packages
There are other collections of Reaktor 6 Blocks released after Euro Reakt,
including The Innite Phi Collection by Sandy Small [85], The Nouveau Col-
lection by Matthew Friedrichs [86], Brett Blocks by Brett Lavallee [87], and
The Synite Collection by Jonathan Tremblay [88]. Every one of these collec-
tions is fully compatible with Euro Reakt as they follow the Reaktor Blocks
standards. These collections also share a lot of development work. Euro
Reakt's wavetable Blocks are based on Sandy Small's Microwave Oscillator,
CHAPTER 6. EURO REAKT 96
Figure 6.7: The Innite Phi Collection by Sandy Small.
Matthew's samplers were originally branches of Euro Reakt's Stereo Sample
Looper, Jonathan extended Sandy's Pendulum Block, Sandy used macros
from Chet Singer's Ampere collection and some of my noise generators, and
so on.
These collections are not competing with each other so much as turning
Reaktor 6 into an extremely versatile environment and deep educational re-
source for DSP and composition. Every collection is open-source and free.
The shared ideas and diering design strategies mirror the current Eurorack
environment where each manufacturer has a unique style.
CHAPTER 6. EURO REAKT 97
Figure 6.8: WREN Modular
6.1.2 Dedicated Software Modular Synthesizers
In this section, I will analyze a set of software programs dedicated to modular
synthesis. These programs do not oer alternative functionality.
WREN
WREN is a free, open-source modular environment for Windows only [89]. It
is a large environment consisting of over 200 modules covering a wide range of
synthesis methods, eects, and sequencing strategies. The interface is quite
similar to the Nord Modular, but this is a software-only environment.
WREN's modules cover a wide range of design strategies. Most of the
envelopes and lters are synchronously polymorphic. The envelopes have
gate outputs and built-in VCAs, while the lters have multiple responses with
individual outputs. Overall, though, most modules tend toward monosemous
CHAPTER 6. EURO REAKT 98
or rhizomatic design.
Every control can be mapped to MIDI messages. There isn't an easy
auto-learn function. Instead, right-clicking a control brings up a menu for
choosing which CC to map the control to. This requires that a user is familiar
with the CC number of each control on their chosen controller.
WREN is thoroughly documented. Right-clicking on a module can bring
up the associated documentation. In addition, the WREN website has every
module documented on a single page. While WREN uses separate control
and audio sampling rates, most modules are RateSmart. This means that
they will automatically change their sampling rate based on their inputs.
The primary barrier to education is that the interfaces are small and many
of the labels are abbreviated.
For experienced users on Windows, WREN is a exible, free environment.
With it's free, open-source nature, it is also a great choice for DSP and
composition students.
Sonigen
Sonigen is a free modular environment for Windows only [90]. Like WREN,
it features an interface that is very similar to the Nord Modular.
The module designs on Sonigen are extremely simple. One of the more
unusual aspects is that the oscillators do not have pitch or FM inputs. All
oscillators track Sonigen's MIDI note input and can only be set to osets of
this input. This means that none of the oscillators can be set to drone at an
CHAPTER 6. EURO REAKT 99
Figure 6.9: Sonigen Modular
arbitrary frequency.
Each control can be assigned to a MIDI CC via an automation assignment
mode. Sonigen comes with a PDF manual with documentation on each
module, along with a large library of presets.
The strange pitch design choice makes this an interesting transitional
synthesizer. It is a good rst modular synthesizer for users who are familiar
with plug-in instruments and want a similar workow with more exibility.
Audulus
Audulus is a modular synthesizer for iOS, OS X, Windows, and Linux [91].
It is a multi-scale modular in the vein of Reaktor. Like Reaktor's Blocks
system, Audulus features a number of high-level Modules for easier patch-
ing. There is a lower level, referred to as Nodes, featuring objects that serve
more basic DSP functions.
CHAPTER 6. EURO REAKT 100
Figure 6.10: Audulus Modular. This screenshot shows both low-level Nodes
like PolyToMono and higher level Modules like Bidirectional Seq16.
The design of both the Modules and Nodes is almost exclusively monose-
mous. A user can use Nodes to design their own modules, though. Audulus
can connect to external MIDI controllers very easily. Like Reaktor Blocks,
every control has a quick MIDI learn system.
Every module is documented thoroughly with a description of inputs
and outputs. There are many example patches as well. With the simple
designs, good documentation, low cost, easy MIDI learn, and wide platform
availability, this is a great choice for education.
CHAPTER 6. EURO REAKT 101
Figure 6.11: AnalogKit. This image shows the internals of a higher level
module.
AnalogKit
AnalogKit is a modular synthesizer for iPads only [92]. Like Audulus, it
features a low-level set of objects that can be used to create higher level
modules and interfaces. Unlike Audulus, there is also a lesser focus on the
ability to create visuals.
AnalogKit has an easy MIDI learn system on every control. Instead of
having a per-control menu like Audulus, it has a MIDI learn mode. When the
mode is active, every available control is highlighted. The user touches the
control they want to link and then sends a message from the MIDI controller
that they wish to link. This method can be quicker for learning many controls
at once.
Documentation is unfortunately poor. The application has a quick slideshow
tutorial, but per-module documentation doesn't exist. As a result of this,
it is not recommended as much as Audulus for education. For users who
CHAPTER 6. EURO REAKT 102
Figure 6.12: zMors Modular running on an iPad.
are already experienced with modular synthesis, though, it is a useful mobile
platform.
zMors Modular
zMors Modular is a modular synthesizer for iPads only (with upcoming
iPhone support) [93]. Unlike Audulus and AnalogKit, zMors Modular has
only one level of modules. A user can create a macro module that hides a
more complex patch behind a simplied interface.
The design of the modules is almost exclusively monosemous. Nearly
every module has a single output.
Unlike Audulus and AnalogKit, zMors does not have quick MIDI learn.
Instead, it has a number of MIDI modules used for routing incoming messages
via channel, note, and CC.
A detailed manual is available is available from the website, featuring a
CHAPTER 6. EURO REAKT 103
Figure 6.13: Arturia Modular V
patching walkthrough and per-module documentation. This is potentially a
less exible system than AnalogKit, but it is a good choice for education.
6.1.3 Hardware Emulators
In this section, I will list software modulars that are direct emulations of mod-
ular hardware. These applications feature recreations of hardware interfaces
and models of analog circuits.
CHAPTER 6. EURO REAKT 104
Figure 6.14: Moog Model 15
Arturia Modular V and Moog Model 15
Arturia's Modular V is a software plug-in emulation of a Moog Modular
for Windows and OS X [94]. Moog Model 15 is an emulation of the Moog
Modular Model 15 for iPads only [95].
Both applications emulate Moog Modulars. The Arturia Modular repre-
sents a non-specic, large collection of modules while the Model 15 represents
the same module conguration as the hardware Model 15. The Modular V
was endorsed by Bob Moog, while the Model 15 is an ocial Moog product.
The Model 15 has a xed layout, meaning that a user cannot add or reposi-
tion modules. The Modular V has a xed layout except for the top row. On
the top row, a user can choose their own conguration of lters, eects, and
basic modulators.
Both applications map easily to external controllers. The Modular V has
an easy MIDI Learn mode where every control is highlighted. Touching a
CHAPTER 6. EURO REAKT 105
Figure 6.15: Softube Modular. In this image, Doepfer and Intellijel emula-
tions are visible.
control prepares it to map to the next incoming message. On the Model 15,
any control can be manually mapped to a MIDI CC. The Model 15 comes
with a number of multi-touch optimized keyboards that a user can switch
between.
Documentation is great for both applications. The Model 15 has over 160
presets, while the Modular V has over 500. In each instance, every module
is fully documented.
One of the only drawbacks is the inherent simplicity of the Moog mod-
ules. These are systems that are most comfortable for subtractive and FM
synthesis with basic sequencing. That issue aside, these are great choices for
learning modular synthesis.
CHAPTER 6. EURO REAKT 106
Softube Modular
Softube Modular is a software plug-in emulation of a Eurorack system for
Windows and OS X [96]. It is the rst piece of software to feature licensed
models of Eurorack hardware, including designs from Doepfer and Intellijel.
The base purchase of Softube Modular gives you access to a set of 33
modules. The Intellijel modules are available individually at additional cost.
Most of the standard designs are monosemous, although there are simultane-
ously polymorphic modules: Logic (multiple logic types), Sequencer (voltage,
gate, and trigger outputs), Noise (regular and S+H noise), and Signal Tool
(multiple 2-input analog logic functions).
It is easy to control. In addition to mapping knobs to MIDI controllers,
there are a number of MIDI-to-CV modules and Performance Modules. The
Performance Modules allow a user to map an arbitrary number of knobs,
switches, or sliders to a single knob for macro control. One module connects
directly to the ROLI Seaboard and oers over 30 CV outputs.
Documentation is great as well. The manual contains descriptions of
every module along with a patching tutorial. Over 200 presets are included.
There are a number of drawbacks. Like the Moog Modular emulations,
the module selection is fairly basic. In the manual, it is described as a
more traditional subtractive system with the Intellijel modules being a
step towards more west-coast thinking. Softube Modular also uses iLok for
copy protection. While iLok is ne for a single studio computer, it can be
dicult to manage in a shared studio or classroom environment. It is also
CHAPTER 6. EURO REAKT 107
a very demanding piece of software requiring a fast, up-to-date computer.
Large, generative patches are unfortunately dicult to pull o with the CPU
constraints.
6.1.4 Software-Hardware Hybrids
This section will focus on hardware devices that are programmed using mod-
ular software interfaces. These are typically hardware devices that are pro-
grammed via a computer and then used independently. These types of de-
vices are useful for performing musicians who wish to remove a laptop from
their stage equipment or use a piece of hardware with a dedicated interface
for a patch.
Nord Modular
The Nord Modular was a digital hardware platform manufactured by Clavia
from 1998 through 2009 [97]. The Nord Modular hardware consisted of com-
mon non-modular form factors, such as a keyboard or rack mount device.
These devices were programmed using a proprietary software toolset, known
as the Nord Modular Editor.
Despite being discontinued in 2009, the Nord Modular series still has
an active community around it, centered primarily around the Electro-Music
forum [98]. There are a signicant number of pedagogically useful documents
written using the Nord Modulars, including books by Professor James Clark
[99], Rob Hordijk [100], and Roland Kuit [101]. The included manual is
CHAPTER 6. EURO REAKT 108
Figure 6.16: A Pink Noise generator patch from Jim Clark's Nord Modular
book. Note the large number of low-level modules required for a single noise
source.
CHAPTER 6. EURO REAKT 109
Figure 6.17: Axoloti software patcher.
excellent as well.
There are a number of drawbacks to the Nord Modular system, the largest
of which is its dependency on hardware. Many users use the Nord Modular
G2 demo, which is a software-only demo with limited features. There are a
number of hacked solutions that unlock these limitations, but the demos
still contain an articial limitation: the RAM and CPU of the hardware that
they run on. Even on modern machines, a user cannot create patches that
would exceed the hardware capabilities of a G2.
This is compounded by the Nord's focus on lower-level, monosemous mod-
ules. Many simple techniques require the use of multiple modules. For ex-
ample, the delay modules do not feature dedicated feedback or mix controls.
To create a typical echo patch, a user would need a mixer for feedback and a
crossfader for dry/wet balance. This not only slows down the composer, but
it also exacerbates the hardware limitations.
CHAPTER 6. EURO REAKT 110
Axoloti
The Axoloti is an open-source, standalone hardware platform by Johannes
Taelman [102]. It comes as a naked PCB with a number of audio, MIDI,
and USB terminals along with a microSD card slot. Sketches for the Axoloti
are programmed using a visual patching environment available on OS X,
Windows, and Linux. Once a sketch is uploaded to the Axoloti, it can be
used without a computer.
Axoloti has a very active community around it. New modules are writ-
ten in C using a built-in programming interface inside of the environment.
Every user-submitted module is downloaded when booting the software en-
vironment. This means that there are hundreds of available modules, many
of which are variations of the same ideas but with dierent levels of complex-
ity, delity, and polymorphism (One user, SirSickSik, has submitted over 400
modules alone). One huge drawback is that the documentation for each mod-
ule can be poor or non-existent, and a signicant percentage of the modules
have cryptic names and interfaces. For instance, a 4-channel 16-step gate
sequencer is called sel/sel_b_16_4t. There are also variations of many
low-level modules. For instance, a simple two channel mixer has separate
modules for adding control or audio signals (though the authors have men-
tioned eliminating this in a future update with modules that can detect what
type of input signals they have).
The Axoloti has plenty of inputs for controllers, including a large number
of GPIO pins and a dedicated USB port to act as a MIDI host for any
CHAPTER 6. EURO REAKT 111
Figure 6.18: Monome Aleph with Bees patcher interface.
MIDI-over-USB controller. One major issue is that controls can only be
manipulated through CV inputs. This means that a MIDI controller cannot
be mapped to an interface knob. Instead, a user needs to add a MIDI CC
module, map the module to the knob's CC value, and then route the CC
message to the module's CV input. if the desired control doesn't have a
CV input, it cannot be manipulated from the controller and can only be set
statically. Again, the authors are planning on xing this in a future update.
Overall, this is an extremely promising environment. At the moment,
though, it is not recommended for education until some of these issues are
addressed. However, for experienced users this is an excellent choice for
creating dedicated hardware devices.
Monome Aleph
The Monome Aleph is an open-source soundcomputer designed by Brian
Crabtree and Ezra Buchla [103]. It is intended to be an all-in-one sound
device that can interact with modulars, MIDI controllers, Monome's con-
trollers, and other computers, as well as working on its own. The Aleph
comes with a number of programs, but new programs can be written using
CHAPTER 6. EURO REAKT 112
Figure 6.19: Two Shbobo Shnths.
Figure 6.20: Fish patching environment for Shnth.
a modular environment called Bees.
Bees is a barebones, text-based interface with a list of sources on the left
column. A user selects a source via an encoder and turns another encoder
to select that source's destination or parameter value. A visual patching
environment was planned but has not been released.
Shbobo Shnth
The Shnth is an open-source handtop by Shbobo, a digital oshoot of Peter
Blasser's Ciat-Lonbarde company [104]. It is a small, battery-powered device
designed around squish data interaction (buttons and pressure).
It can be programmed in two ways. The rst is a Lisp-like text language
CHAPTER 6. EURO REAKT 113
called Shlisp. A user can write text les using this language and then
compile and upload them to the Shnth via a command line executable. The
second option is Fish, an unusual visual patching environment. Instead of
using patch cables, modules are nested inside of each other.
Every module (called an opcode) has one output and one function.
Every parameter (including the device's sampling rate) can be linked
to one of the device's controls. It cannot be controlled by another device,
though.
The Shnth is thoroughly documented. There is a complete tutorial with
per-module documentation available from the Shbobo website. There are
also a number of ocial tutorial videos. One barrier is that the opcodes all
have unusual names. Wave is a low-pass lter while Salt is a high-pass
lter. There are three granular oscillators: Fog, Swamp and Haze.
The Shnth is a very unique modular synthesizer that cannot be compared
to any other device. It should not be considered as an option for teaching
modular synthesis. Still, it is an intriguing design that explores the idea of
modular synthesis beyond the traditional module-and-cable concept.
Roland AIRA Eectors
The Roland AIRA Eector lineup consists of four eects: Demora (Delay),
Scooper (Looper/Glitcher), Torcido (Distortion), and Bitrazer (Bitcrusher)
[105]. These are very unusual modular within a module designs. They can
act as standalone tabletop eects, Eurorack modules, or USB audio inter-
CHAPTER 6. EURO REAKT 114
Figure 6.21: Roland Scooper, shown next to the Roland Modular Customizer.
Here, the base eect is combined with an animated lter.
faces.
By default, each module is a monosemous stereo eect. Every module
has an identical interface with four controls, two attenuators, two buttons,
and a master VOLUME knob (Scooper has an additional RECORD button).
However, each module can interface with a free companion app called the
AIRA Modular Customizer, available for iOS, Android, Windows, and OS
X. This application is a complete modular synthesis environment featuring 32
sub-modules (31 modules are shared between each eect with 1 additional
module representing the given piece of hardware). A user can create a full
patch which can then be uploaded to the module either over USB or through
a front-panel audio jack. Each module thus becomes a standalone modular
synthesizer. Internally, each sub-module can be controlled by any of the
hardware controls.
CHAPTER 6. EURO REAKT 115
This is a very interesting choice for composers wishing to learn more
about modular synthesis. While each eect is fairly expensive ($300), they
are each standalone modular synthesizers that can later be integrated into a
larger Eurorack system.
6.2 Eects
This category is primarily used to process audible signals. Some of these
eects can also double as useful CV processors (including the Bitcrusher and
Bitshifter Blocks).
Many of these Blocks share the following controls, which will not be
detailed in each Block's description unless notable:
Panel Controls:
GAIN IN/OUT: Controls the level of the signal before and after pro-
cessing. These can be unipolar or bipolar, indicated by the knob's
graphics.
x1/x2: Determines whether the Gain knobs can provide amplication.
OFFSET: Adds a DC oset to the signal. This is usually a bipolar
control that can add DC oset in either direction.
DRY/WET: Controls the mix between the dry input and wet output.
AC/DC: This enables an optional DC lter to remove bias from eects
CHAPTER 6. EURO REAKT 116
that can introduce it. I've included this switch especially for eects
that double as CV processors.
S. RATE: Controls the sampling rate of the entire Block. This is a com-
mon control on many eects that I write (including my plug-ins with
Unltered Audio). Changing the sampling rate will aect the sound
quality, increase maximum delay length, pitch shift signals trapped in
feedback loops, and generally aect the signal in dramatic ways.
Inputs
In: Primary signal input.
Outputs:
Out: Primary signal output.
6.2.1 Bitcrusher
6.2.1.1 Description
This is a multi-mode 16-bit bitcrusher. Its primary purpose is to take a signal
and reduce its sampling rate (time resolution) and/or its bit rate (amplitude
resolution).
The bit reduction section has six dierent modes:
FLOAT - Smooth, between-integer bit-crushing. With this mode, there
are smooth transitions between the bits. This is not technically true
CHAPTER 6. EURO REAKT 117
Figure 6.22: Bitcrusher Panel
bit reduction, as it uses oating point rounding errors instead of the
direct manipulation of bits.
INT - Integer bit crushing. This is true bit reduction. With this mode,
an integer number of bits is chosen to represent the signal. Unlike
FLOAT mode, this is not a smooth transition. Instead, transitions
occur abruptly at 15 bits, 14 bits, 13 bits, etc.
AND - Bitwise AND operation between the input signal and a 16-bit
integer generated by the BITS knob. This is a harsh operation for
audio. It works well on modulation signals, presenting jagged, fractal-
like structures on smooth waveforms.
FOLD - Bitwise AND operation between the input signal and a wave-
CHAPTER 6. EURO REAKT 118
folded version of the input signal. Reducing the bit knob increases the
wavefolding amount. This mode is an original creation for Euro Reakt.
It works better than AND mode on audio signals.
XOR - Bitwise XOR operation. Sounds very similar to AND, but has an
interesting mirroring eect around bits 8 and 9. At the lowest settings,
you simply get a phase-inverted version of the input signal.
TOY - Taken from Mutable Instrument's TOY mode on the Braids
oscillator [106]. This chains together various bitwise operations to sim-
ulate circuit bending a CMOS system.
6.2.1.2 Controls and Terminals
Panel Controls:
TYPE: Selects the mode of bitcrushing.
BITS: For FLOAT and INT, this controls the number of bits used to
represent the signal. For other modes, it generates a 16-bit integer to
compare the input against.
6.2.1.3 Design Notes
The idea for this Block was to create a Modal bitcrusher that would cover a
range of digital bitwise destruction algorithms. It was inspired by the Doepfer
A-189-1 [107]. The A-189-1 included a number of bitshifting operations, but
CHAPTER 6. EURO REAKT 119
Figure 6.23: Bitshifter Panel
I chose to move those into a dedicated Bitshifting Block. The primary reason
I did this is that the bitshifting algorithms are aesthetically much dierent
from standard crushing modes. Minor parameter changes are also very severe
and can lead to noise. The second reason is that I nd that bitshifting works
well in series with bitcrushing. With the separate Blocks, the user can choose
whether shifting occurs before or after crushing.
6.2.2 Bitshifter
6.2.2.1 Description
This is an aggressive bit-manipulation eect. It converts and incoming sig-
nal to a 32-bit integer representation. From there, it performs a bitshift
operation, shifting the representative bits left or right in their binary repre-
CHAPTER 6. EURO REAKT 120
Figure 6.24: Chebyshev Scanner Panel. The standard Chebyshev Block has
an identical interface.
sentation.
6.2.2.2 Controls and Terminals
Panel Controls:
SHIFT: Bipolar control. 12 o'clock represents no bitshift. Turn this to
the right to shift the bits right, or turn it left for a left shift.
6.2.2.3 Design Notes
See Bitcrusher notes.
CHAPTER 6. EURO REAKT 121
6.2.3 Chebyshev + Chebyshev Scanner
6.2.3.1 Description
These two Blocks use Chebyshev polynomials to either distort a signal or
generate higher-order harmonics from sine waves.
There are two Blocks: Chebyshev and Chebyshev Scanner. Both Blocks
allow the selection of Chebyshev polynomial orders 1 through 8. The Cheby-
shev Block uses a switch to accomplish this. Only one polynomial order is
active at a time. The Chebyshev Scanner smoothly interpolates between the
eight orders.
6.2.3.2 Controls and Terminals
Panel Controls:
ORDER: Determines the order of the active Chebyshev polynomial,
from rst to eighth. On the Scanner, this is a smooth control.
Outputs:
OUT1-8: On the Scanner Block, all eight orders of the polynomial are
available simultaneously.
6.2.3.3 Design Notes
The standard Chebyshev Block is a straightforward, monosemous design.
There is a modulatable switch to choose the active algorithm. The Cheby-
shev Scanner Block is an original design and a much more interesting way of
CHAPTER 6. EURO REAKT 122
Figure 6.25: Circle Delay Panel
dealing with the polynomials. With the Chebyshev Scanner, I took the waves-
canning algorithm from the Scanner Block and use it to smoothly crossfade
between all eight available polynomials. This allows a user to provide gentle,
smooth modulation for morphing distortion eects or harmonic crossfades.
It also means that all eight polynomials needs to be calculated at once. Be-
cause of this, all eight polynomials have individual outputs. This is a more
rhizomatic design, as the various harmonics or distortion avors can run
through dierent eects in unusual combinations. The two reasons to keep
the standard Block are precision (easy to select exactly which polynomial is
active) and CPU usage.
CHAPTER 6. EURO REAKT 123
6.2.4 Circle Delay
6.2.4.1 Description
This Block provides two related delay lines.
6.2.4.2 Controls and Terminals
Panel Controls:
TIME: Sets the delay length for Delay 1.
SPREAD: Sets the delay length for Delay 2. This is an oset from
Delay 1.
FB1/2: Controls the amount of feedback each delay line has upon itself.
1->2/2->1: Controls the amount of feedback each delay line sends to
the other.
XFADE: Controls the balance of the two delay lines present on the Mix
output.
Outputs:
Mix: This output contains a mix of the dry signal and both delay lines.
It is aected by the OUT, XFADE, and DRY/WET controls.
Delay 1/2: These outputs contain the raw output of each delay line,
unaected by the OUT and DRY/WET controls.
CHAPTER 6. EURO REAKT 124
6.2.4.3 Design Notes
The design was originally inspired by the Delay No More Eurorack module by
Nonlinear Circuits [108]. However, that module is implemented using PT2399
delay chips and focuses on exploiting those for noisy, glitchy purposes (The
chips are known for producing a large amount of noise past 150 ms delay
times). In the Delay No More, the delays are in series, and only the output
of the second delay line is available. This Block is much cleaner and is
intended for the creation of complex echoes instead of noise.
The Delay No More is a monosemous design, as it only has an input,
a CV for the length of the second delay, and an output. This one is more
rhizomatic, as both delays can be accessed independently. There is also a
modulated crossfader output for more complex eects. One patch idea is
to use this as a mono-to-stereo widener by treating the independent delay
outputs as stereo outputs.
6.2.5 Clipper
6.2.5.1 Description
This Block sets an amplitude boundary that a signal cannot cross. When the
signal exceeds that boundary, it will either be hard clipped or sent through
one of three saturators. It is important to note that this Block only provides
symmetrical clipping. For asymmetrical clipping, the Waveform Processor
Block can be used instead.
CHAPTER 6. EURO REAKT 125
Figure 6.26: Clipper Panel
The four modes are:
HARD - Hard clipping. Signals that exceed the threshold are replaced
by the threshold value. This is a very harsh, digital sound.
PARA - Parabolic saturation.
HYPER - Hyperbolic saturator.
TANH - Hyperbolic Tangent saturator.
This can be used to add harmonics to a signal. Alternatively, it can be used
as a very unusual coloring VCA by modulating the clip level. The front panel
has a clipping indicator as a visual cue that the signal has exceeded the given
threshold.
CHAPTER 6. EURO REAKT 126
6.2.5.2 Controls and Terminals
Panel Controls:
CLIP: Sets the amplitude threshold for the signal. This is a unipolar
control that sets up a bipolar threshold.
TYPE: Selects one of four clipping methods.
Outputs
Hard, Para, Hyper, Tanh: Dedicated outputs for each clipping method.
Clipped: A gate that is positive when the input signal exceeds the
clipping boundary.
6.2.5.3 Design Notes
This is a simultaneously polymorphic design. It can be used as a signal
clipper and a comparator (with a true gate whenever the signal is clipped).
The gate could be used to quickly duck the signal or route it to a dierent
place when it clips.
6.2.6 Comb Filter
6.2.6.1 Description
This is a simple comb lter. It diers from the standard library's Modern
Comb in that it uses the Bento Box Osc's frequency control. This makes it
CHAPTER 6. EURO REAKT 127
Figure 6.27: Comb Filter Panel
a lot easier to tune the Comb to useful values. In addition to this, it adds
the ability to choose between two FM modes, a dry/wet control, in/out gain
controls, and an inverted mode.
6.2.6.2 Controls and Terminals
Panel Controls:
PITCH: Big blue knob. This determines the pitch of the comb delay
line.
KEYBOARD: When active, the PITCH control will be modied by
signals at the Pitch input. The PITCH knob then functions as a
semitone oset.
CHAPTER 6. EURO REAKT 128
FM: Sets the depth of frequency modulation over the comb lter. The
FM modulator is the signal present on the FM input terminal.
FM TYPE: Selects an FM algorithm. These are EXPonential, LINear,
and LINear Thru-Zero.
REG/INV: REG is regular comb behavior. INV swaps the notch and
peak positions.
FEEDBK: Sets the intensity of regeneration in the delay line. This is a
bipolar control, so negative feedback can be used for a dierent eect.
Outputs:
Wet: Dedicated wet output, unaected by OUT gain.
6.2.6.3 Design Notes
This is modally polymorphic. It has an extremely wide frequency range, so
it can be used to create the distinctive comb eect or much longer echoes.
6.2.7 Dattorro Verb
6.2.7.1 Description
This is a reverb based on a paper by Jon Dattorro [109]. It is apparently
a similar algorithm to the one used by classic Lexicon reverbs. This is the
same reverb found in the Clouds Eurorack module by Mutable Instruments
[110].
CHAPTER 6. EURO REAKT 129
Figure 6.28: Dattorro Verb Panel
6.2.7.2 Controls and Terminals
Panel Controls:
SIZE: Controls the apparent size of the reverb.
PRE: Determines the length of pre-delay. This is an amount of time
between when the signal is received on the input and when it is sent to
the reverb. This can make the apparent space larger, or it can be used
to create unusual, diuse echoes.
DAMP: Increases the amount of lowpass ltering on the delays' feed-
back. This will dampen the high frequency reections.
BRIGHT: Changes the amount of low-pass ltering on the input.
CHAPTER 6. EURO REAKT 130
TUNE: Change the frequency of the rst-stage allpass lters. 12 o'clock
is the standard Dattorro tuning.
There is a mono audio input and a stereo output.
6.2.7.3 Design Notes
The Dattorro, Schroeder, and Freeverb reverbs are monosemous designs with
basic inputs and outputs. The nature of their DSP algorithms makes it
dicult to consider alternative input and output strategies. For instance,
you could consider tapping the individual combs/delays/all-pass lters, but
taken on their own their outputs would not provide much variety as the delay
lengths are so short. On the Erbe-Verb [111], Make Noise added a envelope
follower output to provide simultaneous polymorphism. On a software design,
though, this would be a superuous addition. The Erbe-Verb also features a
Tempo Sync input and a Reverse gate input, both of which are incompatible
with the structure of these reverbs.
6.2.8 Entropy Filter
6.2.8.1 Description
8-Bit Probabilistic Destruction with Sample Rate reduction and a variable
SR lter.
This takes the A/D and D/A conversion Blocks and stus eight proba-
bility lters between them. Each probability feature determines the chance
CHAPTER 6. EURO REAKT 131
Figure 6.29: Entropy Filter Panel
that each bit will be turned to "0" when its "1". This eectively leads to
amplitude-sensitive destruction. The result of this runs through a low-pass
lter to reduce harshness.
6.2.8.2 Controls and Terminals
Panel Controls:
OFFSET - Adds a DC oset to the signal. In A/D conversion, this
happens post-scaling. In D/A conversion, this happens pre-scaling.
SCALE - Attenuates and/or inverts the signal. Turn on X2 to amplify
the signal as well.
BIT1-8: Determines the probability that each bit will be forced to 0
CHAPTER 6. EURO REAKT 132
each sample. At full CW, this bit will always be 0, thus creating a
bitmask.
CUTOFF - Determines the cuto of the low-pass lter.
STBLE/VAR - Changes whether the lter receives a stable sampling
rate clock, or is crushed.
Encoding/Decoding MODEs:
UNI8 - 8-bit unsigned representation. Expects a unipolar input signal
of 0-1, but don't let that stop you from using bipolar signals!
BI OFF - Scales and osets a +/- 1.0 signal to 0-1 before using the
UNI8 encoder. Naturally, detail is lost.
BI SIG - First 7 bits are used to represent your signal. The 8th bit
carries the sign of the signal (positive or negative)
Three modes of RECTication.
NONE - No rectication. Normal signal.
HALF - Negative component of signal is silenced.
FULL - Negative component of signal is ipped (Takes absolute value
of signal).
Outputs:
B1-8: Individual outputs for all eight bits, post-probability.
CHAPTER 6. EURO REAKT 133
6.2.8.3 Design Notes
This is an original eect of my design. While designing it, I was experiment-
ing with a Eurorack DSP program called Bit Rot [112]. It is a multi-mode
bitwise destruction device built around the interaction of two bitmasked sig-
nals. I really liked the bitmasking sound and wanted to build upon that.
This design eectively takes the A/D and D/A conversion Blocks and
places 8 Probability Blocks between them. By setting an individual bit's
probability to 0%, you can mask it out entirely. Any non-extreme value pro-
duces a noisier bit. For less signicant bits, this adds a pleasant noise oor.
For more signicant bits, this creates amplitude-sensitive noise generation.
Because all eight bits are available as outputs, this Block is simultaneously
polymorphic. It can be used, for instance, as the Entropy Filter eect along
with an above-zero comparator (depending on the encoding and decoding
mode, Bit 8 can act as a comparator or square wave extractor).
6.2.9 Frequency Shifter
6.2.9.1 Description
6.2.9.2 Controls and Terminals
Panel Controls:
PITCH: Sets the frequency of the internal complex oscillator.
KEYBOARD: When active, the frequency of the internal complex os-
CHAPTER 6. EURO REAKT 134
Figure 6.30: Frequency Shifter Panel
cillator will be controlled by the signal present at the Pitch input.
The blue PITCH knob turns into a semitone oset control.
FM: Sets the amount of frequency modulation over the complex oscil-
lator. The modulator is the signal present on the FM terminal.
FM MODE: Selects an FM algorithm. These are EXPonential, LINear,
and LINear Thru-Zero.
UPPER/LOWER: Sets the gain and polarity of the upper and lower
sidebands.
FEED: Controls the amount of feedback sent from the wet output back
into the input. This is a bipolar control, so unusual phasing eects can
be created with negative feedback.
CHAPTER 6. EURO REAKT 135
Outputs:
Out Mix: Both sidebands summed together. Aected by UPPER and
LOWER controls.
Out Up: Upper sideband. Aected by the UPPER control.
Out Down: Lower sideband. Aected by the LOWER control.
Sin/Cos Osc: Oscillator outputs for the internal quadrature oscillator.
The frequency of these oscillators is equal to the chosen shifter value.
Pitch: Outputs a signal based on the signal present at the Pitch input
combined with the oset generated by the PITCH control.
6.2.9.3 Design Notes
This is a simultaneously polymorphic design. It can be used as an eect
and/or a quadrature oscillator. The oscillator and frequency shifter outputs
are both aected by the primary pitch/frequency control.
6.2.10 Low-Pass Gate
6.2.10.1 Description
A Low-Pass Gate is an eect that combines a low-pass lter with a voltage
controlled amplier (VCA). This eect is frequently used to make physical
sounding percussion tones.
CHAPTER 6. EURO REAKT 136
Figure 6.31: Low-Pass Gate Panel
Most analog low-pass gates are based on opto-isolators, also known as
"vactrols". A vactrol is an LED and a light sensor wrapped in a light-proof
case. The vactrol eectively acts as an interpolator for modulation inputs,
imparting a fast attack time and slow, rubbery decay. In typical usage, a
low-pass gate will be modulated using a gate or trigger.
The vactrol's output controls the amplitude of the VCA and/or the cuto
of the low-pass lter (determined by setting the LPG's mode to VCA, LP,
or BOTH).
6.2.10.2 Controls and Terminals
Panel Controls:
OFFSET - Adds bias to the vactrol, leaving it partially open.
CHAPTER 6. EURO REAKT 137
DAMP - Controls the decay time of the vactrol.
RES - The resonance of the low-pass lter. Only audible in LP or
BOTH mode.
MODE - Choose between VCA (amplier only), LP (lter only), or
BOTH.
LIN/EXP - Controls the modulation curve for the VCA and lter cut-
o.
ENV - Controls the depth of modulation that the vactrol imparts on
the VCA and lter.
Inputs:
Vac - Vactrol Input. Typically, you would hit this with a gate or trigger,
but you can place any modulation source in here. The source will be
modied to have a rapid attack and slow, rubbery decay.
Ping - Converts a modulation source to a trigger by use of a comparator.
Direct - Modulation input. Skips the vactrol and modies the VCA/Filter
directly without interpolation.
Outputs:
Env - Output's the vactrol's control signal.
CHAPTER 6. EURO REAKT 138
6.2.10.3 Design Notes
This Block existed before Native Instruments released their own West Coast
LPG Block in the Reaktor 1.1 update. Their LPG sounds excellent, but it's
a monosemous design. My LPG Block adds a number of features, making it
rhizomatic and simultaneously polymorphic. First, the wide variety of inputs
means that there are more ways of interacting with the vactrol simulation.
The user can even skip the vactrol and use it as a direct VCF and/or VCA.
To create polymorphism, there is a separate Env output derived from the
vactrol, allowing this to be used as an envelope follower or a vactrol-like
modulation smoother.
6.2.11 Schroeder Reverbs: JCREV, JCREV FF, SATREV,
Freeverb
6.2.11.1 Description
These Blocks are implementations of various Schroeder Reverberators de-
scribed by Julius O. Smith [113]. A Schroeder Reverberator is a primitive
reverb algorithm the uses a combination of all-pass ltering to diuse a sig-
nal and comb lters to create echoes. They are often described as sounding
metallic.
6.2.11.2 Controls and Terminals
Panel Controls:
CHAPTER 6. EURO REAKT 139
Figure 6.32: Schroeder Reverbs
SIZE: Controls the apparent size of the reverb by changing the lengths
of the delay lines. This can result in delay lengths that are not co-prime,
so resonance issues can appear.
S. RATE: Controls the sampling rate of the entire Block. If audio is
already present in the delay lines, it will be pitch shifted as a result.
6.2.11.3 Design Notes
See Dattorro Verb design notes.
CHAPTER 6. EURO REAKT 140
Figure 6.33: Quad Delay Panel
6.2.12 Quad Delay
6.2.12.1 Description
This Block contains four completely separate delay units. They are referred
to as Taps on the interface, but that is inaccurate. They are actually four
separate delay buers.
Each delay has its own dedicated output (not aect by gain controls). A
quad bi-polar mixer at the top of the Block controls the level of each delay
line at the Mix output. This mixed output is further controlled by Dry/Wet
and Out Gain parameters.
6.2.12.2 Controls and Terminals
Panel Controls:
CHAPTER 6. EURO REAKT 141
MIX 1-4: Controls the level and polarity of each delay line at the Mix
output.
TIME: Sets the master delay time. Delay line 1 will be equal to this
length.
SP. 2-4: (Spread). These controls set the length of delay lines 2-4 as
osets of delay line 1's length.
FEEDBK: Sets the amount of feedback. This is a bipolar control, so
negative feedback can be created for phasing eects.
TAP/MIX: Controls the feedback mode. In TAP mode, each delay
receives only its own feedback. This is a cleaner type of feedback, and
sounds especially good with negative feedback amounts. "Mix" takes
the entire wet output and sends it back to the input.
Outputs:
Mix: All four delay lines summed together. Aected by MIX 1-4,
DRY/WET, and OUT parameters.
Main: Delay line 1. Unaected by MIX 1, DRY/WET, and OUT
parameters.
Tap 2-4: Delay lines 2-4. Unaected by MIX 2-4, DRY/WET, and
OUT parameters.
CHAPTER 6. EURO REAKT 142
Figure 6.34: Ring Modulator Panel
6.2.12.3 Design Notes
This delay was inspired by the design of the Sputnik Four-Tap Delay and
Dual Crossfader [11]. This Block features four delay lines that are fed by
a single audio input. Unlike the Sputnik design, the spacing of the non-
primary delays can be any length between a single sample and the length of
the main delay line. The Sputnik design is independently polymorphic, as the
crossfaders are separate from the delays. I would consider this design to be
rhizomatic, as the individual delay line outputs all serve the same behavior.
CHAPTER 6. EURO REAKT 143
6.2.13 Ring Modulator
6.2.13.1 Description
A Ring Modulator is a classic timbral eect. In its digital variation, it multi-
plies two signals together directly. In its original analog incarnation, it uses
a "ring" of four diodes for a similar eect.
This Block contains a basic digital implementation, along with an ana-
log simulation taken from Mutable Instruments' Warps module, which re-
implements a model published by Julian Parker ("A Simple Digital Model
of the Diode-based Ring Modulator", 2011). The ANALOG knob crossfades
smoothly between the two models.
For ease of use, this contains an internal sine oscillator with FM. A toggle
switch allows you to choose whether the internal oscillator or IN 2 is used to
modulate IN 1.
6.2.13.2 Controls and Terminals
Panel Controls:
PITCH: Controls the frequency of the internal oscillator.
KEYBOARD: When active, the frequency of the internal oscillator
will be controlled by the signal present at the Pitch input. The blue
PITCH knob turns into a semitone oset control.
OSC/IN 2: Sets the modulator source. OSC uses the internal oscillator,
CHAPTER 6. EURO REAKT 144
while IN 2 uses the signal present at the In 2 terminal.
FM DEPTH: Sets the amount of frequency modulation over the internal
oscillator. The modulator is the signal present on the FM terminal.
FM MODE: Selects an FM algorithm. These are EXPonential, LINear,
and LINear Thru-Zero.
ANALOG: Crossfades between a digital multiplication algorithm (CCW)
and an analog diode ring simulator (CW).
Inputs:
In 1/2: In 1 is always the carrier. In 2 is an optional modulator if the
internal oscillator is not desired.
Pitch: Sets the pitch of the internal oscillator when Keyboard mode is
active.
FM: FM modulator input for the internal oscillator.
Outputs:
Out: Modulated output. Aected by DRY/WET and ANALOG con-
trols.
Digital: Digital multiplication output. Unaected by DRY/WET and
ANALOG controls.
CHAPTER 6. EURO REAKT 145
Analog: Analog diode simulation output. Unaected by DRY/WET
and ANALOG controls.
Int. Osc: Internal oscillator output. Unaected by the OSC/IN 2
switch.
Pitch:
6.2.13.3 Design Notes
This is a sophisticated ring modulator with a linked polymorphic design. In
its default conguration, only one input is needed for the ring modulation
eect to occur, as the input acts as a carrier while the internal oscillator
acts as the modulator. The user can instead provide two inputs and use
the oscillator independently of the ring modulator. The crossfading between
digital and analog modes gives this more timbral variation than other
ring modulators.
6.2.14 Saw Multiplier
6.2.14.1 Description
This Block is based o of the Doepfer A-137-2 Wave Multiplier [114], and
a similar paper by Bernie Hutchins [115]. Eectively, it takes in a single
waveform (except for square waves), and produces four "phase-shifted" copies
via a simple comparator method. "Phase-shifted" is in quotes, as it only
CHAPTER 6. EURO REAKT 146
Figure 6.35: Saw Multiplier Panel
properly phase-shifts sawtooth waveforms. It is still useful for other signals,
but the results are much more unpredictable.
6.2.14.2 Controls and Terminals
Panel Controls:
MIX 1-4: Controls the level and polarity of each phase shifter.
SP. 1-4: (Spread) Sets the amount of phase shift on each channel. At
full CCW, no shift will be present.
Inputs:
IN: In Gain. This is the most critical control to get the desired sound
from this eect. Full CW provides the proper eect for the Bento Box
CHAPTER 6. EURO REAKT 147
Oscillator (a standard Reaktor Block by Native Instruments) and all
oscillators with +/- 0.66 range output.
Outputs
Out 1-4: Individual outputs for each phase-shifter saw.
6.2.14.3 Design Notes
This is a rhizomatic take on the monosemous A-137-2 design. The A-137-2
only has one output where all of the saws are summed together. Also, all saws
have the same amplitude at the output. In this Block, each saw is output
separately. At the Mix output, each saw's amplitude is determined by the
associated MIX control. While this isn't a polymorphic Block, it provides a
lot more functionality and exibility than the Doepfer counterpart.
6.2.15 Spectral Compressor
6.2.15.1 Description
This is a port of the Spectral Compressor from Native Instruments' ezFFT
bundle for Reaktor 5 [116]. This uses an FFT to break a signal into 256
frequency bins. Each bin is then treated by a separate compressor before an
iFFT is performed.
6.2.15.2 Controls and Terminals
Panel Controls:
CHAPTER 6. EURO REAKT 148
Figure 6.36: Spectral Compressor Panel
THRESH: Sets the amplitude threshold at which the compression be-
havior will become active.
RATIO: Maximum amount of compression that is applied to loud sig-
nals. The Ratio applies only to levels higher than the Threshold.
ATTACK: Adjusts how fast the compression rises when the input level
goes above the threshold.
DECAY: Adjusts how fast the compression returns to zero when the
input level drops below the threshold.
KNEE: Range above the threshold in which the compression rises to
its maximum setting (set by RATIO).
TILT: Acts as a basic EQ by emphasizing compression on high or low
CHAPTER 6. EURO REAKT 149
frequency bins. At 12 o'clock, normal compression will occur.
MASK: Sets how much spectral leakage occurs between loud bins.
AUTO/OFF: In AUTO mode, a gain compensation algorithm will be
used to oset the inuence of the THRESH and RATIO controls.
NOTE: Some of these control descriptions come from the original ezFFT
compressor.
6.2.15.3 Design Notes
Despite the complexity of the control set, this is a monosemous design with
a simple stereo input and output conguration. I did not contribute any
design ourishes of my own other than the interface. Elements of the DSP
algorithm were rewritten to accommodate the Blocks format. This holds true
for the other ezFFT port in Euro Reakt, the Vocoder.
6.2.16 Tape Delay
6.2.16.1 Description
This is a Block based o of the Reaktor Core Library's "Tape-ish Delay"
Macro. In addition to breaking out all of the controls to a panel, this Block
also features a variable sampling rate. This feature was inspired by my
company Unltered Audio's delay plug-in, Sandman.
CHAPTER 6. EURO REAKT 150
Figure 6.37: Timbre Panel
6.2.16.2 Controls and Terminals
Panel Controls:
TIME - Delay time, from 10ms to 1 second.
FEEDBK - Feedback amount. Bipolar.
PRE/POST - Controls where feedback gain occurs. With "Post", at
0% Feedback, you will hear no wet signal.
OFF/FLUTTER - Adds a slight warble to the delay line. Turn FLUT-
TER on for a more faithful tape delay eect.
SAT - Saturation. At low levels, the tape will almost never saturate.
At high levels, it saturates very quickly.
CHAPTER 6. EURO REAKT 151
Figure 6.38: Timbre Panel
LPF - Low Pass Filter. Acts on the feedback line.
HPF - High Pass Filter. Acts on the feedback line.
Output:
Wet: 100% Wet output, not aected by the D/WET control.
6.2.16.3 Design Notes
This is a mostly monosemous design with the rhizomatic embellishment of
the Wet output. The Wet output allows a user to create alternative feedback
paths and mixes independent of the main output and the D/WET control.
CHAPTER 6. EURO REAKT 152
6.2.17 Timbre
6.2.17.1 Description
This Block extracts the Timbre circuit from Native Instruments' DWG Com-
plex Oscillator Block.
That Timbre algorithm depends on the DWG's triangle out, square out,
and current frequency. This Block accepts any waveform. To create a square
waveform, it uses a comparator. To create a triangle, it slews that square.
As such, it is not a 1:1 copy, and can have some fairly unpleasant results with
very complex waveforms. Still, this has proven to be a very useful Block for
west-coast sounds.
6.2.17.2 Controls and Terminals
Panel Controls:
SHAPE: Applies a waveshaper to the incoming signal. For a triangle
wave input, this will fade between sine, impulse, and triangle + impulse.
Native Instruments chose these waveforms to match the Shape control
on the Make Noise DPO [117].
MOD SH.: Controls the amount that the signal at the Mod input
will modulate the SHAPE parameter.
SYMM: (Symmetry) Applies DC bias to the waveform before it is
folded.
CHAPTER 6. EURO REAKT 153
MOD SY.: Controls the amount that the signal at the Mod input
will modulate the SYMM parameter.
FOLD: Applies gain to the input signal to increase the depth of wave-
folding.
MOD F.: Controls the amount that the signal at the Mod input will
modulate the FOLD parameter.
Inputs:
Mod: Modulation signal input. This signal is used by the orange MOD
controls.
6.2.17.3 Design Notes
This Block breaks from the regular Euro Reakt design in that it features
a dedicated Modulation input. In every other Block, there are two generic
modulation inputs. For this Block, the modulator is so important that it
features a direct input along with attenuverters on every destination. This
design is consistent with how the modulating oscillator is treated on both
the NI DWG and Make Noise DPO interfaces.
CHAPTER 6. EURO REAKT 154
Figure 6.39: Vocoder Panel
6.2.18 Vocoder
6.2.18.1 Description
This is a port of the Vocoder from Native Instruments' ezFFT bundle for
Reaktor 5 [116].
6.2.18.2 Controls and Terminals
Panel Controls:
ATTACK: Attack time of the analyzer for the Modulator input.
DECAY: Decay time of the analyzer for the Modulator input.
TILT: Cuts or boost high frequency bins. At 12 o'clock, this knob
provides no eect.
CHAPTER 6. EURO REAKT 155
Figure 6.40: Wavefolder Panel
CAR/MOD IN: Set the gain and polarity of the the Carrier and Mod-
ulator inputs.
Inputs:
In Car: Carrier input.
In Mod: Modulator input.
6.2.18.3 Design Notes
See Spectral Compressor design notes.
CHAPTER 6. EURO REAKT 156
6.2.19 Wavefolder
6.2.19.1 Description
Wavefolders are one of the critical building blocks of "West-coast" style syn-
thesizers. In a way, they act like reverse low-pass lters. Instead of taking a
complex signal and removing higher frequencies, a wavefolder takes a simple
signal (typically a sine or triangle wave), and "folds" its peaks to introduce
harmonic content. A "Symmetry" control adds a DC oset to the input,
leading to even more shapes.
6.2.19.2 Controls and Terminals
Panel Controls:
FOLD: Controls the intensity of the folding operation by increasing the
amount of gain applied to the input signal.
ALGO: Chooses which wavefolding algorithm is used.
SYMM: Adds DC bias to the signal, greatly aecting the timbre of the
wavefold.
Modes:
DIST - Foldover Distortion. This uses an algorithm found in the Mu-
sicDSP archives [118]. This is the harshest mode.
SIN - Feeds the signal through a Sin function. This method has a linear
gain multiplier of the input signal, so it folds evenly across the knob.
CHAPTER 6. EURO REAKT 157
SIN2 - Same as SIN, but uses an exponential function to scale the input
signal. It increases slowly for part of the Fold knob, and then increases
much more rapidly into very aggressive territory.
OD - Idea taken from Madrona Labs' Max Patch prototype of the Aalto
Timbre knob [119]. Same as SIN2 mode, but adds a variable Overdrive
post-fold.
OD 2 - Same as OD, but also added a second Overdrive post-gain,
pre-bias.
6.2.19.3 Design Notes
Like the Bitcrusher, this is a modal design that is ultimately monosemous.
The various modes of wavefolding are fairly similar, and there's only one
output. I've considered adding simultaneous polymorphism to this Block by
adding a Fold Gate, or a gate output is positive whenever the signal crosses
the threshold required to fold. Alternatively, a similar output could be a
square wave comparator output, similar to the one found on the Toppobrillo
Triple Wavefolder [120].
6.2.20 Waveform Processor
6.2.20.1 Description
This is a waveform processor based o of the Doepfer A-136 [70]. This takes
in a waveform and breaks it into its positive and negative components. The
CHAPTER 6. EURO REAKT 158
Figure 6.41: Waveform Processor Panel
individual components can then be modied via gain and clipping controls.
In addition to the A-136 control set, I have added input and output attenu-
verters, a Split control, and modulation on everything.
This can be used for a variety of distortions, like half-wave and full-wave
rectication.
6.2.20.2 Controls and Terminals
Panel Controls:
GAIN +/-: Determines the amplitude and polarity of the negative and
positive components of the signal. As an example, GAIN - at 12
eectively mutes the negative component, leading to half-wave recti-
cation. Full CCW inverts the negative component, creating full-wave
CHAPTER 6. EURO REAKT 159
rectication.
CLIP +/-: Sets a hard-clip absolute value threshold for the negative
and positive components.
SPLIT: Adds a symmetrical amount of DC bias to the two components.
Outputs:
Pos: Only the positive components of the input signal (half-wave rec-
tication).
Neg: Only the negative components of the input signal.
6.2.20.3 Design Notes
This Block (along with the A-136) is the inspiration for Dent, a modular
distortion plug-in by my company Unltered Audio. I would consider this
to be monosemous, despite the extra Positive and Negative outputs. Those
outputs aren't polymorphic in my mind, as they do not serve a dierent
enough function from the distortion itself.
6.2.21 Waveset
This is an implementation of Trevor Wishart's waveset processing concept
[121]. A waveset is a collection of 3 zero crossings, or one full cycle of a
waveform (i.e. a sine wave).
CHAPTER 6. EURO REAKT 160
Figure 6.42: Waveset Panel
At the start of each waveset, the probability setting is used to determine
whether the waveset will be sent out of one of two outputs.
With audio signals, this can be used as distortion. It will sound like
a faulty connection, but it doesn't have pops or clicks. With modulation
signals, this is especially useful. You can use probability to turn modulations
on and o after each cycle. You can also use the Trig outputs for triggers
that are synced to modulations.
6.2.21.1 Controls and Terminals
Panel Controls:
PROB: Determines the per-waveset probability that the waveset will
be sent out of output 2.
CHAPTER 6. EURO REAKT 161
OUT 2: Sets the amplitude for Out 2.
Outputs:
Out 1/2: Waveset outputs. The active output is determined per-
waveset by the probability control.
Mix: Both outputs summed together. This is useful when the OUT 2
control is not set to 100%.
Trig 1/2: Fires a trigger whenever the associated output is active.
6.2.21.2 Design Notes
Despite the simplicity of this Block, it exhibits polymorphism. It can be used
as a probabilistic switch, an intermittency eect (on the Mix output), or a
trigger extractor.
6.2.22 Waveshaper
This Block contains two waveshapers from the Reaktor Core library: a Hy-
perbolic shaper and a Parabolic shaper. The Hyperbolic shaper provides a
more dramatic shaping eect.
6.2.22.1 Controls and Terminals
Panel Controls:
CHAPTER 6. EURO REAKT 162
Figure 6.43: Waveshaper Panel
SHAPE: Sets the shape of the signal. At 12 o'clock, the input signal
is returned unchanged. Towards the negative side, the waveshaper
provides a needle eect as signals are shaped towards 0.0. Towards
the positive side, the waveshaper provides a square eect as signals
are shaped towards +/-1.0.
HYP/PAR: Selects the active shaping algorithm for the main output.
HYPerbolic or PARabolic.
Outputs:
Hyp: Dedicated Hyperbolic output. Unaected by the GAIN OUT
control.
Par: Dedicated Parabolic output. Unaected by the GAIN OUT con-
CHAPTER 6. EURO REAKT 163
Figure 6.44: Wavetable Distortion Panel
trol.
Out: Switchable output. Aected by the GAIN OUT control.
6.2.22.2 Design Notes
This is a straightforward, monosemous design. This Block is intended as
nothing more than a wrapper around the default NI macros. These shapers
show up in more complex designs in Euro Reakt, including the Triple Ring
Oscillator Block.
6.2.23 Wavetable Distortion
Wavetable distortion based on Sandy Small's excellent "Microwave Oscilla-
tor" Block [85].
CHAPTER 6. EURO REAKT 164
This is an eect version of a wavetable oscillator. Essentially, a wavetable
oscillator has an internal sawtooth generator (called a phasor) that "looks
up" values inside of a pre-dened wavetable. A wavetable distortion unit
does away with the internal oscillator, and allows a composer to use any
arbitrary input.
6.2.23.1 Controls and Terminals
Panel Controls:
TABLE: Selects the active wavetable.
WAVE: Sweeps through the selected table.
INTRP/LIMIT: When INTRP is enable, the last three waves in each
table are skipped. These waves are interpolated between waves 60 and 0
in the table--enabling LIMIT results in a sharper discontinuity between
the last and rst waves in the table.
LIMIT/GLITCH: Aects how loud signals (in excess of +/- 1.0) are
dealt with. In LIMIT mode, the signal is hard clipped before being
used as a lookup. In GLITCH mode, loud lookup signals will bleed
over into neighboring waves and tables. This can lead to really unusual
wave splice combinations and other unusual artifacts.
BRILLIANCE: Changes the type of interpolation used. At its highest
setting, no interpolation is used. This leads to a bright, zzy sound
CHAPTER 6. EURO REAKT 165
with lots of aliasing.
IN LP: Sets the amount of low-pass ltering added to the input.
Three modes of rectication are available. Any signal can be used as an
input, but only unipolar values in the range [0.0, 1.0] can be used to scan
through the sample.
UNI - Converts a bipolar signal into a unipolar signal. This adds 1.0
to the signal and then halves the amplitude.
HALF - Negative component of signal is silenced.
FULL - Negative component of signal is ipped (Takes absolute value
of signal).
6.2.23.2 Design Notes
This is an extremely complex eect with a monosemous design. Wavetable
distortion is a fairly expensive eect CPU-wise, so there aren't a lot of options
for polymorphism. A polymorphic Eurorack wavetable distortion is The
Harvestman's Piston Honda Mk. 2, which also acts as a wavetable oscillator.
This design only makes sense in hardware due to the CPU demands.
6.3 Mixing
These Blocks are generally used to combine two or more signals. This cat-
egory also features Blocks that assist with the mixing process, like panners,
CHAPTER 6. EURO REAKT 166
DC lters, and stereo eld modiers.
Many of these Blocks share the following controls, which will not be
detailed in each Block's description unless notable:
Panel Controls:
GAIN IN/OUT: Controls the level of the signal before and after pro-
cessing. These can be unipolar or bipolar, indicated by the knob's
graphics.
x1/x2: Determines whether the Gain knobs can provide amplication.
OFFSET: Adds a DC oset to the signal. This is usually a bipolar
control that can add DC oset in either direction.
DRY/WET: Controls the mix between the dry input and wet output.
AC/DC: This enables an optional DC lter to remove bias from eects
that can introduce it. I've included this switch especially for eects
that double as CV processors.
6.3.1 2-to-4 and 4-to-4 Mix Matrices
6.3.1.1 Description
This Block implements a 4-input, 4-output mixing matrix developed by John
Chowning and described by Julius O. Smith [122]. It was originally imple-
mented as a primitive spatializer for the JCREV reverb. It is a novel way
CHAPTER 6. EURO REAKT 167
Figure 6.45: Mix Matrices
of taking in four inputs and creating four mix variations. It was originally
intended for quadriphonic spatialization. This Block implementation allows
the matrix to process CV inputs, meaning that a composer could create four
variations of four modulation sources. As an audio spatializer, its weakness is
that two of the outputs are simply phase inversions of the other two outputs.
This creates an interesting eect on specic setups, but can lead to major
phase-cancellation issues in mixdowns.
6.3.1.2 Controls and Terminals
Panel Controls:
In Gain 1/2/3/4: These determine the amplitude and polarity of the
signals at the input terminals.
CHAPTER 6. EURO REAKT 168
Inputs:
In 1/2/3/4: Inputs to the mix matrix.
Output:
Out 1: In 1 + In 2 + In 3 + In 4. In the 2-to-4 Mix Matrix, this output
is (In 1 + In 2).
Out 2: -(Out 1)
Out 3: -(Out 4)
Out 4: (In 1 + In 3) - (In 2 + In 4). In the 2-to-4 Mix Matrix, this
output is (In 1 - In 2).
6.3.1.3 Design Notes
These are rhizomatic mixers that can be used either for the spatialization of
audio or the distribution of variations of modulation inputs. They are not
polymorphic, as their functionality does not change. In the future, it may be
worth eliminating the 2-to-4 mixer, as using the rst two inputs of the 4-to-4
mixer provides identical outputs.
6.3.2 8-Way Scanner
6.3.2.1 Description
This Block is a 1 to 8, 8 to 1, or 8 to 8 scanner/multiplexer. It is inspired
by the Make Noise RxMx and the Toppobrillo Mixiplexer. This Block will
CHAPTER 6. EURO REAKT 169
Figure 6.46: 8-Way Scanner Panel
smoothly crossfade 8 inputs to 1 output, 1 input to 8 outputs, or 8 inputs to
8 outputs. It can also output the amplitude of each channel, making it an
8-way modulation generator.
6.3.2.2 Controls and Terminals
Panel Controls:
INS (Switch): This switch determines whether one input will be sent
to all eight outputs (1->8), or eight inputs will be sent individually to
the outputs (8 INS).
Scan: Sets the position of the wavescanner.
Steps: Sets the number of channels that the wavescanner can address.
CHAPTER 6. EURO REAKT 170
OUTS/AMPS: This switch determines the behavior of the eight in-
dividual outputs. In OUTS mode, each output is a VCA. In AMPS
mode, each output is a signal representing the amplitude of the chan-
nel's VCA.
Width: Determines the width of the wavescanner. At a minimum
setting, only one channel is active at a time. At its maximum setting,
multiple channels will be active.
Slope: Determines the shape of the wavescanner. At a minimum set-
ting, the scanner has a rapid cuto. At its maximum setting, there is
a gentler rollo.
Outputs:
Main Out: All eight VCAs summed together. Unaected by the OUTS/AMPS
control.
Out1-8: Individual outputs for each channel. Aected by the OUTS/AMPS
control.
6.3.2.3 Design Notes
This is a modally and simultaneously polymorphic design. It is modally
polymorphic as the eight individual outputs can be switched between VCA
or amplitude curve outputs. It is also modally polymorphic with the various
input and output congurations, as the user can decide whether to use it for
CHAPTER 6. EURO REAKT 171
Figure 6.47: Bit Mix Panel
1->x, x->1, or x->x channel mixing, where x is determined by the STEPS
control. It is simultaneously polymorphic in AMPS
6.3.3 Bit Mix
6.3.3.1 Description
Takes in two signals, turns them into 8-bit signals, and processes them in a
bitwise fashion.
Each channel has a MODE control. This determines the bit encoding
type for that input (See the A/D or D/A Blocks for more info on encod-
ing/decoding types). A MODE switch on the bottom-right determines the
decoding type. Make all three match for more predictable sounds.
Each channel has a MIX control. This determines the amplitude of the
CHAPTER 6. EURO REAKT 172
channel. Turn on the "X2" mode to use it as an amplier.
Each channel has an OFFSET control. This occurs *after* the gain
control. To help deal with DC oset, an AC/DC switch is on the bottom. In
AC mode, DC osets will be ltered out. Use AC mode for audio. Use DC
for LFOs and modulation signals.
6.3.3.2 Controls and Terminals
Panel Controls:
MIX 1/2: Set the gain and polarity of the signals present at each input.
TYPES:
OR: Bitwise OR of both signals.
AND: Bitwise AND of both signals.
XOR: Bitwise XOR of both signals.
INTER: Interleave bits. Most signicant bit for output is taken from
input 1. Next signicant bit is taken from input 2. Next signicant is
taken from input 1...
C-ELE: C-Element bitwise operation.
SUM: Simple summing of both channels. Use for standard mixing.
CHAPTER 6. EURO REAKT 173
6.3.3.3 Design Notes
Bit Mix, Bit Mix 32, and Logic Mix are all modally and simultaneously
polymorphic, two-input mixer Blocks. Logic Mix was actually the rst Block
that I created for Reaktor 6 and was released the day after Reaktor 6 came
out. It uses analog logic to mix two signals, using functions like analog AND
(the minimum of two signals), analog OR (the maximum of two signals), sum,
dierence, and more. Bit Mix came later, using a similar design strategy
of having two signals interact through logic functions. Bit Mix, however,
uses 8-bit digital bitwise operations. Bit Mix 32 was a further renement,
eliminating the various 8-bit ADC/DAC modes and replacing them with one
32-bit signal path.
On all three Blocks, all functions are available simultaneously at separate
outputs and are aected by the gain controls. The primary output on all three
Blocks is modally polymorphic, as it follows the MODE knob's position.
6.3.4 Bit Mix 32
6.3.4.1 Description
This is a higher resolution version of the Bit Mix Block.
It takes in two signals, converts them into 32-bit integers, and processes
them in a bitwise fashion.
Each channel has a MIX control. This determines the amplitude and
polarity of each channel. Turn on the "X2" mode to use it as an amplier.
CHAPTER 6. EURO REAKT 174
Figure 6.48: Bit Mix 32 Panel
Each channel has an OFFSET control. This occurs *after* the gain
control. To help deal with DC oset, an AC/DC switch is on the bottom. In
AC mode, DC osets will be ltered out. Use AC mode for audio. Use DC
for LFOs and modulation signals.
6.3.4.2 Controls and Terminals
Panel Controls:
MIX 1/2: Set the gain and polarity of the signals present at each input.
TYPES:
OR: Bitwise OR of both signals.
AND: Bitwise AND of both signals.
CHAPTER 6. EURO REAKT 175
Figure 6.49: Contrast Panel
XOR: Bitwise XOR of both signals.
JUNK: A bunch of random logic operations cobbled together until it
sounded good.
FLIP: If In 1 is greater than In 2, ip the bits of In 1. Only outputs In
1.
SUM: Simple summing of both channels. Use for standard mixing.
6.3.4.3 Design Notes
See Bit Mix Design Notes.
CHAPTER 6. EURO REAKT 176
6.3.5 Contrast
6.3.5.1 Description
This eect is also referred to as "Audio MSG". It uses a bit of phase ma-
nipulation and waveshaping to brighten and boost a signal. This makes the
signal stand out more in a mix. This eect also appears on the Final Output
Block.
6.3.5.2 Controls and Terminals
Panel Controls:
CONTRAST: Changes the amount of shaping present to increase bright-
ness.
6.3.5.3 Design Notes
This is a monosemous design. A better, updated implementation of this
eect is available in the Final Output Block, which combines this with a
number of other useful, last-stage mixing utilities.
6.3.6 Crossfader
6.3.6.1 Description
This Block takes in two mono signals and creates a single, mono output that
is a variable mix of the inputs. If XFADE is at 12 o'clock, a 50/50 mix of
CHAPTER 6. EURO REAKT 177
Figure 6.50: Crossfader Panel
the signals will be present at the output. This crossfader does not use a
smoothing interpolator, so the fade can be modulated at audio rates.
6.3.6.2 Controls and Terminals
XFADE: Controls the balance of the two inputs. At 12 o'clock, both
inputs will appear at the output in a 50/50 mix.
LIN/EXP: Determines the control curve used when crossfading. An
EXPonential curve provides a more natural response for audible signals,
while LINear is more predictable for fading between modulation signals.
CHAPTER 6. EURO REAKT 178
Figure 6.51: DC Blocker Panel
6.3.6.3 Design Notes
This was one of the rst Euro Reakt Blocks. It is a simple, monosemous
design meant to add an essential function that was strangely absent from
the rst release of Reaktor 6. Native Instruments later added an XFade
Block as part of their Bento Box series. My Flip Pan Block is intended as a
polymorphic replacement for this.
6.3.7 DC Blocker
6.3.7.1 Description
This is a simple, control-free Block that removes DC oset from a signal
by way of high-pass ltering. DC oset is a signicant problem in modular
synthesis. Many modules are capable of creating unipolar waveforms that
CHAPTER 6. EURO REAKT 179
may sound correct but present issues at the mixing stage (for instance, a
unipolar envelope oscillating at audio rates).
6.3.7.2 Controls and Terminals
This Block only contains a simple input and output for the signal being
processed.
6.3.7.3 Design Notes
This is perhaps the simplest Block in Euro Reakt. Almost every Euro Reakt
Block that can produce DC oset has an optional DC lter on it. This Block
is meant to remove DC oset from signals that modulate between audible and
extremely low frequencies. For a more interesting design, the Final Out Block
combines a DC lter with many other useful last-stage mixing functions.
6.3.8 Feedback
6.3.8.1 Description
This Block was created to solve a Reaktor patching problem: a Block's out-
puts can not be plugged into its own inputs. Feedback can be created, but
at least one other Block has to exist in the path.
CHAPTER 6. EURO REAKT 180
Figure 6.52: Feedback Panel
6.3.8.2 Controls and Terminals
Four channels of feedback are available per Block, each with a simple input,
output, and Mode switch. The modes are:
T: Instant feedback.
T-1: Use 1 sample back in the history.
Instant is in quotes because there will always be one sample of delay. The
mode dierence will be very subtle with low-frequency signals and/or low
levels of feedback. At high levels of feedback, the dierence can be striking.
CHAPTER 6. EURO REAKT 181
Figure 6.53: Final Output Panel
6.3.8.3 Design Notes
As mentioned above, this Block was created simply to x a major issue
with Reaktor patching. Feedback is an essential tool in modular synthesis.
Since this Block is so critical (and inexpensive, CPU-wise), I opted to add
four instances of feedback, along with the ability to choose between 1 or 2
samples of feedback.
6.3.9 Final Output
6.3.9.1 Description
This Block combines a number of other Blocks into an easy, last-stage sig-
nal conditioner. It combines a master stereo level attenuator/amplier, a
switched DC lter, a multi-mode clipper (with indicator), a stereo width
CHAPTER 6. EURO REAKT 182
control, and a contrast control.
6.3.9.2 Controls and Terminals
LEVEL: Attenuates or amplies the signal.
x1/x2: Determines whether the LEVEL knob can provide amplica-
tion.
WIDTH: Aects the stereo image. At 12 o'clock, the stereo image is
not aected. At full CCW, the stereo signal is averaged down to dual
mono. At full CW, M/S processing is used to make the signal appear
wider.
CONTR: Sets the level of Contrast.
SOFT/HARD: Determines how signals are handled when they exceed
+/- 1.0. In hard clipping mode, the signals are simply lopped o beyond
the threshold. In soft clipping mode, the signal is saturated using a
gentle sigmoid curve.
6.3.9.3 Design Notes
Conceptually, the design of this Block is similar to Linked Polymorphism, but
it's technically monosemous since the individual eects cannot be accessed
separately. This is intentional, as this Block is specically designed to be
the last Block in a patch before the output, and not a highly-connected
CHAPTER 6. EURO REAKT 183
Figure 6.54: Flip Pan Panel
rhizomatic or polymorphic Block. This is one of the most used Blocks in the
User Library, as I have seen it show up in a large number of other people's
ensembles.
6.3.10 Flip Pan
6.3.10.1 Description
This is a novel panning Block based on the Nonlinear Circuits Segue module
for Eurorack [123]. The Segue uses a vactrol to shape the Pan voltage, which
this Block does not model.
Simply put, this Block takes two mono inputs and pans them in dierent
directions on the stereo eld. This can be used in a number of ways:
With one input and two outputs, this is a regular panner.
CHAPTER 6. EURO REAKT 184
With two inputs and one output, this is a regular crossfader.
With one input and one output, this is a regular VCA.
With two inputs and two outputs, this is an unusual panner that ips
the inputs back-and-forth in the stereo eld.
6.3.10.2 Controls and Terminals
Panel Controls:
PAN: Sets the stereo position of the left input, and the inverse stereo
position of the right input.
6.3.10.3 Design Notes
This is a modally polymorphic module where the mode is determined by
which inputs are used. This Block is intended as a replacement for the
monosemous, generic Panner and Crossfader Blocks. I've left the old designs
in the library simple because they're such standard designs.
6.3.11 Logic Mix
6.3.11.1 Description
This Block takes in two signals and processes them using various logical
operations. The individual modes are as follows:
MAX - Takes the greater of the two inputs.
CHAPTER 6. EURO REAKT 185
Figure 6.55: Logic Mix Panel
MIN - Takes the lesser of the two inputs.
RING - Multiplies the inputs together.
PONG - Based o of the excellent Shapeshifter by Intellijel and Jim
Clark [25]. If input 1 is positive, take that. Else, if input 2 is negative,
take that. Else, 0.
REKT - The positive portion of In 1 is summed with the negative
portion of In 2.
SUM - Basic mixing. In 1 + In 2.
DIFF - Inverse mixing. In 1 - In 2.
PING - Incorrectly implemented version of the Pong algorithm.
CHAPTER 6. EURO REAKT 186
TERRAIN - Wave Terrain Synthesis function, taken from Jim Clark's
Nord Modular book [124], in turn taken from The Computer Music
Tutorial [125].
DIVFOLD - In 1 divided by In 2 (zeroes replaced by the previous value)
and sent through a wavefolder. Extremely aggressive.
6.3.11.2 Controls and Terminals
Panel Controls:
MIX 1/2:
OFF. 1/2:
TYPE:
6.3.11.3 Design Notes
See Bit Mix design notes.
6.3.12 Mono Widener
6.3.12.1 Description
Takes a mono signal and enhances its image. It achieves this eect by adding
a micro-delay to the right output.
CHAPTER 6. EURO REAKT 187
Figure 6.56: Mono Widener Panel
6.3.12.2 Controls and Terminals
Panel Controls:
WIDTH: Manipulates the length of the delay lines to change the per-
ceived width of the signal.
6.3.12.3 Design Notes
Unlike the Stereo Widener, this is a simple, monosemous design. It does
not have alternative outputs like the Stereo Widener, as the algorithm for
widening a mono signal is dierent.
CHAPTER 6. EURO REAKT 188
Figure 6.57: M/S Decoder Panel
6.3.13 M/S Decoder
6.3.13.1 Description
Takes a MID and SIDE input pair, and produces a standard LEFT/RIGHT
output pair. For Mid-Side encoding, use the Stereo Widener Block.
6.3.13.2 Controls and Terminals
Panel Controls:
MID/SIDE - Gain amounts for the input channels. Can be used to
invert one or both channels.
CHAPTER 6. EURO REAKT 189
Figure 6.58: Panner Panel
6.3.13.3 Design Notes
This is a partner Block to the Stereo Widener and MS Encoder Block. It is
a monosemous design, as it is not intended for any other usage.
6.3.14 Panner
6.3.14.1 Description
Takes in a mono signal and pans it across a stereo eld.
6.3.14.2 Controls and Terminals
Panel Controls:
PAN: Sets the stereo position of the input signal.
CHAPTER 6. EURO REAKT 190
Figure 6.59: Stereo Widener Panel
6.3.14.3 Design Notes
Like the Crossfader Block, this was one of the rst Euro Reakt Blocks. It
is a simple, monosemous design meant to add an essential function that was
strangely absent from the rst release of Reaktor 6. Unlike the Crossfader
Block, Native Instruments has not added an adequate, voltage-controlled
panner to Reaktor. My Flip Pan Block is intended as a polymorphic replace-
ment for this.
6.3.15 Stereo Widener + MS Encoder
6.3.15.1 Description
This Block takes a stereo signal and enhances its image. It can be used to
average a stereo signal down to dual mono, leave the stereo eld unchanged,
CHAPTER 6. EURO REAKT 191
or produce a stereo image that seems wider and brighter.
This Block can also be used for M/S encoding. The MID and SIDE
channels are available as outputs on the Block. For Mid/Side Decoding, an
MS Decoder Block is available in Euro Reakt.
6.3.15.2 Controls and Terminals
Panel Controls:
WIDTH - Changes the stereo image. At 12 o'clock, the image is un-
changed. At full counter-clockwise, the stereo signal moves to dual
mono. At full clockwise, a wider image is produced.
LEFT/RIGHT - Gain amounts for the input channels. Can be used to
invert one or both channels.
6.3.15.3 Design Notes
This is a simple mixing utility with simultaneous polymorphism. The stereo
widener uses Mid/Side encoding as part of its algorithm, so the M/S signal
is available at all times along with the processed stereo image.
6.3.16 Vector Mix
6.3.16.1 Description
This Block serves many purposes: 1) X-Y Mixing of four inputs (essentially
a four-way linear crossfader). 2) Quad Panner 3) Quad Linear VCA 4) Com-
CHAPTER 6. EURO REAKT 192
Figure 6.60: Vector Mix Panel
plex CV/Waveform Generator
For X-Y Mixing, use four dierent inputs. Changing the X and Y values
will morph between the four inputs. If you are using four oscillators, this is
known as Vector Synthesis. For especially interesting waveforms, modulate
X and Y with an audio-rate oscillator.
For Quad Panning/Distribution, take one signal and plug it into all four
inputs. Monitor the individual outputs. If you want to do perfect circular
panning, use the Quadrature LFO Block.
For a Quad VCA, use the Quad Panning recipe, but use four dierent
inputs. The four outputs will be the four VCAs.
For Complex CV and Waveform Generation, modulate X and Y and
monitor the various CV outputs. A UNI/BI switch (at the top of the Block)
CHAPTER 6. EURO REAKT 193
will change the range of this CV from 0-1 or -.5/+.5.
6.3.16.2 Controls and Terminals
Panel Controls:
X/Y: Coordinate pair to determine which quadrant is active.
Uni/Bi: This switch determines whether the six CV outputs are unipo-
lar or bipolar.
Inputs:
In A-D: Signal inputs for the four quadrants.
Outputs:
Mix: Outputs A-D, summed.
Out A-D: Individual outputs for each quadrant.
CV A-D: Outputs for the current level of each quadrant. Useful for
modulation. Aected by the Uni/Bi switch.
CV X/Y: Outputs the modulated value of the X-Y knobs, aected by
the Uni/Bi switch.
6.3.16.3 Design Notes
This is a modally and simultaneously polymorphic design. It is modal based
o of which inputs and outputs are used. As listed in the description, the
CHAPTER 6. EURO REAKT 194
Figure 6.61: AD Envelope Panel
various input and output congurations can lead to very dierent behaviors.
In addition, the CV outputs can be used simultaneously with the audio
outputs. A future design consideration would be to add an In All input for
easily panning one source to all four outputs.
6.4 Modulation
6.4.1 AD Envelope and VCA
6.4.1.1 Description
This is a traditional, West-coast style AD Envelope and VCA. An AD enve-
lope is a simple two-segment envelope, useful primarily for percussive tones
and modulations. Like many West-coast AD envelopes, this one has three
CHAPTER 6. EURO REAKT 195
modes:
AD - Triggered Attack-Decay envelope. No matter the length of the
incoming gate, the full attack phase will complete, followed by the full decay
phase. This is often called a "one-shot" envelope.
AHD - Gated Attack-Hold-Decay envelope. This envelope's length is
determined by the length of the incoming gate. If the attack phase nishes
while the gate is still high, the envelope will enter its Hold phase, and will
hold until the gate goes low. At that point, it will move to its decay phase.
CYC - Looping AD Envelope/LFO. In this mode, the envelope will loop
automatically. If it receives a new gate, it will return to the beginning of its
attack phase.
6.4.1.2 Controls and Terminals
Inputs:
GATE - A positive signal here will activate the envelope.
VCA IN - Input to the voltage controlled amplier. The amplitude of
this signal will be controlled by the envelope.
FREEZE - A positive signal here will hold the envelope at its current
value.
Panel Controls:
A.SHAPE - Controls the shape of the attack segment. At 12 o'clock,
it's linear. To the left is logarithmic (fast initial rise then slower towards
CHAPTER 6. EURO REAKT 196
the top). To the right is exponential (slow intial rise, faster towards
the top). NOTE: Changing the shape of the segment will not aect the
length of the segment.
D. SHAPE - Controls the shape of the decay segment. Works like the
A. Shape knob, but in the opposite direction. Exponential is towards
the left.
ATTACK - Controls the length of the envelope's attack segment, from
less than 1 ms to 1 second.
DECAY - Controls the length of the envelope's decay segment, from
less than 1 ms to 1 second.
IN - Controls the amplitude of the input to the internal
VCA. OUT - Controls the amplitude of the envelope on the OUT and
VCA outputs.
RES X/RES 0 - Controls the reset behavior of the envelope when a
new trigger/gate is received. RES X means that the attack phase will
start from the current envelope value. RES 0 means that the envelope
will hard reset to 0 before the attack phase begins. RES X is gen-
erally smoother, but RES 0 can be useful for glitchy sounds or rapid
modulations.
x1/x10/x100/x1000 - Multiplies the length of the envelope segments.
Yes, you can get 2000 second (over 30 minute) envelopes.
CHAPTER 6. EURO REAKT 197
Outputs:
OUT - Envelope output. Amplitude determined by OUT control.
VCA - VCA output.
EOA - End of Attack. This output is HIGH (+1) when the envelope
is in its decay phase.
EOC - End of Cycle. This output is HIGH when the envelope is not
active. A trigger will appear here at the start/end of every cycle in
CYCLE mode.
-EOA - Opposite End of Attack. This output is HIGH when the enve-
lope is not in its decay phase.
+ENV - Positive copy of the envelope, not aected by the OUT panel
control.
-ENV - Negative copy of the envelope, not aected by the OUT panel
control.
6.4.1.3 Design Notes
The AD and Trapezoid envelope generators are versatile Blocks that exhibit
modal and simultaneous polymorphism. Both envelope generators take de-
sign cues from the Serge DUSG [24] and Make Noise Maths [23]. In both
Blocks, modal polymorphism is created with the AD/AHD/CYC switch,
CHAPTER 6. EURO REAKT 198
Figure 6.62: Dierence Rectier Panel
which determines the behavior of the envelope. In CYC mode, the envelope
oscillates, turning it into a useful LFO. At low ATTACK and DECAY set-
tings, this will be an audible oscillator. They are simultaneously polymorphic
as they have a gate outputs representing the current state of the envelope. I
have expanded upon the Maths/DUSG design by adding a VCA input and
output to both Blocks. This allows a user to quickly modulate the amplitude
of a signal without needing another VCA Block and more connections.
6.4.2 Dierence Rectier
6.4.2.1 Description
This is based on a design by Nonlinear Circuits [126]. This circuit appears
on a few of his modules, including the Neuron [127], the 1050 Mix Sequencer
CHAPTER 6. EURO REAKT 199
[128], and the Dual LFO [129]. It takes in a number of signals, nds the
voltage dierence between two sections, and outputs the rectied dierences.
A good meta-module is created by hooking up all four envelopes from NI's
West Coast CFG Block, set them to cycle, and monitor the outputs from
this Block.
IN+ 1 and IN+2 are summed together to make up V+.
IN- 1 and IN- 2 are summed together to make up V-.
Di = V+ - (V-)
If Di is positive, it goes out the Out+ output. If Di is negative, it goes
out the Out- output.
6.4.2.2 Controls and Terminals
Panel Controls:
IN 1/2 +/-: Set the gain and polarity of each input.
6.4.2.3 Design Notes
See the Neuron Design Notes.
6.4.3 Neuron
6.4.3.1 Description
http://nonlinearcircuits.blogspot.com/2012/11/neuron-dierence-rectier-pcbs.html
CHAPTER 6. EURO REAKT 200
Figure 6.63: Neuron Panel
This is a design from Nonlinear Circuits, typically built with a Dierence
Rectier on the same panel [127]. It is based o of an analog model of
a neuron [130]. Three signals are mixed together, manipulated, and run
through a comparator. The comparator's output is summed with a variation
of the input signal.
Use this to jumble and shred modulation signals. It works well on audio
signals, but be sure to lter out DC oset after.
This Block has the following modications over the hardware Neuron:
All three inputs have attenuverters.
Sense is bipolar.
Response is bipolar. The hardware Neuron "leaks" a bit, so no Re-
CHAPTER 6. EURO REAKT 201
sponse on the hardware Neuron is about 0.1 on this Block.
Output attenuverter.
Separate comparator output.
Separate mix output.
6.4.3.2 Controls and Terminals
Panel Controls:
IN 1-3: Attenuversion for all three inputs, pre-comparator.
SENSE: Controls the threshold above which the comparator will re.
RESPONSE: Sets the amplitude and polarity of the comparator's out-
put.
Outputs:
Out: Input mix summed with the comparator's output. Aected by
OUT gain.
Comp: Comparator output. Unaected by OUT gain. Aected by
RESPONSE.
Mix: Sum of inputs. Aected by IN gains. Unaected by OUT gain.
CHAPTER 6. EURO REAKT 202
6.4.3.3 Design Notes
The original Nonlinear Circuits Neuron + Di/Rect module is an indepen-
dently polymorphic design, as the Neuron and Dierence-Rectier circuits
are not normalled to each other. In Euro Reakt, I've broken out both cir-
cuits into their own Blocks and added a number of features.
Neuron was upgraded from a monosemous design to a simultaneously
polymorphic design. In the original module, the only available output is the
comparator summed with the input mix, represented by the main output
on this Block. However, on this Block, the comparator and input mix are
available separately as well. The mixer has been improved. On the original
module, there are only bare input jacks. Here, there are per-channel attenu-
verters. The Sense and Response controls have been expanded as well. They
use a larger, bipolar range.
The Dierence-Rectier has also been upgraded. The Block is based on
the Di/Rect present on the Neuron module. In this conguration, there
are four inputs (two positive, two negative). Each input now has an attenu-
verter. With the increased focus on mix precision, there's also a dedicated
Mix output. This makes this version of the Dierence-Rectier simultane-
ously polymorphic.
CHAPTER 6. EURO REAKT 203
Figure 6.64: Quad Min-Max Panel
6.4.4 Quad MinMax
6.4.4.1 Description
This Block takes in up to four signals and outputs the maximum and mini-
mum values. This is identical to the Min/Max modes in Logic Mix, but with
more inputs.
If you have unused inputs, those inputs will contribute "0.0" to the
Min/Max equation. This means that Max will always be positive (since
a negative signal is less than 0.0) and Min will always be negative. If you
do not want these zeroes to be preset, simply ll each unused channel with
duplicates of other inputs.
CHAPTER 6. EURO REAKT 204
Figure 6.65: Quad Ranger Panel
6.4.4.2 Controls and Terminals
Panel Controls:
IN 1-4: Set the gain and polarity of each input.
6.4.4.3 Design Notes
This is a simultaneously polymorphic mixer. It takes in up to four signals
and produces two opposing functions. Both functions are aected by the
gain settings on every channel.
CHAPTER 6. EURO REAKT 205
6.4.5 Quad Ranger
6.4.5.1 Description
Four separate unipolar-to-bipolar and bipolar-to-unipolar converters. This
tool is mainly useful on modulation signals, but UNI2BI can be used as an
interesting audio distortion.
6.4.5.2 Controls and Terminals
Panel Controls:
UNI2BI: Takes a unipolar signal and converts it to a bipolar signal (0.0
to 1.0 becomes -1.0 to 1.0). Note that the input will be hard clipped
to 0.0-1.0.
BI2UNI: Takes a bipolar signal and converts it to a unipolar signal.
6.4.5.3 Design Notes
This is an independently polymorphic design. Each of the four channels can
be used for dierent purposes, but they do not aect each other in any way.
6.4.6 Quad Rectier
6.4.6.1 Description
Four separate half- and full-wave rectiers.
CHAPTER 6. EURO REAKT 206
Figure 6.66: Quad Rectier Panel
This tool is mainly useful on modulation signals, but can be used as an
interesting audio distortion. If used for audio, a DC lter should be used
after to center the signal.
6.4.6.2 Controls and Terminals
Panel Controls:
HALF: Half-wave rectication removes negative components from a
signal.
FULL: Full-wave rectication takes the absolute value of a signal, ip-
ping negative components into positive components.
CHAPTER 6. EURO REAKT 207
Figure 6.67: Quadrature LFO Panel
6.4.6.3 Design Notes
Like the Quad Ranger, this is an independently polymorphic design. Each of
the four channels can be used for dierent purposes, but they do not aect
each other in any way.
6.4.7 Quadrature LFO
6.4.7.1 Description
A "Quadrature" oscillator is a sine oscillator that provides at least two out-
puts: sine and cosine. Many quadrature oscillators, like this LFO, provide
4 outputs: sine, cosine, -sine, and -cos. All of these outputs are frequency-
locked. They are simply phase-shifted copies of the primary core.
This Quadrature LFO is based o of the Bento LFO. For this imple-
CHAPTER 6. EURO REAKT 208
mentation, the saw output is used to address a sine table and a cosine table,
providing the 0 and 90 degree outputs. Those outputs are inverted, providing
the 180 and 270 degree outputs.
Quadrature LFOs are useful for creating modulations that chase each
other, or for mirror modulations.
This Quadrature LFO is unique in that it retains the Bento LFO's "shape"
parameter, allowing you to warp the lookup phasor. This creates really in-
teresting push-pull modulations.
6.4.7.2 Controls and Terminals
Panel Controls:
SHAPE: Applies a phase distortion to the internal phasor.
PHASE: Sets the phase that the LFO resets to.
Inputs:
Freeze: When a positive signal is present here, the internal phasor will
hold its value until the signal is no longer positive.
Reset: When the signal present here transitions to a positive state, the
internal phasor will immediately reset to phase 0. It will not reset again
until the signal goes negative and then positive again.
CHAPTER 6. EURO REAKT 209
Figure 6.68: Trapezoid Envelope Panel
6.4.7.3 Design Notes
This is a rhizomatic design that can interact with a patch in many ways,
especially with the gate inputs. I would not consider it to be polymorphic,
as the four outputs share identical functions but at dierent phases.
6.4.8 Trapezoid Envelope and VCA
6.4.8.1 Description
This is a complex envelope based on the envelope found in the classic Synthi.
It is very similar to the AD Envelope Block, but it has two additional stages.
The HOLD ON Stage adds a held stage to the top of the envelope, while the
HOLD OFF Stage adds spacing to every cycle in CYC mode. This can be
useful for creating extremely short envelopes with long spaces between them.
CHAPTER 6. EURO REAKT 210
Like many West-coast envelopes, this one has three modes:
AHD - Triggered Attack-Hold-Decay envelope. No matter the length of
the incoming gate, the full Attack phase will complete, followed by the full
Hold On and Decay phases. This is often called a "one-shot" envelope.
ASHD - Gated Attack-Sustain-Hold-Decay envelope. This envelope's
length is determined by the length of the incoming gate. If the Attack phase
nishes while the gate is still high, the envelope will enter its Sustain phase,
and will hold until the gate goes low. At that point, it will move to its Hold
On phase before nishing with its Decay phase.
CYC - Looping AHDH Envelope/LFO. In this mode, the envelope will
loop automatically. If it receives a new gate, it will return to the beginning
of its attack phase. Hold O will determine the space between cycles.
6.4.8.2 Controls and Terminals
INPUTS:
GATE - A positive signal here will activate the envelope.
VCA IN - Input to the voltage controlled amplier. The amplitude of
this signal will be controlled by the envelope.
VELOCITY - Determines the amplitude of the envelope when VEL
ON is enabled.
FREEZE - A positive signal here will hold the envelope at its current
value.
CHAPTER 6. EURO REAKT 211
OUTPUTS:
OUT - Envelope output. Amplitude determined by OUT control.
VCA - VCA output.
EOA - End of Attack. This output is HIGH (+1) when the envelope
is in its decay phase.
EOC - End of Cycle. This output is HIGH when the envelope is not
active. A trigger will appear here at the start/end of every cycle in
CYCLE mode.
-EOA - Opposite End of Attack. This output is HIGH when the enve-
lope is not in its decay phase.
+ENV - Positive copy of the envelope, not aected by the OUT panel
control.
-ENV - Negative copy of the envelope, not aected by the OUT panel
control.
6.4.8.3 Design Notes
See the Design Notes for the AD Envelope and VCA Block.
CHAPTER 6. EURO REAKT 212
Figure 6.69: Trigonometric Shaper Panel
6.4.9 Trigonometric Shaper
6.4.9.1 Description
This multi-mode waveshaper contains a number of classic trig functions: Sine,
Cosine, and Tangent. In addition, all three functions have Regular, Arc, and
Hyperbolic modes.
This is mainly useful for modulation signals, but it can also be very useful
for audio. For example, Hyperbolic Tangent is frequently used as a digital
overdrive algorithm.
6.4.9.2 Controls and Terminals
Panel Controls:
FUNC: Choose the active trig function on the main output. This can
CHAPTER 6. EURO REAKT 213
be Sine, Cosine, or Tangent.
MODE: Choose the active function mode on every outputs. This can
be Regular, Arc, or Hyperbolic.
Outputs:
Sin: Dedicated output for Sine function. Aected by the MODE con-
trol.
Cos: Dedicated output for Cosine function. Aected by the MODE
control.
Tan: Dedicated output for Tangent function. Aected by the MODE
control.
6.4.9.3 Design Notes
This is a modally and simultaneously polymorphic voltage processor. Using
one input provides three very dierent outputs. Every output is aected by
the MODE control. In the 4.0 update, an optional DC lter was added to
make this more useful as an audio eect as well.
6.4.10 Voltage Mirror
6.4.10.1 Description
A "Voltage Mirror" is a unipolar inverter. If you have an ascending unipolar
envelope, this will provide a descending unipolar envelope.
CHAPTER 6. EURO REAKT 214
Figure 6.70: Voltage Mirror Panel
This diers from typical inversion. Most inverters ip a signal around the
x-axis, meaning that positive signals become negative, and negative become
positive.
The Voltage Mirror's output is equal to (1.0 - input). The input is rectied
before this occurs. Thus, the output of the Voltage Mirror is always positive.
This positive, unipolar output can be made negative by using the bipolar
Out Gain control.
6.4.10.2 Controls and Terminals
Panel Controls:
HALF/FULL: Determines whether the input goes through HALF-wave
or FULL-wave rectication.
CHAPTER 6. EURO REAKT 215
Figure 6.71: Wavetable LFO Panel
6.4.10.3 Design Notes
This is a monosemous design with one input, one output, and no alternative
uses. This may seem like a strange design to include in the library, but
a Voltage Mirror is a common patching strategy that takes some eort to
set up and calibrate correctly. This Block takes the guesswork out of this
technique.
6.4.11 Wavetable LFO
6.4.11.1 Description
This is a wavetable LFO based on Sandy Small's excellent "Microwave Oscil-
lator" Block [131], which is a wavetable oscillator that emulates the Waldorf
CHAPTER 6. EURO REAKT 216
Microwave [132].
This replaces the frequency controls on the Microwave Oscillator with
the lower frequency controls from the Bento Box LFO. To emphasize low-
frequency operation, RESET and FREEZE controls and inputs have been
added. A PHASE knob sets the phase of the waveform upon receiving a reset
signal. The BRILLIANCE knob has been replaced by two simple modes of
interpolation.
Additions over both the Bento Box LFO and Microwave Oscillator:
Out knob for easy amplitude control or phase inverting.
Dedicated unity-gain UNIpolar output.
Dedicated unity-gain BIpolar output.
Dedicated Freeze input.
Dedicated Phase output.
Reset output.
6.4.11.2 Controls and Terminals
Panel Controls:
PHASE: Determines the phase of the LFO when it receives a reset
signal.
TABLE: Determines the active wavetable.
CHAPTER 6. EURO REAKT 217
WAVE: Selects the active wave from the current wavetable.
INTRP/LIMIT: When INTRP is enabled, the last three waves in each
table are skipped. These waves are interpolated between waves 60
and 0 in the table. Enabling LIMIT results in a sharper discontinuity
between the last and rst waves in the table.
SMOOTH/LO-FI: SMOOTH enables linear interpolation. LO-FI turns
o interpolation, leading to a heavily stepped signal.
INSTANT/PHASE 0: Determines the behavior when a user changes
the WAVE or TABLE. INSTANT means that the new waveform is
selected immediately. PHASE 0 means that it waits until the LFO
reaches phase 0, usually a zero crossing.
UNI/BI: Sets whether the main output is unipolar or bipolar.
Inputs:
Reset: A positive gate here will reset the LFO to the phase set by the
PHASE control.
Freeze: A positive gate here will hold the LFO in its current phase. It
will not advance until the gate is zero or negative.
Outputs:
Uni/Bi: Dedicated unipolar and bipolar outputs for the LFO. Unaf-
fected by the OUT gain control.
CHAPTER 6. EURO REAKT 218
Phase: Unipolar sawtooth waveform representing the current phase of
the LFO.
Reset: Outputs a trigger whenever the LFO cycles or whenever a pos-
itive gate is received on the Reset input.
6.4.11.3 Design Notes
This is a rhizomatic, simultaneously polymorphic design. The Reset output
adds a timing trigger that can be used at the same time as the primary mod-
ulation signal. There are four output variations of the LFO itself, including
a variable amplitude main output, two unity-gain outputs, and one phase
output. There are also multiple inputs that allow the LFO to interact with
other timing signals.
6.4.12 XY to Polar
6.4.12.1 Description
This Block uses a Cartesian-to-Polar equation to manipulate input voltages.
The input voltages are treated as (X, Y) coordinates on a Cartesian plane.
The R and A outputs are these coordinates translated to Polar Radius and
Azimuth values.
This is not meant to be used for accuracy (Like, say, cartopol~ in Max).
Out R is hard clipped, and Out A is reduced in amplitude by 75%. This
Block is intended more to bend modulations into unusual shapes.
CHAPTER 6. EURO REAKT 219
Figure 6.72: XY-to-Polar Panel
6.4.12.2 Controls and Terminals
Outputs:
R: Radius output. Hard clipped.
A: Azimuth output. Reduced in amplitude by 75% to keep signals
within bounds.
6.4.12.3 Design Notes
Like cartopol~ in Max, this is a straightforward, monosemous design. Its only
function is to receive an (X, Y) pair and convert them to polar coordinates.
A potentially interesting module design could be created by combining a
quadrature source with this type of coordinate conversion.
CHAPTER 6. EURO REAKT 220
6.5 Oscillators and Sound Sources
This category of Blocks is primarily used to generate audible signals. They
include various oscillators and triggered percussion sources.
Many of these Blocks share the following controls, which will not be
detailed in each Block's description unless notable:
Panel Controls:
PITCH: This is a big blue knob on most oscillators. It either chooses
the pitch of the oscillator (or some aspect of the signal chain described
on each Block) as an oset (in semitones) of the voltage present at the
Pitch input, or an exact frequency (in Hz) that ignores signals present
at the Pitch input.
KEYBOARD: This is a keyboard icon that sits next to the big blue
PITCH knob. It determines whether the PITCH control acts in semi-
tone osets or exact frequencies.
FM: Sets the depth of frequency modulation over the oscillator (or
some aspect of the signal chain described on each Block). The FM
modulator is the signal present on the FM input terminal.
FM TYPE: Selects an FM algorithm. These are EXPonential, LINear,
and LINear Thru-Zero.
WAVEFORM: This is a big orange knob on some oscillators. It smoothly
crossfades between Sine, Triangle, Saw, and Square waves.
CHAPTER 6. EURO REAKT 221
PW: Most oscillators that have the WAVEFORM control will also have
this. This knob selects the Pulse Width of the Square waveform. 12
o'clock gives a symmetrical pulse width.
OUT: Controls the amplitude of the oscillator at its primary output.
Inputs
Pitch: When the KEYBOARD icon is active, this input sets the base
pitch of an oscillator (or some aspect of the signal chain described on
each Block).
FM: The signal present here will be used to modulate the frequency
of an oscillator (or some aspect of the signal chain described on each
Block). The depth of this modulation is controlled by the FM knob.
A signicant number of these oscillators are ports of oscillator modes from
Braids, an open-source macro oscillator by Mutable Instruments. These
were ported with Olivier Gillet's approval.
6.5.1 Clap
6.5.1.1 Description
Triggerable drum/noise source.
This Block is based on synth patches found in Jim Clark's Nord Modular
Book [124]. It attempts to roughly model the clap synthesis method on a
CHAPTER 6. EURO REAKT 222
Figure 6.73: Clap Panel
TR-808 or TR-909. It's not meant to be a 100% accurate model, but it is a
great way of quickly reaching a usable clap sound.
A noise source runs through an amplitude envelope that is rapidly trig-
gered four times in a row. On the last trigger, a slower "reverb" envelope is
opened up. The multiple triggers give the eect of multiple people clapping
simultaneously, while the nal envelope simulates the dissipation of sound
throughout a space.
6.5.1.2 Controls and Terminals
Panel Controls:
FREQ: Determines the rate at which new noise samples are generated.
If an external input is used as the noise source, this acts as a sample
CHAPTER 6. EURO REAKT 223
rate reducer.
STUTTER: Determines the spacing of the four noise triggers. At low
settings, it will provide a tight, loud clap. At high settings, you will
hear the individual noise bursts.
REVERB: Determines the length of the envelope opened at the end of
the stutter burst. This envelope provides a low-quality reverb eect.
SHAPE: Controls the shape of the noise envelope's decay stage.
CUTOFF: Controls the cuto of the two lters acting upon the noise.
The lters are a band-pass lter and a low-pass lter setup simultane-
ously in parallel and serial congurations. The band-pass lter's output
is the primary noise source, while the low-pass lter's output is summed
with the band-pass to create the reverb source.
DECAY: Controls the decay length of the primary noise envelope.
RES: Controls the resonance of the two noise lters. At high values,
this will impart a distinct pitch to the usually noisy sound.
WHITE/LFSR/EXT. IN: Chooses the noise source. WHITE is white
noise, LFSR is a low frequency shift register (which provides a more
lo- digital sound). EXT. IN uses the signal present at the Ext. In
input and runs it through a sample rate reducer.
GATE: Manually trigger the Clap via a click.
CHAPTER 6. EURO REAKT 224
Inputs:
Gate: Triggers the Clap's envelopes.
Ext. In: If a signal is present here, it can be used in place of the internal
noise generators.
Outputs:
Out: Main Clap output.
Noise: Outputs the band-pass ltered noise source only without any
amplitude modication.
Reverb: Outputs the reverb tail only.
Amp. Env.: Outputs the amplitude envelope.
Rev. Env.: Outputs the reverb envelope.
6.5.1.3 Design Notes
This Block makes heavy use of Simultaneous Polymorphism. It simultane-
ously outputs a percussive clap sound, a constant noise source, a ltered
reverb tail, and two envelopes. The envelopes appear as a rapid burst, fol-
lowed by a slow, last-stage envelope. Finally, it can also be used as a sample
rate crusher via the external input and dedicated noise output. I wanted to
add a Burst output for the gate trigger burst, but it proved to be too di-
cult with the design. To prevent unpleasant retriggers, the envelopes have a
CHAPTER 6. EURO REAKT 225
Figure 6.74: Comb Oscillator Panel
dierent type of internal gating than what the rest of Euro Reakt typically
uses. In a later update, I plan on redoing that section.
6.5.2 Comb Oscillator
6.5.2.1 Description
This is based o of one of the modes (/|/|_|_|_) from Mutable Instruments'
excellent open-source Braids Macro Oscillator. In this generator, a sawtooth
wave runs through a comb lter.
The saw oscillator follows the tuning of the keyboard input and frequency
knob, while the comb lter's frequency is oset from the saw's frequency via
the SPREAD control (this mimics the TIMBRE knob on the Braids model).
The FEEDBK control determines the amplitude and polarity of the comb
CHAPTER 6. EURO REAKT 226
lter's feedback (this follows the COLOR knob on the Braids model). In
addition to the standard Braids features, I added an additional MIX control
to balance between the dry sawtooth oscillator and the wet, post-comb signal.
6.5.2.2 Controls and Terminals
Panel Controls:
SPREAD: Controls the tuning relation between the sawtooth oscillator
and the comb lter. At 12 o'clock, they run at the same frequency.
MIX: Controls the mix between the dry sawtooth oscillator and the
wet, post-comb signal.
FEEDBK: Controls the amplitude and polarity of the comb lter's
feedback.
Outputs:
Out: Main output.
Saw: Outputs the sawtooth waveform, unaected by the comb lter or
the OUT control.
6.5.2.3 Design Notes
This is a fairly simple design that can lead to great timbral results. Aside from
working as an unusual LFO, there's no polymorphism or exibility present.
An idea for a future update would be to add a VCA between the oscillator
CHAPTER 6. EURO REAKT 227
Figure 6.75: Complex Oscillator Panel
and the comb lter, thus allowing for the creation of resonant percussion and
sustained comb echoes.
6.5.3 Complex Oscillator
6.5.3.1 Description
One of the foundations of West-Coast synthesis. A complex oscillator is
generally a dual oscillator with many internal modulation busses between the
two. This type of design can be traced back to early Buchla systems, and is
present in many modern Eurorack oscillators, including the Make Noise DPO,
The Harvestman's Hertz Donut, Intellijel's Shapeshifter, Sputnik Modular's
Complex Oscillator, and many, many more.
This Complex Oscillator is based on two Bento Box oscillators. Internally,
CHAPTER 6. EURO REAKT 228
they are connected via Frequency Modulation, Amplitude Modulation, and
variable-strength Sync. Both oscillators also have last-stage wavefolding for
even more timbral exibility.
6.5.3.2 Controls and Terminals
Panel Controls:
FOLD: Adjusts the intensity of the wavefolder for each oscillator.
SYNC: Adjusts the intensity of syncing from the opposing oscillator.
At full CW, this is a traditional hard sync.
AM: Adjusts the amount of amplitude modulation applied to each os-
cillator.
AM/AM R/RING: Determines the type of amplitude modulation ap-
plied to each oscillator. AM is standard amplitude modulation (where
negative modulations are thrown away). AM R is rectied AM (nega-
tive modulations are full-wave rectied). RING is ring modulation.
SLEW: Sets the amount of time it takes for Oscillator 2 to reach its
target frequency.
P. 1/2: Sets the Pitch input that Oscillator 2 listens to.
OSC/EXT: Determines whether each oscillator receives AM and FM
from the opposing oscillator or the dedicated FM and AM inputs.
CHAPTER 6. EURO REAKT 229
Outputs:
Mix: 50/50 blend of both oscillators.
Osc1/2: Individual oscillator outputs.
Inputs:
AM In: Dedicated input for AM signals. These signals will only mod-
ulate the amplitudes of oscillators set to EXT for their AM source.
6.5.3.3 Design Notes
This was an excellent early release for Euro Reakt, as it came out before
Native Instruments released DWG, their take on a complex oscillator Block.
My Block has a few advantages over the Native Instruments design. First,
neither oscillator in my design is considered Primary. The two oscillators
are of equal complexity, and both have a wavefolder (in the NI design, only
the Carrier oscillator runs through the Timbre circuit). Second, the bidirec-
tional multi-mode AM is unique to my design. It provides a great timbral
alternative, and can also create interesting modulation sources when used as
LFOs. Finally, I prefer the way that I implemented the FM and AM buses.
Instead of having a dedicated input for FM Carrier and FM Modulator, one
FM input and one AM input can target both oscillators. A mode switch
allows you to choose on each oscillator whether they're receiving internal
modulation from the opposite oscillator, or external modulation.
CHAPTER 6. EURO REAKT 230
Figure 6.76: Drum Panel
That being said, the NI design is still excellent, especially the Timbre
circuit. I ended up creating a standalone eect Block based on the Timbre
section, meaning that you can use my oscillator design with their waveshaper.
One of my other preferred meta-modules is to connect the two outputs from
this oscillator into my Logic Mix Block, which provides a number of inter-
esting two-operator instructions.
6.5.4 Drum
6.5.4.1 Description
Triggerable drum/noise source, based on drum synthesis recipes from Gordon
Reid's Synth Secrets column for Sound on Sound [133].
One trigger activates three envelopes: Oscillator amplitude, Noise ampli-
CHAPTER 6. EURO REAKT 231
tude, and Oscillator pitch. All three are simple decay envelopes with nearly
instant attack.
The left half is the Oscillator. This uses the Bento Box core. The right
half is a dual-mode noise source and multi-mode resonant lter. In the center
are mixing controls.
6.5.4.2 Controls and Terminals
INPUTS:
Gate - Triggers the Drum.
Pitch - Standard pitch input when Keyboard mode is on.
FM - External FM
Ext. In - Optional replacement for internal oscillator
Noise - Optional replacement for internal noise source (pre-lter)
OUTPUTS:
OUT - The nal drum sound will appear here.
NOISE - Noise source, unltered.
OSC - Internal oscillator
OSC ENV - Amplitude envelope for internal oscillator
NOISE ENV - Amplitude envelope for noise source
CHAPTER 6. EURO REAKT 232
PITCH ENV - Pitch envelope for internal oscillator
OSCILLATOR SIDE CONTROLS:
OSC SIDE FM - FM Amount for internal oscillator. Has three modes:
Exponential, Linear, and Linear thru-zero.
INT/EXT - Replaces the internal oscillator with the signal at the EXT.
IN input.
DECAY (Bottom Left) - Envelope length for the oscillator's pitch en-
velope. The depth of this envelope is controlled by P. ENV.
PITCH - Big blue knob. Controls coarse and ne tuning. Switch to
enable Keyboard Mode is on the top-right. When using an external
input, this controls the sampling rate of the input.
WAVEFORM - Internal oscillator's waveform. When using an external
input, this will wavefold the input.
DECAY - Envelope length for the oscillator's amplitude.
LOG - Logarithmic envelope. Very long initial sustain.
LIN - Linear envelope. Even rollo from 1 to 0.
EXP - Exponential envelope. Very rapid die-o from maximum value.
MIX CONTROLS:
CHAPTER 6. EURO REAKT 233
XFADE - Crossfade between the noise source and the oscillator.
OUT - Main output level. Does not aect NOISE or OSC outputs.
x1/x2 - Chooses how loud the output can get.
NOISE SIDE CONTROLS:
DECAY - Envelope length for the noise source's amplitude
COLOR - Changes the tone of the noise source. When using an external
noise source, this will aect the sampling rate.
LFSR - Low frequency shift register noise source. Useful for raw digital
sounds.
WHITE - White noise source. Much brighter sounding.
INT/EXT - Replace the internal noise source with the signal present
at NOISE input.
CUTOFF - Controls the cuto of the lter.
LP/HP/BP - Choose between Low-Pass, Band-Pass, and High-Pass
lters.
RES - Resonance of the lter F.ENV - Controls how much the cuto
of the lter is aected by the noise amplitude envelope.
CHAPTER 6. EURO REAKT 234
Figure 6.77: FM Oscillator Panel
6.5.4.3 Design Notes
This started o as an 808 bass drum emulator and ended up turning into
one of the more polymorphic sound sources in Euro Reakt. It works well
for all sorts of synthetic percussion, including kicks, snares, hi-hats, toms,
claves, and more. This acts as a good focal point of a patch, as every trigger
generates three independent envelopes that can be used to modulate other
Blocks. A common strategy is to plug the modulation envelope into a dif-
ferent oscillator Block and use that to replace the internal oscillator. This
means that Drum can take practically every generator in Euro Reakt and
turn it into a percussion voice.
CHAPTER 6. EURO REAKT 235
6.5.5 FM Oscillator
6.5.5.1 Description
This is a dual oscillator inspired by the FM, FBFM, and WTFM modes
on the Mutable Instruments Braids Oscillator.
Inside of this Block, there are two oscillators: Carrier and Modulator.
The Carrier oscillator receives frequency modulation from the Modulator.
The depth of this FM is controlled by the INT FM knob. The Modulator's
frequency is an oset of the Carrier's base frequency. There are many ways
to make these oscillators interact.
6.5.5.2 Controls and Terminals
Panel Controls:
SPREAD: Controls the Modulator's frequency as an oset of the Car-
rier's base frequency. At 12 o'clock, both oscillators will have the same
base frequency.
EXT FM: Sets the depth of frequency modulation applied from the FM
input to both the Carrier and Modulator oscillators.
INT FM: Sets the depth of frequency modulation applied from the
Modulator to the Carrier.
C->C: Sets the depth of frequency modulation the Carrier imparts on
itself.
CHAPTER 6. EURO REAKT 236
C->M: Sets the depth of frequency modulation the applied from the
Carrier to the Modulator.
Outputs:
Carrier: Outputs the Carrier oscillator, aected by the OUT gain pa-
rameter.
Mod: Outputs the Modulator oscillator, aected by the OUT gain
parameter.
Mix: Outputs a 50/50 blend of the Carrier and Modulator, aected by
the OUT gain parameter.
6.5.5.3 Design Notes
This is a simultaneously polymorphic design. At its heart are two oscillators.
Turning the main frequency control will aect all three outputs. Turning the
SPREAD control aects the Mod and Mix outputs. A user could ignore the
FM functionality entirely and use the Mix output as a two partial additive
voice. Unlike the monosemous Fold Oscillator, wiring up something compa-
rable to this Block would take a lot more eort. This design is actually quite
close to a complex oscillator (like Make Noise DPO or Harvestman Hertz
Donut) but without variable waveform selection.
CHAPTER 6. EURO REAKT 237
Figure 6.78: Fold Oscillator Panel
6.5.6 Fold Oscillator
6.5.6.1 Description
This is based o of the FOLD mode from Mutable Instruments' Braids
Macro Oscillator. In this generator, a blend of a sine and/or a triangle
oscillator runs through a wavefolder.
6.5.6.2 Controls and Terminals
Panel Controls:
FOLD: Controls the strength of the wavefolding operation by increasing
the amplitude of the oscillator.
BIAS: Changes the symmetry of the wavefolding operation by adding
CHAPTER 6. EURO REAKT 238
DC oset to the wavefolder's input. This is a bipolar control, so 12
o'clock adds no bias.
SIN/TRI: Crossfade between sine a triangle shapes for the oscillator.
6.5.6.3 Design Notes
This is a monosemous design and is less exible then using an oscillator
of your choice with the dedicated Wavefolder Block. There are dedicated,
unfolded outputs so that you can sum the base waveform with the folded
output for a more layered sound. I've opted to exclude an external input, as
that's the purpose of the Wavefolder Block. Still, this can be a useful Block
for users who want the specic wavefolder sound quickly.
6.5.7 Harmonic Oscillator
6.5.7.1 Description
This is an additive oscillator that combines 8 sine waves. With a simplied
set of controls, you can set the spacing of the 8 waves, choose the central
harmonic, and scan between all 8 harmonics. This is partially based o of
the HARM mode in Mutable Instruments' Braids Oscillator, but has a
number of major dierences (In fact, some may point out that due to the
nature of the SPREAD control, it's not necessarily a Harmonic Oscillator,
but a versatile Additive Oscillator Bank). This oscillator features individual
outputs for each oscillator, allowing you to create whatever mix you want,
CHAPTER 6. EURO REAKT 239
Figure 6.79: Harmonic Oscillator Panel
instead of relying only on the internal wavescanner.
6.5.7.2 Controls and Terminals
Panel Controls:
SPREAD: Sets the frequency relationship between the eight oscillators.
At 12 o'clock, the oscillators are harmonics of the base frequency (x1,
x2, x3... x8). At full CW, each oscillator doubles from its 12 o'clock
frequency.
HARM: Sets the most prominent oscillator in the wavescanner.
WIDTH: Controls the width of the wavescanner. At full CCW, only
one oscillator is audible at a time. At full CW, nearly the entire bank
CHAPTER 6. EURO REAKT 240
will be audible.
OSCS/SCAN: In OSCS mode, each individual oscillator output is con-
stant amplitude. In SCAN mode, the amplitude of each output is equal
to the amplitude of each oscillator at the main output.
Outputs:
Osc 1-8: Each oscillator is available independently here. The amplitude
of this output is determined by the OSCS/SCAN mode switch.
6.5.7.3 Design Notes
Aside from Braids, this also takes design cues from the Verbos Harmonic
Oscillator and the Make Noise RxMx mixer. The RxMx is a six-channel
mixer with Channel and Radiate parameters that behave very similarly
to the HARM and WIDTH controls here. A more generic Block with this
functionality is the 8-Way Scanner Block in the Mixing category. Since the
highest oscillator can have up to 16 times the frequency of the bottom os-
cillator, this can cover a large simultaneous frequency range, making this a
simultaneously polymorphic Block under certain conditions.
6.5.8 Hi-Hats
6.5.8.1 Description
This is a triggerable drum/noise source that takes in two triggers (HH GATE
and OH GATE) and produces two "hi-hat" drum sounds (HH - Closed Hi-
CHAPTER 6. EURO REAKT 241
Figure 6.80: Hi-Hats Panel
Hat, OH - Open Hi-Hat). To produce a hi-hat sound, two sound sources are
used. The rst is a Low-Frequency Shift Register. This produces a random
8-bit noise tone. The second is a stack of tuned square waves. These are
mixed together and then multipled by a simple decay envelope.
6.5.8.2 Controls and Terminals
Inputs:
HH Gate: A positive signal on here will trigger the closed hi-hat sound.
OH Gate: A positive signal on here will trigger the open hi-hat sound.
OUTPUTS:
Out: Both drum sounds will appear here.
CHAPTER 6. EURO REAKT 242
HH: Closed hi-hat only
OH: Open hi-hat only
Noise: LFSR noise, post-lter
Square: Stacked squares, post-lter
Mix: Noise + Square, post-crossfade.
CONTROLS:
FREQ - Determines the frequency of the shift register, changing the
overall timbre of the noise. Also determines the pitch of the stacked
oscillators.
CUTOFF - Determines the cuto of the high-pass lter on the noise
source, and the band-pass lter on the stacked oscillators.
XFADE - Crossfade between the noise source and the stacked oscilla-
tors.
DECAY - Determines the decay time of the exponential decay envelope
for the open hi-hat sound only. At minimal settings, this can be used
to produce hits that are even shorter in length than the closed hi-hat.
OUT - Output level for the MIX output.
606/808/110 - Chooses the frequency spacing for the stacked oscillators.
x1/x2 - Chooses how loud the output can get.
CHAPTER 6. EURO REAKT 243
Figure 6.81: Impulse and Sinc Train Panels
6.5.8.3 Design Notes
This Block exhibits simultaneous polymorphism. It generates a hi-hat sound
on the main output while generating a stable noise source and stacked square
oscillator at the same time. A planned future update would allow for a user
to select a noise source. The choices would include LFSR, white noise, or
an external input. This behavior would match the behavior on the Clap and
Drum Blocks.
CHAPTER 6. EURO REAKT 244
6.5.9 Impulse Train + Sinc Train
6.5.9.1 Description
Generates an impulse train (or "Dirac Comb"). Each impulse lasts for only
one sample. This is useful for pinging lters (try it on the Comb Filter for
string-like tones) or activating triggers on certain Blocks.
The RAND knob controls how much variation appears between trigger
frequencies. The internal random generator appears at the "Rand CV" out-
put and can be used to aect other Blocks on a per-impulse basis.
The Sinc Train is very similar to the Impulse Train, but it generates sinc-
shaped impulses. These are very similar to band-limited impulses and sound
great as standalone grains or as generators for both grain envelopes or grain
oscillators.
6.5.9.2 Controls and Terminals
Panel Controls:
RAND: Adds an amount of random gaussian disturbance to the fre-
quency of the generator. This random disturbance is calculated only
once at the beginning of each cycle.
HARM (Sinc only): Decreases the width of the sinc impulse, increasing
the perceived frequency.
UNI/BI (Impulse only): In UNI mode, all impulses are positive only.
CHAPTER 6. EURO REAKT 245
In BI mode, the polarity of each impulse alternates.
Outputs:
Phase: Outputs the current phase of the oscillator, from 0-1.0.
Rand CV: If the RAND knob is above 0, a random CV will appear here
after each impulse is generated.
Filtered (Impulse only): A ltered version of the main output. The
impulse runs through a gentle, one-pole lter with a cuto of 1000 Hz.
6.5.9.3 Design Notes
A simple impulse generator is a very useful building block for microsound.
I went for a simultaneously polymorphic design here. The gaussian FM is
inspired by a SuperCollider plug-in uGen called GaussTrig. I decided to take
the random FM and break it out onto its own output, making this a good
simultaneous master clock and random source. It also has a simultaneous
phase output which can be used for synced modulations. The phase output
is especially useful with an upcoming Window Generator Block, as it can
be used to create grain envelopes equal in length to the impulse generator's
cycle period.
CHAPTER 6. EURO REAKT 246
Figure 6.82: Karplus Panel
6.5.10 Karplus
6.5.10.1 Description
Classic String-tone generator. A quick-noise burst is run through a tuned
delay line with heavy feedback.
This Block features the Bento Oscillator FM Core for tuning the delay
line, giving it the ability to create wild granular patterns or spacey detuned
strings. You can choose between two noise types (White or LFSR), and can
change the decay and cuto of the noise. In addition to this, you can use
external signals of your own design.
6.5.10.2 Controls and Terminals
Inputs:
CHAPTER 6. EURO REAKT 247
Pitch: Frequency of the delay line.
Gate: Triggers the internal amplitude envelope
FM: Frequency modulation source for the delay line.
Ext. In: External Input
Outputs:
Burst: Post-envelope, pre-delay signal (i.e. the input to the delay line).
Noise: Noise source, post lter, pre-envelope.
Noise Env: Unipolar decay envelope, activated whenever a positive
signal is received on the Gate input.
Controls:
FREQ - Big blue knob. Controls the frequency of the delay line.
FM - Controls the amount of FM upon the delay line.
OFST. - Amount of signal that bleeds through the internal decay enve-
lope. Modulate this if you wish to use an envelope of your own design.
Raise it to 1 if you're using your own percussive input.
DECAY - Decay time of the internal amplitude envelope.
COLOR - When using an internal noise source, this acts as a high-
pass lter. When using an external source, this acts as a sample-rate
reducer.
CHAPTER 6. EURO REAKT 248
WHITE/LFSR - Choose the internal noise type
INT/EXT - Choose between internal noise or an external signal.
OUT - Output level.
6.5.10.3 Design Notes
This is a simultaneously and modally polymorphic design with a lot of func-
tionality. It is modally polymorphic as it can be used as a standalone, trig-
gered oscillator. Alternatively, it can be used to process external audio. Like
the Comb Filter eect, it is also modally polymorphic due to its extremely
large frequency range. It can be used for the classic Karplus string eect,
or it can be used as a straightforward, ltered echo generator. Finally, it
demonstrates simultaneous polymorphism as it is capable of creating the
main output, a noise output, and an envelope at the same time.
6.5.11 Pulsar Oscillator
6.5.11.1 Description
This is a simple implementation of Pulsar Synthesis, a form of Microsound
described by Curtis Roads.
In this simplied version, a variable waveform oscillator is windowed by a
gaussian oscillator. Instead of a FORMANT control, this implementation has
a SPREAD parameter to determine the pitch oset of the Gaussian window
generator vs the main oscillator.
CHAPTER 6. EURO REAKT 249
Figure 6.83: Pulsar Oscillator Panel
6.5.11.2 Controls and Terminals
Panel Controls:
PROB: Changes the probability of the Gaussian window being gener-
ated each cycle.
SPREAD: Controls the pitch oset of the Gaussian window oscillator
from the main oscillator.
WIDTH: Controls the shape of the Gaussian window oscillator. Counter-
clockwise provides needle shapes, while clockwise widens the window
and ultimately produces oset.
Outputs:
Osc: Oscillator output. Aected by OUT.
CHAPTER 6. EURO REAKT 250
Figure 6.84: Resonating Bar Panel
Window: Gaussian window output. Unipolar. Aected by PROB and
OUT.
6.5.11.3 Design Notes
This is a rst attempt at a Pulsar synthesizer for Euro Reakt. I am planning
on creating a more in-depth Block with more parameters and better con-
trol over the windowing. Still, this Block displays elements of simultaneous
polymorphism, as the oscillator and envelope generator are output separately
and can generate at very dierent frequencies. Changing the speed of either
aects the main Out.
CHAPTER 6. EURO REAKT 251
6.5.12 Resonating Bar
6.5.12.1 Description
This is a port of the "Bar Resonator" module from Chet Singer's classic
Ampere Modular for Reaktor 5 [84]. This Block replicates the sound of
metallic percussion. It can be used as either a triggered drum source, or as
a sound processor.
6.5.12.2 Controls and Terminals
Exciter:
INT: Use an internal decay envelope and noise source to excite the
resonator.
EXT: Use the input at EXT. IN to excite the resonator.
Noise types:
LFSR: Low Frequency Shift Register. A white-like noise generator with
a more digital avor.
EXT. IN: Replaces the noise generator with an external input. Chang-
ing COLOR downsamples this input.
WHITE: Standard white noise generator.
Panel Controls
CHAPTER 6. EURO REAKT 252
CUTOFF: Sets the cuto frequency for the lter. This lter is between
the input and the resonator. Use it to emphasize high frequencies, or
to remove them entirely.
LP/BP/HP: Changes the type of ltering applied to the noise source
(Low Pass, Band Pass, High Pass).
F. ENV: Determines if the lter's cuto point changes when the internal
envelope is triggered. This has no eect when "EXT" mode is selected.
HARM: Changes the harmonic prole of the resonator. Counter-clockwise
dampens the bar, while higher values open it up and add more content.
COLOR: Changes the generation rate of the internal noise generator.
Downsamples the external input if it is selected.
DECAY: Sets the length of the noise source's amplitude envelope.
LIN/EXP/LOG: This button cycles through the available envelope
shapes for the noise amplitude envelope.
Outputs:
Noise: Noise generator. Unaected by ltering or gain controls.
Filt. Noise: Enveloped noise, post-lter.
Noise Env.: Noise generator's amplitude envelope.
Inputs:
CHAPTER 6. EURO REAKT 253
Ext. In: Used to replace the noise generator when EXT IN mode is
selected.
6.5.12.3 Design Notes
Resonating Bar and Wood are two of the most complex generators in Euro
Reakt. They can be used as generators or eects. The basic design was
inspired by Mutable Instruments' Rings [134] and Elements [135] physical
modelling modules. Those modules can act as triggered percussion sources
or as eect processors (where the input is fed directly to the resonant lter
bank instead of an enveloped noise source). These Blocks are modally and si-
multaneously polymorphic. They are modally polymorphic as the INT/EXT
switch can be used to change between percussion and eect modes. They
are simultaneously polymorphic as either mode can be used simultaneously
with noise and envelope generation on the various outputs.
6.5.13 Resonating Wood
6.5.13.1 Description
This is a port of the "Wooden Body Resonator" module from Chet Singer's
classic Ampere Modular for Reaktor 5 [84]. It is a close relative of the
"Resonating Bar" Block. This Block, however, is strongly inharmonic. The
algorithm isn't necessarily good for only wood tones. It can produce bells,
metal, and glass tones as well.
CHAPTER 6. EURO REAKT 254
Figure 6.85: Resonating Wood Panel
6.5.13.2 Controls and Terminals
Exciter:
INT: Use an internal decay envelope and noise source to excite the
resonator.
EXT: Use the input at EXT. IN to excite the resonator.
Noise types:
LFSR: Low Frequency Shift Register. A white-like noise generator with
a more digital avor.
EXT. IN: Replaces the noise generator with an external input. Chang-
ing COLOR downsamples this input.
CHAPTER 6. EURO REAKT 255
WHITE: Standard white noise generator.
Panel Controls
CUTOFF: Sets the cuto frequency for the lter. This lter is between
the input and the resonator. Use it to emphasize high frequencies, or
to remove them entirely.
LP/BP/HP: Changes the type of ltering applied to the noise source
(Low Pass, Band Pass, High Pass).
F. ENV: Determines if the lter's cuto point changes when the internal
envelope is triggered. This has no eect when "EXT" mode is selected.
RES: Sets the resonance of the 32 internal resonators. Lower values
will start to make the internal noise source more audible.
SPREAD: Changes the spacing of the 32 internal resonators. Lower
values mean that the resonators are clustered together closer to the
fundamental frequency. Higher values produce aggressively inharmonic
tones.
COLOR: Changes the generation rate of the internal noise generator.
Downsamples the external input if it is selected.
DECAY: Sets the length of the noise source's amplitude envelope.
LIN/EXP/LOG: This button cycles through the available envelope
shapes for the noise amplitude envelope.
CHAPTER 6. EURO REAKT 256
Outputs:
Noise: Noise generator. Unaected by ltering or gain controls.
Filt. Noise: Enveloped noise, post-lter.
Noise Env.: Noise generator's amplitude envelope.
Inputs:
Ext. In: Used to replace the noise generator when EXT IN mode is
selected.
6.5.13.3 Design Notes
See the design notes for Resonating Bar above.
6.5.14 Rungler Oscillator
6.5.14.1 Description
This Block is built around Rob Hordijk's "Rungler" circuit [136]. For more
information, look at the standalone Rungler Block. More specically, this
Block is loosely based on Hordijk's "Benjolin" circuit [137], but it features a
few changes (namely, two Runglers).
In this implementation, the Block consists of two Bento-core Oscillators
and two Runglers. Oscillator 1 (top) provides the clock for Rungler 1, and
the data for Rungler 2. Oscillator 2 (bottom) provides the clock for Rungler
2, and the data for Rungler 1.
CHAPTER 6. EURO REAKT 257
Figure 6.86: Rungler Oscillator Panel
Each oscillator has two FM inputs. The FM knob controls the depth of
modulation from either the opposing oscillator or the FM IN (controlled by
the OSC/EXT switch under the FM knob). The RUNGLER knob controls
the amount of modulation provided by the internal Runglers (selectable via
the RUNG1/RUNG2 switch below the RUNGLER knob). Like the Bento
Box oscillator, there are three modes of FM (EXPonential, LINear, and
THRU-ZERO LINear).
Like the standalone Rungler Block, the sensitivity of the DATA input for
each Rungler is controlled by the COMP knob. Each Rungler can also be
set to LOOP.
CHAPTER 6. EURO REAKT 258
6.5.14.2 Controls and Terminals
Panel Controls:
RUNGLER: Controls the amount of FM modulation applied to the
oscillator via one of two internal Runglers.
EXT/OSC 1/2: Select the FM source for the FM knob. Choose be-
tween the opposing oscillator or the FM IN input.
RUNG 1/2: Select which internal Rungler is used for FM.
COMP 1/2: Control the internal comparator on the DATA input (in
this case, the opposing oscillator). Essentially, this will control how
sensitive the DATA input is. Below 12 o'clock, you'll receive a lot of
positive bits. Above 12 o'clock, you will nd fewer.
WRITE/LOOP: LOOP will lock the shift register's contents. It will
still advance with a positive GATE input, but Bit 8 will be passed to
Bit 1 instead of new DATA being read. WRITE continously reads new
data.
Outputs:
Mix: Both oscillators summed together in a 50/50 blend.
Osc1/2: Independent oscillator outputs.
Rung1/2: Direct, stepped outputs from the Runglers.
CHAPTER 6. EURO REAKT 259
Figure 6.87: Snare Panel
6.5.14.3 Design Notes
This is a very complex generator capable of modal and simultaneous poly-
morphism. It is simultaneously polymorphic as it can be used as an oscillator
and a random modulation generator at the same time. It is modally polymor-
phic, as either oscillator can be dropped down to LFO rates via the frequency
control. When dropped to LFO rates, the associated Rungler performs better
as a step sequencer.
CHAPTER 6. EURO REAKT 260
6.5.15 Snare
6.5.15.1 Description
Based on synth patches found in Jim Clark's Nord Modular Book [124] and
Sound on Sound's Synth Secrets column [133]. It attempts to roughly model
the snare synthesis method on a TR-808 or TR-909. It's not meant to be a
100% accurate model, but it is a great way of quickly reaching a usable snare
sound.
The left half is composed of two triangle oscillators. These are meant to
emulate the tone of the drum heads being struck. The right half is composed
of a noise source and two lters. These are meant to emulate the tone of
the snares on the bottom of the drum. By using only the oscillator half, you
could use this as a primitive Tom-Tom generator. By using only the noise
half, you could use this as a lo- cymbal source.
6.5.15.2 Controls and Terminals
Panel Controls:
FREQ: Determines the frequency of the two triangle oscillators. Their
harmonic ratio remains stable. Using the 12 o'clock setting produces a
value closest to the intended sound.
RATIO: Determines the decay ratio of the oscillators vs. the decay
of the noise source. At full clockwise, the oscillators will decay at the
CHAPTER 6. EURO REAKT 261
same rate as the noise source. Using a setting around 12 o'clock yields
the most typical results.
P. ENV: Controls the amount that the oscillators will detune over the
course of the amplitude envelope. Leave at low values for a more natural
sound.
XFADE: Crossfade between the triangle oscillators and the noise source.
CUTOFF: Determines the cuto of the serial low-pass and high-pass
lters for the noise source. Full clockwise gives the most natural sound.
DECAY: Determines the decay time of the exponential decay envelope
for the noise source only.
RES: Controls the resonance of the serial lters on the noise side. Can
be used to produce very unusual snares.
Noise Types:
LFSR: Low Frequency Shift Register. More digital, lo- noise source.
WHITE: White noise.
EXT IN: Use the signal present at the Ext. In input instead of an
internal noise generator.
Inputs:
Ext. In: Signal used when EXT IN is selected as the noise source.
CHAPTER 6. EURO REAKT 262
Outputs:
Noise: Noise generator, post-ltering. Unaected by OUT.
Oscs: Two triangle oscillators. Unaected by OUT.
Noise Env.: The noise half 's decay envelope. Unipolar, unaected by
OUT.
Osc. Env. The oscillators' decay envelope. Unipolar, unaected by
OUT.
6.5.15.3 Design Notes
Like Clap and Drum, this is a simultaneously polymorphic design. It can be
used as a triggered drum generator, a ltered noise source, a stacked triangle
oscillator pair, and a dual envelope generator at the same time.
6.5.16 SumSyn Oscillator
6.5.16.1 Description
This is a summation synthesis Block, based on an algorithm found in Noise
Engineering's "Loquelic Iteratis" [138]. It diers from his implementation
in that it doesn't have internal Phase Modulation or a more sophisticated
waveshaper. However, it adds multi-mode FM and a switchable Fold/Hard-
clip output.
CHAPTER 6. EURO REAKT 263
Figure 6.88: SumSyn Oscillator Panel
In this method of synthesis, three sine wave oscillators are used. Sine 1
(Main Freq) and Sine 2 (Main Freq - Spread Freq) are summed together in
a way based on the BRIGHT setting. They are divided by Sine 3 (Spread
Freq, and 90 degrees out of phase, so technically a cosine wave), which runs
through a complicated shaping algorithm rst. At the nal stage, the entire
mix runs through either a hard clipper or a wavefolder (The wavefolder is
used in the original implementation).
6.5.16.2 Controls and Terminals
Panel Controls:
BRIGHT: This control introduces higher harmonics into the output,
making the main output sound brighter.
CHAPTER 6. EURO REAKT 264
SHAPE: Each sine wave runs through a hyperbolic waveshaper (like
the one present in the Waveshaper Block). This control aects the
shape of all three internal oscillators.
SPREAD: Controls the frequency relationship between Sine 1 and 2.
Directly sets the frequency of Sine 3.
FOLD/CLIP: Select whether the nal mix runs through a wavefolder
or hard clipper.
Outputs:
Sin1-3: Dedicated outputs for all three oscillators. These outputs are
tapped post-waveshaping.
Sin Mix: All three sine waves mixed together and averaged.
6.5.16.3 Design Notes
This is a rhizomatic and polymorphic design with a large number of linked
outputs. In addition to the complex timbres available from the main output,
the three oscillators can be mixed independently or together at the Sin Mix
output. Thus, this could be used as a basic additive oscillator with three
sines while also being used as a Summation Synthesis voice.
CHAPTER 6. EURO REAKT 265
Figure 6.89: Sync Oscillator Panel
6.5.17 Sync Oscillator
6.5.17.1 Description
This is based o of the SYNC mode from Mutable Instruments' Braids
Macro Oscillator. In this generator, two oscillators are hooked up in the
classic "hard-sync" patch style, where a master oscillator phase resets a sec-
ond oscillator whenever it completes a cycle.
The main oscillator follows the tuning of the keyboard input and fre-
quency knob, while the synced oscillator's frequency is oset from the main
oscillator's frequency via the SPREAD control.
6.5.17.2 Controls and Terminals
Panel Controls:
CHAPTER 6. EURO REAKT 266
SAW/SQR: Crossfades between Saw and Square waveforms at the main
Out.
SPREAD: Controls the frequency relationship between the main and
synced oscillators.
MIX: Controls the balance between the Main oscillator and the Syncing
oscillator.
Outs:
Main Saw: Dedicated output for the main oscillator's sawtooth wave.
Unaected by the OUT control.
Sync Saw: Dedicated output for the syncing oscillator's sawtooth wave.
Unaected by the OUT control.
Main Sqr: Dedicated output for the main oscillator's square wave. Un-
aected by the OUT control.
Sync Sqr: Dedicated output for the syncing oscillator's square wave.
Unaected by the OUT control.
6.5.17.3 Design Notes
This is a rhizomatic design with a lot of outputs. It could possibly be con-
sidered simultaneously polymorphic in that it could generate a synced LFO
(main saw out) and gate (synced out) at dierent or linked frequencies.
CHAPTER 6. EURO REAKT 267
Figure 6.90: Toy Oscillator Panel
6.5.18 Toy Oscillator
6.5.18.1 Description
This is based o of the TOY* mode from Mutable Instruments' Braids
Macro Oscillator. In this generator, a variable waveform runs through various
bit manipulating operations to sound like a low-quality or circuit-bent toy.
6.5.18.2 Controls and Terminals
Panel Controls:
PW: Controls the pulse width of the square shape of the oscillator.
S. RATE: Controls the sampling rate of the oscillator. Does not aect
the oscillator's audible frequency.
CHAPTER 6. EURO REAKT 268
Figure 6.91: Triple Bento Panel
GLITCH: Determines the strength of the bitshifting operations.
6.5.18.3 Design Notes
Aside from being able to operate at LFO rates, this is a monosemous design
intended only to emulate the mode from Braids. I expanded on the Braids
design by adding a variable waveform with PW control, but that's about it.
The most intriguing part of the original design is the Glitch control, which
combines a number of bitshift and logic operations to simulate circuit bending
sounds. To make that more reusable, I took that part of the algorithm and
added it as a mode to the Bircrusher eect Block.
CHAPTER 6. EURO REAKT 269
6.5.19 Triple Bento
6.5.19.1 Description
This is inspired by a few of the modes (/|/|x3, -_-_x3, /\x3, and SIx3)
from Mutable Instruments' Braids Macro Oscillator. In this generator, three
waves are summed together. Unlike Braids, instead of using a static waveform
stack, this oscillator is built around the variable-shape Bento oscillator from
the Reaktor 6 standard Blocks Library.
Osc 1 follows the tuning of the keyboard input and frequency knob, while
Osc 2 and Osc 3 are oset from Osc 1's frequency via the SPREAD controls.
6.5.19.2 Controls and Terminals
Panel Controls:
SPREAD1/2: Sets the frequency of the secondary oscillators as a re-
lationship to the main oscillator. At 12 o'clock, the frequencies are
equal.
Outputs:
Osc 1-3: Individual oscillator outputs, aected by the OUT control.
6.5.19.3 Design Notes
This is a rhizomatic design. It combines three extremely simple oscillators
into one quick interface. The SPREAD controls (which can be indepen-
dently modulated) are useful for making either chords or a detuned stack of
CHAPTER 6. EURO REAKT 270
Figure 6.92: Triple Ring Panel
oscillators. The main oscillator can drop down to .1 Hz, and the secondary
oscillators can go even lower (via SPREAD). Because of this, it can double
as an interesting multi-LFO.
6.5.20 Triple Ring
6.5.20.1 Description
This is based o of the RING mode from Mutable Instruments' open-source
Braids Macro Oscillator. In this generator, three sine waves are multipled
(ring modulated) with each other before running through a waveshaper.
Sine 1 follows the tuning of the keyboard input and frequency knob, while
Sine 2 and Sine 3 are oset from Sine 1's frequency via the SPREAD controls.
CHAPTER 6. EURO REAKT 271
6.5.20.2 Controls and Terminals
Panel Controls:
SPREAD1/2: Sets the frequency of the secondary oscillators as a re-
lationship to the main oscillator. At 12 o'clock, the frequencies are
equal.
SHAPE: Controls a hyperbolic waveshaper that occurs after the cas-
caded ring modulation. At 12 o'clock, the sine timbre is preserved. At
full CW, it turns the output into square waves only. At full CCW, the
output is closer to impulses.
Outputs:
Sin1-3: Individual sine wave outputs, unaected by the OUT or SHAPE
controls.
1 x 2: Oscillators 1 and 2 ring modulated, unaected by the OUT or
SHAPE controls.
6.5.20.3 Design Notes
Like the SumSyn oscillator, this is a rhizomatic design with a large number of
linked outputs. In addition to the complex timbres available from the main
output, the three oscillators can be mixed independently. Thus, this could
be used as a basic additive oscillator with three sines.
CHAPTER 6. EURO REAKT 272
Figure 6.93: Twin Peaks Panel
6.5.21 Twin Peaks
6.5.21.1 Description
This is based o of one of the modes from Mutable Instruments' excellent
open-source Braids Macro Oscillator. In this generator, white noise runs
through parallel BP lters. Both of them share the same resonance.
BP1 follows the tuning of the keyboard input and frequency knob, while
BP2 is oset from BP1's frequency via the SPREAD control.
6.5.21.2 Controls and Terminals
Panel Controls:
SPREAD: Sets the frequency of the second band-pass lter in relation
to the main frequency.
CHAPTER 6. EURO REAKT 273
RES: Sets the resonance of both band-pass lters.
BP1/BP2: Controls the mix of the lters present at the main output.
Outputs:
White: Dedicated white noise generator.
BP1/2: Outputs for both lters, aected by the OUT gain control.
6.5.21.3 Design Notes
This is a simultaneously polymorphic design. It can be used to generate white
noise along with multiple pitched outputs (depending on how resonant the
lters are).
6.5.22 VOSIM Oscillator
6.5.22.1 Description
This Block implements a synthesis method that is very similar to VOSIM
(but not exactly accurate). This alternative method is described by Rob
Hordijk [139].
Real VOSIM depends on an impulse train with uneven spacing. This
uses a sawtooth oscillator as an envelope generator with synced sine waves
to act as the formants. This oscillator includes further modications from
Hordijk's implementation.
CHAPTER 6. EURO REAKT 274
Figure 6.94: VOSIM Oscillator Panel
VOSIM is a type of synthesis that excels in producing vocal and vowel
tones. It is often considered to be a form of granular synthesis. In this
implementation, a sawtooth wave creates a grain envelope for a two sine gen-
erators. The sine generators operate at a frequency multiple of the sawtooth
wave (determined by the FORMANT knobs). This grain is then multiplied
by itself (in SIN^2 mode) or by a rectied version of itself (DIODE mode).
One modication that I made is the addition of a hyperbolic waveshaper.
At 12 o'clock, normal sine waves are produced. Towards full clockwise, you
will get something closer to square waves (giving you something like a lo-
VOSIM). Towards full counter-clockwise, glitchy impulses are produced.
CHAPTER 6. EURO REAKT 275
6.5.22.2 Controls and Terminals
Panel Controls:
FORM. 1/2: Determines the frequency of the sine generator in relation
to the frequency of the saw envelope.
SHAPE: Hyperbolic waveshaper. Modies the internal sine waves. 12
o'clock produces a normal tone. Full clockwise gives lo- squares, full
anti-clockwise gives glitchy impulses.
1/2: Controls the balance of the two sine generators.
SIN^2/DIODE: In SIN^2 mode, the grain ring modulates itself. In
DIODE mode, the grain is multiplied by a rectied version of itself.
DIODE mode gives a more symmetrical waveform with a lower per-
ceived frequency.
Outputs:
Osc 1/2: Dedicated oscillator outputs. These are tapped after wave-
shaping occurs.
Saw Env: Unipolar sawtooth oscillator (labelled Env because it is the
grain envelope).
6.5.22.3 Design Notes
This is a simultaneously polymorphic design capable of generating two bipo-
lar sine oscillators and one unipolar saw oscillator at the same time. It has
CHAPTER 6. EURO REAKT 276
a very wide frequency range, so this can be changed to two sine LFOs and
one saw envelope. The frequency of all three outputs can be separate.
6.6 Noise and Chaos
This category of Blocks is focused on the generation of unpredictable audio
and/or modulation signals. A signicant number of these Blocks were ported
directly from SuperCollider and expanded with more controls.
Many of these Blocks share the following controls, which will not be
detailed in each Block's description unless notable:
Panel Controls:
OUT: Controls the level of the signal present at the Block's output.
This can be unipolar or bipolar, indicated by the knob's graphics.
FREQ: Frequency is a bit of a misnomer for this control, as most
of these Blocks do not produce cyclical signals. However, this control
determines the frequency of the Block's internal clock that is used to
calculate new samples.
FAST/SLOW: Dramatically changes the frequency range of the FREQ
control. In SLOW mode, the lowest speed is 0.04 seconds *per sample*.
STEPPED/LINEAR: Turns on linear interpolation between samples.
At audio rates, this will sound like a low-pass lter. At modulation
CHAPTER 6. EURO REAKT 277
rates, new values will appear in a smooth, sliding fashion. This is
equivalent to the L variation of each SuperCollider chaos uGen.
AC/DC: This enables an optional DC lter to remove bias from eects
that can introduce it. I've included this switch especially for eects
that double as CV processors.
CHAOS x: Controls a named coecient within a given chaotic equa-
tion.
Outputs:
Out: Primary signal output.
6.6.1 1-Op Chaos
6.6.1.1 Description
This Block combines a number of 1-operator chaos Blocks into an easy,
switch-based interface.
6.6.1.2 Controls and Terminals
The following chaotic equations are found using the MODE switch:
CRACKLE: A re-implementation of SuperCollider's Crackle uGen. 0-
0.5 on the CHAOS knob will produce a pleasant hiss with color varia-
tions. Higher values introduce pops and clicks.
CHAPTER 6. EURO REAKT 278
Figure 6.95: 1-Op Chaos Panel
BAD CRACKLE: A failed re-implementation of SuperCollider's Crackle
uGen (while I was rst learning Reaktor Core). 0-0.5 on the CHAOS
knob will produce a pleasant hiss with color variations. Higher values
introduce screams and machine noise.
IKEDA: An implementation of the Ikeda Chaotic Map: https://en.wikipedia.org/wiki/Ikeda_
At high chaos values, this becomes a chaotic attractor. At lower chaos
values, it provides stable oscillations.
LOGISTIC: A re-implementation of SuperCollider's Logistic uGen. At
low frequencies, this provides random stepped modulation. At high
frequencies, this will produce wild modem sounds.
STANDARD: A re-implementation of SuperCollider's StandardN and
CHAPTER 6. EURO REAKT 279
StandardL uGens. These uGens are based o "an area preserving map
of a cylinder discovered by the plasma physicist Boris Chirikov". In
musical terms, it's a chaotic oscillator that is good at maintaining a
stable state before breaking up into unusual behavior. It works well as
both a modulation source and as an audio-rate noise source.
TENT: Chaos generator based on the Tent Map equation found here:
https://en.wikipedia.org/wiki/Tent_map
Outputs:
Out X/Y: Most of the above chaotic equations have two dimensional
outputs. For the one-dimensional equations, the Y output is simply
-X.
6.6.1.3 Design Notes
Before writing this dissertation, there were eleven single-equation chaos Blocks.
Considering that they all had roughly the same functionality, this was waste-
ful design. If a user wanted to experiment with various forms of chaos, they
would need to delete their current chaos Block, add in a dierent one, and
rewire it. This design uses modal polymorphism in two ways. First, the
various chaos modes have largely dierent purposes. Crackle is great as a
pleasant audio source, while Standard works well for stable oscillations. Sec-
ond, the frequency range and interpolation switches have huge impacts on
the output, selecting between smooth and stepped modulation or full audio
CHAPTER 6. EURO REAKT 280
Figure 6.96: 2-Op Chaos Panel
functionality. After creating these Blocks (1-Op, 2-Op, and 3-Op Chaos),
they are now my favorite Blocks for unpredictable modulations.
6.6.2 2-Op Chaos
6.6.2.1 Description
This Block combines a number of 2-operator chaos Blocks into an easy,
switch-based interface.
6.6.2.2 Controls and Terminals
The following chaotic equations are found using the MODE switch:
CHAPTER 6. EURO REAKT 281
CUSP A re-implementation of SuperCollider's CuspN and CuspL uGens.
This creates a chaotic map based on the following equation:
q
x[n + 1] = a − b ∗ |x[n]|
At low frequencies, this produces a useful stepped or smoothed semi-
random sequence. (Why "semi-random"? Well, it's chaotic, meaning that
it's a deterministic sequence. It's not a typical pseudo-random generator.
Its output tends towards repetition with only minor variation.) At high
frequency, it provides stable tones with intermittent dropouts.
This Block is recommended much more for modulation than for audio.
The two knobs have a lot of "dead spots" where a DC oset or 0 value
will be produced. These occur pretty suddenly. It makes for an interesting
modulation that occasionally holds its value, but it will produce random
silence if being used as a heavily modulated oscillator.
An optional DC Blocking lter is available at the output.
GAUSS CHAOS A chaos oscillator of my own design, based in part on
Supercollider's LFGauss uGen. That uGen creates a oscillation or envelope
with the cycle shape of a Gaussian window. This implements that equation,
but uses feedback instead of a phasor for the equation's input.
The LFGauss equation is:
f (x) = exp((x − iphase)2 /(−2.0 ∗ width2 ))
In this Block, "x" is the previous output value of f(x). Chaos A is iphase,
and Chaos B is width.
CHAPTER 6. EURO REAKT 282
At certain settings, this can create very stable oscillations.
HENON A re-implementation of SuperCollider's HenonN and HenonL
uGens. This creates a chaotic map based on the following equation:
x(n + 2) = 1 − a ∗ x(n + 1)2 + b ∗ x(n)
The Y output is equal to the b*x(n) portion of the equation, so the scaling
of that output is heavily dependent on B.
HETRICK A variation on Henon created after a programming error.
MOUSE This is an implementation of the Mouse Map, also known as the
Gauss Iterated Map [140].
There are a lot of regions that provide stable oscillations in this map.
At higher chaos values, you will see repeating waveforms with interesting
interruptions.
6.6.2.3 Design Notes
See 1-Op Chaos Design Notes.
6.6.3 3-Op Chaos
6.6.3.1 Description
This Block combines a number of 3-operator chaos Blocks into an easy,
switch-based interface.
CHAPTER 6. EURO REAKT 283
Figure 6.97: 3-Op Chaos Panel
6.6.3.2 Controls and Terminals
The following chaotic equations are found using the MODE switch:
LCC (Linear Congruent Chaos) A re-implementation of SuperCollider's
LinCongN and LinCongL uGens. These uGens are based on the following
chaotic equation:
x[n + 1] = (a ∗ x[n] + c)%
This is one of the pickier chaos generators. Some settings provide ex-
tremely stable and rich oscillations. Other settings are pure noise. Sometimes
the controls feel like they are doing nothing. Othertimes, a tiny adjustment
will have a massive eect!
CHAPTER 6. EURO REAKT 284
Figure 6.98: Brusselator Panel
QUADRATIC A re-implementation of SuperCollider's QuadL and QuadN
uGens. These uGens are based on the following dierence equation:
x(n + 1) = a ∗ x(n)2 + b ∗ x(n) + c
6.6.3.3 Design Notes
See 1-Op Chaos Design Notes.
6.6.4 Brusselator
6.6.4.1 Description
This is a chaotic grain generator, partially based on the Brusselator SLUGen
for SuperCollider [141]. It simulates a chemical reaction that typically dies
o quickly. With extreme parameter settings, it can oscillate.
CHAPTER 6. EURO REAKT 285
It has an internal impulse generator that rapidly retriggers its initial
conditions. The reason for this is because it frequently "dies o" to zero
values. In a way, it's a biologically inspired grain generator.
6.6.4.2 Controls and Terminals
Panel Controls:
FREQ: This behaves dierently from the other FREQ knobs on the
Euro Reakt chaos generators. This control will aect the perceived
frequency of the system.
DELTA: This behaves more like the other FREQ controls. It deter-
mines how quickly new values are calculated.
GAMMA & MU: These two controls work in concert to determine the
timbre of the system and whether or not it will self-oscillate.
REGEN: Sets the frequency of the internal impulse generator. At 0, it
will not auto-generate and will need to be manually triggered.
DISTURB: Adds an amount of gaussian randomization to the frequency
of the impulse generator.
SEED: Manually resets the system with new initial conditions.
Inputs:
CHAPTER 6. EURO REAKT 286
Reset: A positive zero-crossing transition here will reset the system
with new initial conditions. This can be combined with the internal
impulse generator.
Outputs:
Out X/Y: Chaotic outputs.
Trig: Outputs a trigger whenever the system is reset. This is equal
to the sum of the internal impulse generator, the SEED panel control,
and triggers received at the Reset input.
6.6.4.3 Design Notes
This is a simultaneously polymorphic design, as it generates an impulse train
and a chaotic signal. It could be considered modally polymorphic at certain
settings, as the chaotic signal can be either a steady oscillator or triggered
percussion source.
6.6.5 Chaotic 2D/3D Attractors
6.6.5.1 Description
These two Blocks contain a number of 2D and 3D chaotic attractors, most
of which use 4 operators.
6.6.5.2 2D Modes
The TYPE knob selects the following attractors on the 2D Block:
CHAPTER 6. EURO REAKT 287
Figure 6.99: Chaotic Attractor Panels
DE JONG This is a chaotic attractor described by Peter de Jong [142].
CLIFFORD This is a chaotic attractor described by Cliord Pickover
[142].
MODIFIED LATOOCARFIAN This is a chaotic attractor described
by Cliord Pickover and implemented as a SuperCollider uGen [143]. I have
made my own modication to the attractor. I replaced a sine function with
a cosine function to prevent the attractor from getting stuck at 0 values and
not regenerating.
TINKERBELL The Tinkerbell map is described by Alligood, Sauer, and
Yorke [144].
CHAPTER 6. EURO REAKT 288
6.6.5.3 3D Modes
The TYPE knob selects the following attractors on the 3D Block:
LORENZ This attractor was originally developed by Edward Lorenz as
a way to model atmospheric convection [145].
ROSSLER This attractor was developed by Otto Rossler as as a simplied
alternative to the Lorenz attractor [146].
MODIFIED PICKOVER 3D This attractor is described in the ap-
pendix of Cliord Pickover's book Chaos in Wonderland [143]. The original
equation uses ve variables. I have modied it to use only four variables to
work with DrawJong and this Block's interface.
6.6.5.4 Design Notes
These Blocks are a continuation of my Masters research on chaotic oscillators.
My Masters project was an iOS application called DrawJong. DrawJong used
all of the above attractors except for Tinkerbell and Latoocaran. It was a
way to visualize and sonify these chaotic systems by the use of wavetable
oscillators. These Blocks eliminate the use of wavetables and simply con-
tinuously generate the attractors. However, they have a greatly expanded
frequency range and independent output for each dimension. It could be
considered to be modally polymorphic, as the FREQ knob covers a massive
CHAPTER 6. EURO REAKT 289
Figure 6.100: Dust Generator Panel
frequency range. These can be used as a slow stepped/smooth modulation
sources or an audio-rate oscillators.
6.6.6 Dust Generator
6.6.6.1 Description
This Block is a re-implementation of SuperCollider's Dust and Dust2 op-
codes. Dust generates irregular impulses with random heights.
6.6.6.2 Controls and Terminals
Panel Controls:
DENSITY: Selects how frequently random impulses will appear. At
low densities, it will sound like vinyl crackle or small artifacts. At
CHAPTER 6. EURO REAKT 290
higher densities, it turns into a white noise source.
UNI/BI: Selects between unipolar impulses, which are useful for trig-
gers, or bipolar impulses, which are more useful for audio noise. In
SuperCollider, Dust is unipolar, while Dust2 is bipolar.
Outputs:
Trig: Generates triggers of a uniform amplitude (instead of random
amplitude).
Noise: Dedicated white noise source.
6.6.6.3 Design Notes
This is one of my favorite SuperCollider uGens, as it is a versatile generator
that can work as a pure noise source, an irregular trigger generator, or as a
pleasant click generator. I wanted to expand on the original Dust algorithm
by tapping more outputs. This Block is simultaneously polymorphic, as it
creates the standard Dust output along with a constant white noise output.
I've also added a switch to change between unipolar or bipolar impulses,
making it easier to switch between the Dust and Dust2 behaviors.
CHAPTER 6. EURO REAKT 291
Figure 6.101: Feedback Sine Panel
6.6.7 Feedback Sine Chaos
6.6.7.1 Description
This Block implements two Supercollider Chaos uGens: FBSineN and FB-
SineL. A sine wave is fed back on itself using Phase Modulation. Controls are
given to modify the index and phase behavior of the sine oscillator directly.
This can generate a stable sine wave or chaos.
6.6.7.2 Controls and Terminals
Panel Controls:
INDEX X: Multiples the sine lookup index. At around 10 o'clock, you
can use this to get a perfect sine.
CHAPTER 6. EURO REAKT 292
PHASE X: Multiplies the phase of the lookup section. At full counter-
clockwise, the multiplier is x1, giving you a perfect sine.
FEEDBACK: Controls the amount that the sine feeds back into its
phase lookup section. This is an attenuverter, so it can ip the polarity
of the feedback.
PHASE +: Determines how quickly the phase increments or decre-
ments. 12 o'clock freezes the oscillator. Clockwise acts like a frequency
control (but can introduce lots of aliasing at high speeds, as the FREQ
control eectively sets a sampling rate). Counter-clockwise gives more
chaotic behavior.
6.6.7.3 Design Notes
Like many of the chaos and noise generators, this is modally polymorphic.
The frequency and interpolation settings mean that this can operate as an
audio oscillator, an LFO, or a stepped modulation source. The various chaos
settings move this between a pure sine tone and an aggressive, chaotic gen-
erator.
6.6.8 FitzHugh-Nagumo Chaos
6.6.8.1 Description
This is a chaotic oscillator based on the model of a neuron ring. This
Block is based on the FitzHughNagumo uGen for SuperCollider (part of the
CHAPTER 6. EURO REAKT 293
Figure 6.102: Fitzhugh-Nagumo Panel
SLUGens plug-in collection).
It tends to be much more stable than many of the other chaotic oscillators.
As such, it works very well as a semi-predictable modulation source.
6.6.8.2 Design Notes
Like the other chaotic generators, this is modally polymorphic. A future
design improvement would be to combine this with the 2D Attractors Block.
Unlike the 2D Attractors Block, this Block has a SEED gate and a frequency
range switch. Both of those could be added to the Attractors.
CHAPTER 6. EURO REAKT 294
Figure 6.103: Gingerbread Chaos Panel
6.6.9 Gingerbread Chaos
6.6.9.1 Description
A re-implementation of SuperCollider's GbmanL and GbmanN uGens. These
uGens create a chaotic map based on the "Gingerbreadman" algorithm [147].
This algorithm is heavily dependent on initial parameters. When you rst
load this Block, it loads standard (non-random) initial conditions. Clicking
"SEED" will clear the current memory and reseed the Block with new, ran-
dom initial conditions. It will occasionally achieve stable oscillation.
6.6.9.2 Controls and Terminals
Panel Controls:
SELF FM: Sets the amount of feedback used to modulate the FREQ
CHAPTER 6. EURO REAKT 295
Figure 6.104: Low Frequency Noise Panel
setting.
6.6.9.3 Design Notes
Like the other chaos Blocks, this is a modally polymorphic design. This algo-
rithm was not rolled into the 1- or 2-op Chaos Blocks since it used a dierent
control set. Instead of having a CHAOS control, it has a SELF FM feedback
control that did not exist in the original SuperCollider implementation.
6.6.10 Low Frequency Noise
6.6.10.1 Description
This is a switchable noise source designed for extra-slow modulations. It can
generate at a steady sampling rate or with random uctuations.
CHAPTER 6. EURO REAKT 296
6.6.10.2 Controls and Terminals
Panel Controls:
FLUX: Controls the intensity of random frequency uctuations. At 0,
the noise will be generated at a constant rate. As you increase FLUX,
this rate will become more random.
Modes:
White: Classic noise. Very rapid changes and large amplitude jumps.
LFSR: Low Frequency Shift Register Noise. Also pretty rapid, but has
a more digital feel at faster frequencies.
Gray: "Gray Noise" as dened by Supercollider (I've seen multiple
denitions of Gray, which is why I've specied SC here). This is an
extremely harsh digital distortion that randomly ips bits in a word-
length variable. It is characterized by very extreme value jumps.
Pink: Less harsh than White noise. More gradual amplitude changes.
Tends to cluster in regions.
Brown: Low-frequency noise. Very useful as a random modulation
source. Extremely slow rate of amplitude change. Closer to a "drunk"
random source.
Outputs:
CHAPTER 6. EURO REAKT 297
Stepped: Whenever a new sample is generated, this output holds that
value until the next sample is generated.
Smooth: This output linearly interpolates each sample at a rate equal
to the generation rate (i.e. if a new sample is generated every second,
it will take one second to reach the new value).
6.6.10.3 Design Notes
Yes, low-frequency is a bit of a misnomer for a noise generator. However, I
feel that it is an apt musical description. This is modally polymorphic as the
choice of noise sources can vary greatly. It could be consider simultaneously
polymorphic, as the Smooth and Stepped outputs have very dierent pur-
poses. There's an alternative version of this Block called Spectral Noise.
It uses the generators in this Block to populate spectral bins. It creates
extremely harsh, digital-sounding noise.
6.6.11 Multi-Noise
6.6.11.1 Description
This is a multi-out simple noise source. There are no controls. All noise
sources are generated simultaneously.
6.6.11.2 Controls and Terminals
Outputs:
CHAPTER 6. EURO REAKT 298
Figure 6.105: Multi-Noise Panel
White - Classic noise. Fairly bright and harsh.
Pink - Less harsh than White noise.
Brownian - Low-frequency noise. Very useful as a random modulation
source. Articial gain has been added to make it more audible.
SC Gray - "Gray Noise" as dened by Supercollider (I've seen multiple
denitions of Gray, which is why I've specied SC here). This is an
extremely harsh digital distortion that randomly ips bits in a word-
length variable.
CHAPTER 6. EURO REAKT 299
Figure 6.106: Probability Noise Panel
6.6.11.3 Design Notes
This is an unusual design for Euro Reakt, and one that I intend to replace
in a future update (I plan on combining it with Low Frequency Noise and
adding a frequency range switch). This design is based o of the Steady
State Fate Quantum Rainbow [148], a Eurorack module that has a number
of simultaneous noise outputs with no controls. There isn't much of a reason
to have access to all of the outputs at once in a software environment, so
combining it with the LFNoise Block and making it modally polymorphic
would be a better all-around design strategy.
CHAPTER 6. EURO REAKT 300
6.6.12 Probability Noise
6.6.12.1 Description
This is a binary noise generator. It randomly generates samples with two
possible values.
6.6.12.2 Controls and Terminals
Panel Controls:
BI/UNI: In bipolar mode, the output will be -1.0 or 1.0, which is more
useful for audio. In UNI mode, the output will be 1.0 or 0.0. This is
useful for generating random gates.
PROB: This determines the likelihood that the output will be high each
cycle. At full clockwise, no minimum value will appear at the output.
6.6.12.3 Design Notes
This is an original design that isn't based on an existing Eurorack module
(at least, to my knowledge). This is modally polymorphic, as it works well
as both an extreme audible noise generator or a slow, random gate source.
In SMOOTH mode, it generates unpredictable triangle modulations.
CHAPTER 6. EURO REAKT 301
Figure 6.107: Spectral Noise Panel
6.6.13 Spectral Noise
6.6.13.1 Description
This is a remix of the Low Frequency Noise Block. The noise generator is
used to populate spectral bins, resulting in a lot of harsh, digital-sounding
noise.
6.6.13.2 Design Notes
See Low Frequency Noise design notes.
CHAPTER 6. EURO REAKT 302
Figure 6.108: Squid Axon Panel
6.6.14 Squid Axon
6.6.14.1 Description
A very unusual design from Nonlinear Circuits [149]. It combines a three-
voice mixer, an Analog Shift Register, and two kinds of feedback (linear
and diode-clipped non-linear). It is based on the Hodgkin-Huxley equation
describing the chaotic behavior observed in giant squid axons [150]. Essen-
tially, this is an Analog Shift Register with an alternative counting method,
a mixer, and two types of feedback.
6.6.14.2 Controls and Terminals
Panel Controls:
LIN: Linear feedback. Feedback is taken from the mix output and is
CHAPTER 6. EURO REAKT 303
directly added to the mixed input.
NONLIN: Nonlinear feedback. Feedback is taken from the mix output
and is sent through a diode emulation, rectifying the feedback and
aecting the amplitude curve.
GATE: Manual, clickable button that duplicates the functionality of
the Gate input.
Outputs:
Out 1-4: Individual outputs for each stage of the shift register.
Gate: Gate output. Outputs the Gate input OR the manual GATE
panel button.
Mix: Simple sum of all three inputs.
6.6.14.3 Design Notes
See Analog Shift Register design notes.
6.6.15 Triggered Noise
6.6.15.1 Description
Manually triggered random source. It only uses CPU when triggered, so it's
much more ecient to use this than a Noise Block with a Sample & Hold
Block.
CHAPTER 6. EURO REAKT 304
Figure 6.109: Triggered Noise Panel
6.6.15.2 Controls and Terminals
Modes:
White: Classic noise. Very rapid changes and large amplitude jumps.
LFSR: Low Frequency Shift Register Noise. Also pretty rapid, but has
a more digital feel at faster frequencies.
Gray: "Gray Noise" as dened by Supercollider (I've seen multiple
denitions of Gray, which is why I've specied SC here). This is an
extremely harsh digital distortion that randomly ips bits in a word-
length variable. It is characterized by very extreme value jumps.
Pink: Less harsh than White noise. More gradual amplitude changes.
Tends to cluster in regions.
CHAPTER 6. EURO REAKT 305
Brown: Low-frequency noise. Very useful as a random modulation
source. Extremely slow rate of amplitude change. Closer to a "drunk"
random source.
Gauss: Gaussian distribution. This means that most values will cluster
toward the center value of 0.0 instead of the extremes of +/- 1.0.
6.6.15.3 Design Notes
This is a monosemous design. Even though it has dierent modes, the
various modes do not greatly aect the behavior of the Block. It is a quick,
ecient replacement for the classic Noise and Sample & Hold Meta-Module.
A future update idea would be to add a Ext. In input and mode, allowing
this to work as a more generic Sample & Hold Block.
6.6.16 Tuned Noise
6.6.16.1 Description
This is a ltered noise source with extra resonance. A white noise generator
runs through a tuned 4-Pole Ladder Filter.
6.6.16.2 Controls and Terminals
Panel Controls:
RES: Controls the resonance of the lter.
CHAPTER 6. EURO REAKT 306
Figure 6.110: Tuned Noise Panel
NOISE: Controls the gain of the white noise to the lter.
LP/HP: Crossfade between low-pass and high-pass lter responses on
the main output.
Outputs:
White: Dedicated white noise output, unaected by the OUT gain
control.
LP/HP/BP: Dedicated high-pass, low-pass, and band-pass outputs,
aected by the OUT gain control.
CHAPTER 6. EURO REAKT 307
6.6.16.3 Design Notes
This is very similar to Twin Peaks, also a simultaneously polymorphic design.
Twin Peaks is based on a mode from Braids that emphasizes tonality more
than noise, as the only available lters are two highly resonant band-pass
lters. This Block, meanwhile, emphasizes the shaping of noise through the
use of a multimode lter. The noise is available independently of the various
ltered outputs, making this simultaneously polymorphic.
6.7 Samplers
This category consists of two Blocks dedicated to sample playback and ma-
nipulation.
These two Blocks share the following controls:
Panel Controls:
OUT: Controls the output level.
START/END: These two controls determine the start and end points
for sample playback.
AC/DC: Enables or disables DC ltering. DC ltering is useful for
removing low-frequency artifacts that appear when using extremely
slow playback rates. Turning o DC ltering is useful if you want to
play a recording of a modulation waveform.
CHAPTER 6. EURO REAKT 308
Figure 6.111: Stereo Sample Looper Panel
SMOOTH/LO-FI: Smooth turns on cubic interpolation for sample
playback. The dierence in interpolation strategies is very apparent
when playing back samples at lower rates than 1x.
6.7.1 Stereo Sample Looper
6.7.1.1 Description
This Block allows you to load a mono or stereo audio le and play it back in a
looped manner. The START and END points of the loop can be modulated,
along with the SPEED of playback.
The sampler will output its PHASE so that you have a synced modulation
source (It ramps from 0-1, 0 being the START point and 1 being the END
point). The sampler will also output a trigger when the loop reaches its END
CHAPTER 6. EURO REAKT 309
point. You can use this to trigger other sounds or sequences in sync with
your loop.
6.7.1.2 Controls and Terminals
Panel Controls:
SPEED: Controls the speed of the internal phasor, in eect controlling
the playback rate of the sample. 12 o'clock is no playback, and anything
CCW from there is reverse playback.
X1/2: Controls the maximum speed of playback for the SPEED knob.
FREE/KEYBD: In FREE mode, the playback speed follows the SPEED
knob. In KEYBD mode, the playback speed is determined by the sig-
nal present at the Pitch input, with C3 being 1x playback, C4 being
2x, C2 being 0.5x, etc.
RUN/STOP: Enable or disable playback.
FM: Frequency modulation depth for the internal phasor.
RESET: Immediately restarts the sample at its start index.
FREEZE: Pauses the internal phasor, holding the sample playback at
its current value.
There are two modes for how the START and END controls behave:
CHAPTER 6. EURO REAKT 310
CLEAN - After adjusting the Start and End points, the new points
will take eect after the current loop completes or a manual reset is
triggered.
SMEAR - After adjusting the Start and End points, the internal oscil-
lator immediately adjusts its speed, causing all sorts of strange sounds.
Inputs:
Pitch: When using KEYBD mode, the signal present here will control
the playback speed of the sample.
FM: FM input for modulating the speed of the read head.
Reset: A positive gate here will reset the read head to the START
point.
Freeze: A positive gate here will hold the read head in its current
position.
Outputs:
End Trig: Whenever the sample resets, a trigger will appear here. The
red lamp on the panel indicates the state of this output.
Phase: This is a unipolar output with a sawtooth wave corresponding
to the current position of the read head. The phase is given as the phase
between START and END, not the absolute start and end points of the
sample.
CHAPTER 6. EURO REAKT 311
Figure 6.112: Stereo Sample Scanner Panel
6.7.1.3 Design Notes
This is a simultaneously polymorphic design. In addition to playing a sample,
this will also produce a timing trigger along with a phase signal. Both of
these outputs are useful for syncing other patch elements to the sample.
6.7.2 Stereo Sample Scanner
6.7.2.1 Description
This Block allows you to load a mono or stereo audio le and scan through
it using another waveform. This has been calibrated to work best with the
Standard Library's Bento Box LFO.
An ascending Ramp wave will give you your sample played back forwards.
CHAPTER 6. EURO REAKT 312
A descending Sawtooth wave will play your sample backwards. A Triangle
will play the sample forwards then backwards. Experiment with other wave-
forms to nd very unusual sounds.
6.7.2.2 Controls and Terminals
Panel Controls:
IN: Controls the amplitude of the signal used to address the sample's
table data.
X1/2: Used to amplify both the input scanner signal and the output
data.
Three modes of rectication are available. Any signal can be used as an
input, but only unipolar values in the range [0.0, 1.0] can be used to scan
through the sample.
UNI - Converts a bipolar signal into a unipolar signal. This adds 1.0
to the signal and then halves the amplitude.
HALF - Negative component of signal is silenced.
FULL - Negative component of signal is ipped (Takes absolute value
of signal).
Inputs:
Scan: The signal present here is used to address the sample's table
data.
CHAPTER 6. EURO REAKT 313
6.7.2.3 Design Notes
Unlike the Sample Looper, this is a monosemous design. It is a monosemous
design that is almost identical to the Wavetable Distortion Block, except in
this Block the user manually denes the table by loading a sample. There is
a lot of complexity present in the control set, but ultimately it is an eect
with a single mono input and stereo output.
6.8 Sequencing and Logic
This category of Blocks is primarily used to generate or process gates, trig-
gers, and other timing signals. Some of these Blocks are capable of generating
stepped modulation sequences as well.
Many of these Blocks share the following controls, which will not be
detailed in each Block's description unless notable:
Panel Controls:
GATE: This is a clickable button on the front panel that matches the
functionality of the Block's Gate input. The Gate is high for as long
as the user's mouse click is held down.
RESET: This is a clickable button on the front panel that matches the
functionality of the Block's Reset input. The Reset message is triggered
immediately on mouse down.
Indicators: These are red squares that show the user the status of the
CHAPTER 6. EURO REAKT 314
Figure 6.113: Simple Switch Panels
Block's gate inputs and/or outputs. The user can assign new colors to
the indicators by clicking and dragging on them.
Inputs
Gate: This is the primary timing input for most sequencing Blocks.
Typically, a true/false signal is used here to advance the sequencer
Blocks.
Reset: On sequencing Blocks with multiple stages/steps, a positive
signal received here will reset the sequencer back to its rst step.
CHAPTER 6. EURO REAKT 315
6.8.1 1->2 and 2->1 Switches
6.8.1.1 Description
These two Blocks provide two simple switching strategies. The 1 In 2 Out
Switch takes one input and toggles between two outputs for it. It can be
thought of as a binary panner. Likewise, the 2 In 1 Out Switch takes two
inputs and toggles which one appears at the output. In can be thought of as
a binary crossfader.
6.8.1.2 Controls and Terminals
Panel Controls:
IN: Manual, clickable button that behaves the same as the Gate input.
SMOOTH/INSTANT: Determines how quickly the switch changes states.
SMOOTH uses interpolated switching. This is useful for switching au-
dible signals, as it eliminates clicks and discontinuities. INSTANT
mode toggles the switch instantaneously. This is more useful for se-
quencing and timing signals, where instant changes are critical for
proper patch behavior.
TRIG/GATE: In TRIG mode, the active channel will change and hold
on the reception of a positive gate signal. That channel will remain
active until a new, separate, positive gate signal is received. In GATE
mode, the second channel is selected if (and only if ) the gate input is
CHAPTER 6. EURO REAKT 316
Figure 6.114: 8-Way Switch Panel
high. In other words, TRIG mode acts like a ip-op (toggle) switch,
while GATE mode behaves like a momentary switch.
Outputs:
Gate 1/2: Outputs a gate that is true when the corresponding stage is
active.
6.8.1.3 Design Notes
See 8-Way Switch design notes.
CHAPTER 6. EURO REAKT 317
6.8.2 8-Way Switch
6.8.2.1 Description
This is a modulation-addressable 8-way switch. It will take in 1 input, and
send it to 1 of 8 outputs. It will take in 8 inputs, and select one for the MIX
output. It will also take 8 inputs, and determine which one is active at its
respective output.
The "STAGE" knob will select the currently active in/output, while
"STEPS" determines the length of the sequence.
This Block is a swiss-army knife of utility. You can use it for creating
gate sequences, routing audio or modulations, and more. When creating
snapshots, you can use the STAGE setting to store a static routing.
6.8.2.2 Controls and Terminals
Panel Controls:
STAGE: Manually select the currently active output. If STAGE is
higher than STEPS, STEPS will be selected. Changing the STAGE
knob automatically triggers a reset.
STEPS: Determines the highest active output. If set to 6, for example,
Outputs 7 and 8 will be skipped.
RANDOM: Selects a random gate (within range) to activate.
CHAPTER 6. EURO REAKT 318
INSTANT/SMOOTH: Determines how quickly the switch changes states.
SMOOTH uses interpolated switching. This is useful for switching au-
dible signals, as it eliminates clicks and discontinuities. INSTANT
mode toggles the switch instantaneously. This is more useful for se-
quencing and timing signals, where instant changes are critical for
proper patch behavior.
1->8/8 IN: In 1->8 mode, In 1 will be used for inputs 2-8 as well. If
you want to do 1->8 switching, use this, and then monitor OUT 1-8.
In 8 IN mode, all 8 inputs are independent. If you want to do 8->1
switching, use this mode, and monitor the MIX output.
Inputs:
GATE: Advances the counter by one.
RESET: Resets the counter to "STAGE" or "STEPS," whichever is
lower.
RANDOM: Chooses a stage to activate at random (within range).
Outputs:
OUT1-8: Switched outputs
G1-G8: Gate outputs for individual steps. Remain high while the step
is selected.
Trigs: Generates an impulse whenever a new output is selected.
CHAPTER 6. EURO REAKT 319
Reset: Generates an impulse whenever a reset event occurs (whether
from the panel, externally, or from the counter reaching max).
6.8.2.3 Design Notes
This is one of the most complex designs in Euro Reakt, and it is highly
polymorphic. One of my favorite uses for it is as a variable patch manager
for Reaktor. In Reaktor, the routing between Blocks is static within an
ensemble and cannot be changed from preset to preset. Since this can route
1 input to 8 outputs, 8 inputs to 1 output, or 8 inputs to 8 normally-closed
outputs, this Block can act as a per-preset patch manager.
It also acts as the foundation for a step sequencer. The outputs can
be addressed sequentially (or randomly) via gates, and the dedicated gate
outputs can then be used to trigger other sources. In fact, this Block is the
foundation for the Voltage Controlled Gates Block, which is almost identical
in design but ultimately less exible. The VC Gate Block is not polymorphic
as it only acts as a sequential gate Block. Still, it is useful when only the
counting abilities of the 8-Way Switch are needed.
Another non-polymorphic, rhizomatic oshoot is the Random Gates Block,
which has eight gates but no sequential counter. The gate selection is only
random.
This Block is much more useful than the unidirectional 2->1 and 1->2
Blocks, which do not save their states with presets. I've only kept those
Blocks in Euro Reakt due to their lower CPU requirements. They are in-
CHAPTER 6. EURO REAKT 320
Figure 6.115: Analog Shift Register Panel
tended for patches which need simple binary switching. Despite their sim-
plicity, the 2->1 and 1->2 Blocks are simultaneously polymorphic as they
also generate gates corresponding to the active stage.
6.8.3 Analog Shift Register
6.8.3.1 Description
This is an eight-stage clocked memory device, typically used to create rounds
or canons.
Essentially, OUT 1 acts like a simple Sample-and-Hold. Whenever the
ASR receives a positive GATE, the state of IN will be frozen and sent to
OUT 1.
After another GATE, the previous state of OUT 1 will be passed to OUT
CHAPTER 6. EURO REAKT 321
2, and OUT 1 will acquire a new input. For each successive gate, the previous
voltage will "shift" by one output.
6.8.3.2 Controls and Terminals
Panel Controls:
GATE: Manually trigger the Gate input from the panel.
6.8.3.3 Design Notes
This is a rhizomatic design, as it is intended to connect to many other mod-
ules. There aren't any improvements upon a typical ASR design. A more
unusual ASR design is the Squid Axon Block, based on a Eurorack design
by Nonlinear Circuits [149]. It features a three channel input mixer and
two feedback paths. Even then, the Squid Axon is not polymorphic in its
hardware conguration. I created simultaneous polymorphism in the Block
version by adding three input attenuverters and an additional Mix output.
One future design consideration is that the Analog Shift Register and
Squid Axon use dierent counting methods. The ASR uses a more traditional
cascading method where each stage immediately passes its value to the next.
In the Squid Axon, all four stages receive the same value one-by-one before
the rst stage receives a new value. It would be worth adding a switch to
change the counting method on Squid Axon.
CHAPTER 6. EURO REAKT 322
Figure 6.116: ADC and DAC Panels
6.8.4 Analog-to-Digital/Digital-to-Analog Converters
6.8.4.1 Description
These two Blocks are used to convert signals to and from 8-bit representa-
tions.
6.8.4.2 Controls and Terminals
Panel Controls:
OFFSET - Adds a DC oset to the signal. In A/D conversion, this
happens post-scaling. In D/A conversion, this happens pre-scaling.
Encoding/Decoding MODEs:
CHAPTER 6. EURO REAKT 323
UNI8 - 8-bit unsigned representation. Expects a unipolar input signal
of 0-1, but don't let that stop you from using bipolar signals!
BI OFF - Scales and osets a +/- 1.0 signal to 0-1 before using the
UNI8 encoder. Naturally, detail is lost.
BI SIG - First 7 bits are used to represent your signal. The 8th bit
carries the sign of the signal (positive or negative)
Three modes of RECTication.
NONE - No rectication. Normal signal.
HALF - Negative component of signal is silenced.
FULL - Negative component of signal is ipped (Takes absolute value
of signal).
6.8.4.3 Design Notes
These were inspired by the ADC and DAC modules in the Nord Modular
[97]. These are interesting designs to analyze with the taxonomy! I would
say that the ADC is modally polymorphic, as BI SIG mode can be used to
nd the sign of an incoming signal and output it on the eighth bit. The DAC
is rhizomatic, as it can connect to up to eight dierent Blocks. However, its
function never changes.
CHAPTER 6. EURO REAKT 324
Figure 6.117: Binary Gate Panel
6.8.5 Binary Gate
6.8.5.1 Description
This Block is an original idea that I haven't seen in hardware before. It is a
boolean gate with separate triggers for activating the gate's on and o states.
6.8.5.2 Controls and Terminals
Panel Controls:
ON: Sets the gate output to 1.0.
OFF: Sets the gate output to 0.0 or -1.0, depending on the mode.
UNI/BI: In UNI mode, the gate is 0.0 when o. In BI mode, the gate
is -1.0 when o.
CHAPTER 6. EURO REAKT 325
Inputs:
Gate On: Sets the gate output to 1.0 upon reception of a positive
signal.
Gate O: Sets the gate output to 0.0 or -1.0 upon reception of a positive
signal.
6.8.5.3 Design Notes
This is a monosemous design that I have wanted in a hardware module. I've
discovered that this is known as a Set-Reset Flip Flop (S-Dominated type,
as the ON/Set gate takes precedence over the OFF/Reset gate). In a future
update, I will move this Block to Legacy and roll it into the main Flip Flop
Block.
6.8.6 Boolean Logic (2 or 3 Input)
6.8.6.1 Description
These Blocks take in two or three inputs and produce multiple outputs based
on logical boolean operations. The inputs are considered to be true if they
are above 0.5.
6.8.6.2 Controls and Terminals
Panel Controls:
CHAPTER 6. EURO REAKT 326
Figure 6.118: Boolean Logic Panels
IN A/B/C: Manual, clickable gate controls for each input.
Modes:
OR: Produces a gate when either input is high.
AND: Produces a gate when both inputs are high.
NOR: Produces a gate when neither input is high.
XOR: Produces a gate when only one input is high.
NAND: Produces a gate as long as both gates aren't high simultane-
ously.
XNOR: Produces a gate when either both gates are low or both gates
are high.
CHAPTER 6. EURO REAKT 327
CELE (2-Input Block Only): This is the only included logic opera-
tion that uses history. This is a Muller C-Element output. It is true
when both elements are true, and false when both elements are false.
However, when only one input element is true, it will hold its previous
state.
NOT A/B/C: Outputs that are always the logical inverse of their as-
sociated inputs.
6.8.6.3 Design Notes
This is a simultaneously polymorphic design where 2-3 inputs provide many
dierent output behaviors, each of which has its own output. The current
designs could be improved in a number of ways. First, instead of having
two Blocks, it would be better to have one Block with the ability to switch
between 2 and 3 input behaviors. Second, it could have a modally polymor-
phic output with a modulated MODE switch. This would replace the need
to combine this Block with the 8-Way Switch Block if a user wants to use
multiple types of logic. Finally, I think it would be an improvement to move
the C-ELEMENT output to the Flip Flop Block instead, as that section has
behavior that is more similar to the various Flip Flop modes.
CHAPTER 6. EURO REAKT 328
Figure 6.119: Burst Generator Panel
6.8.7 Burst Generator
6.8.7.1 Description
This is a useful tool that takes in one trigger and turns it into many evenly-
spaced 1 ms triggers. The number of triggers is determined by the REPEATS
knob.
6.8.7.2 Controls and Terminals
Panel Controls:
SPACE: Determines the length of time between each trigger in the
burst.
REPEATS: Determines the number of triggers that appear inside of
CHAPTER 6. EURO REAKT 329
the burst.
x1/x10: Increase the range of the SPACE or REPEATS knob tenfold.
GATE: Manually trigger a burst from the panel.
KILL: Manually stop a burst immediately from the panel.
Outputs:
Out: The initial trigger followed by all repeats.
Burst: The repeats only.
First: The initial trigger only.
Last: The last repeat only.
Phase: Unipolar envelope output. Outputs the phase between the last
impulse and the next.
6.8.7.3 Design Notes
This is a great rhizomatic and simultaneously polymorphic design. There
are a lot of variations on the trigger outputs, meaning that this can provide
a lot of variation within a patch. The phase output adds polymorphism. It
may seem like a strange feature, but it's perfect for creating bursts of grains.
The phase can be used to create a grain envelope.
CHAPTER 6. EURO REAKT 330
Figure 6.120: Comparator Panel
6.8.8 Comparator
6.8.8.1 Description
A comparator listens to a signal (audio or control), and determines whether
the signal crosses a threshold (set by the COMPARE knob). If the signal
exceeds this threshold, the comparator outputs a positive signal. Otherwise,
the comparator outputs 0.0 (if set to UNI mode) or -1.0 (if set to BI mode).
6.8.8.2 Controls and Terminals
Panel Controls:
COMP: Sets the threshold to compare the input signal against. At 12
o'clock, the threshold is 0.0.
CHAPTER 6. EURO REAKT 331
UNI/BI: In UNI mode, the gate outputs are 0.0 when low. In BI mode,
the gate outputs are -1.0 when low.
Outputs:
> Out: Gate output, true when the input is greater than the COMP
threshold.
> Trig: Trigger output, red when the input is greater than the COMP
threshold.
< Out: Gate output, true when the input is less than the COMP
threshold.
< Trig: Trigger output, red when the input is less than the COMP
threshold.
Crossing: Trigger output, red when the input crosses the threshold in
either direction.
6.8.8.3 Design Notes
This is a exible, audio-rate comparator with simultaneous polymorphism.
The Crossing output adds polymorphism, as the comparator can simultane-
ously act as a sign detector and sample-accurate zero-crossing detector.
CHAPTER 6. EURO REAKT 332
Figure 6.121: Delta Panel
6.8.9 Delta
6.8.9.1 Description
This Block outputs a voltage based on the rate of change of its input. For
instance, if the input is a triangle waveform, Delta's output will be positive
while the triangle is rising, and negative while the triangle is falling.
The amplitude of the Delta output will be highly dependent on the fre-
quency of the input signal. Because of this, a D-Boost knob controls a mas-
sive gain range (over 8000x amplitude). The Delta output is hard-clipped,
so it won't go louder than +/- 1.0.
The Delta output also runs through a bi-directional comparator. The
comparator will output a gate and a trigger based on the current direction.
The triggers, for instance, can be useful for synchronizing timing signals to
CHAPTER 6. EURO REAKT 333
a sawtooth wave. When the sawtooth wave resets, a directional trigger will
re.
6.8.9.2 Controls and Terminals
Panel Controls:
D-BOOST: Delta Boost. Multiplies the Delta output by up to 8000x.
UNI/BI: In UNI mode, the gate outputs are 0.0 when low. In BI mode,
the gate outputs are -1.0 when low.
Outputs:
> Out: Gate output, true when the delta is positive.
> Trig: Trigger output, red when the delta transitions to positive.
< Out: Gate output, true when the delta is negative.
< Trig: Trigger output, red when the delta transitions to negative.
Dir. Change: Trigger output, red when the signal changes direction.
6.8.9.3 Design Notes
This Block idea came about while prototyping a Sandman Pro mode in Max
and realizing the importance of the delta object in many situations. The
Max delta object is monosemous, simply taking in an input and outputting
CHAPTER 6. EURO REAKT 334
Figure 6.122: Flip Flop Panel
the rate of change per sample. For this Block, I created simultaneous poly-
morphism by adding separate gate and trigger outputs for positive and nega-
tive signals, along with a trigger output that res whenever the signal changes
direction.
6.8.10 Flip Flop
6.8.10.1 Description
A multi-purpose clock and gate utility. Flip-Flops are frequently combined
with Boolean Logic gates to create complex, generative patterns and events.
This Block contains both a Flip-Flop T and a Flip-Flop D.
CHAPTER 6. EURO REAKT 335
6.8.10.2 Controls and Terminals
There are two inputs, GATE and DATA. GATE is important for both Flip-
Flops. DATA is important only for the bottom Flip-Flop (D).
FFT acts like a simple toggle switch. Every time it receives a clock, it
ips its current state (on or o ). If it receives a steady clock, it can be
thought of as a simple clock divider. It has many other excellent use cases,
though! For instance, it can react to a button or key press and act like a
latch (so that a user does not need to continue holding a key press).
FFD acts like a true-or-false Sample and Hold. Whenever the GATE
input goes high, the current state of the DATA input will be written to FF2.
It will continue holding this state until another GATE is received.
6.8.10.3 Design Notes
Like the Boolean Logic Blocks, this is a simultanously polymorphic design
where two inputs interact with dierent output systems. This Block is due
for an upgrade, as there are many more types of Flip-Flop circuits that
can be emulated here. First, the Binary Gate Block is an SR NOR Latch
Flip-Flop, so it could be eliminated and combined with this Block. Second,
the C-ELEMENT output on the Boolean Logic (2-input) Block is closer in
behavior to a Flip-Flop, meaning that it would t better here. Finally, the JK
Flip-Flop type would be a useful addition. In addition to these, it could be
advantageous to add a modally polymorphic output with a MODE control,
allowing a user to use one output and experiment with the various behaviors.
CHAPTER 6. EURO REAKT 336
Figure 6.123: Gate Combiner Panel
6.8.11 Gate Combiner
6.8.11.1 Description
This Block adds up to 8 gates together to form one gate, which is present at
the OR output. The NOR output is always the inverse of the OR output.
Finally, the TRIGS output takes all input gates and converts them to triggers
of .001 seconds in length.
6.8.11.2 Controls and Terminals
Outputs:
OR: True when any of the gate inputs are true.
NOR: True when none of the gate inputs are true.
CHAPTER 6. EURO REAKT 337
Figure 6.124: Gate Delay Panel
Trigs: Outputs a trigger when any of the inputs become true.
6.8.11.3 Design Notes
This is a simple, useful design that exhibits simultaneous polymorphism. It
has two logic outputs that are useful for determining whether there is an
active timing event between many streams. It is also used for extracting a
single trigger stream from the union of multiple timing sources.
6.8.12 Gate Delay
6.8.12.1 Description
This is a very useful gate and trigger manipulation tool. This receives a gate
or trigger as input, and outputs a variable length gate after a specied time
CHAPTER 6. EURO REAKT 338
delay. For instance, it could receive a trigger, wait half a second, and then
output a .25 second gate.
At low delay times, you could use this for things like drum ams. At
higher delay times, you can program ghost notes and sub-rhythms.
6.8.12.2 Controls and Terminals
Panel Controls:
DELAY: Sets the amount of time it takes for the delayed gate to occur.
This is from 0 to 1 second. With the x10 switch enabled, this is from
0 to 10 seconds.
WIDTH: Sets the width of the delayed gate. This is from .001 to 1
second. With the x10 switch enabled, this is from .001 to 10 seconds
(Note that the bottom limit does not change).
Outputs:
Out: Variable-width delayed gate
Del. Trig: Delayed trigger (constant .001 second width)
In Trig: Input signal, converted to a .001 second width trigger.
In + Del.: Input and delayed triggers combined.
CHAPTER 6. EURO REAKT 339
Figure 6.125: Gate Matrix Panel
6.8.12.3 Design Notes
This is a simultaneously polymorphic design. It acts as a standard gate
delay and a gate-to-trigger converter. One of my favorite Meta-Modules is
to combine this with the Burst Generator. The Burst Generator creates a
series of events before triggering the Gate Delay on its last event. The Gate
Delay determines a length of silence that occurs before triggering the Burst
Generator again.
CHAPTER 6. EURO REAKT 340
6.8.13 Gate Matrix
6.8.13.1 Description
This complicated gate processor is based on Numberwang by Nonlinear Cir-
cuits [151].
It takes in four gates and outputs 16 multiplexed variations. The ONE
mode emulates the Numberwang by only outputting one gate at a time. The
separate ALL mode can trigger up to fteen simultaneous outputs, based on
the inputs.
Essentially, the Block acts as a 4-bit decoder where the input gates are
the bits and the output gates are integers 0-15. An easy way to look at it is
to add the input gates' binary values.
For instance, if gates 0001 and 0100 are triggered, output gate 0101 is
true.
6.8.13.2 Controls and Terminals
Panel Controls:
FREE/SYNC: In FREE mode, output gates go high immediately in
response to incoming gates. In SYNC mode, output gates only go high
if the Sync gate is high.
SYNC: Manual trigger for the Sync input. When SYNC mode is active,
the gate outputs will only be active when the Sync gate is high.
CHAPTER 6. EURO REAKT 341
ONE/ALL: In ONE mode, the Block acts as a 4-bit decoder and only
activates one output gate at a time. In ALL mode, the output rule is
that an output is true if (output OR input) is true. For instance, if the
input bits are 0101, then outputs 0101, 0100, and 0001 will be true.
Outputs:
4-Bit: This output acts as a simple 4-bit DAC. It generates a stepped
value based on the state of the input bits.
6.8.13.3 Design Notes
The original Numberwang is a wild, rhizomatic design that combines a large
number of inputs and outputs. However, the behavior of the module is fairly
static. I've expanded upon the original design by adding the ONE/ALL
mode switch and the 4-Bit output. The 4-Bit output adds simultaneous
polymorphism as the Block generates both gates and a stepped voltage based
on its inputs.
6.8.14 Logic Inverter
6.8.14.1 Description
This is a simple logic-inverting circuit, multiplied 8 times. This simply ips
any true or false signal (gates, triggers, logic, bits, etc.). The inverse of 1
is 0, and the inverse of 0 is 1. This cannot be achieved with a polarizing
VCA/attenuator, as the inverse of 1 is -1 (and 0 is 0) when done that way.
CHAPTER 6. EURO REAKT 342
Figure 6.126: Logic Inverter Panel
6.8.14.2 Design Notes
This is a simple design with eight copies of a monosemous circuit with no ad-
ditional functionality or interaction between channels. This Block is intended
as a quick, cheap problem solver. If a user wants inversion and complexity,
both Boolean Logic Blocks provide inverted outputs of each input channel
along with their various logical interactions.
6.8.15 Probability Gates
6.8.15.1 Description
This Block takes in one gate or trigger and passes it to up to 8 outputs with
per-output probability.
CHAPTER 6. EURO REAKT 343
Figure 6.127: Probability Gates Panel
6.8.15.2 Controls and Terminals
Panel Controls:
PR. 1-8 (Probability 1-8): Determines the probability that the assigned
output will be true on the reception of an incoming gate. At full clock-
wise, the output will always go true. At full counter-clockwise, the
output will never go true.
GATE/TRIG: In GATE mode, the active true outputs will be true
for as long as the input gate is true. In TRIG mode, each active true
output will only be active for the length of a .001 second trigger.
6.8.15.3 Design Notes
See Probability design notes below.
CHAPTER 6. EURO REAKT 344
Figure 6.128: Probability Panel
6.8.16 Probability
6.8.16.1 Description
This Block takes in one gate and routes it to one of two outputs, depending
on probability determined by the PROB knob.
6.8.16.2 Controls and Terminals
Panel Controls:
PROB: Determines the probability that an incoming gate will be routed
to OUT 2. Full counter-clockwise means that OUT 1 will always be
active, while full clockwise means that OUT 2 will always be active.
In the middle, the GATE will have about an equal chance of going to
either output (Never both simultaneously). Please be aware that 50/50
CHAPTER 6. EURO REAKT 345
does not mean that the gates will alternate! It simply means that they
will *roughly* be active for equal amounts of time.
GATE/HOLD: In GATE mode, the length of time that OUT 1 and
OUT 2 will be held high is the same as the length of the incoming
gate. In HOLD mode, each output is held high until the other goes
high.
Outputs:
OUT 1/2: Gate output with behavior determined by GATE/HOLD.
Trig 1/2: Trigger outputs, red whenever the corresponding stage goes
active (if the same stage is selected twice in a row, two triggers will be
red). These outputs are not aected by the GATE/HOLD switch.
6.8.16.3 Design Notes
This Block was inspired by Branches by Mutable Instruments [152]. It is a
very useful Block for adding chance to compositions by breaking up steady
timing streams. This is a rhizomatic design as it has four outputs that all
derive from the same basic algorithm. A more rhizomatic design is available
in the Probability Gates Block, which breaks one gate into eight outputs
with per-output probability. By combining Probability Gates with the Logic
Inverter, you can create a Meta-Module equivalent to eight Probability Blocks
(minus Trigger outputs).
CHAPTER 6. EURO REAKT 346
Figure 6.129: Random Gate Panel
6.8.17 Random Gates
6.8.17.1 Description
This Block takes in one gate or trigger, and passes it randomly to one of
eight outputs.
6.8.17.2 Controls and Terminals
Panel Controls:
MIN: Determines the minimum gate stage that will be selected.
MAX: Determines the maximum gate stage that will be selected.
CHAPTER 6. EURO REAKT 347
Figure 6.130: Rungler Panel
6.8.17.3 Design Notes
See 8-Way Switch design notes.
6.8.18 Rungler
6.8.18.1 Description
This Block is based on Rob Hordijk's "Rungler" circuit [136]. A Rungler
is based on a Shift Register (see also: Turing Machine and Analog Shift
Register Blocks). One input is the GATE, which steps the Shift Register
forward. The other input is DATA, which determines whether the current
Bit will be high or low.
The last three bits of the Shift Register (Bits 6, 7, and 8, where 8 is the
CHAPTER 6. EURO REAKT 348
most signicant bit) are then run through a digital-to-analog converter. This
produces a random, stepped, unipolar signal at the OUT output. This signal
has many uses, namely random modulation.
For a complete Rungler circuit, check out the Rungler Oscillator Block.
6.8.18.2 Controls and Terminals
Panel Controls:
WRITE/LOOP: In WRITE mode, the contents of the shift register are
aected by the signal present on the Data input. In LOOP mode, the
register is locked. This creates a looping sequence.
IN COMP: Sets a threshold for the Data input. When the signal present
at the Data input exceeds this threshold, the active bit will be set to
true.
SCALE: Sets the amplitude and polarity of the main output.
Outputs
B 1-8: Gate outputs. The state of the gate is equal to the state of each
bit in the register.
6.8.18.3 Design Notes
See Turing Machine design notes.
CHAPTER 6. EURO REAKT 349
Figure 6.131: Turing Machine Panel
6.8.19 Turing Machine
6.8.19.1 Description
This is a Block based on Music Thing Modular's excellent Turing Machine
[153]. The Turing Machine is an open-source DIY module that produces
random sequences. It uses a shift register to store 8 binary bits, which are
converted into an analog voltage.
The red squares on the right side indicate the state of the 8 internal bits.
Bit 1 (at the top) is the least signicant bit, meaning it barely aects the
sequence at all. Bit 8 (the bottom bit) is the most signicant bit, meaning
that it has a huge inuence on the sequence. The bits in between are in
increasing order of signicance.
Essentially, whenever a bit is true (indicated by its square being larger),
CHAPTER 6. EURO REAKT 350
it will increase the amplitude of the output sequence. When all bits are false,
the sequence output is simply "0". The sequence output is unipolar, so it
goes from a minimum of 0 (all bits false) to 1.0 (all bits true).
Whenever a gate is received, the shift register advances. The state of BIT
1 is passed to BIT 2, BIT 2 is passed to BIT 3 (and so on). Finally, BIT 8 is
passed back to BIT 1 via feedback. The PROB knob changes the probability
that this bit will ip.
When positive, WRITE 0 forces BIT 1 to be 0 (False) on the next in-
coming gate. WRITE 1 forces BIT 1 to be 1 (True) on the next incoming
gate.
All 8 bits have their own G OUT, turning each bit into a gate. This
replicates the functionality of the Turing Machine's PULSES expander.
6.8.19.2 Controls and Terminals
Panel Controls:
WRITE0/1: When clicked this will write the chosen value to the cur-
rently active stage.
GATE: When clicked, this will immediately advance the shift register
by one step.
PROB: Changes the probability that the currently active bit will ip.
It is functionally identical to the hardware Turing Machine's knob:
At full-clockwise (100%), the bits will *never ip*, meaning that a
CHAPTER 6. EURO REAKT 351
looping 8-step sequence will appear at the output. At full-counter-
clockwise (-100%), the bit will *always ip*, meaning that a looping
16-step sequence will appear at the output. At center-detent (0%, or
12 o'clock), the sequence will be as random as possible.
SCALE: Changes the amplitudes of the sequences on the Main and Alt
Out outputs.
Inputs:
Write 0/1: A positive signal here will write the chosen value to the
active bit.
Outputs:
Out: Main output with 256 possible voltages. On this output, each bit
has dierent signicance.
Alt Out: Alternative output with 9 possible voltages. On this output,
each bit has equal signicance.
G 1-8: Gate outputs. The state of the gate is equal to the state of each
bit in the register.
6.8.19.3 Design Notes
The Turing Machine and Rungler are sister modules with similar functional-
ity. They are random sequencers built upon the interaction of a shift register
CHAPTER 6. EURO REAKT 352
with a DAC. The Turing Machine uses all eight bits of a shift register along
with a simple feedback circuit to provide sequencing behavior without the
use of other Blocks (aside from a clock). The Rungler, meanwhile, requires
both a clock and a data source. It uses only three of the eight bits in the
shift register to produce its random output.
For simultaneous polymorphism, all 8 bits of the shift registers are avail-
able on both Blocks. This means that you can create your own path for
converting the bits to a voltage (primarily by using the Digital-To-Analog
Block, but any mixer can be used to assign value to each bit). Alternatively, if
you clock either Block with slower signals, you can use them as semi-random
8-step gate sequencers. At high frequencies, you can use each bit output as
a random unipolar square wave noise source.
6.8.20 Voltage Controlled Gates
6.8.20.1 Description
This is a modulation-addressable step sequencer, based on the "Dig. Out"
section of the Doepfer A-152 [154]. It provides a bank of eight exclusive,
sequential gates. The sequence can be advanced via gates or scanned via
modulation.
6.8.20.2 Controls and Terminals
Panel Controls:
CHAPTER 6. EURO REAKT 353
Figure 6.132: Voltage Controlled Gates Panel
GATE - Manual Trigger and indicator.
RESET - Manual Trigger and indicator. Resets clock to "STAGE" or
"STEPS," whichever is lower.
STAGE - Manually select the currently active gate. If STAGE is higher
than STEPS, STEPS will be selected. Changing the STAGE knob
automatically triggers a reset.
STEPS - Determines the highest active gate. If set to 6, for example,
Gates 7 and 8 will be skipped.
M Column - Mutes the selected gate. This gate will not be skipped.
Rather, its G output will not go high, nor will it contribute to the
"Trigs" output.
CHAPTER 6. EURO REAKT 354
Indicators - Largest square indicates the currently active step.
Inputs:
GATE: Advances the counter by one.
RESET: Resets the counter to "STAGE" or "STEPS," whichever is
lower.
Outputs:
G1-G8: Gate outputs for individual steps. Remain high while the step
is selected.
Trigs: Generates an impulse whenever a non-muted step is selected.
Reset- Generates an impulse whenever a reset event occurs (whether
from the panel, externally, or from the counter reaching max).
6.8.20.3 Design Notes
See 8-Way Switch design notes.
6.8.21 Voltage Storage
6.8.21.1 Description
This Block allows for the manual selection of voltages. The voltages are
organized into three rows, each with eight voltages. The GATE row at the
CHAPTER 6. EURO REAKT 355
Figure 6.133: Voltage Storage Panel
bottom shows what stage is currently active. The knobs above the indicated
stage determine the level present at that row's output (OUTS 1-3).
A conceptual analog is a sequencer without a built-in clock. To advance
the sequencer, a user must select the stage manually (either via the panel
GATE buttons or the GATE 1-8 inputs). A RANDOM button and input
will select a random stage.
6.8.21.2 Controls and Terminals
Panel Controls:
STAGE: This knob will select the currently active stage. This can be
modulated, so a unipolar phasor will produce behavior similar to a
traditional step sequencer.
CHAPTER 6. EURO REAKT 356
RANDOM: When clicked, a new random stage will be immediately
selected.
UNI/BI: Determines the behavior of Out1-3. UNI selects unipolar be-
havior, meaning that the outputs will be within the range of 0.0-1.0.
BI selects bipolar behavior, meaning that the outputs will be within
the range of +/- 1.0.
GATE 1-8: When clicked, the associated stage will be immediately
selected.
Inputs:
Gate 1-8: A positive gate here will cause the sequencer to jump to the
associated stage. If two gates are received simultaneously, the higher
numbered stage takes precedence.
Random: A positive gate here will cause the sequencer to jump to a
random stage. This input takes precedence over Gates 1-8.
Outputs:
Out 1-3: Outputs the voltage associated with the row on the active
stage.
G 1-8: Gate outputs. Each output will be true when the associated
stage is active.
CHAPTER 6. EURO REAKT 357
6.8.21.3 Design Notes
This is a simultaneously polymorphic design inspired by the Make Noise
Pressure Points [29]. The most typical use for this is preset storage. By
storing three voltages per stage, a user can save three values to jump to
during a patch. Alternatively, with the Random input gate and the individual
output gates, this can be used as a random gate sequencer. When combined
with Voltage Controlled Gates, this can act as a very exible 8-step sequencer.
When combined with a Switch, the number of steps in the sequence can be
expanded to 16 or 24 steps.
6.9 Utilities
These Blocks deal mostly with controlling Euro Reakt or using Euro Reakt
to control other devices.
6.9.1 Lissajous Display
6.9.1.1 Description
This Block is a two-dimensional oscilloscope. It has X and Y inputs, which
are then graphed on a Cartesian plane (instead of the traditional amplitude-
over-time oscilloscope displays). The primary reason for its inclusion in Euro
Reakt is to have a helpful visualizer for the multi-dimensional chaos Blocks.
By graphing the chaos outputs simultaneously, it is easier to see how the
CHAPTER 6. EURO REAKT 358
Figure 6.134: Lissajous Panel
outputs are related. It can also be used to graph any two modulation sources
to see how closely they interact. Finally, it can be used as a tuner. Two
oscillators can be used as inputs. If the oscillators are in tune with each
other, stable visual forms will appear.
6.9.2 Manual Gates
6.9.2.1 Description
This Block was designed to assist with the connection of MIDI controllers to
Blocks that depend on Gates or Triggers, but lack their own MIDI controls.
It is also useful as a centerpiece in large patches, where all important gate
controls can be reduced to one panel.
There are three dierent types of gate controls on here:
CHAPTER 6. EURO REAKT 359
Figure 6.135: Manual Gates Panel
GATE - Only stays positive as long as the button is held down.
TOG - Toggle. Goes positive on the rst positive event, and stays
positive until the next positive event.
TRIG - Trigger. Reduces positive events of any lengths to positive
events with lengths of only 1 ms.
This Block is very easy to attach to MIDI or OSC controllers. The Gate
buttons can be right-clicked, bringing up a MIDI/OSC learn menu.
CHAPTER 6. EURO REAKT 360
Figure 6.136: Meta Control Panel
6.9.3 Meta Control
6.9.3.1 Description
This Block acts as a Macro Generator and/or a 5-way signal copier with
per-out amplitude control. Like the Manual Gates Block, it was designed to
be a centerpiece control Block for maintaining large patches.
The general idea is that this Block creates four copies of a signal, each
with separate amplitude and polarity (using an attenuverter for each output).
There are two modes of operation, INT and EXT.
In INT mode, an internal oset generator is used as the MAIN input.
The MAIN knob is an attenuverter that changes the amplitude and polarity
of the oset signal.
In EXT mode, an external signal is used instead of the internal oset
CHAPTER 6. EURO REAKT 361
Figure 6.137: Trigger Fixer Panel
generator. Like INT mode, the MAIN knob attenuverts the signal preset on
the EXT. IN input.
6.9.3.2 Design Notes
With the INT/EXT switch, this is a modally polymorphic control Block. It
can generate signals on its own in INT mode or process external signals in
EXT mode.
6.9.4 Trigger Fixer
6.9.4.1 Description
This Block is meant as an interface between Euro Reakt's timing Blocks
(many of which use single sample impulses) and external Eurorack hardware
CHAPTER 6. EURO REAKT 362
(or other digital hardware with clock inputs). This takes triggers and im-
pulses as inputs, and produces 5 ms gates as outputs. These gates are long
enough to be detected by nearly all Eurorack modules, even those with low
sampling rates.
Chapter 7
Conclusion
7.1 Evaluation of Work
7.1.1 Euro Reakt
Euro Reakt is the ultimate byproduct of the three taxonomies that I have
created. The Blocks make heavy use of rhizomatic and simultaneously poly-
morphic design. I nd these Blocks inspiring to use, as the many inputs and
outputs encourage creative patching ideas that I would not have thought of
with more monosemous designs.
For the control taxonomy, connecting a MIDI or OSC controller to a
Reaktor Block is as simple as right-clicking on any panel control and instantly
mapping it to hardware. I have created multiple Blocks that facilitate fur-
ther control through macro splits (Meta Control), button routers (Manual
Gates), and interacting with the modular (Trigger Fixer). Furthermore, out-
363
CHAPTER 7. CONCLUSION 364
side of the Euro Reakt, the Reaktor environment integrates with hardware
modulars extremely well. Native Instruments has released a Block that will
tune and quantize any hardware oscillator automatically, along with a Block
that translates Block signals to MIDI output [155]. These Blocks are fully
compatible with Euro Reakt's sequencers, allowing Euro Reakt's many com-
plex sequencing paradigms to interact with external gear (or other software
synthesizers).
Finally, the exhaustive documentation and large set of example ensembles
come from my experience with the third taxonomy. I believe that this library
is a valuable addition to any classroom.
Euro Reakt has proven to be successful among Reaktor 6 users. It is
currently the highest rated and most downloaded item on the User Blocks
section of the Reaktor User Library. As of December 2016, it is the 11th most
downloaded item of all time in the Reaktor User Library (out of nearly 5,000
available downloadable items). It is also the 12th highest rated item in the
library, holding a ve star average after 246 reviews. Of the top fteen most
downloaded items in the library, it is the only one with a ve star average
review. It is also the only item in the top 15 that was updated in the last
nine years.
Many popular modular musicians have used Euro Reakt in their Reak-
tor ensembles, including Richard Devine [156] and Shiro Fujioka [157]. In
November 2015, I was invited by Native Instruments to give a presentation
in Los Angeles on Euro Reakt as part of their Native Sessions series. A
CHAPTER 7. CONCLUSION 365
recording of the presentation was posted on YouTube [158]. It currently has
over 12,000 views, with 74 likes and zero dislikes. Tutorials for Euro Reakt
have been posted by other users, including educators like Point Blank Music
School in London [159]. I have received a number of donations from happy
users, many of whom sent me personal messages that they had sold portions
of their Eurorack systems after using Euro Reakt.
7.1.2 Unltered Audio
The patchable modulation system has been a critical and commercial success
for our company. In the rst professional review available so far, Fault won
the Performance and Innovation awards from Computer Music Magazine
[160]. In their review, they say that the modulation system is a brilliant, in-
tuitive system and one that greatly rewards experimentation. Sandman Pro
received a near-perfect review from the same magazine, along with similar
praise for the modulation system and many available modes [161].
7.1.3 Taxonomies
On the basis of personal evaluation, the taxonomies have already proven to
be useful tools. The design taxonomy was written before the Euro Reakt
analysis chapter of this dissertation and lead directly to the Euro Reakt 3.1
and upcoming 4.0 updates. In the 3.1 update, I identied a large number
of design redundancies in the chaos Blocks, replacing 11 Blocks with 3 bet-
CHAPTER 7. CONCLUSION 366
ter, more exible designs. The 4.0 update not only continues this trend of
combining similar modules, it also focuses on improving existing designs by
identifying new output patch points to create simultaneous polymorphism.
For an example, the Clap Block was one of the rst to receive a major
upgrade. The Clap Block already had a number of audio outputs, but its de-
sign was less versatile than the more generic Drum Block, which had outputs
for every internally generated envelope. It made sense to add these enve-
lope outputs to Clap. The amplitude envelope is interesting since it provides
a rapid, multi-peak modulation source, while the reverb tail envelope is a
delayed modulation with a more pronounced decay. Since these envelopes
were already being calculated, it added no CPU overhead to add these useful
outputs to the Block.
Overall, the 4.0 update is the largest expansion yet for Euro Reakt and
features over 20 updated Blocks with expanded polymorphism. 4.1 will be
released shortly with another batch of design improvements.
So far, these taxonomies have held up well through the analysis of hun-
dreds of available Eurorack modules. So far, there haven't been any modules
that evade categorization.
CHAPTER 7. CONCLUSION 367
7.2 Future Work
7.2.1 Euro Reakt Updates
After this dissertation is led, I will release a large microsound update for
Euro Reakt. This update will focus primarily on grain generation. These
Blocks include a Window Generator (featuring multiple window types, vari-
able exponentiation, and a linked phase output) and an FOF oscillator. Many
other Blocks will receive mindful upgrades, including a phase output on the
Burst Generator (allowing for precise windows to be generated in complex
trigger streams).
In addition to this microsound-focused update, there is also the constant
push for more polymorphic and rhizomatic design in Euro Reakt. During
the writing of the design section of this dissertation, many Blocks (including
Clap and Comb Oscillator) had their DSP rewritten to accommodate more
simultaneous outputs. The Clap Block, for instance, received additional
outputs for its internal amplitude and reverb envelopes, along with an output
that provided only the simulated reverb tail. In total, twenty Blocks were
rewritten to add simultaneous polymorphism for the 4.0 update.
More Blocks are on the to-do list, including Gendy (a stochastic oscillator
based on a design by Iannis Xenakis), a rotating switch (similar to RYO Paths
to create rotating outputs like the 4ms Rotating Clock Divider), a Complex
Random in the vein of the Buchla Source of Uncertainty or Make Noise
Richter/Wiard Wogglebug, and ports of many more SuperCollider uGens,
CHAPTER 7. CONCLUSION 368
including Formlet, Klank, GravityGrid, Ringz, and DoubleWell.
Aside from new and upgraded Blocks, there's also a focus on removing
redundancies from the library. While writing the design section of this disser-
tation, it became very clear that many of the Chaos Blocks shared identical
interfaces with dierent (but similar) algorithms. Eleven of these Blocks
were combined to create three much simpler (and ultimately more versatile)
Blocks. One specic redundancy that will be eliminated is the inclusion
of many dierent Schroeder reverbs with identical control sets (SATREV,
JCREV, and JCREV FF). It would make sense to combine these in an eort
to make the library less dicult to navigate.
7.2.2 Unltered Audio
7.2.2.1 Modulation System
We are currently hard at work adding many improvements to the patchable
modulation system at the heart of all of our new plug-ins. Our rst major
task is to improve the existing modules, including the LFOs and Envelope
Follower.
Right now, the LFOs only reset when the DAW's transport restarts, and
every LFO resets to phase 0. To improve this, we are adding a phase reset
input to each LFO. This can be manually triggered via mouse click or au-
tomatically triggered from another modulation source. We are also working
on two designs for phase control. Our rst design is to simply add a Phase
CHAPTER 7. CONCLUSION 369
knob to each LFO. This knob would set the phase that the LFO would re-
set to. This is a simple, easy-to-implement concept. Our more interesting
concept is to add variable phase to each output on the LFO (right below the
per-output amplitude controls). This is much more dicult to implement in
a CPU-ecient manner, but would allow for a lot more variety in patches.
For the Envelope Follower, we want to add one option: the ability to
follow a sidechain input. This would greatly expand the capabilities of all
existing plug-ins, as they become more aware of other signals in the DAW
(thus making each plug-in more rhizomatic).
With those upgrades in place, we want to improve the user experience
for managing more complicated systems. There is currently a limit of six
modules available at a time, but unlimited outputs. This can quickly lead
to modules and cables going o screen, requiring the user to scroll to see all
current modules. We want to add the option to collapse modules, making it
easier to hide sections that are not being worked on. Furthermore, we want
to add per-module mute switches to better listen to each modules eect on
the system.
After we tackle all of these renements, we are going to add new modules.
The rst two that we'd like to implement are A(H)D and ADSR envelopes.
These envelopes will use the same trigger system as the upgraded LFOs.
These modules are not only nice improvements for the eect plug-ins, but
critical modules for future instrument plug-ins. In addition to the envelopes,
we will eventually add a step sequencer, a drawable LFO, and a MIDI note
CHAPTER 7. CONCLUSION 370
converter.
7.2.2.2 Plug-ins
Early next year we will start releasing plug-ins based on original research,
including a commercial implementation of Ryan McGee's Spatial Modulation
Synthesis [162] and potentially an implementation of Multi Phasor Synthesis,
described earlier in this dissertation.
Most relevant to the design ideas present in this dissertation is SpecOps,
our upcoming multi-mode spectral processor. SpecOps was designed and de-
veloped as a response to most of the spectral plug-in packages currently avail-
able, including GRM Tools, Soundmagic Spectral, and Soundhack's Spectral
Shapers. Each of those packages break a number of spectral utilities (pitch
shifting, brickwall ltering, etc.) down into separate plug-ins. Each plug-in
thus incurs the computational overhead and latency penalty of an FFT and
iFFT.
SpecOps is a design that combines linked and modal polymorphism to
overcome this problem. In SpecOps, the incoming signal only goes through
one FFT and iFFT. The spectral bin data is then shared between a number
of sub-processors. The most common processors are always available, includ-
ing pitch shifting and freezing. More esoteric lters are available in modal
sections. There are two modal sections with smooth controls (lters with
variable cuto, variable noise reduction/focus, etc.) and two modal sections
with toggled controls (binary eects such as neighbor ltering).
CHAPTER 7. CONCLUSION 371
By taking advantage of these modular design principals, we've created a
plug-in that has many advantages over the single-function plug-in packages:
Only incur the latency and computational overhead of one FFT, usually
the most expensive part of a spectral eect.
Allow a user to quickly experiment with swapping spectral algorithms
instead of deleting and loading plug-ins.
Share a single modulation system between various spectral processors.
7.2.2.3 Hardware
We are currently developing rmware for commercial Eurorack modules, on
track for release next year. For business purposes, I will leave these designs
out of this public dissertation and present these at my dissertation defense.
7.2.3 Modular Recordings
At the end of this dissertation, I am excited to return to my role as a modular
composer. In 2017, I plan on nally releasing an album of modular recordings
with the hours of material that I have.
Bibliography
[1] K. Schade, Modular Grid, 2015. [Online]. Available: https:
//www.modulargrid.net
[2] Doepfer-Story - Der Modul-Mogul, 1997. [Online]. Available:
http://www.doepfer.de/home{_}e.htm
[3] K. Schade, Modular Grid: Modules, 2015. [Online]. Available:
https://www.modulargrid.net/e/modules
[4] A. Ostler, Expert Sleepers Disting, p. 1, 2016. [Online]. Available:
http://www.expert-sleepers.co.uk/disting.html
[5] Synthrotek, ECHO - Voltage Controlled Echo, 2014. [Online].
Available: http://www.synthrotek.com/products/modular-circuits/
echo/
[6] C. Randall and A. Schabtach, DubJr Mk2, p. 1, 2015. [On-
line]. Available: http://www.audiodamage.com/hardware/product.
php?pid=ADM16
372
BIBLIOGRAPHY 373
[7] J. Mungo, Mungo Eurorack Overview, p. 15, 2016. [Online].
Available: http://mungo.com.au/Doc/MungoEuro.pdf
[8] MacroMachines, Macro Machines Products, p. 1, 2016. [Online].
Available: http://macromachines.net/shop/
[9] M. Pulver and G. Milstein, Tiptop Audio Z-DSP User Manual,
p. 19, 2009. [Online]. Available: http://www.tiptopaudio.com/
manuals/z-dsp.pdf
[10] BrokenSilicon, Error Codes #1, p. 2, 2014. [Online]. Available: http:
//analoguehaven.com/brokensilicon/errorcodes1zdspcard/manual.pdf
[11] R. Filippov, Four-tap Delay/Dual Crossfader
Manual, p. 7, 2014. [Online]. Available:
http://sputnik-modular.com/wp-content/uploads/2015/03/
SPUTNIK{_}FOUR{_}TAP{_}DELAY{_}DUAL{_}CROSSFADER{_}MANUAL{_}v1
pdf
[12] A. Blaze, Folktek Conduit, p. 1, 2016. [Online]. Available:
http://folktek.com/instruments/modular/conduit-modular
[13] T. Rolando, Make Noise Echophon Manual, Asheville, 2013. [On-
line]. Available: http://www.makenoisemusic.com/content/manuals/
EchophonManual.pdf
[14] D. Snazelle, Snazzy FX Dronebank Manual, p. 13,
BIBLIOGRAPHY 374
2014. [Online]. Available: http://www.analoguehaven.com/snazzyfx/
dronebank/manual.pdf
[15] T. Rolando, Make Noise STO Manual, Asheville, p. 9, 2013. [On-
line]. Available: http://www.makenoisemusic.com/content/manuals/
STOManual.pdf
[16] W. Mathewson, WMD Synchrodyne, p. 1, 2012. [Online]. Avail-
able: https://www.wmdevices.com/collections/eurorack-modules/
products/synchrodyne
[17] , WMD Synchrodyne Expand, p. 1, 2013. [Online]. Avail-
able: https://www.wmdevices.com/collections/eurorack-modules/
products/synchrodyne-expand
[18] O. Gillet, Braids Quick Start Guide, Paris, p. 2, 2013.
[Online]. Available: http://mutable-instruments.net/static/manual/
braids{_}quickstart.pdf
[19] RolandCorp, Roland System-500 512 Parameters, p. 1, 2015.
[Online]. Available: https://static.roland.com/assets/media/pdf/
SYS-512{_}parameter{_}guide{_}e01.pdf
[20] D. van Tijn, Intellijel Atlantis, p. 1, 2013. [Online]. Available:
https://intellijel.com/eurorack-modules/atlantis/
[21] S. Jaeger, Piston Honda Mk. 2 Manual, p. 1, 2012. [Online].
Available: http://www.theharvestman.org/pistonmk2.pdf
BIBLIOGRAPHY 375
[22] O. Gillet, Peaks Quick Start Guide, Paris, p. 2, 2013.
[Online]. Available: http://mutable-instruments.net/static/manual/
peaks{_}quickstart.pdf
[23] T. Rolando, Make Noise Maths, p. 1, 2013. [Online]. Available:
http://www.makenoisemusic.com/maths.shtml
[24] SergeFans, Serge DUSG, p. 1. [Online]. Available: http://www.
serge-fans.com/m-class-quad-slope.cfm
[25] J. Clark and D. van Tijn, Intellijel Cylonix Shapeshifter Manual, 1st ed.
Intellijel, 2013. [Online]. Available: https://dl.dropboxusercontent.
com/u/84988338/shapeshifter{_}manual{_}1.4.pdf
[26] M. Verbos, Verbos Electronics: Module List, p. 1, 2016. [Online].
Available: http://www.verboselectronics.com/modules/
[27] R. Filippov, Multitouch Keyboard/Controller Man-
ual, Portland, p. 9, 2015. [Online]. Avail-
able: http://sputnik-modular.com/wp-content/uploads/2015/11/
SPUTNIK-KEYBOARDCONTROLLER-MANUAL-v1.pdf
[28] W. Mathewson, WMD Poly Pressure Key-Array Teaser, p. 1,
2014. [Online]. Available: https://www.youtube.com/watch?v=
3WBbAWo9pW8
[29] T. Rolando, Pressure Points Manual, Asheville, p. 10, 2010.
BIBLIOGRAPHY 376
[Online]. Available: www.makenoisemusic.com/content/manuals/
PressurePointsManual.pdf
[30] Synthwerks, analoguehaven: Synthwerks FSR Series. [Online].
Available: http://www.analoguehaven.com/synthwerks/
[31] D. van Tijn, Intellijel Planar, p. 1, 2016. [Online]. Available:
https://intellijel.com/eurorack-modules/planar/
[32] FlightOfHarmony, Flight of Harmony Choice Manual, p. 6, 2009.
[Online]. Available: http://www.analoguehaven.com/ightofharmony/
choices/manual.pdf
[33] Soundmachines, LP1 Lightplane Manual, Fabriano, p. 7, 2013.
[Online]. Available: http://www.sound-machines.it/cms/wp-content/
uploads/2013/11/LP1lightplane{_}Manual{_}Sep2013.pdf
[34] Elektron, Analog Four, 2012. [Online]. Available: https://www.
elektron.se/products/analog-four/
[35] TeenageEngineering, Pocket Operators, p. 1, 2016. [Online].
Available: https://teenage.engineering/products/po
[36] Korg, Volca Keys, p. 1, 2015. [Online]. Available: http:
//www.korg.com/us/products/dj/volca{_}keys/
[37] O. Gillet, Mutable Instruments Yarns Quick Start Guide, Paris,
BIBLIOGRAPHY 377
p. 2, 2014. [Online]. Available: http://mutable-instruments.net/static/
manual/yarns{_}quickstart.pdf
[38] D. Doepfer, A-190-2 Low Cost MIDI-to-CV/Gate Interface, p. 1.
[Online]. Available: http://www.doepfer.de/a1902.htm
[39] R. Nicol, Midi 3, p. 1. [Online]. Available: http://pittsburghmodular.
com/midi3/
[40] P. Schreiber, E620 USB Host/Device, p. 1, 2014. [Online]. Available:
https://www.muwiggler.com/forum/viewtopic.php?t=122583
[41] A. Ostler, Expert Sleepers - FH-1 USB MIDI Host, p. 1, 2016.
[Online]. Available: http://www.expert-sleepers.co.uk/fh1.html
[42] B. Crabtree and K. Cain, monome Ansible, p. 1, 2016. [Online].
Available: http://monome.org/docs/modular/ansible/
[43] A. Ostler, Expert Sleepers Module Overview, p. 1, 2016. [Online].
Available: http://www.expert-sleepers.co.uk/moduleoverview.html
[44] , Expert Sleepers - ES-3 Lightpipe/CV Interface, p. 1, 2016.
[Online]. Available: http://www.expert-sleepers.co.uk/es3.html
[45] , Expert Sleepers - ES-4 SPDIF/CV Interface, p. 1, 2016.
[Online]. Available: http://www.expert-sleepers.co.uk/es4.html
[46] , Expert Sleepers - ES-8 USB Audio Interface, p. 1, 2016.
[Online]. Available: http://www.expert-sleepers.co.uk/es8.html
BIBLIOGRAPHY 378
[47] , Expert Sleepers - Silent Way, p. 1, 2016. [Online]. Available:
http://www.expert-sleepers.co.uk/silentway.html
[48] , Expert Sleepers - ES-1 Audio/CV Interface, p. 1, 2016.
[Online]. Available: http://www.expert-sleepers.co.uk/es1.html
[49] B. Crabtree and K. Cain, monome Walk, p. 1, 2015. [Online].
Available: http://monome.org/docs/modular/walk/
[50] Eowave, EO-310 Sensor Signal Processor, p. 1,
2016. [Online]. Available: http://www.eowave.com/modules/
eo-310-sensor-signal-processor/
[51] B. Crabtree and K. Cain, monome Teletype, p. 1, 2015. [Online].
Available: http://monome.org/docs/modular/teletype/
[52] ADDAC, ADDAC302 Nchunk, p. 1, 2011. [Online]. Available: http:
//www.addacsystem.com/product/addac300-series/addac302-nchunk
[53] J. Bartee, C. Novello, M. Roberts, and C. Bartee, Control Core,
p. 1, 2013. [Online]. Available: http://www.specialstagesystems.com/
control/
[54] Scanner_darkly, Orca - alternative rmware for white whale
and arc, p. 1, 2015. [Online]. Available: http://llllllll.co/t/
orca-alternative-rmware-for-white-whale-and-arc-and-now-grid/351
BIBLIOGRAPHY 379
[55] B. Crabtree and K. Cain, monome Module List, p. 1, 2016. [Online].
Available: http://monome.org/modular/
[56] S. Jaeger, English Tear Manual, Seattle, p. 1, 2014.
[Online]. Available: http://www.theharvestman.org/manuals/
ENGLISHTEARmanual.pdf
[57] T. Rolando, Make Noise Format Jumbler, p. 1, 2009. [Online]. Avail-
able: https://www.modulargrid.net/e/make-noise-format-jumbler
[58] K. McMillen, QuNexus: The keyboard that connects to everything,
p. 1, 2016. [Online]. Available: https://www.keithmcmillen.com/
products/qunexus/
[59] BEMI, Buchla LEM3 Spider, p. 1, 2015. [Online]. Available:
https://buchla.com/product/buchla-lem3-spider/
[60] A. Ostler, Expert Sleepers - ES-6 CV/Lightpipe Interface, p. 1,
2016. [Online]. Available: http://www.expert-sleepers.co.uk/es6.html
[61] Cycling 74, Max 7. [Online]. Available: https://cycling74.com/max7/
[62] W. Farrell, Black & Gold Shared System, 1st ed. Asheville: Make
Noise, 2016. [Online]. Available: http://www.makenoisemusic.com/
content/manuals/sharedsystemmanual{_}1.10.pdf
[63] R. Nicol, Foundation 3.1+, p. 1, 2016. [Online]. Available:
http://pittsburghmodular.com/foundation-3-1-1/
BIBLIOGRAPHY 380
[64] M. Hetrick, Shared System Patches by The February Thaw, p. 1,
2014. [Online]. Available: https://soundcloud.com/the-february-thaw/
sets/shared-system-patches
[65] Make Noise, Shared System Series Side A, p. 1, 2014. [On-
line]. Available: https://soundcloud.com/shared-system-series/sets/
shared-system-series-side-a
[66] M. Hetrick, All of my Shared System patches, including diagrams,
p. 1, 2014. [Online]. Available: https://www.muwiggler.com/forum/
viewtopic.php?t=119006{&}highlight=
[67] CREATE, CREATE Concert: ELECTRO ACOUSTIC, p. 1,
2015. [Online]. Available: http://www.create.ucsb.edu/event/
create-concert-2/
[68] M. Hetrick, New Leaf (Live Modular 04/15/15), p. 1,
2015. [Online]. Available: https://soundcloud.com/the-february-thaw/
new-leaf-live-modular-041515
[69] R. Buskin, CLASSIC TRACKS: Heroes, 2004. [Online]. Available:
http://www.soundonsound.com/sos/Oct04/articles/classictracks.htm
[70] D. Doepfer, Doepfer A-136 Manual. [Online]. Available: http:
//www.doepfer.de/a100{_}man/A136{_}man.pdf
[71] A. Gratz, Operational Transconductance Ampliers. [Online].
Available: http://synth.stromeko.net/diy/OTA.pdf
BIBLIOGRAPHY 381
[72] M. Hetrick, Euro Reakt, p. 1, 2015. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/9093/
[73] Native Instruments, Reaktor 6, p. 1, 2015. [Online]. Avail-
able: https://www.native-instruments.com/en/products/komplete/
synths/reaktor-6/
[74] A. Hanley, Reaktor 6: What is New. Berlin, Germany: Native Instru-
ments, 2008.
[75] V. Zavalishin, Building in Core. Berlin, Germany: Native Instruments,
2015.
[76] G. Wakeeld, Real-Time Meta-Programming for Interactive Compu-
tational Arts, Ph.D. dissertation, 2012.
[77] D. Forrester, Reaktor Blocks Framework Manual. Native Instruments,
2015.
[78] SuperCollider, SuperCollider Classes: Crackle, p. 1. [Online].
Available: http://doc.sccode.org/Classes/Crackle.html
[79] M. Hetrick, Euromax for Max/MSP, Santa Barbara, p. 1, 2010.
[Online]. Available: http://mhetrick.com/121800/1219320/software/
euromax-for-maxmsp
BIBLIOGRAPHY 382
[80] J. Eriksson, XODULAR, p. 1, 2015. [Online]. Available: http:
//www.monologx.com/xodular/
[81] M. Davidson, BEAP - Powerful Modules for Max for Live,
p. 1, 2013. [Online]. Available: https://www.ableton.com/en/blog/
beap-powerful-modules-max-live/
[82] D. Grosse, A Few Minutes with BEAP, Part 1, p. 1,
2015. [Online]. Available: https://cycling74.com/2015/09/15/
a-few-minutes-with-beap-tutorial-series/
[83] MaxForCats, OSCiLLOT, p. 1, 2015. [Online]. Available: https:
//www.ableton.com/en/packs/oscillot/
[84] C. Singer, Ampere Modular for Reaktor, p. 1, 2009. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/6019/
[85] S. Small, The Innite Phi Collection, p. 1, 2016. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/9149/
[86] M. Friedrichs, Nouveau Collection, p. 1, 2016. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/9997/
[87] B. Lavallee, Brett Blocks, p. 1, 2016. [Online]. Avail-
BIBLIOGRAPHY 383
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/10403/
[88] J. Tremblay, The Synite Collection, p. 1, 2016. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/10401/
[89] J. Punter, WREN, p. 1, 2016. [Online]. Available: http:
//bluehell.electro-music.com/modules/{#}license
[90] C. Jones, Sonigen Modular, p. 1, 2014. [Online]. Available:
http://www.sonigen.com/
[91] M. Boyd, Audulus 3.0 Documentation, p. 1, 2016. [Online].
Available: http://docs.audulus.com/
[92] Bitcount, AnalogKit on the App Store, p. 1, 2015. [Online]. Available:
https://itunes.apple.com/us/app/analogkit/id984597969?mt=8
[93] N. Trass, zMors Modular Manual, p. 57, 2016. [Online]. Available:
http://www.zmors.de/zMors{_}Modular{_}Manual.pdf
[94] Arturia, Modular V, p. 1, 2016. [Online]. Available: https:
//www.arturia.com/products/analog-classics/modular-v
[95] Moog Music Inc., Model 15 App, p. 1, 2016. [Online]. Avail-
able: https://www.moogmusic.com/products/apps/model-15-app/
{#}info-tab
BIBLIOGRAPHY 384
[96] Softube, Softube - Modular, p. 1, 2016. [Online]. Available:
https://www.softube.com/modular
[97] Clavia, Nord Modular V3.0 User Manual, 2003. [Online]. Available:
Clavia
[98] Electro-music.com, Clavia Nord Modular Subforum, p. 1, 2016.
[Online]. Available: http://www.electro-music.com/forum/forum-43.
html
[99] J. Clark, Advanced Programming Techniques for Modular Synthesiz-
ers, 2003. [Online]. Available: http://www.cim.mcgill.ca/{~}clark/
nordmodularbook/nm{_}book{_}toc.html
[100] R. Hordijk, G2 Workshops and tutorials. [Online]. Available:
http://rhordijk.home.xs4all.nl/G2Pages/index.htm
[101] R. Kuit, E-Books Modular Synthesis, p. 1, 2016. [Online]. Available:
http://rolandkuit.com/e-Books.html
[102] J. Taelman, Axoloti, p. 1, 2015. [Online]. Available: http:
//www.axoloti.com/
[103] B. Crabtree, K. Cain, and E. Buchla, Aleph: Bees, p. 1, 2014.
[Online]. Available: http://monome.org/docs/aleph/bees/
[104] P. Blasser, Shbobo Shnth, p. 1, 2013. [Online]. Available:
http://shbobo.net/
BIBLIOGRAPHY 385
[105] Roland, AIRA Eector Product List, p. 1, 2015. [Online]. Available:
http://www.roland.com/global/aira/categories/eector.html
[106] O. Gillet, Mutable Instruments Braids Source Code, 2013.
[107] D. Doepfer, A-189-1 Voltage Controlled Bit Modier / Bit Cruncher,
p. 1, 2008. [Online]. Available: http://www.doepfer.de/a1891.htm
[108] A. Fitch, DelayNoMore Build Notes, Perth, Australia,
p. 3, 2014. [Online]. Available: http://www.sdiy.org/pinky/data/
DelayNoMorebuildnotes.pdf
[109] J. Dattorro, Eect Design. Part 1: Reverberator and Other
Filters, AES, vol. 45, no. 9, p. 25, 1997. [Online]. Available:
https://ccrma.stanford.edu/{~}dattorro/EectDesignPart1.pdf
[110] O. Gillet, Mutable Instruments Clouds Quick Start Guide, Paris,
p. 2, 2014. [Online]. Available: http://mutable-instruments.net/static/
manual/clouds{_}quickstart.pdf
[111] T. Rolando, Soundhack Erbe-Verb, Asheville, p. 14, 2014. [On-
line]. Available: http://www.makenoisemusic.com/content/manuals/
Erbe-VerbManual.pdf
[112] S. Gutsfeld, Segoh Bit Rot, p. 1, 2014. [Online]. Available:
http://www.analoguehaven.com/segoh/bitrotzdspcard/
BIBLIOGRAPHY 386
[113] J. O. Smith, Schroeder Reverberators. [Online]. Available: https:
//ccrma.stanford.edu/{~}jos/pasp/Schroeder{_}Reverberators.html
[114] D. Doepfer, Doepfer A-137-2 Wave Multiplier 2. [Online]. Available:
http://www.doepfer.de/a1372.htm
[115] B. Hutchins, A SAWTOOTH-DRIVEN MULTI-PHASE WAVE-
FORM ANIMATOR : THE SYNTHESIS OF " ANIMATED "
SOUNDS - PART 1 ;, Electronotes, vol. 87, no. 3, pp. 311.
[116] S. Schmitt, Ez FFT Christmas Collection, 2006. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/4453/
[117] T. Rolando, Make Noise DPO: Ocial Manual, Asheville, p. 14,
2012. [Online]. Available: http://www.makenoisemusic.com/content/
manuals/dpo-manual.pdf
[118] Unknown, Fold Back Distortion. [Online]. Available: http:
//musicdsp.org/archive.php?classid=4{#}203
[119] R. Jones, max/pd versions of serge and buchla wavemul-
tipliers/folders? p. 2, 2014. [Online]. Available: https:
//www.muwiggler.com/forum/viewtopic.php?t=125642
[120] Toppobrillo, Toppobrillo Triple Wave Folder, p. 1,
2012. [Online]. Available: https://www.modulargrid.net/e/
toppobrillo-triple-wave-folder
BIBLIOGRAPHY 387
[121] C. Roads, Microsound. MIT Press, 2004.
[122] J. O. Smith, Example Schroeder Reverberators.
[Online]. Available: https://ccrma.stanford.edu/{~}jos/pasp/
Example{_}Schroeder{_}Reverberators.html
[123] A. Fitch, Segue Build & BOM, Perth, Australia, p. 2, 2015. [Online].
Available: http://www.sdiy.org/pinky/data/SeguebuildBOM.pdf
[124] J. J. Clark, Advanced Programming Techniques for Modular
Synthesizers, 2003. [Online]. Available: http://www.cim.mcgill.ca/
{~}clark/nordmodularbook/nm{_}book{_}toc.html
[125] C. Roads, The Computer Music Tutorial. MIT Press, 1996.
[126] A. Fitch, dierence rectier, p. 1, 2012. [Online]. Available:
http://www.sdiy.org/pinky/data/dif.html
[127] , Dierence Rectier/Neuron Build Doc, Perth, Australia,
p. 9, 2013. [Online]. Available: http://www.sdiy.org/pinky/data/
directneuronbuilddocv1.pdf
[128] , seqmix1050 Build and BOM Guide, Perth, Australia,
p. 4, 2015. [Online]. Available: http://www.sdiy.org/pinky/data/
mixseq1050BuildBOMvers1.pdf
[129] , WAMOD #10 - dual LFO, Perth, Australia,
BIBLIOGRAPHY 388
p. 2, 2015. [Online]. Available: http://www.sdiy.org/pinky/data/
WAMOD10dualLFO.pdf
[130] W. S. McCulloch and W. Pitts, A logical calculus of the
ideas immanent in nervous activity, The Bulletin of Mathematical
Biophysics, vol. 5, no. 4, pp. 115133, dec 1943. [Online]. Available:
http://link.springer.com/10.1007/BF02478259
[131] S. Small, Microwave Oscillator, p. 1, 2015. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/9149/
[132] Vintage Synth Explorer, Waldorf Microwave, p. 1, 2016. [Online].
Available: http://www.vintagesynth.com/waldorf/microwave.php
[133] G. Reid, Synth Secrets | Sound On Sound, p. 64, 2004. [Online].
Available: http://www.soundonsound.com/techniques/synth-secrets
[134] O. Gillet, Rings Resonator Quick Start Guide, Paris, p. 2, 2015.
[Online]. Available: http://mutable-instruments.net/static/manual/
rings{_}quickstart.pdf
[135] , Elements Quick Start Guide, Paris, p. 2, 2014.
[Online]. Available: http://mutable-instruments.net/static/manual/
elements{_}quickstart.pdf
[136] R. Hordijk, The Rungler, 2015. [Online]. Available: http:
//hordijk-synths.info/synth/2015/03/19/the-rungler.html
BIBLIOGRAPHY 389
[137] , electro-music.com : Benjolin schematics, 2009. [Online].
Available: http://www.electro-music.com/forum/topic-38081.html
[138] S. McCaul, Loquelic Iteritas Complex Digital Oscil-
lator, Los Angeles, p. 14, 2015. [Online]. Available:
https://static1.squarespace.com/static/5572aedde4b0080836614a7b/
t/5785a22fb8a79b55397469ef/1468375924429/LI{_}manual.pdf
[139] R. Hordijk, VOSIM, an advanced application of oscillator sync, p. 1,
2000. [Online]. Available: http://electro-music.com/nm{_}classic/
015{_}workshops/Clavia/NordModularWorkshops{&}Threads/
WerkMap/WorkShops/Hordijk1999-2000/VOSIM.html
[140] R. C. Hilborn, Chaos and Nonlinear Dynamics. Ox-
ford University Press, sep 2000. [Online]. Avail-
able: http://www.oxfordscholarship.com/view/10.1093/acprof:oso/
9780198507239.001.0001/acprof-9780198507239
[141] E. E. Hairer, S. P. S. P. Nørsett, and G. Wanner, Solving ordinary
dierential equations. I, Nonsti problems, 1987.
[142] C. A. Pickover and C. A., The pattern book : fractals, art, and nature.
World Scientic, 1995.
[143] , Chaos in wonderland : visual adventures in a fractal world. St.
Martin's Grin, 1995.
BIBLIOGRAPHY 390
[144] K. T. Alligood, T. Sauer, and J. A. Yorke, Chaos : an introduction to
dynamical systems. Springer, 1996.
[145] W. Tucker and W. Tucker, The Lorenz attractor exists, C. R. ACAD.
SCI. PARIS, vol. 328, pp. 1197-1202, 1999. [Online]. Available:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.9324
[146] O. Rössler, An equation for continuous chaos, Physics Letters A,
vol. 57, no. 5, pp. 397398, 1976.
[147] R. L. Devaney, Fractal patterns arising in chaotic dynamical
systems, in The Science of Fractal Images. New York, NY:
Springer New York, 1988, pp. 137168. [Online]. Available:
http://link.springer.com/10.1007/978-1-4612-3784-6{_}3
[148] A. Morelli, Quantum Rainbow 2, p. 1, 2014. [Online]. Available:
http://www.steadystatefate.com/quantum-rainbow-2
[149] A. Fitch, Squid Axon build & BOM, Perth, Australia,
p. 3, 2016. [Online]. Available: http://www.sdiy.org/pinky/data/
SquidAxonbuildandBOM.pdf
[150] T. Matsuzaki and M. Nakagawa, A bipolar logistic chaos neuron and
its hardware implementation, Electronics and Communications in
Japan (Part III: Fundamental Electronic Science), vol. 86, no. 11, pp.
4656, nov 2003. [Online]. Available: http://doi.wiley.com/10.1002/
ecjc.10063
BIBLIOGRAPHY 391
[151] A. Fitch, Numberwang Build Guide and BOM, Perth, Australia,
p. 3, 2016. [Online]. Available: http://www.sdiy.org/pinky/data/
NumberwangBOMguide.pdf
[152] O. Gillet, Branches Dual Bernoulli Gate, p. 1, 2014. [Online].
Available: http://mutable-instruments.net/modules/branches
[153] T. Whitwell, Music Thing Modular: Turing Machine Random
Looping Sequencer Documentation, 2016. [Online]. Available:
http://musicthing.co.uk/modular/?page{_}id=21
[154] D. Doepfer, Doepfer A-152 Manual. [Online]. Available: http:
//www.doepfer.de/a100{_}man/A152{_}man.pdf
[155] Native Instruments, Reaktor 6 1.2 Update, p. 1, 2016. [On-
line]. Available: https://www.native-instruments.com/en/products/
komplete/synths/reaktor-6/connect/
[156] R. Devine, DevineAcid, p. 1, 2016. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/9825/
[157] S. Fujioka, VoltageCtrlr-We Rise, p. 1, 2016. [Online]. Avail-
able: https://www.native-instruments.com/en/reaktor-community/
reaktor-user-library/entry/show/10297/
[158] Native Instruments, Native Sessions: Play. Patch. Build. - EuroReakt
BIBLIOGRAPHY 392
Blocks with Michael Hetrick, p. 1, 2016. [Online]. Available:
https://www.youtube.com/watch?v=nL4TNaJm-3M
[159] Point Blank Music School, Plugin of the Week: Euro Reakt
for Reaktor Blocks - YouTube, p. 1, 2016. [Online]. Available:
https://www.youtube.com/watch?v=YAb2S0ZNDl0
[160] R. Macdonald, Fault Review, Computer Music, p. 97, nov 2016.
[161] , Sandman Pro Review, Computer Music, dec 2016.
[162] R. McGee, Spatial Modulation Synthesis, ICMC, p. 4,
2015. [Online]. Available: https://www.mat.ucsb.edu/Publications/
SpatialModulationSynthesis{_}ICMC2015.pdf