jazz-soft / test-midi-files

A framework for producing test MIDI files
MIT License
25 stars 2 forks source link

MPE tests #10

Open infojunkie opened 3 months ago

infojunkie commented 3 months ago

Thanks for this very useful work. Do you have any plans to add MPE tests?

jazz-soft commented 3 months ago

MPE is not widely used nowadays. But if you have any specific ideas, please let me know.

infojunkie commented 3 months ago

I am especially interested in generating per-note pitch bends. Not sure if this answers your question, though :-)

jazz-soft commented 3 months ago

Effectively, it will be represented as each note playing on a different channel with its own pitch bend. What is the instrument you want to test?

infojunkie commented 3 months ago

I want to test a software synth that correctly responds to MIDI files containing MPE information. Another component of mine will generate such MIDI files.

jazz-soft commented 3 months ago

What MPE information should be in the file?

infojunkie commented 3 months ago

I think it will be easier if I give you the full context of what I working on.

At musicxml-midi, I am working on a MusicXML to MIDI converter. I am currently focusing on microtonal music, and as per https://github.com/infojunkie/musicxml-midi/issues/45, there are several approaches for supporting microtonality in MIDI, each with pros and cons. The converter I am writing will support the various known approaches, including regular pitch bends, MIDI Tuning Standard, and MPE pitch bends. Right now, it only generates regular pitch bends.

I am also working on a Web player for MusicXML at https://blog.karimratib.me/demos/musicxml/ - the "client" of the above module. In that player, I maintain a custom MIDI synth that receives MIDI messages and plays them back using Web Audio (using webaudiofont). This player will need to receive and process MTS and MPE messages.

Before embarking on this work, I decided to search GitHub for existing components that deal with MIDI files, and that's how I landed here. I think your MIDI file testing work is perfect to test that my converter generates correct MPE and MTS messages, and that my Web player plays them back correctly.

jazz-soft commented 3 months ago

Do you know the sequence of MIDI messages you want to be in the file?