LilyPond教程(7)——流行乐曲 I

本文深入讲解LilyPond中重复指令的应用,包括简单的旋律重复、颤音重复及段落反复与变奏结尾的实现方法。适合希望提升乐谱制作技能的音乐爱好者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流行乐曲一般结构短小、通俗易懂,许多读者一定对流行乐曲的制谱比较感兴趣。本篇我们回到教程一开始的Jingle Bells,将乐谱进一步完善。尽管本篇的要点在钢琴独奏片段也十分常用,但由于流行乐曲惯用的曲式使得这部分内容显得更为重要。
示例代码放在这里,编译出的乐谱效果如下:
在这里插入图片描述
本篇的学习要点有:

  • 使用重复(反复)指令\repeat
  • 在乐谱上添加变奏结尾(也就是常说的“一房子二房子”)

1 重复(反复)

LilyPond的重复指令形如\repeat 模式 {...},括号中是要操作的旋律。下面对各种模式分别进行介绍。

1.1 简单重复乐段

要简单地重复乐段,只需使用\repeat unfold 次数 {...}。LilyPond会将大括号中的乐谱重复显示多次。
这似乎是一个很好的偷懒方法。比如钢琴独奏片段中如果碰到大量重复的琶音伴奏,可以照此操作,这样将会节省很多时间。
下面是示例:

\score {
  \relative c'{
    \time 4/4
    \repeat unfold 4 {c8 g' e g}
  }
}

得到的结果如下:
在这里插入图片描述

1.2 颤音重复

钢琴中常用的颤音重复须使用指令\repeat tremolo 次数 {...}。该指令能表示两种情况的颤音重复:

  • 双音颤音重复使用指令\repeat tremolo 次数 {音符1 音符2}
  • 单音颤音重复使用指令\repeat tremolo 次数 音符,或使用LilyPond设定好的简单指令音高时值:分拍时值。例如c2:8表示在二分音符时长下以八分音符时值重复单音C,作用相当于\repeat tremolo 8 c8

需要注意的有以下几点:

  • 五线谱中颤音重复的标注是按该次重复持续的时长确定符头的。比如从听众角度来说\repeat tremolo 4 {c16 d}c16 d c d c d c d是一样的。但是五线谱上会标注C和D的二分音符,使用两条粗横杠连接,表示按十六分音符时值重复两个音符。LilyPond会自动计算出所需时值来确定符头,但需要注意的是计算出来的时值必须能用单个音符表示,否则语法不能通过。比如\repeat tremolo 5 {c8 d}是不合法的,因为无法使用单个音符表示10个八分音符的时长。
  • 颤音重复指令中的音符可以替换为和弦,意义不变
  • 颤音重复中,若其时长超出了小节线范围,会影响该小节和下一个小节的显示。使用中请注意不要超出小节线
  • 在相对模式中,双音颤音重复后面的一个音符按指令中的第二个音符确定八度

下面是示例:

\score {
  \relative c'{
    \time 4/4
    \repeat tremolo 4 {c16 g'}
    \repeat tremolo 4 {<a c e>16}
    b4:8
  }
}

得到的结果如下:
在这里插入图片描述

1.3 段落反复与变奏结尾

要进行段落反复,使用指令\repeat volta 次数 {...}。尽管前面的教程已经提到了采用\bar方式设定其他小节线以完成段落重复,但如果要添加变奏结尾(也就是一房子二房子),则必须要使用\repeat指令才可以。
该指令用法非常简单,把次数补充,大括号中填入需要重复的旋律即可。下面主要介绍变奏结尾指令,它使用起来像是下面这样:

\repeat volta 次数 {
	...	%要重复的旋律
}
\alternative {
	{...}	%第一变奏结尾(一房子)
	{...}	%第二变奏结尾(二房子)
	...
	{...}
}

需要注意的有:

  • 变奏结尾个数不要超出你在\repeat中设定的反复次数。
  • 在相对模式下,如果不作设定,后一个变奏结尾开头的音符按前一个变奏结尾的音符确定八度。所以建议每一段变奏结尾的大括号前都使用\relative c'重新设定初始音高,避免出现不必要的错误
  • LilyPond采用从后到前的方式确定变奏结尾编号。也就是说如果你设定了反复三次,而写了两个变奏结尾,则LilyPond会将第一个认为是一、二房子,而第二个认为是三房子。
  • \repeat模式下LilyPond会自动添加合适的小节线,但如果你希望重新设定,只需在大括号中的旋律最后用\bar设定小节样式即可。

当然,关于变奏结尾,LilyPond可以手动设置(比如在反复三次的情形下,你希望把二房子和三房子放在一起)。又或者,你希望使用segno和coda符号来表示段落重复,这些部分就只能留待后面再介绍了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值