<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Modartt user forum - N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
	<link rel="self" href="https://forum.modartt.com/extern.php?action=feed&amp;tid=8170&amp;type=atom"/>
	<updated>2021-04-17T10:05:12Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.modartt.com/viewtopic.php?id=8170</id>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=975351#p975351"/>
			<content type="html"><![CDATA[<p>Let me express it in other words. When the information about a new MIDI note arrives at the input of Pianoteq, how many buffersizes does Pianoteq compute, before the first (computed) sample appears at the input of the audiodriver?</p><p>Exactly <strong>one</strong> buffersize?<br />(for example when Audio buffer size is set to 64 in Pianoteq - does the first sample appear after the time 64/samplerate?)</p><p>Maybe only Modartt can answer that question, in the forum I found just the following interesting discussion:</p><p><a href="https://forum.modartt.com/viewtopic.php?pid=951941#p951941">https://forum.modartt.com/viewtopic.php...41#p951941</a></p><p>But not 100% clear there, if only one &quot;BLOCK&quot; is computed before send to Pianoteq&#039;s output.</p><p>Furthermore, does Pianoteq MIDI-input buffering? Is a timeperiod of MIDI events buffered, before they are processed? If so - how long?</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-04-17T10:05:12Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=975351#p975351</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=975166#p975166"/>
			<content type="html"><![CDATA[<p>... I have an idea, but I need to know one thing first:</p><p>How many samples are calculated by Pianoteq, <strong>before</strong> they are sent to the audiodriver?</p><p>I suppose 2 * 64 samples (= 128 samples), but is it true?</p><br /><p>PS: Forgot to mention with setting Audio buffer size 64 samples in Pianoteq.</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-04-09T16:36:57Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=975166#p975166</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=975021#p975021"/>
			<content type="html"><![CDATA[<p>You are right too, when you take the bar labeled &#039;Gfast internal&#039; into account.&nbsp; I guess that was the internal / onboard codec of your &#039;generic Chinese laptop (i7 4710mq)&#039;.</p><p>I just meant all the USB-Audiointerface combinations we both examined. With Alsa we just found 6x or 9x the buffer size represented by the slope -- but not one with 3x. </p><p>So it seems at the moment that the README_LINUX.txt of Pianoteq is not applicable to USB-Audiointerfaces:</p><p>&quot;With the Alsa driver, the latency is 3 times the buffer size (a buffer of 64 samples at 44100Hz gives a latency of 4.3 ms).&quot;</p><p>But more important: Should 3n (with n=2 or 3) be the rule for Alsa+USB -- what is the deeper reason? The more I meditate on it, the more I&#039;m confused <i class="far fa-smile smiley"></i></p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-04-02T21:56:09Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=975021#p975021</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=975020#p975020"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>groovy wrote:</cite><blockquote><p>You wrote &quot;(with n=1,2 or 3)&quot;. But it seems we just have evidence for 3n (with n=2 or 3) with ALSA USB at the moment -- or have I overseen something?</p></blockquote></div><p>I took the green bar about 2 as 3, remember I made those lines with just two points... but you are right.</p>]]></content>
			<author>
				<name><![CDATA[marcos daniel]]></name>
				<uri>https://forum.modartt.com/profile.php?id=4155</uri>
			</author>
			<updated>2021-04-02T19:52:19Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=975020#p975020</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974990#p974990"/>
			<content type="html"><![CDATA[<p>... an update with the Focusrite 2i2 gen2 on the Raspberry Pi 400:</p><br /><p><span class="postimg"><img src="https://i.postimg.cc/SskP10nh/MIDIvs-Audio-lag-Korg-B2-2i2gen2-Pi400-Ptqv7-2-1.png" alt="https://i.postimg.cc/SskP10nh/MIDIvs-Audio-lag-Korg-B2-2i2gen2-Pi400-Ptqv7-2-1.png" title="https://i.postimg.cc/SskP10nh/MIDIvs-Audio-lag-Korg-B2-2i2gen2-Pi400-Ptqv7-2-1.png"/></span></p><br /><p>Its trend line equation is f(x) = 6.1x + 3.3. Slightly lower latency, than the Korg B2 interface. Probably because the 2i2 gen2 supports the UAC2 standard and the B2 not.</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-04-01T14:16:30Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974990#p974990</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974988#p974988"/>
			<content type="html"><![CDATA[<p>Hi Marcos,<br />nice to see some more data mining!<br /></p><div class="quotebox"><cite>marcos daniel wrote:</cite><blockquote><p>It seems that ALSA takes 3n the size of buffer (with n=1,2 or 3), depending on who knows (?)</p></blockquote></div><p>Don&#039;t know, but I can offer a hypothesis: Besides the alsa usbaudio driver (3 periods) the DAC-hardware itself could have a buffer of 3 periods, which would add up to 6 in this example (or multiple in other hardware).</p><p>From HIFI-DACs it is known, they often have big buffers, because break-free audiostreaming is the intention and not a very fast latency after pushing the play-button.</p><p>In the <a href="https://forum.modartt.com/viewtopic.php?pid=955481#p955481">non-additive latency thread</a> you can find an exception. The USB Scarlett 2i2 gen2 had been driven in <strong>SYNC mode</strong> there, which means just 2 periods instead of 3. The function I found there had been f(x) = 4.0x + 7.3, in other words the slope had been 4. If my hypothesis is true, the explanation would be:&nbsp; 2 periods in the alsa usb-driver plus 2 periods in the hardware DAC results in 4.</p><p>More common is the ASYNC mode today with an extra period (2+1=3).</p><p>It is not the best idea in my opinion to mix USB-Audiointerfaces with onboard-Audiointerfaces (PCI bus and others), because they have their own architecture and other drivers. Non-USB interfaces and their drivers usually have a flatter slope and a smaller static offset, because no USB-bus has to be passed. -</p><p>You wrote &quot;(with n=1,2 or 3)&quot;. But it seems we just have evidence for 3n (with n=2 or 3) with ALSA USB at the moment -- or have I overseen something?</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-04-01T08:32:11Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974988#p974988</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974986#p974986"/>
			<content type="html"><![CDATA[<p>With the data from the previous posts (in this topic and the ones referenced), I&#039;ve built some graphs. It seems that ALSA takes 3n the size of buffer (with n=1,2 or 3), depending on who knows (?). By the other hand, ASIO4all and the vendor&#039;s drivers show slopes between 2 and 3. Notice that except in the three trends lines I present, the slopes are calculaed based just with two points.</p><p><a href="https://i.postimg.cc/x1XjHxrw/plot0.png">https://i.postimg.cc/x1XjHxrw/plot0.png</a><br /><a href="https://postimages.org/"><span class="postimg"><img src="https://i.postimg.cc/qRqdVgk9/graph2.png" alt="https://i.postimg.cc/qRqdVgk9/graph2.png" title="https://i.postimg.cc/qRqdVgk9/graph2.png"/></span></a></p>]]></content>
			<author>
				<name><![CDATA[marcos daniel]]></name>
				<uri>https://forum.modartt.com/profile.php?id=4155</uri>
			</author>
			<updated>2021-04-01T03:55:13Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974986#p974986</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974964#p974964"/>
			<content type="html"><![CDATA[<p>Before I update to Pianoteq v7.2.1 and changes are possible (but unexpected) a short summary in a chart. Increasing the buffersize (64-&gt;96-&gt;128-&gt;192) increases the audio lag vs. the incoming MIDI byte linearly:</p><p><span class="postimg"><img src="https://i.postimg.cc/Xq3WGR2z/MIDIvs-Audio-lag-Korg-B2-Pi400-Ptqv7-2-0.png" alt="https://i.postimg.cc/Xq3WGR2z/MIDIvs-Audio-lag-Korg-B2-Pi400-Ptqv7-2-0.png" title="https://i.postimg.cc/Xq3WGR2z/MIDIvs-Audio-lag-Korg-B2-Pi400-Ptqv7-2-0.png"/></span></p><p>Although alsa is using 3 samplebuffers (README_LINUX.txt of Pianoteq) the tested example of a real system has a lag with factor 6.</p><br /><p>PS: The samplebuffer 96 is an exception. While using 48000 Hz externally the internal samplerate was 32000 Hz. But I included it, because the internal rate just affects the performance index, not the latency.</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-03-31T09:09:46Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974964#p974964</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974936#p974936"/>
			<content type="html"><![CDATA[<p>Interesting discussion. In doing quick by the ear comparisons using analog audio sent back into the piano, so that I hear both the piano internal sound and the Pianoteq sound, what makes a difference in latency for me is the host sample rate, which can be different than the internal sample rate even when &quot;direct sampling without conversions&quot; is used. I use a PI4 with sound via hdmi but once converted to analog sound latency is negligible. I would also speculate that some of the usb jitter could be due to the polled nature of usb 1 and 2. Don&#039;t know about usb 3.</p>]]></content>
			<author>
				<name><![CDATA[levinite]]></name>
				<uri>https://forum.modartt.com/profile.php?id=7208</uri>
			</author>
			<updated>2021-03-30T05:09:49Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974936#p974936</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974912#p974912"/>
			<content type="html"><![CDATA[<p>... an unexpected observation:</p><p>In the last setup (Pi400, Korg B2) the sample buffersize had been 64 at 48kHz, that I now changed temporarily to 128. I expected, that the latency increases just around 4.2 ms:</p><p>64 -&gt; 3 * 1.3 ms = 3.9 ms <br />128 -&gt; 3 * 2.7 ms = 8.1 ms<br />delta = 8.1 ms - 3.9 ms = 4.2 ms</p><p>But I measured a delta of 9 ms, which is more than double (<strong>21 ms</strong> in the following display minus 12 ms from my previous post):</p><br /><p><span class="postimg"><img src="https://i.postimg.cc/TwSm1Mmv/MIDI-to-Audio-latency-UM-1-SX-Pi400-64bit-Korg-B2-128samp.png" alt="https://i.postimg.cc/TwSm1Mmv/MIDI-to-Audio-latency-UM-1-SX-Pi400-64bit-Korg-B2-128samp.png" title="https://i.postimg.cc/TwSm1Mmv/MIDI-to-Audio-latency-UM-1-SX-Pi400-64bit-Korg-B2-128samp.png"/></span></p><br /><p>Could be the reason, why I usually prefer playing PIanoteq with smaller buffersizes like 64 - 96 at rates of 44.1 - 48 kHz.</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-03-29T09:34:34Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974912#p974912</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974898#p974898"/>
			<content type="html"><![CDATA[<p>I&#039;m having access to an oscilloscope in the meantime and tested another Pianoteq hardware. Although two main components have changed (CPU and USB-Audiointerface), I found again around <strong>12 ms latency</strong> between incoming MIDI Note-On byte and generated audio:</p><br /><p><span class="postimg"><img src="https://i.postimg.cc/yNpfnTym/MIDI-to-Audio-latency-UM-1-SX-Pi400-64bit-Korg-B2.png" alt="https://i.postimg.cc/yNpfnTym/MIDI-to-Audio-latency-UM-1-SX-Pi400-64bit-Korg-B2.png" title="https://i.postimg.cc/yNpfnTym/MIDI-to-Audio-latency-UM-1-SX-Pi400-64bit-Korg-B2.png"/></span></p><br /><p>Platform this time had been my Raspberry Pi 400 with ARM&nbsp; Cortex-A72, PiOS 64-bit beta and the internal USB-Audiointerface of a Korg B2 Digitalpiano.</p><p>(my previous test had been with an Intel N4200 based Laptop, Debian Stretch 64-bit and Focusrite 2i2 gen2.)</p><p>In both setups the same MIDI-to-USB Interface (Edirol UM-1SX) was used at the input.</p><p>To generate cyclic MIDI Note-On events I used a software-sequencer this time (Muse).</p><p>The internal Korg audiointerface has a fixed samplerate of 48 kHz and so it had a small advantage in this competition against the 44.1 kHz that I used in my Focusrite rig.</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-03-28T21:54:17Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974898#p974898</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974822#p974822"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>marcos daniel wrote:</cite><blockquote><p>Could it be related to focusrite drivers?</p></blockquote></div><p>It is the standard usb-audio kernel module (which is also responsible for MIDI), don&#039;t know. Eventually it helped, that the system timer is 1000 Hz and not common 250 Hz or 100 Hz.</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-03-24T20:37:04Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974822#p974822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974820#p974820"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>groovy wrote:</cite><blockquote><p>Yes, each of the ten measurements in Audacity had a &#039;Length of Selection&#039; of 12 ms (not 11 or 13 ms). The time resolution is limited to 1 ms in that window (00h00m00.012s).</p></blockquote></div><p>Could it be related to focusrite drivers?<br />In this PW post, some years ago, I had found a relative standard devition between measurements ranging from 1.6 to 19%</p><p>edit: I forgot to paste the URL<br /><a href="http://forum.pianoworld.com/ubbthreads.php/topics/2348570/Re:_Latency_measurement_-_USB_.html">http://forum.pianoworld.com/ubbthreads...._USB_.html</a></p>]]></content>
			<author>
				<name><![CDATA[marcos daniel]]></name>
				<uri>https://forum.modartt.com/profile.php?id=4155</uri>
			</author>
			<updated>2021-03-24T18:41:45Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974820#p974820</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974807#p974807"/>
			<content type="html"><![CDATA[<p>Yes, each of the ten measurements in Audacity had a &#039;Length of Selection&#039; of 12 ms (not 11 or 13 ms). The time resolution is limited to 1 ms in that window (00h00m00.012s).</p>]]></content>
			<author>
				<name><![CDATA[groovy]]></name>
				<uri>https://forum.modartt.com/profile.php?id=1021</uri>
			</author>
			<updated>2021-03-24T07:21:37Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974807#p974807</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: N00b with Pianoteq 6, a VPC1, a Surface Go, and a Focusrite Solo]]></title>
			<link rel="alternate" href="https://forum.modartt.com/viewtopic.php?pid=974803#p974803"/>
			<content type="html"><![CDATA[<p>Wow I hadn&#039;t seen this!<br />When you say you got 12ms, do you mean that the time was excactly the same?</p>]]></content>
			<author>
				<name><![CDATA[marcos daniel]]></name>
				<uri>https://forum.modartt.com/profile.php?id=4155</uri>
			</author>
			<updated>2021-03-24T00:36:12Z</updated>
			<id>https://forum.modartt.com/viewtopic.php?pid=974803#p974803</id>
		</entry>
</feed>
