Utilizo LilyPond para crear notas de práctica y etudes. He descubierto cómo permitir la entrada de notas en la notación de solfeo Moveable Do y tengo una plantilla (ver a continuación) que permite mostrar los símbolos de solfeo como letras debajo de las notas. En este momento, tengo que extraer manualmente la letra de la notación más el marcado que genera la música. He podido automatizar parcialmente esto con algún código python y vim (no se muestra aquí), pero aún así es algo insatisfactorio.LilyPond: extracción de nombres de tono de la música
Me parece que la mejor solución sería utilizar el intérprete Scheme integrado de LilyPond para extraer los nombres de tono mientras se procesa el archivo. Intenté utilizar el mapa con ly: note-pitchname, pero hasta ahora no he tenido éxito. Probablemente porque sé squat sobre Scheme, especialmente como se usa en los scripts de LilyPond.
% Moveable Do as lyrics example
% define some solfege pitchnames
% (in practice, the full set goes into "english.ly")
pitchnames = #`(
(do . ,(ly:make-pitch -1 0 NATURAL))
(re . ,(ly:make-pitch -1 1 NATURAL))
(mi . ,(ly:make-pitch -1 2 NATURAL))
)
#(ly:parser-set-note-names parser pitchnames)
% compose as though in C major
mynotes = \relative do' {\key do \major do2 re4(mi4) }
% transpose to desired key
melody = \transpose do mi { \mynotes }
% I WANT TO AUTOMATICALLY CREATE THE
% THE PITCHNAMES IN THIS BLOCK
% FROM THE CONTENTS OF \mynotes
solfa = \lyricmode {
\set ignoreMelismata = ##t % one syllable per note
do re mi
\unset ignoreMelismata % allow normal placement of other lyrics
}
% Produce score with solfege names as lyrics
\score {
<<
\new Voice = "myVoice" {
\melody
}
\new Lyrics \lyricsto "myVoice" \solfa
>>
}
\version "2.12.3"