For a more accurate description of the tempo of a musical piece, this
frame might be used. After the header follows one byte describing
which time stamp format should be used. Then follows one or more
tempo codes. Each tempo code consists of one tempo part and one time
part. The tempo is in BPM described with one or two bytes. If the
first byte has the value $FF, one more byte follows, which is added
to the first giving a range from 2 - 510 BPM, since $00 and $01 is
reserved. $00 is used to describe a beat-free time period, which is
not the same as a music-free time period. $01 is used to indicate one
single beat-stroke followed by a beat-free period.
The tempo descriptor is followed by a time stamp. Every time the
tempo in the music changes, a tempo descriptor may indicate this for
the player. All tempo descriptors MUST be sorted in chronological
order. The first beat-stroke in a time-period is at the same time as
the beat description occurs. There may only be one "SYTC" frame in
each tag.
<Header for 'Synchronised tempo codes', ID: "SYTC">
Time stamp format $xx
Tempo data <binary data>
Where time stamp format is:
$01 Absolute time, 32 bit sized, using MPEG [MPEG] frames as unit
$02 Absolute time, 32 bit sized, using milliseconds as unit
Absolute time means that every stamp contains the time from the
beginning of the file.
@author Eric Farng
@version $Revision: 1.3 $