zita-j2a(1) [debian man page]
ZITA-REV1(1) General Commands Manual ZITA-REV1(1)
NAME
zita-j2a - Use ALSA capture device as a Jack client, with resampling.
SYNOPSIS
zita-j2a [options]
DESCRIPTION
This tool allows to use an ALSA device as a Jack client, to provide additional capture channels. Functionally it is equivalent to alsa_out
that comes with Jack, but provides much better audio quality.
The resampling ratio will typically be stable within 1 PPM and change only very smoothly. Delay will be stable as well even under worse
case conditions, e.g. the Jack client running near the end of the cycle.
The alsa device should be a 'hw:' one, i.e. direct access to a soundcard and not an ALSA 'plug' device. A well-working Jack system is
assumed, running in real-time mode.
The sample rate can be the same as Jack's one, or different. Minimum delay is obtained by running the alsa device at a lower period size
than Jack. This can be done safely as the alsa thread will run at a higher priority, and apart from copying to/from an internal buffer no
work is done there. There are no restrictions on the product of period_size and number_of_periods as there are for alsa_in and alsa_out.
zita-j2a will optionally print some information four times per second. The first number is the average loop error over the last quarter
second, in samples. It should be reduced to small randowm values close to zero after 15 seconds or so. The second is the dynamic correction
factor of the nominal resampling ratio. This should converge to a value close to one and not move much.
You may observe small variations in these numbers when Jack apps are started or stopped. This is normal. Anything else isn't - please
report.
When starting, and in case of major trouble, you will see the
'Starting synchronisation' message. This can happen if there is a timeout on the Jack server, e.g. a client crashed or terminated in a
dirty way. Jack1 will skip one or more cycles when new apps are started, or when a large number of port connections is done in a short
time. his may interrupt the audio signal, but should otherwise not have any ill consequences nor require a restart.
zita-a2j and zita-j2a will suspend operation while Jack is in
'freewheeling' mode.
OPTIONS
-h Display this text
-d <device>
ALSA playback device [none]
-r <rate>
Sample rate [48000]
-p <period>
Period size [256]
-n <nfrags>
Number of fragments [2]
-c <nchannels>
Number of channels [2]
-Q <quality>
Resampling quality [48]
-v Print tracing information [off]
Use '-h' to see all options.
SEE ALSO
A quick guide is available at <http://kokkinizita.linuxaudio.org/linuxaudio/zita-rev1-doc/quickguide.html>
AUTHOR
zita-ajbridge was written by Fons Adriaensen <fons@linuxaudio.org>.
This manual page was written by Robin Gareus <robin@gareus.org> for the Debian project (but may be used by others). It is based on the
original README and announce message by Fons Adriaensen.
March 2012 ZITA-REV1(1)
Check Out this Related Man Page
JACKD(1) JACKD(1)
NAME
jackd - JACK Audio Connection Kit sound server
SYNOPSIS
jackd [options] -d backend [backend-parameters]
jackd --help
DESCRIPTION
jackd is the JACK audio server daemon, a low-latency audio server. Originally written for the GNU/Linux operating system, it also supports
Mac OS X and various Unix platforms. JACK can connect a number of different client applications to an audio device and also to each other.
Most clients are external, running in their own processes as normal applications. JACK also supports internal clients, which run within
the jackd process using a loadable "plugin" interface.
JACK differs from other audio servers in being designed from the ground up for professional audio work. It focuses on two key areas: syn-
chronous execution of all clients, and low latency operation.
For the latest JACK information, please consult the web site, <http://www.jackaudio.org>.
OPTIONS
-d, --driver backend [backend-parameters ]
Select the audio interface backend. The current list of supported backends is: alsa, coreaudio, dummy, freebob, oss sun and portau-
dio. They are not all available on all platforms. All backend-parameters are optional.
-h, --help
Print a brief usage message describing the main jackd options. These do not include backend-parameters, which are listed using the
--help option for each specific backend. Examples below show how to list them.
-m, --no-mlock
Do not attempt to lock memory, even if --realtime.
-M, --midi-bufsize [ event-count ]
Specify the size of the buffer used for MIDI ports. Units are "MIDI events per process() cycle", where an event occupies up to 4
bytes (as most common MIDI events do). The default buffer size is same as the one used for audio data, which will store about 2 MIDI
events per sample. Typical values for event-count will range from 10 to about 500. Be aware that using very high values along with
a large number of ports may cause JACK to fail to start because of the amount of memory that would be required.
-n, --name server-name
Name this jackd instance server-name. If unspecified, this name comes from the $JACK_DEFAULT_SERVER environment variable. It will
be "default" if that is not defined.
-p, --port-max n
Set the maximum number of ports the JACK server can manage. The default value is 256.
--replace-registry
Remove the shared memory registry used by all JACK server instances before startup. This should rarely be used, and is intended only
for occasions when the structure of this registry changes in ways that are incompatible across JACK versions (which is rare).
-R, --realtime
Use realtime scheduling (default = true). This is needed for reliable low-latency performance. On many systems, it requires jackd
to run with special scheduler and memory allocation privileges, which may be obtained in several ways.
-r, --no-realtime
Do not use realtime scheduling.
-P, --realtime-priority int
When running --realtime, set the scheduler priority to int.
--silent
Silence any output during operation.
-S, --sync
This option does nothing in this implementation of JACK, but exists for command-line compatibility with JACK2 and possibly other
versions.
-T, --temporary
Exit once all clients have closed their connections.
-t, --timeout int
Set client timeout limit in milliseconds. The default is 500 msec. In realtime mode the client timeout must be smaller than the
watchdog timeout (5000 msec).
-Z, --nozombies
Prevent JACK from ever kicking out clients because they were too slow. This cancels the effect any specified timeout value, but
JACK and its clients are still subject to the supervision of the watchdog thread or its equivalent.
-C, --timeout-thres time
Stop processing clients if JACK cannot complete the process cycle in time (typically caused by CPU overloading or misbehaved
clients). The optional time argument specifies the number of miliseconds, during which consectutive process cycles must fail before
JACK gives up (if the argument is not given, it defaults to 250). Processing will resume on the next change to the port graph (i.e.
a port is added, removed, connected or disconnected)
-u, --unlock
Unlock libraries GTK+, QT, FLTK, Wine.
-v, --verbose
Give verbose output.
-c, --clocksource ( c(ycle) | h(pet) | s(ystem) )
Select a specific wall clock (Cycle Counter, HPET timer, System timer).
-V, --version
Print the current JACK version number and exit.
ALSA BACKEND OPTIONS
-C, --capture [ name ]
Provide only capture ports, unless combined with -D or -P. Parameterally set capture device name.
-d, --device name
The ALSA pcm device name to use. If none is specified, JACK will use "hw:0", the first hardware card defined in /etc/modules.conf.
-z, --dither [rectangular,triangular,shaped,none]
Set dithering mode. If none or unspecified, dithering is off. Only the first letter of the mode name is required.
-D, --duplex
Provide both capture and playback ports. Defaults to on unless only one of -P or -C is specified.
-h, --help Print a brief usage message describing only the
alsa backend parameters.
-M, --hwmeter
Enable hardware metering for devices that support it. Otherwise, use software metering.
-H, --hwmon
Enable hardware monitoring of capture ports. This is a method for obtaining "zero latency" monitoring of audio input. It requires
support in hardware and from the underlying ALSA device driver.
When enabled, requests to monitor capture ports will be satisfied by creating a direct signal path between audio interface input and
output connectors, with no processing by the host computer at all. This offers the lowest possible latency for the monitored sig-
nal.
Presently (March 2003), only the RME Hammerfall series and cards based on the ICE1712 chipset (M-Audio Delta series, Terratec, and
others) support --hwmon. In the future, some consumer cards may also be supported by modifying their mixer settings.
Without --hwmon, port monitoring requires JACK to read audio into system memory, then copy it back out to the hardware again, impos-
ing the basic JACK system latency determined by the --period and --nperiods parameters.
-i, --inchannels int
Number of capture channels. Default is maximum supported by hardware.
-n, --nperiods int
Specify the number of periods of playback latency. In seconds, this corresponds to --nperiods times --period divided by --rate.
The default is 2, the minimum allowable. For most devices, there is no need for any other value with the --realtime option. With-
out realtime privileges or with boards providing unreliable interrupts (like ymfpci), a larger value may yield fewer xruns. This
can also help if the system is not tuned for reliable realtime scheduling.
For most ALSA devices, the hardware buffer has exactly --period times --nperiods frames. Some devices demand a larger buffer. If
so, JACK will use the smallest possible buffer containing at least --nperiods, but the playback latency does not increase.
For USB audio devices it is recommended to use -n 3. Firewire devices supported by FFADO (formerly Freebob) are configured with -n 3
by default.
-o, --outchannels int
Number of playback channels. Default is maximum supported by hardware.
-P, --playback [ name ]
Provide only playback ports, unless combined with -D or -C. Optionally set playback device name.
-p, --period int
Specify the number of frames between JACK process() calls. This value must be a power of 2, and the default is 1024. If you need
low latency, set -p as low as you can go without seeing xruns. A larger period size yields higher latency, but makes xruns less
likely. The JACK capture latency in seconds is --period divided by --rate.
-r, --rate int
Specify the sample rate. The default is 48000.
-S, --shorts
Try to configure card for 16-bit samples first, only trying 32-bits if unsuccessful. Default is to prefer 32-bit samples.
-s, --softmode
Ignore xruns reported by the ALSA driver. This makes JACK less likely to disconnect unresponsive ports when running without --real-
time.
-X, --midi [seq|raw]
Specify which ALSA MIDI system to provide access to. Using raw will provide a set of JACK MIDI ports that correspond to each raw
ALSA device on the machine. Using seq will provide a set of JACK MIDI ports that correspond to each ALSA "sequencer" client (which
includes each hardware MIDI port on the machine). raw provides slightly better performance but does not permit JACK MIDI communica-
tion with software written to use the ALSA "sequencer" API.
COREAUDIO BACKEND PARAMETERS
-c --channel
Maximum number of channels (default: 2)
-i --channelin
Maximum number of input channels (default: 2)
-o --channelout
Maximum number of output channels (default: 2)
-C --capture
Whether or not to capture (default: true)
-P --playback
Whether or not to playback (default: true)
-D --duplex
Capture and playback (default: true)
-r --rate
Sample rate (default: 44100)
-p --period
Frames per period (default: 128). Must be a power of 2.
-n --name
Driver name (default: none)
-I --id
Audio Device ID (default: 0)
DUMMY BACKEND PARAMETERS
-C, --capture int
Specify number of capture ports. The default value is 2.
-P, --playback int
Specify number of playback ports. The default value is 2.
-r, --rate int
Specify sample rate. The default value is 48000.
-p, --period int
Specify the number of frames between JACK process() calls. This value must be a power of 2, and the default is 1024. If you need
low latency, set -p as low as you can go without seeing xruns. A larger period size yields higher latency, but makes xruns less
likely. The JACK capture latency in seconds is --period divided by --rate.
-w, --wait int
Specify number of usecs to wait between engine processes. The default value is 21333.
NET BACKEND PARAMETERS
-i, --audio-ins int
Number of capture channels (default: 2)
-o, --audio-outs int
Number of playback channels (default: 2)
-I, --midi-ins int
Number of midi capture channels (default: 1)
-O, --midi-outs int
Number of midi playback channels (default: 1)
-r, --rate int
Sample rate (default: 48000)
-p, --period int
Frames per period (default: 1024)
-n, --num-periods int
Network latency setting in no. of periods (default: 5)
-l, --listen-port int
The socket port we are listening on for sync packets (default: 3000)
-f, --factor int
Factor for sample rate reduction (default: 1)
-u, --upstream-factor int
Factor for sample rate reduction on the upstream (default: 0)
-c, --celt int
sets celt encoding and number of kbits per channel (default: 0)
-b, --bit-depth int
Sample bit-depth (0 for float, 8 for 8bit and 16 for 16bit) (default: 0)
-t, --transport-sync int
Whether to slave the transport to the master transport (default: true)
-a, --autoconf int
Whether to use Autoconfig, or just start. (default: true)
-R, --redundancy int
Send packets N times (default: 1)
-e, --native-endian int
Dont convert samples to network byte order. (default: false)
-J, --jitterval int
attempted jitterbuffer microseconds on master (default: 0)
-D, --always-deadline int
always use deadline (default: false)
OSS BACKEND PARAMETERS
-r, --rate int
Specify the sample rate. The default is 48000.
-p, --period int
Specify the number of frames between JACK process() calls. This value must be a power of 2, and the default is 1024. If you need
low latency, set -p as low as you can go without seeing xruns. A larger period size yields higher latency, but makes xruns less
likely. The JACK capture latency in seconds is --period divided by --rate.
-n, --nperiods int
Specify the number of periods in the hardware buffer. The default is 2. The period size (-p) times --nperiods times four is the
JACK buffer size in bytes. The JACK output latency in seconds is --nperiods times --period divided by --rate.
-w, --wordlength int
Specify the sample size in bits. The default is 16.
-i, --inchannels int
Specify how many channels to capture (default: 2)
-o, --outchannels int
Specify number of playback channels (default: 2)
-C, --capture device_file
Specify input device for capture (default: /dev/dsp)
-P, --playback device_file
Specify output device for playback (default: /dev/dsp)
-b, --ignorehwbuf boolean
Specify, whether to ignore hardware period size (default: false)
SUN BACKEND PARAMETERS
-r, --rate int
Specify the sample rate. The default is 48000.
-p, --period int
Specify the number of frames between JACK process() calls. This value must be a power of 2, and the default is 1024. If you need
low latency, set -p as low as you can go without seeing xruns. A larger period size yields higher latency, but makes xruns less
likely. The JACK capture latency in seconds is --period divided by --rate.
-n, --nperiods int
Specify the number of periods in the hardware buffer. The default is 2. The period size (-p) times --nperiods times four (assuming
2 channels 16-bit samples) is the JACK buffer size in bytes. The JACK output latency in seconds is --nperiods times --period
divided by --rate.
-w, --wordlength int
Specify the sample size in bits. The default is 16.
-i, --inchannels int
Specify how many channels to capture (default: 2)
-o, --outchannels int
Specify number of playback channels (default: 2)
-C, --capture device_file
Specify input device for capture (default: /dev/audio)
-P, --playback device_file
Specify output device for playback (default: /dev/audio)
-b, --ignorehwbuf boolean
Specify, whether to ignore hardware period size (default: false)
PORTAUDIO BACKEND PARAMETERS
-c --channel
Maximum number of channels (default: all available hardware channels)
-i --channelin
Maximum number of input channels (default: all available hardware channels)
-o --channelout
Maximum number of output channels (default: all available hardware channels)
-C --capture
Whether or not to capture (default: true)
-P --playback
Whether or not to playback (default: true)
-D --duplex
Capture and playback (default: true)
-r --rate
Sample rate (default: 48000)
-p --period
Frames per period (default: 1024). Must be a power of 2.
-n --name
Driver name (default: none)
-z --dither
Dithering mode (default: none)
EXAMPLES
Print usage message for the parameters specific to each backend.
jackd -d alsa --help
jackd -d coreaudio --help
jackd -d net --help
jackd -d dummy --help
jackd -d firewire --help
jackd -d freebob --help
jackd -d oss --help
jackd -d sun --help
jackd -d portaudio --help
Run the JACK daemon with realtime priority using the first ALSA hardware card defined in /etc/modules.conf.
jackstart --realtime --driver=alsa
Run the JACK daemon with low latency giving verbose output, which can be helpful for trouble-shooting system latency problems. A reason-
ably well-tuned system with a good sound card and a low-latency kernel can handle these values reliably. Some can do better. If you get
xrun messages, try a larger buffer. Tuning a system for low latency can be challenging. The JACK FAQ, http://jackit.source-
forge.net/docs/faq.php has some useful suggestions.
jackstart -Rv -d alsa -p 128 -n 2 -r 44100
Run jackd with realtime priority using the "sblive" ALSA device defined in ~/.asoundrc. Apply shaped dithering to playback audio.
jackd -R -d alsa -d sblive --dither=shaped
Run jackd with no special privileges using the second ALSA hardware card defined in /etc/modules.conf. Any xruns reported by the ALSA
backend will be ignored. The larger buffer helps reduce data loss. Rectangular dithering will be used for playback.
jackd -d alsa -d hw:1 -p2048 -n3 --softmode -zr
Run jackd in full-duplex mode using the ALSA hw:0,0 device for playback and the hw:0,2 device for capture.
jackd -d alsa -P hw:0,0 -C hw:0,2
Run jackd in playback-only mode using the ALSA hw:0,0 device.
jackd -d alsa -P hw:0,0
ENVIRONMENT
JACK is evolving a mechanism for automatically starting the server when needed. Any client started without a running JACK server will
attempt to start one itself using the command line found in the first line of $HOME/.jackdrc if it exists, or /etc/jackdrc if it does not.
If neither file exists, a built-in default command will be used, including the -T flag, which causes the server to shut down when all
clients have exited.
As a transition, this only happens when $JACK_START_SERVER is defined in the environment of the calling process. In the future this will
become normal behavior. In either case, defining $JACK_NO_START_SERVER disables this feature.
To change where JACK looks for the backend drivers, set $JACK_DRIVER_DIR.
$JACK_DEFAULT_SERVER specifies the default server name. If not defined, the string "default" is used. If set in their respective environ-
ments, this affects jackd unless its --name parameter is set, and all JACK clients unless they pass an explicit name to jack_client_open().
SEE ALSO
:
http://www.jackaudio.org
The official JACK website with news, docs and a list of JACK clients.
http://jackaudio.org/email
The JACK developers' mailing list. Subscribe, to take part in development of JACK or JACK clients. User questions are also welcome, there
is no user-specific mailing list.
http://www.jackosx.com/
Tools specific to the Mac OS X version of JACK.
http://www.alsa-project.org
The Advanced Linux Sound Architecture.
BUGS
Please report bugs to
http://trac.jackaudio.org/
AUTHORS
Architect and original implementor: Paul Davis
Original design Group: Paul Davis, David Olofson, Kai Vehmanen, Benno Sennoner, Richard Guenther, and other members of the Linux Audio
Developers group.
Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stephane Letz, Fernando Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo,
Kai Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny Petrantoni, Torben Hohn.
Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre Prokoudine.
April 2006 0.122.0 JACKD(1)