Pure Data Artificial Neural Network Patch from Scratch

Coding (well, “patching”) an artificial neural network in Pure Data Vanilla to create some generative ambient filter pings.

From zero to neural network in about ten minutes!

In audio terms, an artificial neuron is just a nonlinear mixer, and, to create a network of these neurons, all we need to do is run them into each other. So, in this video, I do just that: we make our neuron, duplicate it out until we have 20 of them, and then send some LFOs through that neural network. In the end, we use the output to trigger filter “pings” of five different notes.

There’s not really any kind of true artificial intelligence (or “deep learning”) in this neural network, because the output of the network, while it is fed back, doesn’t go back an affect the weights of the inputs in the individual neurons. That said, if we wanted machine learning, we would have to have some kind of desired goal (e.g. playing a Beethoven symphony or a major scale). Here, we just let the neural network provide us with some outputs for some Pure Data generative ambient pings. Add some delay, and you’re all set.

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

0:00 Demo
0:12 Building and artificial neuron
2:00 Networking our neurons
3:47 Feeding LFOs into the network
4:20 Checking the output of the network
5:00 Pinging filters with [threshold~]
8:55 Adding some feedback
10:18 Commenting our code
12:47 Playing with the network

Creating an artificial neuron in Pd:

Pinging Filters in Pd:

More no-talking Pure Data jams and patch-from-scratch videos:

Commodore 64 French House

Making some chiptune French house using the Commodore 64 and Alesis 3630.

C64 French House

Here, I’m using Paul Slocum’s CynthCart to turn my old C64 into a SID synthesizer. We run those licks into an Alesis 3630 compressor, side-chained to a kick drum (from an Alesis D-4), and then we have some pumping French house. Finally, we add some finishing touches with delay, reverb, and EQ in Logic Pro, as well as a cameo by an Electrix Warp Factory hardware vocoder.

Download the track here for free
:


More Commodore 64 sounds:

Patch from Scratch: Analog Feedback Loop in Eurorack

Patching up an analog feedback loop in Eurorack with some generic modules.

I don’t do a lot of videos talking about Eurorack for two main reasons:

(1) I’ve actually only been doing Eurorack for a couple years now, even though I’ve been doing digital synthesis and sound design for decades, and

(2) I don’t want my videos to be about any particular piece of hardware that you need to get (as always, I’m not sponsored by anyone).

But, the patch I put together in this video could be done by any number of modules, all I have is a sine wave, a ring modulator (multiplier), a reverb, a filter, and a limiter/compressor/saturator (anything to stop hard clipping). Put them together, feed them back, and you have some dynamic, analog generative soundscapes.

Previously, I’ve shown how to do the same thing in Pure Data, In Kyma, and in Reaktor.

Oh, and you can control it with an accelerometer too!

“Only for a Moment”

New music up on bandcamp!

A slow-evolving, minimalist piece for modular synthesizer.

“Hard Sync” Oscillators in Reaktor 6 Primary

Creating retro sounds with hard-synced oscillators in Reaktor 6 Primary.

“Hard sync” is synthesis technique that uses two oscillators: when one oscillator (the “leader”) finishes a cycle, it resets the period of the other oscillator (the “follower”), creating a period at the frequency of the leader, but a timbre from the incomplete cycles of the follower.

This is a really easy way to create original, complex sounds, using just two oscillators.

I say “1980s”, here but check out this sound in the Cars 1979 hit, “Let’s Go” (played on a Prophet-5 Synthesizer).

0:00 Defining “Hard Sync”
0:38 Building a Single Oscillator
1:35 Adding the “Follower”
3:03 Changing the Pitch Relationship
4:40 That Hard Sync Sound
4:57 How it Works
6:30 Follower Lower than Leader
7:25 Adding an Amplitude Envelope
8:10 Adding a Filter (for a bit)
9:28 Closing, Next Steps

Reaktor 6 Beginner Tutorials here:

Ihatov MU (無) : Noise Music at the Hanamaki “English Coast”

Screaming noise improvisation on 54HP Eurorack at the peaceful Hanamaki “English Coast” (花巻イギリス海岸).

There’s a feedback loop going here with spring reverb and ring modulation, plus quite a bit of contribution from the After Later Audio Benjolin V2.

More “MU” on the Hanamaki English Coast:

Pd Patch from Scratch: Filter Pinging

Doing some filter “pinging” use the resonant [bob~] filter in Pd Vanilla.

Filter pinging is a synthesis technique where you sent a “pop” (i.e. an audible click) to a resonant filter to create a percussive plucking sound around that filter’s cutoff frequency. Since we’re in Pd Vanilla, the easiest way to get a resonant filter is with [bob~], the “Runge-Kutte numerical simulation of the Moog analog resonant filter.”

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

0:00 Setting up the filter
0:40 Filtering a sawtooth wave
1:35 Subaudio [phasor~]
2:04 Randomizing cutoff frequency each ping
3:33 Commenting the code
5:12 Oops

Pure Data introductory tutorials here:


Accelerometer-Controlled Analog Feedback (iPad, Max/MSP, and Eurorack)

Using the tilt of an iPad to control an analog feedback-based patch.

In this patch, I send OSC (Open Sound Control) data about the tilt of my iPad to Max/MSP on my computer, which converts this data into MIDI, and subsequently, on my synth, voltage. That voltage (changing based on the iPad’s tilt) opens up a VCA (voltage-controlled amplifier) which controls the level of the feedback.

The analog feedback loop here goes: ring-modulator to saturator to reverb to delay to low-pass filter to the VCA (which runs back into the ring-modulator).

More digital control of analog Eurorack here:

Patch from Scratch: Reaktor Feedback Loop

Building a dynamic feedback loop in Reaktor 6 Primary.

Here’s a simple patch based off the work of composer/engineer Jaap Vink from the Institute For Sonology, Utrecht. This ensemble is a feedback loop with a delay, a ring modulator, and a saturator (with a simple sine as a “trigger” to get things started).

Each pass through the loop, the signal is delayed, then ring-modulated, significantly changing the spectrum. This can devolve into noise rather quickly, but a soft touch can lead to some interesting evolving soundscapes.

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

More Audio Cybernetics and Feedback: