Yahoo Groups archive

Emu XL-7 & MP-7 User's Group

Index last updated: 2026-04-03 01:45 UTC

Message

Re: [xl7] Re: 2 bpm

2003-06-24 by Aaron Eppolito

--- 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

Attachments