Novation Circuit Randomized Patches


In my mind, sound design is at its best when it is a process of discovery. At its worst it can be an unfortunate exercise in mimicry. I am fascinated by the process of discovering sound through happy accidents. One of the techniques I have exploited frequently in this regard is synthesizer patch randomization. For example, the Yamaha TX81Z sounds great when randomized, or better yet, “degraded” with shuffled parameter values interpolated based on a time unit or clock division. The PreenFM2 has patch randomization built directly into the instrument!

So, it wasn’t long after picking up a Novation Circuit that I had the urge to use a similar shortcut to mine fantastic and otherworldly sounds from the unit. Full MIDI specification for the Circuit is available so that development of a standalone randomizer is possible, but Isotonik Studios published a free Max for Live editor in partnership with Novation. Max for Live patches are inherently editable so I decided to start there.

Send Random Values

It took me a couple of hours to get into the guts of the editor and setup a drop down menu for randomization. The drop down has choices to either “randomize all” (not quite all parameters), or randomize one of seven sets of grouped parameters like the oscillator section, mod matrix, or LFOs. At his stage I haven’t included the EQ section, voice controls, or macro controls. I probably won’t add the EQ, but the macro controls might offer some interesting possibilities. The image above shows a simple subpatch I made that takes a bang and outputs the random values for the oscillator section. Unfortunately, I can not legally share my mods based on Isotonik’s and Novation’s EULAs. However, you’ll need little more than a basic understanding of Max to do this yourself. Checkout the video and let me know what you think in the comments.

Interview: Graham’s O’Brien’s Drum Controller Video Series

Drum Controller - Graham O'Brien

Graham O’Brien is an exceptional and inventive drummer, composer, and producer. It has been my privilege to play with him at dozens shows and on at least five separate projects over the last eight years. His latest solo endeavor is a series of five videos titled Drum Controller. Graham had discussed his goals for the project with me, but when I saw/heard the videos I was immediately impressed. I wanted to know more about how he was able to trigger these beautiful and complex electro-acoustic arrangements without touching anything other than his minimal kit of kick, two snares, high hats, and a ride.

Note: Graham will be performing music with his Drum Controller setup and Thomas Nordlund on guitar at Honey in Minneapolis this Sunday, June 5, 2017. Read on for the interrview and a look at his video series. Continue reading

TX81Z Patch Degrader with Interpolation

This quick demo illustrates how TX81Z Patch Degrader is interpolating between previous and newly generated parameter values. TX81Z Patch Degrader is a Max for Live MIDI effect that chips away at patches on the TX81Z by randomly changing (or degrading) parameters at a specified rate. What makes the process interesting is that it is possible to ramp up or down (interpolate) to the new value rather than changing it instantaneously.

To create the Max for Live MIDI instrument I started with TX81Z Editor 1.0 by Jeroen Liebregts who was kind enough to share his work on I added in the degradation process features and made some adjustments to the interface to make room for the controls. Once I get things shaped up I’ll be happy to share the patch if anyone is interested.

Screen Shot 2015-08-08 at 5.37.43 PM

The features I added are visible in the second panel of the TX81Z Patch Degrader Max MIDI effect. I’ll describe them from the top down:

  1. Level bypass prevents the operator levels from being included in the degradation process so that the sound doesn’t completely die out.
  2. When the interpolate switch is on new values (as long as they have an adequate range) are ramped up or down to the new value based on the rate.
  3. Loop causes the degradation to continue indefinitely by reshuffling after all 73 parameters included have been degraded.
  4. Free/sync toggles between changing the parameters at an arbitrary pace set by rate, or note divisions based on the project’s tempo (therefore sync will only degrade while playing)
  5. Rate adjusts the rate of degradation when in free mode, and the time it takes to ramp up or down to new values when interpolate is on. Rate is milliseconds and ranges from 15ms to 2000ms.
  6. Below rate are the note durations for sync mode ranging from a 1/128th note up to a dotted whole note.
  7. Finally the degrade button starts the process while interrupt stops everything so when you hear something you like you can save the patch on the TX81Z.

The TX81Z has a fairly small buffer for MIDI values, so spraying values at it too quickly will generate the “MIDI Buffer Error”. However, even after getting the error it will continue listening to the incoming data, so even though it might be skipping a parameter here and there it lets me keep throwing things at it. The video below shows how the LCD display responds to the stream of values coming at the machine.

TX81Z Patch Degradation with Interpolation! #glitch #fmsynthesis

A video posted by John Keston (@jkeston) on

I’ve saved quite a few very interesting effects so far and have nearly run out of the 32 patch positions available on the unit. Perhaps the next step is to add a library feature especially since I’m not thrilled about the idea of saving patch banks to cassette!

Screen Shot 2015-08-08 at 6.46.35 PM

Vintage FM: Swapping Bricks for Loaves of Bread


I recently picked up an eighties vintage Yamaha TX81Z FM synthesizer. I’ve always loved the sound of frequency modulation synthesis, but like many of us, lacked the patience to do the programming; especially since most FM synthesizers have hundreds (thousands for the Yamaha FS1R) of parameters that one is expected to edit via a few buttons and a thirty two character LCD.

Understandably FM has largely taken a backseat to subtractive synthesis, wavetable synthesis, and sampling. In the 80s FM was great because memory was expensive. Bell tones, plucked instruments, strings, and brass could be simulated by cleverly selecting an algorithm and adjusting the frequency, levels, and envelopes of the carrier and modulator operators. The price of that sound quality was handling the complexity of the instrument and the time investment that that required.

Soon memory fell in price and the cost of sampling and wavetable synthesizers dropped with it. By the mid-90s the broad popularity of FM synths like the Yamaha DX7 had given way to samplers, ROMplers, and wavetable synths. Perhaps we were attracted to the realism of sampling, or the uncanny quality of pitching familiar sounds into unfamiliar territory. But, all of these synthesis technologies have their place, and what makes FM synthesis relevant to this day is not simulating brass or bell tones, but its ability to uncover new sonic palettes through the complexity of maths, parameters, and algorithms versus the brute force of digital memory banks.

So, how do we navigate this world of nearly infinite possibilities? There are many approaches to this dilemma. Software editors are available, and FM synthesizer plugins like Ableton’s Operator and Native Instruments FM8 are much, much easier to program than their hardware counterparts. All while maintaining flexibility and sonic range. FM8 can load DX7 patches, morph between sounds, or randomize parameters. My approach to this experiment was to exploit a hardware instrument (the TX81Z) already limited by its design.


I composed this piece by designing a Max for Live process to “degrade” patches in the the Yamaha TX81Z over time. The TX81Z is fairly simple within the scope of FM synths. However, the spectrum of sound is still vast thanks to a few clever features; each of the four operators can have one of eight waveforms, while older FM synths only had sine waves. The degradation process occurs as shuffled parameters in the synth are randomized at a specified pace. Imagine pulling bricks out of a wall and then replacing them with things like a loaf of bread, Legos, or a shoe. The degradation can be interrupted at any moment by the performer to “freeze” a patch for later use, or looped to generate chaotic textures that morph continuously. This excerpt stacks two layers of the degradation process with some panning and reverb to add ambience. Based on these results I anticipate that a lot more is available to be discovered through this and similar techniques. Currently I am working on a way to interpolate between the existing parameter and the “degraded” one for a more legato feel to the entropic process. Stay tuned!

Slam Academy of Electronic Arts

I have recently accepted a position as an adjunct instructor at the Slam Academy in Minneapolis, Minnesota. With two Ableton certified instructors the school is offering a variety of classes in electronic music, but also stretching out into topics like Max for Live and music for video games. I will be teaching occasional master classes and private lessons that focus on my listed specialties of Max/MSP, Max for Live, Processing, sound synthesis, and jazz theory. Please checkout the school at Slam Academy, or like the Facebook page for more information.