This package adds support for the Extended Helmholtz-Ellis JI Pitch Notation in Lilypond via Ekmelily and the Ekmelos font from Thomas Richter. For a basic introduction to microtonal composition and notation read this article.
First follow the installation instructions of Ekmelily and Ekmelos.
Then download the latest ekme-heji.ily package or clone the files straight from github.
You can either extract the 'ekme-heji.ily' file in the same directory as your Lilypond project, or you put it in Lilyponds installation directory (something like lilypond/usr/share/lilypond/current/ly
).
Finally you have to include ekme-heji.ily in your Lilypond file:
\version "2.22.0"
\language "english"
\include "ekme-heji.ily"
ekme-heji.ily adds new pitches to Lilypond. The pitch names are composed of three subparts:
explanation | example 1 | example 2 |
---|---|---|
diatonic pitch name | a |
c |
Pythagorean accidental | s (for 'sharp') |
ff (for 'double flat') |
additional commas | oaa |
ubaocb |
Therefore asoaa
and cffubaocb
are examples for concatenated full pitch names.
Additional commas are described by three letters:
explanation | example 1 | example 2 |
---|---|---|
tonality | o (for otonality) |
u (for utonality) |
prime number | a (for 5) |
c (for 11) |
exponent | a for +/- 1 |
b for +/- 2 |
Tonality can either be o for otonality or u for utonality (if the exponent is bigger than 0 it's an otonality, if the exponent is smaller than 0 it's an utonality).
The prime number nomenclature is a simple mapping of the alphabetical order to rising prime numbers:
a
b
c
The exponent nomenclature is also a simple mapping of alphabetical order to rising integers:
a
b
c
Therefore a pitch with the interval 5/4
to c
would be written as eoaa
(diatonic pitch name: e
, comma: oaa
for otonality (= o
) of 5 (= a
) with exponent 1 (= a
)).
When a pitch owns several commas they are always sorted from lower prime numbers to higher prime numbers.
For instance the diatonic pitch 'a' with two syntonic commas and one undecimal commas would be written as aoaboca
.
Tempered pitches are indicated with the letter t
.
For instance a tempered d
would be dt
and a tempered f-sharp would be fst
.
Writing a Wilson Hexany in HEJI - Notation:
\version "2.22.0"
\language "english"
\include "ekme-heji.ily"
\new Score
<<
\new Staff
{
\new Voice
{
\accidentalStyle "dodecaphonic"
aoca'1
boaaoba'
cobaoca''
doba''1
fsoaaoca''1
gsoaa''1
}
}
>>
Writing a twelfth tone row of tempered pitches:
\version "2.22.0"
\language "english"
\include "ekme-heji.ily"
\new Score
<<
\new Staff
{
\new Voice
{
\relative c'
{
gt1
bft
dt
fst
at
ct
et
gst
bt
cst
dst
ft
}
}
}
>>
Midi playback is precise to within +/- 0.2 cents.
By default not all specified accidentals and accidental combinations are supported. The highest implemented prime number is 17 although the Helmholtz-Ellis JI Pitch Notation defines accidentals until 47. There are two reasons for this limitation:
For now, ekme-heji.ily is only available in English (English diatonic pitch names, English default accidentals like 's' for sharp and 'f' for flat).
If you want to build your own tuning files with different nomenclature or different supported prime numbers, you can adjust the Python script which builds the tuning files. For running it, you first have to install mutwo.ekmelily. See mutwos api documentation for more information regarding the tuning file script.