* update repo.json * JS脚本:原琴·五线谱版 功能及其强大的原琴脚本-适配五线谱翻谱 核心功能------------------------------> 1.轻松实现根据五线谱翻版琴谱,支持单音、和弦 2.曲谱支持录入BPM、拍号 3.特殊音符支持休止符、浮点音符、(三/六)连音、(三/六)连音标记线、装饰音·倚音 注意事项------------------------------> 1.音域只有3个八度,受原琴音域限制,本脚本的上限取决于翻谱的大佬(卑微 2.实际上装饰音·倚音的时长视为基础时值单位(比如拍号2/4的基础时值单位就是4分音符)的1/16 3.制铺说明:曲谱JSON文件的notes必须保证为一行且不能包括空白符(空格和换行符等);小节之间用|隔开,|不是必要的,作用是方便曲谱维护 * update repo.json * Delete repo/js/README.md * Delete repo/js/main.js * Delete repo/js/manifest.json * Delete repo/js/settings.json * update repo.json * JS脚本:原琴·五线谱版 * update repo.json
曲谱 JSON 文件说明
此文档供曲谱制作人阅读,本文档详细说明了如何书写一个标准格式的曲谱.json文件,包括各个字段的解释以及曲谱内容的格式要求。
重要:即使制作了曲谱的JSON文件,放到了正确的路径下,在调度器的JS脚本配置里也不会出现你制作的曲谱(上传方法如下)
上传方法
1.上传到BetterGI脚本仓库的repo\js\AutoLyre\assets路径下,根据已存在的曲谱在你的文件名前添加序号(例如 10.曲名.json),完成后请联系BetterGI v7群主更新JS脚本
2.联系BetterGI v7(1029539994)群主帮你更新到仓库
3.发送邮件到hijiwos@hotmail.com并说明,你的谱子将会在一段时间内更新到仓库
曲谱制作问题
\assets\五线谱注解.png包含了五线谱(高音区和低音区)对应的4组键盘键位(相邻的红蓝大写字母为一组,每组音域为三个八度)
有不懂的地方请在\assets\example.json内找,这个谱子内包含了该脚本的五线谱相关的所有功能
曲谱文件位置
所有的曲谱文件应放置于 AutoLyre\assets 目录下,并在文件名前添加正确的序号
文件结构
一个标准的曲谱.json文件的基本结构如下:
{ "name": "", "author": "", "description": "", "bpm": "", "time_signature": "", "composer": "", "arranger": "", "notes": "" }
注意:仅: 右侧的双引号内的部分可以更改,具体的曲谱格式请参考assets文件夹下的example.json
字段说明
name: 曲谱名,必填。
author: 录谱人,制作这个.json曲谱的作者名。
description: 描述,可以随意填写关于该曲谱的附加信息
bpm: 曲谱的BPM(Beats Per Minute),必填。
time_signature: 拍号,必填,例如 3/4 代表 以四分音符为一拍每小节三拍(被设为一拍的音符仅支持2的幂)。
composer: 曲师,选填。
arranger: 谱师,选填。
notes: 曲谱内容,必填,具体格式请参考以下解析规则。
Notes 解析规则(重要)
notes 字段中包含的是乐谱内容。音符-必须使用-大写字母,乐谱内容使用字符串表示,小节之间用 | 隔开。单个小节的解析规则如下:
A[4]: 表示按下A键,A键视作四分音符。
(ASD)[4-#]: 表示装饰音·倚音
同时按下ASD键,这个和弦视作四分音符的装饰音,该装饰音的时值固定为拍号中的标准时值(3/4的标准时值为四分音符的时值)的1/16
A4-8.34-8.3[4-8.&]: 表示一个三连音(六连音用法与此相似,仅需将3改成6)
A[4-8.3]: 4表示该三连音的总时值相当于四分音符,8表示当前音符在乐谱上显示的时值相当于八分音符的时值,3表示这是一个三连音的音符
(AS)[4-8.3]: 同上,只不过这里举的例子是和弦
(ASD)[4-8.&]: $表示这是当前连音的最后一个音符
H[4-4.3]G[4-8.&]: 表示一个三连音连音线(与三连音用法相同,区别于三连音,三连音连音线允许连线内出现不同类型的音符)
H[4-4.3]: 第一个4表示整个三连音的总时值为一个四分音符,第二个4表示当前音符在乐谱上显示的时值相当于四分音符的时值,3表示这是一个三连音的音符
G[4-8.&]: 4表示整个三连音的总时值为一个四分音符,8表示这是一个八分音符,$表示这是当前连音的最后一个音符
@2-8.6[2-16.6]N2-16.6[2-16.6]N2-16.6[2-16.6]N2-16.6[2-16.6]N2-16.6[2-16.6]N[2-16.$]: 表示一个六连音连音线(乐谱上表示为一个六连音连音线内包含1个八分休止符和10个十六分音符,区别于三连音,六连音的.后面的数字是6)
@[2-8.6]: 2表示该六连音的总时值相当于一个二分音符,8表示当前音符在乐谱上显示的时值相当于八分音符的时值,6表示这是一个六连音
N[2-16.$]: 16表示当前音符在乐谱上显示的时值相当于十六分音符的时值,$表示这是当前连音的最后一个音符
@[4]: 表示一个休止符
中括号内标明这是几分休止符,例如这里表示四分休止符。
A[4-*]: 表示一个附点四分音符
表示按下A键,A键视作附点四分音符。
代码美化
曲谱JSON文件的"notes"的值视作一个字符串,在这个字符串内可以使用空格和换行符美化代码(notes内的空格和换行符不会被读取执行)
例如: { "name": "示例曲谱", "author": "录谱人A", "bpm": "120", "description": 预计时长: xxxxx, 五线谱网址: xxx.xxxx.xxx, "time_signature": "4/4", "composer": "曲师B", "arranger": "谱师C", "notes": "A4[8]Y[8-#]F8-#[8]R[4-*]T[8]|\n@48[8]D[4]A[4]|\nA4[8]Y[8-#]F8-#[8]R[4]T[4]|\n@48[8]D[4]A[4]" }
附:
中括号 [](- 前表示音符类型,- 后用于区分特殊音符)
[4] 表示四分音符。
[16] 表示十六分音符。
[-#] 表示装饰音。
[-3] 表示三连音(使用时必须保证是三个连续的三连音)。
例如:[16-#] 表示十六分音符的装饰音,A[4-3]S[4-3]D[4-3] 表示一个时值为4分音符的三连音。
示例
一个完整的曲谱.json文件示例如下(仅包含两个小节):
文件名: 示例曲谱.json
{ "name": "示例曲谱", "author": "录谱人A", "bpm": "120", "description": "曲谱信息", "time_signature": "4/4", "composer": "曲师B", "arranger": "谱师C", "notes": "A4[8]Y[8-#]F8-#[8]R[4-*]T[8]|\n@48[8]D[4]A[4]|\nA4[8]Y[8-#]F8-#[8]R[4]T[4]|\n@48[8]D[4]A[4]" }