1JACK_IODELAY(1)             General Commands Manual            JACK_IODELAY(1)
2
3
4

NAME

6       jack_iodelay - JACK toolkit client to measure roundtrip latency
7

SYNOPSIS

9       jack_iodelay
10

DESCRIPTION

12       jack_iodelay  will  create one input and one output port, and then mea‐
13       sures the latency (signal delay) between them. For this  to  work,  the
14       output  port  must  be  connected to its input port. The measurement is
15       accurate to a resolution of greater than 1 sample.
16
17       The expected use is to connect jack_iodelay's output port to a hardware
18       playback  port, then use a physical loopback cable from the correspond‐
19       ing hardware output connector to an input  connector,  and  to  connect
20       that  corresponding hardware capture port to jack_iodelay's input port.
21       This creates a roundtrip that goes  through  any  analog-to-digital  or
22       digital-converters that are present in the audio hardware.
23
24       Although  the hardware loopback latency is the expected use, it is also
25       possible to use jack_iodelay to measure the  latency  along  any  fully
26       connected signal path, such as those involving other JACK clients.
27
28       Once  jack_iodelay  completes  its  measurement it will print the total
29       latency it has detected. This will include the JACK  period  length  in
30       addition  to  any other latency in the signal path. It will continue to
31       print the value every 0.5 seconds or so so that if  you  wish  you  can
32       vary  aspects  of  the  signal path to see their effect on the measured
33       latency.
34
35       If no incoming signal is detected from  the  input  port,  jack_iodelay
36       will print
37
38        Signal below threshold... .
39
40       every  second  until this changes (e.g. until you establish the correct
41       connections).
42
43       To use the value measured by jack_iodelay with the -I and -O  arguments
44       of  a JACK backend (also called Input Latency and Output Latency in the
45       setup dialog of qjackctl), you must subtract the JACK period size  from
46       the  result.  Then, if you believe that the latency is equally distrib‐
47       uted between  the  input  and  output  parts  of  your  audio  hardware
48       (extremely  likely),  divide  the  result by two and use that for input
49       and/or output latency value. Doing this measurement  will  enable  JACK
50       clients  that  use  the  JACK  latency API to accurately position/delay
51       audio to keep signals synchronized even when there are inherent  delays
52       in the end-to-end signal pathways.
53

AUTHOR

55       Originally  written  in  C++  by  Fons Adriensen, ported to C by Torben
56       Hohn.
57
58
59
60
61
62
631.9.7                              May 2011                    JACK_IODELAY(1)
Impressum