bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: MIDI tempo


From: Will Oram
Subject: RE: MIDI tempo
Date: Sat, 28 Feb 2004 00:11:03 -0500

> I think the problem occurs with some midi players.

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]