[LAD] hard realtime performance synth

Gabriel M. Beddingfield gabrbedd at gmail.com
Sat Jan 30 05:36:44 UTC 2010



On Fri, 29 Jan 2010, David McClanahan wrote:

> "KewlSynthOS" ?? No shit. What do you call all these audio distributions
> floating around that basically claim "Plug us in and you'll have an instant
> studio", "Look at our low latency" Blah Blah Blah. How many years has Linux

"Instant studio" is a different target from "embedded 
synth."  It implies modern hardware (e.g. 64 Studio is 
targeted at 64-bit processors) and multi-tasking.

> we're into "latency", I dare say I'd get less latency if I plugged in a
> 1Mhz  Commodore 64(with 64Kb) and played the SID chip than the latency I've
> gotten from trying to get Linux to give me soft synth on a machine with
> 200Mhz processor and 200+MB of memory.  When this started this a dedicated

GNOME or KDE on a PII-Celeron 200MHz PC with 196M RAM is 
insanely slow.  A softsynth doesn't stand a chance to keep 
up because you're also running Xorg and dbus and 
NetworkManager and pulseaudio and metacity and nautilus and 
hald and eximd and cupsd and avahi and acpid and....

But on a C64, whatever program you're running is /ALL/ that 
you are running.  You have total control over the CPU and 
system.

> From where I stand, it looks like a LOT of effort has been expended on Linux
> audio systems. It seems to me(forgetting my mission to acheive synth nirvana
> on the Dell for the moment) that it would have been worthwhile to build the
> audio on a hard realtime system since
>
> 1. Correct behavior is dependent upon time deadlines
> 2. That's what hard realtime systems are specifically geared to do.

Fair enough.

I think an embedded distribution for a dedicated synth would 
be a Good Thing.[1] I don't think you need a HRTOS, and that 
doing so will be an uphill battle for no gain.  But, it 
would be neat to see how that turns out... and nobody is 
stopping anyone from trying it.

But if your synth takes 5ms to calculate 4ms of music, it 
will /never/ keep up -- HRTOS or not.  Your only options are 
to change your synthesis algorithm (e.g. reduce/limit 
polyphony) or get a faster system.  If your synth sometimes 
pauses the calculation to save a backup to disk or allocate 
memory, it will /never/ keep up.  Your only option is to 
change your algorithm.

-gabriel

[1] I found a few audio-specific embedded linux distros,
     and they all look out-of-date:
     m-dist http://www.plus24.com/m-dist/
     iMedia http://www.mini-box.com/core/media/media.nl?id=323&c=ACCT127230&h=bb6861d6708db080cb05&_xt=.htm
     http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Building-a-solidstate-miniITX-Linux-recording-studio/




More information about the Linux-audio-dev mailing list