View help for Chordwriter and Leadsheet, our premier products.

Creating and Editing Songs

You can start by selecting new from the file menu. By default, Chordwriter creates an LMF (Leadsheet Music File) when you create a new song. When you save the file, you can choose to also save it as a ChordPro file or OnSong file.

Each song is split into "sections", such as verses, chorus, bridge, etc. To create a section click on the "plus" icon in the upper right corner. Once you create a section, you can add lines (lyrics) by clicking on the "plus" icon by the name of each section.

Dealing with Chords

Chords can be created by clicking on syllables in a line. There are two options for creating chords. If you are editing a Leadsheet Music File, the chord editor will give you fields based on the Leadsheet chord concept. If you are not using a Leadsheet Music File, it will show a basic text editor to enter the chord you want.

Chord Prediciton

Only available in Leadsheet Music Files

Chordwriter automatically splits words into their respective syllables to assign each chord. The reason for this is that after you add chords to the first of a particular group, i.e. verse 1, it will automatically copy the chords to other sections without additional work. This is why you must specify a type when creating a group. Although you will not see the repeated chords in the editor, they are present in the print preview.

The Leadsheet Chord Concept

Both Leadsheet and Chordwriter store chords in a proprietary format. Each chord can be split up into five different components. Not all of these components are used, and only the bash chord is required.

Chordwriter understands basic music theory, and so a key is only required when you need to render the song. The base chord is I - VII in a musical scale. It will automatically determine the mood based on the position in the scale at runtime. The mood field is used when you want to override what the program would normally display. You also may need to use a chord that is not in the scale. You can use the flat/sharp option to adjust the base note by a half step. Not that the flat/sharp option will not affect the bass note.

Unlike the previous options, the extension and bass option stand on their own and do not affect the bass chord. The extension adds various addtions to the chord such as sevenths, suspensions, add9s, etc. The bass field represents the note that should be played by the bass player or by the left hand on piano.

Import and Exporting Files

Chordwriter currently supports importing from and exporting to Leadsheet, ChordPro, and OnSong formats. It can also export to a text file for use in worship presentation programs. Chordwriter's support for importing and export are listed here.

File Format Import/Export Metadata Lyrics Chords Transposition
Leadsheet (.lmf) Both Yes Yes Yes Yes
ChordPro (.cho, .chd, .chopro) Both Yes Yes Yes No
OnSong (.txt) Both Yes Yes Partial1 No
OpenSong (.xml) Both Yes Yes No N/A
SongShowPlus (.txt) Export only Yes Yes No N/A
Adobe PDF (.pdf) Export only Yes Yes Varies2 Varies2
Other (.*) Import only Yes Varies Varies N/A

1Chordwriter will try to import if the chords are in a ChordPro format.
2Depends on the source music document.

For the other category, Chordwriter will do its best to import based on known patterns for encoding chord information. We cannot garuntee that it will be intelligible, much less correct.

Is there a format you would like to see supported? Let me know and I will do my best to support it in the next update.

Leadsheet File Format

A Leadsheet Music File is an XML-based storage format that is highly structured. It is seperated into several sections, properties, encoding, and music.

The first section, properties, contains basic information about the song, such as the authors of the song as well as any ID numbers associated with the song. Note that the song name is also at the root level.

<title>Absent From Flesh</title>
  <copyright>2011 Sojourn Community Church</copyright>
  <creator type="lyricist">Jamie Barnes</creator>
  <creator type="composer">Jamie Barnes</creator>
  <guid type="leadsheetid">176</guid>
  <guid type="ccli">5918890</guid>

The encoding section contains information about the program that created the file and also the capabilities the song supports. It also specifies when the song was created and edited.

The file also allows you to specify what keys are supported (default is all), and what type of music the song contains. As of now, only the chord sheet is enabled, as no specification for storing lead or harmonic information has been added to the file specification.

  <software>Leadsheet Worship Music System</software>
  <date type="created">2015-01-08</date>
  <date type="modified">2015-01-08 12:44:01</date>
  <supports name="keys" value="all" />
  <supports name="transpose" value="true" />
  <sheet name="chord" enabled="true" />
  <sheet name="lead" enabled="false" />
  <sheet name="vocal" enabled="false" generator="auto" />

Last, but certainly not least, is the music itself; The first section contains baisc information about the music, such as the key, tempo, and meter. Also it specifies whether chord repeating should be used.

Chord repeating is based on the principle that similar sections (like verses) will all have the same poetic structure as well as chords. Thus, a program or editor should be able to simply copy the chords from the first verse to the others when rendering.

The song is split up into groups and lines. Each line may have chords that are noted as described in the Leadsheet Chord Concept. Be aware that syllables are determined programmatically so accuracy may vary with the program being used.

  <key mood="major">G</key>
  <meter upper="" lower="" />
  <tempo type="bpm">92</tempo>
  <repeat-music type="all" groups="verse" />
  <group type="verse" name="Verse 1">
        <chord syllable="1" chord="I" acc="" mood="" ext="" over="" />
        <chord syllable="4" chord="V" acc="" mood="" ext="" over="" />
        <chord syllable="7" chord="VI" acc="" mood="" ext="" over="" />
        <chord syllable="9" chord="I" acc="" mood="" ext="" over="" />
      <text>Marvelous grace of our loving Lord,</text>

ChordPro File Format

Leadsheet can also read and edit the widely used ChordPro file format. It encodes chords using braces like [Dm] and uses braces to define directives and other metadata. There is no standard format for ChordPro files so directive support varies by program. Here are a list of directives supported by Chordwriter. Be aware that unsupported directives will be ignored and will not be included when you save the file.

  • {title: ...} or {t: ...} The title of the song.
  • {subtitle: ...}, {st: ...} or {su: ...} The artist name or any other byline information. You can specify multiple artists by separating names with a semi-colon. - Kim Walker-Smith; Chris Quilala
  • {artist: ...} or {a: ...} The artist name or any other byline information. You can specify multiple artists by separating names with a semi-colon. - Kim Walker-Smith; Chris Quilala
  • {key: ...} or {k: ...} or {ok: ...} The key of the song written as a key with enharmonic preference and an optional "m" to indicate minor. - alphabetic, e.g. Bb or Em
  • {tempo: ...} The beats per minute (BPM) - numeric
  • {time: ...} The time signature - numeric beat over bar e.g. 3/4
  • {copyright: ...} or {footer: ...} Specifies copyright footer text to appear at the bottom of the page or lyrics projection.
  • {ccli: ...} The CCLI number of the song.
  • {leadsheet: ...} The Leadsheet (online) ID number of the song.

As of now, Chorwriter supports a simple set of ChordPro music directives. Again, any unrecognized directives will be ignored and that information may be lost when you save the file.

  • {comment: ...} or {c: ...} or {comment_bold: ...} or {cb: ...} or {comment_italic: ...} or {ci: ...} or {guitar_comment: ...} or {gc: ...} Defines a comment. Chordwriter will interpret this as a section title.
  • {start_of_verse} or {sov} Specifies the start of a verse.
  • {end_of_verse} or {eov} Specifies the end of a verse.
  • {start_of_bridge} or {sob} Specifies the start of a bridge.
  • {end_of_bridge} or {eob} Specifies the end of a bridge.
  • {start_of_chorus} or {soc} Specifies the start of a chorus.
  • {end_of_chorus} or {eoc} Specifies the end of a chorus.

We are continuing to improve our support for the ChordPro file format. If you have suggestions or functionality you would like to see supported in later versions, please let us know so we can make that happen. We are working on support for chord tabulature support, both automatically generated and custom tabs.