From 18a98b61a577cf6852a5c5c41f8116babbec50a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=8F=90=E7=93=A6=E7=89=B9=E9=92=93=E9=B1=BC=E7=8E=B3?= =?UTF-8?q?=E5=B8=88?= <144542161+Hijiwos@users.noreply.github.com> Date: Mon, 8 Sep 2025 19:43:38 +0800 Subject: [PATCH] =?UTF-8?q?JS=E8=84=9A=E6=9C=AC=EF=BC=9A=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8E=9F=E7=90=B4=EF=BC=88=E4=BA=94=E7=BA=BF=E8=B0=B1=E7=89=88?= =?UTF-8?q?=EF=BC=89=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91=20(#1838)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Delete repo/js/AutoYuanQin directory * 更新了MIDI直接转换为JSON曲谱(HTML+JS纯代码实现) --- repo/js/AutoYuanQin/README.md | 10 +- .../assets/score_file/10.卡农(MIDI转谱).json | 6741 +++++++++++++++++ .../assets/score_file/9.One Last Kiss.json | 10 + .../assets/tutorial_file/MIDI翻谱器.html | 250 + .../{index.html => 五线谱制谱器.html} | 0 repo/js/AutoYuanQin/main.js | 304 +- repo/js/AutoYuanQin/manifest.json | 2 +- repo/js/AutoYuanQin/settings.json | 4 +- 8 files changed, 7176 insertions(+), 145 deletions(-) create mode 100644 repo/js/AutoYuanQin/assets/score_file/10.卡农(MIDI转谱).json create mode 100644 repo/js/AutoYuanQin/assets/score_file/9.One Last Kiss.json create mode 100644 repo/js/AutoYuanQin/assets/tutorial_file/MIDI翻谱器.html rename repo/js/AutoYuanQin/assets/tutorial_file/{index.html => 五线谱制谱器.html} (100%) diff --git a/repo/js/AutoYuanQin/README.md b/repo/js/AutoYuanQin/README.md index cf0cc5831..1d030d479 100644 --- a/repo/js/AutoYuanQin/README.md +++ b/repo/js/AutoYuanQin/README.md @@ -1,6 +1,6 @@ # 曲谱 JSON 文件说明 * **注意** - - 制谱优先使用AutoYuanQin\assets\tutorial_file目录下的制谱软件(index.html),有任何疑问请来看这个使用说明 + - 制谱优先使用AutoYuanQin\assets\tutorial_file目录下的制谱软件(五线谱制谱器.html),有任何疑问请来看这个使用说明 此文档供曲谱制作人阅读,本文档详细说明了一个标准格式的曲谱.json文件格式,包括各个字段的解释以及曲谱内容的格式要求。 重要:即使制作了曲谱的JSON文件,放到了正确的路径下,在调度器的JS脚本配置里也不会出现你制作的曲谱(上传方法如下) @@ -12,8 +12,14 @@ 3.发送邮件到hijiwos@hotmail.com并说明,你的谱子将会在一段时间内更新到仓库 +## MIDI翻谱器使用方法 +**MIDI翻谱器: AutoYuanQin\assets\tutorial_file\MIDI翻谱器.html(请确保 五线谱注解.png与制谱器位于同一目录下)** +**声明:本制谱器生成的曲谱文件为标准格式(区别于五线谱制谱器,生成的是MIDI版本的JSON标准格式)** + +使用浏览器打开```MIDI翻谱器.html```即可,注意**千万不要手动修改生成的JSON文件中的author** + ## 曲谱制作器使用方法 -**制谱器路径: AutoYuanQin\assets\tutorial_file\index.html(请确保 五线谱注解.png与制谱器位于同一目录下)** +**制谱器路径: AutoYuanQin\assets\tutorial_file\五线谱制谱器.html(请确保 五线谱注解.png与制谱器位于同一目录下)** **声明:本制谱器生成的曲谱文件为标准格式** * 使用步骤如下(顺序) diff --git a/repo/js/AutoYuanQin/assets/score_file/10.卡农(MIDI转谱).json b/repo/js/AutoYuanQin/assets/score_file/10.卡农(MIDI转谱).json new file mode 100644 index 000000000..9d15456b8 --- /dev/null +++ b/repo/js/AutoYuanQin/assets/score_file/10.卡农(MIDI转谱).json @@ -0,0 +1,6741 @@ +{ + "name": "示例曲谱", + "author": "MidiTrans", + "bpm": "120", + "description": "曲谱信息", + "time_signature": "4/4", + "composer": "曲师", + "arranger": "谱师", + "notes": [ + { + "type": "on", + "note": "Z", + "time": 351.785 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 339.285 + }, + { + "type": "on", + "note": "B", + "time": 46.429 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "on", + "note": "D", + "time": 66.071 + }, + { + "type": "off", + "note": "D", + "time": 362.5 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "E", + "time": 339.285 + }, + { + "type": "off", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "M", + "time": 60.714 + }, + { + "type": "on", + "note": "W", + "time": 0.0 + }, + { + "type": "off", + "note": "M", + "time": 335.714 + }, + { + "type": "on", + "note": "B", + "time": 48.214 + }, + { + "type": "off", + "note": "B", + "time": 364.285 + }, + { + "type": "off", + "note": "W", + "time": 17.857 + }, + { + "type": "on", + "note": "S", + "time": 48.214 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "S", + "time": 319.643 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 364.285 + }, + { + "type": "off", + "note": "J", + "time": 17.857 + }, + { + "type": "on", + "note": "N", + "time": 42.857 + }, + { + "type": "on", + "note": "Q", + "time": 44.643 + }, + { + "type": "off", + "note": "N", + "time": 335.714 + }, + { + "type": "on", + "note": "C", + "time": 48.214 + }, + { + "type": "off", + "note": "C", + "time": 362.5 + }, + { + "type": "off", + "note": "Q", + "time": 21.429 + }, + { + "type": "on", + "note": "A", + "time": 44.643 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 323.214 + }, + { + "type": "on", + "note": "C", + "time": 66.071 + }, + { + "type": "off", + "note": "C", + "time": 360.714 + }, + { + "type": "off", + "note": "E", + "time": 21.429 + }, + { + "type": "on", + "note": "B", + "time": 42.857 + }, + { + "type": "on", + "note": "T", + "time": 42.857 + }, + { + "type": "off", + "note": "B", + "time": 335.714 + }, + { + "type": "on", + "note": "C", + "time": 48.214 + }, + { + "type": "off", + "note": "C", + "time": 360.714 + }, + { + "type": "off", + "note": "T", + "time": 21.429 + }, + { + "type": "on", + "note": "M", + "time": 44.643 + }, + { + "type": "on", + "note": "Y", + "time": 41.071 + }, + { + "type": "off", + "note": "M", + "time": 323.214 + }, + { + "type": "on", + "note": "C", + "time": 66.071 + }, + { + "type": "off", + "note": "C", + "time": 360.714 + }, + { + "type": "off", + "note": "Y", + "time": 19.643 + }, + { + "type": "on", + "note": "V", + "time": 44.643 + }, + { + "type": "on", + "note": "R", + "time": 42.857 + }, + { + "type": "off", + "note": "V", + "time": 337.5 + }, + { + "type": "on", + "note": "Z", + "time": 46.429 + }, + { + "type": "off", + "note": "Z", + "time": 364.285 + }, + { + "type": "off", + "note": "R", + "time": 17.857 + }, + { + "type": "on", + "note": "N", + "time": 48.214 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 319.643 + }, + { + "type": "on", + "note": "Z", + "time": 66.071 + }, + { + "type": "off", + "note": "Z", + "time": 364.285 + }, + { + "type": "off", + "note": "Q", + "time": 17.857 + }, + { + "type": "on", + "note": "C", + "time": 42.857 + }, + { + "type": "on", + "note": "E", + "time": 46.429 + }, + { + "type": "off", + "note": "C", + "time": 335.714 + }, + { + "type": "on", + "note": "Z", + "time": 48.214 + }, + { + "type": "off", + "note": "Z", + "time": 364.285 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "on", + "note": "Z", + "time": 66.071 + }, + { + "type": "off", + "note": "E", + "time": 341.071 + }, + { + "type": "off", + "note": "Z", + "time": 21.429 + }, + { + "type": "on", + "note": "V", + "time": 62.5 + }, + { + "type": "on", + "note": "H", + "time": 44.643 + }, + { + "type": "off", + "note": "V", + "time": 333.928 + }, + { + "type": "on", + "note": "Z", + "time": 50.0 + }, + { + "type": "off", + "note": "Z", + "time": 360.714 + }, + { + "type": "off", + "note": "H", + "time": 21.429 + }, + { + "type": "on", + "note": "N", + "time": 44.643 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 323.214 + }, + { + "type": "on", + "note": "Z", + "time": 66.071 + }, + { + "type": "off", + "note": "Z", + "time": 360.714 + }, + { + "type": "off", + "note": "Q", + "time": 21.429 + }, + { + "type": "on", + "note": "B", + "time": 42.857 + }, + { + "type": "on", + "note": "Q", + "time": 42.857 + }, + { + "type": "off", + "note": "B", + "time": 337.5 + }, + { + "type": "on", + "note": "X", + "time": 48.214 + }, + { + "type": "off", + "note": "X", + "time": 360.714 + }, + { + "type": "off", + "note": "Q", + "time": 19.643 + }, + { + "type": "on", + "note": "M", + "time": 46.429 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "M", + "time": 321.428 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "X", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "X", + "time": 323.214 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 0.0 + }, + { + "type": "off", + "note": "Z", + "time": 317.857 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "B", + "time": 323.214 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "D", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "D", + "time": 319.643 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 364.285 + }, + { + "type": "off", + "note": "Q", + "time": 17.857 + }, + { + "type": "on", + "note": "M", + "time": 42.857 + }, + { + "type": "on", + "note": "G", + "time": 44.643 + }, + { + "type": "off", + "note": "M", + "time": 316.071 + }, + { + "type": "on", + "note": "B", + "time": 67.857 + }, + { + "type": "off", + "note": "B", + "time": 362.5 + }, + { + "type": "off", + "note": "G", + "time": 21.429 + }, + { + "type": "on", + "note": "S", + "time": 44.643 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "S", + "time": 323.214 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "off", + "note": "J", + "time": 21.429 + }, + { + "type": "on", + "note": "N", + "time": 42.857 + }, + { + "type": "on", + "note": "Q", + "time": 42.857 + }, + { + "type": "off", + "note": "N", + "time": 312.5 + }, + { + "type": "on", + "note": "C", + "time": 71.428 + }, + { + "type": "off", + "note": "C", + "time": 360.714 + }, + { + "type": "off", + "note": "Q", + "time": 21.429 + }, + { + "type": "on", + "note": "A", + "time": 44.643 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 323.214 + }, + { + "type": "on", + "note": "C", + "time": 66.071 + }, + { + "type": "off", + "note": "C", + "time": 360.714 + }, + { + "type": "off", + "note": "E", + "time": 19.643 + }, + { + "type": "on", + "note": "B", + "time": 44.643 + }, + { + "type": "on", + "note": "T", + "time": 42.857 + }, + { + "type": "off", + "note": "B", + "time": 314.285 + }, + { + "type": "off", + "note": "T", + "time": 44.643 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "C", + "time": 323.214 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "M", + "time": 25.0 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "M", + "time": 319.643 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "Y", + "time": 41.071 + }, + { + "type": "off", + "note": "C", + "time": 323.214 + }, + { + "type": "off", + "note": "Y", + "time": 41.071 + }, + { + "type": "on", + "note": "V", + "time": 19.643 + }, + { + "type": "on", + "note": "R", + "time": 46.429 + }, + { + "type": "off", + "note": "V", + "time": 316.071 + }, + { + "type": "off", + "note": "R", + "time": 42.857 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 323.214 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "N", + "time": 25.0 + }, + { + "type": "on", + "note": "W", + "time": 39.286 + }, + { + "type": "off", + "note": "N", + "time": 321.428 + }, + { + "type": "off", + "note": "W", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "R", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 321.428 + }, + { + "type": "off", + "note": "R", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 21.429 + }, + { + "type": "on", + "note": "E", + "time": 44.643 + }, + { + "type": "off", + "note": "C", + "time": 312.5 + }, + { + "type": "off", + "note": "E", + "time": 46.429 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 319.643 + }, + { + "type": "off", + "note": "W", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "B", + "time": 323.214 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 319.643 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "V", + "time": 23.214 + }, + { + "type": "on", + "note": "H", + "time": 42.857 + }, + { + "type": "off", + "note": "V", + "time": 314.285 + }, + { + "type": "off", + "note": "H", + "time": 46.429 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "G", + "time": 39.286 + }, + { + "type": "off", + "note": "Z", + "time": 321.428 + }, + { + "type": "off", + "note": "G", + "time": 41.071 + }, + { + "type": "on", + "note": "N", + "time": 25.0 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 321.428 + }, + { + "type": "off", + "note": "H", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 323.214 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 19.643 + }, + { + "type": "on", + "note": "Q", + "time": 0.0 + }, + { + "type": "off", + "note": "B", + "time": 316.071 + }, + { + "type": "on", + "note": "X", + "time": 67.857 + }, + { + "type": "off", + "note": "X", + "time": 364.285 + }, + { + "type": "off", + "note": "Q", + "time": 17.857 + }, + { + "type": "on", + "note": "M", + "time": 48.214 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "M", + "time": 319.643 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "X", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "X", + "time": 323.214 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 39.286 + }, + { + "type": "off", + "note": "Z", + "time": 317.857 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "B", + "time": 321.428 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "D", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "D", + "time": 323.214 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "off", + "note": "Q", + "time": 21.429 + }, + { + "type": "on", + "note": "M", + "time": 42.857 + }, + { + "type": "on", + "note": "G", + "time": 42.857 + }, + { + "type": "off", + "note": "M", + "time": 312.5 + }, + { + "type": "on", + "note": "B", + "time": 71.428 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "off", + "note": "G", + "time": 21.429 + }, + { + "type": "on", + "note": "S", + "time": 44.643 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "S", + "time": 323.214 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "off", + "note": "J", + "time": 19.643 + }, + { + "type": "on", + "note": "N", + "time": 44.643 + }, + { + "type": "on", + "note": "Q", + "time": 42.857 + }, + { + "type": "off", + "note": "N", + "time": 314.285 + }, + { + "type": "on", + "note": "C", + "time": 69.643 + }, + { + "type": "off", + "note": "C", + "time": 364.285 + }, + { + "type": "off", + "note": "Q", + "time": 17.857 + }, + { + "type": "on", + "note": "A", + "time": 48.214 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 319.643 + }, + { + "type": "on", + "note": "C", + "time": 66.071 + }, + { + "type": "off", + "note": "C", + "time": 364.285 + }, + { + "type": "off", + "note": "E", + "time": 17.857 + }, + { + "type": "on", + "note": "B", + "time": 42.857 + }, + { + "type": "on", + "note": "T", + "time": 46.429 + }, + { + "type": "off", + "note": "B", + "time": 316.071 + }, + { + "type": "off", + "note": "T", + "time": 42.857 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "C", + "time": 323.214 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "M", + "time": 25.0 + }, + { + "type": "on", + "note": "T", + "time": 39.286 + }, + { + "type": "off", + "note": "M", + "time": 321.428 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "Y", + "time": 41.071 + }, + { + "type": "off", + "note": "C", + "time": 321.428 + }, + { + "type": "off", + "note": "Y", + "time": 41.071 + }, + { + "type": "on", + "note": "V", + "time": 21.429 + }, + { + "type": "on", + "note": "R", + "time": 44.643 + }, + { + "type": "off", + "note": "V", + "time": 312.5 + }, + { + "type": "off", + "note": "R", + "time": 46.429 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 319.643 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "N", + "time": 25.0 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 323.214 + }, + { + "type": "off", + "note": "W", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "R", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 319.643 + }, + { + "type": "off", + "note": "R", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 23.214 + }, + { + "type": "on", + "note": "E", + "time": 42.857 + }, + { + "type": "off", + "note": "C", + "time": 314.285 + }, + { + "type": "off", + "note": "E", + "time": 46.429 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "W", + "time": 39.286 + }, + { + "type": "off", + "note": "Z", + "time": 321.428 + }, + { + "type": "off", + "note": "W", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "B", + "time": 321.428 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 323.214 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "V", + "time": 19.643 + }, + { + "type": "on", + "note": "H", + "time": 0.0 + }, + { + "type": "off", + "note": "V", + "time": 316.071 + }, + { + "type": "off", + "note": "H", + "time": 42.857 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 323.214 + }, + { + "type": "off", + "note": "G", + "time": 41.071 + }, + { + "type": "on", + "note": "N", + "time": 25.0 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 319.643 + }, + { + "type": "off", + "note": "H", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 323.214 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 19.643 + }, + { + "type": "on", + "note": "Q", + "time": 44.643 + }, + { + "type": "off", + "note": "B", + "time": 316.071 + }, + { + "type": "on", + "note": "X", + "time": 67.857 + }, + { + "type": "off", + "note": "X", + "time": 362.5 + }, + { + "type": "off", + "note": "Q", + "time": 21.429 + }, + { + "type": "on", + "note": "M", + "time": 44.643 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "M", + "time": 323.214 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "X", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 53.571 + }, + { + "type": "off", + "note": "X", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 53.571 + }, + { + "type": "on", + "note": "Z", + "time": 12.5 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 317.857 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "off", + "note": "E", + "time": 21.429 + }, + { + "type": "on", + "note": "D", + "time": 44.643 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 57.143 + }, + { + "type": "off", + "note": "D", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 14.286 + }, + { + "type": "on", + "note": "Q", + "time": 39.286 + }, + { + "type": "off", + "note": "Q", + "time": 160.714 + }, + { + "type": "on", + "note": "W", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 51.786 + }, + { + "type": "on", + "note": "M", + "time": 12.5 + }, + { + "type": "off", + "note": "M", + "time": 314.285 + }, + { + "type": "on", + "note": "B", + "time": 69.643 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "B", + "time": 323.214 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "S", + "time": 25.0 + }, + { + "type": "on", + "note": "R", + "time": 41.071 + }, + { + "type": "off", + "note": "R", + "time": 158.928 + }, + { + "type": "on", + "note": "E", + "time": 53.571 + }, + { + "type": "off", + "note": "S", + "time": 107.143 + }, + { + "type": "off", + "note": "E", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 12.5 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "W", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 108.928 + }, + { + "type": "on", + "note": "N", + "time": 60.714 + }, + { + "type": "off", + "note": "N", + "time": 316.071 + }, + { + "type": "on", + "note": "C", + "time": 67.857 + }, + { + "type": "off", + "note": "C", + "time": 364.285 + }, + { + "type": "off", + "note": "Q", + "time": 8.929 + }, + { + "type": "on", + "note": "A", + "time": 57.143 + }, + { + "type": "on", + "note": "Q", + "time": 39.286 + }, + { + "type": "off", + "note": "A", + "time": 321.428 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 57.143 + }, + { + "type": "off", + "note": "C", + "time": 105.357 + }, + { + "type": "off", + "note": "Q", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 8.929 + }, + { + "type": "on", + "note": "J", + "time": 44.643 + }, + { + "type": "off", + "note": "J", + "time": 153.571 + }, + { + "type": "on", + "note": "G", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 103.571 + }, + { + "type": "off", + "note": "G", + "time": 55.357 + }, + { + "type": "on", + "note": "C", + "time": 16.071 + }, + { + "type": "on", + "note": "D", + "time": 214.286 + }, + { + "type": "off", + "note": "C", + "time": 146.428 + }, + { + "type": "on", + "note": "M", + "time": 66.071 + }, + { + "type": "off", + "note": "D", + "time": 351.785 + }, + { + "type": "off", + "note": "M", + "time": 12.5 + }, + { + "type": "on", + "note": "C", + "time": 66.071 + }, + { + "type": "on", + "note": "F", + "time": 41.071 + }, + { + "type": "off", + "note": "F", + "time": 158.928 + }, + { + "type": "on", + "note": "G", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "G", + "time": 51.786 + }, + { + "type": "on", + "note": "V", + "time": 12.5 + }, + { + "type": "on", + "note": "H", + "time": 42.857 + }, + { + "type": "off", + "note": "V", + "time": 314.285 + }, + { + "type": "on", + "note": "Z", + "time": 71.428 + }, + { + "type": "off", + "note": "H", + "time": 176.786 + }, + { + "type": "on", + "note": "J", + "time": 76.786 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "on", + "note": "N", + "time": 66.071 + }, + { + "type": "off", + "note": "N", + "time": 362.5 + }, + { + "type": "off", + "note": "J", + "time": 30.357 + }, + { + "type": "on", + "note": "Z", + "time": 35.714 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 323.214 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 19.643 + }, + { + "type": "on", + "note": "G", + "time": 0.0 + }, + { + "type": "off", + "note": "C", + "time": 316.071 + }, + { + "type": "on", + "note": "Z", + "time": 67.857 + }, + { + "type": "off", + "note": "Z", + "time": 364.285 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 360.714 + }, + { + "type": "on", + "note": "Z", + "time": 66.071 + }, + { + "type": "off", + "note": "G", + "time": 341.071 + }, + { + "type": "off", + "note": "Z", + "time": 23.214 + }, + { + "type": "on", + "note": "V", + "time": 60.714 + }, + { + "type": "on", + "note": "H", + "time": 44.643 + }, + { + "type": "off", + "note": "V", + "time": 316.071 + }, + { + "type": "on", + "note": "Z", + "time": 67.857 + }, + { + "type": "off", + "note": "Z", + "time": 362.5 + }, + { + "type": "on", + "note": "N", + "time": 66.071 + }, + { + "type": "off", + "note": "H", + "time": 157.143 + }, + { + "type": "on", + "note": "F", + "time": 98.214 + }, + { + "type": "off", + "note": "N", + "time": 108.928 + }, + { + "type": "off", + "note": "F", + "time": 50.0 + }, + { + "type": "on", + "note": "Z", + "time": 16.071 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "H", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 10.714 + }, + { + "type": "on", + "note": "Q", + "time": 42.857 + }, + { + "type": "off", + "note": "B", + "time": 312.5 + }, + { + "type": "on", + "note": "X", + "time": 71.428 + }, + { + "type": "off", + "note": "X", + "time": 360.714 + }, + { + "type": "off", + "note": "Q", + "time": 21.429 + }, + { + "type": "on", + "note": "M", + "time": 44.643 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "M", + "time": 323.214 + }, + { + "type": "off", + "note": "J", + "time": 41.071 + }, + { + "type": "on", + "note": "X", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 39.286 + }, + { + "type": "off", + "note": "Q", + "time": 160.714 + }, + { + "type": "on", + "note": "W", + "time": 53.571 + }, + { + "type": "off", + "note": "X", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 51.786 + }, + { + "type": "on", + "note": "Z", + "time": 14.286 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 317.857 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "B", + "time": 364.285 + }, + { + "type": "off", + "note": "E", + "time": 17.857 + }, + { + "type": "on", + "note": "D", + "time": 48.214 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 53.571 + }, + { + "type": "off", + "note": "D", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 12.5 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 108.928 + }, + { + "type": "off", + "note": "W", + "time": 50.0 + }, + { + "type": "on", + "note": "M", + "time": 10.714 + }, + { + "type": "off", + "note": "M", + "time": 316.071 + }, + { + "type": "on", + "note": "B", + "time": 67.857 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "B", + "time": 323.214 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "S", + "time": 25.0 + }, + { + "type": "on", + "note": "R", + "time": 39.286 + }, + { + "type": "off", + "note": "R", + "time": 160.714 + }, + { + "type": "on", + "note": "E", + "time": 53.571 + }, + { + "type": "off", + "note": "S", + "time": 107.143 + }, + { + "type": "off", + "note": "E", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 14.286 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "W", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 105.357 + }, + { + "type": "on", + "note": "N", + "time": 62.5 + }, + { + "type": "off", + "note": "N", + "time": 312.5 + }, + { + "type": "on", + "note": "C", + "time": 71.428 + }, + { + "type": "off", + "note": "C", + "time": 360.714 + }, + { + "type": "off", + "note": "Q", + "time": 8.929 + }, + { + "type": "on", + "note": "A", + "time": 57.143 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 323.214 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 12.5 + }, + { + "type": "on", + "note": "J", + "time": 42.857 + }, + { + "type": "off", + "note": "J", + "time": 155.357 + }, + { + "type": "on", + "note": "G", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 101.786 + }, + { + "type": "off", + "note": "G", + "time": 57.143 + }, + { + "type": "on", + "note": "C", + "time": 14.286 + }, + { + "type": "on", + "note": "D", + "time": 212.5 + }, + { + "type": "off", + "note": "C", + "time": 148.214 + }, + { + "type": "on", + "note": "M", + "time": 66.071 + }, + { + "type": "off", + "note": "D", + "time": 351.785 + }, + { + "type": "off", + "note": "M", + "time": 10.714 + }, + { + "type": "on", + "note": "C", + "time": 66.071 + }, + { + "type": "on", + "note": "F", + "time": 41.071 + }, + { + "type": "off", + "note": "F", + "time": 158.928 + }, + { + "type": "on", + "note": "G", + "time": 55.357 + }, + { + "type": "off", + "note": "C", + "time": 108.928 + }, + { + "type": "off", + "note": "G", + "time": 50.0 + }, + { + "type": "on", + "note": "V", + "time": 10.714 + }, + { + "type": "on", + "note": "H", + "time": 0.0 + }, + { + "type": "off", + "note": "V", + "time": 316.071 + }, + { + "type": "on", + "note": "Z", + "time": 67.857 + }, + { + "type": "off", + "note": "Z", + "time": 364.285 + }, + { + "type": "off", + "note": "H", + "time": 17.857 + }, + { + "type": "on", + "note": "N", + "time": 48.214 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 319.643 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "R", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 323.214 + }, + { + "type": "off", + "note": "R", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 19.643 + }, + { + "type": "on", + "note": "E", + "time": 44.643 + }, + { + "type": "off", + "note": "C", + "time": 316.071 + }, + { + "type": "off", + "note": "E", + "time": 42.857 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "W", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 57.143 + }, + { + "type": "off", + "note": "Z", + "time": 105.357 + }, + { + "type": "on", + "note": "B", + "time": 66.071 + }, + { + "type": "off", + "note": "Q", + "time": 189.286 + }, + { + "type": "off", + "note": "B", + "time": 175.0 + }, + { + "type": "on", + "note": "Z", + "time": 66.071 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 319.643 + }, + { + "type": "off", + "note": "G", + "time": 41.071 + }, + { + "type": "on", + "note": "V", + "time": 23.214 + }, + { + "type": "on", + "note": "H", + "time": 42.857 + }, + { + "type": "off", + "note": "V", + "time": 312.5 + }, + { + "type": "on", + "note": "Z", + "time": 71.428 + }, + { + "type": "off", + "note": "Z", + "time": 360.714 + }, + { + "type": "on", + "note": "N", + "time": 66.071 + }, + { + "type": "off", + "note": "H", + "time": 157.143 + }, + { + "type": "on", + "note": "F", + "time": 100.0 + }, + { + "type": "off", + "note": "N", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 51.786 + }, + { + "type": "on", + "note": "Z", + "time": 14.286 + }, + { + "type": "on", + "note": "H", + "time": 39.286 + }, + { + "type": "off", + "note": "H", + "time": 160.714 + }, + { + "type": "on", + "note": "Q", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 12.5 + }, + { + "type": "on", + "note": "J", + "time": 42.857 + }, + { + "type": "off", + "note": "B", + "time": 314.285 + }, + { + "type": "on", + "note": "X", + "time": 69.643 + }, + { + "type": "off", + "note": "X", + "time": 364.285 + }, + { + "type": "off", + "note": "J", + "time": 17.857 + }, + { + "type": "on", + "note": "M", + "time": 48.214 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "M", + "time": 319.643 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "X", + "time": 25.0 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "W", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 55.357 + }, + { + "type": "off", + "note": "X", + "time": 108.928 + }, + { + "type": "off", + "note": "Q", + "time": 50.0 + }, + { + "type": "on", + "note": "Z", + "time": 16.071 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 317.857 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 51.786 + }, + { + "type": "on", + "note": "D", + "time": 14.286 + }, + { + "type": "on", + "note": "T", + "time": 39.286 + }, + { + "type": "off", + "note": "D", + "time": 321.428 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 105.357 + }, + { + "type": "off", + "note": "R", + "time": 53.571 + }, + { + "type": "on", + "note": "M", + "time": 8.929 + }, + { + "type": "on", + "note": "T", + "time": 44.643 + }, + { + "type": "off", + "note": "T", + "time": 153.571 + }, + { + "type": "on", + "note": "G", + "time": 55.357 + }, + { + "type": "off", + "note": "M", + "time": 103.571 + }, + { + "type": "off", + "note": "G", + "time": 55.357 + }, + { + "type": "on", + "note": "B", + "time": 16.071 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "H", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "J", + "time": 53.571 + }, + { + "type": "on", + "note": "S", + "time": 12.5 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 55.357 + }, + { + "type": "off", + "note": "S", + "time": 108.928 + }, + { + "type": "off", + "note": "W", + "time": 50.0 + }, + { + "type": "on", + "note": "B", + "time": 16.071 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 51.786 + }, + { + "type": "on", + "note": "N", + "time": 12.5 + }, + { + "type": "on", + "note": "E", + "time": 42.857 + }, + { + "type": "off", + "note": "N", + "time": 314.285 + }, + { + "type": "off", + "note": "E", + "time": 46.429 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 39.286 + }, + { + "type": "off", + "note": "Q", + "time": 160.714 + }, + { + "type": "on", + "note": "W", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 51.786 + }, + { + "type": "on", + "note": "A", + "time": 14.286 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 321.428 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "D", + "time": 0.0 + }, + { + "type": "off", + "note": "D", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 96.428 + }, + { + "type": "off", + "note": "C", + "time": 108.928 + }, + { + "type": "off", + "note": "F", + "time": 50.0 + }, + { + "type": "on", + "note": "B", + "time": 10.714 + }, + { + "type": "on", + "note": "G", + "time": 0.0 + }, + { + "type": "off", + "note": "G", + "time": 157.143 + }, + { + "type": "on", + "note": "H", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 105.357 + }, + { + "type": "off", + "note": "H", + "time": 55.357 + }, + { + "type": "on", + "note": "C", + "time": 12.5 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 55.357 + }, + { + "type": "off", + "note": "C", + "time": 108.928 + }, + { + "type": "off", + "note": "F", + "time": 50.0 + }, + { + "type": "on", + "note": "M", + "time": 16.071 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "D", + "time": 12.5 + }, + { + "type": "off", + "note": "M", + "time": 148.214 + }, + { + "type": "off", + "note": "D", + "time": 10.714 + }, + { + "type": "on", + "note": "C", + "time": 55.357 + }, + { + "type": "on", + "note": "F", + "time": 41.071 + }, + { + "type": "off", + "note": "F", + "time": 158.928 + }, + { + "type": "on", + "note": "G", + "time": 57.143 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "G", + "time": 51.786 + }, + { + "type": "on", + "note": "V", + "time": 8.929 + }, + { + "type": "on", + "note": "H", + "time": 44.643 + }, + { + "type": "off", + "note": "V", + "time": 316.071 + }, + { + "type": "off", + "note": "H", + "time": 42.857 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 57.143 + }, + { + "type": "off", + "note": "Z", + "time": 105.357 + }, + { + "type": "off", + "note": "J", + "time": 53.571 + }, + { + "type": "on", + "note": "N", + "time": 12.5 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 323.214 + }, + { + "type": "off", + "note": "H", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 53.571 + }, + { + "type": "on", + "note": "C", + "time": 10.714 + }, + { + "type": "on", + "note": "G", + "time": 42.857 + }, + { + "type": "off", + "note": "G", + "time": 153.571 + }, + { + "type": "on", + "note": "F", + "time": 55.357 + }, + { + "type": "off", + "note": "C", + "time": 103.571 + }, + { + "type": "off", + "note": "F", + "time": 55.357 + }, + { + "type": "on", + "note": "Z", + "time": 16.071 + }, + { + "type": "on", + "note": "D", + "time": 0.0 + }, + { + "type": "off", + "note": "D", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 94.643 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 14.286 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "H", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "H", + "time": 51.786 + }, + { + "type": "on", + "note": "Z", + "time": 14.286 + }, + { + "type": "on", + "note": "J", + "time": 39.286 + }, + { + "type": "off", + "note": "J", + "time": 160.714 + }, + { + "type": "on", + "note": "Q", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 51.786 + }, + { + "type": "on", + "note": "V", + "time": 12.5 + }, + { + "type": "on", + "note": "H", + "time": 42.857 + }, + { + "type": "off", + "note": "V", + "time": 314.285 + }, + { + "type": "off", + "note": "H", + "time": 44.643 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 55.357 + }, + { + "type": "off", + "note": "Z", + "time": 108.928 + }, + { + "type": "off", + "note": "J", + "time": 50.0 + }, + { + "type": "on", + "note": "N", + "time": 16.071 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 319.643 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 55.357 + }, + { + "type": "off", + "note": "Z", + "time": 108.928 + }, + { + "type": "off", + "note": "Q", + "time": 50.0 + }, + { + "type": "on", + "note": "B", + "time": 10.714 + }, + { + "type": "on", + "note": "J", + "time": 46.429 + }, + { + "type": "off", + "note": "J", + "time": 157.143 + }, + { + "type": "on", + "note": "H", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 105.357 + }, + { + "type": "off", + "note": "H", + "time": 53.571 + }, + { + "type": "on", + "note": "X", + "time": 14.286 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 57.143 + }, + { + "type": "off", + "note": "X", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 51.786 + }, + { + "type": "on", + "note": "M", + "time": 14.286 + }, + { + "type": "on", + "note": "W", + "time": 39.286 + }, + { + "type": "off", + "note": "W", + "time": 160.714 + }, + { + "type": "on", + "note": "E", + "time": 53.571 + }, + { + "type": "off", + "note": "M", + "time": 107.143 + }, + { + "type": "off", + "note": "E", + "time": 51.786 + }, + { + "type": "on", + "note": "X", + "time": 14.286 + }, + { + "type": "on", + "note": "R", + "time": 41.071 + }, + { + "type": "off", + "note": "R", + "time": 158.928 + }, + { + "type": "on", + "note": "T", + "time": 57.143 + }, + { + "type": "off", + "note": "X", + "time": 105.357 + }, + { + "type": "off", + "note": "T", + "time": 53.571 + }, + { + "type": "on", + "note": "Z", + "time": 12.5 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 317.857 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 53.571 + }, + { + "type": "on", + "note": "D", + "time": 12.5 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "D", + "time": 323.214 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 51.786 + }, + { + "type": "on", + "note": "M", + "time": 12.5 + }, + { + "type": "on", + "note": "T", + "time": 42.857 + }, + { + "type": "off", + "note": "T", + "time": 155.357 + }, + { + "type": "on", + "note": "G", + "time": 57.143 + }, + { + "type": "off", + "note": "M", + "time": 101.786 + }, + { + "type": "off", + "note": "G", + "time": 57.143 + }, + { + "type": "on", + "note": "B", + "time": 14.286 + }, + { + "type": "on", + "note": "H", + "time": 39.286 + }, + { + "type": "off", + "note": "H", + "time": 160.714 + }, + { + "type": "on", + "note": "J", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "J", + "time": 51.786 + }, + { + "type": "on", + "note": "S", + "time": 14.286 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 57.143 + }, + { + "type": "off", + "note": "S", + "time": 105.357 + }, + { + "type": "off", + "note": "W", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 12.5 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 108.928 + }, + { + "type": "off", + "note": "R", + "time": 50.0 + }, + { + "type": "on", + "note": "N", + "time": 10.714 + }, + { + "type": "on", + "note": "E", + "time": 0.0 + }, + { + "type": "off", + "note": "N", + "time": 316.071 + }, + { + "type": "off", + "note": "E", + "time": 42.857 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 55.357 + }, + { + "type": "off", + "note": "C", + "time": 108.928 + }, + { + "type": "off", + "note": "W", + "time": 50.0 + }, + { + "type": "on", + "note": "A", + "time": 16.071 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 319.643 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "D", + "time": 0.0 + }, + { + "type": "off", + "note": "D", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 98.214 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 8.929 + }, + { + "type": "on", + "note": "G", + "time": 44.643 + }, + { + "type": "off", + "note": "G", + "time": 157.143 + }, + { + "type": "on", + "note": "H", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 105.357 + }, + { + "type": "off", + "note": "H", + "time": 53.571 + }, + { + "type": "on", + "note": "C", + "time": 14.286 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 57.143 + }, + { + "type": "off", + "note": "C", + "time": 105.357 + }, + { + "type": "off", + "note": "F", + "time": 53.571 + }, + { + "type": "on", + "note": "M", + "time": 12.5 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "D", + "time": 14.286 + }, + { + "type": "off", + "note": "M", + "time": 150.0 + }, + { + "type": "off", + "note": "D", + "time": 8.929 + }, + { + "type": "on", + "note": "C", + "time": 57.143 + }, + { + "type": "on", + "note": "F", + "time": 41.071 + }, + { + "type": "off", + "note": "F", + "time": 158.928 + }, + { + "type": "on", + "note": "G", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "G", + "time": 53.571 + }, + { + "type": "on", + "note": "V", + "time": 10.714 + }, + { + "type": "on", + "note": "H", + "time": 42.857 + }, + { + "type": "off", + "note": "V", + "time": 312.5 + }, + { + "type": "off", + "note": "H", + "time": 46.429 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "J", + "time": 51.786 + }, + { + "type": "on", + "note": "N", + "time": 14.286 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 323.214 + }, + { + "type": "off", + "note": "H", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "G", + "time": 39.286 + }, + { + "type": "off", + "note": "G", + "time": 160.714 + }, + { + "type": "on", + "note": "F", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 51.786 + }, + { + "type": "on", + "note": "C", + "time": 12.5 + }, + { + "type": "on", + "note": "G", + "time": 42.857 + }, + { + "type": "off", + "note": "G", + "time": 155.357 + }, + { + "type": "on", + "note": "F", + "time": 57.143 + }, + { + "type": "off", + "note": "C", + "time": 101.786 + }, + { + "type": "off", + "note": "F", + "time": 57.143 + }, + { + "type": "on", + "note": "Z", + "time": 12.5 + }, + { + "type": "on", + "note": "D", + "time": 0.0 + }, + { + "type": "off", + "note": "D", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 96.428 + }, + { + "type": "off", + "note": "Z", + "time": 108.928 + }, + { + "type": "off", + "note": "F", + "time": 50.0 + }, + { + "type": "on", + "note": "B", + "time": 16.071 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "H", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "H", + "time": 53.571 + }, + { + "type": "on", + "note": "Z", + "time": 12.5 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 55.357 + }, + { + "type": "off", + "note": "Z", + "time": 108.928 + }, + { + "type": "off", + "note": "Q", + "time": 50.0 + }, + { + "type": "on", + "note": "V", + "time": 10.714 + }, + { + "type": "on", + "note": "H", + "time": 46.429 + }, + { + "type": "off", + "note": "V", + "time": 316.071 + }, + { + "type": "off", + "note": "H", + "time": 42.857 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 57.143 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "J", + "time": 51.786 + }, + { + "type": "on", + "note": "N", + "time": 14.286 + }, + { + "type": "on", + "note": "Q", + "time": 39.286 + }, + { + "type": "off", + "note": "N", + "time": 321.428 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 57.143 + }, + { + "type": "off", + "note": "Z", + "time": 105.357 + }, + { + "type": "off", + "note": "Q", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 8.929 + }, + { + "type": "on", + "note": "J", + "time": 44.643 + }, + { + "type": "off", + "note": "J", + "time": 153.571 + }, + { + "type": "on", + "note": "H", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 103.571 + }, + { + "type": "off", + "note": "H", + "time": 55.357 + }, + { + "type": "on", + "note": "X", + "time": 16.071 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 53.571 + }, + { + "type": "off", + "note": "X", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 53.571 + }, + { + "type": "on", + "note": "M", + "time": 12.5 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "W", + "time": 158.928 + }, + { + "type": "on", + "note": "E", + "time": 55.357 + }, + { + "type": "off", + "note": "M", + "time": 108.928 + }, + { + "type": "off", + "note": "E", + "time": 50.0 + }, + { + "type": "on", + "note": "X", + "time": 16.071 + }, + { + "type": "on", + "note": "R", + "time": 41.071 + }, + { + "type": "off", + "note": "R", + "time": 158.928 + }, + { + "type": "on", + "note": "T", + "time": 53.571 + }, + { + "type": "off", + "note": "X", + "time": 107.143 + }, + { + "type": "off", + "note": "T", + "time": 51.786 + }, + { + "type": "on", + "note": "Z", + "time": 14.286 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "Z", + "time": 319.643 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 39.286 + }, + { + "type": "off", + "note": "E", + "time": 160.714 + }, + { + "type": "on", + "note": "R", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 51.786 + }, + { + "type": "on", + "note": "D", + "time": 14.286 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "D", + "time": 321.428 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 108.928 + }, + { + "type": "off", + "note": "R", + "time": 50.0 + }, + { + "type": "on", + "note": "M", + "time": 10.714 + }, + { + "type": "on", + "note": "T", + "time": 0.0 + }, + { + "type": "off", + "note": "T", + "time": 157.143 + }, + { + "type": "on", + "note": "G", + "time": 53.571 + }, + { + "type": "off", + "note": "M", + "time": 105.357 + }, + { + "type": "off", + "note": "G", + "time": 55.357 + }, + { + "type": "on", + "note": "B", + "time": 12.5 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "H", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 108.928 + }, + { + "type": "off", + "note": "J", + "time": 50.0 + }, + { + "type": "on", + "note": "S", + "time": 16.071 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 53.571 + }, + { + "type": "off", + "note": "S", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 14.286 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 51.786 + }, + { + "type": "on", + "note": "N", + "time": 8.929 + }, + { + "type": "on", + "note": "E", + "time": 44.643 + }, + { + "type": "off", + "note": "N", + "time": 316.071 + }, + { + "type": "off", + "note": "E", + "time": 42.857 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 57.143 + }, + { + "type": "off", + "note": "C", + "time": 105.357 + }, + { + "type": "off", + "note": "W", + "time": 53.571 + }, + { + "type": "on", + "note": "A", + "time": 12.5 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 323.214 + }, + { + "type": "off", + "note": "E", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "D", + "time": 0.0 + }, + { + "type": "off", + "note": "D", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 94.643 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 10.714 + }, + { + "type": "on", + "note": "G", + "time": 42.857 + }, + { + "type": "off", + "note": "G", + "time": 153.571 + }, + { + "type": "on", + "note": "H", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 103.571 + }, + { + "type": "off", + "note": "H", + "time": 55.357 + }, + { + "type": "on", + "note": "C", + "time": 16.071 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 51.786 + }, + { + "type": "on", + "note": "M", + "time": 14.286 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "D", + "time": 16.071 + }, + { + "type": "off", + "note": "M", + "time": 148.214 + }, + { + "type": "off", + "note": "D", + "time": 10.714 + }, + { + "type": "on", + "note": "C", + "time": 55.357 + }, + { + "type": "on", + "note": "F", + "time": 39.286 + }, + { + "type": "off", + "note": "F", + "time": 160.714 + }, + { + "type": "on", + "note": "G", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "G", + "time": 51.786 + }, + { + "type": "on", + "note": "V", + "time": 8.929 + }, + { + "type": "on", + "note": "H", + "time": 46.429 + }, + { + "type": "off", + "note": "V", + "time": 314.285 + }, + { + "type": "off", + "note": "H", + "time": 44.643 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 55.357 + }, + { + "type": "off", + "note": "Z", + "time": 108.928 + }, + { + "type": "off", + "note": "J", + "time": 50.0 + }, + { + "type": "on", + "note": "N", + "time": 16.071 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 319.643 + }, + { + "type": "off", + "note": "H", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "G", + "time": 41.071 + }, + { + "type": "off", + "note": "G", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 55.357 + }, + { + "type": "off", + "note": "Z", + "time": 108.928 + }, + { + "type": "off", + "note": "F", + "time": 50.0 + }, + { + "type": "on", + "note": "C", + "time": 8.929 + }, + { + "type": "on", + "note": "G", + "time": 48.214 + }, + { + "type": "off", + "note": "G", + "time": 157.143 + }, + { + "type": "on", + "note": "F", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 103.571 + }, + { + "type": "off", + "note": "F", + "time": 55.357 + }, + { + "type": "on", + "note": "Z", + "time": 14.286 + }, + { + "type": "on", + "note": "D", + "time": 0.0 + }, + { + "type": "off", + "note": "D", + "time": 158.928 + }, + { + "type": "on", + "note": "F", + "time": 98.214 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 14.286 + }, + { + "type": "on", + "note": "G", + "time": 39.286 + }, + { + "type": "off", + "note": "G", + "time": 160.714 + }, + { + "type": "on", + "note": "H", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "H", + "time": 51.786 + }, + { + "type": "on", + "note": "Z", + "time": 14.286 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 57.143 + }, + { + "type": "off", + "note": "Z", + "time": 105.357 + }, + { + "type": "off", + "note": "Q", + "time": 53.571 + }, + { + "type": "on", + "note": "V", + "time": 8.929 + }, + { + "type": "on", + "note": "H", + "time": 44.643 + }, + { + "type": "off", + "note": "V", + "time": 310.714 + }, + { + "type": "off", + "note": "H", + "time": 48.214 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "J", + "time": 53.571 + }, + { + "type": "on", + "note": "N", + "time": 12.5 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 323.214 + }, + { + "type": "off", + "note": "Q", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "J", + "time": 41.071 + }, + { + "type": "off", + "note": "J", + "time": 158.928 + }, + { + "type": "on", + "note": "Q", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 8.929 + }, + { + "type": "on", + "note": "J", + "time": 46.429 + }, + { + "type": "off", + "note": "J", + "time": 155.357 + }, + { + "type": "on", + "note": "H", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 100.0 + }, + { + "type": "off", + "note": "H", + "time": 58.929 + }, + { + "type": "on", + "note": "X", + "time": 14.286 + }, + { + "type": "on", + "note": "J", + "time": 39.286 + }, + { + "type": "off", + "note": "J", + "time": 160.714 + }, + { + "type": "on", + "note": "Q", + "time": 53.571 + }, + { + "type": "off", + "note": "X", + "time": 107.143 + }, + { + "type": "off", + "note": "Q", + "time": 51.786 + }, + { + "type": "on", + "note": "M", + "time": 14.286 + }, + { + "type": "on", + "note": "W", + "time": 41.071 + }, + { + "type": "off", + "note": "W", + "time": 158.928 + }, + { + "type": "on", + "note": "E", + "time": 57.143 + }, + { + "type": "off", + "note": "M", + "time": 105.357 + }, + { + "type": "off", + "note": "E", + "time": 53.571 + }, + { + "type": "on", + "note": "X", + "time": 12.5 + }, + { + "type": "on", + "note": "R", + "time": 41.071 + }, + { + "type": "off", + "note": "R", + "time": 158.928 + }, + { + "type": "on", + "note": "T", + "time": 55.357 + }, + { + "type": "off", + "note": "X", + "time": 108.928 + }, + { + "type": "off", + "note": "T", + "time": 50.0 + }, + { + "type": "on", + "note": "Z", + "time": 16.071 + }, + { + "type": "on", + "note": "T", + "time": 0.0 + }, + { + "type": "off", + "note": "Z", + "time": 317.857 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 108.928 + }, + { + "type": "off", + "note": "R", + "time": 50.0 + }, + { + "type": "on", + "note": "D", + "time": 16.071 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "D", + "time": 319.643 + }, + { + "type": "off", + "note": "T", + "time": 41.071 + }, + { + "type": "on", + "note": "B", + "time": 25.0 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 51.786 + }, + { + "type": "on", + "note": "M", + "time": 8.929 + }, + { + "type": "on", + "note": "T", + "time": 44.643 + }, + { + "type": "off", + "note": "T", + "time": 157.143 + }, + { + "type": "on", + "note": "G", + "time": 53.571 + }, + { + "type": "off", + "note": "M", + "time": 101.786 + }, + { + "type": "off", + "note": "G", + "time": 57.143 + }, + { + "type": "on", + "note": "B", + "time": 14.286 + }, + { + "type": "on", + "note": "H", + "time": 41.071 + }, + { + "type": "off", + "note": "H", + "time": 158.928 + }, + { + "type": "on", + "note": "J", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 105.357 + }, + { + "type": "off", + "note": "J", + "time": 53.571 + }, + { + "type": "on", + "note": "S", + "time": 12.5 + }, + { + "type": "on", + "note": "Q", + "time": 41.071 + }, + { + "type": "off", + "note": "Q", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 55.357 + }, + { + "type": "off", + "note": "S", + "time": 108.928 + }, + { + "type": "off", + "note": "W", + "time": 50.0 + }, + { + "type": "on", + "note": "B", + "time": 16.071 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 53.571 + }, + { + "type": "on", + "note": "N", + "time": 8.929 + }, + { + "type": "on", + "note": "E", + "time": 44.643 + }, + { + "type": "off", + "note": "N", + "time": 312.5 + }, + { + "type": "off", + "note": "E", + "time": 46.429 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "Y", + "time": 41.071 + }, + { + "type": "off", + "note": "Y", + "time": 158.928 + }, + { + "type": "on", + "note": "U", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "U", + "time": 51.786 + }, + { + "type": "on", + "note": "A", + "time": 14.286 + }, + { + "type": "on", + "note": "K", + "time": 41.071 + }, + { + "type": "off", + "note": "A", + "time": 323.214 + }, + { + "type": "off", + "note": "K", + "time": 41.071 + }, + { + "type": "on", + "note": "C", + "time": 25.0 + }, + { + "type": "on", + "note": "Q", + "time": 39.286 + }, + { + "type": "off", + "note": "Q", + "time": 160.714 + }, + { + "type": "on", + "note": "W", + "time": 53.571 + }, + { + "type": "off", + "note": "C", + "time": 107.143 + }, + { + "type": "off", + "note": "W", + "time": 51.786 + }, + { + "type": "on", + "note": "B", + "time": 8.929 + }, + { + "type": "on", + "note": "E", + "time": 46.429 + }, + { + "type": "off", + "note": "E", + "time": 155.357 + }, + { + "type": "on", + "note": "R", + "time": 57.143 + }, + { + "type": "off", + "note": "B", + "time": 101.786 + }, + { + "type": "off", + "note": "R", + "time": 57.143 + }, + { + "type": "on", + "note": "C", + "time": 12.5 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "W", + "time": 55.357 + }, + { + "type": "off", + "note": "C", + "time": 108.928 + }, + { + "type": "off", + "note": "W", + "time": 50.0 + }, + { + "type": "on", + "note": "M", + "time": 16.071 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "K", + "time": 53.571 + }, + { + "type": "off", + "note": "M", + "time": 107.143 + }, + { + "type": "off", + "note": "K", + "time": 53.571 + }, + { + "type": "on", + "note": "C", + "time": 12.5 + }, + { + "type": "on", + "note": "U", + "time": 41.071 + }, + { + "type": "off", + "note": "U", + "time": 158.928 + }, + { + "type": "on", + "note": "K", + "time": 55.357 + }, + { + "type": "off", + "note": "C", + "time": 108.928 + }, + { + "type": "off", + "note": "K", + "time": 50.0 + }, + { + "type": "on", + "note": "V", + "time": 8.929 + }, + { + "type": "on", + "note": "Y", + "time": 48.214 + }, + { + "type": "off", + "note": "V", + "time": 314.285 + }, + { + "type": "off", + "note": "Y", + "time": 44.643 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "K", + "time": 41.071 + }, + { + "type": "off", + "note": "K", + "time": 158.928 + }, + { + "type": "on", + "note": "U", + "time": 57.143 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "U", + "time": 51.786 + }, + { + "type": "on", + "note": "N", + "time": 14.286 + }, + { + "type": "on", + "note": "Y", + "time": 39.286 + }, + { + "type": "off", + "note": "N", + "time": 321.428 + }, + { + "type": "off", + "note": "Y", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "T", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 57.143 + }, + { + "type": "off", + "note": "Z", + "time": 105.357 + }, + { + "type": "off", + "note": "R", + "time": 53.571 + }, + { + "type": "on", + "note": "C", + "time": 8.929 + }, + { + "type": "on", + "note": "T", + "time": 44.643 + }, + { + "type": "off", + "note": "T", + "time": 153.571 + }, + { + "type": "on", + "note": "R", + "time": 55.357 + }, + { + "type": "off", + "note": "C", + "time": 101.786 + }, + { + "type": "off", + "note": "R", + "time": 57.143 + }, + { + "type": "on", + "note": "Z", + "time": 16.071 + }, + { + "type": "on", + "note": "E", + "time": 41.071 + }, + { + "type": "off", + "note": "E", + "time": 158.928 + }, + { + "type": "on", + "note": "R", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "R", + "time": 53.571 + }, + { + "type": "on", + "note": "B", + "time": 12.5 + }, + { + "type": "on", + "note": "T", + "time": 41.071 + }, + { + "type": "off", + "note": "T", + "time": 158.928 + }, + { + "type": "on", + "note": "Y", + "time": 55.357 + }, + { + "type": "off", + "note": "B", + "time": 108.928 + }, + { + "type": "off", + "note": "Y", + "time": 50.0 + }, + { + "type": "on", + "note": "Z", + "time": 16.071 + }, + { + "type": "on", + "note": "U", + "time": 41.071 + }, + { + "type": "off", + "note": "U", + "time": 158.928 + }, + { + "type": "on", + "note": "K", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "K", + "time": 51.786 + }, + { + "type": "on", + "note": "V", + "time": 8.929 + }, + { + "type": "on", + "note": "Y", + "time": 46.429 + }, + { + "type": "off", + "note": "V", + "time": 312.5 + }, + { + "type": "off", + "note": "Y", + "time": 48.214 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "K", + "time": 39.286 + }, + { + "type": "off", + "note": "K", + "time": 160.714 + }, + { + "type": "on", + "note": "U", + "time": 53.571 + }, + { + "type": "off", + "note": "Z", + "time": 107.143 + }, + { + "type": "off", + "note": "U", + "time": 51.786 + }, + { + "type": "on", + "note": "N", + "time": 14.286 + }, + { + "type": "on", + "note": "K", + "time": 41.071 + }, + { + "type": "off", + "note": "N", + "time": 321.428 + }, + { + "type": "off", + "note": "K", + "time": 41.071 + }, + { + "type": "on", + "note": "Z", + "time": 25.0 + }, + { + "type": "on", + "note": "U", + "time": 41.071 + }, + { + "type": "off", + "note": "U", + "time": 158.928 + }, + { + "type": "on", + "note": "Y", + "time": 55.357 + }, + { + "type": "off", + "note": "Z", + "time": 108.928 + }, + { + "type": "off", + "note": "Y", + "time": 50.0 + }, + { + "type": "on", + "note": "B", + "time": 8.929 + }, + { + "type": "on", + "note": "U", + "time": 0.0 + }, + { + "type": "off", + "note": "U", + "time": 157.143 + }, + { + "type": "on", + "note": "K", + "time": 53.571 + }, + { + "type": "off", + "note": "B", + "time": 103.571 + }, + { + "type": "off", + "note": "K", + "time": 57.143 + }, + { + "type": "on", + "note": "X", + "time": 12.5 + }, + { + "type": "on", + "note": "W", + "time": 39.286 + }, + { + "type": "off", + "note": "W", + "time": 158.928 + }, + { + "type": "on", + "note": "K", + "time": 57.143 + }, + { + "type": "off", + "note": "X", + "time": 108.928 + }, + { + "type": "off", + "note": "K", + "time": 50.0 + }, + { + "type": "on", + "note": "M", + "time": 16.071 + }, + { + "type": "on", + "note": "U", + "time": 41.071 + }, + { + "type": "off", + "note": "U", + "time": 158.928 + }, + { + "type": "on", + "note": "K", + "time": 53.571 + }, + { + "type": "off", + "note": "M", + "time": 107.143 + }, + { + "type": "off", + "note": "K", + "time": 51.786 + }, + { + "type": "on", + "note": "X", + "time": 14.286 + }, + { + "type": "on", + "note": "Y", + "time": 41.071 + }, + { + "type": "off", + "note": "Y", + "time": 158.928 + }, + { + "type": "on", + "note": "U", + "time": 57.143 + }, + { + "type": "off", + "note": "X", + "time": 107.143 + }, + { + "type": "off", + "note": "U", + "time": 51.786 + }, + { + "type": "on", + "note": "Z", + "time": 8.929 + }, + { + "type": "on", + "note": "Z", + "time": 5.357 + }, + { + "type": "on", + "note": "K", + "time": 39.286 + }, + { + "type": "off", + "note": "K", + "time": 358.928 + }, + { + "type": "on", + "note": "G", + "time": 66.071 + }, + { + "type": "off", + "note": "G", + "time": 362.5 + }, + { + "type": "on", + "note": "Q", + "time": 66.071 + }, + { + "type": "off", + "note": "Q", + "time": 364.285 + }, + { + "type": "on", + "note": "E", + "time": 66.071 + }, + { + "type": "off", + "note": "Z", + "time": 250.0 + }, + { + "type": "off", + "note": "Z", + "time": 7.143 + }, + { + "type": "off", + "note": "E", + "time": 103.571 + }, + { + "type": "on", + "note": "B", + "time": 16.071 + }, + { + "type": "on", + "note": "B", + "time": 5.357 + }, + { + "type": "on", + "note": "G", + "time": 425.0 + }, + { + "type": "off", + "note": "G", + "time": 360.714 + }, + { + "type": "on", + "note": "J", + "time": 66.071 + }, + { + "type": "off", + "note": "J", + "time": 364.285 + }, + { + "type": "on", + "note": "W", + "time": 64.286 + }, + { + "type": "off", + "note": "B", + "time": 248.214 + }, + { + "type": "off", + "note": "B", + "time": 5.357 + }, + { + "type": "off", + "note": "W", + "time": 108.928 + }, + { + "type": "on", + "note": "N", + "time": 17.857 + }, + { + "type": "on", + "note": "N", + "time": 1.786 + }, + { + "type": "on", + "note": "D", + "time": 425.0 + }, + { + "type": "off", + "note": "D", + "time": 364.285 + }, + { + "type": "on", + "note": "H", + "time": 66.071 + }, + { + "type": "off", + "note": "H", + "time": 360.714 + }, + { + "type": "on", + "note": "Q", + "time": 66.071 + }, + { + "type": "off", + "note": "N", + "time": 248.214 + }, + { + "type": "off", + "note": "N", + "time": 3.571 + }, + { + "type": "off", + "note": "Q", + "time": 112.5 + }, + { + "type": "on", + "note": "C", + "time": 17.857 + }, + { + "type": "on", + "note": "D", + "time": 425.0 + }, + { + "type": "off", + "note": "D", + "time": 364.285 + }, + { + "type": "on", + "note": "G", + "time": 64.286 + }, + { + "type": "off", + "note": "G", + "time": 362.5 + }, + { + "type": "on", + "note": "J", + "time": 66.071 + }, + { + "type": "off", + "note": "C", + "time": 253.571 + }, + { + "type": "off", + "note": "J", + "time": 108.928 + }, + { + "type": "on", + "note": "V", + "time": 21.429 + }, + { + "type": "on", + "note": "A", + "time": 383.928 + }, + { + "type": "off", + "note": "A", + "time": 360.714 + }, + { + "type": "on", + "note": "F", + "time": 107.143 + }, + { + "type": "off", + "note": "F", + "time": 364.285 + }, + { + "type": "on", + "note": "H", + "time": 66.071 + }, + { + "type": "off", + "note": "V", + "time": 251.785 + }, + { + "type": "off", + "note": "H", + "time": 108.928 + }, + { + "type": "on", + "note": "Z", + "time": 19.643 + }, + { + "type": "on", + "note": "A", + "time": 385.714 + }, + { + "type": "off", + "note": "A", + "time": 360.714 + }, + { + "type": "on", + "note": "D", + "time": 107.143 + }, + { + "type": "off", + "note": "D", + "time": 362.5 + }, + { + "type": "on", + "note": "G", + "time": 66.071 + }, + { + "type": "off", + "note": "Z", + "time": 253.571 + }, + { + "type": "on", + "note": "A", + "time": 110.714 + }, + { + "type": "off", + "note": "G", + "time": 0.0 + }, + { + "type": "on", + "note": "G", + "time": 53.571 + }, + { + "type": "off", + "note": "A", + "time": 246.428 + }, + { + "type": "off", + "note": "G", + "time": 39.286 + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoYuanQin/assets/score_file/9.One Last Kiss.json b/repo/js/AutoYuanQin/assets/score_file/9.One Last Kiss.json new file mode 100644 index 000000000..59f03ae8f --- /dev/null +++ b/repo/js/AutoYuanQin/assets/score_file/9.One Last Kiss.json @@ -0,0 +1,10 @@ +{ + "name": "One Last Kiss", + "author": "提瓦特钓鱼玳师", + "description": "五线谱网址:https://piastudy.com/Intermediate/1wEHZLFlBRq", + "bpm": "120", + "time_signature": "4/4", + "composer": "宇多田光", + "arranger": "宇多田光", + "notes": "(CB)[8-*](CB)[16](CB)[8](CB)[8](CB)[16](CB)[8-*](CB)[8](CB)[8]|\n(XB)[8-*](XB)[16](XB)[8](XB)[8](XB)[16](XB)[8-*](XB)[8](XB)[8]|\n(XVN)[8-*](XVN)[16](XVN)[8](XVN)[8](XVN)[16](XVN)[8-*](XVN)[8](XVN)[8]|\n\n(VN)[8-*](VN)[16](VN)[8](VN)[8](VNM)[16](VN)[8]S[16](VNF)[16]S[8]F[16]|\nS[16]B[16]F[16](CBS)[16](CB)[16]F[16](CBS)[8](CBS)[16](CB)[8-*]C[4]|\n(BMS)[8-*](BMS)[16](BMS)[8](BMS)[8](BMS)[16](BMS)[8-*](BMS)[8](BMS)[8]|\n\n(BMS)[8-*](BMS)[16](BMS)[8](BMS)[8](BMS)[16](BMS)[8-*](BMS)[8](BMS)[8]|\n(VNA)[8-*](VNA)[16](VNA)[8](VNA)[8](VNA)[16](VNAF)[8-*](VNAF)[8](VNAF)[8]|\n(VNAF)[2]F[2]|\nF[16]G[16]G[16]G[16]G[16]S[8]A[16]S[16]A[8-*]A[4]|\n\nG[8]G[16]G[16]G[16]S[8]A[16]S[16]A[8-*]M[4]|\nF[16]G[16]G[16]G[16]G[16]S[8]A[16]S[16]A[8-*]A[8]M[8]|\nG[8]G[16]G[16]G[16]S[8]A[16]S[16]A[8-*]A[4]|\n\nF[16]G[16]G[16]G[16]G[16]S[16]S[16]A[16]S[16]A[8-*]A[8]M[16]M[16]|\nF[16]G[16]G[16]G[16]G[16]S[16]S[16]A[16]S[16]A[8-*]M[4]|\nF[16]G[16]G[16]G[16]G[16]S[16]S[16]A[16]S[16]A[8-*]A[4]|\n\nS[8]A[4]M[8]M[2]|\n(MSF)[8]G[16](MS)[16](MSG)[8](MS)[8](MS)[16](MS)[8-*](MSF)[8]G[8]|\n(ASQ)[8]W[16](AS)[16](ASG)[8](AS)[8](ASF)[16](AS)[8]G[16](AS)[8]G[8]|\n(MSG)[8-*](MS)[16](MS)[8](MS)[8](MS)[16](MS)[8-*](MSG)[8](SW)[8]|\n\n(AQ)[8](MJ)[8](MJ)[8](SW)[8](AQ)[8](MJ)[8](MJ)[8](AQ)[8]|\n(MSG)[8-*](MS)[16](MS)[8](MS)[8](MS)[16](MS)[8-*](MSF)[8]G[8]|\n(ASQ)[8]W[16](AS)[16](ASG)[8](AS)[8](ASF)[16](AS)[8]G[16](AS)[8]G[8]|\n(MSG)[8-*](MS)[16](MS)[8](MS)[8](MS)[16](MS)[8-*](MSG)[8](SW)[8]|\n\n(AQ)[8](MJ)[8](MJ)[8](SW)[8](AQ)[8](MJ)[8](MJ)[8](AQ)[8]|\n(BMSG)[16]@[8](BMSG)[16]@[8](BMSG)[16]@[16]@[16](BMSG)[16]@[8](MJ)[8](AQ)[8]|\n(BMSG)[16]@[8](BMSG)[16]@[8](BMSG)[8](BMSG)[8](SW)[8](AQ)[8](MJ)[8]|\n\n(ZB)[16]@[8](ZB)[16]@[8](ZB)[16]@[8](ZB)[16]@[8]B[8](XS)[8]|\n(ZA)[8]M[8]M[8](XS)[8](ZA)[8]M[8]M[16](ZA)[8-*]|\nB[8-#](BMSG)[16]@[8](BMSG)[16]@[8](BMSG)[16]@[8](BMSG)[16]@[8](MJ)[8](AQ)[8]|\n\n(BMSG)[16]@[8](BMSG)[16]@[8](BMSG)[16]@[16](BMSG)[4](BMSG)[4]|\n(ZB)[16]@[8](ZB)[16]@[8](ZB)[16]@[8](ZB)[16]@[8]B[8](XS)[8]|\n(ZA)[8]M[8]M[8](XS)[8](XM)[4]V[16]X[16]M[16](VA)[16]|\n\nS[8]F[16]S[8]F[16]S[8]M[8]S[8]F[16]S[8]F[16]|\nS[8]F[16]S[8]F[16]S[8]M[8]S[8]F[16]S[8]F[16]|\nS[8]F[16]S[8]F[16]S[8]M[8]S[8]D[16]S[8]D[16]|\n\nS[8]D[16]S[8]D[16]S[8]S[4]A[4]|\nB[8]B[16]B[16]B[16]X[16]X[16]Z[16]X[16]Z[8-*]Z[4]|\nV[16]B[16]B[16]B[16]B[16]X[16]X[16]Z[16]X[16]Z[8-*]@[4]|\n\nV[16]B[16]B[16]B[16]B[16]X[16]X[16]Z[16]X[16]Z[8-*]@[4]|\nV[16]B[16]B[16]B[16]B[16]X[16]X[16]Z[16]Z[4]@[4]|\nV[16]B[16]B[16]B[16]B[16]X[16]X[16]Z[16]X[16]Z[8-*]@[4]|\n\nB[8]B[16]B[16]B[16]X[8]Z[16]X[16]Z[8-*]@[4]|\nV[16]B[16]B[16]B[16]B[16]X[16]X[16]Z[16]X[16]Z[8-*]Z[4]|\nV[16]B[16]B[16]B[16]B[16]X[16]X[16]Z[16]Z[8]@[8]@[4]|\n\n(MSF)[8]G[16](MS)[16](MSG)[8](MS)[8](MS)[16](MS)[8-*](MSF)[8]G[8]|\n(ASQ)[8]W[16]Q[8]G[16]W[16](AS)[16](ASF)[8](ASG)[8](AS)[16](AS)[8]G[16]|\n(MSG)[8-*](MS)[16](MS)[8](MS)[8](MS)[16](MS)[8-*](MSG)[8](SW)[8]|\n(AQ)[8](MJ)[8](MJ)[8](SW)[8](AQ)[8](MJ)[8](MJ)[8](AQ)[8]|\n\n(MSG)[8-*](MS)[16](MS)[8](MS)[8](MS)[16](MS)[8-*](MSF)[8]G[8]|\n(ASQ)[8]W[16](AS)[16](ASG)[8](AS)[8](ASF)[16](AS)[8]G[16](AS)[8]G[8]|\n(MSG)[8-*](MS)[16](MS)[8](MS)[8](MSG)[16](MS)[8-*](MSG)[8](SW)[8]|\n(AQ)[8](MJ)[8](MJ)[8](SW)[8](AQ)[8](MJ)[8](MJ)[8](AQ)[8]|\n\n(MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](MJ)[8](AQ)[8]|\n(MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](BMSG)[8](BMSG)[8](SW)[8](AQ)[8](MJ)[8]|\n\n(ZB)[16]@[16]@[16](ZB)[16]@[16]@[16](ZB)[16]@[16]@[16](ZB)[16]@[16]@[16]B[8](XS)[8]|\n(ZA)[8]M[8]M[8](XS)[8](ZA)[8]M[8]M[16](ZA)[8-*]|\nB[8-#](MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](MJ)[8](AQ)[8]|\n\n(MSG)[16]B[16]B[16](MSG)[16]B[16]B[16](BMSG)[4](BMSG)[4]|\n(ZB)[16]@[16]@[16](ZB)[16]@[16]@[16](ZB)[16]@[16]@[16](ZB)[16]@[16]@[16]B[8](XS)[8]|\n(ZA)[8]M[8]M[8](XS)[8](XA)[8](XM)[8](VM)[16](XA)[8]V[16]|\n\n(SQ)[8]F[16]S[8]F[16]S[8]M[8]S[8]F[16]S[8]F[16]|\nS[8]F[16]S[8]F[16]S[8]M[8]S[8](BG)[8](SW)[8]|\n(AQ)[8](MJ)[8](MJ)[8](SW)[8](AQ)[8](MJ)[8](MJ)[16](AQ)[16](AQ)[16](AQ)[16]|\n\n(MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16]|\n(MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16]|\n(MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16]|\n\n(MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16]|\n(MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16](MJ)[16](AQ)[16](AQ)[16](AQ)[16]A[16]F[16]J[16]Q[16]|\n(VF)[8](BG)[8](BG)[2](VF)[8](BG)[8]|\n(AQ)[8](SW)[8](BG)[4](VF)[8-*](BG)[8-*](BG)[8]|\n\n(BMSG)[8-*](MS)[8-*](MS)[8](MS)[2](BG)[8](SW)[8]|\n(AQ)[8](MJ)[8](MJ)[8](SW)[8](AQ)[8](SJ)[8](SJ)[8](AQ)[8]|\n(BMSG)[8-*](MS)[8-*](MS)[8](MS)[2](VF)[8](BG)[8]|\n(AQ)[8](SW)[8](BG)[4](VF)[8-*](BG)[8-*](BG)[8]|\n\n(BMSG)[8-*](MS)[8-*](MS)[8](MS)[2]|\n(HQ)[8]B[16](HQ)[8-*](HQ)[8](HQ)[2]G[8]S[8]|\nA[8]M[8]M[8]S[8]A[8]M[8]M[8]A[8]|\n(XBA)[16]@[8](XB)[16]@[8](XB)[16]@[8]A[16](XB)[16]@[16](XB)[8]S[8]|\n\nA[8]M[8]M[8]S[8]A[8]M[8]M[8](XA)[8]|\n(ZA)[8]@[8]@[8]X[8]Z[8]@[8]B[8](ZS)[8]|\n(ZA)[8]M[8]M[8]S[8]A[8]M[8]M[8]A[8]|\n(XBA)[16]@[8](XB)[16]@[8](XB)[16]@[8](XB)[16]@[8](XB)[8]S[8]|\n\nA[8]M[8]M[8]S[8]A[8]M[8]M[8](XA)[8]|\n(ZA)[8]@[8]@[8]X[8]Z[8]@[8]@[8]Z[8]|\nZ[8]S[16]S[16]B[16]S[16]S[16]S[16]B[16]S[16]S[16]S[16]B[16]S[16]S[16]S[16]|\n\nM[16]S[16]S[16]S[16]M[16]S[16]S[16]S[16]M[16]S[16]S[16]S[16]M[16]G[16]G[16]G[16]|\nM[16]G[16]G[16]G[16]M[16]G[16]G[16]G[16]M[16]G[16]G[16]G[16]N[16]F[16]F[16]F[16]|\nA[16]F[16]F[16]F[16]A[16]F[16]F[16]F[16]A[16]F[16]F[16]F[16]A[16]H[16]H[16]H[16]|\n\nS[16](GJ)[16](GJ)[16](GJ)[16]S[16](GJ)[16](GJ)[16](GJ)[16]S[16](GJW)[16](GJW)[16](GJW)[16]S[16](GJW)[16](GJW)[16](GJW)[16]|\nB[16](MS)[16](MS)[16](MS)[16]B[16](MS)[16](MS)[16](MS)[16]B[16](MS)[16](MS)[16](MS)[16]B[16](MG)[16](MG)[16](MG)[16]|\nN[16](AG)[16](AG)[16]G[16]N[16](AG)[16](AG)[16](AG)[16]N[16](AG)[16](AG)[16](AG)[16]N[16](AF)[16](AF)[16]F[16]|\n\nN[16](AFH)[16](AH)[16]H[16]N[16](AH)[16](AH)[16](AH)[16]N[16](AH)[16](AFH)[16](AH)[16]@[4]|\nA[16-#]D[16-#]G[16-#]Q[4](ADG)[16]Q[16]A[16](DGQ)[16]A[16](DGQ)[16]A[16](DGQ)[16]A[16](DG)[16]A[16](DGQ)[16]A[16](DG)[16]A[16](DG)[16]|\n(AQ)[16](SG)[16](AQ)[16](SG)[16]A[16](SG)[16](AQ)[16](SG)[16](AQ)[8](XS)[8](ZA)[8]M[8]|\n\n(AQ)[16](SF)[16]A[16](SF)[16](AQ)[16](SF)[16](AQ)[16](SF)[16](AQ)[16](SF)[16](AQ)[16](SF)[16]A[16](SF)[16](AQ)[16](SF)[16]|\n(AQ)[16](SF)[16](AQ)[16](SF)[16]A[16](SF)[16](AQ)[16](SF)[16](AQ)[4](ZA)[16]V[16]N[16]A[16]|\n(AQ)[16](DG)[16]A[16](DG)[16](AQ)[16](DG)[16](AQ)[16](DG)[16](AQ)[16](DG)[16](AQ)[16](DG)[16]A[16](DG)[16](AQ)[16](DG)[16]|\n\n(AQ)[16](SG)[16](AQ)[16](SG)[16]A[16](SG)[16](AQ)[16](SG)[16](AQ)[8](XS)[8](ZA)[8]M[8]|\n(AQ)[16](SF)[16]A[16](SF)[16](AQ)[16](SF)[16](AQ)[16](SF)[16](AQ)[16](SF)[16](AQ)[16](SF)[16]B[16]F[16](SQ)[16]F[16]|\n(AQ)[16]F[16](AQ)[16]F[16](AQ)[16]F[16](SQ)[16]F[16](AQ)[16]F[16]M[16]F[16]M[16]A[8-*]|\n\n(ADGQ)[8-*](DG)[16](DG)[8](DG)[8](DG)[16](DG)[8-*](DG)[4]|\n(MSGQ)[8-*](MSG)[16](MSG)[8](MSG)[8](MSG)[16](MSG)[8-*](MSG)[4]|\n(NAG)[8-*](NAG)[16](NAG)[8](NAG)[8](NAG)[16](NAG)[8-*](NAG)[4]|\n(NAF)[8-*](NAF)[16](NAF)[8](NAF)[8](NAF)[16](NAF)[8-*](NAF)[4]|\n\n(MDG)[8-*](MDG)[16](MDG)[8](MDG)[8](MDG)[16](MDG)[8-*](MDG)[4]|\n(MSG)[8-*](MSG)[16](MSG)[8](MSG)[8](MSG)[16](MSG)[8-*](MSG)[4]|\n(NAG)[8-*](NAG)[16](NAG)[8](NAG)[8](NAG)[16](NAG)[8-*](NAG)[4]|\n(NAF)[8-*](NAF)[16](NAF)[8](NAF)[8](NAF)[16](NAF)[8-*](NAF)[4]|\n(NAF)[1]|\n\n(XB)[1]|\n(XVN)[1]|\n(VN)[4]@[4]M[8]S[8]F[16]S[8]F[16]|\n(BS)[8]F[16]S[8]F[16]S[8]S[2]|\n(BMS)[1]|\n(VNS)[1]|\n\n(VNA)[4]@[4]@[8]X[8]N[16]V[8]N[16]|\nV[8]N[16]V[8]N[16]V[8]F[2]" +} \ No newline at end of file diff --git a/repo/js/AutoYuanQin/assets/tutorial_file/MIDI翻谱器.html b/repo/js/AutoYuanQin/assets/tutorial_file/MIDI翻谱器.html new file mode 100644 index 000000000..d2b3c6955 --- /dev/null +++ b/repo/js/AutoYuanQin/assets/tutorial_file/MIDI翻谱器.html @@ -0,0 +1,250 @@ + + + + +MIDI 解析器(纯JS版) + + + +

MIDI 解析器(纯JS版)

+ + +

+
+
+
+
diff --git a/repo/js/AutoYuanQin/assets/tutorial_file/index.html b/repo/js/AutoYuanQin/assets/tutorial_file/五线谱制谱器.html
similarity index 100%
rename from repo/js/AutoYuanQin/assets/tutorial_file/index.html
rename to repo/js/AutoYuanQin/assets/tutorial_file/五线谱制谱器.html
diff --git a/repo/js/AutoYuanQin/main.js b/repo/js/AutoYuanQin/main.js
index fec3977f7..6c23bc852 100644
--- a/repo/js/AutoYuanQin/main.js
+++ b/repo/js/AutoYuanQin/main.js
@@ -9,7 +9,9 @@
         "5.Flower Dance",
         "6.起风了",
         "7.千本樱 (Eric Chen)",
-        "8.春よ、来い(春天,来吧)"
+        "8.春よ、来い(春天,来吧)",
+        "9.One Last Kiss",
+        "10.卡农(MIDI转谱)"
     ]
     const base_path = "assets/score_file/"
 
@@ -225,7 +227,11 @@
             // 谱师
             music_msg_dic["arranger"] = file_text.match(regex_arranger)[0];
             // 曲谱内容(删除换行符)
-            music_msg_dic["notes"] = file_text.match(regex_notes)[0].replace(regex_blank, '');
+            if (music_msg_dic["author"] !== "MidiTrans") {
+                music_msg_dic["notes"] = file_text.match(regex_notes)[0].replace(regex_blank, '');
+            } else {
+                music_msg_dic["notes"] = JSON.parse(file_text)["notes"];
+            }
         } catch(error) {
             log.info(`曲谱解析错误:${error}\n请检查曲谱文件格式是否正确`);
             return null;
@@ -246,69 +252,74 @@
      * 附:
      * 中括号(-前表示音符类型-后用于区分特殊音符):[填4表示4分音符,填16表示16分音符...-填#表示装饰音,填3表示三连音] 例:[16-#]
      *
-     * @param sheet {string} 乐谱
+     * @param sheet {string} 乐谱 [DEBUG]更新midi后这里也会是一个字典
      * @returns {Object[][]}
      */
     function parseMusicSheet(sheet) {
-        // 将输入字符串按照小节分割
-        let bars = sheet.split('|');
         let result = [];
 
-        // 遍历每个小节
-        bars.forEach(bar => {
-            let i = 0;
+        if (typeof(sheet) === "object") {
+            result = sheet;
+        } else {
+            // 将输入字符串按照小节分割
+            let bars = sheet.split('|');
 
-            // 逐个字符解析小节中的音符及其属性
-            while (i < bar.length) {
-                let note = ''; // 存储音符
-                let type = ''; // 存储音符类型
-                let chord = false; // 判断是否为和弦
-                let spl = 'none'; // 存储特殊音符属性,默认值为 "none"
+            // 遍历每个小节
+            bars.forEach(bar => {
+                let i = 0;
 
-                // 检查是否为和弦(和弦用圆括号包裹)
-                if (bar[i] === '(') {
-                    chord = true;
-                    i++;
-                    while (bar[i] !== ')') {
-                        note += bar[i];
+                // 逐个字符解析小节中的音符及其属性
+                while (i < bar.length) {
+                    let note = ''; // 存储音符
+                    let type = ''; // 存储音符类型
+                    let chord = false; // 判断是否为和弦
+                    let spl = 'none'; // 存储特殊音符属性,默认值为 "none"
+
+                    // 检查是否为和弦(和弦用圆括号包裹)
+                    if (bar[i] === '(') {
+                        chord = true;
+                        i++;
+                        while (bar[i] !== ')') {
+                            note += bar[i];
+                            i++;
+                        }
+                        i++; // 跳过闭合圆括号
+                    } else if (bar[i] === '@') {
+                        // 处理休止符
+                        note = '@';
+                        i++;
+                    } else {
+                        note = bar[i];
                         i++;
                     }
-                    i++; // 跳过闭合圆括号
-                } else if (bar[i] === '@') {
-                    // 处理休止符
-                    note = '@';
-                    i++;
-                } else {
-                    note = bar[i];
-                    i++;
-                }
 
-                // 解析音符类型(用方括号包裹)
-                if (bar[i] === '[') {
-                    i++;
-                    while (bar[i] !== ']') {
-                        type += bar[i];
+                    // 解析音符类型(用方括号包裹)
+                    if (bar[i] === '[') {
                         i++;
+                        while (bar[i] !== ']') {
+                            type += bar[i];
+                            i++;
+                        }
+                        i++; // 跳过闭合方括号
                     }
-                    i++; // 跳过闭合方括号
-                }
 
-                // 解析特殊音符属性(如果type中包含'-')
-                if (type.includes('-')) {
-                    let splIndex = type.indexOf('-');
-                    spl = type.slice(splIndex + 1);
-                    type = parseInt(type.slice(0, splIndex), 10);
-                }
+                    // 解析特殊音符属性(如果type中包含'-')
+                    if (type.includes('-')) {
+                        let splIndex = type.indexOf('-');
+                        spl = type.slice(splIndex + 1);
+                        type = parseInt(type.slice(0, splIndex), 10);
+                    }
 
-                // 将解析结果添加到parsedNotes数组中
-                result.push({
-                    "note": note,
-                    "type": type,
-                    "chord": chord,
-                    "spl": spl
-                });
-            }
-        });
+                    // 将解析结果添加到parsedNotes数组中
+                    result.push({
+                        "note": note,
+                        "type": type,
+                        "chord": chord,
+                        "spl": spl
+                    });
+                }
+            });
+        }
 
         return result;
     }
@@ -323,101 +334,112 @@
      * @returns {Promise}
      */
     async function play_sheet(sheet_list, bpm, ts) {
-        // 确定是以几分音符为一拍
-        let symbol = parseInt(ts.split("/")[1], 10);
-        // 每拍所需的时间
-        let symbol_time = Math.round(60000 / bpm);
-        // 装饰音时长
-        let ornament_time = Math.round(symbol_time / 16)
-        // 存储连音
-        let temp_legato = [];
-
-        // test 需要额外计算装饰音时值的影响
-        for (let i = 0; i < sheet_list.length; i++) {
-            // 显示正在演奏的音符
-            log.info(`${sheet_list[i]["note"]}[${sheet_list[i]["type"]}-${sheet_list[i]["spl"]}]`);
-            if (sheet_list[i]["spl"] === 'none') { // 单音、休止符或和弦
-                if (sheet_list[i]["chord"]) {
-                    await play_chord(sheet_list[i]["note"]); // 和弦
+        if (Object.keys(sheet_list[0]).length === 3) {
+            for (let i = 0; i < sheet_list.length; i++) {
+                await sleep(Math.round(sheet_list[i]["time"]));
+                if (sheet_list[i]["type"] === "on") {
+                    keyDown(sheet_list[i]["note"]);
                 } else {
-                    if (sheet_list[i]["note"] === '@') { // 休止符
-                        // pass
+                    keyUp(sheet_list[i]["note"]);
+                }
+            }
+        } else {
+            // 确定是以几分音符为一拍
+            let symbol = parseInt(ts.split("/")[1], 10);
+            // 每拍所需的时间
+            let symbol_time = Math.round(60000 / bpm);
+            // 装饰音时长
+            let ornament_time = Math.round(symbol_time / 16)
+            // 存储连音
+            let temp_legato = [];
+
+            // test 需要额外计算装饰音时值的影响
+            for (let i = 0; i < sheet_list.length; i++) {
+                // 显示正在演奏的音符
+                log.info(`${sheet_list[i]["note"]}[${sheet_list[i]["type"]}-${sheet_list[i]["spl"]}]`);
+                if (sheet_list[i]["spl"] === 'none') { // 单音、休止符或和弦
+                    if (sheet_list[i]["chord"]) {
+                        await play_chord(sheet_list[i]["note"]); // 和弦
                     } else {
-                        await play_note(sheet_list[i]["note"]); // 单音
-                    }
-                }
-
-                if (i !== sheet_list.length - 1) {
-                    await sleep(cal_time_ornament(sheet_list, symbol_time, symbol, sheet_list[i]["type"], i));
-                }
-            } else if (sheet_list[i]["spl"] === '#') { // 装饰音(不会包含休止符),时值为symbol的时值的1/16
-                if (sheet_list[i]["chord"]) {
-                    await play_chord(sheet_list[i]["note"]); // 和弦
-                } else {
-                    await play_note(sheet_list[i]["note"]); // 单音
-                }
-                if (i !== sheet_list.length - 1) {
-                    await sleep(ornament_time);
-                }
-            } else if (/\.3|\.6|\.\$/.test(sheet_list[i]["spl"])) { // 三连音/六连音(可能包含休止符)
-                temp_legato.push({
-                    "note": sheet_list[i]["note"],
-                    "chord": sheet_list[i]["chord"],
-                    "type": sheet_list[i]["type"]
-                });
-
-                // 演奏连音
-                if ("$".includes(sheet_list[i]["spl"])) {
-                    // 连音的总时长
-                    let time_legato = Math.round(symbol_time * (symbol / sheet_list[i]["type"]));
-                    // 当前音符类型
-                    let current_type = parseInt(sheet_list[i]["spl"].split(".")[0])
-                    // 连音的音符数值总和(用于计算当前音符时长)
-                    let time_all = temp_legato.reduce((sum, each) => sum + 1 / parseInt(each["spl"].split(".")[0]), 0);
-                    // 当前音符时长
-                    let time_current = Math.round(time_legato * (1 / current_type) / time_all);
-                    // 计数
-                    let count = undefined;
-
-                    for (const note_legato of temp_legato) {
-                        if (sheet_list[i]["chord"]) {
-                            await play_chord(sheet_list[i]["note"]); // 和弦
+                        if (sheet_list[i]["note"] === '@') { // 休止符
+                            // pass
                         } else {
-                            if (sheet_list[i]["note"] === '@') { // 休止符
-                                // pass
-                            } else {
-                                await play_note(sheet_list[i]["note"]); // 单音
-                            }
+                            await play_note(sheet_list[i]["note"]); // 单音
                         }
-
-                        if (count === temp_legato.length - 1 && i !== sheet_list.length - 1) {
-                            // 计算连音的最后一个音的时值(计算装饰音)
-                            await sleep(cal_time_ornament(sheet_list, symbol_time, symbol, sheet_list[i]["type"], i, time_current));
-                            // 重置连音缓存区
-                            temp_legato = [];
-                        } else if (i !== sheet_list.length - 1) {
-                            await sleep(time_current);
-                        }
-                        count += 1;
                     }
-                }
-            } else if (sheet_list[i]["spl"] === '*') { // 附点音符
-                if (sheet_list[i]["chord"]) {
-                    await play_chord(sheet_list[i]["note"]); // 和弦
-                } else {
-                    if (sheet_list[i]["note"] === '@') { // 休止符
-                        // pass
+
+                    if (i !== sheet_list.length - 1) {
+                        await sleep(cal_time_ornament(sheet_list, symbol_time, symbol, sheet_list[i]["type"], i));
+                    }
+                } else if (sheet_list[i]["spl"] === '#') { // 装饰音(不会包含休止符),时值为symbol的时值的1/16
+                    if (sheet_list[i]["chord"]) {
+                        await play_chord(sheet_list[i]["note"]); // 和弦
                     } else {
                         await play_note(sheet_list[i]["note"]); // 单音
                     }
+                    if (i !== sheet_list.length - 1) {
+                        await sleep(ornament_time);
+                    }
+                } else if (/\.3|\.6|\.\$/.test(sheet_list[i]["spl"])) { // 三连音/六连音(可能包含休止符)
+                    temp_legato.push({
+                        "note": sheet_list[i]["note"],
+                        "chord": sheet_list[i]["chord"],
+                        "type": sheet_list[i]["type"]
+                    });
+
+                    // 演奏连音
+                    if ("$".includes(sheet_list[i]["spl"])) {
+                        // 连音的总时长
+                        let time_legato = Math.round(symbol_time * (symbol / sheet_list[i]["type"]));
+                        // 当前音符类型
+                        let current_type = parseInt(sheet_list[i]["spl"].split(".")[0])
+                        // 连音的音符数值总和(用于计算当前音符时长)
+                        let time_all = temp_legato.reduce((sum, each) => sum + 1 / parseInt(each["spl"].split(".")[0]), 0);
+                        // 当前音符时长
+                        let time_current = Math.round(time_legato * (1 / current_type) / time_all);
+                        // 计数
+                        let count = undefined;
+
+                        for (const note_legato of temp_legato) {
+                            if (sheet_list[i]["chord"]) {
+                                await play_chord(sheet_list[i]["note"]); // 和弦
+                            } else {
+                                if (sheet_list[i]["note"] === '@') { // 休止符
+                                    // pass
+                                } else {
+                                    await play_note(sheet_list[i]["note"]); // 单音
+                                }
+                            }
+
+                            if (count === temp_legato.length - 1 && i !== sheet_list.length - 1) {
+                                // 计算连音的最后一个音的时值(计算装饰音)
+                                await sleep(cal_time_ornament(sheet_list, symbol_time, symbol, sheet_list[i]["type"], i, time_current));
+                                // 重置连音缓存区
+                                temp_legato = [];
+                            } else if (i !== sheet_list.length - 1) {
+                                await sleep(time_current);
+                            }
+                            count += 1;
+                        }
+                    }
+                } else if (sheet_list[i]["spl"] === '*') { // 附点音符
+                    if (sheet_list[i]["chord"]) {
+                        await play_chord(sheet_list[i]["note"]); // 和弦
+                    } else {
+                        if (sheet_list[i]["note"] === '@') { // 休止符
+                            // pass
+                        } else {
+                            await play_note(sheet_list[i]["note"]); // 单音
+                        }
+                    }
+                    // 排除尾音
+                    if (i !== sheet_list.length - 1) {
+                        await sleep(cal_time_ornament(sheet_list, symbol_time * 1.5, symbol, sheet_list[i]["type"], i));
+                    }
+                } else {
+                    log.info(`错误: ${sheet_list[i]["spl"]}`);
+                    return null;
                 }
-                // 排除尾音
-                if (i !== sheet_list.length - 1) {
-                    await sleep(cal_time_ornament(sheet_list, symbol_time * 1.5, symbol, sheet_list[i]["type"], i));
-                }
-            } else {
-                log.info(`错误: ${sheet_list[i]["spl"]}`);
-                return null;
             }
         }
     }
@@ -427,7 +449,7 @@
         if (settings_msg == null) {
             return null
         }
-        try {
+        // try {
             if (settings_msg["type"] === "single") { // 单曲
                 // 读取乐谱
                 const music_msg = await get_music_msg(settings_msg["music"]);
@@ -475,9 +497,9 @@
                     }
                 }
             }
-        } catch (error) {
-            log.error(`出现错误: ${error}`);
-        }
+        // } catch (error) {
+        //     log.error(`出现错误: ${error}`);
+        // }
 
     }
 
diff --git a/repo/js/AutoYuanQin/manifest.json b/repo/js/AutoYuanQin/manifest.json
index 45efee208..0f0af883f 100644
--- a/repo/js/AutoYuanQin/manifest.json
+++ b/repo/js/AutoYuanQin/manifest.json
@@ -1,7 +1,7 @@
 {
   "manifest_version": 1,
   "name": "原琴·五线谱版",
-  "version": "2.1.1",
+  "version": "3.0",
   "bgi_version": "0.43.1",
   "description": "功能描述:功能及其强大的原琴脚本\n核心功能------------------------------>\n1.轻松实现根据五线谱翻版琴谱,支持单音、和弦\n2.曲谱支持录入BPM、拍号\n3.特殊音符支持休止符、浮点音符、(三/六)连音、(三/六)连音标记线、装饰音·倚音\n4.含有制谱器,方便制作曲谱\n注意事项------------------------------>\n1.使用前请装备原琴\n2.音域只有3个八度,受原琴音域限制,本脚本的上限取决于翻谱的大佬(卑微\n3.实际上装饰音·倚音的时长视为基础时值单位(比如拍号2/4的基础时值单位就是4分音符)的1/16\n4.制铺说明:曲谱JSON文件的notes必须保证为一行且不能包括空白符(换行符除外);小节之间用|隔开,|不是必要的,作用是方便曲谱维护\n---------------------------------------->\n作者:提瓦特钓鱼玳师\n脚本反馈邮箱:hijiwos@hotmail.com",
   "authors": [
diff --git a/repo/js/AutoYuanQin/settings.json b/repo/js/AutoYuanQin/settings.json
index bd9dc20c3..e364e3b8a 100644
--- a/repo/js/AutoYuanQin/settings.json
+++ b/repo/js/AutoYuanQin/settings.json
@@ -11,7 +11,9 @@
             "5.Flower Dance-[5:20]",
             "6.起风了-[3:22]",
             "7.千本樱 (Eric Chen)-[4:03]",
-            "8.春よ、来い(春天,来吧)-[4:02]"
+            "8.春よ、来い(春天,来吧)-[4:02]",
+            "9.One Last Kiss-[4:12]",
+            "10.卡农(MIDI转谱).json"
         ]
     },
     {