If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
MIDI to Multi-mono
2 posts
• Page 1 of 1
MIDI to Multi-mono
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...
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.
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...
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.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
Don't stagnate, mutate to create!
-
trogluddite - Posts: 1730
- Joined: Fri Oct 22, 2010 12:46 am
- Location: Yorkshire, UK
Re: MIDI to Multi-mono
thanks trog for sharing this, gives me a reason to work on my synth projects again!
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
2 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 79 guests