Hello Marcus, essentially what you have here is << chordNames voiceI \\ voiceII >>
If you only had << chordNames voiceI >> this would work out, because Lilypond
would first see the chord names, which creates a new ChordNames context, and
then the music, for which Lilypond does implicitely create a new Staff.
Now, when Lilypond encounters \\ as element of a music expression it will
split the elements along these and create individual voices. So
<< chordNames voiceI \\ voiceII >>
becomes
<< \new Voice { \voiceOne << chordNames voiceI >> } \new Voice { \voiceTwo
voiceII >>
So Lilypond will first encounter a new Voice, which requires it to implicitely
create a new Staff, and only then encounter the chord names.
This is why in your case the chord names are below the Staff. To fix this do
instead of
<< chordNames \new Staff << voiceI \\ voiceII >> >>
so do
\language "english"
<<
\chords {
e1:maj
}
\new Staff <<
\relative c''
{
\key e \major
e1 |
}
\\
\relative c'
{
<gs b ds>1 |
}
>>
>>
Cheers,
Valentin
Am Montag, 5. Februar 2024, 02:33:55 CET schrieb Marcus Mayo:
> Hi all,
>
> I'm using lilypond to practice my voice leading. I want to keep the harmony
> as a separate voice for the sake of tidiness. However, when I add a second
> voice, the chords appear underneath the staff as opposed to above it. How
> do I fix this?
>
> Example:
>
> \version "2.25.11"
>
> \language "english"
>
> <<
> \chords {
> e1:maj
> }
>
> \relative c''
> {
> \key e \major
> e1 |
> }
> \\
> % Chords show above staff until I add second voice, how do I fix?
> \relative c'
> {
> <gs b ds>1 |
> }
>
>
> Thanks in advance!
signature.asc
Description: This is a digitally signed message part.
