私はLilyPondを使用して練習スコアとエチュードを作成します。Moveable Doソルフェージュ表記で音符を入力できるようにする方法を理解し、音符の下にソルフェージュ記号を歌詞として表示することをサポートするテンプレート(以下を参照)を用意しました。現在、音楽を生成する表記とマークアップから歌詞を手動で抽出する必要があります。私はこれをいくつかのpythonとvimコード(ここには示されていません)で部分的に自動化することができましたが、それでもやや不十分です。
最善の解決策は、ファイルの処理中にLilyPondの組み込みSchemeインタープリターを使用してピッチ名を抽出することだと思います。ly:note-pitchnameでmapを使用しようとしましたが、これまでのところ成功していません。おそらく、特にLilyPondスクリプトで使用されているように、Schemeについてスクワットを知っているからです。
% 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"