I was hoping someone could help me with my first newbie
steps in linux audio
programming. I finally made it over to Linux, and discovered that I arrived
here before cubase and fruityloops did. They never did what I wanted them to
anyway. *sob*.
Anyhoo, now that I'm over them, I would love to get cracking on some chunky
audio projects but I'm a bit unsure of a kind of "best practises" approach
for audio programming. What should I study? Whats the best way to go?!
[ OK LADers, you all knew I'd be in here like greased lightning :) ]
well, JACK (the JACK Audio Connection Kit;
http://jackit.sf.net/)
makes a number of things much easier for you. You forget about
configuring audio interfaces and all that stuff, and instead deal with
a high-level abstraction that also takes care of many other aspects of
real-time audio programming.
but what's more interesting about JACK is that its an
inter-application audio routing system, which means that your
application can send/receive audio data from other apps just as easily
as it can from an audio interface. or both. or neither.
so there you have it: a simple model for real time audio programming,
allowing you to focus on what really matters (algorithms and UI
design), plus inter-app audio routing. what could be better?
disclaimer: i am the primary author of JACK :) i'm also the primary
author of ardour, one of the largest JACK clients (not unsuprising
given that its modelled on being a complete DAW).
for coding examples, i'd cite freqtweak and ecasound as 2 things to
look at after you're done with the JACK example clients. ardour has
lots of good stuff too, as does muse and rosegarden (though these two
focus slightly more on MIDI than on audio).
--p