LilyPondでの現代音楽のセット

LilyPondとは何か、またLilyPondは何と一緒に食べられるのかを既に説明しました。 残念ながら、簡単な記事を書くという約束を果たすことはできませんでしたが、 N。Korndorfの音楽から恐ろしい音楽の例をどのようにタイプしたかを説明するつもりでした



(「ようこそ!」6人の女性の声)





どんな困難がありますか?





最初の問題を解決するには、内部のガイドを調べる必要があります 。 スコアコンテキストにMetronome_mark_engraverテンポ指定子が含まれていることを示しています。 次の行は、それをStaffコンテキスト(音楽スタッフ)に転送します。これにより、異なる行に異なるテンポを(だけでなく)書き込むことができます。

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





また、ここでは、スコアのコンテキストから、Default_bar_line_engraverとTiming_translatorがキャンプのコンテキストに転送されます。これらは、タイムラインとサイズのコンプライアンス(3番目のポイント)を担当します。



2番目の問題は、 持続時間のスケーリングによって解決されます 。 \ scaleDurationsコマンドは、指定された比率で期間を変更します。 引数の順序(\ timesコマンド、トリオリ、四分位、キントール、その他の複数語[eng:tuplet]を作成するのと同じ)、私はこれを思い出しました:88-80の代わりに 、分数を特に減らしませんでした。 2番目のキャンプ)。

 \scaleDurations #'(88 . 80) { \relative c' { f4\repeatTie ( g2) g4 ~ g8. g16 ( ~ g4 ~ g8. fis16 ~ fis4 fis8 g ~ g4 | ... } \addlyrics { _ la ka ma na pa ra sa } }
      
      







寸法とクロックラインを使用して、私は次のように行動しました。 まず、バージョン2.15(安定版2.16がリリースされようとしている)で、単純な\ compoundMeterコマンドが登場しました。このコマンドを使用して、クロックサイズをプラスで描画できます。 ただし、このコマンドを使用しただけでは望ましい効果は得られません。この場合、測定サイズはすべてのコンポーネントの合計に等しくなりますが、ここではタイムラインでそれらを分離する必要があります。 測定サイズの手動設定が助けになります(例:最初のキャンプ)。

 \compoundMeter #'((11 4) (11 4) (11 4) (11 4)) \set Timing.measureLength = #(ly:make-moment 11 4)
      
      







3番目と6番目のキャンプはより複雑です。その構成要素は等しくありません(例:3番目のキャンプ)。

 \compoundMeter #'((9 4) (3 4) (6 4) (6 4) (3 4) (9 4)) \tempo 4 = 72 \relative c' { \dynamicUp \scaleDurations #' (88 . 72) { \set Timing.measureLength = #(ly:make-moment 11 4) e8.\repeatTie ( f16 ~ f4 ~f8 e ~ e4 dis4 ~ dis8. e16 ~ e4 ~ e8.) e16~ ( e4 | \set Timing.measureLength = #(ly:make-moment 11 12) e8 f ~ f4 e ~ | \set Timing.measureLength = #(ly:make-moment 11 6) e8. dis16 ~ dis4 dis16 e8. ~ e4) e2 \once \override Staff.BarLine #'allow-span-bar = ##f \set Timing.measureLength = #(ly:make-moment 11 6) e4~( e8. dis16 ~ dis4 ~ dis8 e8 ~ e4 dis4 ~ | \set Timing.measureLength = #(ly:make-moment 11 12) dis8. e16 ~ e4 ~ e8.) e16~ | \set Timing.measureLength = #(ly:make-moment 11 4) e4 ~ e8 e8\mp\<~( e4 dis ~ dis8. e16 ~ e4 ~ e8. ) f16->\mf~f4 ~ f8 f8~ | \bar "||" f4 } }
      
      





ここでは、新しいメジャーごとに、Timing.measureLengthプロパティが適切な値に設定されます。 関数#(ly:make-moment)は、特定の期間を作成します。 注意:scaleDurations-block内では、クロックサイズはグローバル時間に従って計算する必要があります。ここからサイズは11 / 4、11 / 6、11 / 12です。 さらに、allow-span-barプロパティを1回(\ 1回)変更すると、このバーを5番目のキャンプの別のバーと組み合わせることは禁止されます。 同じ場所で、同じデザインが4番目の工場に登録されています。



\ setと\ overrideの違いは何ですか
\ setコマンドはコンテキストのプロパティを制御し、\ overrideはcoのプロパティを制御します(grob =グラフィカルオブジェクト)。 また、直後のオブジェクトのプロパティを変更する\ tweakコマンドがあり、そのタイプは指定する必要さえありません。 \ once \ overrideオプションは、1回だけ使用するためにプロパティをオーバーライドします(ただし、このコマンドの直後に必ずしも必要ではありません)



化粧品の変更には、spacing-incrementパラメータの減少(デュレーションを2倍にしたときのベースに対するノート間の距離の増加)がデフォルトの1.2から0に減少した

5およびフォントとテキストサイズを変更します。

 \layout { ... \override SpacingSpanner #'spacing-increment = #0.5 } ... \context { \Lyrics \override LyricText #'font-name = #"Century" \override LyricText #'font-size = #3 } }
      
      







セットのその他のニュアンスが明確でない場合は、喜んで明確にします。



ソースコード: pastebin.com/EXsYRQzg

最新の不安定版をダウンロードしてください: lilypond.org/development.html (2.14では動作しません)。



All Articles