lilypond-user
[Top][All Lists]
Advanced

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

Re: A Midi question


From: Vaughan McAlley
Subject: Re: A Midi question
Date: Wed, 12 Sep 2018 11:35:42 +1000

On Wed, 12 Sep 2018 at 09:46, H. S. Teoh <address@hidden> 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
> address@hidden
> 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


reply via email to

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