Subscribe Bookmark RSS Feed
Craige_Hales

Staff

Joined:

Mar 21, 2013

Midi (music) File Editor

Midi files contain note-on and note-off events to drive a music synthesizer.  This add-in creates simple midi files with three instruments; on Windows the play button might launch media player and play the tune.  On Mac you might need to find a player (Quick Time perhaps) and start the file manually after saving it.

7209_midiEditor.PNG

Click to create notes, drag to re-position them.  Violin in green, piano in red, bassoon in blue.  That's a JMP graph, even if it doesn't have axis labels.

The Open button will NOT open a midi file UNLESS it was saved by this add in.  This add in puts extra information in the midi file so it can be re-opened later.  There are a lot of other limitations...no black keys, all notes the same length, limit to the tune length...

You can find the JSL after installing via the View->add ins->pick one->click the folder link.  You'll see a matrix that holds the note array, a window that holds a graph box with a MouseTrap script, some buttons with more JSL, and a lot of code for creating the bits that go in a midi file.  A lot of the bit manipulation magic is done using hex strings, regular expressions, and Blobs (binary large objects).  There might be some left-over code for parsing midi files; parsing turns out to be harder than creating because there are many ways to interleave the data for the tracks.

The play button toggles between two files it makes on the desktop, deleteme1.mid and deleteme2.mid.  You can delete them when you are done; there are two because media player has one open while JMP is creating the other.