-
Notifications
You must be signed in to change notification settings - Fork 40
/
Copy pathreference.txt
264 lines (264 loc) · 29.4 KB
/
reference.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
A.2 ABC Fields
Field Where Notes and Example
A: header Area. A:Liverpool
B: header Book. B:Groovy Songs
C: header Composer. C:The Beatles
D: header Discography. D:The Beatles Complete Collection
F: header File name. F:http://www.beatles.org/help.abc
G: header Group. G:guitar
H: header History. H:This song was written...
I: header Information. I:lowered by a half-tone
I: body Meta-comment. I:MIDI program 2 32
K: last in header Key. K:C
L: header, body Note length. L:1/4
M: header, body Metre. M:3/4
N: header Notes. N:See also...
O: header Origin. O:English
P: header, body Part. P:Start
Q: header, body Tempo. Q:1/2=120
R: header Rhythm. R:Reel
S: header Source. S:Collected in Liverpool
s: body Decorations. s:!pp! * * !mf! * !ff!
T: second in header Title. T:Help!
U: header User defined. U:T=!trill!
V: header, body Voice. V:1
W: body Lyrics at end. W:Help! I need...
w: body inline lyrics. w:Help! I need...
X: start of header Index number. X:1
Z: header Transcription notes. Z:Transcribed by ear
A.5.1 Page Format (to set page geometry)
%%botmargin hlengthi: sets the page bottom margin to hlengthi. Default: 1 cm; scope: page.
%%footer htexti: sets the text to be typeset asfooter on each page. Default: none; scope: page.
%%header htexti: sets the text to be typeset as header on each page. Default: none; scope: page.
%%indent hlengthi: sets the indentation for the first line or system to hlengthi. Default: 0; scope: tune.
%%landscape hlogicali: if 1, sets the page layout as landscape. Default: 0; scope: page.
%%leftmargin hlengthi: sets the page left margin to hlengthi. Default: 1.8 cm; scope: page, restart.
%%multicol hcommandi: defines columns. hcommandi may be start, new and end. Default: none; scope: immediate, restart.
%%pageheight hlengthi: sets the page height to hlengthi. Default: 11 inches; scope: page. For European A4 paper, the right value is 29.7cm.
%%pagewidth hlengthi: sets the page width to hlengthi. Default: 8.5 inches; scope: page. For European A4 paper, the right value is 21cm.
%%rightmargin hlengthi: sets the page right margin to hlengthi. Default: 1.8 cm; scope: page, restart.
%%staffwidth hlengthi: used as an alternative to the %%pageheight and %%pagewidth directives. Default: none; scope: generation.
%%topmargin hlengthi: sets the page top margin to hlengthi. Default: 1 cm; scope: page.
%%gutter hlengthi: specifies the amount of gutter, i.e.\ the space between facing pages. Default: 0; scope: page.
A.5.2 Text (write text lines within and between tunes)
%%begintext...%%endtext : the pair %%begintext and %%endtext includes a group of text lines. These lines will be printed. If no text follows %%, the line is a paragraph separator. The command %%begintext can be given a parameter to change the text alignment:
%%begintext obeylines : prints text as is;
%%begintext fill : (or ragged) formats the text to the page margins;
%%begintext justify : (or align) as above, but aligns to the page right margin;
%%begintext skip : ignores the following lines.
%%center htexti: centers the following text.
%%text htexti: writes the following text. For example: %%text Spanish folk song
%%textoption hinti: sets the default text option to be used between %%begintext and %%endtext, or in %%EPS files. The parameter can be a digit or a corresponding string: 0 or obeylines), 1 (justify), 2 (fill), 3 (center), 4 (skip), 5 (right). If the option is 4 (skip), no text or EPS is output.
A.5.3 Fonts (used in various parts of a score)
%%annotationfont hstringi: font of annotations. Default: sans-serif 12; scope: immediate.
%%composerfont hstringi: C: field font. Default: serifItalic 14; scope: tune.
%%footerfont hstringi: font of %%footer lines. Default: serif 16; scope: page.
%%font hstringi: declares a font for later usage.
%%gchordfont hstringi: guitar chords font.
%%headerfont hstringi: font of %%header lines.
%%historyfont hstringi: font of H: field.
%%infofont hstringi: text font in I: fields.
%%measurefont hstringi [box]: text font of measure numbers. If the word box is present, a box is drawn around the measure number.
%%partsfont hstringi: P: fields font.
%%repeatfont hstringi: font of repeat numbers or text.
%%setfont-hinti hstringi hinti: sets an alternate font for strings. In most strings, the current font may be changed by $n (n = 1, 2, 3, 4). $0 resets the font to the default value.
%%subtitlefont hstringi: font of the second T: field.
%%tempofont hstringi: tempo font.
%%textfont hstringi: text font in %%text lines.
%%titlecaps hlogicali: if true, writes the title in capital letters.
%%titlefont hstringi: font of the first T: field.
%%titleformat hstringi: defines the format of the tune title. This format overrides %%titleleft, %%infoline, and %%composerspace.
%%titleleft hlogicali: if true, writes the title left-aligned instead of centered.
%%voicefont hstringi: font of voice names.
%%vocalfont hstringi: font of the text in w: lines.
%%wordsfont hstringi: font of the text in W: lines.
A.5.4 Spacing (between score elements)
%%barsperstaff hinti: attempts to typeset the score with hinti bars on each line.
%%break hinti: inserts a break after hinti symbols. Default: none; scope: generation.
%%breaklimit hfloati: used together with %%maxshrink, it lets the user control where line breaks may occur. The parameter can range between 0.5 (line break occurs when the line is 50% full) and 1.0.
%%breakoneoln hlogicali: if true, treats an end of line as if it were a space (i.e. breaks note beams).
%%composerspace hlengthi: sets the vertical space above the composer field to hlengthi. Default: 0.2 cm; scope: tune.
%%gracespace hfloati hfloati hfloati: defines the space before, within and after grace notes. Default: 6.5, 8.0, 12.0; scope: generation.
%%infospace hlengthi: sets the vertical space before the infoline to hlengthi. Default: 0; scope: tune.
%%linebreak hstringi: defines the line break separators. The string may be empty or contain the values <EOL>, $, !, and <none>. The latter option (or an empty string) computes line breaks automatically, as the deprecated command %%continueall.
%%lineskipfac hfloati: sets the factor for spacing between lines of text to hfloati. Default: 1.1; scope: generation.
%%maxshrink hfloati: sets how much to compress horizontally when staff breaks are chosen automatically. hfloati must be between 0 (don't shrink) and 1 (full shrink). Default: 0.65; scope: generation.
%%maxstaffsep hlengthi: sets the maximum vertical space between staves. Default: 2000pt; scope: generation.
%%maxsysstaffsep hlengthi: sets the maximum vertical space between systems. Default: 2000pt; scope: generation.
%%musicspace hlengthi: sets the vertical space before the first staff to hlengthi. Default: 0.2cm; scope: tune.
%%newpage: sets a page break. Scope: immediate, restart.
%%notespacingfactor hfloati: sets the proportional spacing of notes. The default value is 1.414; 1 makes all notes equally spaced. scope: generation
%%pagescale hfloati: sets the real scale while %%scale is kept for compatibility with the previous 72 PPI image resolution. Default: 1.0; scope: generation, restart.
%%parskipfac hfloati: sets the factor for spacing between parts to hfloati. Default: 0.4; scope: generation.
%%partsspace hlengthi: sets the vertical space before a new part to hlengthi. Default: 0.3cm; scope: generation.
%%scale hfloati: sets the music scale factor to hfloati. Default: 0.75; scope: generation, restart.
%%sep: prints a centered separator (a short line).
%%sep hlength1i hlength2i hlength3i: prints a separator of length hlength3i, with spacing hlength1i above and hlength2i below.
%%slurheight hfloati: sets the slur height factor; lesser than 1 flattens the slur, greater than 1 expands it.
%%staffbreak hlengthi ["f"]: sets a hlengthi-long break (gap) in the current staff. If the letter "f" is present, the staff break is forced even if it occurs at the beginning or end of a line. Default: none; scope: immediate, voice.
%%staffsep hlengthi: sets the vertical space between different systems to hlengthi. Default: 46pt; scope: generation.
%%stretchlast hfloati: stretches the last staff of the tune when underfull. Default; 0.25; scope: generation.
%%stretchstaff hlogicali: stretches underfull staves across page. Default: 1; scope: generation.
%%subtitlespace hlengthi: sets the vertical space before the subtitle to hlengthi. Default: 0.1cm; scope: tune.
%%sysstaffsep hlengthi: sets the vertical space between staves in the same system to hlengthi. Default: 36 pt; scope: generation.
%%textspace hlengthi: sets the vertical space before texts to hlengthi. Default: 0.5cm; scope: generation.
%%tieheight hfloati: sets the tie height factor; lesser than 1 flattens the tie, greater than 1 expands it. Default: 1.0; scope: generation.%%titlespace hlengthi: sets the vertical space before the title to hlengthi.
%%titlespace hlengthi: sets the vertical space above the title to hlengthi. Default: 0.2cm; scope: tune.
%%topspace hlengthi: sets the vertical space at the top of a tune to hlengthi. Note that a tune may begin with %%text commands before the title. Default: 0.8 cm; scope: tune.
%%vocalspace hlengthi: sets the vertical space before the lyrics under staves to hlengthi. Default: 23 pt; scope: generation.
%%voicescale hlengthi: sets the scale of a voice, or of all voices if present in the header. Default: 1 (0.5--1.5); scope: generation, voice.
%%vskip hhi: adds hhi vertical space. hhi may be a negative value. Default: none; scope: immediate, restart.
%%wordsspace hlengthi: sets the vertical space before the lyrics at end of the tune to hlengthi. Default: 0 pt (abcm2ps), 5pt (abc2svg); scope: tune.
A.5.5 Other Commands
Miscellaneous commands are grouped in this section.
%%abc hstringi: defines some ABC code. Along with %%ss-pref, this directive is used for conditional output generation. Default: none; scope: immediate.
%%abc2pscompat hlogicali : if true, reverts to the old metod of dealing with notes in bass and other clefs. Default: 0; scope: generation.
%%abcm2ps hchari : deprecated, replaced by %%ss-pref. changes the character that defines a pseudo-comment.
%%alignbars hinti: aligns the bars of the next hinti lines of music. It only works on singlevoice tunes. Default: 0; scope: immediate, restart.
%%aligncomposer hinti: specifies where to print the composer field. A negative value means "on the left", 0 means "centre", and a positive value means "on the right". Default: 1; scope: tune.
%%autoclef hlogicali: if true, the clef set by the K: is initialised to "auto"; if 0, the clef is set as "treble". Default: 1; scope: generation.
%%beginps...%%endps: starts/ends a sequence of PostScript commands.
%%beginsvg...%%endsvg: starts/ends a sequence of SVG commands.
%%bstemdown hlogicali: if true, the stem of the note on the third staff line points downwards. Otherwise, it points upwards or downwards in accordance with the previous note. Default: 0; scope: immediate, voice.
%%cancelkey hlogicali: if true, accidentals are cancelled using natural signs when the key signature changes. Default: 1; scope: generation.
%%capo hinti: This command is used to redefine the chord symbols when a guitar player uses a capo. The argument hinti is the number of the fret on which the capo is placed on. Default:0; scope: voice.
%%clef hclefi [line] [octave]: inserts a clef change, in a manner similar to K:. hclefi may be treble (or G2), alto (C3), tenor (Cf), bass (F4), perc (P2), G, C, G, C, F, P, or none. The latter prints no clef on the staff. The name of a user-provided PostScript glyph may also be used. [line] specifies the staff line on which the clef sits. [octave] can be +8 or -8, to print "8" above or below the clef; ^8 or_8, to print "8" above or below the clef and perform octave transposition.
%%combinevoices hlogicali: deprecated, replaced by %%voicecombine, if true, notes of same duration that belong to voices of the same staff are combined producing chords. It does not apply when note pitches are in unison, inverted or differ by a second.
%%contbarnb hlogicali: if true, the bar number of the second repeat(s) is reset to the number of the first repeat. If false, bars are sequentially numbered.
%%continueall hlogicali: ignores the line breaks in tune if true. It's the equivalent of the -c command line flag. This command is deprecated; use %%linebreak none and %%linewarn 0 instead.
%%custos hlogicali: if true, a custos is added at the end of each music line. A custos is a symbol that indicates the pitch for the first note of the next line. This command works with single voice tunes only.
%%dateformat hstringi: defines the format of date and time. Default is %b %e, %Y %H:%M. The fields specify, respectively: abbreviated month name (Jan-Dec), day of month (1-31), year, hour (0-23), minute (0-59).
%%dblrepbar hstringi: defines how double repeat bars are drawn; e.g. :][: (default), or ::, or :|:.
%%deco hstring1i hint1i hstring2i hint2i hint3i hint4i hstring3i: adds a new decoration.
%%decoration hchari: defines the decoration separator, which can be ! (default) or + .
%%decoerr hlogicali: if 1, an error message is issued when a decoration is undefined. Default: 1; scope: immediate.
%%dynalign hlogicali: if true, horizontally aligns the dynamics marks.
%%dynamic hinti: deprecated, sets the position of dynamics (e.g. crescendo, etc.). The parameter may be 0 (or auto) for automatic position; 1 or above, 2 or below, 3 or hidden to hide dynamics marks.
%%EPS hstring3i: includes an external EPS file in the score.
%%flatbeams hlogicali: if true, forces flat beams in bagpipe tunes (K:HP).
%%format hstringi: reads the format file specified as parameter.
%%gchordbox hlogicali: draws a box around accompaniment chords.
%%glyph hstring1i hstring1i: sets the name of a Unicode glyph. The first parameter is a hexadecimal value, the second is the name of the associated glyph in the font files.
%%gstemdir hinti: deprecated, use %%pos gstem. sets the position of grace notes stems. The parameter may be 0 (or auto) for automatic position; 1 or above, 2 or below, 3 or hidden to hide dynamics marks.
%%graceslurs hlogicali: draws slurs on grace notes. Default: 1; scope: generation.
%%graceword hlogicali: if 1, aligns lyrics words under grace notes when they are present. Default: 0; scope: generation.
%%hyphencont hlogicali: if true and if lyrics under the staff end with a hyphen, puts a hyphen in the next line.
%%infoline hlogicali: if true, displays the rhythm and the origin on the same line, plus the A: field.
%%infoname hstringi hstringi: defines the fields to be printed when %%writefield is true.
%%keywarn hlogicali: if true, a cautionary key signature is printed when a key signature change occurs at the beginning of a music line.
%%linewarn hlogicali: if true, outputs a warning message if there are too many or too few elements in a music line.
%%map hstringi: defines note mapping. Default: none; scope: immediate.
%%measurenb hinti: draws the measure number every hinti bars. Default: -1; scope: generation.
%%measurebox hlogicali: if true, draws a box around measure numbers.
%%measurefirst hinti: starts numbering the measures from hinti. This command is obsolete and should be replaced by %%setbarnb.
%%micronewps hlogicali: if true, uses the new PostScript function to draw microtonal accidentals.
%%microscale hinti: defines the denominator for microtone accidentals. Default: none; scope: immediate, voice.
%%musiconly hlogicali: deprecated, use %%writefields w. if true, lyrics are not output.
%%oneperpage hlogicali: outputs one tune per page.
%%ornament hinti: deprecated use %%pos ornament. sets the position of ornaments (e.g. trill, etc.). The parameter may be 0 (or auto) for automatic position; 1 or above, 2 or below, 3 or hidden to hide ornaments.
%%pango hlogicali: if abcm2ps was compiled with Pango support, this command enables or disables PostScript output with Pango.
%%partsbox hlogicali: draws a box around part names.
%%pdfmark hinti: if the parameter is 1, inserts marks in the PostScript output for titles. PostScript to PDF translators can use the marks to create a PDF tune index. If the parameter is greater than 1, marks are inserted for titles and subtitles.
%%pos dynamic hstringi: defines the direction and/or the position of dynamic. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%pos gchord hstringi: defines the direction and/or the position of some music elements. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%pos gstem hstringi: defines the direction and/or the position of some music elements. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%pos ornament hstringi: defines the direction and/or the position of some music elements. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%pos stem hstringi: defines the direction and/or the position of some music elements. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%pos vocal hstringi: defines the direction and/or the position of some music elements. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%pos volume hstringi: defines the direction and/or the position of some music elements. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%pos position hstringi: defines the direction and/or the position of some music elements. hstringi can be auto, above, ip, below, down, hidden, opposite. Default: auto; scope: immediate, voice.
%%postscript hstringi: a series of these commands lets the user add a new PostScript routine, or change an existing one.
%%ps hstringi: same as %%postscript.
%%rbdstop hlogicali: for old version of ABC only. if 1, repeat brackets stop on a double bar. Default: 1; scope: generation.
%%rbmax hinti: sets the maximum number of bars over which a repeat bracket is drawn. Default: 4; scope: generation.
%%rbmin hinti: sets the minimum number of bars over which a repeat bracket is drawn. Default: 2; scope: generation.
%%repbra hlogicali: if false, prevents displaying repeat brackets for the current voice.
%%repeat hint1i hint2i: repeats a sequence of notes or bars.
%%score hstringi: defines how staves are to be printed in multivoices tune.
%%select hstringi: select a subset of tunes to be printed. Default: none; scope: generation
%%setbarnb hinti: sets the number of the next measure, excluding the first. To set the number of the first measure, the command must be written in the tune header.
%%setdefl hlogicali: if true, outputs some indications about the note/chord and/or decorations for customization purposes. These indications are stored in the PostScript variable defl. Default: 0; scope: generation.
%%shiftunison hlogicali: if true, shifts note heads that belong to different voices that are in unison. It applies to dotted notes and notes shorter than minim. Default: 0; scope: generation.
%%splittune hlogicali: if true, splits tunes that do not fit in a single page. Default: 0; scope: generation.
%%squarebreve hlogicali: displays "brevis" notes in square format.
%%ss-pref hstringi: changes the pseudo-comment prefix(es). Default: %.
%%straightflags hlogicali: prints straight flags on stems in bagpipe tunes. Default: 0.
%%staff hinti: prints the next symbols of the current voice on the hinti-th staff. Default: none; scope: immediate, voice.
%%stafflines hinti: sets the number of staff lines of the current voice; default is 5. Default: 5; scope: generation, voice.
%%staffnonote hinti: avoids printing a staff according to the parameter. If 0, the staff is not printed if it contains only invisible rests and notes; if 1, the staff is not printed if it contains only rests and invisible notes; if 2, the staff is printed. Default: 1; scope: generation.
%%staffscale hfloati: sets the scale of the staff of the current voice. Default: 1; scope: generation, voice.
%%staves hstringi: defines how staves are to be printed. equivalent to %%score with different bar rendering. Default: none; scope: immediate.
%%stemdir hinti: deprecated, use %%pos stem. sets the note stems directions. The parameter may be 0 (or auto) for automatic position; 1 or up, 2 or down.
%%stemheight hfloati: sets the stem height to hfloati. Default: 20.0; scope: generation.
%%tablature: defines a tablature. Please see Section sec:tablatures.
%%timewarn hlogicali: if true, if a time signature occurs at the beginning of a music line, a cautionary time signature is added at the end of the previous line. Default: 0; scope: generation.
%%titletrim hlogicali: if true, move the last word of a title to the head if it starts with a capital letter and it's preceded by a space and a comma. Default: 1; scope: tune.
%%transpose hinti [char]: transposes the music by hinti semitones. The optional parameter may be # or b , meaning that the new key signature will have sharps or flats. Default: 0; scope: immediate.
%%tune hstringi: select the tune(s) to which the following options will be applied. Options are pseudo commands lines between first %%tune and %%tune end. Default: none; scope: generation.
%%tuplets hint1i hint2i hint3i: defines how tuplets are to be drawn. Default: 0, 0, 0, 0; scope: immediate.
%%user hstringi: this command is the equivalent of the U: field, and can be used to redefine default decorations in format files.
%%vocal hinti: deprecated, use %%pos vocal. sets the position of lyrics. The parameter may be 0 (or auto) for automatic position; 1 or above, 2 or below, 3 or hidden to hide lyrics.
%%vocalabove hlogicali: deprecated, use %%pos vocal above. draws the vocals above the staff. This command is obsolete and should be replaced by %%vocal.
%%voice hstringi: select the voice(s) to which the following options will be applied. Default: none; scope: generation.
%%voicecolor hstringi: defines the colour of the symbols in the current voice. The parameter is an RGB colour, like #aaff80. Default: #000000; scope: voice.
%%voicecombine hinti: defines how to combine notes and rests of several voices on the same staff. Default: 0; scope: voice.
%%voicemap hstringi: defines the note mapping of a voice. Default: none; scope: voice.
%%volume hinti: deprecated, use %%pos volume. sets the position of volume decorations (!f!, etc.). The parameter may be 0 (or auto) for automatic position; 1 or above, 2 or below, 3 or hidden to hide the decorations.
%%writefields hstringi hlogicali: if true, displays the information fields defined in hstringi. Default:COPQTWw 1; scope: generation.
A.6 abcMIDI commands
%%MIDI barlines: turns off %%nobarlines.
%%MIDI bassprog hinti: sets the MIDI instrument for the bass notes in accompaniment chords to hinti (0-127).
%%MIDI bassvol hinti: sets the velocity (i.e., volume) of the bass notes to hinti (0-127).
%%MIDI beat hint1i hint2i hint3i hint4i: controls the volumes of the notes in a measure. The first note in a bar has volume hint1i; other "strong" notes have volume hint2i and all the rest have volume hint3i. These values must be in the range 0-127. The parameter hint4i determines which notes are "strong". If the time signature is x/y, then each note is given a position number k = 0, 1, 2. . . x-1 within each bar. If k is a multiple of hint4i, then the note is "strong".
%%MIDI beataccents: reverts to normally emphasised notes. See also %%MIDI nobeataccents.
%%MIDI beatmod hinti: increments the velocities as defined by %%MIDI beat
%%MIDI beatstring hstringi: similar to %%MIDI beat, but indicated with an fmp string.
%%MIDI bendvelocity hint1i hint2i: specifies the change in pitch and rate of change of bent notes.
%%MIDI c hinti: specifies the MIDI pitch which corresponds to C . The default is 60. This number should normally be a multiple of 12.
%%MIDI channel hinti: selects the melody channel hinti (1-16).
%%MIDI chordattack hinti: delays the start of chord notes by hinti MIDI units.
%%MIDI chordname hstring int1 int2 int3 int4 int5 int6i: defines new chords or redefines existing ones.
%%MIDI chordprog hinti: sets the MIDI instrument for accompaniment chords to hinti (0-127).
%%MIDI chordvol hinti: sets the volume (velocity) of the chord notes to hinti (0-127).
%%MIDI control hbass/chordi hint1 int2i: generates a MIDI control event. If %%control is followed by hbassi or hchordi, the event apply to the bass or chord channel, otherwise it will be applied to the melody channel. hint1i is the MIDI control number (0-127) and hint2i the value (0-127).
%%MIDI controlcombo: indicates that the next %%MIDI controlcombo directive does not replace previous ones.
%%MIDI controlstring hint1 int2 ldotsi: used for note shaping; this directive is still in development.
%%MIDI deltaloudness hinti: by default, !crescendo! and !dimuendo! modify the beat variables hvol1i hvol2i hvol3i 15 volume units. This command allows the user to change this default.
%%MIDI drone hint1 int2 int3 int4 int5i: specifies a two-note drone accompaniment. hint1i is the drone MIDI instrument, hint2i the MIDI pitch 1, hint3i the MIDI pitch 2, hint4i the MIDI volume 1, hint5i the MIDI volume 2. Default values are 70 45 33 80 80.
%%MIDI droneoff: turns the drone accompaniment off.
%%MIDI droneon: turns the drone accompaniment on.
%%MIDI drumbars hinti: specifies the number of bars over which a drum pattern string is spread. Default is 1.
%%MIDI drum hstri hint1 int2 int3 int4 int5 int6 int7 int8i: generates a drum accompaniment pattern.
%%MIDI drummap hstri hinti: associates the note hstri (in ABC notation) to the a percussion instrument.
%%MIDI drumoff: turns drum accompaniment off.
%%MIDI drumon: turns drum accompaniment on.
%%MIDI expand: expand notes to make them overlap the following notes.
%%MIDI fermatafixed: expands a !fermata! by one unit length; that is, HC3 becomes C4.
%%MIDI fermataproportional: doubles the length of a note preceded by !fermata!; that is, HC3 becomes C6. abc2midi does this by default.
%%MIDI gchord hstri: sets up how guitar chords are generated; please see Section 5.1.7.
%%MIDI gchordbars hstringi: spreads the gchord <string> over <n> consecutive bars of equal length. The gchord string should be evenly divisible by n or else the gchords will not work properly.
%%MIDI gchordoff: turns guitar chords off.
%%MIDI gchordon: turns guitar chords on.
%%MIDI grace hfloati: sets the fraction of the next note that grace notes will take up. hfloati must be a fraction such as 1/6.
%%MIDI gracedivider hinti: sets the grace note length as 1/hintith of the following note.
%%MIDI makechordchannels hinti: this is a very complex command used in chords containing microtones. Please consult the abcMIDI documentation.
%%MIDI nobarlines: normally, an accidental applied to a note also applies to other equal notes until the next bar. By using this command, the accidental will apply to the following note only.
%%MIDI nobeataccents: forces the hint2i volume (see %%MIDI beat) for each note in a bar, regardless of their position.
%%MIDI noportamento: turns off the portamento controller on the current channel.
%%MIDI pitchbend hbass/chordi hint1 int2i: generates a pitchbend event on the current channel, or on the bass or chord channel as specified. The value given by the following two bytes indicates the pitch change. This option is not well documented.
%%MIDI portamento [bass] [chord] hinti: turns on the portamento controller (glide effect) on the current channel (or to bass/chord channel) and set it to hinti. 0 turns off the effect.
%%MIDI program [int1] hint2i: selects the program (instrument) hint2i (0-127) for channel hint1i. If this is not specified, the instrument will apply to the current channel.
%%MIDI ptstress hstringi: uses the stress pattern in the file name given as hstringi.
%%MIDI randomchordattack: delays the start of chord notes by a random number of MIDI units.
%%MIDI ratio hint1 int2i: sets the ratio of note lengths in broken rhythm. Normally c>c will make the first note three times as long as the second; this ratio can be changed with %%ratio 2 1.
%%MIDI rtranspose hint1i: transposes relatively to a prior %%transpose command by hint1i semitones; the total transposition will be hint1 + int2i semitones.
%%MIDI snt hinti hfloati: alters the standard MIDI pitch of a note h0-127i; e.g. %%MIDI snt 60 60.5 alters the pitch of C.
%%MIDI stressmodel hinti: uses the stress model given as parameter.
%%MIDI temperamentequal hint1i [int2] [int3] [int4]: uses a tempered scale defined by hint1i equal divisions of [int2]cents (default: 1200). The parameters [int3] and [int4] give the size of the fifth interval and of accidentals.
%%MIDI temperamentlinear hfloat1 float2i: changes the temperament of the scale. hfloat1i specifies the size of an octave in cents of a semitone, or 1/1200 of an octave. hfloat2i specifies in the size of a fifth (normally 700 cents).
%%MIDI temperamentnormal: restores normal temperament.
%%MIDI transpose hint1i: transposes the output by hint1i semitones. hint1i may be positive or negative.
%%MIDI trim hint1i hint2i: controls the articulation of notes and chords by placing silent gaps between the notes. The length of these gaps is determined by hint1i/hint2i and the unit length is specified by the L: command. These gaps are produced by shortening the notes by the same amount. If the note is already shorter than the specified gap, then the gap is set to half the length of the note. It is recommended that hint1i/hint2i be a fraction close to zero. Trimming is disabled inside slurs as indicated by parentheses. Trimming is disabled by setting hint1i to 0.
%%MIDI tuningsystem hstringi: when hstringi is comma53, the Holdrian scale (53 microtones) will be used instead of the standard 12-note tempered scale.
%%MIDI vol hinti: increases the loudness of the next note by hinti.
%%MIDI volinc: equivalent to %%MIDI vol.