Exported .mid file with Quatertones doesn't play properly


I just wrote a simple melody with quarter-tones and it plays fine in Dorico.

However, when I export it to MIDI and import it back in Dorico, it doesn’t play the quarter tones and plays sharps and flats. I suppose the pitch bend messages didn’t get printed into the MIDI file. What am I missing here, please?

Any help would be appreciated.


As far as I am aware, Dorico cannot yet export quarter tones to MIDI. The quarter tone playback in Dorico is accomplished entirely via Note Expression (in VST3), or the VST2 equivalent which I believe is only used by NotePerformer. When exporting MIDI, it does not include this data.

You are I think correct. In fact, I exported ( with uncompressed MusicXML) and I do see element in the .xml file. Which is a good sign.
Here is the content of the .xml file from the export of two B quarter notes. The first one is altered (one quartertone flat) and the second one is natural B.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.1">
    <work-title>Untitled Project 1</work-title>
  <movement-title>Flow 1</movement-title>
    <score-part id="P1">
  <part id="P1">
    <measure number="1">
        <key number="1">
        <clef number="1">
      <barline location="right">

The same music when converted to midi doesn’t have any pitch bend messages. In fact, it renders half-quartertone flat as “Flat”!

<meta message smpte_offset frame_rate=24 hours=32 minutes=0 seconds=0 frames=0 sub_frames=0 time=0>
<meta message time_signature numerator=2 denominator=2 clocks_per_click=24 notated_32nd_notes_per_beat=8 time=0>
<meta message set_tempo tempo=923076 time=0>
<meta message end_of_track time=0>
<meta message track_name name='Nai' time=0>
program_change channel=0 program=0 time=0
control_change channel=0 control=7 value=100 time=0
control_change channel=0 control=10 value=64 time=0
[b]note_on channel=0 note=70 velocity=100 time=0[/b]
control_change channel=0 control=11 value=72 time=0
note_off channel=0 note=70 velocity=0 time=467
note_on channel=0 note=71 velocity=100 time=13
control_change channel=0 control=11 value=61 time=0
note_off channel=0 note=71 velocity=0 time=467
<meta message end_of_track time=0>

All I need a MusicXML to midi convertor ( preferably ) command line or API say in Python to convert to MIDI handing bitch bend. I check music21 and Musescore ( CLI at least) are not capable of doing this.