Synth Voice Allocation Schemes
Poly synth voice allocation and its effects on character
When a poly synth is designed, the synth architect generally designs a great single voice architecture with one or more oscillators, a filter section, and various stages amps and other sound processing options. Various envelopes, low frequency oscillators, and other modulation options are added to allow shaping the sound.
Once the general architecture is figured out in a single (mono) voice, then the designer copies that mono voice architecture multiple times to create a multi-voice poly synth. At this stage, the designer must decide how the voices will be triggered, and any other considerations for other effects or modulation options that will run in the global/mono domain. The decision of how voices will be triggered is where the topic of "voice allocation" comes in, and the related topics of voice stealing, and voice variance.
There are several different voice allocation schemes that seem to be the most ubiquitous in poly synth designs over the past 40 years:
1. Round Robin Lowest Cycle
The round robin voice allocation scheme is the most prevalent. The idea behind round robin is that each time you strike a key on the keyboard, the synth will assign the next available voice to that key. With an 8-voice synth, if you press down a 3-note chord on the keybed, the synth will start by assigning voices 1, 2, and 3. Then, if you release those keys and play another 3-note chord, the synth will assign voices 4, 5 and 6. If you play another chord, you'll get voices 7, 8 and 1. The voice allocation continues to cycle through the next available voices, looping around 1-2-3-4-5-6-7-8-1-2-3-etc
There is also the possibility that the player may hold down the first three note chord, and play various other notes while the chord is held. In this case, the chord will reserve the three voices it is assigned while its being held, and the next available voices will skip past those that are being held. For instance, considering the three note chord triggers voices 1, 2, and 3, if a multitude of other notes are played in sequence, they will be assinged 4-5-6-7-8-4-5-6-7-etc...
2. Round Robin Oldest Cycle
The Oldest voice allocaiton scheme is very similar to the traditional round robin scheme, except that the voices will not always be triggered in the next-lowest number voice available, but rather the next-oldest voice available. For instance, if a chord is held down that uses voices 3, 4, and 5, with the standard round robin, the next voice that would be triggered would be voice number 1. With oldest voice allocation that may not be the case, if voice 1 was more recently triggered than say voice 6. In Oldest Cycle mode, whatever the voice number that was last triggered the longest time ago, will be the next one assigned.
3. Lowest Voice Allocation
The Lowest Voice Allocation Scheme always assigns the lowest number voice to keys pressed. For instance, if you play a three note chord, it will assign voices 1, 2, and 3 to those keys. If you release the chord and play another three note chord, it will again use voices 1, 2, and 3, as they are the lowest number voices available. If you play a three note chord and release the middle key that was assigned to voice 2, and then play another different note on the keybed, that new note will use voice 2. In this type of voice allocation scheme, the lower numbered voices get used far more than other voices on the synth. One of the modes on the Roland Jupiter 8 uses this type of scheme.
4. Per Key Voice Allocation
Per Key Allocation has a set voice priority for each key on the keybed, and the synth will always try to re-use the same voices for the same keys struck, if they are available. So if you play a middle-C, that might be assigned to voice 3 as the priority voice. Every time you return to that middle-C key, the synth will try to assign voice 3 to that key. If voice 3 is in use from another key that is held down, then the next available priority voice will be used. This type of scheme creates a consistancy to the sound of the keys on the keybed, where round robin would alternate through voices instead. This type of Per-Key allocation was used by the classic Prophet synths, and is a good option for poly synths with lower voice counts.