25 ms delay in NotePerformer Playback?

To avoid any confusion, this is NOT about the 1 second look ahead delay with NotePerformer playback. And apologies if this has been discussed before - I did an extensive search but found nothing.

What I am seeing/hearing is that NotePerformer playback seems to be delayed by about 25ms. There is no such delay when using Halion. As long as all players are using NotePerformer this is not an issue, but when I use both NotePerformer and another library (Halion or Pianoteq in my case) there is a noticeable difference. I’m sort of used to it by now, but I still find it distracting.

I tried different buffer sizes to no avail.

I’ve attached 2 Dorico files (one for NotePerformer and one for Halion) and the related audio files. I’m using Dorico click to set the beat.

Timing test - Halion - Flow 1.wav.zip (2.8 MB)
Timing test - Halion.dorico.zip (1.0 MB)
Timing test - Noteperformer.dorico.zip (988.1 KB)
Timing test - Noteperformer - Flow 1.wav.zip (3.6 MB)

If it matters I’m using a 2018 mac Mini with 6-Core Intel Core i7 running at 3.2 GHz.

Am I hallucinating? Or doing something wrong? Or do I need to upgrade my machine? Thanks!

I’m adding a screen shot of the wave form - you can clearly see the click (the short vertical spike) preceding the piano sound.

[Edit] Changed title to be more descriptive

I have used PianoTeq+NP in the past many times and noted no such issue, FWIW.

If you’ve got a lot of NP instruments running (say an orchestra) you likely will not notice this. It’s also possible that this is new behavior with the combo of Dorico 5 & NP 4.

Or it’s also possible I’m missing something . . .

Wild thought: What are your microphone settings in Pianoteq? 1ft of distance will equal approx 1ms of delay, so if you’re using some sort of room mic, there may well be delay from that.

1 Like

I guess I haven’t been clear. There’s no problem with Pianoteq or Halion - they’re right on the beat. It’s NotePerformer which is 25ms behind.

I didn’t notice this until very recently. I was working on some pieces for Piano Trio; there were unison passages with the piano & violin - and it felt like the two instruments were not in synch. I couldn’t tell at first if the piano was ahead of the beat or the violin was behind. Using the Dorico click sound allowed me to isolate the problem.

And once I figured that out I started noticing the issue all over the place. :confounded:

See this topic for a possible solution.

1 Like

That works - but it’s a major kludge. You have to select every note except for the ones being played by non-NotePerformer instruments (Pianoteq, Halion). If you add any new notes after that, you have to select those new notes and push them forward by 25ms as well.

Maybe the pragmatic thing is just to throw a basic digital delay vst on those tracks?

It is now possible to compensate for delay in expression maps, it is a new feature in Dorico 5:

That ought to work around it, the only issue is that you would have to edit a large number of techniques in the NotePerformer expression map, since that setting is on a per-technique basis. If this is a general issue with NotePerformer and there is no real way of fixing it, then they should probably build this delay into the factory expression map for it.

I regularly use NP alongside other VSTs: HALion, ARIA, SINE, etc; and can’t say I’ve ever noticed it! But sure enough, using your test document, the beep is certainly ahead.

Maybe @Wallander can comment on this?

1 Like

You apparently didn’t read the linked topic very carefully. The “possible solution” is to use the plug-in MonoDelay to delay the audio from the non-NotePerformer instruments by 25ms.

Can I ask if you’re using the latest version of NotePerformer, what your audio buffer size is, and if changing the buffer size makes a difference?

Good to know I’m not hallucinating . . .

Hi Wallender,

As far as I can tell I’m using NP 4.1.0 and latest Dorico.

I tried different buffer sizes - 32 samples and 2048 samples - with no noticeable change in behavior.

I’ve made a note to look into this. I’m not sure if it’s a bug or intended behavior. It’s been a while since I looked into timing relative to other devices.

That said, it’s more complicated than it seems. A piano that starts at 0.0 milliseconds will sound off-beat relative to strings, brass, woodwinds, and other instruments with a non-percussive attack. Even when working with piano samples, there’s typically 10-25 milliseconds of build-up/silence. An instrument that starts at 0.0 milliseconds will usually be the odd one out when mixing libraries.

1 Like

I agree with what Arne’s saying here and suspect the problem is more imagined than real. Certainly, I haven’t had any issues mixing NP with other libraries in D5 – 25ms is insignificant compared to the variations in instrument attack. Which isn’t to say I’d dismiss the OP’s concerns out of hand – there’s obviously something going on.

That’s correct - I was in a hurry when I answered. What I meant to say was that your suggestion hinted at a different solution that did not require plug-ins.

That said, if you are using the Dorico click then you would not want to delay the non-NotePerformer instruments as well - because then the Dorico click would be 25ms ahead of everything.

But let’s see what Wallander has to say.

I’m familiar with the soft attack of strings etc - but I don’t believe that is the issue. When you use Pianoteq or Halion piano, the notes align with the Dorico click - no delay.

I’ve attached another Dorico file that illustrates this - it alternates between NP piano & violin. If you look at the waveform you can see that the soft attack of the violin is still starting roughly 25ms behind the Dorico click just like the piano.

If anything it’s even more noticeable when combining Pianoteq (or Halion) piano with NP strings - the soft attack of the strings accentuates the delay.

Timing test - Noteperformer - w violin.dorico.zip (1002.8 KB)

Just to verify, you’re on the latest version of NotePerformer, and you’re using the built-in sounds, not “Playback Engines”?