<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hey Martin,</div>

<div>thanks for your hints!</div>

<div> </div>

<div>I created a midi file in ableton, exported it and then read it with the midifile-read-help-patch. </div>

<div>This is what I get after reading:</div>

<div> </div>

<div>
<div>midifile: opened /Users/wbjc/Desktop/ableton.mid<br/>
midifile: Header chunk type: MThd<br/>
midifile: Header chunk length: 6<br/>
midifile: Header chunk format: 0 (Single multichannel track)<br/>
midifile: Header chunk ntrks: 1<br/>
midifile: Header chunk division: 0x60: 96 ticks per quarter note<br/>
midifile: Track chunk 0 type: MTrk, length 81</div>

<div> </div>

<div> </div>

<div> </div>

<div>And this is what I get after the |dump 0( message:</div>

<div> </div>

<div> </div>

<div> </div>

<div><br/>
midifile: Parsing track[0]...<br/>
midifile: tick 0 delta 0 status FF Meta 0x03 length 1 <br/>
Sequence/Track Name <br/>
midifile: tick 0 delta 0 status FF Meta 0x58 length 4 <br/>
Time Signature 4/4 36 clocks per tick, 8 32nd notes per quarter note<br/>
midifile: tick 0 delta 0 status FF Meta 0x58 length 4 <br/>
Time Signature 4/4 36 clocks per tick, 8 32nd notes per quarter note<br/>
midifile: tick 0 delta 0 status 90 MIDI 0x90 42 64 : channel 1 Note 66 On velocity 100<br/>
midifile: tick 24 delta 24 status 80 MIDI 0x80 42 40 : channel 1 Note 66 Off velocity 64<br/>
midifile: tick 72 delta 48 status 90 MIDI 0x90 41 64 : channel 1 Note 65 On velocity 100<br/>
midifile: tick 96 delta 24 status 80 MIDI 0x80 41 40 : channel 1 Note 65 Off velocity 64<br/>
midifile: tick 120 delta 24 status 90 MIDI 0x90 46 64 : channel 1 Note 70 On velocity 100<br/>
midifile: tick 144 delta 24 status 80 MIDI 0x80 46 40 : channel 1 Note 70 Off velocity 64<br/>
midifile: tick 168 delta 24 status 90 MIDI 0x90 41 64 : channel 1 Note 65 On velocity 100<br/>
midifile: tick 192 delta 24 status 80 MIDI 0x80 41 40 : channel 1 Note 65 Off velocity 64<br/>
midifile: tick 216 delta 24 status 90 MIDI 0x90 40 64 : channel 1 Note 64 On velocity 100<br/>
midifile: tick 240 delta 24 status 80 MIDI 0x80 40 40 : channel 1 Note 64 Off velocity 64<br/>
midifile: tick 264 delta 24 status 90 MIDI 0x90 45 64 : channel 1 Note 69 On velocity 100<br/>
midifile: tick 288 delta 24 status 80 MIDI 0x80 45 40 : channel 1 Note 69 Off velocity 64<br/>
midifile: tick 312 delta 24 status 90 MIDI 0x90 41 64 : channel 1 Note 65 On velocity 100<br/>
midifile: tick 336 delta 24 status 80 MIDI 0x80 41 40 : channel 1 Note 65 Off velocity 64<br/>
midifile: tick 336 delta 0 status FF Meta 0x2F length 0 <br/>
========End of Track 0==========</div>
</div>

<div> 
<div>
<div> </div>

<div> </div>

<div>The differences that I noticed:</div>

<div> </div>

<div>In the ableton-file the "header chunk division" is given as "ticks per quarter note", whereas in the midifile-file it is given in "frames per second and ticks per frame".</div>

<div> </div>

<div> </div>

<div> </div>

<div>midifile: Header chunk division: "0x60: 96 ticks per quarter note"</div>

<div>midifile: Header chunk division: "0xE714: 25 frames per second, 20 ticks per frame"</div>

<div> </div>

<div> </div>

<div>In the ableton-file there is an info given about the time signature: "Time Signature 4/4 36 clocks per tick, 8 32nd notes per quarter note"</div>

<div> </div>

<div>This info is not present after loading the file that i recorded with [midifile].</div>

<div>____</div>

<div> </div>

<div> </div>

<div>Furthermore, looking at the first lines of the dump-info of the ableton-exported-file, we can see that there is also one note being played at tick 0, but I did not actually put a note there. The same applies for the [midifile]-recorded file. I did not play notes directly after hitting the record-[bang]. I don't know how these notes on the first tick (0) have gotten there.</div>

<div> </div>

<div>As a side-note the help-patches that I am using are from 2010 (write-help-patch) and 2011 (read-help-patch). These were included in the mrpeach_v0-0-extended package that I downloaded via deken.</div>

<div> </div>

<div>Best, Jakob</div>

<div> </div>

<div> </div>

<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Gesendet:</b> Sonntag, 05. April 2020 um 17:28 Uhr<br/>
<b>Von:</b> "Martin Peach" <chakekatzil@gmail.com><br/>
<b>An:</b> "Jakob Laue" <jakkesprinter@web.de><br/>
<b>Cc:</b> Pd-List <pd-list@lists.iem.at><br/>
<b>Betreff:</b> Re: Re: Re: Re: [PD] including bpm info to midi-recording</div>

<div name="quoted-content">On Sun, Apr 5, 2020 at 9:48 AM Jakob Laue <jakkesprinter@web.de> wrote:<br/>
><br/>
> Hey Martin,<br/>
> I tried again today. I recorded a new midi file and then loaded it with the midifile-read-help-patch.<br/>
><br/>
> After loading the file I get:<br/>
><br/>
> midifile: opened /Users/wbjc/Desktop/mpxy.mid<br/>
> midifile: Header chunk type: MThd<br/>
> midifile: Header chunk length: 6<br/>
> midifile: Header chunk format: 0 (Single multichannel track)<br/>
> midifile: Header chunk ntrks: 1<br/>
> midifile: Header chunk division: 0xE714: 25 frames per second, 20 ticks per frame<br/>
> other_meta: frames_per_sec 25<br/>
> other_meta: ticks_per_frame 20<br/>
> midifile: Track chunk 0 type: MTrk, length 432<br/>
><br/>
><br/>
> And then if I send a |dump 0( message to [midifile] I get:<br/>
><br/>
> midifile: Parsing track[0]...<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 24 60 : channel 10 Note 36 On velocity 96<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 2B 65 : channel 10 Note 43 On velocity 101<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 2B 00 : channel 10 Note 43 Off velocity 0<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 2B 7F : channel 10 Note 43 On velocity 127<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 2B 00 : channel 10 Note 43 Off velocity 0<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 25 72 : channel 10 Note 37 On velocity 114<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 25 00 : channel 10 Note 37 Off velocity 0<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 25 72 : channel 10 Note 37 On velocity 114<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 25 00 : channel 10 Note 37 Off velocity 0<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 24 7C : channel 10 Note 36 On velocity 124<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 26 67 : channel 10 Note 38 On velocity 103<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 26 00 : channel 10 Note 38 Off velocity 0<br/>
> midifile: tick 0 delta 0 status 99 MIDI 0x99 26 6A : channel 10 Note 38 On velocity 106<br/>
> midifile: tick 0 delta 0 status 89 MIDI 0x89 26 00 : channel 10 Note 38 Off velocity 0<br/>
> midifile: tick 1052 delta 1052 status 99 MIDI 0x99 24 59 : channel 10 Note 36 On velocity 89<br/>
> midifile: tick 1073 delta 21 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 1120 delta 47 status 99 MIDI 0x99 24 6E : channel 10 Note 36 On velocity 110<br/>
> midifile: tick 1169 delta 49 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 1248 delta 79 status 99 MIDI 0x99 24 7F : channel 10 Note 36 On velocity 127<br/>
> midifile: tick 1287 delta 39 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 1400 delta 113 status 99 MIDI 0x99 24 6A : channel 10 Note 36 On velocity 106<br/>
> midifile: tick 1418 delta 18 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 1455 delta 37 status 99 MIDI 0x99 24 64 : channel 10 Note 36 On velocity 100<br/>
> midifile: tick 1502 delta 47 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 1591 delta 89 status 99 MIDI 0x99 2B 71 : channel 10 Note 43 On velocity 113<br/>
> midifile: tick 1657 delta 66 status 89 MIDI 0x89 2B 00 : channel 10 Note 43 Off velocity 0<br/>
> midifile: tick 1780 delta 123 status 99 MIDI 0x99 2B 7C : channel 10 Note 43 On velocity 124<br/>
> midifile: tick 1788 delta 8 status 99 MIDI 0x99 2A 29 : channel 10 Note 42 On velocity 41<br/>
> midifile: tick 1854 delta 66 status 89 MIDI 0x89 2B 00 : channel 10 Note 43 Off velocity 0<br/>
> midifile: tick 1971 delta 117 status 99 MIDI 0x99 2B 7F : channel 10 Note 43 On velocity 127<br/>
> midifile: tick 2047 delta 76 status 89 MIDI 0x89 2B 00 : channel 10 Note 43 Off velocity 0<br/>
> midifile: tick 2213 delta 166 status 99 MIDI 0x99 25 6B : channel 10 Note 37 On velocity 107<br/>
> midifile: tick 2266 delta 53 status 89 MIDI 0x89 25 00 : channel 10 Note 37 Off velocity 0<br/>
> midifile: tick 2352 delta 86 status 99 MIDI 0x99 25 7C : channel 10 Note 37 On velocity 124<br/>
> midifile: tick 2366 delta 14 status 89 MIDI 0x89 25 00 : channel 10 Note 37 Off velocity 0<br/>
> midifile: tick 2424 delta 58 status 99 MIDI 0x99 25 73 : channel 10 Note 37 On velocity 115<br/>
> midifile: tick 2464 delta 40 status 89 MIDI 0x89 25 00 : channel 10 Note 37 Off velocity 0<br/>
> midifile: tick 2571 delta 107 status 99 MIDI 0x99 26 7B : channel 10 Note 38 On velocity 123<br/>
> midifile: tick 2634 delta 63 status 89 MIDI 0x89 26 00 : channel 10 Note 38 Off velocity 0<br/>
> midifile: tick 2726 delta 92 status 89 MIDI 0x89 2A 00 : channel 10 Note 42 Off velocity 0<br/>
> midifile: tick 2728 delta 2 status 99 MIDI 0x99 26 7F : channel 10 Note 38 On velocity 127<br/>
> midifile: tick 2736 delta 8 status 99 MIDI 0x99 2A 24 : channel 10 Note 42 On velocity 36<br/>
> midifile: tick 2794 delta 58 status 89 MIDI 0x89 26 00 : channel 10 Note 38 Off velocity 0<br/>
> midifile: tick 2865 delta 71 status 99 MIDI 0x99 2C 7F : channel 10 Note 44 On velocity 127<br/>
> midifile: tick 2883 delta 18 status 89 MIDI 0x89 2C 00 : channel 10 Note 44 Off velocity 0<br/>
> midifile: tick 2928 delta 45 status 99 MIDI 0x99 2C 7F : channel 10 Note 44 On velocity 127<br/>
> midifile: tick 2959 delta 31 status 89 MIDI 0x89 2C 00 : channel 10 Note 44 Off velocity 0<br/>
> midifile: tick 2996 delta 37 status 99 MIDI 0x99 2C 6E : channel 10 Note 44 On velocity 110<br/>
> midifile: tick 3027 delta 31 status 89 MIDI 0x89 2C 00 : channel 10 Note 44 Off velocity 0<br/>
> midifile: tick 3059 delta 32 status 99 MIDI 0x99 2C 77 : channel 10 Note 44 On velocity 119<br/>
> midifile: tick 3094 delta 35 status 89 MIDI 0x89 2C 00 : channel 10 Note 44 Off velocity 0<br/>
> midifile: tick 3151 delta 57 status 99 MIDI 0x99 2D 64 : channel 10 Note 45 On velocity 100<br/>
> midifile: tick 3170 delta 19 status 89 MIDI 0x89 2D 00 : channel 10 Note 45 Off velocity 0<br/>
> midifile: tick 3280 delta 110 status 99 MIDI 0x99 2D 74 : channel 10 Note 45 On velocity 116<br/>
> midifile: tick 3353 delta 73 status 89 MIDI 0x89 2D 00 : channel 10 Note 45 Off velocity 0<br/>
> midifile: tick 3491 delta 138 status 99 MIDI 0x99 27 7F : channel 10 Note 39 On velocity 127<br/>
> midifile: tick 3715 delta 224 status 89 MIDI 0x89 27 00 : channel 10 Note 39 Off velocity 0<br/>
> midifile: tick 3749 delta 34 status 99 MIDI 0x99 28 3A : channel 10 Note 40 On velocity 58<br/>
> midifile: tick 3794 delta 45 status 89 MIDI 0x89 28 00 : channel 10 Note 40 Off velocity 0<br/>
> midifile: tick 3868 delta 74 status 99 MIDI 0x99 29 6D : channel 10 Note 41 On velocity 109<br/>
> midifile: tick 3931 delta 63 status 89 MIDI 0x89 29 00 : channel 10 Note 41 Off velocity 0<br/>
> midifile: tick 4086 delta 155 status 99 MIDI 0x99 2F 6A : channel 10 Note 47 On velocity 106<br/>
> midifile: tick 4097 delta 11 status 89 MIDI 0x89 2F 00 : channel 10 Note 47 Off velocity 0<br/>
> midifile: tick 4202 delta 105 status 99 MIDI 0x99 2F 6F : channel 10 Note 47 On velocity 111<br/>
> midifile: tick 4262 delta 60 status 89 MIDI 0x89 2F 00 : channel 10 Note 47 Off velocity 0<br/>
> midifile: tick 4331 delta 69 status 99 MIDI 0x99 2E 68 : channel 10 Note 46 On velocity 104<br/>
> midifile: tick 4358 delta 27 status 89 MIDI 0x89 2E 00 : channel 10 Note 46 Off velocity 0<br/>
> midifile: tick 4397 delta 39 status 99 MIDI 0x99 2E 79 : channel 10 Note 46 On velocity 121<br/>
> midifile: tick 4439 delta 42 status 89 MIDI 0x89 2E 00 : channel 10 Note 46 Off velocity 0<br/>
> midifile: tick 4470 delta 31 status 99 MIDI 0x99 2E 67 : channel 10 Note 46 On velocity 103<br/>
> midifile: tick 4500 delta 30 status 99 MIDI 0x99 2D 4E : channel 10 Note 45 On velocity 78<br/>
> midifile: tick 4509 delta 9 status 89 MIDI 0x89 2E 00 : channel 10 Note 46 Off velocity 0<br/>
> midifile: tick 4595 delta 86 status 89 MIDI 0x89 2D 00 : channel 10 Note 45 Off velocity 0<br/>
> midifile: tick 4679 delta 84 status 99 MIDI 0x99 2D 6D : channel 10 Note 45 On velocity 109<br/>
> midifile: tick 4681 delta 2 status 99 MIDI 0x99 2C 6E : channel 10 Note 44 On velocity 110<br/>
> midifile: tick 4735 delta 54 status 89 MIDI 0x89 2D 00 : channel 10 Note 45 Off velocity 0<br/>
> midifile: tick 4743 delta 8 status 89 MIDI 0x89 2C 00 : channel 10 Note 44 Off velocity 0<br/>
> midifile: tick 4821 delta 78 status 99 MIDI 0x99 2B 71 : channel 10 Note 43 On velocity 113<br/>
> midifile: tick 4829 delta 8 status 89 MIDI 0x89 2A 00 : channel 10 Note 42 Off velocity 0<br/>
> midifile: tick 4883 delta 54 status 89 MIDI 0x89 2B 00 : channel 10 Note 43 Off velocity 0<br/>
> midifile: tick 4966 delta 83 status 99 MIDI 0x99 25 4E : channel 10 Note 37 On velocity 78<br/>
> midifile: tick 5022 delta 56 status 89 MIDI 0x89 25 00 : channel 10 Note 37 Off velocity 0<br/>
> midifile: tick 5103 delta 81 status 99 MIDI 0x99 24 62 : channel 10 Note 36 On velocity 98<br/>
> midifile: tick 5152 delta 49 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 5226 delta 74 status 99 MIDI 0x99 24 24 : channel 10 Note 36 On velocity 36<br/>
> midifile: tick 5255 delta 29 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 5268 delta 13 status 99 MIDI 0x99 2A 69 : channel 10 Note 42 On velocity 105<br/>
> midifile: tick 5370 delta 102 status 99 MIDI 0x99 24 68 : channel 10 Note 36 On velocity 104<br/>
> midifile: tick 5415 delta 45 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 6046 delta 631 status 99 MIDI 0x99 2B 29 : channel 10 Note 43 On velocity 41<br/>
> midifile: tick 6066 delta 20 status 89 MIDI 0x89 2B 00 : channel 10 Note 43 Off velocity 0<br/>
> midifile: tick 6292 delta 226 status 99 MIDI 0x99 24 6A : channel 10 Note 36 On velocity 106<br/>
> midifile: tick 6300 delta 8 status 89 MIDI 0x89 2A 00 : channel 10 Note 42 Off velocity 0<br/>
> midifile: tick 6366 delta 66 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 6393 delta 27 status 99 MIDI 0x99 2A 21 : channel 10 Note 42 On velocity 33<br/>
> midifile: tick 6428 delta 35 status 99 MIDI 0x99 24 7F : channel 10 Note 36 On velocity 127<br/>
> midifile: tick 6473 delta 45 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 6489 delta 16 status 99 MIDI 0x99 24 71 : channel 10 Note 36 On velocity 113<br/>
> midifile: tick 6550 delta 61 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 6634 delta 84 status 99 MIDI 0x99 24 7F : channel 10 Note 36 On velocity 127<br/>
> midifile: tick 6678 delta 44 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 6784 delta 106 status 99 MIDI 0x99 24 7F : channel 10 Note 36 On velocity 127<br/>
> midifile: tick 6829 delta 45 status 89 MIDI 0x89 24 00 : channel 10 Note 36 Off velocity 0<br/>
> midifile: tick 7745 delta 916 status FF Meta 0x2F length 0<br/>
> ========End of Track 0==========<br/>
><br/>
><br/>
> So it must have recorded something. But when I imoprt the recorded midi file i ableton, then I only see 4 different , very short notes (c1, c#1, d1 and g1) at the very beginning of the piano roll. But of course I would expect the notes being all over the time line. Hm, might there something be wrong with the timing information?<br/>
<br/>
You have a bunch of notes right at the beginning (tick 0) that go on<br/>
and off instantly. Not sure how you did that, it may confuse ableton.<br/>
Maybe you could take a simple file made in ableton, that works in<br/>
ableton, and load it into [midifile] to see what it looks like.<br/>
Ableton may be looking for a time signature or something like that in<br/>
the first chunk.<br/>
<br/>
<br/>
> When I recorded the file, I sent the 2,005 message into the right inlet of [metro], but that is correct, isn't it?<br/>
<br/>
If that's 2 point 005 not two thousand, yes. But that only tells the<br/>
[metro] how fast to tick, it doesn't write anything to the file to say<br/>
how fast to play it. Also loading a file with a bpm and time signature<br/>
doesn't automatically set the metro to match those values. The help<br/>
patch is set up so that the first bang sent to [midifile] after<br/>
loading a file willl take the timing info from the first chunk and set<br/>
the [metro] for you. (The latest version of the help patch will do<br/>
that, older ones may be different) Click the bang "step_one_tick".<br/>
<br/>
Martin</div>
</div>
</div>
</div></div></body></html>