lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning


From: Stefan Thomas
Subject: Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning
Date: Fri, 25 Sep 2009 13:13:33 +0200

Dear Graham,
what I don't understand:
How many cents are an alteration of 10/1023?

2009/9/25 Graham Breed <address@hidden>
Stefan Thomas wrote:
Dear Graham,

absolutely, I would like to define a list of notenames, for e.g. pitches
that are about 15cents lower, But I have no idea how to do it, when I use
the HE-font for the accidentals.

For the code I have, pitch names are defined as:

HEPitchNames = #`(
 (c . ,(ly:make-pitch -1 0 0))
 (g . ,(ly:make-pitch -1 4 10/1023))
 (edown . ,(ly:make-pitch -1 2 -75/1096))
 (bflatseven . ,(ly:make-pitch -1 6 -162/247))
 (d . ,(ly:make-pitch -1 1 20/1023))

and so on.

If you want more pitches, you add them.  The parameters are documented for ly:make-pitch under Scheme Functions.


Off course, I had a look in makam.ly
and I found there
makamGlyphs = #`((1 . "accidentals.doublesharp")
      (8/9 . "accidentals.sharp.slashslashslash.stemstem")
     )
But how could I define a "Helmholtz-Glyph"?

This table is different when you use an external font.  The relevant table, as I have it, starts like this:

HEStrings = #`(
       (0  "\x6e" (0 . 1) (-0.5 . 0.5))
       (10/1023  "\x6e" (0 . 0.6) (-0.5 . 0.5))
       (-75/1096  "\x6d" (0 . 0.6) (-1.1 . 0.5))
       (-162/247  "\x3c\x65" (-2 . 2) (-0.5 . 0.5))
       (20/1023  "\x6e" (0 . 0.6) (-1.1 . 0.5))

In each of those lists, the first entry is the alteration in whole tones (1/1 = 200 cents).  The second entry is the UTF-8 encoded string to display.  The other two pairs are the X- and Y-extents that determine how much space LilyPond allows for the accidentals.  We currently don't know how to make sensible guesses for these so they have to be hard coded.

The alteration for very accidental in the first table has to match a row in the second one.


                       Graham



reply via email to

[Prev in Thread] Current Thread [Next in Thread]