[sdiy] Polyphonic voice allocation algorithm

Tom Wiltshire tom at electricdruid.net
Tue Jun 24 00:15:45 CEST 2014


Hi Richie,

I've got some notes that I did when I wrote one. I'll see what I can dig out. The notes were all diagrams though - no text. It might be totally impenetrable to an outsider!
It involved two stacks, one of free voices, and one of voices in use. I also kept a  lookup up of what voice (if any) each note was been played by to save having to search the stacks for that information. Free voices came off the bottom of the free stack, and recently freed voices went back on the top. Similarly new used voices went on the top of the used stack, and if there were no free voices left, you could pull the oldest used voice off the bottom. There wasn't a lot more to it than that, or that was the gist of it, anyway.

Tom


On 23 Jun 2014, at 21:57, rburnett at richieburnett.co.uk wrote:

> Hi guys and girls,
> 
> Does anyone have a link or document that gives a good explanation for a basic polyphonic voice allocation algorithm.  I'm not after anything fancy, just the sort of process that goes on inside a basic mono-timbral polysynth like Roland's Juno series.
> 
> I know some basic terminology like "voice stealing" and "round robin fashion" but I'm trying to avoid sitting down and going through the thought process of coming up with my own voice allocation algorithm from scratch!  Life is too short to spend time re-inventing the wheel when this algorithm has been used for decades and must surely be documented somewhere?
> 
> I know synths like the Juno 106 had two different poly voice allocation modes on offer.  One of them assigns repetitive same notes to new voices in round-robin fashion so that their release phases can overlap, and the other mode plays the repeating same notes by just retriggering the same module.  What I'm really looking for is something like a flowchart, or text description of how the voice allocation decisions are performed.
> 
> I appreciate that things can get complicated when notes can arrive from local keyboard vs over MIDI, and things like Sustain messages, and multi-timbral setups are considered.  However, I'd like to keep it simple at the moment so that I can just play about with some synthesis options.
> 
> Thanks in advance for any help,
> 
> -Richie,
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy




More information about the Synth-diy mailing list