[LAD] PortAudio experience

Olivier Guilyardi list at samalyse.com
Tue Jan 12 20:11:24 UTC 2010


On 01/12/2010 07:15 PM, Michael Ost wrote:
> We are considering using PortAudio for Linux hardware support (and 
> Windows/Mac as well). What's the word on the quality, reliability, 
> ease-of-programming, latency and performance in Linux?

PortAudio on Linux is very reliable in my experience. It's rather easy to
program with, although I personally dislike its massive-camel-case syntax.

Latency is quite ok. PortAudio actually gives you hints on low and high
latencies for a particular device. For instance, on a HDA Intel consumer
soundcard, it ranges from 10ms to 45ms. I'm using the high one in my app,
although I can't remember exactly why ATM.

But as others are saying in this thread, nowadays a Linux app really needs JACK
support, and you shouldn't rely on Portaudio for this purpose, because it
doesn't play well with the JACK ports paradigm.

Another reason you might want to add JACK support (perhaps in addition to
PortAudio) is that unless I missed something it is still required by FFADO for
firewire devices support.

> Our product (Receptor) is used in live situations by non-programmers, so 
> the support can't be "tweaky" if you know what I mean. The product only 
> needs to support a couple of sound cards, though, so it won't have to 
> target lots of hardware.

I've now maintained a JACK app, namely Jackbeat, for several years, and although
it doesn't have a massive user base, I can tell you that JACK can indeed be
tricky for some linux/audio newbies.

This is why I've added extra options: PortAudio and PulseAudio. This way, the
user can get the app up and running in seconds. But if he/she wants more (lower
latency, connecting with other JACK apps, etc..), then he can switch to JACK,
which is easily performed in many cases.

I think this is the way it happens in many circumstances, not only on Linux: an
easy default is provided, and one can optimize his/her setup with a few efforts.

--
  Olivier




More information about the Linux-audio-dev mailing list