[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MIDI file organization, request advice
From: |
Keith OHara |
Subject: |
MIDI file organization, request advice |
Date: |
Thu, 12 May 2011 03:53:53 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Dear list,
LilyPond produces MIDI output that is very useful for checking accuracy of
the .ly file.
(A) We need a mechanism to put several Voices on one MIDI channel, because
scores often have more than 16 voices, but a MIDI port has only 16 channels
(and I don't know anybody with a multi-port MIDI synthesizer).
LilyPond through version 2.12 assigns (by default) one channel for each Staff.
In the resulting type-1 MIDI file, there is a separate Track chunk for each
Staff.
(B) One of the LilyPond developers wants to preserve the separation between
Voices in the MIDI file.
I suggested dividing the MIDI file into a greater number of Track chunks,
and putting each Voice in its own Track. This means that several Tracks
store MIDI events for the same channel, and there is no defined order between
events in separate Tracks with the same time-stamp. For example,
<< {c' g e c} \\ {g e c c} >> has g-note-on in the upper voice simultaneous
with the g-note-off in the lower voice; Windows Media Player happens to cut
off the upper-voice g. This problem is probably solvable, but I don't know
how many other subtle problems there might be with several Tracks per Channel.
Is there another way to have both (A) and (B) in the standard MIDI file format?
- MIDI file organization, request advice,
Keith OHara <=