Pure Data Screaming Metal Feedback Loop

A simple digital feedback patch in Pure Data build from just delay, ring-modulation, and saturation.


Building on my digital feedback video from a few weeks ago, here’s a quick patch for setting up a dynamic controllable feedback loop in Pd Vanilla. I’ve set up a way to get things going with a little sine-wave beep, and you can hear that the feedback loop makes things pretty complex pretty quickly.

WATCH THOSE LEVELS!
It gets loud in the middle.

More no-talking Pd videos here.
More music and sound design with cybernetics and feedback.

Music and Synthesis with a Single Neuron

Recently, I’ve been hooked on the idea of neurons and electronic and digital models of them. As always, this interest is focused on how these models can help us make interesting music and sound design.

It all started with my explorations into modular synths, especially focusing on the weirdest modules that I could find. I’d already spent decades doing digital synthesis, so I wanted to know what the furthest reaches of analog synthesis had to offer, and one of the modules that I came across was the nonlinearcircuits “neuron” (which had the additional benefit that it was simple enough for me to solder together on my own for cheap).

Nonlinear Circuits “Dual Neuron” (Magpie Modular Panel)

Anyway, today, I don’t want to talk about this module in particular, but rather more generally about what an artificial neuron is and what it can do with audio.

I wouldn’t want to learn biology from a composer, so I’ll keep this in the most simple terms possible (so I don’t mess up). The concept here is that neuron is receives a bunch of signals into its dendrites, and, based off of these signals, send out its own signal through its axon.

Are you with me so far?

In the case of biological neurons these “signals” are chemical or electrical, and in these sonic explorations the signals are the continuous changing voltages of an analog audio signal.

So, in audio, the way we combine multiple audio source is a mixer:

Three signals in, One out

Now, the interesting thing here is that a neuron doesn’t just sum the signals from its dendrites and send them to the output. It gives these inputs different weights (levels), and combines them in a nonlinear way.

In our sonic models of neurons, this “nonlinearity” could be a number of things: waveshapers, rectifiers, etc.

Hyberbolic Tan Function (tanh)

In the case of our sonic explorations, different nonlinear transformations will lead to different sonic results, but there’s no real “better” or “worse” choices (except driven by your aesthetic goals). Now, if I wanted to train an artificial neural net to identify pictures or compose algorithmic music, I’d think more about it (and there’s lots of literature about these activation function choices).

But, OK! A mixer with the ability to control the input levels and a nonlinear transformation! That’s our neuron! That’s it!

Just one neuron

In this patch, our mixer receives three inputs: a sequenced sine wave, a chaotically-modulated triangle wave, and one more thing I’ll get back to in a sec. That output is put through a hyperbolic tan function (soft-clipping, basically), then run into a comparator (if the input is high enough, fire the synapse!), then comparator is filtered, run to a spring reverb, and then the reverb is fed back into that third input of the mixer.

Now, as it stands, this neuron doesn’t learn anything. That would require the neuron getting some feedback from it’s output (it feeds back from the spring reverb, but that’s a little different) Is the neuron delivering the result we want based on the inputs? If not, how can it change the weights of these inputs so that it does?

We’ll save that for another day, though.

EDIT 05.18.22 – Taking it on the road!

Audio Feedback Loops in Digital: Cybernetic Music in Symbolic Sound Kyma 7

Building some feedback loops in the digital domain using Symbolic Sound’s Kyma 7.

In audio feedback loops, the output of the system is fed back into an input. We’re probably most familiar with this when we put a microphone in front of a speaker and we get the “howling” sound. Here, though, I’m intentionally building digital feedback loops in order to explore the sonic possibilities of these rather unpredictable systems.

In order to keep my feedback loop interesting, though, I need to keep it from dying away to silence, or blowing up into white noise. By considering the different processes we apply to the audio in the loop (are they adding spectral complexity or removing it?), we can try to make feedback patches that are dynamic and interesting over time.

0:00 The Continuum of Spectral Complexity
3:13 Staring with an Sine Wave in Kyma
4:45 Delay with Feedback
5:49 Building Feedback Loops Manually
8:40 Ring-Modulating the Feedback
11:20 Gain and Saturation
14:22 Exploring the Sound
16:16 Filter Bank
19:05 Jamming with the Patch
22:18 Thinking about Control
23:25 Performing the Sound
26:34 Feedback Loop with Reverb
28:10 Making it into IDM with the Chopper
29:22 So What? Next Steps

More Kyma Videos:

More audio cybernetics and feedback:

Adding “Analog Warmth” to Your Digital Synth (Reaktor 6 Primary)

Some ideas on how to add some beautiful (analog?) imperfections to your Reaktor synths in Reaktor Primary.

The definition of “analog warmth” is pretty nebulous, but it brings to mind things like tube distortion and tape saturation–imperfections to the “fidelity” of the sound. Digital sound has imperfections too, of course, but these are aesthetically different (though perhaps no less interesting). In this video, though, I talk about some ideas in how to imitate the imperfections of analog in our digital Reaktor 6 synths.

Reaktor 6 Beginner Tutorials here
More Intermediate Reaktor Tutorials here.

Making a Bad Sine Wave in Pure Data Vanilla

Building a “wab-sabi” oscillator in Pd to celebrate the beauty of imperfection and impermanence.

Sine waves are great! The perfection of a pure, single frequency can be both expressively and technically very useful in pursuing our musical goals. There are, however, lots of musical reasons that we might want to intentionally make our oscillators a little more rough around the edges.

Performance on traditional, acoustic instruments, of course, produces a huge amount of micro-variation across each note, and so it can be expressively engaging for us to be able to introduce that same imperfection (analog warmth?) in our digital instruments as well.

In this video, I build a bad sine wave by frequency-modulating my oscillator with noise, and then feeding back the output back into the modulation. While I build this out in Pure Data, the same can be done in Reaktor, Kyma, Max/MSP or any other synthesis environment.

More Pd Tutorials here.
No-talking Pure Data jams and patch-from-scratch.

0:00 Introduction, The Beauty of Imperfection
1:26 Slider-Controlled Sine Wave
3:28 Adding Noise
4:35 Frequency Modulating with Noise
7:24 Filtering the Noise
8:20 Feeding Back into FM
9:55 I’ve gone too far
13:26 Reaktor Examples
14:18 Closing Thoughts, Next Steps

New Music: “Cybernetics & Feedback”

I’ve released a new collection of pieces, “Cybernetics & Feedback”, available on bandcamp:

Cybernetics & Feedback

Inspired by the cybernetic and feedback works of Roland Kayn, Éliane Radigue, Bebe Barron, and Jaap Vink, and embracing an anything-goes noise music aesthetic, this collection of works from early 2022 explores analog feedback loops and self-regulating patches in Eurorack modular.

In these pieces, audio signals are routed back into themselves, and used to control processes and trigger events. While these are performed improvisations, “performance” in this case does not mean strict control, since these systems influence themselves as much as the performer does.

One of my sketches. I think this is Track 6.

A quick acknowledgement that these noisy soundscapes might not be for everyone. Don’t worry. I won’t be offended.

I do have something a little more crowd-pleasing:

Ambient Chiptune (for Studying)

As a bonus, I’ve put up all the audio tracks from my “Ambient Chiptune” videos as a free/pay-what-you-want download.

(Definitely easier listening on these!)

Enjoy!

Reaktor 6 Easy Portamento / Pitch Glide

A super-quick video on adding portamento to your Reaktor synthesizers and the theory behind it.

Portamento is a glide between notes, so, rather than jumping from pitch to pitch, we have an uninterrupted, continuous connection between the notes. Since we know our low-pass filter “rounds off” our audio waveforms, let’s see what happens when we apply that to our pitch control data.

More Reaktor tutorials here.

Pure Data Patch from Scratch: “Complex Oscillator”

A quick and easy Pure Data patch-from-scratch tutorial building a “complex oscillator” with two sine waves cross modulating each others frequency for noisy, sophisticated sounds.

In this patch, we set up a simple FM synthesizer with one sine wave modulating another’s frequency. Then, instead of leaving it there, we take our output and use it to modulate the modulation oscillation, leading some wonderful, unpredictable complex sounds.

There’s no talking on this one, just building the patch, and listening to it go.

0:00 Sine Oscillator
0:42 Simple FM Synthesis
1:50 Cross Modulation
2:37 Commenting the Code
4:11 Exploring the Controls

Pure Data introductory tutorials here.
More no-talking Pure Data jams and patch-from-scratch videos.

Vector Synthesis in Reaktor 6 Primary (Make your own Prophet VS?)

Using Reaktor 6 to build a synth with XY timbre controls.


The term “Vector Synthesis” was coined to describe Sequential Circuits’ 1986 Prophet VS synthesizer. This synth included a joystick with two dimensions of control that allowed for dynamic, real-time control of the timbre of the instrument by cross-fading between its wavetables.

Here, let’s steal that idea of X/Y control over timbre, and see if we can make a quick Reaktor synthesizer with the same real-time interactivity.

0:00 What is Vector Synthesis?
1:28 XY Plane
2:30 XY Controlling One Oscillator
3:59 Crossfading Oscillators
6:12 2D Crossfading
9:34 Different Waveform in Each Corner
13:50 Adding a Filter
14:37 More Sophisticated Oscillators
16:00 Polyphony
16:49 Next Steps

Reaktor 6 Beginner Tutorials here
More Intermediate Reaktor Tutorials here