MIDI keyboard note input lag (NotePerformer3)

Facebook group post

I notice that when I try to enter notes rapidly (I’m a pretty good pianist) there is enough lag with my MIDI keyboard in Dorico that it actually stops me from entering notes!

I tried it with Finale and don’t have any lag when inputting notes.

I’m wondering if there might be an adjustment somewhere in the setting that I might have missed?

Or is there some technical reason why this lag exists? I mean, I can probably make do with it, knowing that the end result will be a better more efficient score, but faster note entry would be nice.

I notice this particularly when entering sequences of 16th notes (where I will tend to play a bit faster).
This is just note entry in single lines, I’m not asking Dorico to interpret my keyboard noodlings.

I hope I’m expressing the issue and situation correctly.

Same here, with only MIDI out (no NotePerformer). It feels like Dorico needs to do something between note input and screen display and it chokes up very fast

1 Like

For me I didn’t noticed any delay. I use Note Performer 3. I can play and write very fast 16th and all are notated instantly.

Does your lagging happens in particular projects or generally? Can you try with an empty project?
The things (possible solutions) that comes in mind are:
-Check the Midi Delay Compensation (I use in Preferences/Play/Midi input latency compensation set to 0)
-Reduce the Buffer Size (Edit/Device Setup/Device Control Panel/Buffer Size I use 256 Samples, but try to put a lower number)
-it can also depend on the VST you are using…?

As a general observation, keep in mind that there is a level of fastness of input (when you play very very fast for example a scale) were Dorico interprets the separate notes as chords (or better said bichords) or with other words it interprets that 2 fast notes played one after another belonging to the same rhythmic position. This function is very useful so that Dorico can recognize chords even if you play with a slight arpeggio.

could someone explain to me what exactly the “buffer size” does?

in the settings mine says “selected buffer size 50 milliseconds”.
I don’t know how that relates to the 256 samples you mention. Is my setting bigger or smaller than that?

When the buffe size is larger, you wait more milliseconds between pressing a key and hearing the sound. (sorry, I cannot explain it technically…).

I tested the lag on a big project (Stravinsky Sacre) and indeed there is a delay when inputting notes. This has to do with the redrawing and the calculations that Dorico makes in the background.

As in other posts suggested (and for me it gives an improvement):

-Deactivate the flows that you are not working on: for example create in setup mode a Full Score custom layout, name it for example “working layout with single flaw” then right click on it and choose Flows/Remove all Flows from this layout, then check in the bottom part only the one flaw that you want to work on. Then in Write mode in the upper part choose this layout and write in it.
-Work in Galley View
-Disable condensing

Edit
-I have a big improvement in the lagging if I go in Engrave mode and click on Lock Layout, and the work in Galley view. (and after this I can reset the layout again)

1 Like

no, it’s a USB keyboard.

1 Like

I don’t see anywhere to set an actual number for buffer size.
am I just not seeing it because it’s too obvious? (myopia DOES have its grips firmly on my brain)

Maybe this can help…

-I see a big improvement in the lagging (in large projects) also (after the suggestions above) if I go in Engrave mode and click on Lock Layout, and then work in Galley view. (and after this I can reset the layout again). It looks like this way Dorico calculations are somewhat confined in the single frames instead of spreading out. Of course the page view will be too full, that’s why I work in Galley view and at the end of editing I reset the layout.

1 Like

when I go to that menu item I don’t have the same window showing.
mine doesn’t have any option for “buffer size” in “samples”.

mine says: audio buffer size, user definable, selected buffer size [a box for a number] milliseconds.

Mhhh… :thinking: it depends from the OS and the audio drivers i think…
If you can choose the milliseconds I suggest to choose something around 15ms…

1 Like

great, I will try that, get back to all you helpful people tomorrow after a good night’s sleep.

Crank the buffer slider all the way to the left, to “small”. It sounds like you have it in the middle of the slider.
Alternatively, you could install ASIO4ALL and use that instead of the Generic Low Latency driver. With ASIO4ALL and a buffer size of 512 samples, you can get a nice tight response, better than what you can get from the Generic Low Latency driver.

I use Dorico on three different computers with different setups, laptop and two desktops. The MIDI lag seems to vary within a range by score type and setup (a big orchestral score will be slow) and the specific computer/MIDI spec.

There’s audio buffer is one part of the loop but probably not a big one. I’d first try the build in low latency driver, that tends to help things. Otherwise if you’re on a monster orchestral score it will probably be laggy unless you have something like VEP installed.

Wow, I just tried this and it does help quite a bit, thank you!

Since I’m not using any VST instruments or plugins, I’m think the keyboard lag is not related to audio or at least not only to audio, because I also have it with MIDI-out configuration, and the lag becomes very noticeable in larger scores.

But now with a locked layout, I think it’s easier to notice what I think you mentioned earlier - how the speed of note entry and gaps between notes are being buffered and evaluated by Dorico to decide if they are single notes or not. With faster note entry, Dorico waits and then spits them out in portions. The other lag that you mentioned - the screen rendering time - becomes more manageable with a locked layout. I’m very glad I learned about this workaround!

It would be nice to have an option for note input where Dorico can be asked to simply treat every note as a single note and stop trying to be smart and slow about it, but I personally can live with locked layout.

1 Like