• Hi and welcome to the Studio One User Forum!

    Please note that this is an independent, user-driven forum and is not endorsed by, affiliated with, or maintained by PreSonus. Learn more in the Welcome thread!

Delay compensation for external instruments

Step by step. :)

The fact that we can now drag in external synths like plugins from the browser, and immediately start playing and everything is assigned, and MIDI goes out while audio comes back on the same track, has personally made my synth workstation worlds more accessible.
 
That exactly is the culprit in my point of view: It's nice to have the external synth like a plugin via drag and drop. But this requires a linked aux channel. And so, you currently have to completely disable audio dropout protection, or the audio return from the synth is not in sync with the midi output anymore because the audio dropout protection buffer is added on top.

And by the way: The handling of external synths like an internal plugin (midi out, audio in, all preconfigured in a single preset using only one track) has been possible in i.e. Logic, Ableton Live and Cubase for quite some years now. And those three have no problems with a missing latency compensation. Just saying.
 
Last edited:
And Studio One just started to do this aswell and it's in the making. Isn't that great!?! :D No?
Just saying.
 
"Don’t focus on what you don’t have — appreciate what you do."
Marcus Annius Catilius Severus / † 17. März 180 / Roman emperor and philosopher)


There were smart people in the past.
 
Unfortunately, the issue has not been fixed with 7.2.1 :( I'm okay with the fact that it might be a complex problem ... and that a fix is not easy to provide. But in this case Presonus should at least give a time frame for a fix. This issue makes this convenient integration of external synths rather useless because there is no automatic delay compensation - and there is even no way to fix it manually. The only workaround is the use of a separate audio track for the external input. But this is the old-school "integration".

A time frame would help in the decision what to do. If the issue will be fixed in the next month, then I'll wait. If it takes another year because it's not a high priority issue ... okay, fine - but then I move on to another DAW and cancel my subscription. Because currently, all other DAWs I have tested (Cubase, Logic, Ableton, Bitwig) do support this integration of external synths with a working delay compensation.
 
Last edited:
But in this case Presonus should at least give a time frame for a fix.
I understand the frustration - but PreSonus never did that before, and I don't think they'll start now. It's just an unrealistic expectation.
 
Unfortunately, the issue has not been fixed with 7.2.1 :( I'm okay with the fact that it might be a complex problem ... and that a fix is not easy to provide. But in this case Presonus should at least give a time frame for a fix. This issue makes this convenient integration of external synths rather useless because there is no automatic delay compensation - and there is even no way to fix it manually. The only workaround is the use of a separate audio track for the external input. But this is the old-school "integration".

A time frame would help in the decision what to do. If the issue will be fixed in the next month, then I'll wait. If it takes another year because it's not a high priority issue ... okay, fine - but then I move on to another DAW and cancel my subscription. Because currently, all other DAWs I have tested (Cubase, Logic, Ableton, Bitwig) do support this integration of external synths with a working delay compensation.

You have found a legitimate flaw in the software, and instead of helpful replies, you are getting some rude / arrogant responses. I'm annoyed for you, lol.
 
It's a legitimate flaw, and I totally get why that's frustrating. I'm pretty sure there'll be a solution at some point, but PreSonus generally doesn't give timelines for individual feature fixes - and neither do most other DAW companies, to be fair. Why should anyone pretend otherwise, when this has been the reality for the past 15 years?
 
I am not frustrated. It's just a question of priorities. The feature was introduced in Studio One four years ago. And today, delay compensation still does not work in this setup. And it's not only the missing delay compensation. I have found several quirks with activated drop-out protection (i.e. if the armed track is changed during playback) that I have reported to Presonus and that have not been fixed yet. But don't get me wrong: It is a complex software product, so there will always be issues.

As I said: It's just a question of priorities. We got new software instruments, a clip launcher, Nashville notation, a new event design with round borders and several other features. But in my priority list, a working delay compensation would be ranked much higher than all of these.

Eventually, the conclusion on my side is that my priorities simply do not match the priorities of Presonus. I have the wallet, I have the decision. As much as I love the usability and several other things of Studio One - correct timing is a crucial factor for my music. And - sorry, Presonus - the other DAWs are much better at this.
 
I would like to ask you one more time. Is it about the CTRL+B command? Bounce to audio? Now the much more important question: Have you even set the pre-delay in the Inspector of your external instrument?

The best way to test this is to set a completely exaggerated 1024 samples in your interface. Then play 4/4 notes and let the metronome run to them. Then you will inevitably hear a clear delay live. Now set the delay of the track in the Inspector so that it runs in sync with the song. Many people also use this for pure VST instruments.

If you now bounce with one of the commands, it should be recorded correctly automatically in any case.
I have just tried this and it works without any problems.

Maybe we need to start the issue repro from scratch.

Screenshot 2025-06-25 125518.png


ps: Please notice that Dropout Protection is inactive in all cases! That was not mendatory for this issue right?
 
In a nutshell: If you use AUX channels with external instruments, there simply is no delay compensation at all. If your buffer size is 32 samples, the (uncompensated) delay is rather small. The higher the buffer, the higher the delay. If you have activated dropout protection, then the buffer size of the dropout protection system (i.e. 512 samples in the middle setting) is relevant for the delay.

The problem is: This does not only affect bouncing/rendering. This delay also affects the realtime playback of MIDI events or live playing during recording. So there is simply no way (to my knowledge) to fix this with i.e. the record offsets in the advanced settings or the delay settings in the MIDI track. I have tried several combinations of settings, and the only thing that has an impact on the delay is the buffer setting of the audio engine.

It just feels like a missing implementation of delay compensation in the AUX channels because as soon as you use an audio track for the external synth, delay compensation does work flawlessly.
 
May I lead the focus on this question: Have you even set the pre-delay in the Inspector of your external instrument?
This is very important to have this track in sync to all others.
See screenshot.
 
Yes, of course. I guess I have tested any combination of any delay setting that is available in Studio One ;) The pre-delay fixes bouncing and playback timing if set correctly based on the current buffer/dropout protection buffer size. But it does not fix the delay when playing live during recording.

One thing to add: @Ari, I really appreciate your help and your patience to think about the issue again and keep asking questions and giving suggestions!

But the more time I spend on this problem, the more I realize for myself that I simply do not want to invest more time into this topic. Testing this combination of settings with this workflow change and so on. Only to get it somehow working in a specific setup. In other DAWs like i.e. Cubase, I don't even have to think about this. I create a track, add the "external instrument" plugin, and that's it. It just works. Out of the box. Regardless of any changes to the buffer size or changes to the dropout protection (ASIO Guard). And the external instrument plugin allows me to even set the internal delay of the synth so that this can be compensated, too. Something that is still missing in Studio One and is only supported by Pipeline XT for external FX hardware, but not for external instruments :confused:

I have a lot of external hardware synths that I use, and Studio One simply is not the best-in-class DAW for this setup. It is as simple as this.
 
Last edited:
I fully understand! I apologize for taking so much time with this problem.

I think I understand now what you mean now. It's about the latency that MIDI-to-audio and back generates. Dependently from the interface buffersize. It's very important now not to confuse these two technical things: To get the instrument in-sync, there is no automatism, that's right.

But what is not correct, and has been misrepresented a few times in this thread, is that aux channels have no latency compensation. And that is wrong! Once an instrument track has been given its pre-delay in the Inspector (see my screenshot before) then everything runs in sync. If you now add effects that cause high latencies, then automatic latency compensation takes place. This is what is meant by this. So Studio One has full internal latency compensation when latencies are caused internally.

As far as your case is concerned, I can only repeat: set the pre-delay in the Inspector. Then you should get the perfect results as I have shown in the screenshot. I mean see my rendering - it's perfect.

All the best!
Ari
 
I think that you missed an important point:

If an audio track is used for the audio input of the external instrument, delay compensation works flawlessly. There is no need to set a pre-delay in the MIDI track. And I can change the buffer size, and the timing is still correct. The delay is compensated for rendering, playback and live input.

But if I use an AUX channel, the delay compensation is simply not working for the MIDI to audio part (which strangely is working when using an audio track instead as mentioned above). I have to manually set a pre-delay, and this pre-delay has to be adjusted every time the buffer size is changed, and it only works for rendering and playback but not for live input.

So, Studio One has MIDI-to-audio delay compensation. It just isn't active for AUX channels.
 
Last edited:
No, I didn't miss the point. :) We are talking about “external instruments” as a function. Not external instruments with separate MIDI track and separate audio track. As you can see in my screenshot, there is a track for external instruments with MIDI data. And the sound comes back via the same external instrument device. The audio return channels are Aux Channels. We are talking about Aux Channels and External Instruments.

I understood the issue. There is no automatic compensation without tweaking the inspector pre-delay of the track.
But this has nothing to do with latency compensation because of internal latency issues caused by inserted plugins.
 
To solve this, permanently or temporarily (until maybe a better option arrives), it’s important to understand how delay compensation must work. Basically the compensation can only add delay, never subtract it (no such thing as negative time). So delay in one path can only be compensated by delaying all parallel paths as well. If one path is slow then everything else will be made equally slow.

The other part of delay compensation is to shift newly recorded tracks (with delay) to line up with the prerecorded material or click you’re playing to. After round-trip delay is established (with the loopback test) Studio One knows exactly how far it has to shift newly recorded events backwards on the timeline to make everything line up on next playback. But this won’t help for the delay you get from your instrument in Studio One’s outputs during recording. Live instruments in monitor mixes from a DAW will always have a delay. It’s physics.

The solution is to use an external (hardware) mixer for your monitor mix, mixing the tracks/click you play to from Studio One with the direct output from your synth. That gives you minimum delay in your own performance, and Studio One will make everything line up in the song's recording.

Lastly a remark on the ‘green Z’ option. Green Z minimises latency in two ways: it optimises processing, buffers etc., and it disables/bypasses the really slow stuff in your mix setup. Pipeline will be amongst the first casualties here, just so you know.

Hope this helps to find a solution for your synth recordings (for now) :)
 
I get your point. That's exactly the idea behind all those dropout protection systems in a lot of DAWs: The minimal latency is the one defined by the audio system buffer size - and for all other (i.e. non-armed) tracks I can set a higher buffer size to reduce CPU usage. That's what the "green z" is for. In Studio One, this does work for software instruments but it does not work for external synths (at least not if linked AUX channels are used).

Direct hardware monitoring is an option but my audio interface is fast enough so that this is not required. My typical roundtrip latency is around 4-5ms. But for this, I have to deactivate dropout protection in Studio One and have to set the pre-delay per track accordingly (as mentioned by Ari).

And that is my point again: In other DAWs, I don't have to change anything. It just works. Even with a higher dropout protection buffer because the DAW uses the minimal latency if the track with the external instrument is armed. Studio One doesn't. It always uses the higher dropout protection buffer for external instruments - with or without the "green z".

And we don't have to discuss again whether this is a bug or not: It is a bug. And it has been confirmed by Presonus. It just hasn't been fixed yet.
 
Last edited:
Back
Top