[LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

David Olofson david at olofson.net
Thu Feb 11 09:15:36 UTC 2010

On Wednesday 10 February 2010, at 22.45.40, Emanuel Rumpf <xbran at web.de> 
> 2010/2/8 Paul Davis <paul at linuxaudiosystems.com>:
> > not all PCs can do it. but its simply not true that "PCs can't do it".
> Accepted.
> When running any 32 polyphonic hw synth,
> it is able to do those 32 voices anytime.
> When running out of the voices, something will
> happen (e.g. voice killing/stealing). But it won't start any noise.
> Something to concider
> Would a check for guaranteed voices be possible for a soft-synth ?

Any polyphonic synth will have to check for voices as part of the "allocate 
voice" action for any noise started, so the question seems somewhat odd to me.

Are you thinking of voice stealing logic?

I would think most softsynths have this. The alternative would be to 
dynamically allocate voices as needed, and I think some actually do this - but 
this will be troublesome in a realtime implementation, unless you're on a full 
realtime OS using physical RAM only. You may pre-allocate and lock a "huge" 
block of memory for the synth, but then you still have a limited voice count 
of sorts...

> That would require an extensive deterministic behavior, I think.
> Instead of noise generation, maybe some sort of interpolation/silence
> for sample values could be used, when running out of processing power.

There are various solutions, such as stealing the "least audible" note, or 
just grabbing the oldest playing note. Figuring out which note is *actually* 
the least audible is a lot trickier than it might seem at first, so any real 
implementation would be an approximation at best.

Anyway, I don't think there's much of a difference between "hardware" and 
software synths in this regard. (They all do an equally bad job of it! ;-) 
After all, most "hardware" synths are actually one or more DSPs and 
(sometimes) MCUs running some sort of software, and even "real" hardware 
synths will have an MCU or logic circuitry to implement this.

//David Olofson - Developer, Artist, Open Source Advocate

.--- Games, examples, libraries, scripting, sound, music, graphics ---.
|  http://olofson.net   http://kobodeluxe.com   http://audiality.org  |
|  http://eel.olofson.net  http://zeespace.net   http://reologica.se  |

More information about the Linux-audio-dev mailing list