What I want to do, is to use the resources I have
to run multiple
signal generation and processing chains asynchronously, in
parallel, and then use the final audio-hardware-synchronized chain
to resample them all into one, perhaps using the Zita tools.
Anyone know if this is possible? I saw this flow structure work
very well in the video domain, quite a few years ago.
That's not what you want to do at all.
JACK is designed to be a *synchronous* system. All clients process
audio corresponding to the same period of time, precisely in sync with
each other. You do not want to "resample them all into one", and
certainly not with the zita tools.
A "correct" digital audio processing and/or synthesis environment
consists of a single audio interface (or at least, a single digital
sample ("word") clock). You can run any number of JACK clients,
connected in arbitrary ways. But using multiple audio interfaces
(which is what the zita tools are related to) is not the right thing
to do unless you are forced to by lack of funds or inappropriate hardware.
I do understand that JACK is designed to be completely synchronous. But
a good pipelined architecture, can take multiple synchronous processing
chains running independently (asynchronously to each other), and then
merge them at the output end. What I want to do is the equivalent using
JACK at the synchronous level, so that I take advantage of more of my
computing power. Eventually I will want to do exactly the same using
four or five RPi-compatibles, with just one of them having the audio
output; but right now I have about 75% of my CPU and 6+ gigabytes of RAM
not being touched, so clearly the testbed is waiting :-). The video
processing pipeline I saw a while ago used a proprietary bus (it was a
while ago), I am thinking IP is probably the simplest now, over
localhost within this box, and through a good switch whenever I start
work on RPis (which is probably not soon but is worth contemplating).
And to use the Zita tools, I was going to see if there was an
audio-over-IP transport which delivered ALSA ports :-) I don't quite
remember, it has been about eight months since I looked. If there is, I
would expect the existing Zita tools would do wonderfully for the
resampling connectors. If not, I wonder what best to use for
JACK-to-JACK resampling?
--
Jonathan E. Brickman jeb(a)ponderworthy.com (785)233-9977
Hear us at
http://ponderworthy.com -- CDs and MP3 now available!
<http://ponderworthy.com/ad-astra/ad-astra.html>
Music of compassion; fire, and life!!!