conversion into score from midi: notes duration

• Apr 15, 2018 - 19:04

Cross posted at https://github.com/MarkCWirt/MIDIUtil/issues/20

I'm trying to write down isolated 16th notes in two bars of 6/8 time signature (I want to write down a simple drum rhythm). My understanding is that given the time and duration the notes, the bar will be filled with 16th notes at the time onsets and rests to match the time signature.

However this is not what I see after conversion into a score musescore simple.mid -o simple.png there are instead notes of different durations than 16th, some dotted, with staccato symbols. The resulting score is not "you play what you see". I've experimented with different time signatures like 12/16 when creating the midi file without improvements. Is this due a general specifics of the musical score notation, an issue with my midi file, or can this be "fixed" by using a different midi to musical score conversion program?

simple.mid

simple.png


Comments

I'm not sure where your midi file was created. I used MuseScore2.2.1 and ended up with midi test 1.png
using the default midi import settings after I created the two measures with only 16th notes. When I removed the check from simplify durations and click apply I get
midi test 2.png
Which, except for the rests at the ends of the measures, is exactly what I entered into the original MuseScore file.
midi_test.mscz

If you are trying to use midi to transfer a file from one notation program to another you are using the wrong tool. A wrench can be used to put in a nail, but a hammer will give you better results. You need to use Musicxml or XML to transfer notation from another program.

In reply to by mike320

Thanks for the quick answer, disabling "Simply durations" helps!

I'm generating midi programmatically, see the link in my top post.
Based on the generated notes, defined by onset and duration, I need midi + the score.

What advantages generating musicxml offers in my case? Are there free tools to generate musicxml programmatically?

In reply to by marcindulak

MIDI only contains when a note starts and a note ends. There is no information if this note is 8t note or a quarter played staccato for example. MusicXML can store that. MIDI is for performance, MusicXML for sheet music. Going from one to the other is destructive process. So you might need to change your whole pipeline. If you are ready to do so, you could try Music21 to generate MusicXML programmatically http://web.mit.edu/music21/

In reply to by marcindulak

See:
https://musescore.org/en/handbook/file-formats
especially:
https://musescore.org/en/handbook/file-formats#share-with-other-software

Basically, you decide whether your goal is to create/share sheet music scores; or to generate/share musical performances. Accordingly, you then choose a suitable format.
As stated in the link.: "MIDI files are designed for playback purposes and do not contain score layout information about formatting, pitch spelling, voicing, ornaments, articulations, repeats, or key signatures, among other things. To share files between different music notation software, MusicXML is recommended instead. If you are only interested in playback, use MIDI."

Do you still have an unanswered question? Please log in first to post your question.