--- steve_the_composer <smw-mail@...> wrote: > I am now sorry I tried to figure out what was going on here. I found > out much more than anyone probably needs to know. But, since I was > checking out the problem, here are my results. Heh, I just checked up on this since Steve went through all this trouble. (bonus points for Steve!) Turns out that it is impossible to store a whole BPM less than 4 in the Standard MIDI File format. For those who *really* want to know more, a tempo event in a standard MIDI file is "FF 51 03 tttttt" where "tttttt" is a 24 bit value denoting microseconds per quarter. The largest this number can be is 16777215 (2^24-1). 60000000/usecPerTick gives you BPM and 60000000/BPM gives you usecPerTick. In the runtime sequencer format, tempo is stored as the much more logical BPM, so until you save it and have to reload it (by selecting another pattern and coming back) it retains the 1-3 BPM. Moral of the story? Don't use BPMs less than 4. Other moral of the story? Make sure the QA guys check saving low BPM tempos. Real moral of the story? Make sure that I check the math the next time I write SMF export code for tempo limits... =) -Aaron __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com
Message
Re: [xl7] Re: 2 bpm
2003-06-24 by Aaron Eppolito
Attachments
- No local attachments were found for this message.