Help:乐谱
本页為操作指南,用於介紹中文维基百科社群的一些实现和操作方式。 本文只是論述,不屬於方針或指引。如果本指南與方針或指引起衝突或不一致,請以方針或指引的條文為準。 |
由于安全问题,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}}