-
Notifications
You must be signed in to change notification settings - Fork 37
Chrodpro format
see https://github.com/patacrep/patacrep/wiki/chordpro
Patadata songs are formatted with a slightly customized ChordPro syntax (mainly from the fork of the original Chord software: Chordii).
A song is composed of multiple parts :
- one header (containing meta-information about the song);
- the song itself.
Note that we human separate these parts, but they can be mixed in the file. I do not know why you would do this, but defining the title between the chorus and the third verse is perfectly allowed.
The headeris composed of multiple properties (also named "directives"), written using the following format:
{property_name: value}`.
The properties might be separated by one or more newlines.
Except title, artist and tag, each property must be used at most once.
One title and one artist are mandatory.
-
title
,t
: title of the song (mandatory) (subtitle
andst
are also considered as "normal titles") -
artist
,by
: artist of the song (mandatory) (multiple artists can be separated by commas) -
album
,a
: album of the song -
url
: url of the song or artist page -
original
: title of the original song, this song is based on -
cover
: name (without extension) of an image file representing the album (located in the same folder - .png or .jpg) -
language
: main language of the song (english, french...) -
columns
: number of columns used to display this song on A4 Portrait page -
capo
: fret where the capo is required -
meter
: Time signature of the song (3/4, 12/8...) -
key
: Key of the song (Format:[A-G][b#]?[m]?
, example:A
,Gbm
) -
tag
: Tag of the song (may also be separated by commas) -
copyright
: Copyright holder of the song -
meta
: (advanced) Use a custom key of the Songs package{meta: key: Value}
Chord definition
It's possible to define some chords before starting a song (preferably uncommon or customized chords)
{define: <chord_name> base-fret <base> frets <Low-E> <A> <D> <G> <B> <E> fingers <Low-E> <A> <D> <G> <B> <E>}
- chord_name: Name of the chord without any space. Flatted chords use
b
. Sharped chords use#
. - base-fret: (optional) indicates a barre on fret <base>
- frets: 0-9 or X if string should not be played
- fingers: (optional) 1-4 or X if string is not played
Examples:
{define: F base-fret 1 frets 0 2 2 1 0 0 fingers 1 3 4 2 1 1}
{define: F base-fret 1 frets 0 2 2 1 0 0}
{define: Am frets 0 0 2 2 1 0}
{define: D frets X X 0 2 3 2}
You may also define ukulele tabs (with 4 strings).
To write
Lines starting with #
as very first character (not preceded by spaces) are ignored.