On Wednesday 10 November 2010 08:43:09 Ken Restivo wrote:
Question about the alsa_out tool in the JACK github.
How critical is the libresample portion of the code? What would happen if I
removed it?
i.e. if I were sending, say, one stereo pair to one amp, and another stereo
pair to a different amp, and didn't care about the word clocks being in
sync, do I really need that libresample stuff sucking up valuable CPU? Or
could I whack it? What would be the difficulties created by doing that?
Again, this'd be only for output channels and I wouldn't need the word
clocks to be in sync.
The point of libsamplerate is exactly for word-clocks that are not in sync.
While both soundcards might say they run at 48 kHz, the master (which is
clocking jack) is running at 47990 Hz while the slave runs at 48010 Hz, that
is 20 Hz difference. Which means the slave needs the next block of audio 0.4 ms
before the master, otherwise it will produce silence for 0.4 ms. Such a small
silence every second, actually several smaller clicks of silence each second,
will be very audible as clicks in the slaves output.
The only way you can skip libsamplerate is when both really run from the same
word-clock but then the only reason to use alsa_[in|out] would be when the
first device is a firewire/network/macosx device and you want to use the sample-
synced alsa device too...
Have fun,
Arnold