Voice节

本节记录了音符、小节线等所有基本符号,以及弧线、技法、房子这些常见附属符号。它们构成了乐谱的基础和骨干。目前本节仅能记录单声部音乐。

本节记录的基本符号有如下类型:

  • 音符(Note)
  • 小节线(Barline)
  • 拍号(Meter)
  • 伴奏记号(AccompMarker)
  • 标准文字(Text)
  • 段落标记(Return)

本节记录的附属符号有如下类型:

  • 弧线(Arc)
  • 技法(Articulation)
  • 房子(FangZi)

其中技法和弧线是作为音符的组成部分来记录的,房子是作为小节线的组成部分来记录的。

本节由若干行构成,每行包含了若干符号,各符号内部不允许有任何空格,但是音符之间的空格是可选的,而音符与非音符之间,以及非音符与非音符之间则必须有空格。程序在解析本节时,首先分解为行,然后每行内部通过空格分解为若干部分,每一部分再设法解析出若干符号。

音符(Note)

音符的abc代码依次由7个部分构成:

名称 含义 备注
ArcStartings(弧线开始) 由若干左圆括号构成,其数量代表从该音符出发的弧线的数量。 可选
Articulations(技法) 使用拼音字母来代表技法符号,两端必须有大括号。例如{BoYin,YanYin}代表波音和延音。 可选
Grace(倚音) 将若干Pitch连在一起形成Pitches(中间无任何间隔符),两端用大括号括起来。例如{6,2}代表低音6和中音2的16分音符的前倚音。 可选
Pitches(音高) 单个Pitch依次由变音/数字/8度三部分构成: 必需
Duration(时值) 使用下划线_代表减时线,下划线的数量代表了减时线的数量; 可选
ControlOptions(控制选项) 两端必须是大括号,内部以C:开头。然后由3部分构成(相互之间用逗号分隔): 可选
ArcEndings(弧线结束) 仅由若干右圆括号构成,其数量代表以该音符结束的弧线的数量。 可选

举例:

高音2,升半音,8分附点 #2'_.

倍低音4,带有2条增时线(2分附点),带有技法符号-波音 {BoYin}4,,--

锣鼓经,字符为“台”,16分 X台__

低音5,4分,带有16分前倚音音符低音3和低音4 {3,4,}5,

和弦,由低音5、中音1、中音3(有降号)、中音5组成,8分 [5,1b35]_

中音2,4分,有2条弧线从此音符出发,有1条弧线结束于此音符 ((2)

中音2,16分,有1条3连音弧线从此音符出发 {(3}2__

小节线(Barline)

小节线的abc代码依次由3部分构成:

名称 含义 备注
PureBarline(小节线本身) 使用如下符号来代表各种小节线: 必需
ControlOptions(控制选项) 参见音符的控制选项。 可选
FangZi(附带的房子) 以左中括号[开头,后跟代表房子内部文字的文字。 可选

举例:

普通小节线,有房子从此小节线出发,房子内部文字为1.2. |[1.2.

拍号(Meter)

拍号的abc代码依次由2部分构成:

名称 含义 备注
PureMeter(拍号本身) 拍号的分子与分母之间使用/分隔 必需
ControlOptions(控制选项) 参见音符的控制选项。 可选

举例:

7/8拍. 7/8

伴奏记号(AccompMarker)

伴奏记号的abc代码依次由2部分构成:

名称 含义 备注
PureAccompMarker(伴奏记号本身) 分别使用左右圆括号代表伴奏开始和伴奏结束。 必需
ControlOptions(控制选项) 参见音符的控制选项。 可选

标准文字(Text)

标准文字的abc代码依次由2部分构成:

名称 含义 备注
PureText (标准文字本身) 两端使用双引号,内部为文字。 必需
ControlOptions(控制选项) 参见音符的控制选项。 可选

举例:

"此处省略4小节,转{1=bD,3/4}"

段落标记(Return)

段落标记的abc代码依次由2部分构成:

名称 含义 备注
PureReturn (段落标记本身) 就是$ 必需
Options(选项) 依次由5部分构成: 可选

举例:

$(False,0.00,1.00,False,False)

$

$(True)