[LAU] How to get started writing a JACK app? (also what distro for BeagleBone)

Fons Adriaensen fons at linuxaudio.org
Wed Jan 10 21:40:37 UTC 2018


On Wed, Jan 10, 2018 at 04:01:55PM -0500, Paul Davis wrote:
 
> In the scheme of things, a context switch is typically not very expensive
> compared to a typical audio buffer size (say 16 samples and up). The only
> way it gets unusually expensive is if a process touches a lot of memory
> during its execution. This isn't impossible in an audio/DSP context, but it
> isn't very likely either.
 
My impression is that context switches are cheap compared to cache misses.
And those you'll have anyway.

> > As opposed to a typical plug-in architecture where everything runs under
> > the host process. It is amazing to me that an interprocess scheme wouldn’t
> > run into major problems under compute load when running with the small
> > buffers needed for low latency.
> 
> be amazed :) 

My work is to develop DSP algorithms, and it's all done on Linux. I write
each of them as a Jack client which is also a Python class. So they can be 
scripted, use OSC, have a PyQt Gui, interface to hardware controllers, or 
whatever I need very easily. It's an extremely flexible way of doing things. 
A typical test or demo setup consists of between 10 and 30 of such modules.

Most of my colleagues do similar work. They write VST plugins which they 
run in Plogue Bidule on Windows. On the same hardware they easily get into 
CPU load problems while the Linux/Jack/Python version of the same patch
runs happily taking only 30% CPU load.

So yes, be amazed.

Ciao,


-- 
FA

A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)



More information about the Linux-audio-user mailing list