[Chords & Lyrics]

Chordii

Printing Lyrics with Chords


The ‘ChordPro’ format

ChordPro is the name of a simple text format for the notation of lyrics with chords. Although primarily intended for guitarists, it can be used for all kinds of musical purposes.

The origins of the ChordPro format are unclear. It is widely accepted that the original format was defined by the Chord program, and later enhanced to ChordPro. The last known release of the Chord program, 3.6.2 (july 1995) mentions the ChordPro format in its documentation.

Several tools exist that can process data in ChordPro format: to print nice song sheets, create web pages, or to transform it in into a format suitable for other tools.

The following specification of the ChordPro format is taken from the Chord program, and must therefore be considered official. Common extensions are denoted in green.

Data files that contain ChordPro data are usually given a file name extension .cho. Other often used extensions are .crd, .chordpro, and .chopro.

General description of the ChordPro format

A ChordPro data file is a simple text file, which is interpreted line by line. Line endings should obey the rules of the platform.

The contents of each line should be ASCII data. Chord version 3.6 and later accepts the full ISO 8859.1 (Latin1) character set.

Lines that start with a # symbol are ignored. Check: Is leading whitespace allowed?

Lines that start with { and end with } (curly brackets or braces) are directives. Check: Is leading/trailing whitespace allowed? They are used to pass instructions to the program that processes the data.

Song lines

Lines that are not directives are song lines. They contain the lyrics of the song. Between the lyrics the chords are specified between [ and ] (square brackets). Chords should immediately precede the syllable of text they apply to. For example:

Swing [D]low, sweet [G]chari[D]ot,
When processed, this results in:
D G D Swing low, sweet chariot,

Directives

Many directives have long and short alternatives. For example, the long form for the directive ‘title’ is title, and the short alternative is t.

For directives that take arguments, the arguments are separated from the directive name by a : (colon). Check: Is whitespace before/after the : allowed? Whitespace after the argument?

Preamble directives

{new_song}
{ns}

Starts a new song. This is implied at the start of a ChordPro data file.

{title:text}
{t:text}

Define text as the song title.

{subtitle:text}
{st:text}

Define text as a subtitle. More than one subtitle is possible.

Formatting directives

{comment:text}
{c:text}

Define text as a comment. This will be shown in a outstanding manner. It can be used for example to call a chorus.

{comment_italic:text}
{ci:text}

Define text as a comment. This will be shown in a outstanding manner, most likely using an italic font.

{start_of_chorus}
{soc}
{end_of_chorus}
{eoc}

Define the lines between start and end as the chorus. The lines are normal song lines, but will be shown in an outstanding manner.

Will be completed ...



Powered by Template Toolkit

[Valid HTML 4.01 Transitional] [Valid CSS]

Copyright © 2007-2008 Johan Vromans. All Rights Reserved.
This site was created using the TT2Site Site Builder.
chordpro/index.html last modified 22:47:20 01-Mar-2008