diff options
author | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2011-04-21 08:12:03 +0000 |
---|---|---|
committer | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2011-04-21 08:12:03 +0000 |
commit | d64bf92cc6dc8f022df9f4b9492b54ddf9d81fe1 (patch) | |
tree | 644a7aea5d14f93ef1841092a8caa89ccd63fbd4 /man | |
parent | 04f7bf87fdb5cfdae239cde08c9f4515491467e3 (diff) | |
parent | 15a862dc9cbad25e4229b949d008aa7aad9ee691 (diff) | |
download | jack2-d64bf92cc6dc8f022df9f4b9492b54ddf9d81fe1.tar.gz |
Merge branch 'newer-midi'
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4339 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'man')
-rw-r--r-- | man/jack_iodelay.0 | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/man/jack_iodelay.0 b/man/jack_iodelay.0 index 007e65a1..d6a9f753 100644 --- a/man/jack_iodelay.0 +++ b/man/jack_iodelay.0 @@ -15,17 +15,17 @@ 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 capture port to jack_iodelay's input port. This creates a roundtrip that goes through any -analog-to-digital or digital-converters that are present in the audio -hardware. +analog-to-digital and digital-to-analog converters that are present in +the audio hardware. .PP 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. .PP Once jack_iodelay completes its measurement it will print the total -latency it has detected. This will include the JACK period length in +latency it has detected. This will include the JACK buffer 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 +print the value every 0.5 seconds so that if you wish you can vary aspects of the signal path to see their effect on the measured latency. .PP @@ -34,20 +34,27 @@ will print .PP \fT Signal below threshold... .\fR .PP -every second until this changes (e.g. until you establish the correct connections). +every second until this changes (e.g. until you establish the correct +connections). .PP 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. +setup dialog of qjackctl), you must subtract the JACK buffer size from +the result. The buffer size is determined by multiplying the number of +frames per period (given to the jackd backend by the -p or --period +option) by the number of periods per buffer (given to the jackd +backend by the -n or --nperiods option). Note that JACK2 will add an +implicit additional period when using the default asynchronous mode, +so for JACK1 or JACK2 in synchronous mode, the buffer size is n*p, but +for JACK2 in asynchronous mode the buffer size is (n+1)*p. Once the +JACK buffer size is subtracted from the measured latency, the result +is the "extra" latency due to the interface hardware. 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 output latency +values. 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. .SH AUTHOR -Originally written in C++ by Fons Adriensen, ported to C by Torben Hohn. - - - +Originally written in C++ by Fons Adriaensen, ported to C by Torben Hohn. |