Read Midi file

Under vvvv_45beta31.2_x86, how to read midi files (.mid file), and get midi data information:

  • note,
  • velocity,
  • track,
  • duration

there is no built-in node that does this for you. shouldn’t be too hard to write a plugin based on The C# Midi Toolkit which already ships with vvvv.

and i am quite certain that at least 3 people have already done this and could step forward with a contribution… who’s first?

not sure if this helps as it does not exactly extract those values, but here is the crucial bit to store/record (and use) them while midi is being played:

midi-file-reader

haha, @purf. answered again with my comment ;) That part is actually intended to record live midi notes. Maybe if it is just based on a file, there is an easier way. Because with the method i describe you cant “preload” a whole file, but just record in real-time.

You cant “extract” that information from a midi file, because it is not actually stored like that in a midi file.

Also to extract the notes, you have to play the file at the same time and have to re-route the midi back into vvvv to get the notes. I use LoopBe for that.

beta>35 ships with MidiFile (Midi) and MidiTrack (Midi). The former takes a .mid file and the latter (when connected to the former) returns spreads of Channel, Note, Velocity, Start Time, End Time and some meta-info texts for each channel.

available in latest alphas now.
please start a new forum topic if it troubles you.

side note: this is a native VL implementation (ie. not using an external library) and can thus easily be extended if need be.