/* Void Main's man pages */
{ phpMan } else { main(); }
JACK_IODELAY(1) JACK_IODELAY(1)
NAME
jack_iodelay - JACK toolkit client to measure roundtrip latency
SYNOPSIS
jack_iodelay
DESCRIPTION
jack_iodelay will create one input and one output port, and then measures the latency (signal delay) between them. For
this to work, the output port must be connected to its input port. The measurement is accurate to a resolution of greater
than 1 sample.
The expected use is to connect jack_iodelay's output port to a hardware playback port, then use a physical loopback cable
from the corresponding hardware output connector to an input connector, and to connect that corresponding hardware cap-
ture port to jack_iodelay's input port. This creates a roundtrip that goes through any analog-to-digital or digital-con-
verters that are present in the audio hardware.
Although the hardware loopback latency is the expected use, it is also possible to use jack_iodelay to measure the
latency along any fully connected signal path, such as those involving other JACK clients.
Once jack_iodelay completes its measurement it will print the total latency it has detected. This will include the JACK
period length in addition to any other latency in the signal path. It will continue to print the value every 0.5 seconds
or so so that if you wish you can vary aspects of the signal path to see their effect on the measured latency.
If no incoming signal is detected from the input port, jack_iodelay will print
Signal below threshold... .
every second until this changes (e.g. until you establish the correct connections).
To use the value measured by jack_iodelay with the -I and -O arguments of a JACK backend (also called Input Latency and
Output Latency in the setup dialog of qjackctl), you must subtract the JACK period size from the result. Then, if you
believe that the latency is equally distributed between the input and output parts of your audio hardware (extremely
likely), divide the result by two and use that for input and/or output latency value. Doing this measurement will enable
JACK clients that use the JACK latency API to accurately position/delay audio to keep signals synchronized even when
there are inherent delays in the end-to-end signal pathways.
AUTHOR
Originally written in C++ by Fons Adriensen, ported to C by Torben Hohn.
1.9.7 May 2011 JACK_IODELAY(1)

