How to Jump Between Sections of a Midi File?

geometricsound's icon

Hi, is it possible to read a midifile and jump to specific locations? It seems the [seq] object merely allows control of playback speed, but does not allow you to start from specific points within the file.

Thanks for any help :)

Floating Point's icon

have a look at detonate instead

ctrlzjones's icon

There has been an object [SeqPlayer] done by Eric Singer that made this hopping really easy.
It seems to be a collectors item now as Singers page with the download link went offline.

geometricsound's icon

could someone please post singer's external? i had seen several references to the download page when searching this topic, but the link is dead.

i looked at detonate, and it seems you step through the file using "next", which means you need to know the time before each event. i want to simply read through a midifile, even if i do not know the time between events beforehand.

this seems like such a basic task, i am very surprised native objects can't handle such a simple operation.

Rick's icon
geometricsound's icon

thx rick. i think previous posts linked to an earlier version with a different address.

Roman Thilenius's icon

well it is not a very basic function what you want, it is very special.
to know where the middle of a file is you need to know (i.e. open and analyze) all its content.
where [seq] is really only made only for realtime stuff, [detonate] will allow you to build custom
offline processes for a midi file.

woyteg's icon

to be honest i don't know of anything premade to handle midi data in a really flexible way,(eg. speed changes during playback)
and not beeing overloaded on the other hand (ableton live, bach libary and other stuff i can't remember the names right now) if you just want to playback midi and have decent transport control.
I find it the most convenient to patch something oneself using coll..
cheers

geometricsound's icon

seqplayer is great, does just what i need.

Roman Thilenius's icon

changing speed is easy with detonate (i think the three objects you have to add to make it a "player" is in the helpfiles even)

broc's icon

In my experience detonate works well for straight midi file playback. Sync to transport can easily be achieved by translating ms to tempo relative timing (eg. ticks).

SeqPlayer provides an interesting looping feature on the basis of bars and beats. But from a quick test I've found that it doesn't work reliably, in particular if loop end is the same as file end.

woyteg's icon

hm, never used it :) i knew about it but i don't know, i always liked the flexibility of coll, so i'm doing it that way. But still i guess i should look into this. thanks!