bug-lilypond
[Top][All Lists]
Advanced

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

Re: MIDI output: min/max MIDI volume levels, dynamics of polyphonic pass


From: Janek Warchoł
Subject: Re: MIDI output: min/max MIDI volume levels, dynamics of polyphonic passages within a single Voice
Date: Sun, 25 Sep 2011 23:33:01 +0200

(moved from -user
http://lists.gnu.org/archive/html/lilypond-user/2011-09/msg00134.html)

Hi Heikki,

thank you for your e-mail!  Sorry for not responding earlier.  It's
really a shame that your e-mail was left unreplied for so long.
I see now that you've created an outstanding report on the matter - i
think i've never seen a report written so well!  (and i create
detailed reports myself.)
I think that you might've made it even a little too long - perhaps
this scared people a bit; it would've also been better if it was sent
to lilypond-devel (or bug-lilypond), not -user.  But going back to the
topic:

2011/9/11  <address@hidden>:
> Hi,
>
> First of all, thanks to all the developers and the community for
> making and maintaining this absolutely wonderful tool!  I have never
> used any music typesetting program with which I could convert
> vocal scores into MIDIs (which I use for practicing) with such ease
> and speed, thanks to LilyPond's text-based input language.

Thanks for your kind words!

> Having also tried the MIDI conversion on parts of some orchestral scores
> (and for learning how to express various things in layout), I have,
> however, observed strange behavior related to controlling MIDI volume
> levels for instrument equalization (as documented in the Notation
> Reference).  More precisely, it feels as if the Dynamic_performer
> sometimes fails to respect custom volume ranges defined using
> Staff.midiMinimumVolume and Staff.midiMaximumVolume (or by using a custom
> Score.instrumentEqualizer).  That is, the Dynamic_performer appears to
> let instrument volume levels exceed (or drop below) the defined ranges --
> at least in connection with (de)crescendi that are not terminated with
> an absolute dynamic mark (but \! instead).
>
> [...]

Nice catch!

> [...]
>
> I think that the result produced by LilyPond 2.14.2 is, unfortunately,
> (compared to my own expectations) even worse than with the previous
> stable version.  In addition to the volume level restriction problem
> (which seems to still go away when applying the above fix), it feels
> like the volume of the accompaniment "chords" written as temporary
> polyphony within a single voice is not affected at all by the changes
> in dynamics.  This behavior seems new since version 2.12.
>
> I suspect that this result could be somehow due to the new Voice
> contexts introduced by the polyphony, if each of these contexts has a
> Dynamic_performer of its own by default (as suggested in the Notation
> Reference).

I also suppose this is the cause.

> However, trying to move the Dynamic_performer to a
> different context such as the Staff context did not help: after trying
>    \midi {
>      \context {
>        \Voice
>        \remove "Dynamic_performer"
>      }
>      \context {
>        \Staff
>        \consists "Dynamic_performer"
>      }
>    }
> the only change that I was able to notice from listening to the MIDI
> output was that now the absolute dynamic settings for the harpsichord
> (\ppppp, \ffff) stopped taking effect immediately at the point of use;
> instead, they started taking effect only at the next < > chord
> _following_ the dynamic change.

Quite surprising (although i'm not familiar with MIDI stuff).

> - Is the failure of the Dynamic_performer to keep instrument volumes
>  within specified ranges a known problem,

Searching our issue tracker
(http://code.google.com/p/lilypond/issues/list) for 'dynamic',
'dynamics' and 'equalization' doesn't return anything like what you
report, so it's probably unknown.

>  or is my assumption that
>  Staff.midiMinimumVolume and Staff.midiMaximumVolume represent
>  absolute limits for MIDI volume (that is, that the volume of no
>  instrument should ever be outside the volume range defined for the
>  instrument using these limits) simply wrong?

I think that your assumption is right (i.e. it *should* work like that).

I will add a tracker issue for this bug tomorrow.  I'll also test your
patch against current master.

Thanks!
Janek



reply via email to

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