From 01efdbaeced62a6d2e6c31c305fed120c93650ed 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: Thu, 2 Oct 2025 09:57:37 +0800 Subject: [PATCH] =?UTF-8?q?JS=E8=84=9A=E6=9C=AC=EF=BC=9AAutoYuanQin?= =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0+=E4=BF=AE=E5=A4=8D=E3=80=91=20(#204?= =?UTF-8?q?7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修复连音演奏部分 * 添加了新曲《Bad Apple!!》- 风物之诗琴、《我期待的不是雪,而是有你的冬天》- 老旧的诗琴 * 修复连音缓存数组的清空逻辑 * 添加新曲-Nod-Krai(哥伦比亚演唱版) * 隐藏调试通知 * 完善乐器信息 * 完善曲谱描述 --- repo/js/AutoYuanQin/README.md | 4 ++ .../assets/score_file/0015.Bad Apple!!.json | 11 +++ .../0016.我期待的不是雪,而是有你的冬天.json | 11 +++ .../assets/score_file/0017.Nod-Krai.json | 11 +++ repo/js/AutoYuanQin/main.js | 69 +++++++++++-------- repo/js/AutoYuanQin/manifest.json | 2 +- repo/js/AutoYuanQin/settings.json | 5 +- 7 files changed, 81 insertions(+), 32 deletions(-) create mode 100644 repo/js/AutoYuanQin/assets/score_file/0015.Bad Apple!!.json create mode 100644 repo/js/AutoYuanQin/assets/score_file/0016.我期待的不是雪,而是有你的冬天.json create mode 100644 repo/js/AutoYuanQin/assets/score_file/0017.Nod-Krai.json diff --git a/repo/js/AutoYuanQin/README.md b/repo/js/AutoYuanQin/README.md index 3b6091cdb..ed842baa7 100644 --- a/repo/js/AutoYuanQin/README.md +++ b/repo/js/AutoYuanQin/README.md @@ -244,6 +244,10 @@ notes 字段中包含的是乐谱内容音符**必须**使用**大写字母**, ## 更新日志 由于更新日志于3.0开始记录, 往期更新内容应该都在git的记录中, 不过我懒得翻了 +- ver 3.2.0 +1. 修复了五线谱演奏部分连音在演奏时被跳过的问题 +1. 添加了新曲《Bad Apple!!》- 风物之诗琴、《我期待的不是雪,而是有你的冬天》- 老旧的诗琴、《Nod-Krai》-老旧的诗琴 + - ver 3.1.2 1. 修复了五线谱制谱器第三个八度音高异常的问题 1. 优化了五线谱制谱器的示例图片大小 diff --git a/repo/js/AutoYuanQin/assets/score_file/0015.Bad Apple!!.json b/repo/js/AutoYuanQin/assets/score_file/0015.Bad Apple!!.json new file mode 100644 index 000000000..d0d2022fb --- /dev/null +++ b/repo/js/AutoYuanQin/assets/score_file/0015.Bad Apple!!.json @@ -0,0 +1,11 @@ +{ + "name": "Bad Apple!!", + "author": "提瓦特钓鱼玳师", + "instrument": "风物之诗琴", + "description": "五线谱网址:https://musescore.com/user/24713/scores/42284", + "bpm": "138", + "time_signature": "4/4", + "composer": "Masayoshi Minoshima", + "arranger": "ZUN & Jacky Yang", + "notes": "C[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]B[16]N[8]B[16]N[16]|\n\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\nC[8]C[16]C[8]C[16]Z[16]X[16]N[8]B[16]N[16]B[8]C[16]B[16]|\n\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]B[16]N[8]B[16]N[16]|\n\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\nC[8]C[16]C[8]C[16]Z[16]X[16]N[2-8.3]B[2-8.3]N[2-8.3]B[2-8.3]C[2-8.3]B[2-8.$]|\nC[8]V[8]B[8]N[8]M[4]D[8]S[8]|\n\nM[4]C[4]M[8]N[8]B[8]V[8]|\nC[8]V[8]B[8]N[8]M[4]N[8]B[8]|\nV[8]C[8]V[8]B[8]V[8]C[8]X[8]V[8]|\nC[8]V[8]B[8]N[8]M[4]D[8]S[8]|\nM[4]C[4]M[8]N[8]B[8]V[8]|\n\nC[8]V[8]B[8]N[8]M[4]N[8]B[8]|\nV[4]B[4]N[4]M[4]|\nC[8]V[8](CB)[8](VN)[8](CM)[4](BD)[8](MS)[8]|\n(BM)[4]C[4](BM)[8]N[8]B[8]V[8]|\nC[8]V[8]B[8]N[8]M[4]N[8]B[8]|\n\nV[8]C[8]V[8]B[8]V[8]C[8]X[8]V[8]|\nC[8]V[8](CB)[8](VN)[8](CM)[4](BD)[8](MS)[8]|\n(BM)[4]C[4](BM)[8]N[8]B[8]V[8]|\nC[8]V[8]B[8]N[8]M[4]N[8]B[8]|\nV[4]B[4]N[4]M[4]|\n\nS[8]D[8]M[8]N[8]M[4]N[8]M[8]|\nS[8]D[8]M[8]N[8]M[4]N[8]M[8]|\nN[8]B[8]V[8]X[8]C[4]X[8]C[8]|\nV[8]B[8]N[8]M[8]C[4]M[8]S[8]|\nS[8]D[8]M[8]N[8]M[4]N[8]M[8]|\nS[8]D[8]M[8]N[8]M[4]N[8]M[8]|\nN[8]B[8]V[8]X[8]C[4]X[8]C[8]|\nV[8]B[8]N[8]M[8]C[4]M[8]S[8]|\nS[8]D[8]M[8]N[8]M[4]N[8]M[8]|\n\nS[8]D[8]M[8]N[8]M[4]N[8]M[8]|\nN[8]B[8]V[8]X[8]C[4]X[8]C[8]|\nV[8]B[8]N[8]M[8]C[4]M[8]S[8]|\nS[8]D[8]M[8]N[8]M[4]N[8]M[8]|\nS[8]D[8]M[8]N[8]M[4]D[8]F[8]|\n\nG[8]F[8]D[8]S[8]M[4]N[8]M[8]|\nN[8]B[8]V[8]X[8]C[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\n\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\n\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]E[8]R[8]|\n\nT[8]R[8]E[8]W[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]@[4]|\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\n\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]B[16]N[8]B[16]N[16]|\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\n\nC[8]C[16]C[8]C[16]Z[16]X[16]N[8]B[16]N[16]B[8]C[16]B[16]|\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\n\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]B[16]N[8]B[16]N[16]|\nC[8]C[16]C[8]C[16]Z[16]X[16]C[8]C[16]C[8]C[16]Z[16]X[16]|\n\nC[8]C[16]C[8]C[16]Z[16]X[16]N[2-8.3]M[2-8.3]S[2-8.3]D[2-8.3]G[2-8.3]J[2-8.$]|\nH[2-*]J[16-*]H[16-*]G[8]|\nH[16]G[16]F[8]G[16]F[16]D[8]F[16]D[16]S[8]D[4]|\nM[4]S[8]M[8]N[8]N[8]N[4]|\n\nV[4]B[8]M[8]S[8]D[8]G[8]J[8]|\nW[4]J[8]E[4]E[4]T[8]|\nT[4]R[8]R[8]R[8]T[8]R[8]E[8]|\nW[8]E[16]J[16]J[8-*]W[4]H[8]J[8]H[16]|\n\nH[16]J[8]W[4]J[16]H[8]J[8]H[8]G[8]|\nC[4-8.3]X[4-16.3]C[4-8.$]F[4-8.3]D[4-16.3]F[4-8.$]J[4-8.3]H[4-16.3]J[4-8.$]W[4-8.3]Q[4-16.3]W[4-8.$]|\nJ[4-8.3]H[4-16.3]J[4-8.$]F[4-8.3]D[4-16.3]F[4-8.$]V[4-8.3]C[4-16.3]V[4-8.$]X[4-8.3]Z[4-16.3]X[4-8.$]|\nM[16]M[16]S[16]S[16]A[16]A[16]M[16]M[16]A[16]A[16]S[16]S[16]D[16]D[16]F[8]|\n\nH[4]G[4-*]F[4]H[8]|\nH[8]G[8]F[8]H[8]G[8]F[8]H[8]G[8]|\nF[4-8.3]H[4-8.3]G[4-8.$]F[4-8.3]H[4-8.3]G[4-8.$]F[4-8.3]H[4-8.3]G[4-8.$]F[4-8.3]H[4-8.3]G[4-8.$]|\nJ[4]J[8-#]W[4]E[4]R[4]|\nT[8]R[8]R[4]E[4]W[4]|\n\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\n\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\n\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]E[8]R[8]|\nT[8]R[8]E[8]W[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]J[8]W[8]|\n\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\n\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nH[8]G[8]F[8]S[8]D[4]S[8]D[8]|\n\nF[8]G[8]H[8]J[8]D[4]J[8]W[8]|\nW[8]E[8]J[8]H[8]J[4]H[8]J[8]|\nW[8]E[8]J[8]H[8]J[4]E[8]R[8]|\nT[8]R[8]E[8]W[8]J[4]H[8]J[8]|\n\nH[8]G[8]F[8]S[8]D[2]" +} \ No newline at end of file diff --git a/repo/js/AutoYuanQin/assets/score_file/0016.我期待的不是雪,而是有你的冬天.json b/repo/js/AutoYuanQin/assets/score_file/0016.我期待的不是雪,而是有你的冬天.json new file mode 100644 index 000000000..f0206514f --- /dev/null +++ b/repo/js/AutoYuanQin/assets/score_file/0016.我期待的不是雪,而是有你的冬天.json @@ -0,0 +1,11 @@ +{ + "name": "我期待的不是雪,而是有你的冬天", + "author": "提瓦特钓鱼玳师", + "instrument": "老旧的诗琴", + "description": "五线谱网址:https://musescore.com/user/11147046/scores/13439752", + "bpm": "105", + "time_signature": "4/4", + "composer": "祝子由", + "arranger": "Jessy Chen", + "notes": "@[4]@[8]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]N[8]B[8]V[8]N[8]|\nN[8]M[4]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]A[8]M[8]A[8]F[8]|\n\nF[8]S[4]S[16]S[16]S[8]F[8]F[8]S[8]|\nG[4]G[8]F[8]A[4]A[8]M[8]|\nA[8]S[8]A[8]M[8]B[4]S[8]A[8]|\nB[8]B[8]B[8]S[8]A[8]M[8]N[8]B[8]|\n\nB[2]N[4]B[4]|\nM[4]B[4]N[8]M[8]N[8]V[8]|\nB[8]V[16]B[16]B[2-*]|\nM[4]B[4]N[8]M[8]N[8]V[8]|\n\nA[8]S[16]S[16]S[2-*]|\nG[8]F[16]G[16]G[8]B[8]A[8]M[16]A[16]A[8]B[8]|\nM[8]N[16]M[16]M[8]A[8]B[8]B[8]S[8]A[8]|\nM[8]B[8]B[8]S[8]A[8]M[8]N[8]M[8]|\n\nB[2]N[4]M[4]|\nN[8]M[8]B[8]B[8]N[8]M[8]N[8]V[8]|\nB[8]V[16]B[16]B[2-*]|\nN[8]M[8]B[4]N[8]M[8]A[8]V[8]|\n\nA[8]S[16]S[16]S[2-*]|\nG[8]F[16]G[16]@[8]B[8]A[8]M[16]A[16]@[8]V[8]|\nM[8]N[16]M[16]@[8]A[8]B[8]B[8]S[8]A[8]|\nM[8]B[8]B[8]S[8]A[8]M[8]N[8]M[8]|\n\n@[8]B[4]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]N[8]B[8]V[8]N[8]|\n@[8]M[4]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]A[8]M[8]A[8]F[8]|\n\nF[8]S[4]S[16]S[16]S[8]F[8]F[8]S[8]|\nG[4]G[8]F[8]A[4]A[8]M[8]|\nA[8]S[8]A[8]M[8]B[4]S[8]A[8]|\nB[8]B[8]B[8]S[8]A[8]M[8]N[8]B[8]|\n\nB[4-*]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]N[8]B[8]V[8]N[8]|\n@[8]M[4]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]A[8]M[8]A[8]F[8]|\n\nF[8]S[4]S[16]S[16]S[8]F[8]F[8]S[8]|\nG[4]G[8]F[8]A[4]A[8]M[8]|\nA[8]S[8]A[8]M[8]B[4]S[8]A[8]|\nB[8]B[8]B[8]S[8]A[8]M[8]N[8]B[8]|\nB[1]|\n\n(MJ)[8](NH)[8](BJ)[8](VQ)[16]B[16](BW)[4]J[8](ZH)[16]Z[16]|\n(ZH)[8](VJ)[8](XH)[8]F[8]@[2]|\nM[8]N[8](BM)[8](VA)[16]B[16](BS)[4]F[8]Z[16]Z[16]|\n(XS)[8]V[8]B[4]F[8]G[4-*]|\n\n(MJ)[8](NH)[8](BJ)[8](VQ)[16]B[16](BW)[4]Q[8]Z[16]Z[16]|\n(ZJ)[8]V[8](XG)[8]F[8]@[2]|\n@[8]V[4-*]@[8]N[4-*]|\n@[8]M[2-*]M[8]|\nM[4]B[4]N[8]M[8]N[8]V[8]|\n\nB[8]V[16]B[16]B[4]G[8]F[16]G[16]G[4]|\nM[4]B[4]N[8]M[8]A[8]V[8]|\nA[8]S[16]S[16]S[4]Q[8]W[16]W[16]W[4]|\nG[8]F[16]G[16]@[8]B[8]A[8]M[16]A[16]@[8]B[8]|\n\nM[8]N[16]M[16]@[8]A[8]B[8]B[8]S[8]A[8]|\nM[8]B[8]B[8]S[8]A[8]M[8]N[8]M[8]|\n@[8]B[8]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]N[8]B[8]V[8]N[8]|\n\n@[8]M[4]S[16]S[16]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]A[8]M[8]A[8]F[8]|\nF[8]S[4]S[16]S[16]S[8]F[8]F[8]S[8]|\nG[4]G[8]F[8]A[4]A[8]M[8]|\n\nA[8]S[8]A[8]M[8]B[4]S[8]A[8]|\nB[8]B[8]B[8]S[8]A[8]M[8]N[8]B[8]|\nB[4-*]S[16-*]S[16-*]S[8]A[8]M[8]N[8]|\nB[4]B[8]M[8]N[8]B[8]V[8]N[8]|\nN[8]M[4]S[16]S[16]S[8]A[8]M[8]N[8]|\n\nB[4]B[8]M[8]A[8]M[8]A[8]F[8]|\nF[8]S[4]S[16]S[16]S[8]F[8]F[8]S[8]|\nG[4]G[8]F[8]A[4]A[8]M[8]|\nA[8]S[8]A[8]M[8]B[4]S[8]A[8]|\nB[8]B[8]B[8]S[8]A[8]M[8]N[8]B[8]|\n\nB[1]|\n@[8]G[4-*]A[8]F[4-*]|\nM[8]N[8]M[2-*]|\nB[8]S[8]B[4]N[8]M[4-*]|\nB[1]" +} \ No newline at end of file diff --git a/repo/js/AutoYuanQin/assets/score_file/0017.Nod-Krai.json b/repo/js/AutoYuanQin/assets/score_file/0017.Nod-Krai.json new file mode 100644 index 000000000..7b964a2bd --- /dev/null +++ b/repo/js/AutoYuanQin/assets/score_file/0017.Nod-Krai.json @@ -0,0 +1,11 @@ +{ + "name": "0017.Nod-Krai", + "author": "提瓦特钓鱼玳师", + "instrument": "老旧的诗琴", + "description": "五线谱网址:https://www.tan8.com/yuepu-112801.html", + "bpm": "78", + "time_signature": "4/4", + "composer": "HOYO-Mix", + "arranger": "Chauncy", + "notes": "M[8-#]D[8-#]Q[4]A[8]S[8]H[2]|\nM[8-#]D[8-#]Q[8]M[8]A[8]S[8]H[8]A[4-*]|\nN[8-#]M[8-#]D[8-#]Q[8]M[8]A[8]S[8]H[2]|\nN[8-#]M[8-#]D[8-#]Q[8]M[8]A[8]S[8](DG)[2]|\nV[8-#]M[8-#]S[8-#]F[8-#]R[4]U[4]U[4-*]Y[8]|\n\nN[8-#]M[8-#]D[8-#]F[8-#]U[4]Y[8]T[8]E[2]|\nB[8-#]M[8-#]D[8-#]F[8-#]R[4]W[4]E[8]R[8]Y[4]|\nN[8-#]M[8-#]F[8-#]R[8]Y[8-16.3]R[8-16.3]E[8-16.$]R[2-*]|\nV[8-#]M[8-#]S[8-#]F[8-#]R[4]U[4]N[8-#]M[8-#]D[8-#]U[4]@[8]Y[8]|\nN[8-#]M[8-#]S[8-#]F[8-#]U[4]Y[8]T[8]M[8-#]D[8-#]G[8-#]E[4]@[4]|\n\nB[8-#]S[8-#]F[8-#]R[4]W[4]N[8-#]S[8-#]D[8-#]E[8]W[8]Q[8]H[8]|\nW[8-#]Q[8-#](MJ)[8]V[8]M[8]A[8](SW)[4]N[8-#]A[8-#]D[8-#]E[4]|\nB[8-#]M[8-#]S[8-#]F[8-#]R[4]T[8-#]R[8-#]E[8]W[8]N[8-#]D[8-#]H[8-#]E[4]R[8-#]E[8-#]W[8]Q[8]|\nW[8](VQ)[8](MJ)[8]A[8](MSW)[4](NA)[8]E[8]|\n\nB[8-#]S[8-#]F[8-#]J[8-#]R[4]T[8-#]R[8-#]E[8]W[8]N[8-#]D[8-#]H[8-#]E[4]W[8]Q[8]|\nX[8-#]V[8-#]N[8-#]S[8-#]R[4]@[4]W[4]E[4]|\nB[8-#]S[8-#]F[8-#]J[8-#]R[4]T[8-#]R[8-#]E[8]W[8]E[4]N[8-#]D[8-#]H[8-#]W[8]Q[8]|\nW[8](VQ)[8](MJ)[8]A[8](MSJ)[8]Q[8]W[8]Q[8]|\n\nW[8-#]Q[8-#]B[8-#]S[8-#]F[8-#]J[8]N[8]M[8]R[8]N[8-#]D[8-#]H[8-#]E[8]W[8]Q[8]H[8]|\nJ[8]V[8]A[8]S[8](MD)[8]F[8]G[4]|\n@[8]V[8]A[8]S[8](MD)[2]|\n(MFJ)[8]V[8]A[8]S[8](DFHR)[4-*](SW)[8]|\n\n(AGQ)[8]V[8]M[8]A[8](NDH)[4]F[4]|\n\nV[8-#]M[8-#]S[8-#]F[8-#]R[4]U[4]U[4-*]Y[8]|\nN[8-#]M[8-#]A[8-#]D[8-#]F[8-#]U[4]Y[8]T[8]E[2]|\nB[8-#]M[8-#]S[8-#]D[8-#]F[8-#]R[4]W[4]E[8]R[8]Y[4]|\nN[8-#]M[8-#]A[8-#]F[8-#]R[8]Y[8-16.3]R[8-16.3]E[8-16.$]R[4]N[2]|\nV[8-#]M[8-#]S[8-#]F[8-#]R[4]U[4]N[8-#]M[8-#]A[8-#]D[8-#]U[4-*]Y[8]|\nN[8-#]M[8-#]S[8-#]F[8-#]U[4]Y[8]T[8]M[8-#]D[8-#]G[8-#]E[4]@[4]|\n\nB[8-#]S[8-#]F[8-#]R[4]W[4]N[8-#]S[8-#]D[8-#]E[8]W[8]Q[8]H[8]|\nW[8-#]Q[8-#](MSJ)[8]V[8]M[8]A[8](SW)[4]N[8-#]A[8-#]D[8-#]E[4]|\nM[8-#]S[8-#]F[8-#]H[8-#]J[8-#]R[4]T[8-#]R[8-#]E[8]W[8]N[8-#]D[8-#]H[8-#]E[4]R[8-#]E[8-#]W[8]Q[8]|\n\n(MFW)[8](VQ)[8](MJ)[8]A[8](MSFW)[8]Q[8](NAHW)[8]E[8]|\nB[8-#]M[8-#]S[8-#]F[8-#]J[8-#]R[4]T[8-#]R[8-#]E[8]W[8]N[8-#]D[8-#]H[8-#]E[4]W[8]Q[8]|\nX[8-#]V[8-#]N[8-#]S[8-#]F[8-#]R[2](HW)[4]E[4]|\nM[8-#]S[8-#]F[8-#]H[8-#]J[8-#]R[4]T[8-#]R[8-#]E[8]W[8]E[4]N[8-#]D[8-#]H[8-#]W[8]Q[8]|\n\n(MFW)[8](VQ)[8](MJ)[8]A[8](MSHJ)[8]Q[8]W[8]Q[8]|\nW[8-#]Q[8-#]B[8-#]S[8-#]F[8-#]J[4-*]R[8]N[8-#]D[8-#]H[8-#]E[8]W[8]Q[8]H[8]|\n(MFJ)[8]V[8]A[8]S[8]@[4]H[4]|\n(MF)[8]V[8]M[8]A[8](MSHJ)[8]Q[8]W[8]Q[8]|\n\nW[8-#]Q[8-#]B[8-#]S[8-#]F[8-#]J[4-*]R[8]N[8-#]D[8-#]H[8-#]E[8]W[8]Q[8]H[8]|\nV[8-#]M[8-#](HJ)[4]G[4]D[8]S[8]@[4]" +} \ No newline at end of file diff --git a/repo/js/AutoYuanQin/main.js b/repo/js/AutoYuanQin/main.js index 5b3e5f730..b6e7a844b 100644 --- a/repo/js/AutoYuanQin/main.js +++ b/repo/js/AutoYuanQin/main.js @@ -663,47 +663,55 @@ if (i !== sheet_list.length - 1) { await sleep(ornament_time); } - } else if (/\.3|\.6|\.\$/.test(sheet_list[i]["spl"])) { // 三连音/六连音(可能包含休止符) + } else if (/\.([36$])/.test(sheet_list[i]["spl"])) { // 三连音/六连音(可能包含休止符) temp_legato.push({ "note": sheet_list[i]["note"], "chord": sheet_list[i]["chord"], - "type": sheet_list[i]["type"] + "type": sheet_list[i]["type"], + "spl": sheet_list[i]["spl"] }); // 演奏连音 - if ("$".includes(sheet_list[i]["spl"])) { + if (sheet_list[i]["spl"].includes("$")) { // 连音的总时长 let time_legato = Math.round(symbol_time * (symbol / sheet_list[i]["type"])); // 当前音符类型 - let current_type = parseInt(sheet_list[i]["spl"].split(".")[0]) + 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 time_all = 0; + for (let j = 0; j < temp_legato.length; j++) { + time_all += 1 / parseInt(temp_legato[j]["spl"].split(/\./)[0], 0); + } // 计数 - let count = undefined; + let count = 0; - for (const note_legato of temp_legato) { - if (sheet_list[i]["chord"]) { - await play_chord(sheet_list[i]["note"]); // 和弦 + for (let j = 0; j < temp_legato.length; j++) { + // 当前音符时长 + let time_current = Math.round(time_legato * (1 / parseInt(temp_legato[j]["spl"].split(/\./)[0], 0)) / time_all); + + if (temp_legato[j]["chord"]) { + await play_chord(temp_legato[j]["note"]); // 和弦 } else { - if (sheet_list[i]["note"] === '@') { // 休止符 + if (temp_legato[j]["note"] === '@') { // 休止符 // pass } else { - await play_note(sheet_list[i]["note"]); // 单音 + await play_note(temp_legato[j]["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 = []; + if (count < temp_legato.length) { + await sleep(time_current); + } else if (count === temp_legato.length - 1) { + if (i !== sheet_list.length - 1) { + // 计算连音的最后一个音的时值(计算装饰音) + await sleep(cal_time_ornament(sheet_list, symbol_time, symbol, sheet_list[i]["type"], i, time_current)); + } } else if (i !== sheet_list.length - 1) { await sleep(time_current); } count += 1; } + // 重置连音缓存区 + temp_legato = []; } } else if (sheet_list[i]["spl"] === '*') { // 附点音符 if (sheet_list[i]["chord"]) { @@ -808,7 +816,7 @@ const alwaysRepeat = ((settings_msg.playType === PlayType.SingleMusicRepeat || settings_msg.playType === PlayType.QueueMusicRepeat) && (settings_msg.repeatTimes === 0)); await waitTargetTime(settings_msg.startTime); - try { + // try { do { for (const music_info of music_infos) { log.info(`开始演奏: ${music_info.name} - ${music_info.author}`); @@ -837,15 +845,16 @@ } if (settings_msg.repeatInterval > 0) await sleep(settings_msg.repeatInterval * 1000); } while (alwaysRepeat || --settings_msg.repeatTimes > 0); - } catch (error) { - if (DEBUG) { - log.error(`脚本执行错误 ${error} erron.txt 已打印`) - file.writeTextSync("erron.txt", `${error.stack}`); - } - else { - log.error(`脚本执行错误 ${error}`) - } - } + // } catch (error) { + // if (DEBUG) { + // log.error(`脚本执行错误 ${error} erron.txt 已打印`) + // file.writeTextSync("erron.txt", `${error.stack}`); + // } + // else { + // log.error(`脚本执行错误 ${error}`) + // } + // } } await main(); -})(); \ No newline at end of file + +})(); diff --git a/repo/js/AutoYuanQin/manifest.json b/repo/js/AutoYuanQin/manifest.json index 4a02a0037..7468741fb 100644 --- a/repo/js/AutoYuanQin/manifest.json +++ b/repo/js/AutoYuanQin/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "原琴·乐曲转换、自动演奏", - "version": "3.1.2", + "version": "3.2.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 29e688bb9..399fb7733 100644 --- a/repo/js/AutoYuanQin/settings.json +++ b/repo/js/AutoYuanQin/settings.json @@ -33,7 +33,10 @@ "0011.圆号卡农", "0012.悠可琴千本樱", "0013.Counting Stars", - "0014.Bad Apple" + "0014.Bad Apple", + "0015.Bad Apple!!", + "0016.我期待的不是雪,而是有你的冬天", + "0017.Nod-Krai" ] }, {