Page 1 of 1

MIDI to Multi-mono

PostPosted: Thu Oct 10, 2013 8:48 pm
by trogluddite
Billy was asking in another thread about the possibility of creating our own MIDI to poly voice management modules.

Because we don't have "deep level access" to the Poly stream voice assignments, this doesn't look to be possible. But there is another way - something I worked on in 'green' using SM a long time ago, and which I ported to Ruby a little while back.

The way it's done is by using mono and/or mono4 to set up discrete synth voices - much like the 'voice cards' onside old analogue poly synths. This makes it possible to create our own custom voice assignments etc.
But it does make building the synth more tricky - you have to have a fixed amount of polyphony, and a discrete 'voice' circuit for each one - more work than building a single 'architecture' and then letting 'white' streams create the duplicate voices for you.
And, of course, in 'blue' the code is always running, to the CPU load is static, using as much CPU as needed for the maximum number of voices.
So why bother?
Well, the main reason I did it the first time is because a lot of folks were asking about "free running oscillators". Using the normal "white" poly, oscillator waveforms are always reset to zero at the start of a new note, and that's not so cool if you like to use detuning to get lots of nice phasing between oscillators - the phase shifts don't "carry through" from note to note, making it sound more like samples being played back than an "organic analogue" sound.
And it also allows us to create our own methods of voice assignment - e.g. low or high note priority rather than the fixed 'last note' priority of the standard MIDI to Poly, or versatile 'unison' voice layering.

Anyhow, here's the schematic...
MIDI to Multi-Mono.fsm
(151.53 KiB) Downloaded 1249 times

NOTE - this is more of a demonstration of principle than anything else. I wrote the Ruby quite a while ago when I was just starting out with it, so it can almost certainly be improved a lot.
The demo synth, too, is very basic. As loaded, you have an eight voice synth, but I have set the voice manager to give four notes of poly, with two voices in unison per note played. First try repeatedly playing a single note - you'll hear how the de-tune phase shifts follow through from note to note - unlike any FS synth made using the normal methods.

Re: MIDI to Multi-mono

PostPosted: Thu Oct 10, 2013 10:41 pm
by Nubeat7
thanks trog for sharing this, gives me a reason to work on my synth projects again! :)