#N canvas 37 -7 825 630 12;

#X obj 98 184 metro 500;

#X obj 60 296 sig~;

#X msg 60 267 0.5;

#X obj 96 245 del 3;

#X msg 96 270 0;

#X obj 33 325 dac~;

#X obj 286 216 adc~;

#X obj 290 312 timer;

#X obj 92 335 env~ 65536;

#X floatatom 92 362 4 0 0;

#X floatatom 339 170 4 0 0;

#X obj 339 193 + 100;

#X obj 339 218 dbtorms;

#X obj 180 335 env~ 65536;

#X floatatom 180 364 4 0 0;

#X floatatom 290 349 4 0 0;

#X obj 312 245 *~ 1;

#X obj 312 282 threshold~ 0.1 5 0.05 5;

#X obj 634 160 bonk~;

#X obj 634 188 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1

-1;

#X obj 508 188 osc~ 440;

#X obj 530 214 *~ 0;

#X obj 582 189 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0

1;

#X obj 571 211 * 0.1;

#X obj 80 25 vdl 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 -1

0;

#X msg 17 138 \; pd dsp 1;

#X obj 634 132 *~;

#X obj 16 113 sel 0;

#X text 100 20 off;

#X obj 96 156 == 1;

#X obj 80 78 t f;

#X text 102 36 measure latency;

#X text 100 53 test continuity;

#X obj 582 97 == 2;

#X text 89 381 level out;

#X text 181 382 level in;

#X obj 530 244 dac~;

#X text 291 370 latency in;

#X text 292 386 msec;

#X text 656 188 this flashes when;

#X text 656 207 a discontinuity is;

#X text 657 226 detected;

#X obj 642 105 adc~;

#X text 328 131 you can;

#X text 324 147 adjust gain here;

#X text 538 66 --- continuity check ---;

#X text 169 105 --- latency measurement ---;

#X text 63 410 To use this patch \, connect your audio output back

to the audio input (channel 1 should suffice.) The latency measurement

assumes the feedback gain is at least about -14 dB - you can increase

the input sensitivity if need be.;

#X text 66 481 If you select "measure latency" a series of pulses are

timed using the "threshold~" object - note that it has an uncertainty

of 1.45 msec (at 44K1) \, so you might see the number jitter even if

the latency is constant.;

#X text 66 554 Select "test continuity' to see if there are interruptions

in the sound \, either at the input or output stage. If there are \,

the button will flash.;

#X connect 0 0 2 0;

#X connect 0 0 3 0;

#X connect 0 0 7 0;

#X connect 1 0 8 0;

#X connect 1 0 5 0;

#X connect 1 0 5 1;

#X connect 2 0 1 0;

#X connect 3 0 4 0;

#X connect 4 0 1 0;

#X connect 6 0 16 0;

#X connect 7 0 15 0;

#X connect 8 0 9 0;

#X connect 10 0 11 0;

#X connect 11 0 12 0;

#X connect 12 0 16 1;

#X connect 13 0 14 0;

#X connect 16 0 13 0;

#X connect 16 0 17 0;

#X connect 17 0 7 1;

#X connect 18 0 19 0;

#X connect 20 0 21 0;

#X connect 21 0 36 0;

#X connect 21 0 36 1;

#X connect 22 0 23 0;

#X connect 23 0 21 1;

#X connect 24 0 30 0;

#X connect 26 0 18 0;

#X connect 27 1 25 0;

#X connect 29 0 0 0;

#X connect 30 0 27 0;

#X connect 30 0 29 0;

#X connect 30 0 33 0;

#X connect 33 0 22 0;

#X connect 33 0 26 1;

#X connect 42 0 26 0;

