# 原琴 - AutoYuanQin ## 播放演奏脚本 1. 在全自动 - 调度器中 新建配置组/选择已有的组 将*AutoYuanQin*添加至配置组中 1. 右键原琴 - 修改脚本自定义配置 按照说明填写 1. 点击运行开始播放音乐 - tips: - `AutoYuanQin/assets/tutorial_file`文件夹下的制谱软件(`五线谱制谱器.html`)为早期制谱用软件 - 现在有更自动化的`AutoYuanQin/tools/MIDI翻谱器.html`提供自动的MIDI文件转*AutoYuanQin*格式的乐谱 - `AutoYuanQin/assets/tutorial_file`目录下有文档供曲谱制作人阅读 - 本文档下文会详细说明一个标准格式的曲谱.json文件格式, 包括各个字段的解释以及曲谱内容的格式要求 - 将你制作的曲谱的JSON文件置于正确的路径运行脚本时会自动重置settings并退出脚本 - 如果你愿意慷慨的将自己的乐曲上传至仓库我们会很满足 ### 上传至仓库 1. 上传到BetterGI脚本仓库的[路径](https://github.com/babalae/bettergi-scripts-list/tree/main/repo/js/AutoYuanQin/assets)下, 根据已存在的曲谱在你的文件名前添加序号`例如 10.曲名.json`, 完成后请联系BetterGI v7群主更新JS脚本 1. 联系BetterGI v7(1029539994)群主帮你更新到仓库 1. 发送邮件到*hijiwos@hotmail.com*并说明, 你的谱子将会在一段时间内更新到仓库 ## MIDI翻谱器 1. 翻谱器位于`AutoYuanQin/tools/MIDI翻谱器.html`,请使用浏览器打开 1. 点击选择文件, 将你想要转换的MIDI文件放入, 网页将自动开启转换 1. 完成转换后点击"导出Json"后可将文件转移至`AutoYuanQin/assets/score_file`目录下使用 1. **请不要在不了解文件结构的情况下手动修改JSON文件中的信息** ## 五线谱翻谱器 1. 五线谱翻谱器位于`AutoYuanQin/assets/tutorial_file/五线谱制谱器.html`,请使用浏览器打开 1. 请确保你有一定的识谱能力, 否则本文建议使用[MIDI翻谱器](#MIDI翻谱器) 1. 使用步骤如下 1. 确定音域(共有三种音域可选[左中右共三个], 每个音域为一对红蓝大写字符[21个]) 1. 选择音符:点击左上角图片中的对应`大写字母`或`@`, 点击多个音符实现和弦 1. 完善音符:页面底部两行选择音符的具体类型, 选好后点击按钮```确定(完善音符)```或者确保**鼠标焦点不在曲谱文本框**时使用```Enter```键实现同样的功能 1. 分节:确保当前页面的音符都已完善, 点击按钮```分节``` 1. 换行:确保当前页面的音符都已完善, 点击按钮```换行``` 1. **删除音符:** 如果您**写错了音符**, 请**手动**删除**整个音符**并确保右上角代码框的**末尾**是 ```]、|、或一行的开头``` * 音符删除示例:```A[16]B[32]``` 比如您想写 ```B[16]``` , 一不小心写成了三十二分音符, 请删除整个音符~~B[32]~~, 删除后的示例```A[16]```, 然后再次进行音符 ```B```的写入 1. 写入曲谱信息(曲名、录谱人必填、bpm、拍号) 1. 导出曲谱 点击按钮```导出乐谱JSON```, 曲谱文件名请确认是```曲名.json``` 1. 读取乐谱 如果您写了一半, 打算下次在写, 可以使用导出曲谱功能保存曲谱, 下次要写的时候点击按钮```读取乐谱JSON```, 选择上次导出的文件即可 ## 曲谱制作解答 1. `/assets/tutorial_file/五线谱注解.png` 包含了五线谱(高音区和低音区)对应的3组键盘键位(相邻的红蓝大写字母为一组, 每组音域为三个八度) 1. 有不懂的地方请在 `/assets/tutorial_file/example.json` 内找, 这个谱子内包含了该脚本的五线谱相关的所有功能 ## 曲谱文件位置 1. 所有的曲谱文件应放置于 `AutoYuanQin/assets/score_file` 路径下 ## 文件结构 一个标准的曲谱.json文件的基本结构如下: ```json { "name": "", "author": "", "instrument": "", "description": "", "type":"", "bpm": "", "time_signature": "", "composer": "", "arranger": "", "notes": "" } ``` **注意**:以上代码中仅 : 右侧的**双引号内**的部分可以更改, 具体的曲谱格式请参考 `/assets/tutorial_file` 路径下的 `example.json` ### 字段说明 `name`: **必要键值** 曲谱名 `author`: **可选键值** 录谱人, 制作这个.json曲谱的作者名 `instrument`: **可选键值** 此键值对用于建议用户的乐器使用 `description`: **可选键值** 可以随意填写关于该曲谱的描述信息 `type`: **必要键值** 决定曲谱的解析方式, 合法的值有`yuanqin`(默认值, [五线谱翻谱器](#五线谱翻谱器)) `midi`([MIDI翻谱器](#MIDI翻谱器)) `keyboard`(你在网上看到的琴谱格式与此相似) `bpm`: **必要键值** 曲谱的BPM (Beats Per Minute) `time_signature`: `yuanqin`的**必要键值** 拍号, 例如 3/4 代表 以四分音符为一拍每小节三拍(被设为一拍的音符仅支持2的幂) `composer`: **可选键值** 曲师 `arranger`: **可选键值** 谱师 `notes`: **必要键值** 曲谱内容,具体格式可参考以下解析规则 ### 文本格式 1. 一个完整的曲谱.json文件示例如下(供示例, 仅包含几个小节): 1. 每一小节的末尾加|/n 1. 每一行的末尾加|/n/n 1. 曲谱的末尾无需加|和/n 例如: ```json { "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]|/n/nA[4](ASD)[8]Y[8-#]F[8-#](DFG)[8]R[4]T[4]|/n@[4](DFG)[8](CVB)[8]D[4]A[4]" } ``` ### 代码美化 曲谱JSON文件的"notes"的值视作一个字符串, 在这个字符串内仅可以使用**换行符**美化代码, 通过这种方法可以使用记事本等软件从.json文件中获取带有换行的曲谱代码(**notes内的换行符不会被读取执行**) ## Notes 解析规则 notes 字段中包含的是乐谱内容音符**必须**使用**大写字母**, 乐谱内容使用字符串表示, 小节之间用 | 隔开单个小节的解析规则如下: ### `A[4]` 表示按下A键, A键视作四分音符
四分音符示例
装饰音·倚音示例
三连音示例
五连音示例
三连音连音线示例
六连音连音线示例
四分休止符示例
附点四分音符示例