Dorico doesn't export alternating time signatures correctly in MIDI

When exporting MIDI and the project contains alternating time signatures, the corresponding passage in the MIDI file only renders the first n bars correctly – where n is the number of time signatures in the alternating time signature change – and then the rest of the passage is notated with the last of the time signatures in the alternating time signatures. E.g. if my passage is notated in 9/16 + 11/16 in Dorico, in the MIDI file, the first bar is in 9/16, the second bar is in 11/16 and all the following bars until next time signature change are in 11/16.

I should add that this has been confirmed using REAPER for reading the MIDI file exported from Dorico. While I have looked at the MIDI specification about x many years ago, I can’t remember anything about any native alternating time signature features, and therefore I can’t be 100 % certain that this is a Dorico bug and not a REAPER bug. However, unless there is now some fancy additions to an unknown MIDI 3.0 specification that only a select secret group of developers have access to, I highly doubt native MIDI supports this, and therefore ideally Dorico should explicitly alternate between the alternating time signatures in question until next time signature change in the MIDI export for compatibility.

Hi @Frigolito,

interestingly also importing a Dorico project into Cubase 15 (using File>Import<Dorico Project…), seems to not respect (=not write out) the Alternating TS: Cubase converts the 3/4+4/4 into a 7/4:

To decide whether it’s an export or import issue, one would need the MIDI files in question. The MIDI 1.0 standard encodes time signatures as Meta Events, and only by looking at their raw data, it’s possible to narrow the issue down. Can you post them?

Thanks for reporting this. I can well imagine that Dorico isn’t correctly cooking up additional time signatures during MIDI export. I’ll investigate and we’ll look into making a fix in due course.

That’s weird, considering it’s inconsistent with the behavior I experienced – if it were consistent, you’d expect your export to produce one 3/4 bar followed by 4/4 bars, or mine to produce one TS change of 20/16.

Well, I guess I could post them, but considering that the development team would probably want to be more thorough and methodical than only investigating one file, it’s probably redundant. If you’re interested, you could of course try to reproduce the problem yourself, testing maybe hundreds of variants. I, however, am too lazy. :stuck_out_tongue: