lilypond-user
[Top][All Lists]
Advanced

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

slash-only chords


From: Flaming Hakama by Elaine
Subject: slash-only chords
Date: Thu, 30 Dec 2021 11:28:42 -0800

Hi,

I'm looking for a way to print a chord symbol which is a slash chord,
but where the top part (above the slash) is blank.

So, I only want to print the slash + root note.

The usage for this is when the previous chord repeats,
and only the bass note changes.

Here is an MWE for a progression where I would like to use it.


\version "2.19.83"

myChords = \chordmode {
    d2:m d:m/cis | d:m/c d:m/b
}
melody = \relative c' {
    \key d \minor
    f2 a | c d |  
}

<<
    \new ChordNames  { \myChords }
    \new Staff {
        \mark "Default"
        \melody
    }
>>



Does anyone have suggestions for how to obtain this?

I've tried using <>  and spacers as the chord,
both of which produce "syntax error, unexpected /"

myChords = \chordmode {
    d2:m <>/cis | <>/c <>/b
}

myChords = \chordmode {
    d2:m s/cis | s/c s/b
}

Is there some chord syntax notation that allows this?



I was also considering, since I am already using my own chord exceptions,
is there a way to define an exception to specify to only print the slash part?

While you can define a chord treatment such that it does not have anything in it,
it seems that lily always prints the root and slash + bass note,
as shown in this second example:


myChordExceptions = {
    <c ees g>1-\markup { }
}
chordExceptions = #(append (sequential-music-to-chord-exceptions myChordExceptions #t) ignatzekExceptions)

<<
    \new ChordNames {
        \set chordNameExceptions = #chordExceptions
        \myChords
    }
    \new Staff {
        \mark "Empty"
        \melody
    }
>>



As this second example demonstrates, the chord exceptions
are only applied to what is before the slash.

Which is to say, I defined the treatment for a minor chord,
but it is used in all the slash chords that are minor,
not just the root position chord.

Perhaps then all I need would be to hide the root of the chord?
Is that approach possible?

If just hiding the root of the chord were possible,
I would be able to define a chord spec to identify these chords,
as in the following example where only the first (non-slash) chord has the minor chord symbol.

I realize, and am ok with the fact,
that defining non-semantic chord types like this
means it would be a print-only approach,
since I would need different chords for MIDI.

%}

hackChordExceptions = {
    <c ees g cis'>1-\markup { }
}
chordExceptions = #(append (sequential-music-to-chord-exceptions hackChordExceptions #t) ignatzekExceptions)

hackChords = \chordmode {
    d2:m d:1.3-.5.8+/cis | d:1.3-.5.8+/c d:1.3-.5.8+/b
}

<<
    \new ChordNames {
        \set chordNameExceptions = #chordExceptions
        \hackChords
    }
    \new Staff {
        \mark "Hack"
        \melody
    }
>>



Please let me know if you have any thoughts.

Thanks!


Elaine Alt
415 . 341 .4954                                           "Confusion is highly underrated"
elaine@flaminghakama.com
Producer ~ Composer ~ Instrumentalist ~ Educator
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



reply via email to

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