k brown wrote:Have you or anyone else following this thread converted an entire project from poly to mono - is it a huge headache?
I've only ever really done one whole synth that way plus a few little experiments. On the whole I didn't find it too bad, as most stream components are stream-type agnostic - they'll just follow whatever connector type they get plugged into. The two parts that need to change most fundamentally are the MIDI-to-voice assignment and the envelopes.
The simplest way to handle the MIDI-to-voice would be just to set the usual M2V to have only one voice of polyphony and then use Poly-to-Mono primitives on its outputs before they get sent to the synth. Alternatively, you could use something like the
custom voice manager that I posted a while back; though for a strictly mono synth, that may be overkill, aside from allowing you select what note-priority you want and a few other parameters that the M2V doesn't have.
Envelopes would also have to be customised to use explicit gate/trigger connections, as the stock ones use the (strictly poly) "hidden" stage triggering behind the scenes. The download below is the custom one that I made for mono-synths; just a basic ADSR with gate input, but it work like a proper mono-synth envelope, where the attack doesn't reset to zero at the start of a voice, but picks up where it left off, to avoid that nastly "sucking out" of the sound when a new note interrupts a long release of the previous note.
You then have a choice about how to implement multiple paths through the synth. Anything that will work with blue mono will usually also work with blue mono4. So if you have a module for generating a single oscillator/filter/etc., you can often get it to generate another three for free by using packing and unpacking primitives to pump in the parameter values from the additional controls - you can get a lot of "bang-for-your-buck" CPU-wise that way in a mono design.