The QuickChords Markdown Language provides a succinct way to notate musical form and harmonic structure.
The main concepts in the language are:
:
are directives and include the entire line()
In this example, we have chord chart with 8 bars.
:title Happy Birthday
:artist Anonymous
:flavor chords
;3/4 C ;G ;G ;C
;C ;F ;G ;C
Chords are notated by a root [quality] [alterations] [/ bass note]. A no chord symbol is notated by the letter n.
Chord qualities can use abbreviations.
Major | M Maj maj |
Minor | m min Min or - |
Augmented | aug + |
Diminished | dim o |
Suspended | sus sus4 sus2 |
No Chord | n |
Roots and bass notes can use either lowercase or uppercase letters.
To make the root invisible and only show the bass note, use a period instead of the root.
To hide chords and only view rhythms, use the ?chords-off
and ?chords-on
directive.
Chords in a measure are equally divided by the number of beats in the measure. To specify otherwise, use commas as placeholders to repeat the previous chord.
Put bar text in the measure between parenthesis.
Bar text can be positioned and categorized.
Form Text | (text goes here) |
General Text | (= text goes here) |
Top Left | (=tl text goes here) |
Top Center | (=tc text goes here) |
Top Right | (=tr text goes here) |
Bottom Left | (=bl text goes here) |
Bottom Center | (=bc text goes here) |
Bottom Right | (=br text goes here) |
Repeat Text | (=r D.C. al Coda) |
Coda | (=c) or (=cc) |
Segno | (=s) or (=ss) |
Lyrics are displayed below the chord chart. Begin a lyric block with the :lyrics command and finish the block with a period (.) as the last line.
If lyrics are too wide for the page, the font size is adjusted to make only that line fit.
Columns can be created by placing a backslash () on a line. Page breaks can be created by placing two backslashs () on a line.
Text blocks are displayed between staff lines.
:lyrics | Begins a lyrics block | |
:text | Begins a text block | Forces a line break of the last measure. |
:lyric-line | Begins a lyric line block | Multiple lyric line blocks are allowed. Lyric lines appear in small text below the preceding measure. Lyric lines can be toggled on and off. |
:lyrics-font-size | number | 'fit' | 'default' | Sets the font size used for lyrics. Use a number to indicate pixel size, 'default' for the default size, or 'fit' to fit the lyrics on a single page. |
:lyrics-overflow | 'wrap' | 'fit' | 'hide' | Sets the behavior when a lyric line is too wide for the page. 'wrap' will split the line into 2 or more. 'fit' will change the font size for the line. 'hide' will cut off the text. |
. | Ends a lyric or text block | Must be the only character on the line. |
\ | Column Break. Creates a new column | Must be the only character on the line. |
\\ | Page Break. Creates a new page | Must be the only characters on the line. |
C;F;G;C :lyrics This is in the left column \ This is in the middle column \ This is in the right column .
Charts use the following field directives to describe themselves. The title and artist fields are required and are used to store the file; They will overwrite a previous version if saved.
These fields are used for grouping and sorting during book generation.
:title | The name of the song |
:artist | The composer of the song |
:order | The order of the song in the album. Optional. This becomes part of the internal file name. |
:album | The album the song appears on. Optional. |
:flavor | The flavor the song. Optional. |
:title My Song :artist Me :album My Album :order 1
For details on rhythm notatation, see QuickChords Rhythms
To hide chords and only view rhythms, use the ?chords-off directive.
A line that starts with '#' is a comment. It will not appear in the chart.
Barlines are notated using the following characters.
; | Single Barline |
;; | Double Barline |
;;; | Final Barline |
[ | Start Repeat |
] | End Repeat |
- | Invisible Bar (the barline and bar contents are not displayed but the bar still takes up space) |
The last barline is optional (final is the default). This is the same as the previous example:
A repeated measure is specified by x[repeats]. If no repeats are specified, 1 is assumed. A repeat can be specified by itself, or after a chord to be repeated.
A repeated section is specified with a measure containing the instruction x-{SectionName}. It clones the contents of the section it refers to. As a shortcut, if the section the bar is in has the same name as the section to be repeated, simply use xxx
(Verse) ; C ; F (Chorus) ; Emin (Verse 2) ; x-Verse
(Verse) ; C ; F (Chorus) ; Emin (Verse) ; xxx
Form is notated using Form Text. QuickChords can use form information for displaying, navigating and formatting.
See Form Text
Endings are notated using the @ symbol in a bar
@[text] ending start-bar
@ ending finish-bar (implied if another ending begins)
@[text]@ single bar ending
The formatting directive (starts with ?) can be used in any bar. A directive must finish with a space or EOF.
default: off
Bar numbers can be turned on and off with the ?numbers and ?nonumbers directives.
default: off
Slashes can be turned on and off with the ?slash and ?noslash directives.
default: on
Bar repeats can be turned on and off with the ?bar-repeats-on and ?bar-repeats-off directives.
One backslash () will create a system break before the measure. Any remaining space in the measure will be filled using a placeholder.
Two back slashes (\) will create a page break before any measure or text block.
?autoformat
Any bar containing form text will be placed on a newline using a system break and given a double barline if it had a single barline.
:space {pixels}
Vertical space can be added or removed between the current and next line by using the :space command, followed by the number of units to use. This directive must be on a line by itself.
You can hide parts of your chart using the following directives:
?lyrics-off ?lyrics-on ?bars-off ?bars-on
Font Name | :font-name fontname |
Font Size | :font-size fontsize |
Lyric Font Size | :lyrics-font-size fontsize | auto |
Bar Height | :bar-height height |
The following items can be imported:
See the Export help section for details.
See the Goodies help section for details.