This project is read-only.
The application can read a midifile (.MID) and output the data to a CSV file. It includes options to select particular types of MIDI event, and whether to include calculated values (in seconds) for the time elapsed.

Platform and installation
Written in VB.NET. After downloading, create a Folder for it; and run it from there.

Usage
The application creates CSV files. These are easily imported into applications such as Excel, where further formatting or analysis can be made.

1) Drag and drop a MIDI (.mid) file into the main Window.
2) Select which Events to output (Appearing as 'rows'); and which details (appearing as 'columns') to include in the output file.
3) Click button to save the details in a CSV (comma separated value) file. The new CSV file will be created in the same Folder where your MIDI file was located.

Output options
For explanations, please consult the full MIDI spec.

-Event types
Standard Events (for example: Notes, Aftertouch and Pitch Wheel). Controllers (for example: Bank Select, Pan, Effects) MetaCommands (e.g. Text, Lyrics, Markers, Cue points)

-Time and Tempo
Calculated values for the real time elaped between events; or since the start of the track.
The tempo (in Beats per minite) at the time of each event. The number of musical beats since the previous event. Midianal allows for any changes in tempo.

-Options
The midi spec offers two ways to stop a note playing. Select whether to display "Note on" events which have a velocity of zero to "Note off" events.
Show Notes as names (eg: C0 is the note C in the lowest octave) or as their internal MIDI values.
A calculated number of Frames which would have been reached at the User selectable framerate.


-Event details
The names of the Track. Name of the Instrument.
The name of the event (e.g. "Note On" or "Controller")
Any secondary Name details (e.g. "Pan")
The Note value.
The Note's velocity.
Othervalues (e.g. for Controllers)


-File details
These options are likely of little general use, but are included mainly for diagnostic purposes.
Values from the Midi file which MIDIanal uses to calculate the realtime (ie: seconds) of Events.
Internal details from the Midi file which describe how the separate chunks of data are stored.
Diagnostics of the number of deltatime ticks counted since a previous Event, split between any entries in the tempo map.

Last edited Mar 25, 2015 at 2:43 PM by tima, version 2