Login / Register 0 items | $0.00 New @ KVR
blümchen
Banned

Postby blümchen; Sun Jun 19, 2005 8:16 am

That's all fine.

But has obviously nothing to do with a smart implementation of voice limitation and intelligent voice stealing algorithmic.

Because the performance is actually limited never the less with our computers (even with the last released top products - supporting mega feature sets and unisono ... ).
lalo
KVRian
 
1425 posts since 14 Oct, 2002

Postby lalo; Thu Apr 12, 2018 4:25 am Re: Voice Stealing

Bringin' up a very old one :-)

Is there any code example for poly voice stealing and mono/legato note priority (last/low/high)?
I guess is all a matter of keeping track of voice tags (or just note number), note ons and offs and then update pitch and trigger or not trigger envelopes.
thanks!
a.
User avatar
Richard_Synapse
KVRian
 
811 posts since 19 Dec, 2010

Postby Richard_Synapse; Thu Apr 12, 2018 5:03 am Re: Voice Stealing

I'm not aware of any code examples, but the simplest algorithm for poly stealing I know is to cycle through your voices in a round-robin fashion, while ignoring voices assigned to keys that are currently depressed. Some vintage hardware works in this fashion, very basic but effective.

That said it depends on what synth you're trying to make, so it is hard to give a generic answer here.

Richard
Synapse Audio Software - www.synapse-audio.com
lalo
KVRian
 
1425 posts since 14 Oct, 2002

Postby lalo; Thu Apr 12, 2018 5:29 am Re: Voice Stealing

Richard_Synapse wrote:I'm not aware of any code examples, but the simplest algorithm for poly stealing I know is to cycle through your voices in a round-robin fashion, while ignoring voices assigned to keys that are currently depressed. Some vintage hardware works in this fashion, very basic but effective.

That said it depends on what synth you're trying to make, so it is hard to give a generic answer here.

Richard


Thanks Richard, what seems more difficult to me is implement a mono/legato algorithm with note priority option. Ideally i would spare some time finding some examples.
User avatar
Richard_Synapse
KVRian
 
811 posts since 19 Dec, 2010

Postby Richard_Synapse; Thu Apr 12, 2018 5:52 am Re: Voice Stealing

Ok, here's how Low Note Priority can be implemented, as an example.

Simply keep track of all depressed keys in some array (you could use a list too, of course).

When pressing a key, low note priority will ignore any key higher than the current one. If it is lower, then set the pitch to the new, lower key.

When releasing a key, go through your array above. If it is empty, release the note normally. If it is not empty, take the lowest key and simply change the pitch accordingly.

Richard
Synapse Audio Software - www.synapse-audio.com
Previous

Moderator: Moderators (Main)

Return to DSP and Plug-in Development