Bug: MIDI import does not like measures which are split by adding barlines

In the first flow, I entered the melody of one verse of The First Nowell. Every fourth measure except the last was split into two partial measures by adding a double barline before the third beat. I then exported the first flow as a MIDI file and imported that file into the second flow. All of the notes in the 1/4 measures after the first are doubled in the second flow.

Not surprising. MIDI has no concept of barlines, only time signatures.

That doesn’t explain why the notes in the 1/4 measures are doubled.

Can you attach the Dorico project from which you exported your MIDI file, John?

Is there a particular reason why you chose to export it as MIDI and then reimport it? If you wanted a second version of it in your project, Duplicate Flow would be an easier way to do it.

1 Like

And as a follow up to what Daniel said, if you’re arranging this for a normal player or even a singer (for a hymnal or worship aid) a simple split measure (system break) would be sufficient. No need to double barline each time there’s a break.

Here is the Dorico project:
MIDI Import Bug Revised.dorico (395.9 KB)
EDIT: The project I originally attached appears to have become corrupted, so I have replaced it with one that uses NotePerformer.

In working with my virtual choir, I adjust the playback start and end offsets of the notes outside of Dorico to accommodate the lyrics and then import the adjusted MIDI file.

Look at this page from the 1940 Episcopal Hymnal.

That is rather a misuse of double barlines, which are supposed to mark sections and key changes, not lines. Compare with the Hymnal 1982 (#109) where each system properly ends with no barline, and there is a double barline only before the Refrain.

There are two problems if I split a measure with a system break and don’t add a barline.

  1. There isn’t a note spacing handle at the end of the system with the split measure.
  2. The playhead doesn’t move smoothly when playing back the split measure.

This is why I need a barline at the end of every system, even if it is a dashed barline with dash length zero. But the bug I am reporting in this topic happens if I split a measure with any kind of barline, even an invisible one.

Indeed, this is super annoying and I made a FR a realllly long time ago asking for handles to be implemented at the end of split measures. I’m really hoping this makes an appearance in D4, even if it is via genuine invisible barlines. (Which is to say, that a true ‘invisible barline’ option is added, so that the dashed-with-zero-length hack is no longer required.)

The bug I am reporting in this topic happens even with small flows containing only one system:

MIDI Import Bug 2

It gets even weirder when you consider the meter markings and the number of beats in the bar. FWIW, I’d at least do this via XML rather than midi, which is, by all accounts, a fairly “dumb” format for transferring data. At least with XML dorico has a better idea of what everything means rather than having to take so many guesses. All that aside, I agree that there is clearly something amiss going on, to export a single note and get two in return.

The second flow correctly obtains this information from the MIDI file exported from the first flow, so that isn’t the problem. It’s the doubled notes that are the problem.

You might have barlines where they were in the original, but I really don’t know how you can claim that the second flow is “correct”… there are two 4/4 bars with only two beats in them.

The MIDI file exported from the first flow has time signatures of 4/4, 2/4, 4/4, 2/4 and 4/4 occurring after 0, 6, 8, 10 and 12 beats, respectively. I said the second flow correctly obtains this information from the MIDI file, not that the second flow is “correct.”

Just to chime in here and say that I have made a note of the issue with doubled-up notes when importing irregular bars; it still occurs in Dorico 4.

Also worth saying that the changes in Dorico 4 relevant to this thread:

also mean that pick-up bars are not currently handled in the same way when exporting MIDI from Dorico 4 as in Dorico 3.5, but we will remedy that as soon as we can.

1 Like

As always, the level of support you provide is second to none.