A decade ago I wrote the attached header persian.ly which supports Persian
music notation + microtuning.
A hack with a downloaded font is necessary as the Persian microtonal
symbols, the koron and sori are not available in Lilypond,
Strange, as these have been standard for over a century and there is a
substantial body of music written requiring it.
I'm still getting occasional requests for the package and I've used it to
transcribe and compose many hours of Persian traditional music.

At the time it was version 2.12.2 and I took a snapshot of that version
with the additional fonts already installed and an "example" directory to
illustrate usage of persian.ly.

Available at https://persianney.com/misc/LilyPond.zip
<http://persianney.com/misc/LilyPond.zip>

It does not work anymore with current Lilypond version: when compiling
provided  example (after copying font files as documented in persian.ly) it
trips over

"(ly:parser-set-note-names parser pitchnames)"

but that may not be all. I noticed there is no type1 directory anymore in
the current Lilypond version.

Anyone have an idea on how I can get it to work with current version?  It
works perfectly fine with the old version, but it is a bit annoying to be
forced to use 2.12.

Thanks,
Kees
\version "2.12.2"
%{
Author: Kees van den Doel kvand...@shaw.ca

Init file for Persian music notation.

To  use download  the PostScript  Type  1 Microtonal  Font from  Andrián
Pertout  (http://www.pertout.com/PhD2007Introduction.htm)  and copy  the
.pfb            file            into            the            directory
LilyPond/usr/share/lilypond/current/fonts/type1.

This header file defines Persian microtonal alterations, the approximate
quartertone   flat  (koron)  and   the  approximate   quartertone  sharp
(sori). They can be obtained by  appending 'k' (koron) and 'o' (sori) to
the English note symbol.  The  standard symbols for this were introduced
by Vaziri.

Key  signatures are  defined  for all  the  Persian modes,  there are  5
distinct scales  with microtones  and the normal  major scale.   All the
gushe's from all dastgahs can be notated with just these 6.

The note immediately  following a koron is sometimes  (when the interval
defined by  the note  before the koron  and after  the koron is  a minor
third, and the note below the  finalis in esfahan according to some (but
not all)  Persian musicians))  lowered by about  20 cents.  This  is not
notated, but considered part of the scale tuning. To accomodate this for
getting better sounding  MIDI I've introduced the "vlat"  (append 'v' to
the note) to indicate this. Actually  this note should also get a strong
vibrato,  and the  vibrato and  low tuning  are  perceptually integrated
(serialism!). This is just for MIDI and has no effect on the notation.

In the tuning  I've followed "Traditional Persian Art  Music, by Dariush
Tala'i".  The  tunings are  also very close  to those suggested  in "The
Dastgah  Concept in  Persian Music,  by  Hormoz Farhat".   See also  "Le
repertoire-modele  de  la  musique  iranienne,  by  Jean  During"  which
contains measurements  of the  intervals in actual  practice, consistent
with the tuning in this file.

There are no other tuning issues  in Persian music. Because the music is
monophonic  the difference  between  just intonation  (for example)  and
equal temperament is merely academic, because are no chords where out of
tune intervals are noticeable.

Note name suffixes:

            ff for double-flat
			f  for flat
			k  for koron (about quarter-flat, -3/10 of whole tone, 60 cent)
			o  for sori  (about quarter-sharp, 2/10 of whole tone, 40 cent)
			s  for sharp
			x  for double-sharp
            v  for 20 cent flat tuned note ("vlat", not notated)
            fv for flat tuned 20C down (notated as a normal flat)
            sv for sharp tuned 20C down (notated as a normal sharp: will never occur in traditional Persian music)

6 Persian  key signatures are  provided they are:

        shur?       (shur gushe's with natural 5th degree)
        shurk?      (shur gushe's with koron 5th degree)
        esfahan?
        mokhalefsegah?
        chahargah?
        mahur?

where ? is the key (A-G) of the mode.

Setting the  key signatures  requires two commmands,  one to  define the
alterations,  and one  to set  the key  signature (append  "Key"  to the
name). For example for chahargah in D:

\include "persian.ly"
\score {
  \relative c' {
           \set Staff.keySignature = \chahargahD
           \override Score.KeySignature #'text = #chahargahDKey
            bk'8 a gs fo r g ak g fs ek d c d ef16 d c4
     }
  \midi { }
  \layout { }
  }
}


%}

% Define tunings:

#(define-public KORON -3/10)
#(define-public SORI 1/5)
#(define-public VLAT -1/10)
#(define-public FVLAT -3/5)
#(define-public SVLAT 2/5)

pitchnamesEnglish = #`(
	(cflatflat . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
	(cflat . ,(ly:make-pitch -1 0 FLAT))
	(c . ,(ly:make-pitch -1 0 NATURAL))
	(csharp . ,(ly:make-pitch -1 0 SHARP))
	(csharpsharp . ,(ly:make-pitch -1 0 DOUBLE-SHARP))
	(dflatflat . ,(ly:make-pitch -1 1 DOUBLE-FLAT))
	(dflat . ,(ly:make-pitch -1 1 FLAT))
	(d . ,(ly:make-pitch -1 1 NATURAL))
	(dsharp . ,(ly:make-pitch -1 1 SHARP))
	(dsharpsharp . ,(ly:make-pitch -1 1 DOUBLE-SHARP))
	(eflatflat . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
	(eflat . ,(ly:make-pitch -1 2 FLAT))
	(e . ,(ly:make-pitch -1 2 NATURAL))
	(esharp . ,(ly:make-pitch -1 2 SHARP))
	(esharpsharp . ,(ly:make-pitch -1 2 DOUBLE-SHARP))
	(fflatflat . ,(ly:make-pitch -1 3 DOUBLE-FLAT))
	(fflat . ,(ly:make-pitch -1 3 FLAT))
	(f . ,(ly:make-pitch -1 3 NATURAL))
	(fsharp . ,(ly:make-pitch -1 3 SHARP))
	(fsharpsharp . ,(ly:make-pitch -1 3 DOUBLE-SHARP))
	(gflatflat . ,(ly:make-pitch -1 4 DOUBLE-FLAT))
	(gflat . ,(ly:make-pitch -1 4 FLAT))
	(g . ,(ly:make-pitch -1 4 NATURAL))
	(gsharp . ,(ly:make-pitch -1 4 SHARP))
	(gsharpsharp . ,(ly:make-pitch -1 4 DOUBLE-SHARP))
	(aflatflat . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
	(aflat . ,(ly:make-pitch -1 5 FLAT))
	(a . ,(ly:make-pitch -1 5 NATURAL))
	(asharp . ,(ly:make-pitch -1 5 SHARP))
	(asharpsharp . ,(ly:make-pitch -1 5 DOUBLE-SHARP))
	(bflatflat . ,(ly:make-pitch -1 6 DOUBLE-FLAT))
	(bflat . ,(ly:make-pitch -1 6 FLAT))
	(b . ,(ly:make-pitch -1 6 NATURAL))
	(bsharp . ,(ly:make-pitch -1 6 SHARP))
	(bsharpsharp . ,(ly:make-pitch -1 6 DOUBLE-SHARP))

	(cff . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
	(cf . ,(ly:make-pitch -1 0 FLAT))
	(cv . ,(ly:make-pitch -1 0 VLAT))
	(cfv . ,(ly:make-pitch -1 0 FVLAT))
	(ck . ,(ly:make-pitch -1 0 KORON))
	(c . ,(ly:make-pitch -1 0 NATURAL))
	(co . ,(ly:make-pitch -1 0 SORI))
	(cs . ,(ly:make-pitch -1 0 SHARP))
	(csv . ,(ly:make-pitch -1 0 SVLAT))
	(css . ,(ly:make-pitch -1 0 DOUBLE-SHARP))
	(cx . ,(ly:make-pitch -1 0 DOUBLE-SHARP))

	(dff . ,(ly:make-pitch -1 1 DOUBLE-FLAT))
	(df . ,(ly:make-pitch -1 1 FLAT))
	(dv . ,(ly:make-pitch -1 1 VLAT))
	(dfv . ,(ly:make-pitch -1 1 FVLAT))
	(dk . ,(ly:make-pitch -1 1 KORON))
	(d . ,(ly:make-pitch -1 1 NATURAL))
	(do . ,(ly:make-pitch -1 1 SORI))
	(ds . ,(ly:make-pitch -1 1 SHARP))
	(dsv . ,(ly:make-pitch -1 1 SVLAT))
	(dss . ,(ly:make-pitch -1 1 DOUBLE-SHARP))
	(dx . ,(ly:make-pitch -1 1 DOUBLE-SHARP))

	(eff . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
	(ef . ,(ly:make-pitch -1 2 FLAT))
	(ev . ,(ly:make-pitch -1 2 VLAT))
	(efv . ,(ly:make-pitch -1 2 FVLAT))
	(ek . ,(ly:make-pitch -1 2 KORON))
	(e . ,(ly:make-pitch -1 2 NATURAL))
	(eo . ,(ly:make-pitch -1 2 SORI))
	(es . ,(ly:make-pitch -1 2 SHARP))
	(esv . ,(ly:make-pitch -1 2 SVLAT))
	(ess . ,(ly:make-pitch -1 2 DOUBLE-SHARP))
	(ex . ,(ly:make-pitch -1 2 DOUBLE-SHARP))

	(fff . ,(ly:make-pitch -1 3 DOUBLE-FLAT))
	(ff . ,(ly:make-pitch -1 3 FLAT))
	(fv . ,(ly:make-pitch -1 3 VLAT))
	(ffv . ,(ly:make-pitch -1 3 FVLAT))
	(fk . ,(ly:make-pitch -1 3 KORON))
	(f . ,(ly:make-pitch -1 3 NATURAL))
	(fo . ,(ly:make-pitch -1 3 SORI))
	(fs . ,(ly:make-pitch -1 3 SHARP))
	(fsv . ,(ly:make-pitch -1 3 SVLAT))
	(fss . ,(ly:make-pitch -1 3 DOUBLE-SHARP))
	(fx . ,(ly:make-pitch -1 3 DOUBLE-SHARP))

	(gff . ,(ly:make-pitch -1 4 DOUBLE-FLAT))
	(gf . ,(ly:make-pitch -1 4 FLAT))
	(gv . ,(ly:make-pitch -1 4 VLAT))
	(gfv . ,(ly:make-pitch -1 4 FVLAT))
	(gk . ,(ly:make-pitch -1 4 KORON))
	(g . ,(ly:make-pitch -1 4 NATURAL))
	(go . ,(ly:make-pitch -1 4 SORI))
	(gs . ,(ly:make-pitch -1 4 SHARP))
	(gsv . ,(ly:make-pitch -1 4 SVLAT))
	(gss . ,(ly:make-pitch -1 4 DOUBLE-SHARP))
	(gx . ,(ly:make-pitch -1 4 DOUBLE-SHARP))

	(aff . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
	(af . ,(ly:make-pitch -1 5 FLAT))
	(av . ,(ly:make-pitch -1 5 VLAT))
	(afv . ,(ly:make-pitch -1 5 FVLAT))
	(ak . ,(ly:make-pitch -1 5 KORON))
	(a . ,(ly:make-pitch -1 5 NATURAL))
	(ao . ,(ly:make-pitch -1 5 SORI))
	(as . ,(ly:make-pitch -1 5 SHARP))
	(asv . ,(ly:make-pitch -1 5 SVLAT))
	(ass . ,(ly:make-pitch -1 5 DOUBLE-SHARP))
	(ax . ,(ly:make-pitch -1 5 DOUBLE-SHARP))

	(bff . ,(ly:make-pitch -1 6 DOUBLE-FLAT))
	(bf . ,(ly:make-pitch -1 6 FLAT))
	(bv . ,(ly:make-pitch -1 6 VLAT))
	(bfv . ,(ly:make-pitch -1 6 FVLAT))
	(bk . ,(ly:make-pitch -1 6 KORON))
	(b . ,(ly:make-pitch -1 6 NATURAL))
	(bo . ,(ly:make-pitch -1 6 SORI))
	(bs . ,(ly:make-pitch -1 6 SHARP))
	(bsv . ,(ly:make-pitch -1 6 SVLAT))
	(bss . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
	(bx . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
)


% Define accidental symbols. 
% Really need to have accidentals.koron and accidentals.sori

persianGlyphs = #`((-3/10 . "accidentals.mirroredflat")
       (1/5 . "accidentals.sharp.slashslash.stem")
       (0 . "accidentals.natural")
       (1/2 . "accidentals.sharp")
       (2/5 . "accidentals.sharp")
       (-1/2 . "accidentals.flat")
       (-3/5 . "accidentals.flat")
       (-1/10 . "")
       (-3/5 . "")
       (-1 . "accidentals.flatflat")
       ( 1 . "accidentals.doublesharp")
)


% For now use an external font as a workaround

FONTNAME = "Microtonal Notation Text"
%FONTNAME = "PersianMusicSymbols"
%FONTNAME = "Vaziri"

% emacs: to enter UTF-8 set coding system utf-8, the use M-x ucs-insert for Hex unicode

% symbols from font "PersianMusicSymbols 001.000"

NATURALSYMBOL = "'"
KORONSYMBOL = ""
SORISYMBOL = ""
FLATSYMBOL = "\""
SHARPSYMBOL = "!"
DFLATSYMBOL = "$"
DSHARPSYMBOL = "#"


% symbols from font "Vaziri"

NATURALSYMBOL = ""
KORONSYMBOL = ""
SORISYMBOL = ""
FLATSYMBOL = ""
SHARPSYMBOL = ""
DFLATSYMBOL = ""
DSHARPSYMBOL = ""

% symbols from font "Microtonal Notation Text"

NATURALSYMBOL = "'"
KORONSYMBOL = "ù"
SORISYMBOL = "ø"
FLATSYMBOL = "\""
SHARPSYMBOL = "!"
DFLATSYMBOL = "$"
DSHARPSYMBOL = "#"


persianStrings = #`(
       (-3/10 . ,KORONSYMBOL)
       (1/5 .   ,SORISYMBOL)
       (0 .     ,NATURALSYMBOL)
       (1/2 .   ,SHARPSYMBOL)
       (2/5 .   ,SHARPSYMBOL)
       (-1/2 .  ,FLATSYMBOL)
       (-3/5 .  ,FLATSYMBOL)
       (-1/10 .  "")
       (-1 .    ,DFLATSYMBOL)
       ( 1 .    ,DSHARPSYMBOL)
)

persianStringsOffsets = #`(
       (-3/10 . (-.2 . -1.7) )
       (1/5   . (0 . -1))
       (0     . (0 . -1))
       (1/2   . (0 . -1))
       (2/5   . (0 . -1))
       (-1/2  . (0 . -.5))
       (-3/5  . (0 . -.5))
       (-1/10 . (0 . 0))
       (-1    . (0 . -.5))
       ( 1    . (0 . -1))
)

persianStringsXExtents = #`(
       (-3/10 . (0 . 1) )
       (1/5   . (0 . 1.8))
       (0     . (0 . 1))
       (1/2   . (0 . 1))
       (2/5   . (0 . 1))
       (-1/2  . (0 . 1))
       (-3/5  . (0 . 1))
       (-1/10 . (0 . 1))
       (-1    . (0 . 1.8))
       ( 1    . (0 . 1.3))
)

persianStringsYExtents = #`(
       (-3/10 . (-1 . 1) )
       (1/5   . (-1 . 1))
       (0     . (-1 . 1))
       (1/2   . (-1 . 1))
       (2/5   . (-1 . 1))
       (-1/2  . (-1 . 1))
       (-3/5  . (-1 . 1))
       (-1/10 . (-1 . 1))
       (-1    . (-1 . 1))
       ( 1    . (-1 . 1))
)

\layout {
  \context {
    \Score
%   \override KeySignature #'glyph-name-alist = \persianGlyphs
%   \override Accidental #'glyph-name-alist = \persianGlyphs
    \override AccidentalCautionary #'glyph-name-alist = \persianGlyphs
    \override TrillPitchAccidental #'glyph-name-alist = \persianGlyphs
    \override AmbitusAccidental #'glyph-name-alist = \persianGlyphs

    \override KeySignature #'stencil = #ly:text-interface::print
    \override KeySignature #'font-name = #FONTNAME
    \override KeySignature #'font-size = #2

    \override Accidental #'stencil = #ly:text-interface::print
    \override Accidental #'font-name = #FONTNAME
    \override Accidental #'font-size = #2
    \override Accidental #'text = #(lambda (grob)
         (cdr (assoc (ly:grob-property grob 'alteration)
                  persianStrings)))
    \override Accidental #'extra-offset =  #(lambda (grob)
         (cdr (assoc (ly:grob-property grob 'alteration)
                  persianStringsOffsets)))
    \override Accidental #'X-extent =  #(lambda (grob)
         (cdr (assoc (ly:grob-property grob 'alteration)
                  persianStringsXExtents )))
    \override Accidental #'Y-extent =  #(lambda (grob)
         (cdr (assoc (ly:grob-property grob 'alteration)
                  persianStringsYExtents )))

  }
}

pitchnames = \pitchnamesEnglish

#(ly:parser-set-note-names parser pitchnames)

%{
Define key signatures for Persian modes

There are fewer scales than dastgah's in Persian music, and each dastgah
can  have many  scales.  So  I provide  here key  signatures  for scales
(modes) named after representative dastgahs featuring this scale.

Dastgah shur can  have the 5th degree natural or  koron, so two versions
are  provided   (shur,  shurk).   Secondary   dastgahs  dashti,  abuata,
bayat-e-tork  have  the same  signature  as  shur,  and derived  dastgah
afshari has signature  shurk.  Nava on G is like shur  on D (4th apart).
Scale of segah is shurk. Other scales are esfahan (homayoun on C is like
esfahan on G, a 5th apart), chahargah, and mokhalef-segah.  For dastgahs
mahur and rast-panjgah we just use the same scale mahur.

Each  key  signature symbol  is  appended  by  a capitalized  "key"  (or
"finalis").  If  you want to use  the \transpose command  you'll have to
manually adjust the key signature of the scale.

All the various  modulatory gushes in all dastgah's  can be notated with
these  key  signatures with  the  exception  of  delkash in  mahur,  but
traditionally the peculiar accidentals there are notated explicitly.

%}

shurC = #`(
    (1 . ,KORON)
    (2 . ,FLAT)
    (5 . ,FLAT)
    (6 . ,FLAT)
  )

shurCKey = \markup{
  \translate  #'(-1 . -.5)   \FLATSYMBOL
  \translate  #'(-.5 . 1)   \FLATSYMBOL
  \translate  #'(-.7 . -1)  \FLATSYMBOL
  \translate  #'(-.5 . -.6) \KORONSYMBOL
}

shurD = #`(
    (2 . ,KORON)
    (6 . ,FLAT)
  )

shurDKey = \markup{
  \translate  #'(-1 . -.5)   \FLATSYMBOL
  \translate  #'(-.5 . -.1)   \KORONSYMBOL
}

shurE = #`(
    (3 . ,SORI)
  )

shurEKey = \markup{
  \translate  #'(-1 . 1)   \SORISYMBOL
}

shurF = #`(
    (1 . ,FLAT)
    (2 . ,FLAT)
    (4 . ,KORON)
    (5 . ,FLAT)
    (6 . ,FLAT)
  )

shurFKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-1 . 1)   \FLATSYMBOL
  \translate  #'(-1 . -1)   \FLATSYMBOL
  \translate  #'(-1 . .5)  \FLATSYMBOL
  \translate  #'(-1 . -2.6) \KORONSYMBOL
}

shurG = #`(
    (2 . ,FLAT)
    (5 . ,KORON)
    (6 . ,FLAT)
  )

% alternative if you want to us shur on G with Bb vlat (bfv) instead of normal Bb (bf)
shurGvlat = #`(
    (2 . ,FLAT)
    (5 . ,KORON)
    (6 . ,FVLAT)
  )

shurGKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-1 . 1) \FLATSYMBOL
  \translate  #'(-1 . -2.1) \KORONSYMBOL
}

shurA = #`(
    (6 . ,KORON)
  )

shurAKey = \markup{
  \translate  #'(-1 . -1.6) \KORONSYMBOL
}

shurB = #`(
    (0 . ,SORI)
    (3 . ,SHARP)
  )

shurBKey = \markup{
  \translate  #'(-1 . 1)  \SHARPSYMBOL
  \translate  #'(-.5 . -.5)     \SORISYMBOL
}

shurkC = #`(
    (1 . ,KORON)
    (2 . ,FLAT)
    (4 . ,KORON)
    (5 . ,FLAT)
    (6 . ,FLAT)
  )

shurkCKey = \markup{
  \translate  #'(-1 . -.5)   \FLATSYMBOL
  \translate  #'(-.5 . 1)   \FLATSYMBOL
  \translate  #'(-.7 . -1)  \FLATSYMBOL
  \translate  #'(-.5 . -.6) \KORONSYMBOL
  \translate  #'(-1 . -2.6) \KORONSYMBOL
}

shurkD = #`(
    (2 . ,KORON)
    (5 . ,KORON)
    (6 . ,FLAT)
  )

shurkDKey = \markup{
  \translate  #'(-1 . -.5)   \FLATSYMBOL
  \translate  #'(-.5 . -.1)   \KORONSYMBOL
  \translate  #'(-1 . -2.1)  \KORONSYMBOL
}

shurkE = #`(
    (3 . ,SORI)
    (6 . ,KORON)
  )

shurkEKey = \markup{
  \translate  #'(-1 . -1.6)  \KORONSYMBOL
  \translate  #'(-1 . 1)     \SORISYMBOL
}

shurkF = #`(
    (0 . ,KORON)
    (1 . ,FLAT)
    (2 . ,FLAT)
    (4 . ,KORON)
    (5 . ,FLAT)
    (6 . ,FLAT)
  )

shurkFKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-1 . 1)   \FLATSYMBOL
  \translate  #'(-1 . -1)   \FLATSYMBOL
  \translate  #'(-1 . .5)  \FLATSYMBOL
  \translate  #'(-1 . -2.6) \KORONSYMBOL
  \translate  #'(-.8 . -1.1) \KORONSYMBOL
}

shurkG = #`(
    (1 . ,KORON)
    (2 . ,FLAT)
    (5 . ,KORON)
    (6 . ,FLAT)
  )

shurkGKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-1 . 1) \FLATSYMBOL
  \translate  #'(-1 . -2.1) \KORONSYMBOL
  \translate  #'(-.8 . -.6) \KORONSYMBOL
}

shurkA = #`(
    (2 . ,KORON)
    (6 . ,KORON)
  )

shurkAKey = \markup{
  \translate  #'(-1 . -1.6) \KORONSYMBOL
  \translate  #'(-.5 . -.1) \KORONSYMBOL
}

shurkB = #`(
    (0 . ,SORI)
    (3 . ,SORI)
  )

shurkBKey = \markup{
  \translate  #'(-1 . 1)  \SORISYMBOL
  \translate  #'(-1 . -.5)     \SORISYMBOL
}

esfahanC = #`(
    (2 . ,FLAT)
    (5 . ,KORON)
  )

esfahanCKey = \markup{
  \translate  #'(-1 . 1)   \FLATSYMBOL
  \translate  #'(-1 . -2.1) \KORONSYMBOL
}

esfahanD = #`(
    (0 . ,SHARP)
    (6 . ,KORON)
  )

esfahanDKey = \markup{
  \translate  #'(-1 . -.5)   \SHARPSYMBOL
  \translate  #'(-.5 . -1.6) \KORONSYMBOL
}

esfahanE = #`(
    (0 . ,SORI)
    (1 . ,SHARP)
    (3 . ,SHARP)
  )

esfahanEKey = \markup{
  \translate  #'(-1 . 1)   \SHARPSYMBOL
  \translate  #'(-.5 . -.5) \SORISYMBOL
  \translate  #'(-.5 . 0)   \SHARPSYMBOL
}

esfahanF = #`(
    (1 . ,KORON)
    (5 . ,FLAT)
    (6 . ,FLAT)
  )

esfahanFKey = \markup{
  \translate  #'(-1 . -.5)   \FLATSYMBOL
  \translate  #'(-.5 . -1) \FLATSYMBOL
  \translate  #'(-.5 . -.6)   \KORONSYMBOL
}

esfahanG = #`(
    (2 . ,KORON)
    (3 . ,SHARP)
    (6 . ,FLAT)
  )

esfahanGKey = \markup{
  \translate  #'(-1 . -.5)   \FLATSYMBOL
  \translate  #'(-.7 . 1) \SHARPSYMBOL
  \translate  #'(-.5 . -.1)   \KORONSYMBOL
}

esfahanA = #`(
    (3 . ,SORI)
    (4 . ,SHARP)
  )

esfahanAKey = \markup{
  \translate  #'(-1 . 1.5) \SHARPSYMBOL
  \translate  #'(-.5 . 1)   \SORISYMBOL
}

esfahanB = #`(
    (0 . ,SHARP)
    (3 . ,SHARP)
    (4 . ,SORI)
    (5 . ,SHARP)
  )

esfahanBKey = \markup{
  \translate  #'(-1 . 1) \SHARPSYMBOL
  \translate  #'(-.7 . -.5) \SHARPSYMBOL
  \translate  #'(-.7 . -1.5) \SHARPSYMBOL
  \translate  #'(-1.5 . 1.5)   \SORISYMBOL
}

mokhalefsegahC = #`(
    (2 . ,FLAT)
    (5 . ,KORON)
    (6 . ,KORON)
  )

mokhalefsegahCKey = \markup{
  \translate  #'(-.5 . -1.6) \KORONSYMBOL
  \translate  #'(-1 . 1) \FLATSYMBOL
  \translate  #'(-1 . -2.1) \KORONSYMBOL
}

mokhalefsegahD = #`(
    (0 . ,SORI)
    (6 . ,KORON)
  )

mokhalefsegahDKey = \markup{
  \translate  #'(-.5 . -1.6) \KORONSYMBOL
  \translate  #'(-.5 . -.5) \SORISYMBOL
}

mokhalefsegahE = #`(
    (0 . ,SORI)
    (1 . ,SORI)
    (3 . ,SHARP)
  )

mokhalefsegahEKey = \markup{
  \translate  #'(-1 . -.5) \SORISYMBOL
  \translate  #'(-.5 . 1) \SHARPSYMBOL
  \translate  #'(-.5 . 0) \SORISYMBOL

}

mokhalefsegahF = #`(
    (1 . ,KORON)
    (2 . ,KORON)
    (5 . ,FLAT)
    (6 . ,FLAT)
  )

mokhalefsegahFKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-.5 . -.1) \KORONSYMBOL
  \translate  #'(-1 . -1) \FLATSYMBOL
  \translate  #'(-.5 . -.6) \KORONSYMBOL
}

mokhalefsegahG = #`(
    (2 . ,KORON)
    (3 . ,SORI)
    (6 . ,FLAT)
  )

mokhalefsegahGKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-.5 . -.1) \KORONSYMBOL
  \translate  #'(-.5 . 1) \SORISYMBOL
}

mokhalefsegahA = #`(
    (3 . ,SORI)
    (4 . ,SORI)
  )

mokhalefsegahAKey = \markup{
  \translate  #'(-1 . 1) \SORISYMBOL
  \translate  #'(-.5 . 1.5) \SORISYMBOL
}

mokhalefsegahB = #`(
    (0 . ,SHARP)
    (3 . ,SHARP)
    (4 . ,SORI)
    (5 . ,SORI)
  )

mokhalefsegahBKey = \markup{
  \translate  #'(-1 . 1) \SHARPSYMBOL
  \translate  #'(-.5 . -.5) \SHARPSYMBOL
  \translate  #'(-.5 . -1.5) \SORISYMBOL
  \translate  #'(-2 . 1.5) \SORISYMBOL
}

chahargahC = #`(
    (1 . ,KORON)
    (5 . ,KORON)
  )

chahargahCKey = \markup{
  \translate  #'(-.5 . -.6) \KORONSYMBOL
  \translate  #'(-1 . -2.1) \KORONSYMBOL
}

chahargahD = #`(
    (0 . ,SHARP)
    (2 . ,KORON)
    (3 . ,SHARP)
    (6 . ,KORON)
  )

chahargahDKey = \markup{
  \translate  #'(0 .      1) \SHARPSYMBOL
  \translate  #'(-.5 . -.5)  \SHARPSYMBOL
  \translate  #'(-.5 . -1.6) \KORONSYMBOL
  \translate  #'(-.5 . -.1)  \KORONSYMBOL
}


chahargahE = #`(
    (0 . ,SORI)
    (1 . ,SHARP)
    (3 . ,SORI)
    (4 . ,SHARP)
  )

chahargahEKey = \markup{
  \translate  #'(-1 .   1) \SORISYMBOL
  \translate  #'(-1 . -.5)  \SORISYMBOL
  \translate  #'(-1 . 1.5) \SHARPSYMBOL
  \translate  #'(-.5 . -0)  \SHARPSYMBOL
}

chahargahF = #`(
    (1 . ,KORON)
    (4 . ,KORON)
    (6 . ,FLAT)
  )

chahargahFKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-.5 . -.6)  \KORONSYMBOL
  \translate  #'(-1.2 . -2.6)  \KORONSYMBOL
}

chahargahG = #`(
    (2 . ,KORON)
    (3 . ,SHARP)
    (5 . ,KORON)
  )

chahargahGKey = \markup{
  \translate  #'(-1 . 1) \SHARPSYMBOL
  \translate  #'(-.7 . -2.1)  \KORONSYMBOL
  \translate  #'(-.5 . -.1) \KORONSYMBOL
}

chahargahA = #`(
    (0 . ,SHARP)
    (3 . ,SORI)
    (4 . ,SHARP)
    (6 . ,KORON)
  )

chahargahAKey = \markup{
  \translate  #'(-1 . 1.5) \SHARPSYMBOL
  \translate  #'(-.5 . -.5) \SHARPSYMBOL
  \translate  #'(-.5 . 1)  \SORISYMBOL
  \translate  #'(-1 . -1.6) \KORONSYMBOL
}

chahargahB = #`(
    (0 . ,SORI)
    (1 . ,SHARP)
    (3 . ,SHARP)
    (4 . ,SORI)
    (5 . ,SHARP)
  )

chahargahBKey = \markup{
  \translate  #'(-1 . 1) \SHARPSYMBOL
  \translate  #'(-.5 . -1.5) \SHARPSYMBOL
  \translate  #'(-.5 . 0) \SHARPSYMBOL
  \translate  #'(-.5 . 1.5)  \SORISYMBOL
  \translate  #'(-1 . -.5) \SORISYMBOL
}


mahurF = #`(
    (6 . ,FLAT)
  )

mahurFKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
}


mahurG = #`(
    (3 . ,SHARP)
  )

mahurGKey = \markup{
  \translate  #'(-.5 . -1.5) \SHARPSYMBOL
}


delkashMahurF = #`(
    (1 . ,KORON)
    (2 . ,FLAT)
    (6 . ,FLAT)
  )

delkashMahurFKey = \markup{
  \translate  #'(-1 . -.5) \FLATSYMBOL
  \translate  #'(-1 . 1) \FLATSYMBOL
  \translate  #'(-.8 . -.6) \KORONSYMBOL
}



hicazG = #`(
    (3 . ,SHARP)
    (2 . ,FLAT)
    (6 . ,FLAT)
  )

hicazGKey = \markup{
  \translate  #'(-1 . 1) \SHARPSYMBOL
  \translate  #'(-.6 . 1) \FLATSYMBOL
  \translate  #'(-.6 . -.5)   \FLATSYMBOL
}



hicazA = #`(
    (4 . ,SHARP)
  )

hicazAKey = \markup{
  \translate  #'(-.1 . 1.5) \SHARPSYMBOL
}

esfahanETF = #`(
    (1 . ,FLAT)
    (5 . ,FLAT)
    (6 . ,FLAT)
  )

esfahanETFKey = \markup{
  \translate  #'(0 . .5)   \FLATSYMBOL
  \translate  #'(-.5 . -1) \FLATSYMBOL
  \translate  #'(-.5 . -.6)   \FLATSYMBOL
}

esfahanETG = #`(
    (2 . ,FLAT)
    (3 . ,SHARP)
    (6 . ,FLAT)
  )

esfahanETGKey = \markup{
  \translate  #'(-1 . -.5)   \FLATSYMBOL
  \translate  #'(-.7 . 1) \SHARPSYMBOL
  \translate  #'(-.5 . .8)   \FLATSYMBOL
}

Reply via email to