Arabic key signatures

In addition to the minor and major key signatures, LilyPond provides the most common Arabic key signatures in the file ‘’. With that being said LilyPond is not aiming at providing a full suite of all possible maqams. It rather defines the most common ones that are frequently used and offers key signatures by grouping maqams together. In general, a maqam uses the key signature of its family, or a neighboring family, and varying accidentals are marked throughout the music. When forming key signatures neighboring maqam families are grouped together. For example, maqam saba seldom occurs outside of the context of maqam bayati and adds only a single alteration. Although both maqams come from different maqam families they are inside the same key signature group. Arabic maqams only allow for limited modulations, due to the nature of Arabic musical instruments.

Here is an example of the key signature for a “maqam muhayer” piece of music:

\key re \bayati

Here re is the default pitch of the muhayer maqam, and bayati is the name of the base maqam in the group.

While the key signature indicates the group, it is common for the title to indicate the more specific maqam, so in this example, the name of “maqam muhayer” should also appear in the title.

Other maqams in the same bayati group, as shown in the table below (e.g., bayati, hussaini, saba, and ushaq) can be indicated in the same way. These are all variations of the base and most common maqam in the group, which is bayati. They usually differ from the base maqam in their upper tetrachords, or certain flow details that do not change their fundamental nature, as siblings.

The other maqam in the same group (nawa) is related to bayati by modulation and is shown in the table in parentheses for those that are modulations of their base maqam. Nawa, for example, can be indicated as follows:

\key sol \bayati

In Arabic music, the same term, for example bayati, that is used to indicate a maqam family, is also a maqam that is usually the most important in the family so can also be thought of as a base maqam.

Here is the grouping that maps the more common maqams to key signatures as defined in the file ‘’:

maqam groupkeyfinalisOther maqams in group (finalis)
ajammajorsibjaharka (fa)
bayatibayatirehussaini, muhayer, saba, ushaq, nawa (sol)
hijazhijazrezanjaran (do)
hijaz karhijaz_kardoshahnaz, shad arban (sol)
kurdkurdrehijazkar kurd (do)
nahawandminordobusalik (re), farah faza (sol)
nakriznakrizdonawa athar, hisar (re)
rastrastdomahur, yakah (sol)

In case you are missing a specific maqam, you can define it yourself in your sheet music before using it. The following example defines and then uses the zanjaran maqam.

\include ""

% For example on do: do reb mi fa sol la sib do
% reb and sib are FLAT
% You can also use SHARP, SEMI-FLAT, SEMI-SHARP
zanjaran = #`(
  (0 . ,NATURAL)
  (1 . ,FLAT)
  (2 . ,NATURAL)
  (3 . ,NATURAL)
  (4 . ,NATURAL)
  (5 . ,NATURAL)
  (6 . ,FLAT)

\relative {
  \key do \zanjaran
  do' reb mi fa sol la sib do

[image of music]

For special cases, rare maqams are defined in the ‘’ file. Please refer to the file included with LilyPond for a full list of the provided maqams.

Selected Snippets

Non-traditional key signatures

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 ,SHARP ,FLAT ,DOUBLE-SHARP etc.

Alternatively, using the more concise format for each item in the list (step . alter) specifies the same alteration holds 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.

\include ""
\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 |

[image of music]

See also

Music Glossary: maqam, bayati, rast, sikah, iraq, kurd.

Learning Manual: Pitches and key signatures.

Notation Reference: Key signature.

Installed Files: ‘ly/’ ‘ly/

Snippets: World music, Pitches.

Internals Reference: KeySignature.

LilyPond — Notation Reference v2.25.8 (development-branch).