Jump to content

Abbreviating bass note changes: Difference between revisions

From LilyPond wiki
Import snippet from LSR
 
m Replace version="2.24.0" with version="2.24" now that the LilyWiki extension supports auto-selecting the latest release in a stable series
Line 1: Line 1:
A common practice in lead sheets is to abbreviate chord changes when only the bass note is changed. s, <code>Cmaj7, Cmaj7/B</code> would be written as <code>Cmaj7, /B</code>, for example. There is no simple way to do this in LilyPond, but it is possible to use a whiteout hack like [http://lsr.di.unimi.it/LSR/Item?id=309 snippet #309] to accomplish the desired effect.
A common practice in lead sheets is to abbreviate chord changes when only the bass note is changed. s, <code>Cmaj7, Cmaj7/B</code> would be written as <code>Cmaj7, /B</code>, for example. There is no simple way to do this in LilyPond, but it is possible to use a whiteout hack like [http://lsr.di.unimi.it/LSR/Item?id=309 snippet #309] to accomplish the desired effect.


<lilypond version="2.24.0">
<lilypond version="2.24">
%% http://lsr.di.unimi.it/LSR/Item?id=776
%% http://lsr.di.unimi.it/LSR/Item?id=776



Revision as of 18:45, 16 November 2025

A common practice in lead sheets is to abbreviate chord changes when only the bass note is changed. s, Cmaj7, Cmaj7/B would be written as Cmaj7, /B, for example. There is no simple way to do this in LilyPond, but it is possible to use a whiteout hack like snippet #309 to accomplish the desired effect.

\version "2.24"

%% http://lsr.di.unimi.it/LSR/Item?id=776

% 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 |
  }
>> }