{"id":167,"date":"2016-04-21T19:27:55","date_gmt":"2016-04-21T19:27:55","guid":{"rendered":"http:\/\/trevor.ucsd.edu\/a\/wp6\/?page_id=167"},"modified":"2025-09-14T14:31:26","modified_gmt":"2025-09-14T14:31:26","slug":"latency","status":"publish","type":"page","link":"https:\/\/trevor.ucsd.edu\/a\/wp6\/patches-and-projects\/latency\/","title":{"rendered":"Measuring Latency with Ableton and Max for Live"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"167\" class=\"elementor elementor-167\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3a3e5869 e-flex e-con-boxed e-con e-parent\" data-id=\"3a3e5869\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e859d7e elementor-widget elementor-widget-text-editor\" data-id=\"e859d7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Overview<\/h2>\r\nSometimes you need to measure latency and you also want to use Ableton Live. This &#8220;<em>TH Latency Measurement<\/em>&#8221; Max for Live patch allow you to measure the latency between 2 channels. Send audio out one channel, receive that audio into\u00a0another, then run it through the M4L patch to view the\u00a0delay in milliseconds and samples.\r\n\r\n<img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-195\" src=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency0.png\" alt=\"M4L_Latency0\" width=\"265\" height=\"197\" \/>\r\n<h2>Downloads<\/h2>\r\nTH Latency Measurement (M4L Patch) &#8211;\u00a0<a href=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/TH-Latency-Measure.amxd_.zip\">TH Latency Measure.amxd<\/a>\r\n\r\nAbleton Set with MIDI Impulse (Ableton Project) &#8211;\u00a0<a href=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/TH_Latency_Measurement-Project.zip\">TH_Latency_Measurement Project<\/a>\r\n<h2>Detail<\/h2>\r\nPlace &#8220;TH Latency Measurement&#8221;\u00a0\u00a0on a Return track to measure the delay between the Left and Right Channels. Setup an Ableton Live session to output\u00a0audio (preferably simple, such as a sine wave) out the left channel while also routing the audio to the return track. Receive audio from a channel, pan it right and send that to the return track.\r\n<h2>Example #1<\/h2>\r\n(<strong>One Computer<\/strong> &#8211; Live and Jack)\r\n\r\nFollows is an example of audio routed out of Ableton through Jack (with a &#8220;Frames\/Period&#8221;, i.e. buffer of 1024 samples). Stereo audio is routed out of Live and back into Live. The audio is also routed to the System so that we can hear it.\r\n<img decoding=\"async\" class=\"alignnone wp-image-196 size-full\" src=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency1.png\" alt=\"M4L_Latency1\" width=\"871\" height=\"602\" srcset=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency1.png 871w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency1-500x346.png 500w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency1-768x531.png 768w\" sizes=\"(max-width: 871px) 100vw, 871px\" \/>\r\n<h2>Example #2<\/h2>\r\n(<strong>Two Computers<\/strong> &#8211; Live #1-&gt; Jack -&gt; Jacktrip -&gt; Jack -&gt; Jacktrip -&gt; Live #1)\r\n\r\nIn this example audio is output from Live on Computer #1, sent to another Computer #2\u00a0via Jacktrip, then routed directly back via Jacktrip, back into Live and into the Return track for measurement.\r\n\r\n<strong>Computer #1<\/strong>\r\n\r\n<img decoding=\"async\" class=\"alignnone wp-image-199 size-full\" src=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency4.png\" alt=\"M4L_Latency4\" width=\"870\" height=\"606\" srcset=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency4.png 870w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency4-500x348.png 500w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency4-768x535.png 768w\" sizes=\"(max-width: 870px) 100vw, 870px\" \/>\r\n\r\n<strong>Computer #2<\/strong>\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-198\" src=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency3-500x203.png\" alt=\"M4L_Latency3\" width=\"500\" height=\"203\" srcset=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency3-500x203.png 500w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency3.png 602w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\r\n<h2>Example #3<\/h2>\r\n(<strong>Two Computers<\/strong> &#8211; Live #1-&gt;Jack -&gt; Jacktrip -&gt; Live #2 -&gt; Jack -&gt; Jacktrip -&gt; Jack -&gt; Live #1)\r\n\r\n<strong>Computer #1<\/strong> (same as the above example)\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-197\" src=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency2-500x141.png\" alt=\"M4L_Latency2\" width=\"500\" height=\"141\" srcset=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency2-500x141.png 500w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency2-768x216.png 768w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency2.png 867w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\r\n\r\n<strong>Computer #2<\/strong> (Ableton Live routes audio in and directly out)\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-200\" src=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency5-500x377.png\" alt=\"M4L_Latency5\" width=\"500\" height=\"377\" srcset=\"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency5-500x377.png 500w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency5-768x579.png 768w, https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-content\/uploads\/2016\/04\/M4L_Latency5.png 800w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Overview Sometimes you need to measure latency and you also want to use Ableton Live. This &#8220;TH Latency Measurement&#8221; Max for Live patch allow you to measure the latency between 2 channels. Send audio out one channel, receive that audio into\u00a0another, then run it through the M4L patch to view the\u00a0delay in milliseconds and samples. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":33,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-167","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/pages\/167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/comments?post=167"}],"version-history":[{"count":14,"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/pages\/167\/revisions"}],"predecessor-version":[{"id":2209,"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/pages\/167\/revisions\/2209"}],"up":[{"embeddable":true,"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/pages\/33"}],"wp:attachment":[{"href":"https:\/\/trevor.ucsd.edu\/a\/wp6\/wp-json\/wp\/v2\/media?parent=167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}