Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Note names not recognized #3

Open
imwihfm opened this issue Jun 25, 2024 · 4 comments
Open

Note names not recognized #3

imwihfm opened this issue Jun 25, 2024 · 4 comments

Comments

@imwihfm
Copy link

imwihfm commented Jun 25, 2024

I have the following ly file wherein I use ekmelily, but the file can't compile due to "... is not a note name".
Could you please take a look and tell me if you have any ideas why the names are not suppoerted? Thank you in advance!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Generated by Klarenz v190624 %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Load modules, setup & configurations %%%
#(set-default-paper-size "quarto")
#(set-global-staff-size 14)
\version "2.24.3"
\language "deutsch"
\include "ekmel-31.ily"
\ekmelicStyle std

\header {
    tagline = "Generated by Klarenz v190624"  
    
}

\layout {
    \context {
        \Score
        \remove "Timing_translator"
        \remove "Default_bar_line_engraver"
    }
    \context {
        \Staff
        \consists "Timing_translator"
        \consists "Default_bar_line_engraver"
        \RemoveEmptyStaves
    }
}

\paper {
    left-margin = 20
    right-margin = 20
    score-system-spacing = #'( (basic-distance . 10) (minimum-distance . 10) (padding . 10) (stretchability . 0) )
    system-system-spacing = #'( (basic-distance . 0) (minimum-distance . 0) (padding . 10) (stretchability . 0) )
    top-margin = 20
    bottom-margin = 20
    indent = 0
    %% entfernt die Trennline oberhalb der Fußnotentexte am Seitenende
    footnote-separator-markup = ##f  
}



%%% Load parts and score %%%

KLARENZAAAAB = \new Staff \with {instrumentName = #"" shortInstrumentName = #""}
{
\clef "treble"  \time 4/4  c'4 as4 es4 g4 |
 dis'4 as,4 g'4 c'4 |
 as4 es4 g4 dis'4 |
 as,4 gih'4 hesih4 as4 |
 es4 gih4 disih'4 gesih,4 |
 gih'4 hesih4 as4 es4 |
 gih4 disih'4 gesih,4 gis'4 |
 hesih4 as4 desih4 disih'4 |
 g,4 gisih'4 hesih4 as4 |
 desih4 e'4 g,4 gisih'4 |
 h4 as4 desih4 e'4 |
 gesesih,4 a'4 h4 as4 |
 desih4 gis4 gesesih,4 aih'4 |
 h4 as4 c4 dih4 |
 gisih4 ges,4 ais'4 h4 |
 as4 c4 dih4 gisih4 |
 ges,4 ais'4 besih4 as4 |
 hesih,4 dih4 eih'4 asesih4 |
 fesih,4 aisih'4 besih4 as4 |
 h,4 d4 f'4 a4 |
 fesih,4 h'4 besih4 as4 |
 h,4 d4 f'4 a4 |
 f,4 h'4 b4 as4 |
 besih,4 d4 f'4 a4 |
 f,4 hih'4 b4 as4 |
 b,4 d4 fih'4 aesih4 |
 eesih,4 c''4 b4 as4 |
 b,4 d4 fih'4 aesih4 |
 eesih,4 c''4 b4 as4 |
 aesih,4 d4 fis'4 b4 |
 e,4 cih''4 aesih4 as4 |
 a,4 d4 fis'4 b4 |
 e,4 cis''4 aesih4 as4 |
 a,4 d4 fis'4 b4 |
 esesih,4 cis''4 aesih4 as4 |
 asesih,4 cisih4 fisih'4 esesih,4 |
 cisih''4 a4 as4 as,4 |
 cisih4 fisih'4 es,4 d''4 |
 a4 as4 as,4 cisih4 |
 fisih'4 besih4 d''4 a4 |
 as4 gesih,4 cisih4 g'4 |
 h4 dih''4 as4 g,4 |
 cisih4 g'4 desih,4 h4 |
 dis''4 as4 gesesih,4 cisih4 |
 g'4 d,4 h4 disih''4 |
 as4 gesesih,4 cisih4 gih'4 |
 d,4 hih4 disih''4 as4 |
 ges,4 cis4 gih'4 desesih,4 |
 hih4 e''4 as4 fesih,4 |
 cis4 gih'4 desesih,4 hih4 |
 eih''4 as4 fesih,4 cis4 |
 gis'4 des,4 c'4 eih''4 |
 as4 f,4 cis4 gis'4 |
 des,4 c'4 f''4
}

\score {
 \KLARENZAAAAB
}
@tr-igem
Copy link
Owner

tr-igem commented Jun 25, 2024

Your file uses the 31-edo version of ekmelily which doesn't define names with the suffixes -ih and -eh. There are only the names "eh" and "ah" which are substitutes for "ee" and "aa". See the table of note names for 31edo at ekmelic-music.org .
And the \language command should be placed after the \include. It is an override of LilyPonds original command.

@imwihfm
Copy link
Author

imwihfm commented Jun 25, 2024

But I am sure this code was working a couple of years ago. Do the error-making names exist in some other \include system?
A little background: I wrote a lilypond wrapper around 2018 (https://klarenz.codeberg.page/), and from the beginning I had support added to it for microtonal notation via Ekmelily. Back then such code was working, as I look into the making microtonal note-names of my python package: https://codeberg.org/klarenz/klarenz/src/commit/49484466b38719a335a5f5d01f3d7092d46f8fcd/src/klarenz/pitch.py#L17

@tr-igem
Copy link
Owner

tr-igem commented Jun 26, 2024

The note names created in your python package are for 72edo not 31edo. Vou have to include "ekmel.ily" instead of "ekmel-31.ily". I introduced support for other systems than 72 with version 3.0 in 2019, where for each system own sets of note names are defined.
You can find old versions in this archive .
I assume you refering to version 2.0, 2.1, or 2.2 from 2018 or maybe even an older one.
Actually, I removed note names starting with ae- or aa- in later versions since they are absolute nonsense in German. But they exist in \language "nederlands".
I also found in your posted score the name besih from "nederlands" which must be hesih in "deutsch".

@tr-igem
Copy link
Owner

tr-igem commented Jun 26, 2024

I think the best solution is to provide this special set of note names in a separate language table. I have uploaded now an include file "ekmel-old.ily" with only these note names and the notation style arrow which is probably what you mean with std which is not defined in 72edo, but arrow is the default style. So you don't need the commands \language and \ekmelicStyle.
This solution is anyway better than using an old version of ekmelily.
I compiled your score with Lilypond 2.24.2 without errors, but with a warning that Default_bar_line_engraver does not exist. It is documented in 2.22 but no longer in 2.24.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants