J'utilise LilyPond pour créer des partitions de pratique et des études. J'ai trouvé comment autoriser la saisie de notes dans la notation de solfège Moveable Do et avoir un modèle (voir ci-dessous) qui supporte l'affichage des symboles de solfège sous forme de paroles sous les notes. Actuellement, je dois extraire manuellement les paroles de la notation plus le balisage qui génère la musique. J'ai été capable d'automatiser partiellement ceci avec du code python et vim (non montré ici), mais il est encore un peu insatisfaisant.LilyPond: Extraire des noms de chansons de la musique
Il me semble que la meilleure solution serait d'utiliser l'interpréteur Scheme intégré de LilyPond pour extraire les noms de hauteur pendant le traitement du fichier. J'ai fait quelques tentatives pour utiliser map avec ly: note-pitchname, mais jusqu'ici aucun succès. Probablement parce que je connais squat sur Scheme, surtout comme utilisé dans les scripts 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"