Forums > MaxMSP

Creating a MIDI file for Finale or Sibelius

Oct 04 2013 | 7:10 am

I have a patch that generates a random series of sixteenth note vales (1 = sixteenth note, 2 = eighth note, etc.), and a random series of pitches. I’m trying to find a way to export these values as a midi file that can be opened in finale or sibelius. Help!!

Oct 04 2013 | 7:14 am

[seq] or [detonate]. in any case, you have to record the events in realtime before you can export.

Oct 04 2013 | 7:34 am

Thank Roman. I’m a bit of a newb with MIDI in Max. If I have a coll object with a series of values that look like this:

for rhythm (# of sixteenth notes in duration)
0, 5;
1, 6;
2, 7;
3, 7;
4, 3;
5, 3;
6, 6;

What would be the best way to record them into [seq] or [detonate] so that when I bring the midi file over to finale or sibelius, I’m going to have the right rhythmic values? Or if I wanted to do randomized pitches instead, to just have a quarter note value for each pitch?

Oct 04 2013 | 8:16 pm

>> [seq] or [detonate]. in any case, you have to record the events in realtime before you can export.

Not true for [detonate], in which you can record in nonrealtime.
See this example.

Oct 04 2013 | 8:19 pm

0, 5;
1, 6;
i dont see any duration values there yet …

Oct 05 2013 | 8:06 am

If I understand you correctly, you want to have a table of successive durations (more specifically a coll containing number of 16ths between notes) and convert that into a series of MIDI notes. So, based on your beat tempo (beats per minute) you need to calculate the amount of time each 16th-note pulse takes (milliseconds per 16th-note) and multiply that by each of your stored durations to get the correct milliseconds to wait till the next note. Here’s a patch that plays your rhythm and stores it in a seq object (which you can then write to a MIDI file).

-- Pasted Max Patch, click to expand. --


Oct 07 2013 | 6:38 pm

Thanks for the replies.

Roman–the durations were in # of sixteenth notes between attacks, as Christopher understood. The first number (in [0, 5] for example) is just the index # in the coll object. So the duration value would be the second number, or in this case 5 sixteenth notes.

Thanks for the patch Christopher. I ended up coming up with a solution that records in realtime, though yours is definitely more elegant. The realtime recording isn’t a huge issue since the person I’m writing it for wants to hear it before exporting, but it would be nice to have a non-realtime solution somewhere down the line. I don’t completely understand the detonate object yet, but will have to look into it some more.

thanks again.

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

Forums > MaxMSP