Songs are the most fundamental document type in SongKit.

A song file can store information for several instruments or keys at the same time.

Song Metadata

These fields are used to build the frontmatter of the song and may be used in the future by the app to manage multiple song files at once.

Metadata fields are:

The title of the song. If this is blank, the app will use the filename instead;
Some additional information, like an album or an event;
The person who performs the song;
The person who wrote the musi;c
The person who wrote the lyrics;
Some style like Bossa-Nova or Ballad;
The person or entity who owns the rights. "(c)" will be replaced by © upon saving;
Some date associated with the song, like its release or recording
Some place associated with the song.

If a field is blank (except for the title field), the app will behave as if it was hidden by the style. Because it falls back to the filename, you should explicitly hide the title in the song’s style to hide the title of a song if wanted.

Song Key

Each song has a natural key. Internally, chords are stored as relative chords in this key. For example, if you used the chord Em in a song in D major, it will be stored as the ii chord. If you then set the key to be C major, the app will change the chord internally to iii so it stays the same.

In other words, setting the key of a song doesn’t explicitly change the chords. Em will stay Em, but its meaning and internal representation changed. It means that setting the key of a song changes the content of the song.

On the other hand, transposing a song merely changes the reference point from which chords are resolved. If you transpose the song in D major with Em to G major, the Em chord will become Am, being the ii in G major. Transposing a song only acts at the display stage and doesn’t change its key internally. It doesn’t modify the file’s content.

As a consequence, if you share the same file with a friend, each one of you can display the song in a different key without having to modify the file.


A song file can host content for multiple voices. A voice describes one performer in the song. It has a name and an instrument.