Thread with 3 posts
jump to expanded posttoday i have been writing a program that reads a midi file. as is typical for me, i decided to write my own parser.
so i've been consulting the “standard midi files specification” and “midi 1.0 detailed specification”, neither of which i had ever read before. it's been pretty fun! they're written in a refreshingly informal and thoughtful style that makes the purpose and form of everything clear. the protocol and file format are remarkably well-designed… very efficient encodings for example
@hikari Someday I will have to do this because I have a .midi file I made years ago which is slightly noncompliant and which no modern program can open. I'm gonna need to write a forgiving midi importer which plugs into a compliant midi exporter
@mcc the most critical data (general midi level 1 instruments, note values, velocity and timing) is fairly easy to parse. i'll post my code at some point, it might be a useful reference. good luck!