LilyPond 記譜法リファレンス: 2.9.6 古代音楽に取り組む—事例とその解決法

### 2.9.6 古代音楽に取り組む—事例とその解決法

古代音楽の譜刻に取り組む場合、LilyPond の主なターゲットである現代の記譜法とはかなり異なる作業を強いられることが多くあります。このセクションの残りでは、いくつかの事例を取り上げ、その解決法の 1 つを示します。取り上げる事例は以下の通りです:

- 計量音楽の現代転写譜で、インキピット (オリジナルの楽譜がどのようであったかを楽譜の先頭に示すもの) をどのように作るか
- ポリフォニー音楽の現代転写譜で頻繁に使われる、Mensurstriche レイアウトをどのように作るか
- グレゴリオ聖歌を現代譜にどのように転写するか
- 同じソースから古代と現代の記譜法の両方の楽譜をどのように生成するか

#### インキピット

計量音楽を現代記譜法に転写するとき、オリジナルの楽譜の最初にある休符や音符がどのようであったかを、音部記号と共に示すことが習慣となっています。これがインキピット (incipit) と呼ばれるものです。`\incipit` コマンドは、メインの譜の `indent` を、インキピットによって占有される部分の幅として、また、`incipit-width` を、インキピットの譜の幅として使用します。

>     \score {
>       \new Staff <<
>         \new Voice = Tenor {
>           \set Staff.instrumentName = "Tenor"
>           \override Staff.InstrumentName.self-alignment-X = #RIGHT
>           \incipit { \clef "mensural-c4" \key f \major r\breve r1 c'1 }
>           \clef "treble_8"
>           \key f \major
>           R1 r2 c'2 |
>           a4. c'8
>         }
>         \new Lyrics \lyricsto Tenor { Cyn -- thia your }
>       >>
>       \layout
>       {
>         indent = 5\cm
>         incipit-width = 3\cm
>       }
>     }

#### 既知の問題と警告

インキピットを生成するためには、`instrumentName` がセットされている必要があります。楽器名が必要ない場合には、 `\set Staff.instrumentName = ""` としてください。

#### Mensurstriche レイアウト

Mensurstriche (‘計量 (記譜法の) 線’) は一般に受け入れられた用語で、同じシステム (段) 内にある譜と譜の間には引かれ、譜自体には引かれない 小節線のことです。このようにして、小節線の持つ位置決めの機能を保ちつつ、 オリジナルのリズムの表示を失わないように (シンコペーションされた音符が小節線によって区切られてしまわないように) することが通例となっています。

Mensurstriche (計量音楽風の) レイアウトでは、小節線を譜の中には表示せず、譜と譜の間に表示します。これは、`ChoirStaff` の代わりに `StaffGroup` を用いることで実現できます。譜の中にある小節線は `\hide` で非表示にします。

>     \layout {
>       \context {
>         \Staff
>         measureBarType = "-span|"
>       }
>     }

>     music = \fixed c'' {
>       c1
>       d2 \section e2
>       f1 \fine
>     }

>     \new StaffGroup <<
>       \new Staff \music
>       \new Staff \music
>     >>

#### グレゴリオ聖歌を転写する

グレゴリオ聖歌は、いくつかのシンプルな調整によって現代譜に転写することができます。

符幹: `Voice` コンテキストの `Stem_engraver` を `\remove` によって削除することで、符幹を完全に作らないようにできます:

>     \layout {
>       …
>       \context {
>         \Voice
>           \remove Stem_engraver
>       }
>     }

タイミング: 拍子の無い曲では、いくつかの手段があります:

`Time_signature_engraver` を `Staff` コンテキストから問題なく削除することができます。そうせずに、拍子記号を透明にすると、拍子記号はスペースを確保したままであるため、楽譜には何もないスペースが残ってしまいます。

多くの場合では、`\set Score.timing = ##f` が良い結果をもたらします。他には、`\cadenzaOn` と `\cadenzaOff` を使う方法があります。

小節線を削除するには、基本的には `Staff` コンテキストの `Bar_engraver` を `\remove` によって削除します。小節線が必要な部分がある場合、`\hide BarLine` を代わりに使うことができます。

朗唱部分は、繰り返される音符が 1 つのブレーヴェで示されます。朗唱のテキストを配置する方法は 2 つあります。1 つ目は、左揃えの 1 音節として配置する方法です:

    \include "gregorian.ly"
    chant = \relative {
      \clef "G_8"
      c'\breve c4 b4 a c2 c4  \divisioMaior
      c\breve c4 c f, f \finalis
    }

    verba = \lyricmode {
      \once \override LyricText.self-alignment-X = #-1
      "Noctem quietam et" fi -- nem per -- fec -- tum
      \once \override LyricText.self-alignment-X = #-1
      "concedat nobis Dominus" om -- ni -- po -- tens.
    }
    \score {
      \new Staff <<
      \new Voice = "melody" \chant
      \new Lyrics = "one" \lyricsto melody \verba
      >>
      \layout {
        \context {
          \Staff
          \remove Time_signature_engraver
          \remove Bar_engraver
        }
        \context {
          \Voice
          \remove Stem_engraver
        }
      }
    }

これで基本的に問題はありませんが、テキストが改行しないという問題があります。改行が必要な場合は、以下のように、楽譜に不可視の音符を付け加えます。

一部の転写のスタイルでは、例えば朗唱部分からメロディ部分へと以降することを示すために、符幹が用いられることがあります。このような場合、`Stem_engraver` を `\remove` する代わりに、`\hide Stem` あるいは `\override Stem.length = #0` を使い、 符幹が必要な場面で `\undo \hide Stem` (訳注: あるいは `\revert Stem.length`) を使って元に戻すことができます。

    \include "gregorian.ly"
    chant = \relative {
      \clef "G_8"
      \set Score.timing = ##f
      \hide Stem
      c'\breve \hide NoteHead  c c c c c
      \undo \hide NoteHead
      \undo \hide Stem \stemUp c4 b4 a
      \hide Stem c2 c4  \divisioMaior
      c\breve \hide NoteHead c c c c c c c
      \undo \hide NoteHead c4 c f, f \finalis
    }

    verba = \lyricmode {
      No -- ctem qui -- e -- tam et fi -- nem per -- fec -- tum
      con -- ce -- dat no -- bis Do -- mi -- nus om -- ni -- po -- tens.
    }

    \score {
      \new Staff <<
        \new Voice = "melody" \chant
        \new Lyrics \lyricsto "melody" \verba
      >>
      \layout {
        \context {
          \Staff
          \remove Time_signature_engraver
          \hide BarLine
        }
      }
    }

ネウマ譜あるいはメリスマ式の聖歌 (それぞれの音節に様々な数の音符が割り当てられているもの) を転写することも一般的です。このとき、音節ごとに間を開けて、長いメリスマにおいては、更に細かいグループに分けて表示したい場合があります。これを行う方法の 1 つは、`\time` を 1/4 などに固定し、連符や短い音符を使って、それぞれの音節やグループで 1 小節を作るというものです。小節線や他のリズムに関する表示が透明になっていて、小節線の周りのスペースが増やされているなら、現代譜で上手くオリジナルを表現することができます。

異なる長さの音節 (“-ri” と “-rum” など) によって音符のグループが不均一な間隔で分かれてしまうなら、`LyricText` オブジェクトの `X-extent` プロパティを固定値にセットすることで対処できます。または、より厄介ではありますが、音節を `\markup` 要素にするという方法があります。更に調整が必要なら、`s` ‘音符’で簡単に行うことができます。

>     spiritus = \relative {
>       \time 1/4
>       \override Lyrics.LyricText.X-extent  = #'(0 . 3)
>       d'4 \tuplet 3/2 { f8 a g } g a a4 g f8 e
>       d4 f8 g g8 d f g a g f4 g8 a a4  s
>       \tuplet 3/2 { g8 f d } e f g a g4
>     }

>     spirLyr = \lyricmode {
>       Spi -- ri -- _ _ tus  _ Do -- mi -- ni  _ re -- ple -- _ vit _
>       or -- _ bem _  ter -- ra -- _ rum, al -- _ _ le -- _ lu
>       -- _ ia.
>     }
>     \score {
>       \new Staff <<
>         \new Voice = "chant" \spiritus
>         \new Lyrics = "one" \lyricsto "chant" \spirLyr
>       >>
>       \layout {
>         \context {
>           \Staff
>           \remove Time_signature_engraver
>           \override BarLine.X-extent = #'(-1 . 1)
>           \hide Stem
>           \hide Beam
>           \hide BarLine
>           \hide TupletNumber
>         }
>       }
>     }

#### 1 つのソースから古代譜と現代譜の両方を生成する

#### タグを使用して同じソースから計量音楽譜と現代譜を生成する

タグを使用して、同じ音楽に対して計量音楽譜と現代譜の両方を生成することができます。このスニペットでは、`menrest` 関数が定義されており、計量音楽における休符の位置は維持しながら、現代譜における休符は通常の位置に配置しています。タグは曲の終わりにある小節線を 2 つの楽譜で異なるものにするために使用していますが、区別が必要な他の場面でも用いることができます: 例えば、現代譜では “全休符” (R1, R\breve など) を使用したいが、計量音楽譜では通常の休符 (r1, r\breve など) を使用したい場合です。計量音楽を現代音楽に変換する作業は通常 “転写 (transcription)” と呼ばれます。

>     menrest = #(define-music-function (note)
>       (ly:music?)
>     #{
>         \tag #'mens $(make-music 'RestEvent note)
>         \tag #'mod $(make-music 'RestEvent note 'pitch '())
>     #})

>     MenStyle = {
>       \autoBeamOff
>       \override NoteHead.style = #'petrucci
>       \override Score.BarNumber.transparent = ##t
>       \override Stem.neutral-direction = #up
>     }

>     finalis = \section

>     Music = \relative c'' {
>       \set Score.tempoHideNote = ##t
>       \key f \major
>       \time 4/4
>       g1 d'2 \menrest bes4 bes2 a2 r4 g4 fis2.
>       \finalis
>     }

>     MenLyr = \lyricmode { So farre, deere life, deare life }
>     ModLyr = \lyricmode { So far, dear life, dear life }

>     \score {
>       \keepWithTag #'mens {
>         <<
>           \new MensuralStaff
>           {
>             \new MensuralVoice = Cantus
>               \clef "mensural-c1" \MenStyle \Music
>           }
>           \new Lyrics \lyricsto Cantus \MenLyr
>         >>
>       }
>     }

>     \score {
>       \keepWithTag #'mod {
>         \new ChoirStaff <<
>           \new Staff
>           {
>             \new Voice = Sop \with {
>               \remove "Note_heads_engraver"
>               \consists "Completion_heads_engraver"
>               \remove "Rest_engraver"
>               \consists "Completion_rest_engraver" }
>             {
>               \shiftDurations #1 #0 { \autoBeamOff \Music }
>             }
>           }
>           \new Lyrics \lyricsto Sop \ModLyr
>         >>
>       }
>     }

#### 編集上のマーク

#### LilyPond — 記譜法リファレンス v2.24.4 (安定版).

- 2. 専門的な記譜法
- 3. 入出力全般
- 4. スペースの問題
- 5. デフォルトを変更する
- A. 付表
- B. カンニング ペーパー
- C. GNU Free Documentation License
- D. LilyPond コマンド インデックス
- E. LilyPond インデックス