JS脚本:AutoYuanQin【更新+修复】 (#2047)

* 修复连音演奏部分

* 添加了新曲《Bad Apple!!》- 风物之诗琴、《我期待的不是雪,而是有你的冬天》- 老旧的诗琴

* 修复连音缓存数组的清空逻辑

* 添加新曲-Nod-Krai(哥伦比亚演唱版)

* 隐藏调试通知

* 完善乐器信息

* 完善曲谱描述
This commit is contained in:
提瓦特钓鱼玳师
2025-10-02 09:57:37 +08:00
committed by GitHub
parent a7fab6cce2
commit 01efdbaece
7 changed files with 81 additions and 32 deletions

View File

@@ -244,6 +244,10 @@ notes 字段中包含的是乐谱内容音符**必须**使用**大写字母**,
## 更新日志
由于更新日志于3.0开始记录, 往期更新内容应该都在git的记录中, 不过我懒得翻了
- ver 3.2.0
1. 修复了五线谱演奏部分连音在演奏时被跳过的问题
1. 添加了新曲《Bad Apple!!》- 风物之诗琴、《我期待的不是雪,而是有你的冬天》- 老旧的诗琴、《Nod-Krai》-老旧的诗琴
- ver 3.1.2
1. 修复了五线谱制谱器第三个八度音高异常的问题
1. 优化了五线谱制谱器的示例图片大小

View File

@@ -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]"
}

View File

@@ -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]"
}

View File

@@ -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]"
}

View File

@@ -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();
})();
})();

View File

@@ -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": [

View File

@@ -33,7 +33,10 @@
"0011.圆号卡农",
"0012.悠可琴千本樱",
"0013.Counting Stars",
"0014.Bad Apple"
"0014.Bad Apple",
"0015.Bad Apple!!",
"0016.我期待的不是雪,而是有你的冬天",
"0017.Nod-Krai"
]
},
{