• 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

stanft

Member
Hi everyone,

I am using S1 for quite some years now - currently, I am using the latest 7.x version. Lately, I bought a new hardware synth which I now try to include in my projects. I have set it up using two external devices - one for the "MIDI controller", one for the "instrument". And I have linked the external instrument to an AUX channel that has the correct audio input configured.

Overall, everything now seems to work. If I create a new instrument track with the external instrument assigned, I can play the external synth and the audio is routed into the AUX channel - great. But: There seems to be no latency compensation for the external synth. If I transform the instrument track to rendered audio, the audio is rendered with a delay. And this delay seems to be proportional to the buffer settings in my audio interface. The same delay is audible if I play the recorded MIDI of the external synth next to a VST - the external synth is always a bit to late. This all leads me to the assumption that there is simply no latency compensation active for the external synth.

Is this not supported by S1? Or am I doing something wrong? I have found no setting that allows me to configure a manual delay compensation. The recording delays in the audio or MIDI settings of S1 do not have any effect. And PipelineXT does not help either because it is only designed for external effects.

Thank you for your help in advance!

Best regards,
Stephan
 
This might help you. It would be great if Studio One had better built in facilities like other programs to deal with latency. Note that the value you choose will change depending on your driver block size that's set in Studio One.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
This might help you. It would be great if Studio One had better built in facilities like other programs to deal with latency. Note that the value you choose will change depending on your driver block size that's set in Studio One.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
Thanks for your answer. I have found this video before. Unfortunately, the "delay values" mentioned in the video have absolutely no effect on the realtime playback or instrument track rendering/bouncing and cannot be used to compensate the latency. In fact, those values only have an effect if I create a new audio track and record the audio output of the external synth onto the newly created audio track while playing back the recorded MIDI from the instrument track.
 
Was this the video stanft shared? (Can't check due to some cookie-wall)

Anyway, the idea is to adjust the record offset before recording. Now that you've recorded your instrument(s) with an annoyingly incorrect record offset you have to deal with the offset in your arrangement. One way to correct timing is to slip-edit the event: Zoom in on the event, hold Cmd and Alt on a Mac (adjust for PC) and drag the event's content to make it line up with the other tracks. And do the loopback record offset correction before doing any further recording.
 
Was this the video stanft shared? (Can't check due to some cookie-wall)

Anyway, the idea is to adjust the record offset before recording. Now that you've recorded your instrument(s) with an annoyingly incorrect record offset you have to deal with the offset in your arrangement. One way to correct timing is to slip-edit the event: Zoom in on the event, hold Cmd and Alt on a Mac (adjust for PC) and drag the event's content to make it line up with the other tracks. And do the loopback record offset correction before doing any further recording.
Sorry, but the problem I described is different. My setup is an instrument track referencing an external instrument that is linked to an AUX channel.

In this setup, I can record MIDI data on the instrument track. I don't want to record audio in the first place. Now, here is the problem:
  1. If I start playback of the recorded MIDI event, the audio from the external synth is delayed because of a missing latency compensation. If the audio buffer size is increased, the delay is increased.
  2. If I bounce the MIDI events to audio, the rendered audio is delayed because of a missing latency compensation.
  3. If I transform the instrument track to audio, the rendered audio is delayed, too.
In all three situations, the record offset does not change anything. The record offset only is relevant if I record the audio on a separate audio track while playing back the recorded MIDI through the external synth. But this does not resolve the mentioned problems above (playback of MIDI through the external instrument and rendering the audio).

By the way: In the meantime I have also tried this in Cubase, Logic, Bitwig and Live. None of these DAWs has a problem with latency compensation in a similar setup. And this is because each of them allows you to enter an offset also used during playback and bouncing. Unfortunately, S1 seems not to support this.
 
Last edited:
Well, the compensation mechanism is present in Studio One and, assuming you watched the entire video, you know you can/have to compensate audio and MIDI each with its own record offset. If all is set up correctly then both audio and MIDI of the external synth will line up with the lead tracks already present in the song.

So something in the setup must be off. I'm not very versed in setting up MIDI devices. Maybe someone who is can chime in. But do keep in mind that compensating for latency doesn't mean that it isn't there anymore. The compensation works by sending existing (MIDI) tracks early or by playing back everything else later.:)
 
I believe the issue is not with Studio One but with the external instruments themselves. I have 12 hardware synths and they all exhibit slightly different latencies in terms of the time they receive a midi note on to the start of the sound that comes out. Percussive patches are best used for this type of test.

Create an instrument track and put say a bunch of midi notes with short durations perfectly aligned to quarter notes for a bar or two. Send this out to the external synth with its patch in question and monitor the result. Choose a patch that has very fast attack to it. Bring the audio into the inputs of an audio track and record the result. Zoom in now and set your time base in the timeline to seconds. Zooming right in you will see the grid line and the midi will be right on but the audio from the synth may a certain number of mill seconds late.

Position the cursor on the grid line and the time will have .000 (The time displayed is to 3 decimal places eg milliseconds) With snap off, line the cursor up to the start of the audio. It might read say .008 Meaning this is your hardware synth latency. And only with that patch too. This figure is different for all my hardware synths. Some are quite fast indeed Others slightly slower. Kurzweil K2000 has click test sound included. It's pretty fast.

This is not related to record offset either. SwitchBack is on the right track here. You must setup via a midi loopback test in order to work out where Studio one will record the timing of note on data. Mine is set to -2mS. This is a different issue and should be done before advancing/delaying the timing any midi tracks.

Getting back to your synth latency. Supposing my K2000 will give me 5mS of latency with a fast attack sound. I can confidently advance any K2000 tracks now (by setting the delay parameter to -5mS) With slow attack sounds this is not really an issue but with fast attack attack sounds I like to solo these parts and listen to the click and actually fine tune the feel of these parts against the click. Sometimes you have to move the track back a touch further too, or even later sometimes.

Anything transferred to audio after that will be perfectly in time. And yes while you are actually playing stuff in you are feeling the latency of the synth at the time but I think we tend to compensate anyway especially if we not quantising etc.. (Note: a correct record offset setting will ensure notes playback the way you played them in) If we are quantising, then we can just advance the track until they sound good against the click.
 
Last edited:
I still think we are talking about different workflows: I am not talking about recording the audio of an external instrument triggered by MIDI into an audio track. If that is the case, the already mentioned offset values in the audio settings are working fine - at least if the synth isn't changed.

I am talking of having MIDI recorded on an instrument track for an external instrument and bouncing the audio to a new audio track using either the "bounce audio to new track" or "convert to audio track" function. The offset values have absolutely no effect on these functions. I can repeat the bouncing with different offset values again and again, positive or negative - it has absolutely no effect on the rendered audio. The delay in the audio file is identical. The only setting that changes the delay is a change in the buffer size of the audio interface.
 
I made a screenshot that maybe helps to understand the problem. The first track is the instrument track with the MIDI events. The second track is the bounced audio track (using "bounce to audio"). The third track is recorded audio by simply creating a new audio track and recording the synth's audio output while playing back the MIDI.

No offset settings have been changed. But as you can see: The recorded audio is aligned perfectly (because I have configured the offsets before). But the bounced audio is off. This delay does not change whatever the offset is set to. And this delay is also present (and audible) if the synth is playing the MIDI events "live" during project playback.

Bildschirmfoto 2025-04-18 um 01.23.33.png
 
When I do a Bounce to a New track this all just happens the same way as recording audio above. eg in real time. And timing is perfect for me. Transform to Audio is more about software instruments very fast. Non real time etc and being able to go back too.
 
Last edited:
When I do a Bounce to a New track this all just happens the same way as recording audio above. And timing is perfect for me. Transform to Audio is more about software instruments.
That is really strange. How is your external instrument set up? Do you use an instrument track with linked AUX bus? And do you have the dropout protection activated in the audio settings?
 
My synth audio outs go to a synth mixer and then to the analog inputs on my audio interface. (Currently Focusrite Clarett 2 Pre) I don't use Aux tracks. I just bring the audio in as per any other audio source. I can input monitor. I don't usually while recording because I am also monitoring the synth mixer anyway.

I am not using DP at this stage either.
 
I've done some more testing. And it seems that the linked AUX channel is the culprit here. If I remove the link to the AUX channel in the external instrument, the bounced audio is rendered with perfect timing. As soon as I activate the link, the bounce function seems to work differently as it now delays the audio signal by exactly the round-trip latency of the current audio interface buffer settings. This gets even worse if the dropout protection is active because the delay is then based on the higher dropout protection buffer. Sounds like a bug to me.
 
Last edited:
Have you already measured the audio offset for recording and entered it into Studio One‘s Settings? It’s in the advanced audio settings I think.
 
Have you already measured the audio offset for recording and entered it into Studio One‘s Settings? It’s in the advanced audio settings I think.
Yes ... the audio and midi offsets are measured and entered according to the outcome of the loopback test. And as I have written before: If I use a standard audio track to record the synth's audio signal, the timing is correct. Even an AUX channel is working without problems. But as soon as the link between the instrument channel and the AUX channel is activated, the delay compensation does not work anymore and the synth's output is delayed.
 
Yes ... the audio and midi offset are measured and entered according to the outcome of the loopback test. And as I have written before: If I use a standard audio track to record the synth's audio signal, the timing is correct. Even an AUX channel is working without problems. But as soon as the link between the instrument channel and the AUX channel is activated, the delay compensation does not work anymore.
Sounds like support should be contacted
 
Just a short info here: I have contacted the Presonus support on this issue - and they have responded that this issue is already known to the developers but unfortunately they cannot provide a time frame in which this issue will be resolved.

The workaround is to avoid the linking of instrument track and aux channel.
 
"but unfortunately they cannot provide a time frame in which this issue will be resolved."
To explain it in more detail: PreSonus never gives release dates about future improvements or fixes.
This has never happened before.

This topic in particular is more complicated than you might think.
 
As far as I have tested this, the root cause for this is that aux channels do not support the "green z" like instrument and audio channels.

Currently, the support for external instruments (not effects) is quite limited in S1 compared to all other DAWs I know. And even small features would really improve the situation like i.e. a configurable delay/latency per external instrument as it is already supported for external effects via Pipeline XT.
 
Last edited:
Back
Top