Polyphonic Synthesizer w/ poly ADSR

Apr 26, 2012 - 15:22

Currently designing the next generation generative music machine for mobile (especially iOS), I needed a way to trigger not only the pitch & velocity of a note to a polyphonic system, but also the amplitude envelope.

I’ll use libPD for this one too.
So yes, I’m using Pure Data too and not only max6 .. but it is the same family, even if there are many pure data nerd trolling a lot about max6.
Let’s prefer to spend time on using and making beautiful things instead of dividing people.
So, yes, I LOVE both pure data & max6 (and even reaktor!)

Why a need of polyphonic synth with an adsr for each event triggered ?
If the usual polyphonic stuff implement a way to trigger multiple note to may voices, each note having its pitch & its velocity, how can we do if we want different amplitude envelope for each note triggered ?
It is absolutely not native in the poly object in pure data (and in max6)

In my generative music machine, I need to send an event including pitch, velocity, attack, decay, release & sustain.
That way, I can control the whole sound triggered, firing some events more percussive, some other more smooth with a longer attack.

How I did that ?
So, after to have questionned here & there if there wasn’t something more native, more efficient, I designed mine which is quite efficient and indeed, it does the job well.
Even if I didn’t use their ways, I want to thank fp from the Cycling 74 forum and mod from puredata.hurleur.com forum.

One schematic is better than 100 words.
Here it is :

You can download it here
I packaged all in order to make an easier way by copy pasting the objects, but, of course, you’ll have to save the patch inside the orange square as voice.pd, then, to reopen the main one.
You’ll also need the adsr abstraction. Mine is inspired by the one here




No Comments