About Polyphony, how it’s handled in SynthEdit.
SynthEdit has a default of 6 voice polyphony. You can change this, up to the maximum of 128 voices supported by MIDI.
Note:- for polyphony to work correctly, each synthesiser must be in it’s own container and each container must have exactly one MIDI to CV Module.
Important Note: Each new polyphonic channel creates cloned synth modules, so keep the number voices set to a realistic number (after all normal keyboard players can only hold down so many keys at once!) if not you risk creating a real “CPU hog”
NOTE: VST Plug-ins internally control their own polyphony, once your module structure becomes a VST it’s out of your control, you must set your limits at the design stage.
When a MIDI to CV Module is added to a container, all the modules downstream automatically become polyphonic. You can set the maximum number of voices from the container’s properties dialog. The polyphony is confined to that container. If you bring connections out of the container via an IO Mod Module, the signal is merged back into a mono signal. This is one way to control which modules are polyphonic.
SynthEdit creates clones of the modules in a container as needed for each voice in use (you can’t see the clones, they are generated internally).
About cloned modules.
SynthEdit only clones the modules it needs to. For example;
LFOs and Polyphony:
The LFO is treated differently for polyphonic modules. Here one LFO is shared by all the voices.
This is because the LFO does not depend on the MIDI to CV module, it is not connected to the MIDI to CV module in the signal path.
Working to reduce CPU usage.
SynthEdit automatically analyses each synthesiser’s signal flow to minimize the number of modules that need to be cloned to sound a new voice. This helps reduce the CPU load and increases performance.
Note: If do decide you want one LFO per voice, it will need to have some connection with the MIDI to CV module.
For example: you could connect the MIDI to CV modules Pitch Out plug to the LFO via a switch module, then turn off the switch, (although the switch is “off” breaking the control voltage flow, SynthEdit still sees this as a connection) this would then give you one separate LFO for each note you played.
Changing the default Polyphony.
By default, SynthEdit uses 6 Voice polyphony.
This default value can be changed as shown below:
Put the Polyphony Control inside a container to make all things inside this container and all its sub containers polyphonic. You only do this once per project.
Reserve Voices
Reserve Voices are extra spare voices used only to prevents clicks when you play more notes than Polyphony allows for. 3 to5 are usually sufficient.
Imagine you set polyphony to 3, and hold 3 notes, then hit a 4th note, what will happen? One of the 3 notes has to stop, but there is no way to stop a note instantly without it clicking. You have two options:
- Have some extra voices in ‘reserve’ to play the 4th note. This allows the new note to start immediately while one of the old notes is faded out. This is the best option.
- Have no reserve voices, SE will fade-out one of the 3 notes, then play the 4th note. This results in latency, half your notes get delayed several milliseconds, and the fade-out ‘pop’ is more noticeable because it’s not ‘masked’ by a new note.
Reserve voices don’t count toward polyphony. Reserve voices are only in effect for a few milliseconds, you only need enough to cope with how many notes you expect trigger ‘at once’ (at exactly the same time). I don’t tend to trigger more than 3 notes at the same instant, so 3-4 reserve voices is enough. This is not related to how many notes you can hold down at once, ‘polyphony’ sets that.
A common mistake with MIDI.
One common mistake made when programming with SynthEdit is to place a MIDI to CV module in it’s own container. This will lead to the Oscillator pitch jumping higher with each new note played. This is because the downstream modules are outside the MIDI to CV modules container, therefore they are not cloned when you play a new note. What happens instead is the two note’s pitches are combined before being sent to the Oscillator.
Leave a Reply