bug-lilypond
[Top][All Lists]
Advanced

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

RE: MIDI Tempo Off...Everywhere]


From: Mats Bengtsson
Subject: RE: MIDI Tempo Off...Everywhere]
Date: Mon, 20 Oct 2003 11:33:47 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312

I'm forwarding the answer from Nigel. It was a long time since I
looked carefully at this implementation, but would it make sense
to move the Key_performer, Tempo_performer and Time_signature_performer
to the score level and let all performers on the Score level output
the commands to track 0.

   /Mats


-------- Original Message --------
Subject: RE: MIDI Tempo Off...Everywhere
Date: Fri, 17 Oct 2003 17:13:47 +0100
From: Nigel Warner <address@hidden>
Reply-To: <address@hidden>
To: 'Mats Bengtsson' <address@hidden>


        Mats,

        Anyway, I'm still curious to hear from a MIDI expert how tempo changes
        in the middle of a piece should be specified in a MIDI file? Should
        they also be inserted (only) in track 0?

        In a word yes. The reasoning is that tempo changes,
        which do not contain a channel number, should apply to all tracks
        in the file. There are a number of holes in the MIDI specification
        which various designers of sequencers and such like have
        interpreted differently; for example key changes should also
        be confined to track 0. If they are instead scattered throughout
        the tracks in an attempt to represent transposing instruments
        then no typesetting program that I have found, even those which cost
        an arm and a leg, will attempt to deal with the admittedly rather
        complex logic required to deduce the intention.

        The bottom line is that channel mode messages, those which
        contain the channel number in the low order nibble of the status
        byte should only appear in the track containing the data for that
        channel and should never appear in track 0. Messages
        which do not contain a channel number are intended to apply to
        all tracks and as such should only appear in track 0.

        FYI my "expertise" in MIDI derives from many hours spent tinkering
        with my own program which translates a text file written in a language
        of my own devising into MIDI. Just to see what happens
        with such programs as Sibelius and Finale and others I deliberately
        concocted MIDI files which contained all sorts of peculiar combinations
        of data in order to provide a page or two of information in the
documentation
        about how to best structure MIDI data for each program; what you can and
can't
        do in order to obtain various typographic effects in each package. 
Needless
        to say this was one humongous can of worms and so I decided instead
        to investigate MusiXTeX and Lilypond as typesetting options for my
        (so far) nonexistent users and for my own purposes in writing the
        documentation for my program. Of course, Lilypond won that particular
        battle and I hope to release a beta version which emits Lilypond
        code (ahem) "real soon now".

        Hope this helps.

        Nigel.






reply via email to

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