alsa_in, alsa_out - Jack clients that perform I/O
with an alternate audio interface
alsa_in [options]
alsa_out [options]
A JACK client that opens a specified audio interface (different to
the one used by the JACK server, if any) and moves audio data between its
JACK ports and the interface. alsa_in will provide data from the interface
(potentially for capture); alsa_out will deliver data to it (for
playback).
The audio interface used by alsa_in/alsa_out does not need to be
synchronized with JACK backend (or the hardware it might be using).
alsa_in/alsa_out tries to resample the output stream in an attempt to
compensate for drift between the two clocks.
As of jack-0.116.3 this works almost perfectly. It takes some
time, to reach absolute resample-rate stability. So give it some minutes
(its intended to be running permanently anyways)
- -j
jack_client_name
-
Set Client Name.
- -d
alsa_device
-
Use this Soundcard.
- -v
-
Verbose, prints out resample coefficient and other parameters useful for
debugging, every 500ms. also reports soft xruns.
- -i
-
Instrumentation. This logs the 4 important parameters of the samplerate
control algorithm every 1ms. You can pipe this into a file, and plot it.
Should only be necessary, if it does not work as expected, and we need to
adjust some of the obscure parameters, to make it work. Find me on
irc.freenode.org #jack in order to set this up correctly.
- -c channels
-
Set Number of channels.
- -r
sample_rate
-
Set sample_rate. The program resamples as necessary. So you can connect a
44100 jackd to a soundcard only supporting 48000. (default is jack
sample_rate)
- -p
period_size
-
Set the period size. It is not related to the jackd period_size. Sometimes
it affects the quality of the delay measurements. Setting this lower than
the jackd period_size will only work, if you use a higher number of
periods.
- -n
num_period
-
Set number of periods. See note for period_size.
- -q quality
-
Set the quality of the resampler from 0 to 4. can significanly reduce cpu
usage.
- -m max_diff
-
The value when a soft xrun occurs. Basically the window, in which the dma
pointer may jitter. I don't think its necessary to play with this
anymore.
- -t
target_delay
-
The delay alsa_io should try to approach. Same as for max_diff. It will be
setup based on -p and -n which is generally sufficient.
- -s
smooth_array_size
-
This parameter controls the size of the array used for smoothing the delay
measurement. Its default is 256. If you use a pretty low period size, you
can lower the CPU usage a bit by decreasing this parameter. However most
CPU time is spent in the resampling so this will not be much.
- -C P Control
Clamp
-
If you have a PCI card, then the default value (15) of this parameter is too
high for -p64 -n2... Setting it to 5 should fix that. Be aware that
setting this parameter too low, lets the hf noise on the delay measurement
come through onto the resamplerate, so this might degrade the quality of
the output. (but its a threshold value, and it has been chosen, to mask
the noise of a USB card, which has an amplitude which is 50 times higher
than that of a PCI card, so 5 won't lose you any quality on a PCI
card)
- -S
server_name
-
Server to connect to. This option permits to attach to a named jack2 server.