前言
其实早在1996年,LilyPond就已经出现了。但说到打谱软件,Sibelius(西贝柳斯)、Finale两款软件已经深入人心。即便是想要免费开源软件,也有MuseScore这样友好的打谱软件。很少人会第一时间想到LilyPond,甚至就算知道LilyPond的人,也不敢涉足。之所以LilyPond这么神秘,很多人说是因为它的学习曲线很陡峭,很难很快地上手。我认为这句话对也不对。
从程序员的角度来说,LilyPond可以称作乐谱界的LaTex。在上篇已经看到,LilyPond的运行方式跟其他软件有很大不同,甚至看起来完全像是只有程序员才能掌握的东西。
以代码为内核的操作方式确实吓退很多人,但只要细心学下来,会发现LilyPond的语法非常优美。(比MusicTex要简单多了)对于钢琴不熟练(这意味着无法熟练使用midi键盘输入)的人们来说,LilyPond做起乐谱来要快捷得多,至少比很多打谱软件满屏按钮用鼠标慢慢找要快多了。
另外,LilyPond还支持制作吉他六线谱、管弦乐队总谱等各种不同的乐谱,应用范围很广。
LilyPond之所以显得很难学习,一方面是LilyPond的资源多数是英文材料,增加了阅读理解上的困难。(要特别感谢这篇入门教程,它或许是目前唯一相对完整的LilyPond中文入门教程)另一方面是,即便是了解到了这款软件,很多资料都是罗列语法,我们可能看个十多页英文材料才能挤出一段旋律,使得学习起来非常地枯燥,且没有成就感。
这个LilyPond系列教程希望能从更实用的角度,让需要制作乐谱的人们能很快上手,做出自己满意的乐谱。LilyPond这类免费开源软件,需要有源源不断的生命力,才能更好地往下发展,以更能满足大家的需求。
本系列教程将从实例角度出发,抛弃技术界比较艰深的叙述方式。快速上手之后,一些特殊要求只需要了解某个细节即可,不会花费很多精力。
下面我们就开始吧!
1 第一份乐谱——Jingle Bells
今天的目标是能独立完成一段简单的单旋律儿歌乐谱。 正好十二月了,第一份乐谱就选择既简单,大家又耳熟能详的歌曲Jingle Bells(铃儿响叮当)来作为示例。用LilyPond制作的乐谱效果如下:
可以这么来思考LilyPond的输入方式——它跟演奏乐器的逻辑一样,谱上显示哪个音,你就演奏哪个音。
最后要注意的一点是,音符和音符、音符和小节线之间应该用空格或者换行符隔开(前面提到的LilyPond忽略空格,是指空格个数不影响编译,但有无空格对编译有很大影响),否则会影响编译。
现在,回去对照代码中的旋律部分和乐谱,你应该就能明白这些音符都是怎么输入的了。
今天的目标是制作简单的单旋律乐谱。至于其他比较常用但相对复杂的记 都是怎么加的,就要到下一篇教程再聊了。
2 补充

2.2 如何偷懒
虽然是初学,但是有一个用来偷懒的语法似乎可以现在就说。它能省去很多时间。
LilyPond在输入音符时,如果遇到时值相同的音符,在输入时可以只保留第一个音符的时值输入,后面的音符会自动设定为与前一个音符同样的时值,直到你输入一个时值不同的音符为止。
比如示例中的第六小节可以改写成
LilyPond在输入音符时,如果遇到音高相同的音符,在输入时可以只保留第一个音符的音高输入(这里的音高包括音名和八度),后面的音符会自动设定为与前一个音符同样的音高,直到你输入一个音高不同的音符为止。
比如示例中的第六小节可以改写成
需要注意以下几点:
- 不是一个八度的音符不能省略音名,也就是说是不合法的,无法通过编译。
- 不能只省略数字而添加附点,也就是说是不合法的。但是是合法的,它表示两个附点四分音符。
- 小节线不影响上述两条特性,也就是说或者都是合法的
- 使用这一操作的时候,最好保持第一个被省略音符的前一个音符音高和时值完整,避免出现难以预料的错误。比如应该尽量避免或的操作,而应该写成或。
- 如果乐谱中第一个音符不输入时值,将默认为四分音符,直到输入了其他时值的音符为止。如果乐谱中第一个音符不输入音高,将默认为中央C,直到输入了其他音高的音符为止。
- 不要省略休止符的音名,否则后面的音符会被认为是中央C。但省略时值的方式可以应用于休止符。
总的原则就是:音高(音名+八度)或时值(包含附点)只能偷懒省去其中一个,而且只能打包在一起省略。大家可以根据自己的实际操作进行不同程度的省略。(比如大量同音重复的旋律,或者琶音等节奏固定的旋律,利用这个特性非常方便)但通常情况下,建议还是把音符写完整以便于修改和维护。
针对本篇中的示例可以省略到下面的样子,得到的结果是一样的:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!