Monophonic Toggle for Synthesiser class; Approach suggestions?

#1

Heya- I’ve been working on a simple synth that emulates a famous 90s synth oscillator as other solutions out there either don’t fully capture the sound, aren’t cross-platform and/or require a bit of menu-diving in full suite synths. I’m hoping to share my version for free.

I’m trying to figure out the best approach to having a Monophonic mode for my Synthesiser subclass. I’ve thought of both a bad and a lazy approach:
Bad: Upon toggling mono, remove() all voices but one, add them back when toggling back to poly
Lazy: Have a concurrent mono version of the synth running, with the toggle only changing which is rendered to the output buffer in my in my main processor

But surely there is a better approach.

What method(s) in my Synthesiser/SynthesiserVoice implementations should I look to change to implement a toggle to use only one voice? Any other advice on how I could approach this would be appreciated!

0 Likes

#2

why not just modify how voices get selected in your Synthesiser::noteOn()

if( monophonic ) 
{
   //change the currently playing note's pitch
}
else
{
   Synthesiser::noteOn(...);
}

?

0 Likes