Hi,
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.
CS
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>
<work-title>Untitled Project 1</work-title>
</work>
<movement-title>Flow 1</movement-title>
<identification>
<encoding>
<software>Dorico 3.5.10.1045</software>
<encoding-date>2020-12-04</encoding-date>
</encoding>
</identification>
<part-list>
<score-part id="P1">
<part-name>Nai</part-name>
</score-part>
</part-list>
<part id="P1">
<measure number="1">
<attributes>
<divisions>4</divisions>
<key number="1">
<key-step>B</key-step>
<key-alter>-0.5</key-alter>
<key-accidental>natural-down</key-accidental>
</key>
<staves>1</staves>
<clef number="1">
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
<note>
<pitch>
<step>B</step>
<alter>-0.5</alter>
<octave>4</octave>
</pitch>
<duration>4</duration>
<voice>1</voice>
<type>quarter</type>
<stem>down</stem>
<staff>1</staff>
</note>
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<voice>1</voice>
<type>quarter</type>
<accidental>natural</accidental>
<stem>down</stem>
<staff>1</staff>
</note>
<barline location="right">
<bar-style>light-heavy</bar-style>
</barline>
</measure>
</part>
</score-partwise>
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.