Jump to content

Non-traditional key signatures: Difference between revisions

From LilyPond wiki
mNo edit summary
mNo edit summary
 
Line 30: Line 30:
[[Category:Contemporary notation]]
[[Category:Contemporary notation]]
[[Category:Pitches]]
[[Category:Pitches]]
[[Category:Contemporary notation]]
[[Category:Really cool]]
[[Category:Staff notation]]
[[Category:Staff notation]]
[[Category:Version-specific]]
[[Category:Really cool]]
[[Category:Included in the official documentation]]
[[Category:Included in the official documentation]]
[[Category:Snippet]]
[[Category:Snippet]]

Latest revision as of 18:14, 10 December 2025

The commonly used \key command sets the keyAlterations property, in the Staff context.

To create non-standard key signatures, set this property directly. The format of this command is a list:

\set Staff.keyAlterations =
  #`(((octave . step) . alter) ((octave . step) . alter) ...)

where, for each element in the list, octave specifies the octave (0 being the octave from middle C to the B above), step specifies the note within the octave (0 means C and 6 means B), and alter is one of SHARP, FLAT, DOUBLE-SHARP, etc., preceded by a comma.

Alternatively, you can use the more concise format (step . alter) for each item in the list if the same alterations are used in all octaves.

For microtonal scales where a “sharp” is not 100 cents, alter refers to the alteration as a proportion of a 200-cent whole tone.

\version "2.24"

\include "arabic.ly"

\relative do' {
  \set Staff.keyAlterations = #`((0 . ,SEMI-FLAT)
                                 (1 . ,SEMI-FLAT)
                                 (2 . ,FLAT)
                                 (5 . ,FLAT)
                                 (6 . ,SEMI-FLAT))
  % \set Staff.extraNatural = ##f
  re reb \dwn reb resd
  dod dob dosd \dwn dob |
  dobsb dodsd do do |
}