音符、音符属性与标记符号
我们知道,一个小节是一串音符和延时线构成的序列。这里的“音符”指的是广义音符,包括休止符和力度、和弦及文本标记中的字符。
特殊的音符
- 延时线
-
。在程序中,这个符号也是被作为音符处理的。若延时线之前没有别的音符,延时线会被认为是占位符从而隐藏,但是占据的排版空间不会消失。 - 休止符
0
,在音符小节中,将会显示为 0,在标记中,则不会显示任何东西。
事实上你会发现在音符小节中,你甚至可以给 0
加点、加升降号,甚至是加装饰音符。当然,这显然是没有任何意义的。
一般音符的结构
一般音符的结构是:本体-属性-后缀。其中,属性与后缀的顺序自由,且属性也可以放在多个后缀中间。
本体
在音乐小节中,音符的本体可以是数字 1
~9
,字母 X
Y
Z
或者下划线 _
。
- 前面可以添加升降记号,有升调
#
、降调b
、半升$
,半降%
和还原=
。 - 后面可以添加八度记号,有升八度
e
、降八度d
,可以叠加。
数字 8
9
、字母 Y
Z
以及下划线的用法并没有什么明确的说法,是留给你自行发挥的。
在标记符号行 A
中,音符本体可以是文本标记符号、力度标记符号或和弦标记符号。
对于文本标记符号,音符的本体是一个带双引号的字符串,例如 "Text"
。
对于力度标记符号,音符的本体有多种形式。
- 一个单词,表示力度记号缩写,例如
mf
。 - 一个符号
<
或>
,表示渐强或渐弱。符号绘制的长度取决于这个音符的长度。 - 一个字母
r
,紧跟一个带双引号的字符串,表示自定义文本(可以用来写表情标记),例如r"cresc."
r"忧伤地"
。
对于和弦标记符号,音符的本体是一个字母 c
,紧跟带双引号的字符串,例如 c"V7/II"
。你不需要自己输入任何上标符号,Sparks NMN 会自己格式化。
另外,段标题标记符号是一个带方框的文本,用来表示段标题,本体是字母 h
,紧跟一个带双引号的字符串或形如 "A"_"1"
的字符串组合,例如 h"A"
h"A"_"1"
。 最低版本:Sparks NMN 1.14.13
其中,力度标记的缩写有这些:
预览 | 写法 | 力度权重 | 预览 | 写法 | 力度权重 | |
---|---|---|---|---|---|---|
ppp | -25 | fz | 35 | |||
pp | -20 | sfz | 38 | |||
p | -15 | sfzz | 42 | |||
mp | -5 | fp | 15/-15 | |||
m | 0 | fpp | 15/-20 | |||
mf | 5 | sfp | 32/-15 | |||
f | 15 | sfpp | 32/-20 | |||
ff | 20 | rf | 15 | |||
fff | 25 | rfs | 32 | |||
sf | 32 |
这里没有 cresc.
和 dim.
,因为无法从字面上判断渐强渐弱区域的长度。如果确实需要这样的记号,请用自定义文本的方式输入。
跨小节线延长
对于力度标记符号中的渐强渐弱符号 <
或 >
,延时线 -
可以跨小节作用,例如:
跨小节延长仅能用在这一种情况下,其他情况下是不规范的,并且会导致错误的结果。
位置偏移
任意标记(A
La
行中的)音符前面都可以添加若干加号 +
,每个加号表示渲染位置向右偏移 0.5em
。
属性
属性是跟在本体后面的方括号(方括号可以有多个,但是没有必要),其中放置一个或多个属性内容(用逗号隔开)。如果没有属性,方括号可以省略。
目前,属性只有在音乐小节中有效。
预览 | 写法 | 说明 | 预览 | 写法 | 说明 | |
---|---|---|---|---|---|---|
tr | 颤音 | hold | 保持咬字状态与音量 | |||
tr+ | 长颤音 | str | 重音,着重 | |||
wav | 波音 | brk | 顿音,突强且短促 | |||
wav+ | 长波音 | tip | 跳音,短促 | |||
wavd | 下波音 | sl | 上滑音 | |||
wavd+ | 长下波音 | sld | 下滑音 | |||
echo | 回音 | (3) | 前倚音 | |||
recho | 逆回音 | p(3) | 后倚音 | |||
ext | 自由延长 |
默认的装饰音符只有一条下划线,即占据主音符前面或后面一半的时值。要添加更多下划线,使用更多层小括号即可。要添加多个音符作为装饰音也是可以的。但是,你不能把仅有的一层小括号去掉。
任何音符属性都不会对装饰音内的音符生效。
后缀
后缀是最后面的字符。
~
表示延长连音线,将该音符连接到下一个音符。^
表示联合连音线,将该音符连接到附近另一个带有^
的音符。.
表示附点,可以添加多个表示双附点或更多附点。
连音线可以跨越碎片,也可以自动跨行。
弱起小节占位
为了简洁,实际简谱中,弱起小节开头的四分休止符往往省略。在 Sparks NMN 中,直接省略会导致排版错误,正确的做法应当是用延时线 -
占位。
这些用来占位的延时线不会被显示。
拆分连音线
在使用跳房子或替代旋律的时候,可能出现连音线被拆开的情况,这时需要绘制只有一半的连音线。
- 要绘制从小节线处开始,且只有右半边的连音线,根据连音线类型在小节开头加一个
^
或~
字符即可。这可以理解成小节开头的小节线处有一个隐形的音符。 - 要绘制只有左半边,在小节线处结束的连音线,在对应起始音符处使用
^
或~
后缀,然后在小节末尾加一个!
字符。 - 两种语法同时使用,可以获得一条横跨小节之上,却不连接任何东西的横线。