A short note on the Linux sound APIs (or that they should be called) like pulseaudio/alsa/jack. The difference as far as I know is that pusleaudio tried to be a general interface that would work for all applications, intended for general use. Alsa is a relatively low level interface that doesn't do much such as dealing with multiple applications and resampling, which pulseaudio can do I think, not necessarily what people want.

Jack is the most rigid interface in the sense that it can time strictly and stay synchronized with a certain audio interface or real time clock (using "dummy" driver). Also, jack can handle complicated and big graphs of audio connections with (globally , at start up) adjustable buffering, which it syncs to 1 (one) audio interface, and if there are no "xruns" reported, it thinks all buffers and processing by active jack clients has happened on time. It's great that in that case all streaming works completely transparent. So you can connect an audio source to, say, 5 programs to process it, and an inverter, if you than put the 5 programs in "bypass" mode, meaning they process audio but actually don't change a bit of information, you can (automatically in Jack, by connecting to the same sink/input) mix the inverted with the 5 times neutrally processed outputs, and you'll nicely get zero (i.e. the inverted signal cancels out the other passing streams).

The stdout output might be related to keeping the process scheduler module in the Linux/OsX kernel (or what such is called under Windows) active about the audio process/thread.

T.V.
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to