Files
bettergi-scripts-list/repo/js/AutoLyre/README.md
提瓦特钓鱼玳师 f704ba61fd JS脚本:原琴·五线谱版 (#370)
* 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
2025-02-26 22:39:30 +08:00

132 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 曲谱 JSON 文件说明
此文档供曲谱制作人阅读,本文档详细说明了如何书写一个标准格式的曲谱.json文件包括各个字段的解释以及曲谱内容的格式要求。
重要即使制作了曲谱的JSON文件放到了正确的路径下在调度器的JS脚本配置里也不会出现你制作的曲谱上传方法如下
## 上传方法
1.上传到BetterGI脚本仓库的repo\js\AutoLyre\assets路径下根据已存在的曲谱在你的文件名前添加序号(例如 10.曲名.json)完成后请联系BetterGI v7群主更新JS脚本
2.联系BetterGI v71029539994群主帮你更新到仓库
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: 曲谱的BPMBeats Per Minute必填。
time_signature: 拍号,必填,例如 3/4 代表 以四分音符为一拍每小节三拍被设为一拍的音符仅支持2的幂
composer: 曲师,选填。
arranger: 谱师,选填。
notes: 曲谱内容,必填,具体格式请参考以下解析规则。
## Notes 解析规则(重要)
notes 字段中包含的是乐谱内容。音符-必须使用-大写字母,乐谱内容使用字符串表示,小节之间用 | 隔开。单个小节的解析规则如下:
A[4]: 表示按下A键A键视作四分音符。
(ASD)[4-#]: 表示装饰音·倚音
同时按下ASD键这个和弦视作四分音符的装饰音该装饰音的时值固定为拍号中的标准时值(3/4的标准时值为四分音符的时值)的1/16
A[4-8.3](AS)[4-8.3](ASD)[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](AF)[2-16.6]N[2-16.6](AF)[2-16.6]N[2-16.6](AF)[2-16.6]N[2-16.6](AF)[2-16.6]N[2-16.6](AF)[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": "A[4](ASD)[8]Y[8-#]F[8-#](DFG)[8]R[4-*]T[8]|\n@[4](DFG)[8](CVB)[8]D[4]A[4]|\nA[4](ASD)[8]Y[8-#]F[8-#](DFG)[8]R[4]T[4]|\n@[4](DFG)[8](CVB)[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": "A[4](ASD)[8]Y[8-#]F[8-#](DFG)[8]R[4-*]T[8]|\n@[4](DFG)[8](CVB)[8]D[4]A[4]|\nA[4](ASD)[8]Y[8-#]F[8-#](DFG)[8]R[4]T[4]|\n@[4](DFG)[8](CVB)[8]D[4]A[4]"
}