Song text format
The songs in the Songbook are written in plain text, making them simple to create and edit. Each song can be formatted and enriched with additional information. The song text format primarily follows ChordPro, a widely-used standard for song notation. Please consult also the official ChordPro reference page.
smartChord uses this format to enhance the song text by song information like tuning, scroll speed, audio file, … If you use the possibility to ‘edit song information’, this information is also stored within ChordPro directives.
If you share or export a song to a file, the file contains the song text and the information in form of ChordPro directives. The file gets the name of the song and the file extension ‘.sccrd’ (UTF-8 encoded). You can view/edit these files with every text editor or ChordPro viewer/editor that supports UTF-8 character set.
The Songbook provides various tools for editing existing songs and creating new ones.
Supported ChordPro directives
Directives with information like album or arranger can be comfortably edited by the Edit song information screen or entered in the Song text editor. Its floating menu supports adding these directives comfortably.
- {album}
- {arranger}
- {artist}
- {bridge} repeats the previous block defined by {start_of_bridge} and {end_of_bridge}
- {chorus} repeats the previous block defined by {start_of_chorus} and {end_of_chorus}
- {comment_box}
- {comment_italic}
- {comment}
- {composer}
- {copyright}
- {duration} it is used to define the initial scroll speed; When an audio file is added to the song, the ‘duration’ is initialized by the duration of the audio file
- {end_of_bridge}
- {end_of_chorus}
- {end_of_interlude}
- {end_of_pre_chorus}
- {end_of_verse}
- {end_of_tab}
- {highlight}
- {interlude} repeats the previous block defined by {start_of_interlude} and {end_of_interlude}
- {key}
- {lyricist}
- {meta}
- {new_page} forces a new page to be generated when a song is printed
- {pre_chorus} repeats the previous block defined by {start_of_pre_chorus} and {end_of_pre_chorus}
- {soc} abbreviation for start_of_chorus
- {start_of_bridge}
- {start_of_chorus}
- {start_of_interlude}
- {start_of_pre_chorus}
- {start_of_verse}
- {start_of_tab}
- {subtitle} it is used to build up the name of the song together with the title, if no name is specified otherwise
- {tab} repeats the previous TAB block which can be optionally defined by {start_of_tab} and {end_of_tab}
- {tempo}
- {time}
- {title} it is used to build up the name of the song together with the subtitle, if no name is specified otherwise
- {verse} repeats the previous block defined by {start_of_verse} and {end_of_verse}
- {year}
Blocks/Sections
Songs are organized and arranged in different blocks or sections like chorus and verses. The songbook allows you to define and organize different sections of a song using simple headings or ChordPro directives. You can customize the colors of the sections. There are different notations to help you to define the song structure efficiently:
1. Square Bracket Notation
Sections of the song are defined by placing the section name within square brackets. Example: [Verse]
, [Chorus]
, [Bridge]
Each section starts with a heading in square brackets and ends with a blank line or the start of another section. Blank lines between the heading and the first lyrics or chords line are part of the section.
[Verse]
Lyrics for the verse go here.
[Chorus]
Lyrics for the chorus go here.
2. Colon Notation
Sections of the song are defined by placing a colon :
after the section name. Example: Verse:
, Chorus:
, Bridge:
Similar to square bracket notation, each section starts with a heading followed by a colon and ends with a blank line or the start of another section. Blank lines between the heading and the first lyrics or chords line are part of the section.
Verse:
Lyrics for the verse go here.
Chorus:
Lyrics for the chorus go here.
3. ChordPro Notation
Sections of the song are defined using ChordPro directives with curly braces {}
. Example: {start_of_verse}
, {end_of_verse}
, {start_of_chorus}
, {end_of_chorus}
The ChordPro notation allows you to explicitly define the start and end of each section, giving more control over section boundaries. A section starts with {start_of_xxx}
directive in the line before the block and ends with a {end_of_xxx}
directive in the line after the block.
{start_of_verse}
Lyrics for the verse go here.
{end_of_verse}
{start_of_chorus}
Lyrics for the chorus go here.
{end_of_chorus}
The following ChordPro directives are supported:
- {start_of_bridge} … {end_of_bridge}
- {start_of_chorus} … {end_of_chorus}
- {start_of_interlude} … {end_of_interlude}
- {start_of_pre_chorus} … {end_of_pre_chorus}
- {start_of_verse} … {end_of_verse}
You can change the title of the block by adding a colon and your block title e.g. {start_of_verse:Verse 1}.
{start_of_verse:Verse 1}
A B C
This is verse 1
{end_of_verse}
{start_of_chorus:Refrain}
D E F
This is chorus 1
{end_of_chorus}
Section Appearance
Regardless of the notation used, all section headings are displayed in bold for clear visibility. Sections are visually distinguished using color blocks based on your Songbook’s color scheme. Each song section is colored as a block, making it easier to navigate and distinguish between different parts of the song. This allows for consistent color-coding of sections across different songs.
Color mapping
The Songbook’s color scheme allows you to define the colors for these blocks: Bridge
, Chorus
, Interlude
, Pre_Chorus
, Verse
. If you use different headings, you can map them in the settings to these names.
Repeating blocks
Songs are often made up of repeating sections of text. With the following directives you can easily repeat sections. The Songbook displays the corresponding text part instead of the directive.
- {bridge}
- {chorus}
- {interlude}
- {pre_chorus}
- {tab}
- {verse}
So the {chorus} directive shows the content of the previous chorus defined by {start_of_chorus} and {end_of_chorus}.
Each of these directives can contain optional text (e.g. {interlude:Outro}). The text defines the name of the block. If it matches the name of a block to repeat, the block with that name will be selected for repeat. If there is no block with the exact name, the last block is selected. It one gets the new name.
{start_of_verse:Verse 1} A C This is verse 1 {end_of_verse} {start_of_bridge:Bridge} A C E F Fm This is the bridge {end_of_bridge} {start_of_pre_chorus:Pre chorus} A C E F Fm This is the pre chorus {end_of_pre_chorus} {start_of_chorus:Chorus} A C E F Fm This is the chorus {end_of_chorus} {start_of_interlude:Interlude} A C This is the interlude {end_of_interlude} {start_of_verse:Verse 2} A C This is verse 2 {end_of_verse} {bridge:Bridge repeated} {pre_chorus:Pre chorus repeated} {chorus:Chorus repeated once} {interlude:Interlude repeated} {verse:Verse 2 repeated} {chorus:Chorus repeated twice}
{verse:Verse 1}
Custom ChordPro extensions
There are custom extensions of ChordPro for smartChord. All of them start with ‘{x_sccrd_’.
You can use and edit the following extensions:
- {x_sccrd_href:https://youtu.be/IGM0XnuwtC8;Our songbook video} – use it to add an internet link
- {x_sccrd_dance:Name of a dance}
- {x_sccrd_genre:Genre of the song}
- {x_sccrd_ppat:PP 4/4 423} – Name of a smartChord picking pattern. Picking pattern are displayed or hidden together with the chords
- {x_sccrd_sbr:10} – stops scrolling for the defined seconds (see scrolling)
- {x_sccrd_stm:1:00} – time in minutes and seconds after which scrolling reaches the line (see scrolling)
- {x_sccrd_midiOpen: <midiCommand1>, <midiCommand2>, …} and {x_sccrd_midiClose: <midiCommand1>, <midiCommand2>, …}
– send MIDI commands from the Songbook to a MIDI device (see Control MIDI device)
All other extensions are maintained automatically by smartChord. Do not edit them!
Emphasize words
You can emphasize individual words of your songs.
Bold: To make words bold, surround it with double asterisks (**).
Example: This **word** will be displayed in bold.
Italics: To make words italic, surround it with a tilde and an asterisks (~*).
Example: This ~*word*~ will be displayed in italics.
Underline: To make words displayed with an underline, surround it with an underline and an asterisks (_*).
Example: _*This word*_ will be displayed with an underline.
Combinations: You can also combine Italics and Underline with Bold
Example: This ~***word***~ will be displayed in bold and italics and this _***word***_ will be displayed in bold with an underline.
Annotations
In general, ChordPro will try to interpret what is between the brackets as a valid chord name, unless the first character is an asterisk, *
. In that case ChordPro will remove the asterisk and treat everything else as a text that will be printed just like the chord names. This can be used to add small annotations, e.g. [*Coda]
and [*Rit.]
.
Example song
Scarborough Fair Intro: Am Am7 Am Am7 Am Am G Am Am Are you going to Scarborough Fair C Am (C D) Am Am Parsley sage rosemary and thyme Am C C G G Remember me to one who lives there Am G G Am Am She once was a true love of mine
A song in ChordPro format could look like this:
{c:Chorus}
[E]when I'm feeling lonely and I'm s[B]ure I've had [F#]enough ..
[E]she sends the comfort coming [B]in from above
[C#]don't need no radio at all
[D]we got a [A]thing and it's [E]called radar [F#]love
{x_sccrd_n:Scarborough Fair}