Is is possible to play a midifile in reverse with [midifile]? Something I would think would work....
[metro] | [f]x[- 1] | [$1{
doesn't seems to work right....
unless i need a [t f b] ... but that doesn't seem to work very well either.
maybe I just have the post-halloween hangover.
thanks! m
Subtract the number you get from this counter from the total number of lines in the file maybe?
Happy hangover, D.
mark edward grimm wrote:
Is is possible to play a midifile in reverse with [midifile]? Something I would think would work....
[metro] | [f]x[- 1] | [$1{
doesn't seems to work right....
Happy hangover,
ugh... why the tequila!!!?? why????
--- On Sun, 11/1/09, Derek Holzer derek@umatic.nl wrote:
From: Derek Holzer derek@umatic.nl Subject: Re: [PD] midifile ... in reverse To: mgrimm@syr.edu Cc: "pd_list Listserve" pd-list@iem.at Date: Sunday, November 1, 2009, 2:32 PM Subtract the number you get from this counter from the total number of lines in the file maybe?
Happy hangover, D.
mark edward grimm wrote:
Is is possible to play a midifile in reverse with
[midifile]? Something I would think would work....
[metro] | [f]x[- 1] | [$1{
doesn't seems to work right....
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 192: "Your mistake was a hidden intention"
mark edward grimm wrote:
Is is possible to play a midifile in reverse
Sure, if you want each note-off message to happen before its corresponding note-on messages!
Actually doing it might be difficult though - MIDI files have variable-length fields, so you probably have to decode *all* of it into some other format or data structure before you start playing from the end.
Writing special code to parse backwards MIDI file data (without reading it all and reversing...) is surely impossible, given the possible presence of Sequencer Specific Meta Events containing variable-length blocks of arbitrary binary data.
http://www.sonicspot.com/guide/midifiles.html
with [midifile]?
This I don't know.
Hallo, Claude Heiland-Allen hat gesagt: // Claude Heiland-Allen wrote:
mark edward grimm wrote:
Is is possible to play a midifile in reverse
Sure, if you want each note-off message to happen before its
corresponding note-on messages!Actually doing it might be difficult though - MIDI files have
variable-length fields, so you probably have to decode *all* of it into
some other format or data structure before you start playing from the end.
This actually isn't too hard if some external tools are allowed. In the rj-library, the help file for [c_seqplay] contains an example how to convert a midi file to a text file, that [qlist] can read (using Cyclon's [seq] instead of [midifile]). Once you have the qlist-file, you can reverse it using for example the "tac" command in Linux/OS-X - "tac" is the opposite of "cat".
As qlist-files encode delta times or times between events, loading this reversed file into qlist will make it play back the whole midi file backwards.
As you noted, the notoffs then happen before the noteoffs, so some additional tweaking may be wanted, either to the file format or to your Pd player logic.
Frank
hello,
rj-library, the help file for [c_seqplay] contains an example how to convert a midi file to a text file, that [qlist] can read (using Cyclon's [seq] instead of [midifile]). Once you have the qlist-file, you can reverse it using for example the "tac" command in Linux/OS-X - "tac" is the opposite of "cat".
yeah this is nice. I will have to try it out this week when i get the chance....
This actually isn't too hard if some external tools are allowed.
yeah i have been using 'gnmidi' on windows to reverse midi files and do some other manipulations on them. also there is an interesting keykit webapp that does some nice stuff (http://www.nosuch.com/tjt/tunetoys.html) ... ableton also has added some nice midi functionality.
i was trying to figure out how to do some of these things (reversing, random tick sequence) directly in PD with midifile but i get a lot of hangs...
Actually doing it might be difficult though - MIDI
files have
variable-length fields, so you probably have to decode
*all* of it into
some other format or data structure before you start
playing from the
end.
... with this in mind. so, yeah, the midi -> text file / qlist stuff looks more promising...
Thanks for the responses! mark
--- On Mon, 11/2/09, Frank Barknecht fbar@footils.org wrote:
From: Frank Barknecht fbar@footils.org Subject: Re: [PD] midifile ... in reverse To: pd-list@iem.at Date: Monday, November 2, 2009, 4:35 AM Hallo, Claude Heiland-Allen hat gesagt: // Claude Heiland-Allen wrote:
mark edward grimm wrote:
Is is possible to play a midifile in reverse
Sure, if you want each note-off message to happen
before its
corresponding note-on messages!
Actually doing it might be difficult though - MIDI
files have
variable-length fields, so you probably have to decode
*all* of it into
some other format or data structure before you start
playing from the
end.
This actually isn't too hard if some external tools are allowed. In the rj-library, the help file for [c_seqplay] contains an example how to convert a midi file to a text file, that [qlist] can read (using Cyclon's [seq] instead of [midifile]). Once you have the qlist-file, you can reverse it using for example the "tac" command in Linux/OS-X - "tac" is the opposite of "cat".
As qlist-files encode delta times or times between events, loading this reversed file into qlist will make it play back the whole midi file backwards.
As you noted, the notoffs then happen before the noteoffs, so some additional tweaking may be wanted, either to the file format or to your Pd player logic.
Ciao
Frank
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
mark edward grimm wrote:
Is is possible to play a midifile in reverse with [midifile]? Something I would think would work....
[metro] | [f]x[- 1] | [$1{
doesn't seems to work right....
unless i need a [t f b] ... but that doesn't seem to work very well either.
Don't forget to start at the end by sending a message to your [f].
You could write to a new [midifile] interchanging the note-ons and note-offs, then play it backwards into a third [midifile] that will work normally.
Martin