It's actually more lilypond's fault than it is MIDI players'. IIRC, the argument was that most players look for tempo info in Track 0, and they don't find it, so they use the standard 4/4 = 120. Deep within the bowels of lilypond-user archives lies a discussion on the subject:
From http://mail.gnu.org/archive/html/lilypond-user/2003-10/msg00286.html :
Dear All,
After running a check I believe that the problems people are having with MIDI and Tempo are because Lilypond does not do "the right thing".
Picking apart the MIDI output for a simple file:
panfluteAA = \notes { \time 3/4 r2 \times 2/3 { d'8 e' g' } | g'4 fis' g' | a' a'2 ~ | a' g'8( e') } \score { \context Voice \panfluteAA \paper { } \midi{ } }
MFile 1 2 384
MTrk
0 Meta Text "Creator: GNU LilyPond 2.0.1 "
0 Meta Text "Generated automatically by: GNU LilyPond 2.0.1 "
0 Meta Text "at Thu Oct 16 18:16:28 2003 "
0 Meta Text "from musical definition:
/home/nigel/LilySource/TempoCheck.ly:9:25"
0 Meta SeqName "Track 0" 0 Meta TrkEnd TrkEnd MTrk 0 Meta TrkName "" 0 Tempo 1000000 0 TimeSig 3/4 18 8 768 On ch=1 n=62 v=127 896 Off ch=1 n=62 v=64 896 On ch=1 n=64 v=127 1024 Off ch=1 n=64 v=64 1024 On ch=1 n=67 v=127 1152 Off ch=1 n=67 v=64 1152 On ch=1 n=67 v=127 1536 Off ch=1 n=67 v=64 1536 On ch=1 n=66 v=127 1920 Off ch=1 n=66 v=64 1920 On ch=1 n=67 v=127 2304 Off ch=1 n=67 v=64 2304 On ch=1 n=69 v=127 2688 Off ch=1 n=69 v=64 2688 On ch=1 n=69 v=127 4224 Off ch=1 n=69 v=64 4224 On ch=1 n=67 v=127 4416 Off ch=1 n=67 v=64 4416 On ch=1 n=64 v=127 4608 Off ch=1 n=64 v=64 4608 Meta TrkEnd TrkEnd
This is not good MIDI. In a format 1 file, a file containing multiple
tracks, Tempo changes should only appear in the Conductor track, track 0,
which should only contain System Common messages. Quicktime, and other
MIDI file players, are within their rights to ignore tempo changes, key
signatures and time signatures which appear in tracks other than 0 which
should only contain Channel Mode messages and Meta Events.
The reason I know this is because I have experimented with various
combinations of data and MIDI reading software and have come to the
conclusion that the only safe way is to ensure that the constraints
as above are obeyed. The results of feeding a disobedient file into
Sibelius, Finale and others are widely inconsistent and appear to depend
on whim.
I would consider this to be a buglet.
Regards,
Nigel.
Will Oram
spamguy ^^AT^^ foxchange.com // william.oram ^^AT^^ cwru.edu // AIM spamguy21
_______________________________________________ Bug-lilypond mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-lilypond
