Forums > MaxMSP

Reading General MIDI files

Sep 04 2013 | 9:00 am

I want to be able to read in General MIDI files (either type 0 or type 1) into my patch (which will be turned into a Max standalone). In addition to obviously getting the note info out, I also need to be able to extract program change messages and continuous controller (CC) messages from the file. For reasons which I’ll spare you, I also can’t use Java, so no mxj objects allowed. Here’s what I’ve looked at, and challenges:

seq – doesn’t read in type 1 (multi-track) MIDI files
detonate – reads in type 0 and type 1 files, but no ability to read program change or CC data from files. This thread identifies the same problem.
midifile by John MacCallum – mxj objects not OK.
ajm.midi2coll by Adam Murray – doesn’t output program changes, and also dependent on mxj.

Any other ideas or leads??

Sep 06 2013 | 11:16 am

I had an idea to try and see if there were Javascript tools to tackle this. I found jasmid, which has two sub-components, midifile.js and stream.js which seem like they populate a Javascript array with the MIDI info.

I stink at Javascript though, and wondering if anyone out there could tweak the above files to work in a Max-land js object? Ideally, I’d love to be able to give the object the path to the .mid file, and then get all the info out the other end…

Oct 29 2013 | 8:42 am

Also have a look at note~ ( – I think) and I’ve been irking with them trying to decide which one fits my needs best. Still haven’t decided but they seem to be further ahead than detonate.

Oct 29 2013 | 8:52 am

well, last but not least there is [filein].

Oct 29 2013 | 9:14 am

@Artmusicsouth – thanks, those are good ideas to explore, I didn’t know that they had MIDI support…

Feb 28 2017 | 1:40 pm

Since this thread has high google ranking: Seems that with v. 7.3.2 seq and follow now read MIDI type 1 files, see


Mar 05 2017 | 8:33 pm

this is huge news!!! very exciting, thank you for the notification.

Viewing 7 posts - 1 through 7 (of 7 total)

Forums > MaxMSP