On Wed, 12 Sep 2018 at 09:46, H. S. Teoh <hst...@quickfur.ath.cx> wrote: > > On Tue, Sep 11, 2018 at 03:15:48PM -0700, foxfanfare wrote: > [...] > > So I guess there is no solution for my first problem than re-write all > > the nuances and pedal markings with the notes input instead of > > variables if I want to improve the audio output? > [...] > > Generally, the way I've been dealing with Lilypond and midi output is to > separate generate the layout score and the midi score. Of course, > nobody wants to type in the same music twice just to be able to make the > midi not make your ears bleed without making the printed score a mess, > so I generate both from the same input. Here's how I do it: > > music = { > % Stuff that works for both printed score and midi: > a4 b c d e f g > > % Stuff that requires extra midi markings, e.g. manual > % dynamics to control expression that you don't want to > % actually print in the score: > a-\tag #'midi \fff\> b-\tag #'midi \ff > > % Stuff that basically requires completely different > % inputs to make the midi sound sane (e.g., spelling > % exactly how you want a trill played instead of > % fighting with Lilypond and/or articulate.ly): > \tag #'layout { a1\trill } > \tag #'midi { \tuplet 17/16 \repeat unfold 7 { a16 b } a gs a } > > % More stuff in common > g8 a b c d e f > } > > % This score is only for layout. Remove all midi-specific stuff. > \score { > \removeWithTag #'midi \music > \layout {} > } > > % This score is only for midi. Remove all layout-only stuff. > \score { > \removeWithTag #'layout \music > \midi {} > } > > Depending on your needs, you can do more than just \tag-ging midi vs. > layout stuff in your input. For example, I compose polyphonic music > that I want to typeset in a 2-staff piano score, but for better midi > control I prefer to split the voices into separate staves in the midi > output. Generally, this is so that I can apply dynamics separately to > each voice (Lilypond has a tendency of messing up midi dynamics > otherwise) that in the printed score should only be printed once. > > voiceA = ... > voiceB = ... > voiceC = ... > voiceD = ... > dynPart = { > s1\ff > s1\p > % ... etc. > } > > % For printed score, use 2 staves shared between pairs of > % voices. > \score { > \removeWithTag #'midi > \new PianoStaff << > \new Staff = "rhs" << > \voiceA > \voiceB > >> > \new Dynamics \dynPart > \new Staff = "lhs" << > \voiceA > \voiceB > >> > >> > \layout { } > } > > % For midi output, output each voice in a separate Staff. > \include "articulate.ly" > \score { > \articulate > \removeWithTag #'layout > << > \new Staff = "rhs" << \voiceA \dynPart >> > \new Staff << \voiceB \dynPart >> > \new Staff = "lhs" << \voiceC \dynPart >> > \new Staff << \voiceD \dynPart >> > >> > \midi { } > } > > In extreme cases, esp. in orchestral music, sometimes I set it up so > that each voice / instrument is output as a separate midi, and played by > a software synth with different parameters (e.g., for individually > controlling reverb, panning, and other effects, and also as a workaround > for the 15-channel limit in midi when I have more than 15 parts), then > blended together with a post-processing tool. > > > T > > -- > Insanity is doing the same thing over and over again and expecting different results. > > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user
Hmmm... Has anyone tried \midi { \context { \Staff \remove "Staff_performer" } \context { \PianoStaff \consists "Staff_performer" } } % ?? (I haven't, but who knows?) Vaughan
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user