Compact Impulse Generator (2025)
Compact Impulse Generator Prototype
Compact Impulse Generator is a module developed for the [Nonlinear] Dynamics system. Inspired by Curtis Roads-style pulsar synthesis as well as instrument architectures by Donald Buchla and Rob Hordijk, it couples specialized digital sound generation with a network of internal control structures, all mediated by high-level “macro” parametric controls.
It is an outgrowth of the prior Destabilized Impulse Generator, using essentially the same code with a streamlined parameterization. Compact Impulse Generator’s strengths lie primarily in its use of a small number of physical controls and control voltage inputs to access a large array of animated, gestural, and textural sounds.
I think of Compact Impulse Generator in part as a study in combining several types of nonlinear control mapping. Several of its controls (especially the Shape, Masking Pattern, and two Modulation sliders) map a linear user input structure to many internal destinations; some of which explicitly impact the module’s core synthesis parameters, some of which nonlinearly impact multi-source internal modulation mappings. Moreover, it utilizes feedback/recursion and extreme nonlinearities in its synthesis structure in order to lead to apparent parametric couplings, in which a physical control’s mapping to a specific synthesis parameter is obscured. It posits that combining these types of nonlinearities can be a fruitful strategy for developing digital instruments for improvisational contexts, allowing access to a wide timbral variety and surprising/evolving structural relationships between user input and sonic outcomes.
Functional Explanation
Like Destabilized Impulse Generator before it, the Compact Impulse Generator is driven by an internal ramp generator with variable frequency and width (whose default settings are established by the Period and Width controls, respectively). The ramp signal is subjected to a nonlinear distortion process—effectively looking up values from programmatically-defined “wave shaping tables.” The Width control impacts the perceived emphasis at various “formant frequencies,” the spacing and intensity of which depends in part on the contents of the currently selected wave shaping table. Sixteen predefined tables can be accessed in the first half of the travel of the Shape control.
The first Compact Impulse Generator; photo from June 2025.
In the second half of the Shape control’s travel, users can access those same sixteen tables in order; however, feedback is gradually introduced within the 1/32nd of the knob’s travel allocated to each of the tables in the upper half of the Shape control—such that any level of feedback is possible with any of the 16 wave shapes. The feedback impacts various aspects of the synthesis structure, include the frequency and phase of the ramp generator and an internal modulation oscillator. Ultimately, this serves to significantly destabilize the module’s behavior, taking it from clean clicks and snarls to sounds with significant low-frequency accentuation, fizzy crackles, and extreme aliasing and high-frequency excursions. One can think of the Shape control on Compact Impulse Generator as being a combination of the Shape and Destabilize controls from Destabilized Impulse Generator; one which foregoes the ability to precisely define the selected wave table and feedback amount independently in favor of a coupled and therefore perhaps-less-controllable combination of these integral parameters. This multiparametric mapping leads to much of the Compact Impulse Generator’s core sound and behavior.
As with Destabilized Impulse Generator, Compact Impulse Generator features a Masking Pattern parameter, which applies several strategies for amplitude modulation to the module’s A and B audio outputs. This facilitates the creation of unique dynamic profiles in which each output’s level changes with respect to one another—useful, among other things, for establishing a lively and animated stereo image. The Masking Pattern knob is divided into five ranges, each representative of a unique amplitude scaling strategy. Within each of these five ranges, the knob applies variable control to some aspect of the masking pattern—in some cases determining the duration of decaying trains of impulses, in some cases determining the density of stochastic masking processes, and in some cases determining a type of durational bias toward/away from specific output channels. Likewise, the Masking Pattern determines the timing with which four internal random number generators are updated, which can be used as modulation sources within the module.
(Note that, by combining Compact Impulse Generator with an Audio Combine, one can use Audio Combine’s crossfading functionality to dynamically switch/fade between the A and B outputs. With some masking patterns, this may prove a fruitful playing technique.)
Both the Period and Width controls are accompanied by dedicated multifunction modulation source slide potentiometers. These controls feature a nonlinear response for controlling the modulation index from two sources: an internal sine wave modulation oscillator, and a dedicated random number generator (updated in accordance with the currently-selected masking pattern). At the slider’s minimum position, no modulation from either source is applied to the destination in question. As the slider is increased, modulation is gradually introduced from the internal modulation oscillator. At around 35 or 40% of the slider’s travel, the modulation oscillator’s intensity is at its maximum; increasing the slider position from there, the modulation gradually crossfades toward the random number generator, until around 60 or 65% of the slider’s travel, at which point the modulation oscillator should no longer impact the parameter in question. In the remaining ~35% of the slider’s travel, the modulation intensity from the random number generator gradually decreases, until the slider’s uppermost position, where again, no modulation is present.
These multifunction modulation routing sliders are another type of nonlinear macro control that in some ways decrease the user’s ability to access the same arbitrary combinations of parameter values that would be possible with Destabilized Impulse Generator. In practice, however, this unusual nonlinear macro control of a many-to-one style of modulation mapping has proven an effective approach for creating sudden dramatic changes in the module’s behavior—including, as stated above, the possibility of unpredictable outcomes.
Two of the internal random number generators are dedicated to modulation of the Period and Width parameters, respectively. The two remaining random number generators may be accessed as control voltages at the front-panel A and B Control Outputs. Additionally, two “trigger” outputs update in tandem with the selected masking pattern, and may be used to synchronize external processes to the module’s internal sound generation.
The internal modulation oscillator features a dedicated frequency slide potentiometer and associated control voltage input + attenuator. This input features a normalled connection from the B random control output.
Lastly, the module features two tactile switches and corresponding inputs for Status, labeled “Latch” and “Once.” The Status broadly determines whether the module is active or not, allowing the user to start and stop signal generation at will. When pressing Latch, the module will begin the selected masking pattern, and will continue to produce sound until latch is depressed again. The Once switch, on the other hand, acts as a momentary control: the module will only make sound for as long as the switch is held. Once released, the module will complete the currently selected masking pattern. The Latch and Once signal inputs behave identically to the switches themselves, but allow the user to synchronize the module to external processes from elsewhere in the system.
(Note that the parameter label “Once” is a remnant of prior versions of the code, in which only a single cycle of the selected masking pattern would be executed regardless the duration with which the switch was held. During the first live performances with the system in March/April 2025, it became apparent that treating this switch more like a “momentary latch” would be preferable. The corresponding code updates happened in a hotel room in Carbondale, Illinois, just after a performance at MOXsonic 2025 and before a performance at Southern Illinois University’s Outside the Box Festival.)
As of July 2025, Compact Impulse Generator is one of the most refined modules in the [Nonlinear] Dynamics system. It has undergone the longest concentrated development and implements several novel concepts that lend themselves to, I believe, a satisfying and uncommonly flexible playing experience in improvisational contexts. It allows for rapid access to several distinct types of sonic textures, and offers a nuanced approach to continuous timbral control.
As of July 2025, five Compact Impulse Generators have been built, spread across four [Nonlinear] Dynamics systems. It is a concept/prototype developed primarily for personal use, and is not available for sale. However, it will likely act as the basis for other more streamlined and compact instrument designs.