lilypond-user
[Top][All Lists]
Advanced

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

Re: MIDI "volume"


From: Heikki Tauriainen
Subject: Re: MIDI "volume"
Date: Tue, 06 Oct 2015 23:48:37 +0300

On Mon, 2015-10-05 at 22:07 -0500, address@hidden wrote:
> The discussion of MIDI in the manual refers to "volume" throughout. 
> It appears that at least some of the time, that actually means MIDI
> velocity, which is not the same thing.

Based on my experience with the MIDI code (I'm not a core developer,
but I've added support for a few context properties for adjusting
values of some MIDI controls), I can confirm your observation:
according to the change history, LilyPond has assumed a strict
"velocity-as-volume" model since version 2.14
<http://lilypond.org/doc/v2.14/Documentation/changes/>.

> For instance, dynamic marks like \f and \pp seem to set the velocity.


Yes, this is correct.

> Do *all* references to "volume" really mean velocity,

To my understanding, I think it's safe to assume so (at least I've
learned to interpret this term in the documentation in this way).

>  or are there also some LilyPond features that set the true MIDI
> volume (control change 7)?

I don't think that it's currently possible to control CC#7 using any
input file level features.

I've observed that LilyPond actually emits CC#7 events to a generated
MIDI file on dynamic (MIDI velocity) changes created by the
Dynamic_performer, but these CC#7 changes seem to always just set the
MIDI volume to 100 (in the range from 0 to 127).  To me this looks like
a possible bug (and could be just a remnant of the implementation prior
to 2.14), but this is only my personal opinion...

That said, it wouldn't be too difficult to add support for controlling
CC#7 via another Staff-level context property (similar to those
available for controlling MIDI pan position, balance, expression, and
chorus and reverb levels), but such a context property would certainly
not work well without also disabling the emission of the automatically
generated CC#7 events that I mentioned above.

Do the core developers have any opinions (or knowledge) about the
purpose of the automatically generated CC#7 events?

-- 
Heikki Tauriainen




reply via email to

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