Creating a Midi file


    Apr 15 2008 | 12:55 am
    Certainly it must be possible to generate a midi file with a time signature in it. The midi file created by my patch should open 3/8 instead of the standard 4/4. Is there ways to do such from within max? Or do I have to wait until 22nd...
    _ johan

    • Apr 15 2008 | 2:44 am
      The seq object in max does not record midi meta events including time signatures and key signatures. Maybe in Max 5? Multi-track sequences too?
      Cheers Gary Lee Nelson Oberlin College www.timara.oberlin.edu/GaryLeeNelson
      > From: jvkr > Organization: Cycling '74 > Reply-To: > Date: Tue, 15 Apr 2008 02:55:21 +0200 > To: > Subject: [maxmsp] Creating a Midi file > > > Certainly it must be possible to generate a midi file with a time signature in > it. The midi file created by my patch should open 3/8 instead of the standard > 4/4. Is there ways to do such from within max? Or do I have to wait until > 22nd... > > _ > johan
    • May 03 2008 | 9:20 am
      Quote: Gary Lee Nelson wrote on Tue, 15 April 2008 04:44 ---------------------------------------------------- > The seq object in max does not record midi meta events including time > signatures and key signatures. Maybe in Max 5? Multi-track sequences too?
      As this is not the case...
      > > Certainly it must be possible to generate a midi file with a time signature in > > it. The midi file created by my patch should open 3/8 instead of the standard > > 4/4. Is there ways to do such from within max? Or do I have to wait until > > 22nd...
      ... replying to myself (for the record), changing or adding meta events is possible with javascript. A good start is the example for file i/o and the midi file-format description to be found eg here: http://www.borg.com/~jglatt/tech/midifile.htm
      _ johan
    • May 04 2008 | 7:27 am
      Cheers Gary Lee Nelson TIMARA Department Oberlin College www.timara.oberlin.edu/GaryLeeNelson
      On May 3, 2008, at 11:20 AM, jvkr wrote:
      > > Quote: Gary Lee Nelson wrote on Tue, 15 April 2008 04:44 > ---------------------------------------------------- >> The seq object in max does not record midi meta events including time >> signatures and key signatures. Maybe in Max 5? Multi-track >> sequences too? > > As this is not the case...
      Which part is not the case. i haven't checked recently but when I did try, seq ignored mete events. I wrote my own program in APL to accept text based midi data and create a multitrack midi file (using the spec below) that includes time signatures, titles, etc. I am currently testing MaxScore for this so I can go directly to a MusicXML file that Finale understands.
      This works for exporting to Finale and Sibelius. What I am missing is an object that will read and play type 1 midi files made perhaps with finale, sibelius or other programs that write midi files.
      > > >>> Certainly it must be possible to generate a midi file with a time >>> signature in >>> it. The midi file created by my patch should open 3/8 instead of >>> the standard >>> 4/4. Is there ways to do such from within max? Or do I have to >>> wait until >>> 22nd... > > ... replying to myself (for the record), changing or adding meta > events is possible with javascript. A good start is the example for > file i/o and the midi file-format description to be found eg here: > http://www.borg.com/~jglatt/tech/midifile.htm > This spec is well known to me. I have been handling midi files in Pascal and C since the spec came out.
      > _ > johan >
    • Jun 05 2008 | 12:26 am
      I'd also like to know of a way to record changing time signature MIDI meta events while recording sequences within Max using seq, detonate, or another approach that can write a standard MIDI sequence file once the data is recorded.
      Does anyone know if this capability is available now in an object in Max 5?
      Any pointers to more information or help is greatly appreciated.
      --B
    • Jun 18 2008 | 3:21 pm
      I have come across an object by John MacCallum at CNMAT called "mxj midifile" that enables playing and recording midi meta events along with other midi data. This is done using the "addMetaEvent" time-stamped message which is followed by the data needed for each type of meta message (see MIDI spec for meta event numbers and necessary data). Mxj midifile reads and writes type 0 (and type 1, I think) standard midi files much like seq and detonate.
      John MacCallum's object can be found at the CNMAT download site:
      Thanks to John and the folks at CNMAT.
      Bill
      an example: