]> git.donarmstrong.com Git - lilypond.git/blob - input/test/chord-names-jazz.ly
*** empty log message ***
[lilypond.git] / input / test / chord-names-jazz.ly
1 \version "2.1.28"
2
3
4 \header {
5
6 texidoc = " Chord names are generated from a list pitches.  The
7 functions which construct these names can be customised. Here are shown
8 Jazz chords, following Ignatzek (pp. 17-18, 1995) and 
9 an alternative Jazz  chord notation.
10
11 Chords following Banter (1987) can also be printed from this file, but
12 are turned off for brevity.
13
14 "
15
16 }
17
18 chs = \notes \transpose c' c' 
19 {
20         <c e g>1
21         <c es g>% m = minor triad
22         <c e gis>
23         <c es ges> \break
24         <c e g bes>
25         <c es g bes>
26         <c e g b>               % triangle = maj
27         <c es ges beses> 
28         <c es ges b> \break
29         <c e gis bes>
30         <c es g b>
31         <c e gis b> 
32         <c es ges bes>\break
33         <c e g a>   % 6 = major triad with added sixth
34         <c es g a>  % m6 = minor triad with added sixth
35         <c e g bes d'> 
36         <c es g bes d'> \break
37         <c es g bes d' f' a' >
38         <c es g bes d' f' >
39         <c es ges bes d' > 
40         <c e g bes des' > \break
41         <c e g bes dis'>
42         <c e g bes d' f'>
43         <c e g bes d' fis'>
44         <c e g bes d' f' a'>\break
45         <c e g bes d' fis' as'>
46         <c e gis bes dis'>
47         <c e g bes dis' fis'>
48         <c e g bes d' f' as'>\break
49         <c e g bes des' f' as'>
50         <c e g bes d' fis'>
51         <c e g b d'>
52         <c e g bes d' f' as'>\break
53         <c e g bes des' f' as'>
54         <c e g bes des' f' a'>
55         <c e g b d'>
56         <c e g b d' f' a'>\break
57         <c e g b d' fis'>
58         <c e g bes des' f ' a'>
59         <c f g>
60         <c f g bes>\break
61         <c f g bes d'>
62         <c e g d'>      % add9
63         <c es g f'>
64 }
65
66
67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68 % alternate Jazz notation
69
70 efullmusicJazzAlt = \notes
71 {
72     <c e gis>1-\markup { "+" }
73     <c e g b>-\markup { \normal-size-super
74     %                     \override #'(font-family . math) "N" }
75                           \override #'(font-family . math) "M" }
76     %%c:3.5.7 = \markup { \override #'(font-family . math) "M" }
77     %%c:3.5.7 = \markup { \normal-size-super "maj7" }
78
79    <c es ges>-\markup { \super "o" } % should be $\circ$ ?
80    <c es ges bes>-\markup { \super \combine "o" "/" }
81    <c es ges beses>-\markup { \super  "o7" }
82 }
83
84 efullJazzAlt = #(sequential-music-to-chord-exceptions efullmusicJazzAlt #f)
85
86 epartialmusicJazzAlt = \notes{
87     <c d>1-\markup { \normal-size-super "2" }
88     <c es>-\markup { "m" }
89     <c f>-\markup { \normal-size-super "sus4" }
90     <c g>-\markup { \normal-size-super "5" }
91     
92     %% TODO, partial exceptions
93     <c es f>-\markup { "m" }-\markup { \normal-size-super "sus4" }
94     <c d es>-\markup { "m" }-\markup { \normal-size-super "sus2" }
95 }
96
97 epartialJazzAlt = #(sequential-music-to-chord-exceptions epartialmusicJazzAlt #f)
98
99 jazzAltProperties = \sequential { 
100     \set majorSevenSymbol = #whiteTriangleMarkup
101     \set chordNameSeparator = #(make-simple-markup  "/")
102     \set chordNameExceptionsFull = #efullJazzAlt
103     \set chordNameExceptionsPartial = #epartialJazzAlt
104     \set chordNameFunction = #jazz-chord-names
105 }
106
107 banterProperties = \sequential { 
108             \set chordNameFunction = #banter-chord-names
109 }
110
111 \score{
112     <<
113         \new ChordNames {
114             \set instrument = #"Ignatzek (default)"
115             \set instr = #"Def"
116             \chs
117         }
118         
119         \new ChordNames {
120             \jazzAltProperties
121             \set instrument = #"Alternative"
122             \set instr = #"Alt"
123             \chs
124         }
125
126 %{
127
128         %% This is the Banter (1987) style.  It gives exceedingly
129         %% verbose (wide) names, making the output file take up to 4 pages.
130         %% (FIXME: how big is is now?)
131         %% Turned off by default.
132
133         %% FIXME: use smaller font for Banter (or remove some esoteric
134         %% chords).
135         
136         \new ChordNames {
137             \banterProperties
138             \set instrument = #"Banter"
139             \set instr = #"Ban"
140             \chs
141         }
142 %}
143         
144         \new Staff \notes \transpose c c' { \chs }
145     >>
146     \paper {
147         indent = 3.\cm
148         \translator { 
149             \ChordNamesContext
150             \consists Instrument_name_engraver
151         }
152     }
153 }
154