/s/widget/noteblock八音盒


2024-01-08

使用 Tone.js,开发中。

关于 simple tune - 简单的非专业旋律表示:

用于表示简单旋律的字符串格式。
使用数字 1 ~ 7 表示音符,使用 ( ) 包裹的音符时长减半,用 0- 表示休止符。每拍都需要用音符或休止符占位。

更多操作见文档部分。开发中,规则可能会改变。

使用数字 1 ~ 7 表示单个音符。
在数字后加 ' 表示升8度,加 , 表示降8度。可多次使用,如 1''
在数字前加 # 表示升半音,加 b 表示降半音。

默认音符为一拍。
使用 ( ) 包裹的音符时长减半。可嵌套使用,如 ((1)) 表示1/4拍。
使用 (3% ) 包裹的音符时长减为 1/3,以此类推。
使用 0- 表示休止符,每一拍都需要用音符或休止符填充。
使用 [ ] 包裹和弦,使用 < > 包裹琶音。

|: 为重复开始,:| 为重复结束。乐谱开头的重复开始可以省略。

若多次重复的结尾处有不同部分,使用 |1% 表示不同结尾部分的开始,其中数字为重复次数。例:
|: A |2% B |1% C :|,演奏顺序为 A-B-A-B-A-C;
|: A |3%:|,演奏顺序为 A-A-A。

使用 v1: 表示声部,其中数字为声部号,可省略。

使用 { } 包裹附加操作,格式: { 操作名称: 参数 },不可嵌套。所有操作在输入操作的位置之后生效。
目前支持的操作:

  • { bpm: 120 } - 将 bpm 调整为 120
  • { octave: 3 } - 将八度区间调整为 3(默认为4)
  • { arpeggio-delay: 75 } - 为每组琶音后增加延迟,单位为毫秒

    琶音中音符的时长间隔为 1/10 拍,但间隔的时长不顺延至后续音符。
    若在时值较短的一串音符中使用琶音,可能导致琶音与后续音符间隔过短,影响演奏效果。酌情使用琶音延迟可缓解此问题。

| 为小节线,使用 /* */ 包裹注释,使用 // 进行单行注释。
操作的数值需要在四位数以内。空格,换行对解析没有影响。

《牧场物语》开场 (2) (八音盒) 
花的摇篮曲 (有删改) 
春日影 



bpm 140
0 notes / 0:0
Now Loading