Development:SongBeamer - Song Data Format

From OpenLP
Jump to: navigation, search

SongBeamer lyrics

This page contains a documentation of SongBeamers lyrics file format (*.sng).

I own the official format documentation. If you have questions to the content below or if you are interested in additional features, offered by the format, than don't hesitate to ask me - M²j.

File format documentation

This is the draft for the documentation of SongBeamers song file format.

Each song is stored in it’s own *.sng file. A SNG file is a plain text file with no specific character coding (I’ve seen ISO-8859-x as well as UTF-8 and UTF-16 files).


A SNG file starts with the properties of the song. They are encoded in #property=value pairs. The values dosen’t contain a line break, so there is exactly one property each line. All properties seem to be optional.

Here is a list with the most important properties:

property type comment example
Title string song title #Title=Nearer My God To Thee
Author string name of the lyrics author #Author=Sarah Full Adams (1805-1848)
Melody string name of componist #Melody=Lowell Mason (1792-1872)
Translation string name of translation author #Translation=Deutsch: Daniel Jacob
(c) string copyright information #(c)=1999 Hillsong Music, Australia / Kingsway’s Thankyou Music
NatCopyright string national copyright information #NatCopyright=Hänssler Verlag
Rights string additional rights (e.g. for translated lyrics) #Rights=D, A, CH, FL, und L Projektion J Musikverlag, Asslar
AddCopyrightInfo string additional copyright information #AddCopyrightInfo=1977
CCLI integer CCLI number #CCLI=858299
Editor string name of editing program #Editor=SongBeamer 4.04c
Bible string bible passage the text is based on #Bible=Ps. 144,1-2
Categories string categories the song is about #Categories=grace, worship
Keywords string search keywords #Keywords=Shout to the north and the south Men of faith rise up and sing
QuickFind string quick find string like STTN for “Shout to the North” #QuickFind=STTN
ChurchSongID integer internal ID #ChurchSongID=376
Comment string arbitrary comment #Comment=correct slide 4!!!
Comments string Comment encoded with base64 #Comments=SnVzdCBhIHNpbXBsZSBjb21tZW50
Chords string Chords encoded with base64. The decoded string is an index of chord placement seperated by "\r", like this: "<linecolumn>,<linenumber>,<chord>\r" #Chords=MTMsMSxEDTI3LDEsQEQNOC...xNiwyNyxHDQ==
Key string mus. key of the song #Key=F#m
VerseOrder string order of the song parts #VerseOrder=Vers 1,Refrain,Vers 2,Refrain,Bridge,Refrain
Songbook string also written: SongBook #Songbook=Come to Worship 1+2 / 136, In Love With Jesus 2 / 86
LangCount integer number of translations in song file #LangCount=1
Lang string language of the song #Lang=E
Tempo integer
TitleLang[2|…|n] string song title in other language #TitleLang2=Näher mein Gott zu Dir
OTitle string original title #OTitle=Nearer my God to Thee
BackgroundImage string Path to background relative to image folder. Observed file types: JPEG, PNG, BMP, WMV, AVI #BackgroundImage=ThreeCrossesOnAHill.jpg
Font string font for lyrics #Font=Arial
FontLang[2|…|n] string font for other lyrics #FontLang2=Arial
FontSize integer font size for lyrics #FontSize=35
TextAlign string text alignment #TextAlign=Left
TitleAlign string title alignment #TitleAlign=Center
Version integer format version? 99.9% it’s 3 otherwise 2 #Version=3


After the propertied there are the lyrics.

Each verse is introduced by a line just containing three hyphens (---).

The next line contains either the name of the following block(s) (e.g Vers 2, Bridge, Refrain 1) or if there is no name it starts with the the lyrics them self.

If there are more than one languages the alternative lyrics are following on each other line by line. For two languages each second line belongs to the same language. So, if you have English, Spanish and German lyric in one song and there should be a empty line, you have to insert three empty lines.

SongBeamer HTML

SongBeamer allows also to use some HTML-Tags inside its lyrics. Here is what SongBeamers manual is writing regarding to this:

HTML-Tags are a powerful functions for the advanced user. Use them for very specific requirements, that you cannot do otherwise.

<align:l|left|e|c|center|r|right|k|keep> horizontal Alignment
<valign:t|top|m|middle|b|bottom> vertical Alignment
<b>…</b> Bold
<i>…</i> Italics
<u>…</u> Underline
<c:$000000>…</c> Colored Text
<h:x>…</h> Font height in pixels (1 to 1024)
<s:x>…</s> Font Size
<wordwrap>…</wordwrap> Automatic word wrap
<br> New line
<p> New paragraph
<strike>…</strike> Strike out
<sub>…</sub> Subscript
<super>…</super> Superscript
<linespacing:x.x> Linespacing 1.0 = Default
<-> Hyphen - Used when two guitar chords are too close together

The tags </h> </s> </c> can also be used like </h:x>. x is the new value. That way you do not need to write an additional closing tag.


This is a example for inline translation. The song as well as the translation are public domain.

#Title=Nearer My God To Thee
#Editor=SongBeamer 1.11f
#TitleLang2=Näher mein Gott zu Dir
#OTitle=Nearer my God to Thee
#Author=Sarah Full Adams (1805-1848)
#Translation=Erhard Friedrich Wunderlich (1830-1895)
#Melody=Lowell Mason (1792-1872)
#VerseOrder=Strophe 1,Strophe 2,Strophe 3,Strophe 4,Strophe 5
Strophe 1
Nearerm my God, to Thee, nearer to Thee!
Näher, mein Gott, zu dir, näher zu dir.
E'en though it be a cross that raiseth me.
Drückt mich auch Kummer hier, drohet man mir,
still al my song shall be, nearermy God to Thee,
soll doch trotz Kreutz und Pein dies meine Losung sein:
nearer my God to Thee, nerer to Thee.
Näher, mein Gott, zu dir, näher zu dir!
Strophe 2
Though like the wanderer, The sun gone down,
Bricht mir, wie Jakob, dort Nacht auch herein,
darkness be overme, my rest a stone.
find ich zu Ruheort nur einen Stein,
Yet in my dreams I'd nearer, my God,to Thee,
ist auch im Traume hier mein Sehen für und für:
nearer, my God, to Thee, nearer to Thee.
Näher, mein Gott, zu dir, näher zu dir!
Strophe 3
There let the way appear, steps unto heaven:
Geht auch die schmale Bahn aufwärts gar steil,
All that thou sendest me, in mercy given:
führt sie doch himmelan zu unserem Heil.
Angels to brockon me nearer, my God, to Thee,
Engel, so licht und schön, winken aus selgen Höhn:
nearer, my God, to Thee, nearer to Thee!
Näher, mein Gott, zu dir, näher zu dir!
Strophe 4
Then with my walking thoughts bringht with thy praise,
Ist dann die Nacht vorbei, leuchtet die Sonn,
out of my stony griefs Bethel I'll raise.
weih ich mich dir aufs neue vor deinem Thron.
So by my woes to be nearer, my God, to Thee,
Baue mein Bethel dir und jauchz mit Freuden hier:
nearer, my God, to thee, nearer to Thee!
Näher, mein Gott, zu dir, näher zu dir!
Strophe 5
Or if on joyful wing, cleaving the sky, sun, moon
Ist mir auch ganz verhüllt dein Weg allhier,
and stars forgot, upward I fly,
wird nur mein Wunsch erfüllt: näher zu dir!
still all my song shall be, nearer, my God, to thee,
Schließt dann mein Pilgerlauf, schwing ich mich freudig auf:
nearer, my God, to thee, nearer to Thee!
Näher, mein Gott, zu dir, näher zu dir!

See also

  • A SongBeamer developer published a couple of years ago Delphi sample code[1] to write SongBeamer files.
  • Lyricue[2], a free lyric projection software written in Perl, also supports SongBeamer import[3].