bug-lilypond
[Top][All Lists]
Advanced

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

Re: multiple issues with MIDI channel assignment


From: James Lowe
Subject: Re: multiple issues with MIDI channel assignment
Date: Sat, 22 Nov 2014 16:03:34 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

Hello,


On 22/11/14 05:08, Sean Barrettt wrote:
>> 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
> instead.
> 
> lilypond 2.18.2 on Windows.
> 
> Issues:
> 
> 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

I've created

https://code.google.com/p/lilypond/issues/detail?id=4203

for this enhancement

> 
> 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.)

There are going to be those that know the internals better than I, but
MIDI assigns for each staff, and I wonder if this is just how you are
interpreting  what a 'Lyric line' is or how we the Lyrics 'context' is
created or simply how you have created your .ly output.

Although read on ...

There is work being done on the MIDI Documentation section (by myself as
it happens) so we are well aware of the paucity of the current
information in the Notation Reference.

However, you can see the proposed current patch that needs a little bit
more work here:

https://codereview.appspot.com/120480043/diff/200001/Documentation/notation/input.itely?context=100&column_width=80

(if you are unfamiliar with reading diffs the right hand side is what is
going to change and the left side is what was there previously).

The format of the docs are in TexInfo but I think you won't find it hard
to parse the TexInfo tags within the patch. This might at least  help
you until we eventually update the document proper.

Now see:

https://code.google.com/p/lilypond/issues/detail?id=4059

These are more documentation enhancements once the previous issue has
been completed. I think this might help you with some of what is written
out there.


> 
> 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?

and

> 
> 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.

Again see: https://code.google.com/p/lilypond/issues/detail?id=4059

I think you will find the solution here. If not then let us know.

> 
> 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.

No I don't think so..

See http://lists.gnu.org/archive/html/lilypond-user/2014-01/msg01132.html

(but also check the whole thread as this might also help)

> 
> 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
> themselves.
> 

I hope this helps.

James




reply via email to

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