Abbreviating bass note changes: Difference between revisions
Appearance
m New category Tags: Mobile edit Mobile web edit |
mNo edit summary |
||
| Line 1: | Line 1: | ||
A common practice in lead sheets is to abbreviate chord changes when only the bass note is changed. | A common practice in lead sheets is to abbreviate chord changes when only the bass note is changed. For example, the sequence <code>Cmaj7 Cmaj7/B</code> would be written as <code>Cmaj7 /B</code> instead. There is no simple way to do this in LilyPond, but it is possible to use a whiteout hack as shown in snippet [[Inserting a \markup when using chordmode]] to accomplish the desired effect. | ||
<lilypond version="2.24"> | <lilypond version="2.24"> | ||
% Maybe I'll write a Scheme function for this, when I learn how... | % Maybe I'll write a Scheme function for this, when I learn how... | ||
Latest revision as of 06:55, 20 February 2026
A common practice in lead sheets is to abbreviate chord changes when only the bass note is changed. For example, the sequence Cmaj7 Cmaj7/B would be written as Cmaj7 /B instead. There is no simple way to do this in LilyPond, but it is possible to use a whiteout hack as shown in snippet Inserting a \markup when using chordmode to accomplish the desired effect.
\version "2.24"
% Maybe I'll write a Scheme function for this, when I learn how...
slashBMusic = {
<c e g>1-\markup { \hspace #-2 \whiteout "/B" }
}
slashB = #(sequential-music-to-chord-exceptions slashBMusic #t)
slashAMusic = {
<c e g>1-\markup { \hspace #-2 \whiteout "/A" }
}
slashA = #(sequential-music-to-chord-exceptions slashAMusic #t)
\score { <<
\new ChordNames \chordmode {
c1:maj7 |
\set chordNameExceptions = #slashB c |
\set chordNameExceptions = #slashA c |
}
\new Staff \relative c'' {
c4 c c c | c c c c | c c c c |
}
>> }