I/O ping returns the same value on every buffer size

I wanted to measure how much record latency offset I should set in the device preferences on my machine in Logic. There is a tool for it, the I/O plugin, that pings the input and output after you connect them with a cable, and reports how many samples of difference it detected. I guess this value should be bigger when the buffer size is set bigger. But in my case no matter what buffer size I set, the ping returns +30 as offset all the time. Is this normal?



I am using an Alesis I/O4 interface anyway. The detected latency is 5.6 ms though, I wonder if it would be neccessary to set that recording offset?

Posted on May 31, 2017 3:54 PM

Reply
12 replies

Jun 1, 2017 9:20 PM in response to bencuri

bencuri wrote:


00:00:00:00.04


Now what does this mean in samples? I have no clue about these measurements Unfortunately.

That is a SMPTE time format displaying the additional subframes

hh:mm:ss:ff:subframes

To calculate subframes into samples, you have to use the current Sample Rate and the Frame Rate in your project.

For example:


Sample Rate

44100Hz = 441000 samples/sec

1 sample (1/44100) 0.02ms


Frame Rate

25fps (frames/sec)

1 frame (1/25) 40ms


1 frame 80 subframes

1 subframe = (40ms/80) = 40ms/80=0.5ms


4 subframes = 2ms

2ms/0.02ms= 100 samples


That means, the 4 subframes you measured are 100 Samples long at a Sample Rate of 44.1kHz and a Frame Rate of 25fps

If you don't want to torture your brain with math, you can let Logic do it for you.

The Preference ➤ General ➤ Displays lets you choose the Time Scale that is used in the Control Bar Display and the Rulers. I guess this is the setting you have in your project showing the SMPTE with subframes. You will the 4 Subframes.

User uploaded file

If you switch the setting to display Samples, then the LCD will show the same time in that Time Scale, 100Samples

User uploaded file

Hope that helps


Edgar Rothermich - LogicProGEM.com

(Author of the "Graphically Enhanced Manuals")

http://DingDingMusic.com/Manuals/

'I may receive some form of compensation, financial or otherwise, from my recommendation or link.'

Jun 2, 2017 5:12 PM in response to bencuri

Whatever click you use, it should have a sharp attack, I think a Clave would fine, or a rimshot.


You need to dismiss the idea from your mind that the I/O Buffer (128, 256 512 1025...etc) is important or has something to do with this measurement. Forget it! The only reason it could make any difference is if the Alesis Core Audio driver reports an incorrect number of samples to Logic's audio engine. The I/O Buffer is automatically compensated for by Logic... it does not come into play with the measurement your taking. As I said, 90% of the time the Recording Delay slider should be left at zero samples, (center position)


The Recording Delay offset is only to fix audio drivers that are not reporting the correct position to Logic's audio engine.


You need to drop your preconceptions of how Logic compensates for latency, you have a couple of things wrong that are messing you up. I appreciate your willingness to experiment.

All this is in the manual. http://help.apple.com/logicpro/mac/10/#lgcpbb81aca5


Next is to investigate Low Latency Mode. It has a very specific function. I see people post that leave it on all the time and say they can hear a difference when it fact it's no effect at all. Low Latency Mode, with help your recording line up correctly when using plugins that require look-ahead technology. Like "Multipressor." There are a certain class of plugins that Logic can't compensate for.


P.S. the Second image looks perfect, don't know why the horizontal image is showing an error, the vertical sample looks right.

Jun 2, 2017 5:12 PM in response to bencuri

That IS NOT what the I/O plugin is designed for. The I/O plugin is for hooking up external gear like a compressor or reverb unit or foot pedal. It's not going to change values because of the I/O buffer size. It's designed to measure the latency inherent in an external effects device and send the offset to Logic, just like a delay inducing plugin that Logic compensates for.


The correct method for adjusting recording delay is to use a loopback test while recording audio. Most of the time recording delay can simply be left at zero, it's up to the audio drivers to report the correct latency to Logic's audio engine so Logic can compute the offset required. Leave the I/O Buffer out of the equation.


The recommended manner for a loopback test is to connect a short (analog) cable from an output 1 to input 1 of your audio device. Make sure Software monitoring is off. Created an MIDI/Instrument track with 8 bars of quantized quarter notes, use Klopfgeist as the output Instrument, turn Metronome off to avoid doubling the click. Record a track of the 1/4 note click, zoom in and check the start of the recorded audio click, this is where your offset will be,( if there is one). If there is an offset use recording delay to place the recorded click at the very start of each beat. You will have to repeat the record process several times to do this.


Next, delete the MIDI 1/4 note track and enable the metronome, try the test again using Logic/Klopfgeist as the click generator, It's bad troubleshooting technique to assume anything.


Recording Delay only affects the placement of the recorded audio.


Now you can look at buffer size as each buffer size may or may not need separate recording delay settings, also different sample rates may require separate recording delay settings.

Jun 1, 2017 4:26 PM in response to Pancenter

Okay, so I did it. However it was not easy. For some reason the click recorded was not visibe in the signal view, I had to adjust gain with +30db so it would become visible, even if I set every volume near to starting feedback.


Anyhow, the start of the midi note and what I can see as the beginning of the recorded click is this much away: 00:00:00:00.04


Now what does this mean in samples? I have no clue about these measurements Unfortunately.

Jun 2, 2017 11:17 AM in response to EdgarRothermich

Thanks! Now I can see the wave is 51 samples late. There are some oddities though. even if I use 1024 as buffer, it is still the same. Just like the measurement done by the I/O plugin, that measured +30 on ever buffer size. I am having only aiff files loaded to the channels, no plugins at all. Can that be the reason? I am running the system from a USB HDD that is 7 years old, at 5200 rpm, with USB interface. That's why it is odd.


The other thing is, I am confused by the shape of the wave. When zoomed in totally horizontaly, but not zoomed in much vertically, it looks as if the clave click would start earlier that the midi sample. But, when magnified more vertically, you can see the wave is exactly at the same position as the midi. Why is this?


Dropbox - Photo 2017. 06. 02. 16 23 38.jpg


Dropbox - Photo 2017. 06. 02. 16 23 18.jpg

Jun 2, 2017 1:56 PM in response to Pancenter

So, I found klopfgeist finally, did another test with it (I set a high frequenc pluck as the test note). The wave I recorded this way is better for comparing, the attack is faster and much more emphasized. The test returned 30 samples as difference. Exactly the amount that the I/O plugin ping returned. I guess this will be the correct one, probably the clave sample had some silent part in the beginning and that's why it was not visible and confused me. But with the klopfgeist, it is 30 all the time.


Anyway, it was in a video on Youtube where it was mentioned that the lanetcy offset will change by buffer size. In case I use my iMic as interface, it is like that, but in case of the Alesis iO4 it is standard 30. So in this case Logic seems to compensate. It was just not the case with Reaper, that's why I was confused.


I also wanted to ask the plugin latency "Low latency mode" option. It is set to off for me, because I was unsure what to set as limit. How can I investigate it?

Jun 2, 2017 2:35 PM in response to bencuri

bencuri wrote:


Exactly the amount that the I/O plugin ping returned. I guess this will be the correct one, probably the clave sample had some silent part in the beginning and that's why it was not visible and confused me. But with the klopfgeist, it is 30 all the time.


Anyway, it was in a video on Youtube where it was mentioned that the lanetcy offset will change by buffer size. In case I use my iMic as interface, it is like that, but in case of the Alesis iO4 it is standard 30. So in this case Logic seems to compensate. It was just not the case with Reaper, that's why I was confused.


I also wanted to ask the plugin latency "Low latency mode" option. It is set to off for me, because I was unsure what to set as limit. How can I investigate it?


Some drivers do change the latency offset slightly with different buffer sizes, I had an RME audio card setup that didn't change for any of the settings.


Ok, here's the reason why you need to do it the recording way. You do need to alter the recording delay slightly if you want it perfect. However, you can't do it with the I/O buffer, you can only do by the recording comparison. Because you have to see where the waveform starts in comparison to the MIDI click. So, start experimenting with the "Recording Delay" slider, which will end up opposite the direction you think it should go.


Save Low Latency Mode for later, it should normally be off.

Jun 2, 2017 5:12 PM in response to Pancenter

All right. Tanks for the suggestions then, as the test shown the offset has to be 30, so I will add that value and redo the test time by time to inspect any changes.


Based on the fact that it seems my system does some kind of corrections, I guess I can just leave the buffer size on the largest value, provided I am doing direct monitoring on the interface, can't I? I see no use uf selecting the smallest size in my case then.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

I/O ping returns the same value on every buffer size

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.