Jump to content

Audio from external synths records early


samwhorocks

Recommended Posts

When recording a midi part through an external synth onto an audio track, the audio gets recorded early. Considerably early. If I increase the buffer size it records even earlier! If I turn delay compensation off it records slightly later, but still early. It's very frustrating. I have to manually drag every piece of audio I record from external gear onto the grid, trim at each end and check, then do it again with the next audio, and the next, and the next. When I'm playing the midi part through the synth and monitoring the audio it's spot on, I can hear the delay compensation is working flawlessly, but then as soon as I record it's way off. None of these threads on the topic seem to get to the bottom of this. Yes I can set a recoding delay of x amount and then it'll record on time but the degree to which it is early seems to vary depending on what project, part, synth, ect, so a recording delay doesn't really solve it, and that seems crazy anyway, to have to tell logic specific delay when it's delay compensation is so sophisticated. My old laptop did this and my brand new one does it too. Surley logic is clever enough to record in time if it can play it back so well!.??

Link to comment
Share on other sites

Thanks for the suggestions. Routing a bus doesn't solve the issue, it's still early. To be clear, the audio is early, the problem isn't latency.

When the midi is playing through the external synths, they are perfectly in time, it's only when recording the part to audio does it get displaced early.

Screenshot 2023-04-02 at 15.50.20.png

Link to comment
Share on other sites

47 minutes ago, samwhorocks said:

Routing a bus doesn't solve the issue, it's still early. To be clear, the audio is early, the problem isn't latency

My point is to use the external instrument plugin on a software instrument track, not a "regular" external midi track, sorry if that wasn't clear. By doing it this way, Logic "knows" that the incoming audio is to be in sync with the midi...

Link to comment
Share on other sites

I've seen the described behavior as well and also tried all the different methods. In the end one just has to except, that the compensation done by Logic isn't 100% accurate. Logic comes close but one has to check and move stuff after recording external sounds. Its just the way it is... (By the way: I don't think it's that different in other DAWs.)

Cheers

Jan

Edited by jnchristp
Link to comment
Share on other sites

1 hour ago, David Nahmani said:

Isn't that the same as Logic's Recording Delay?

Yes, that is similar to what Live has. The delay is set once for a given computer/audio interface/driver/sample rate combination. The process of measuring the required delay is described quite clearly in Live's documentation, taking only a few minutes. It requires creating a loopback at the interface and then recording the output of Live playing an audio file with clearly defined transients. It's not an automatic compensation process like plugin compensation. 

When jnchristp wrote that he thought Logic's compensation is not 100% accurate, I assumed he was referring to some sort of automated compensation.  So if I misunderstood, then disregard my comments.

The only inaccuracy in Live's manual compensation is the sample granularity. There's obviously no way to compensate by fractional samples.  Higher sample rates allow higher accuracy.

Edited by enossified
  • Like 1
Link to comment
Share on other sites

Hey David and Everyone,

Got a notification for this thread just now, a bit more than 15 years to the day that I originally posted the procedure that David linked to. OMG! I just reviewed the procedure and it is still THE foolproof way to adjust Logic's delay compensation.

To summarize, you're going to play audio out of Logic (just as you or another musician would hear it live) and record it back in using a physical connection (wires). This simulates exactly the scenario where you or another live musician performs against the track playing out of Logic.

You may find that after doing the test that your recording delay is fine at zero, the default value. But you can't possibly know what the correct value is unless you perform this test.

Cheers!

Ski of Yore

  • Like 1
  • Love 1
Link to comment
Share on other sites

1 minute ago, ski said:

I just reviewed the procedure and it is still THE foolproof way to adjust Logic's delay compensation.

Great! Well thanks for doing that and confirming that it still works as it used to aeons ago. 😆 I'm not surprised to hear that the procedure is still correct today. Usually, these kinds of things don't really change. Of course I just used the words "Usually" and "really" in the same sentence, which means... still good to have a confirmation from the master - so thanks @ski! 😄 

  • Like 3
Link to comment
Share on other sites

2 hours ago, enossified said:

When jnchristp wrote that he thought Logic's compensation is not 100% accurate, I assumed he was referring to some sort of automated compensation.  So if I misunderstood, then disregard my comments.

The only inaccuracy in Live's manual compensation is the sample granularity. There's obviously no way to compensate by fractional samples.  Higher sample rates allow higher accuracy.

Hej, I meant the compensation that is happening when you send MIDI to external instruments and record the audio right back into Logic. There is some compensation happening when you use the "External Instrument" plugin. It's quite good, but not 100% accurate, I would say. 

Just know I checked with my two external synths. MIDI.thumb.png.604eb68620a2a323cb640a2f5dfff105.png

As you can see, the prophet is faster than the sub37. It's really not that bad. Maybe the difference has to do with the synths themself, how fast they handle MIDI? I don't know.

I routed the output of the Software track with the "External Instrument" plugin through a bus and recorded that on another Audio Track. 

The other topic is the recording delay. I checked some time ago and came to the conclusion that for my case zero offset is the best solution. 

Cheers,

Jan

 

Link to comment
Share on other sites

25 minutes ago, jnchristp said:

Just know I checked with my two external synths. Maybe the difference has to do with the synths themself, how fast they handle MIDI?

There are two issues with delays when using MIDI over USB (which is how most modern synths work).

First is the speed of the USB interface itself. It's not only about USB1.1 vs. USB 2.0 vs. USB3.2 maximum speeds but the actual speed of the chipset used in the synth.

Second is the speed of the MIDI processing in the synth after the USB interface, which includes the USB drivers.

It's very common for two synths (especially from different manufacturers) to have different MIDI latencies. The overall latency of the audio from the synth is going to be the sum of the MIDI latency plus the audio interface latency.

Link to comment
Share on other sites

31 minutes ago, enossified said:

There are two issues with delays when using MIDI over USB (which is how most modern synths work).

First is the speed of the USB interface itself. It's not only about USB1.1 vs. USB 2.0 vs. USB3.2 maximum speeds but the actual speed of the chipset used in the synth.

Second is the speed of the MIDI processing in the synth after the USB interface, which includes the USB drivers.

It's very common for two synths (especially from different manufacturers) to have different MIDI latencies. The overall latency of the audio from the synth is going to be the sum of the MIDI latency plus the audio interface latency.

Right, that's very interesting. Is it better to use "real" MIDI-connections? I haven't checked that. 

Link to comment
Share on other sites

3 hours ago, jnchristp said:

Right, that's very interesting. Is it better to use "real" MIDI-connections? I haven't checked that. 

USB is almost always better because real MIDI cables are much slower by comparison.  

MIDI over USB can do bulk transfers at a much higher speed than over MIDI cables. For example, a single MIDI port can only carry 16 channels of MIDI. To have multiple ports using MIDI cables requires one cable per port. USB allows multiple ports to be carried over a single cable. For really dense MIDI streams, such as lots of sys-ex and CC messages along with the notes, USB is far more efficient than MIDI cables.

  • Like 1
Link to comment
Share on other sites

6 hours ago, jnchristp said:

As you can see, the prophet is faster than the sub37. It's really not that bad. Maybe the difference has to do with the synths themself, how fast they handle MIDI? I don't know.

Absolutely. This can differ vastly form synth to synth. I remember an article in the US "Keyboard" magazine from the 90's where they actually measured response time (and response consistency!) for various synths. There were a couple real stinkers at the time.

 

Link to comment
Share on other sites

Re MIDI timing, there are two things at play. One of them has already been mentioned: individual response time for each device. There has never been a standard for how quickly a sound (sharp attack) should emanate from a MIDI synth upon receipt of a Note On message. In the history of MIDI instrument development — to the present day — manufacturers have always striven for response times to be "as quickly as possible" as you might imagine. If any of you are old enough to remember the Roland D50, a hugely popular synth in its time, the MIDI response time was abominable (something like 50 ms). Other synths and drum machine response times were near instantaneous, and then there was everything in-between. Rampant MIDI response timing issues even gave rise to the development of a device called the "Russian Dragon" (i.e., Rushin' Draggin') 🤨 which allowed studio musicians to visualize timing differences (compared to a timing standard) as an aid towards making timing adjustments in their DAW's MIDI tracks.

The second issue has to do with Logic's MIDI Delay Compensation. This is a complex subject in its own right which I wrote about some time ago (@David, maybe you could find that thread?) Basically, your buffer size will have an influence on MIDI timing. On one hand this is to be expected. On the other hand, it's... wonky...

Bottom line: you should fully expect to experience differences in MIDI response time between your outboard/external/hardware MIDI devices.

Edited by ski
  • Like 1
Link to comment
Share on other sites

9 minutes ago, ski said:

On the other hand, it's... wonky...

There is a general (very slight) wonkiness when in comes to Logic's MIDI timing. I did some tests a while ago where I did get different results depending on how long the "preroll" before the events in question was. It was almost as if Logic needed a measure or two to settle the timing. Interestingly audio wasn't affected.

Whether this has something to do with delay compensation I don't know. "More research needed", I guess.

Link to comment
Share on other sites

I can’t believe this is the case, that logic is just unable to compensate correctly. After all, when I’m monitoring the midi part before recording it compensation is flawless, everything sounds perfectly in time, even with multiple plugins on a channel. It’s only when I record it audio does it shift out of time, and we’re talking a big shift, noticeably out of time. I know plenty of people who use external synths being controlled and recorded by logic and they do not have this problem. 
 

Thanks for the suggestions…..

Link to comment
Share on other sites

samwhorocks,

This points to a need to adjust your recording delay compensation value. There's a good chance that Logic isn't the culprit. (For the record, my first line of defense is to always blame Logic for everything, so that should say something.) 😇

It could be that your audio system doesn't report the necessary recording offset to Logic, thus the need to calibrate your recording delay offset.

On my system (RME interface) set my recording delay to -75 samples. On my previous system (MOTU interface) it was -25 samples. Go figure. 🙄

It's probably no consolation to know that there are people who aren't experiencing the same issue. Then there are those who are experiencing it but can't tell the difference. Some people refuse to believe that this issue should be adjusted automatically by Logic, but here I would say "see the second sentence of this post." In your case, judging from a distance, I'd suggest doing the loopback test as a first step in troubleshooting the issue.

Link to comment
Share on other sites

Again, when I’m listening to a midi part, through an external synth, then through logic, timing is flawless. Therefore the interface must be working fine, and logics delay compensation is working brilliantly. 
 

Something about recording in logic is shifting the whole audio file. To be clear, this isn’t a latency issue. The audio file shifts left, it is early. Way early. Like damn that keyboard player is terrible(but only when we being recorded).

I’ve tried software monitoring, delay comp, varying buffer sizes, both my uad interfaces do it, all my synths do it  

Once more, I’ll have several synths all playing different parts with multiple plugins, all coming in and playing beautifully in logic with plugins on each channel, like the tightest band you e ever heard,  as soon as I record those parts, all hell breaks loose. The parts shift left in varying degrees of early  


 

 

Link to comment
Share on other sites

samwhorocks,

You said it all: Logic is shifting the whole audio file. That points fundamentally to an issue with your recording delay compensation setting. Nothing more. To really get to the bottom of this we need to rule a few things out with... A test!

New track. Just a beat and a synth part where everything is playing back super tight. Now set your recording delay compensation to 2000. Record the synth part as audio and play it back against the drums. What's the result?

Now mute that recording. Next, set recording delay compensation to -2000. Same test, record the synth part as audio. What's the result?

 

Link to comment
Share on other sites

10 hours ago, samwhorocks said:

Again, when I’m listening to a midi part, through an external synth, then through logic, timing is flawless. Therefore the interface must be working fine, and logics delay compensation is working brilliantly. 
 

Something about recording in logic is shifting the whole audio file. To be clear, this isn’t a latency issue. The audio file shifts left, it is early. Way early. Like damn that keyboard player is terrible(but only when we being recorded).

I’ve tried software monitoring, delay comp, varying buffer sizes, both my uad interfaces do it, all my synths do it  

Once more, I’ll have several synths all playing different parts with multiple plugins, all coming in and playing beautifully in logic with plugins on each channel, like the tightest band you e ever heard,  as soon as I record those parts, all hell breaks loose. The parts shift left in varying degrees of early  


 

Hej, 

I think we both have the same UAD-Interface, right? I'm using an Apollo 8. There is a setting in console that controls the Input Delay Compensation. Mine is set to "Medium". This way I get the results I did show yesterday. They are close, but not 100% on the spot. When I change that compensation setting in UAD-console the recorded audio moves early or later. So it's not all just Logic, as it seems. Maybe you could experiment with that setting. 

If I'm wrong with my UAD-assumption just ignore this comment. But maybe it's relevant for all the other UAD users.

Cheers

Jan

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...