Skip to main content

Key declaration

Key declaration lines

It is possible to declare the key of any part of the song using they key keyword:

loading...

If a key change occurs before a section change, either declare it directly in the new section, or on the line immediately preceding the section label, to avoid that it would be repeated for the previous section when using the automatic chord repetition feature.

Appart from bringing clarity to the chord chart's reader, which is always a good thing, declaring one or multiple keys will bring at least 3 benefits.

1/ Automatic transposition

The first benefit is - in my opinion - one of the coolest features of ChordMark! Whenever there is a key change during a song, and when using automatic repetition of chords accross sections, ChordMark will automatically transpose the repeated chords based on the new key declaration. See the example below:

loading...

The base key from which the transposition is done is always the first one explicitely declared, so make sure to always define a key prior to the first chord line.

2/ Proper rendering of accidentals

The second benefit relates to the rendering of chord accidentals (# and b). If your source file contains mixed accidental, then declaring a key will allow ChordMark to automatically normalize the accidentals choosing the proper symbol

loading...

Note that if you don't declare a key, ChordMark will try to automatically detect it based of the chords used in the song. While this should work reasonnably well for simple songs, it will probably fail on more complex cases. So as a best practice, it is recommended to always explicitly declare a key.

Accidentals are also properly chosen if the song contains multiple keys:

loading...

When transposing in the accidental auto mode, ChordMark tries to be smart and avoid theoretical keys that are not used in practice. For example transposing down Layla by 1 semitone will result in a key of C#m instead of Dbm for the chorus. Again, note that the proper accidentals are used for each key.

loading...

3/ Harmonic analysis

The third benefit of using keys lies in ChordMark abilities to help with harmonic analysis by rendering the chord symbols as roman numeral symbols. This can only be done if a key is explicitly set, otherwise all symbols will be rendered as I, i or ?. The approach to convert chords from notes to numerals symbols is very basic and naive: based on the declared key, ChordMark will just detect if the song's chord are diatonic to the key, or diatonic to the parallel major/minor key (e.g. "borrowed" chords). Of course there is much more to harmonic analysis than this simple approach and I hope to enrich ChordMark's capabilities with more functionality in the future.

loading...

Please note that:

  • symbols diatonic to the keys are rendered with color background
  • borrowed chords are rendered with a slightly darker background
  • unindentified chords are rendered without a background color
loading...

If you are unsure of the key, just try a few candidates! You will be able to see immediately if the song has a lot of diatonic chords for this key. And if it does, then the given key might be a good candidate.