初印象·极简乐谱
让我们从简单而有代表性的例子开始。下面是一份《数鸭子》的源码和谱面。暂时不用读懂每个记号,先对照着渲染结果,找找熟悉的音符、小节线和歌词,看看它们怎样对应:
H.title: 数鸭子
H.subtitle: 简单儿歌
H.author: 王嘉桢 作词
H.author: 胡小环 作曲
H.signature: 1=C 4/4
H.tempo: 100
N: 9 9 9/ 9/ 9 | 9/ 9/ 9/ 9/ 9 - | 9/ 9/ 9/ 9/ {9 9}/ 9 | {9 9 9 9}/ 9 0 |
L: 门前大桥下,游过一群鸭。快来快来数一数,二四六七八。
"(" 1'./ 1'// 5/ 5/ 3/ 6/ 5/ 3/ | 2/ 1/ 2/ 3/ 1 - ")" |:
N: 3 1 3/ 3/ 1 | 3/ 3/ 5/ 6/ 5 - |
L: 门前大桥下,游过一群鸭。
L: 赶鸭老爷爷,胡子白花花。
N: 6/ 6/ 6/ 5/ 4/ 4/ 4 | 2/ 3/ 2/ 1/ 2 - | 3 1/ 0/ 3 1/ 0/ | 3/ 3/ 5/ 6/ 6 - |
L: 快来快来数一数,二四六七八。咕嘎@咕嘎,@真呀真多鸭,
L: 唱呀唱着家乡戏,还会说笑话。小孩@小孩,@快快上学校,
N: 1' 5/ 5/ 6 3 | 2/@x 1/@y @tie(x,y) 2/ 3/ @tie() 5 - | 1' 5/ 5/ 6 3 | 2/ 1/ @tie() 2/ 3/ @tie() 1 - :|
L: 数不清到底多@少@鸭,数不清到底多@少@鸭。
L: 别考个鸭蛋抱@回@家,别考个鸭蛋抱@回@家。下面我们简单拆解一下这份乐谱,看看每一部分的作用。
H. 开头的几行组成谱头,用来填写标题、作者和其他曲谱信息:
H.title: 数鸭子H.subtitle: 简单儿歌H.author: 王嘉桢 作词H.author: 胡小环 作曲H.signature: 1=C 4/4H.tempo: 100
H表示Head,表示曲谱的头部信息。用H.作为前缀没什么特别的理由,主要是整齐 :D
title 是标题,subtitle 是副标题,author 会出现在右侧,一般填写作者。左侧一般用 signature 在谱头标出调号与拍号,tempo 设置速度。
需要注意,写 H. 时,千万不要中间空行……不然就会被认为是两个头部信息啦!
数字 1 到 7 表示音级,0 表示休止符,| 是小节线。只写这些记号,就能得到一段简谱:
1,, #2, 3, 4, | 4 b5 n6 7 | ##7 bb1' #bn2'' 0 |音符后的英文单引号 ' 升高一个八度,英文逗号 , 降低一个八度。例如 1' 是高音 do,1, 是低音 do。
《数鸭子》开头的 9 则是节拍记号,谱面显示为 X,播放时发出短促的打击音。此外还有数字 8,用于占位,不显示也不发声。
默认情况下,不带时值修饰的音符是四分音符。以四分音符为一拍时,可以先记住三种写法:
1/:减时线/将时值减半。写一条就是八分音符,写两条就是十六分音符,依此类推。1.:附点.增加原时值的一半,得到一拍半。写一个时长变为 1.5 倍,两个变为 1.75 倍,依此类推。1 -:一个延音线-将前一个音延长一拍。
1 2/ 3// 4. 5.. 6/././ 5 -注意上面的 6:减时线 / 和 . 是可以乱序添加的哦!
有歌词时,用 N: 写音乐,在后面的 L: 行写歌词:
N: 3 1 3/ 3/ 1 |
L: 门前大桥下这个例子里,五个字分别对应五个音符。同一段旋律有多段歌词时,可以接着写多行 L:,完整谱例中的两段歌词就是这样排在一起的。如果某个音符没有歌词,可以用 @ 占位。
如果没有歌词且是单声部,N: 和 L: 都可以省略。不过注意,写和不写两者还是有一定区别的,实际上 N: 会创建一个声部,歌词是声部的功能,更多请参看《声部与歌词》。
脚本中连续两个换行(即一个空行)会在谱面中产生换行效果。如果没有这个空行会发生什么……自己试试吧!关于谱面排版等信息,请参看《谱面与页面排版》。
在编辑器中试一试
Section titled “在编辑器中试一试”每个谱例都可以通过“在编辑器中打开”进入编辑器。不过注意,这会覆盖你之前留在编辑器里面的内容。
在“拆分”模式(左下角调整)下,左边是脚本编辑器,右边是谱面预览。每当你的改动告一段落,就会自动更新谱面。
点击左边的代码,右边会跳转并强调对应的谱面位置;同样,单机/双击右边的谱面位置,也会在左边的源码中定位到对应的代码。
编写脚本时,要注意右边顶部的“诊断”部分,如果有异常是无法预览的哦!点击诊断信息可以跳转到具体的问题代码位置。
左半边切换到“播放”,点击播放按钮试听当前乐谱。点击谱面可以快速跳转播放位置。
音源使用的是 noteDigger 的简易合成器,虽然音质不太行,但是加载很快!
浏览器只会临时保存一份草稿,清理缓存后就会消失(不过一般情况下是可以放心刷新的!),因此建议每次编辑完成后都及时保存。首次用键盘 Ctrl+S/Cmd+S 即选择本地的保存位置,之后的保存都会直接同步到本地存储,无需再次导出。
如果要导入已有的脚本,或者导入 MIDI 或 MusicXML 文件,可以点击左上角的“score.jpfun”按钮,或者直接拖入。如果打开的是本地的 jpfun 文件,之后的修改同样会直接同步到本地哦。
“导出”按钮位于右上角,提供 PDF、SVG、PNG、JPEG 和 MIDI。其中,导出PDF 利用的是浏览器自己的打印功能。如果选择图片格式,需要允许浏览器下载多个文件。
下一章函数调用与参数会从一个音符开始,讲解怎样使用完整写法、修改参数。之后的基本类型再介绍参数里可以填写哪些值,以及各类值的写法。也可以随时查看函数速查或打开更多示例乐谱。