Ancient notation
Ancient notation
通奏低音を音符の上か下に追加する
通奏低音を記述する際、BassFigureAlignmentPositioning.direction
プロパティを定義することで (Staff
コンテキストである必要があります)、数字を音符の上または下に配置することができます。セットできる選択肢は
#UP
(または #1
), #CENTER
(または #0
),
#DOWN
(または #-1
) です。
このプロパティはいつでも変更することができます。楽譜全体に変更を適用したくない場合は、\once \override
を使用してください。
bass = {
\clef bass
g4 b, c d
e d8 c d2
}
continuo = \figuremode {
<_>4 <6>4 <5/>4
\override Staff.BassFigureAlignmentPositioning.direction = #UP
%\bassFigureStaffAlignmentUp
< _+ >4 <6>
\set Staff.useBassFigureExtenders = ##t
\override Staff.BassFigureAlignmentPositioning.direction = #DOWN
%\bassFigureStaffAlignmentDown
<4>4. <4>8 <_+>4
}
\score {
<<
\new Staff = bassStaff \bass
\context Staff = bassStaff \continuo
>>
}
古代の記譜法のフォント
以下に表示するのは、LilyPond の古代の記譜法に含まれる記号です。
upperStaff = \new VaticanaStaff = "upperStaff" <<
\context VaticanaVoice <<
\transpose c c {
\override NoteHead.style = #'vaticana.punctum
\key es \major
\clef "vaticana-fa2"
c1 des e f ges
\override NoteHead.style = #'vaticana.inclinatum
a! b ces'
\bar "|"
\override NoteHead.style = #'vaticana.quilisma
b! des'! ges! fes!
\breathe
\clef "vaticana-fa1"
\override NoteHead.style = #'vaticana.plica
es d
\override NoteHead.style = #'vaticana.reverse.plica
c d
\bar "|"
\override NoteHead.style = #'vaticana.punctum.cavum
es f
\override NoteHead.style = #'vaticana.lpes
g as
\override NoteHead.style = #'vaticana.upes
bes as
\override NoteHead.style = #'vaticana.vupes
g f
\override NoteHead.style = #'vaticana.linea.punctum
\once \override Staff.BarLine.bar-extent = #'(-1 . 1) \bar "|"
es d
\override NoteHead.style = #'vaticana.epiphonus
c d
\override NoteHead.style = #'vaticana.cephalicus
es f
\set Staff.alterationGlyphs =
#alteration-medicaea-glyph-name-alist
\override Staff.Custos.style = #'medicaea
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-fa2"
ces des
\bar "|"
e! f! ges
\clef "medicaea-do2"
\override NoteHead.style = #'medicaea.inclinatum
a! b! ces'
\override NoteHead.style = #'medicaea.virga
b! a!
\bar "|"
ges fes
\clef "medicaea-fa1"
\override NoteHead.style = #'medicaea.rvirga
e des ces
\set Staff.alterationGlyphs =
#alteration-hufnagel-glyph-name-alist
\override Staff.Custos.style = #'hufnagel
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-fa2"
ces des es
\bar "|"
fes ges
\clef "hufnagel-do2"
\override NoteHead.style = #'hufnagel.lpes
as! bes! ces'
\override NoteHead.style = #'hufnagel.virga
bes! as!
\bar "|"
ges! fes!
\clef "hufnagel-do-fa"
\override NoteHead.style = #'hufnagel.punctum
es! des ces des! es! fes!
\bar "||"
s32*1
}
>>
>>
lowerStaff = \new MensuralStaff = "lowerStaff" <<
\context MensuralVoice <<
\transpose c c {
\key a \major
cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \]
\set Staff.forceClef = ##t
\clef "neomensural-c2"
cis1
\bar "|"
\[ g\breve dis''\longa \]
b\breve \[ a\longa d\longa \]
\clef "petrucci-c2"
fis1 ces1
\clef "petrucci-c2"
r\longa
\set Staff.forceClef = ##t
\clef "mensural-c2"
r\breve
\bar "|"
r2
\clef "mensural-g"
r4 r8 r16 r16
\override NoteHead.style = #'mensural
\override Rest.style = #'mensural
\clef "petrucci-f"
c8 b, c16 b, c32 b, c64 b, c64 b,
d8 e d16 e d32 e d64 e d64 e
r\longa
\set Staff.forceClef = ##t
\clef "petrucci-f"
r\breve
\bar "|"
r\breve
\clef "mensural-f"
r2 r4 r8 r16 r16
\set Staff.forceClef = ##t
\clef "mensural-f"
e\breve f g a1
\clef "mensural-g"
\[ bes'!\longa a'!\longa c''!\longa \]
e'1 d' c' d' \bar "|"
\bar "|"
bes'!\longa fis'!1 as'!1 ges'!\longa % lig
\set Staff.forceClef = ##t
\clef "mensural-g"
e'2 d' c' \bar "|"
\set Staff.forceClef = ##t
\clef "petrucci-g"
c'2 d' e' f'
\clef "petrucci-g"
g' as'! bes'! cis''!
bes'! as'! gis'! fis'!
\set Staff.forceClef = ##t
\clef "mensural-g"
es'! des'! cis'!1 \bar "||"
}
>>
>>
\paper {
line-thickness = #(/ staff-space 5.0)
}
\score {
<<
\upperStaff
\lowerStaff
>>
\layout {
indent = 0.0
\context {
\Score
timing = ##f
}
\context {
\MensuralVoice
\override NoteHead.style = #'neomensural
\override Rest.style = #'neomensural
\override Flag.style = #'mensural
\override Stem.thickness = #1.0
}
\context {
\MensuralStaff
\revert BarLine.transparent
alterationGlyphs =
#alteration-mensural-glyph-name-alist
clefGlyph = #"clefs.petrucci.c2"
}
\context {
\VaticanaStaff
\revert BarLine.transparent
\override StaffSymbol.thickness = #2.0
alterationGlyphs =
#alteration-vaticana-glyph-name-alist
\override Custos.neutral-position = #4
}
}
}
古代の記譜法のテンプレート – グレゴリオ聖歌の転写譜
この例は、グレゴリオ聖歌の転写譜を作成する方法を示しています。グレゴリオ聖歌は小節を持たず、符幹もありません。2 分音符と 4 分音符の符頭と、異なる長さの休符を表示するための特殊な記号しか用いません。
\include "gregorian.ly"
chant = \relative c' {
\set Score.timing = ##f
f4 a2 \divisioMinima
g4 b a2 f2 \divisioMaior
g4( f) f( g) a2 \finalis
}
verba = \lyricmode {
Lo -- rem ip -- sum do -- lor sit a -- met
}
\score {
\new GregorianTranscriptionStaff <<
\new GregorianTranscriptionVoice = "melody" \chant
\new GregorianTranscriptionLyrics = "one" \lyricsto melody \verba
>>
}
古代の拍子記号
拍子記号も古代のスタイルで表示することができます。
{
\override Staff.TimeSignature.style = #'neomensural
s1
}
チャントまたは詩編の記譜法
以下のような記譜は、詞が必ずしも同じ長さではない詩編のチャントなどで用いられます。
stemOff = \hide Staff.Stem
stemOn = \undo \stemOff
\score {
\new Staff \with { \remove "Time_signature_engraver" }
{
\key g \minor
\cadenzaOn
\stemOff a'\breve bes'4 g'4
\stemOn a'2 \section
\stemOff a'\breve g'4 a'4
\stemOn f'2 \section
\stemOff a'\breve^\markup { \italic flexe }
\stemOn g'2 \fine
}
}
クストス
クストスは様々なスタイルで譜刻することができます。
\layout { ragged-right = ##t }
\new Staff \with { \consists "Custos_engraver" } \relative c' {
\override Staff.Custos.neutral-position = #4
\override Staff.Custos.style = #'hufnagel
c1^"hufnagel" \break
<d a' f'>1
\override Staff.Custos.style = #'medicaea
c1^"medicaea" \break
<d a' f'>1
\override Staff.Custos.style = #'vaticana
c1^"vaticana" \break
<d a' f'>1
\override Staff.Custos.style = #'mensural
c1^"mensural" \break
<d a' f'>1
}
インキピット
計量音楽を転写する際、曲の最初に表示されるインキピットは、原曲の調やテンポを記述するのに有用です。現代の音楽家は小節線に慣れていますが、計量音楽の時代には知られていないものでした。そのため妥協策として、小節線が譜と譜の間に表示されることがあります。これは計量音楽風の (mensurstriche) レイアウトと呼ばれています。
%% With 2.23. this throws:
%% programming error: Loose column does not have right side to attach to.
%% Likely "Hidden BarLine during note yields programming error"
%% https://gitlab.com/lilypond/lilypond/-/issues/4084
%% --Harm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% A short excerpt from the Jubilate Deo by Orlande de Lassus
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
global = {
\set Score.skipBars = ##t
\key g \major
\time 4/4
% the actual music
\skip 1*8
% let finis bar go through all staves
\override Staff.BarLine.transparent = ##f
% finis bar
\bar "|."
}
discantusIncipit = {
\clef "neomensural-c1"
\key f \major
\time 2/2
c''1.
}
discantusNotes = {
\transpose c' c'' {
\clef "treble"
d'2. d'4 |
b e' d'2 |
c'4 e'4.( d'8 c' b |
a4) b a2 |
b4.( c'8 d'4) c'4 |
\once \hide NoteHead
c'1 |
b\breve |
}
}
discantusLyrics = \lyricmode {
Ju -- bi -- la -- te De -- o,
om -- nis ter -- ra, __ om-
"..."
-us.
}
altusIncipit = {
\clef "neomensural-c3"
\key f \major
\time 2/2
r1 f'1.
}
altusNotes = {
\transpose c' c'' {
\clef "treble"
r2 g2. e4 fis g |
a2 g4 e |
fis g4.( fis16 e fis4) |
g1 |
\once \hide NoteHead
g1 |
g\breve |
}
}
altusLyrics = \lyricmode {
Ju -- bi -- la -- te
De -- o, om -- nis ter -- ra,
"..."
-us.
}
tenorIncipit = {
\clef "neomensural-c4"
\key f \major
\time 2/2
r\longa
r\breve
r1 c'1.
}
tenorNotes = {
\transpose c' c' {
\clef "treble_8"
R1 |
R1 |
R1 |
% two measures
r2 d'2. d'4 b e' |
\once \hide NoteHead
e'1 |
d'\breve |
}
}
tenorLyrics = \lyricmode {
Ju -- bi -- la -- te
"..."
-us.
}
bassusIncipit = {
\clef "mensural-f"
\key f \major
\time 2/2
r\maxima
f1.
}
bassusNotes = {
\transpose c' c' {
\clef "bass"
R1 |
R1 |
R1 |
R1 |
g2. e4 |
\once \hide NoteHead
e1 |
g\breve |
}
}
bassusLyrics = \lyricmode {
Ju -- bi-
"..."
-us.
}
\score {
<<
\new StaffGroup = choirStaff <<
\new Voice = "discantusNotes" <<
\set Staff.instrumentName = "Discantus"
\incipit \discantusIncipit
\global
\discantusNotes
>>
\new Lyrics \lyricsto discantusNotes { \discantusLyrics }
\new Voice = "altusNotes" <<
\set Staff.instrumentName = "Altus"
\global
\incipit \altusIncipit
\altusNotes
>>
\new Lyrics \lyricsto altusNotes { \altusLyrics }
\new Voice = "tenorNotes" <<
\set Staff.instrumentName = "Tenor"
\global
\incipit \tenorIncipit
\tenorNotes
>>
\new Lyrics \lyricsto tenorNotes { \tenorLyrics }
\new Voice = "bassusNotes" <<
\set Staff.instrumentName = "Bassus"
\global
\incipit \bassusIncipit
\bassusNotes
>>
\new Lyrics \lyricsto bassusNotes { \bassusLyrics }
>>
>>
\layout {
\context {
\Score
%% no bar lines in staves or lyrics
\hide BarLine
}
%% the next two instructions keep the lyrics between the bar lines
\context {
\Lyrics
\consists "Bar_engraver"
\consists "Separating_line_group_engraver"
}
\context {
\Voice
%% no slurs
\hide Slur
%% Comment in the below "\remove" command to allow line
%% breaking also at those bar lines where a note overlaps
%% into the next measure. The command is commented out in this
%% short example score, but especially for large scores, you
%% will typically yield better line breaking and thus improve
%% overall spacing if you comment in the following command.
%%\remove "Forbid_line_break_engraver"
}
indent = 6\cm
incipit-width = 4\cm
}
}
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
>>
休符のスタイル
休符には様々なスタイルが使用できます。
\new Staff \relative c {
\omit Score.TimeSignature
\cadenzaOn
\override Staff.Rest.style = #'mensural
r\maxima^\markup \typewriter { mensural }
r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
\bar ""
\break
\override Staff.Rest.style = #'neomensural
r\maxima^\markup \typewriter { neomensural }
r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
\bar ""
\break
\override Staff.Rest.style = #'classical
r\maxima^\markup \typewriter { classical }
r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
\bar ""
\break
\override Staff.Rest.style = #'z
r\maxima^\markup \typewriter { z-style }
r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
\bar ""
\break
\override Staff.Rest.style = #'default
r\maxima^\markup \typewriter { default }
r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
}
タグを使用して同じソースから計量音楽譜と現代譜を生成する
タグを使用して、同じ音楽に対して計量音楽譜と現代譜の両方を生成することができます。このスニペットでは、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
>>
}
}
バロック音楽の縦線アーティキュレーション マーク
音符の上にある短い線は、バロック音楽で広く用いられるものです。意味は様々ですが、通常は音符をより“重く”演奏することを指示しています。次の例は、この記譜をどのように実現するかを示しています。
upline =
\tweak stencil
#(lambda (grob)
(grob-interpret-markup grob #{ \markup \draw-line #'(0 . 1) #}))
\stopped
\relative c' {
a'4^\upline a( c d')_\upline
}