(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 <[email protected]>: > 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 _______________________________________________ bug-lilypond mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-lilypond
