[Top][All Lists]

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

multiple issues with MIDI channel assignment

From: Sean Barrettt
Subject: multiple issues with MIDI channel assignment
Date: Sat, 22 Nov 2014 05:08:20 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

> I'm not top-posting.

Because these issues relate to overflowing the 16 MIDI channels,
the minimal example would still be 18+ lines. As I've found these
issues in my first 5 minutes of using lilypond, it doesn't make
sense to spend my time trying to produce a minimal example when
the issues are trivial to trigger with a lilypond sample file

lilypond 2.18.2 on Windows.


1. lilypond with verbose output (-V) doesn't output any information
about which staves are assigned to which MIDI channels; this makes
debugging the following issues more difficult

2. lilypond assigns a separate MIDI channel to lyrics lines. This is
presumably an error. (If it is by design, then it is a documentation
error, as I couldn't find any information about this in the docs.)

You can demonstrate this by taking the orchestral template
( Documentation/learning/orchestra-choir-and-piano ) and adding
"\midi { }" at the end. When run in lilypond, it will print
"warning: MIDI channel wrapped around" 5 times. If you then
comment out the four "\new Lyrics" lines, it will only print
the wraparound warning 1 time.

3. I can't find any documentation explaining how to force multiple
staves to use the same MIDI channel. In particular, the same example
uses two staves for piano. If you take the example above and comment
out the "\new Staff { \pianoLHMusic" (in addition to the lyrics),
then you will get *no* wraparound warnings. So perhaps even better,
as a separate bug, would be that \Staff in \PianoStaff should
reuse MIDI channels?

Note that fixes for the above two issues allows that template to
actually fit in a MIDI file without wrapping MIDI channels at all
and thus actually work correctly as MIDI, which would maybe be nice
if it worked that way out of the box.

4. All of the above things could be manually worked around easily
if you could explicitly assign the MIDI channel for a staff. I see
from googling this has been suggested in the past.

5. lilymidi just prints usage, regardless of commandline parameters
(I tried many things, but e.g. "lilymidi --dump test.mid". I would
not be surprised if this is specific to the Windows port.

I believe I can workaround this (basically by just making two
totally different versions of the score block, one for layout
and one for MIDI, where the latter omits the lyrics and uses
\partcombine to combine the two piano staffs). But it seems
pretty unnecessarily cumbersome compared to e.g. #4, or better
yet just doing the right thing due to #2 and #3. And even if
somehow you don't think any of those are important, you really
shouldn't make every MIDI user figure this out from scratch for

reply via email to

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