< All Topics

Song text format

smartChord can handle every plain text file (there is an example at the end of the help). Also, a widespread format for songs is ‘ChordPro’. It is supported essentially. Please consult the official reference page: ChordPro
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.

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}
  • {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}


Songs are organized and arranged in different sections like chorus and verses. You can mark these blocks using corresponding markings. You can change the color of the blocks to suit your taste so that you can distinguish them at first glance. Use the following ChordPro directives to mark your blocks. Add the <start_of_xxx> directive in the line before the block. Add the corresponding <end_of_xxx> directive in the line after the block.

  • {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_tab} … {end_of_tab}
  • {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



D    E  F
This is chorus 1


Repeating blocks

Songs are often made up of repeating parts of text. With the following directives you can easily repeat text parts. 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

A    C      E    F  Fm
This is the bridge

{start_of_pre_chorus:Pre chorus}
A    C      E    F  Fm
This is the pre chorus

A    C      E    F  Fm
This is the chorus

A                       C
This is the interlude

{start_of_verse:Verse 2}
A                   C
This is verse 2

{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!


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:

[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}
Table of Contents