說明:樂譜
本頁為操作指南,用於介紹中文維基百科社群的一些實作和操作方式。 本文只是論述,不屬於方針或指引。如果本指南與方針或指引起衝突或不一致,請以方針或指引的條文為準。 |
由於安全問題,LilyPond和<score>標籤的部分功能已被禁用,包括但不限於 vorbis=1 的設定。參見Phabricator工單T257066。該問題在2021年8月修復。 |
標籤<score>...</score>
可以生成樂譜(五線譜)。預設使用GNU LilyPond標記式語言,也可以用ABC記譜法。詳見Extension:Score。
本文就LilyPond的語法作簡單說明,關於LilyPond的語法細節,參見LilyPond文件。語法錯誤的文件被歸類在Category:有樂譜生成錯誤的頁面。
標籤屬性
屬性 | 描述 |
---|---|
lang="ABC" |
使用ABC記譜法 |
lang="lilypond" |
使用LilyPond(預設) |
midi="1" |
在曲譜圖片上生成連結,連結至其自動生成的MIDI檔案 |
vorbis="1" |
在曲譜下方生成播放器,播放自動生成的Ogg Vorbis檔案 |
raw="1" |
作為完整的LilyPond檔案編譯(要求lang屬性為lilypond) |
override_midi="…" |
在曲譜圖片上生成連結,連結至指定的MIDI檔案 |
override_ogg="…" |
在曲譜下方生成播放器,播放指定的Ogg檔案 |
案例
簡單
<score> {c' d' e' f' f' fes' eis' e'} </score>
生成
略複雜
<score> \transpose c g \relative c' { \key c \minor \time 4/4 c4 e8 e g4 g % 百分比號後是註釋 <c es g>2 <c es g> % 單書名號生成和弦 es4 d( ces b) % 括號生成連結線 a4. r8 a4 a % r 代表休止 e-- e-> e-. g\fermata % 重音和其他音樂符號 \bar "|." } </score>
生成
語法
LilyPond代碼衍生自LaTeX,大小寫敏感,無視連續空格和換行。代碼必須用<score>...</score>
圍起來。音符必須放在大括號裏面 {...}
。百分比號 %
後的代碼視為註釋。
音高
輸入字母音名來表示音高(如a b c
),中間用空格隔開。
字尾 -is
表示升半音(ais
、bis
、cis
、dis
、eis
、fis
、gis
)。
字尾 -es
表示降半音 (aes
、bes
、ces
、des
、ees
、fes
、ges
)。
或
。
上撇號('
)用來升八度,逗號(,
)用來降八度。如中央C的表示方法是c'
。
<score> { a,, c, e, a, c e a c' e' a' c'' e'' a'' c''' e''' g''' \bar "||" aes'' bes'' gis'' dis'' } </score>
用相對音高可以減輕工作量。在大括號前加上\relative
進入相對音高模式,根據前一個音符來推算八度。全譜第一個音符的八度則從\relative
標籤後的標識音推算。如 \relative c
。
相對音高模式計算八度時,預設視為前音符上下三度的內的八度(不計算半音),並使用 '
和 ,
來跨八度。
<score> \relative c' { e f <c e g>2 a'4( b c) c, d8 e f16 g a b c4. a8 e' f g, f r \autoBeamOff e d c b4 a g b-> c2.-> r4 \bar "|." } </score>
註明音調
樂譜預設為C大調。用\key g \major
、\key c \minor
或直接寫上調式如\key c \dorian
或\key c \mixolydian
來轉調。任何地方都可以轉調。
需要注意一點,調式與音高無關。轉調只會影響變音記號的顯示,不會改變音高。在轉調的音高上的每一個音符仍必須用 (-is) 和 (-es) 來表示半音升降。如果不寫,會被當成還原音。舉一個升C大調上的例子:
<score> \relative c' { \key cis \major \time 6/8 % -is 后缀代表升半音 cis8 dis eis fis gis ais % 不带后缀代表还原音 b c d e f g } </score>
節奏
字母音名後的數字代表音符時值,中間不加空格 (a4 b8
)。1代表全音符,2代表二分音符,4是四分音符,8是八分音符,以此類推。如果不寫明時值,預設用和前一個音符一樣的時值。如果前面沒有音符,則預設為4分音符。
字母 r
代表休止符。小數點代表附點(將音符時值延長一半) (c4.
)。
<score> \relative c''{b1 b2 b4 b8 c r4 b4. b} </score>
拍號
樂譜預設拍號是4/4拍。 用 \time
命令來設定其他的拍號。 若要設置成二二拍,輸入\time 2/2
,三四拍(華爾茲節奏)則輸入\time 3/4
。大多數時候拍號可以隨便改。
隱藏拍號
有些音樂的譜例中,拍號可能多餘。輸入\remove "Time_signature_engraver"
隱藏拍號。
<score> { \new Staff \with { \remove "Time_signature_engraver" } <d' fis' a'>2 } </score>
速度
如果需要用vorbis = "1"
等屬性來提供試聽功能,則需要定義樂曲速度。使用\tempo
來定義速度。\tempo 4= 135
定義為每分鐘135個四分音符,每分鐘播放音符越多,樂曲速度越快。樂曲中間可以改變速度。
試聽不同速度的歡樂頌。
<score vorbis="1"> \relative c' { \tempo 4 = 70 e4 e f g g f e d \tempo 4 = 160 c c d e d4. c8 c2 } </score>
弱起小節
\partial 4
會生成一個包括一個四分音符的弱起小節。\partial 4*2
會生成一個包括兩個四分音符的弱起小節。以此類推。Help:樂譜#添加歌詞里有一個例子。
自訂符杆
程式會自動生成符槓。如果覺得自動生成的符槓不好看或者不想要,可以把\noBeam
放在被劃槓的音符中間來刪除,如g a b \noBeam g
。若要在一段區間內完全關閉自動劃槓,用\autoBeamOff
和 \autoBeamOn
開關。
<score> \relative c'' { \time 3/4 r4. g8 \noBeam a8 b8 } </score>
若要手動劃槓,在符槓開始和結束的音符後輸入一對方括號。a8 b[ c d e] f
這樣把最先和最後的兩個音符撇開,b、c、 d和e劃成一槓。
添加歌詞
用 \addlyrics
可以添加歌詞。讀LilyPond文件詳細了解歌詞的對齊方式。
<score> \relative g' { \key g \major \time 3/4 \partial 4 d e d g fis2 d4 e d a' g2 d4 d' b g fis e c' b g a g2 \fermata \bar "|." } \addlyrics { 祝你 生 日 快 樂 祝你 生 日 快 樂 祝你 生 日 快 樂 - 祝你 生 日 快 樂 } </score>
對齊中文歌詞比英文略簡單。因為中文一個字元對應一個音節,所以一般用空格將每個字隔開即可,不需要用到--
來連接單詞。_
用來跳過一個音符。
和弦名
和弦名可以加在單獨的ChordNames
譜中,附在五線譜邊(上述至此講的都是五線譜),方法如下:
<score> << \new ChordNames \chordmode { \set chordChanges = ##t % 设置只在和弦变化时显示(本例中为不重复显示Am) a4:m a4:m | % 第一小节 - A7的话是 a:7 g2 | % 第二小节 } \new Staff \relative c''{ \key a \dorian \time 2/4 a8 a16 a a8 a16 a | % 第一小节 b8 a g4 | % 第二小节 } >> </score>
注:
在ChordNames
譜中可以用字母 s
而不是 r
(休止符)表示沒有和弦。
r
會把「沒有和弦」直接
寫出來。而 s
只空出和弦名,不會顯示。
在五線譜中用 s
表示一個不印刷的休止符。
強調和其他符號
LilyPond中還能用各種符號,如\fermata
(自由延長符號)。還有 {e-> f-- g-+ a-. b-^ c-_ d-|}
等。^
、-
、_
表示符號的位置,後面直接輸入要標註的文字。
<score> \relative c' { e-> f-- g-^ a-. b_"Joyfully" c^"渐强" d-! e\fermata } </score>
生成
簡譜用戶
維基媒體不直接支援用代碼顯示簡譜,但是針對習慣寫簡譜的編輯使用本標籤,可以利用以下幾個技巧。
首調唱名
對於習慣使用首調而不是固定調的編輯,寫移調後的樂譜可能遇到困難。如E大調中的七個音符需要寫成e fis gis a b cis dis e
,必須正確地寫上固定調中變化半音的字尾-is
和-es
,否則會被當成還原音。
用\transpose
可以減輕工作量。\transpose
本為直接移調,利用這個語法可以在沒有變化音的C大調上寫上首調,再轉到其他調上。如
<score> \relative e' { \key e \major e fis gis a b cis dis e %固定调写法 } </score>
<score> \transpose c e { %将C调转为E调,显示效果与固定调写法相同 \relative c' { \key c \major c d e f g a b c } } </score>
生成
參見
- 維基百科:關注度 (音樂)
- 維基百科:不要包含原始資料的副本
- Special:PagesWithProp/score,檢視使用了
<score>...</score>
的頁面 - {{Music}}