Real-time MIDI recording in Dorico


There’s no way to get around note entry. One way or another, you have to get the notes onto the staff. Coming from Speedy Entry in Finale (pitch-before-duration), I admittedly struggled to adapt to Dorico’s method of duration-first. But what I’ve always wanted was real-time MIDI entry, especially for piano music.

Sure, Finale had it, and Dorico has had it too, but let’s be honest: it’s difficult to get usable results without a great deal of tweaking, even if you’re a competent pianist. Thankfully, there are several new features in Dorico that have finally made real-time MIDI entry a regular part of my workflow.

In brief, here are the steps I use. Note that these same basic process applies to inputting monophonic instruments, though some of the steps might not be needed if you’re playing a single melodic line.

1. Settings

Latency is the first problem in MIDI entry, and it’s no small matter. Usable recordings need to be as accurate as possible, and it’s maddening to play to a click if you’re dealing with monitoring latency from the instrument you’re inputting. Dorico 3 solves this issue by allowing the user to turn off MIDI thru, and instead use a lightweight external VST, or better still, built-in sounds from your keyboard (if you have them).

Second, even if you turn off MIDI thru, you may need to make adjustments for latency from the sound card. To do this, first set your quantization value (Preferences > Play > Recording > Quantization Options…) to 32nd notes, and in a completely blank spot in the score (with no other instruments playing back), try a test recording playing simple quarter notes, as precisely following the metronome as possible.

If you have a consumer-grade sound card like I do, it’s almost certain the recorded notes will be notated slightly after the beat. Gradually lower the value of the MIDI input latency compensation until the notation is correct — in fact, try lowering it further until the notation is ahead of the beat, then backtrack the value until you’re right in the middle. When I’m recording using my laptop’s internal card, I’ve landed on a value of -170ms.

After you’ve calculated for the proper latency compensation, change your quantization setting back to reflect the smallest note value you’ll actually need in the recording.

Paul Walmsley, Steinberg’s architect and developer for Dorico, offered some additional advice:

Regarding latency, we’ve found in some experiments that the best latency value to use depends on a lot of factors: your MIDI and audio hardware, the sounds you are using (depending on whether they have an immediate attack, as you may compensate for the perceived attack time by playing slightly early), and also your playing style. One experiment had three of us trying to play 4 beats as accurately as possible and we still had a variation of +/- 50ms between us. On my system a value of 50ms (note: not negative) works well.

I would suggest a slight variant of your advice to identify your optimal latency:

  1. Start a new Solo piano project in 4/4 (it will be already at the default tempo of 120bpm)
  2. In Preferences > Play > Recording ensure that Preserve note positions is checked (just for the purposes of measuring the latency; you can uncheck it later if preferred)
  3. Double-click at the start of bar 1 to create the note input caret
  4. Press Record and then play to the click as accurately as possible for about 4 bars
  5. Switch to Play mode and look at the note positions. The thick lines show the times of the notes you played

At 120bpm there’s 500ms between each beat, so you can see in this case that it’s about 10% of a beat early. So I set a latency of 50ms (the latency value is the amount that we’re moving these values to the right) and recorded again to get the results shown in the second image. If the thick line is after the beat then you need a negative number.

As an aside, you may find it helpful to mute some of the other staves if their sounds have a slower attack. Doing so will allow you to play more precisely to the click.

2. Fire away

Here’s the section I’ll be recording: it’s a ballad-style piano accompaniment that uses some guitar-like rhythms. It would be a real pain to input manually.

After I press Ctrl+R (Cmd-R on Mac) and play to the click, here’s what I get:

Painful, right? At this point, you may be having flashbacks to your past attempts at this sort of thing. But hang on!

3. Get rid of the ties

The biggest problem here is ties, since in a performance, notes are overlapping one another constantly. Fortunately, there’s an easy way to resolve this. Click in the first measure to select the top staff of the piano, then Shift-click to select the bottom staff. Then use Edit > Select to End of Flow (which I’ve assigned to Ctrl+Shift+1).

Then press 4, and listen for the angelic choirs:

By reducing every note event to a 16th note, you’re eliminating the complexity of overlapping notes, and essentially reducing the score to be pointillistic.

4. Fix the split points

This is the most time-consuming part of the process. I long for the day when Dorico introduces smart (or “floating”) split points that intuitively distribute the notes between hands, but until that day, it’s manual.

Select some notes that are in the wrong staff and move them, using Alt+M (Move to Staff Below) and Alt+N (Move to Staff Above). Pro tip: zoom in (Z) so it’s easy to select the noteheads you want.

Here’s the result of moving the select notes from the bass to the treble staff:

5. Fill the rests

Here’s the other new feature in Dorico 3, and it’s glorious: Write > Edit Duration > Extend to Next Note (which I’ve assigned to Ctrl+Shift+F).

It does just what it says. Select a range of measures, and voilà!

That’s all there is to it! You can, of course, slow down the tempo for greater accuracy. I find it most helpful to record small sections at a time, which allows the music to flow naturally, but gives me time to adjust to different sections.

Happy recording!

Hopefully you found this tutorial helpful. I also offer tutoring in Dorico, either individually via video conferencing, or on-site for educational institutions. Whether you’re a new Dorico user, or you already use it and want to increase your efficiency, contact me.


  1. Bill

    Why would you set the Quantization to 32nd notes if the piece has nothing shorter than 16th notes?

    1. Dan Kreider

      You may want to re-read that section. I set it to 32nd-notes only in order to precisely identify my latency compensation. Then I set it back to whatever smallest value I need.

      1. Bill

        Opps, my bad…

  2. Peter Hamlin

    Dan, this is great. Nice to see all the steps and approaches you use.

    Thanks for a great post!

  3. Dave Hanson

    Is there a Sibelius plug-in similar/equivalent to Dorico’s “Extend to Next Note”? Thanks!


    1. Quetzal

      1. Dave Hanson


        Thanks for the tip. It comes close, but when I tried to recreate the Dorico example (by selecting the 2 bars entire) it left the last 16th as a sixteenth instead of turning it into a quarter. Still, a nice tool to have.


  4. Paolo

    Very clean process. This makes entering music a snap (or two).

  5. Ben

    Finale’s HyperScribe was essentially unusable, no matter what I tried. I’ve found Dorico’s MIDI input to be amazingly accurate as is, and not had any latency problems on my Macs.

  6. Quetzal

    Thank you Dan, just in time!
    I switched from Sibelius this week.

  7. Peter Roos

    Terrific Dan. You should write book “How to get procient with Dorico”, with a couple of sample projects, across different genres. Similar to “Mastering Sibelius 5” or “Sibelius Music Notation Essentials”, with sample projects which people can work through. It’d be a best seller!

Leave a Comment

Your email address will not be published. Required fields are marked *