1\version "2.21.0"
2\header {
3    texidoc = "Chord voicings may be transformed or inverted
4automatically through Scheme functions.  These work even when
5chord notes are not entered in order (e.g. from the lowest to the
6uppermost note), and may also be used in chordmode.
7Even when using voicings, chord names remain unchanged."
8}
9
10ac = \relative c' {
11  <c es g bes>2 <d as' f c'>
12  \chordmode {c:maj es:maj11+}
13}
14
15transforms = {
16  <>^\markup "chords"
17  \ac
18  \bar "||"
19  <>^\markup "drop 2"
20  \dropNote 2 \ac
21  \bar "||"
22  <>^\markup "drop 4"
23  \dropNote 4 \ac
24  \bar "||"
25  <>^\markup "drop 2 and 4"
26  \dropNote 2 \dropNote 4 \ac
27  \bar "||"
28  <>^\markup "raise 1"
29  \raiseNote 1 \ac
30  \bar "||"
31  <>^\markup "raise 3"
32  \raiseNote 3 \ac
33  \bar "||"
34  <>^\markup "2nd inversion"
35  \invertChords 2 \ac
36  \bar "||"
37  <>^\markup "\"down\" inversion"
38  \invertChords -1 \ac
39  \bar "||"
40}
41
42<<
43  \new ChordNames \transforms
44  \new Staff \transforms
45>>
46