lilypond-user
[Top][All Lists]
Advanced

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

Re: Three voices in same staff, from two variables


From: David Kastrup
Subject: Re: Three voices in same staff, from two variables
Date: Thu, 19 Mar 2020 22:30:08 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Ben Rosen <address@hidden> writes:

> Hi all,
>
> I'm new here, so hopefully this isn't too basic of a question...
>
> I'm trying to write out harmonizations for standard melodies, so my initial
> thought was to keep the melody in its own variable and the harmonies in
> another and then combine them using the "<< \\ >>" syntax (see below). This
> way, not only does it keep them conceptually separate in the file, but it
> would allow for multiple reharms that could be easily swapped out under the
> same melody. This seems to work fine when the harmony part is a single
> voice, but occasionally I want to break out into multiple voices to allow
> for moving inner parts. If I repeat the "<< \\ >>" syntax within the
> harmony part itself, then everything gets confused and it tries to draw a
> stem between parts that ought to be separate. Perhaps I should use
> something more explicit involving "\new Voice"? Is there a way to do this
> that preserves the variable structure I've laid out or is there a better
> approach for this situation?
>
> Here is a simplified example of when things get confused:
>
> \version "2.20.0"
> \language "english"
>
> melody = {
>   af'2. af4 |
>   af c g4. f8 |
> }
>
> harm = {
>   << { <ef c>1 } \\ { bf2 af} >> |
>   <df f> s |
> }
>
> \score {
>   \relative c'
>   <<
>     \melody
>     \\
>     \harm
>   >>
> }

In your case, you could probably write this as
\version "2.20.0"
\language "english"

melody = {
  af'2. af4 |
  af c g4. f8 |
}

harm = {
  \voices 4,2 << { <ef c>1 } \\ { bf2 af} >> |
  <df f> s |
}

\score {
  \relative c'
  <<
    \melody
    \\
    \harm
  >>
}
This relies on the knowledge that the harmony will take the lower voices
(and thus even voice numbers).

-- 
David Kastrup

reply via email to

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