Compact Oscillator Network (2025)
Compact Oscillator Network prototype
Compact Oscillator Network is a sound generator for the [Nonlinear] Dynamics system. It contains a network of three oscillators, multiple waveshapers, data sampling stages, and shift registers—all of whose interconnections permit the creation of complex and unexpected timbres.
Compact Oscillator Network may be considered a type of “complex oscillator”: that is, a sound generator that couples a “principal” oscillator with waveshaping, using a dedicated modulation oscillator to impart change on the principal oscillator’s pitch and timbre. Like most modern “complex oscillators,” Compact Oscillator Network derives inspiration from Donald Buchla’s work. However, unlike most such such devices, it does use the Buchla Model 259 Programmable Complex Waveform Generator as a primary point of design reference; instead, it borrows inspiration more directly from the Model 360 Programmable Octal Signal Source and the Touché.
Additionally, Compact Oscillator Network borrows inspiration from Rob Hordijk designs—most notably, the Blippoo Box and Benjolin. Though these devices bear some basic structural similarities to some of Buchla’s designs, they were designed to be used as standalone instruments. Their complex internal modulation networks lead to unstable, unpredictable, and “circuit-bending”-inspired sounds—and they reward a performance approach that values surprise and an embrace of unusual sounds.
Compact Oscillator Network attempts to merge these influences and expand on them, leading to sounds and interactions not quite possible on these prior instruments. One might think of it as a Touché-like digital oscillator with the chaotic brain of a Benjolin. It was designed to be integrated into [Nonlinear] Dynamics systems, however, it can also act as an interesting instrument on its own, outside the context of a larger system of modules.
Design Background
Compact Oscillator Network is a development on ideas from several prior software and hardware designs. I have long drawn inspiration from Buchla’s computer-based instruments—many of which utilize a digital nonlinear waveshaping scheme to create timbral variety. I implemented similar approaches to synthesis in the B400V application—which borrowed significant inspiration from the Buchla 400. I had, at the time, never encountered a 400 in person; I learned about it by hunting down user manuals, finding music that used it, and by reading about related topics in computer music publications from its time.
In 2020—in order to complete contracted sound design and beta testing work for other audio and instrument companies, I acquired a Buchla Model 259e Complex Waveform Generator (running the later “Twisted” firmware). This was the first digital Buchla oscillator design I had ever personally used, and I was stricken by its eccentricities. It has a significant level of aliasing; its FM inputs have a remarkably low sample rate; and overall, it had a considerably more “lo-fi” sound character than I had anticipated prior to receiving it. Quickly, though, I began to embrace its quirks as part of its overall charm: aliasing ceased to sound like an “error,” and more like an unusual type of high-frequency accentuation, or just as a means of introducing inharmonicity into the sound.
By 2021, I began experimenting with hardware implementations of a nonlinear waveshaping oscillator. Sarah Belle Reid, having witnessed my prior work on Continual Transition, had given me a Teensy 3.5—anticipating that I would use it to continue to develop unusual sound-making devices. I began to develop the initial ideas for what would become the map01 and map02 Delta Scan Mapping Interfaces. By 2023, I had separately begun a research partnership with the Buchla Archives, and was able to spend time getting to know several digital Buchla instruments in person: including, notably, the Model 360 and Touché. These in particular became a point of fascination; the video above is a document from my first encounters with the 360 specifically, from a visit to the Buchla Archives in November 2023.
Originally, I had planned to develop a modular system surrounding the map01 and map02 designs; however, in 2024, I began to work with the Electrosmith Daisy platform, which offered unique opportunities not easily possible with the Teensy. Around the same time, I was, for the first time, putting concentrated effort into learning Max/MSP’s [gen~] environment. Because I had been working so extensively with nonlinear waveshaping-based oscillators on Teensy, a similar design became my “pet project” as I learned [gen].
I had programmed a functional version of a 360/Touché-like oscillator structure by late May/early June of 2024. At this point, I was also developing the hardware for TEST, a Eurorack-format module designed for prototyping using [gen~] and the Daisy Patch Submodule. My first tests involved porting the 360-like oscillator to the TEST hardware, which was functional by June 16, 2024. The video above was created on this date, in order to document the early stages of this process.
That same month, Sarah Belle Reid and I more seriously started working on a commissioned piece for the Chicago Laboratory for Electroacoustic Theater (CLEAT) at Elastic Arts—at which point my design focus shifted toward devices meant for use with their 16-channel speaker system. The resulting devices included the Destabilized Impulse Generator, the original version of the Voltage Mapping Array, and other [gen~]/Daisy-based processors. I did not seriously revisit the oscillator design until the late fall of 2024, after the CLEAT piece had been premiered, and after returning from a residency at Elektronmusikstudion (EMS) in Stockholm.
In December 2024, I began intensively working on the oscillator design in tandem with the first dedicated hardware for the Temporal Drag Processor and the code for what would become the Random State Array. By December 8th, I had more or less finalized the design concept and began working on refinements of the internal audio path. The video above, recorded on this date, demonstrates tests related to the initial creation of the Compact Oscillator Network’s waveshaping formulas. The video below is a demonstration of the internal feedback paths, whose specifications had only just been finalized.
The first dedicated hardware and panel design was completed by mid-December; the first dedicated prototype was assembled on December 20th. It traveled with me on a trip to Toronto; I remember actively adjusting the code to suit the hardware while sitting on the floor in front of a family fireplace over the holidays. I continued to refine the internal functionality over the coming months, with the last significant updates to the code added in early May 2025. As of late May 2025, five Compact Impulse Generators have been built, spread across four [Nonlinear] Dynamics systems.
Functional Explanation: Basic Sound Generation
At its core, Compact Oscillator Network contains three oscillators. The principal oscillator, or Carrier, produces a sinusoidal output, which is used to address two digital nonlinear waveshaping processes. The Carrier Frequency section features a large knob for controlling the Carrier oscillator’s frequency, along with two additional frequency control voltage inputs (one unattenuated, one with a dedicated attenuverter). Above this section, there are direct outputs from each of the two nonlinear waveshapers; these are the device’s primary audio outputs.
Compact Oscillator Network (prototype)—May 2025.
The basic timbre of each of the Nonlinearity outputs is determined by the Map Select and Nonlinearity Mapping Width controls on the far right side of the panel. The Mapping Width control determines the amplitude of the sine wave passed from the Carrier to the input of the waveshaping processes; the Map Select control determines the contents of the waveshaping tables used for each of the two waveshapers. The contents of these tables are defined by a series of specially-tailored nonlinear functions, which I designed to accommodate a variety of waveshaping effects. Notably, the first transfer function is a linear ramp, allowing the production of relatively pure sine waves; other transfer functions are produced using formulas that generate a variety of spectral evolution trajectories as the Mapping Width control is increased.
One can think of the Mapping Width control as being similar to the Timbre control on the Buchla 259, Touché, or 400—or the Low Order Timbre on the 360. The minimum Mapping Width corresponds to a factor of 0, resulting in silence at the outputs. 50% mapping width roughly corresponds to a factor of 1. Beyond 50%, the incoming sine wave encounters an additional folding stage prior to the nonlinear waveshaper, resulting in especially complex/brash timbres. Note that the response curve of the Mapping Width parameter is compensated on a table-by-table basis, ensuring similar loudness across all Map Select values for any given position of the Mapping Width control. Additionally, because the minimum Mapping Width is 0, it is possible to use the Mapping WIdth parameter as a means of providing dynamic articulation to the Compact Oscillator Network’s sound.
Functional Explanation: Internal Modulation
The Modification Complex in the center of the module contains two multi-function modulation sources. One is dedicated to frequency modulation of the Carrier; one is dedicated to modulating the Mapping Width. Each of these modulation sources offers dedicated frequency controls and CV inputs (with associated attenuverters). The frequency of each may be defined as an absolute value, or may be locked to a definable ratio relative to the frequency of the Carrier (supporting ratios ranging from 1:8 to 8:1). Ratio Locking may be engaged for either modulation source by depressing the associated yellow tactile switch; the corresponding yellow LED will illuminate when Ratio Locking is engaged.
Each modulation source also features a multi-function Index control. In the earliest versions of the Compact Oscillator Network’s design, the modulation sources could only generate sine waves—and as such, the panel graphics reflect that use. However, once the first five units had been built, it became apparent that, with some adjustments to the modulation structure, the Compact Oscillator Network could better stand on its own as a self-contained instrument. As such, I borrowed inspiration from the Hordijk Blippoo Box and Benjolin—as well as my own Compact Impulse Generator—to design the final behavior of the Index controls.
Originally, the Index controls only specified the modulation depth from sine wave oscillators to their respective destinations. Beginning in early May 2025, though, these sliders were repurposed to act as multifunction modulation source selectors and modulation index controls. In the lowest 1/4~1/3 of the slider’s travel, it introduces sinusoidal modulation to the corresponding destination. It then crossfades toward a square wave as a modulation source; once the crossfade is complete, it begins to reduce the amplitude of the modulation until the modulation index is, again, zero—at roughly 50% the travel of the control.
Detail of the Compact Oscillator Network’s Modification Complex (May 2025).
In the upper half of each slider, we encounter a similar nonlinear source selection/crossfading/index control. Rather than using simple waveforms, though, the upper half of the control uses a sample and hold and a Rungler-like structure as its modulation sources. By gradually moving the slider up from 50%, you’ll begin to introduce sample and hold modulation to the destination (using the modulation oscillator frequency as a sample rate and the principal oscillator as a data source). Around 75%, the index control crossfades toward a Rungler; in the uppermost portions of the control, the modulation depth nonlinearly scales, and feedback is introduced between the Rungler’s output and the corresponding modulation source’s frequency control—resulting in jarring, glitchy, “circuit-bent”-style sounds.
The modulation sources’ outputs are available at two jacks toward the top of the panel. In the earliest versions of Compact Oscillator Network, these outputs are labeled “sine”—however, the outputs respect the current modulation source selection (and therefore can produce square waves, sample and hold shapes, or Rungler shapes). Note that these outputs’ amplitude is not scaled relative to the Index value; they are always full-range. Likewise, they do not respect the source crossfade settings—they simply switch between modulation shapes beyond specific Index control values.
Regarding the Width modulation controls, it is worth noting—even when Mapping Width is at its minimum value, the Width Modulation Index control may be used to impart more complex dynamic articulation on the sound. It was important to me that the sound generator itself provide multiple ways to impart articulative control, without the need for additional filtering or gating structures. It can be rewarding to apply envelopes or ramps from other [Nonlinear] Dynamics modules to the control voltage inputs for Mapping Width and Width Index simultaneously to create especially complex/nuanced dynamic articulations.
Instability
Finally, the Nonlinearity Destabilize control (labeled [NL]dstb.) introduces feedback from the second waveshaper’s output to various aspects of the module’s behavior, include frequency and phase modulation of the three core oscillators. Its impact can range from a simple “roughening” of the outgoing waveshapes to intense destabilization of the device’s timbres. Depending on the register, Mapping Width, and modulation values, it can result in a large number of distinct effects from subtle destabilization to outright chaotic behavior.
I first arrived at the idea of waveshaping feedback in a week-long workshop/masterclass with Thomas Ankersmit on the Serge system in early 2015. As I’ve developed as a musician and instrument designer, I’ve continued to apply this technique to everything I have made—gradually learning to relate its core concepts to ideas from cybernetics, in which nonlinearities can be used as a variable regulatory structure in self-sustaining systems. Imbuing such systems with significant feedback reveals underlying truths about their nature/behavior; altering aspects of the regulatory nonlinearities can lead toward a significant degree of variation in the system’s behavior.
Notably, I have avoided any efforts pertaining to antialiasing in Compact Oscillator Network’s design. The non-ideal characteristics of devices like the 360, 400, or 259e have been a huge source of inspiration—and I sought to expand on many aspects of their nonlinearities in the Compact Oscillator Network’s design. As such, it is rife with ways to introduce inharmonicity, largely focused around the introduction of digital artifacts.
A Love Letter
Compact Oscillator Network is a “love letter” of sorts—my personal homage to the concept of a Complex Oscillator, attempting to push it to unusual extremes. It is also an attempt to fuse concepts from chaotic self-contained instruments like the Benjolin or Blippoo Box with the techniques of 1970s computer music—combining multiple ideas I find inspiring in the hopes that, together, they will lead toward inspiring new territory. For my own purposes, it seems to be working.
Compact Oscillator Network is a concept/prototype designed primarily for personal use. It is not available for sale.