曲谱格式参考 · Jianpu 简谱 → JSON
古筝曲谱 JSON 格式
Online Guzheng 会播放保存在小型 JSON 文件里的数字谱。整个格式就是一个带 measures 数组的对象。这里列出全部字段、一个完整示例,以及一段可以和曲谱照片一起交给 AI 的提示词。
三步做出可播放曲谱
- 把你的 jianpu 曲谱照片或 PDF 和[下面的提示词](#ai-prompt)一起交给任意 AI 助手。
- 把 AI 返回的 JSON 保存为 .json 文件。
- 打开古筝,切换到 🎼 曲谱练习,然后点击 📂 上传 JSON 曲谱。
不会有任何内容上传到服务器。文件会直接在浏览器里解析并保存在本地存储中,所以下次打开还会在。你也可以在 ✏️ 曲谱编辑 里手动制作曲谱,再导出为 JSON。
完整示例
两个小节:先是一个上行五声音阶小节,然后是摇指、一个休止符,以及一个高八度音。
{
"version": 1,
"title": "Pentatonic Warm-Up",
"artist": "Your name (optional)",
"key": "D",
"tempo": 88,
"timeSignature": "4/4",
"measures": [
{ "notes": [
{ "degree": 1, "beats": 1 },
{ "degree": 2, "beats": 1 },
{ "degree": 3, "beats": 1 },
{ "degree": 5, "beats": 1 }
] },
{ "notes": [
{ "degree": 6, "beats": 2, "technique": "tremolo" },
{ "degree": 0, "beats": 1 },
{ "degree": 1, "octave": 1, "beats": 1 }
] }
]
}顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | number | 始终为 1。预留给未来的格式变更。 |
title | string | 显示在曲谱上方。没有时会使用“未命名曲谱”。 |
artist | string, optional | 作曲者、编曲者或来源。显示在标题旁边。 |
key | string, optional | 来自 1=D 标记的字母,例如 “D”、“G”、“Bb”、“F#”。应用会让整台乐器一起移调来匹配,两个方向最多各 7 个半音。 |
tempo | number | 每分钟拍数,20–300。缺失或无效时会变成 80,并显示警告。 |
timeSignature | string, optional | 按曲谱原样填写,例如 “4/4” 或 “2/4”。用于设置小节线拍数;默认是 4/4。 |
youtube | object, optional | 11 位视频 ID 或完整 YouTube URL。用于加载卡拉 OK 伴奏面板。 |
measures | array, required | 每个印刷小节对应一个条目。不能为空。 |
音符字段
measures[n].notes 中的每个条目代表一个印刷出来的音符或休止符,顺序按阅读顺序排列。
| 字段 | 类型 | 说明 |
|---|---|---|
degree | integer 0–7 | 印刷出来的 jianpu 数字。0 是休止符。4 和 7 通过给 3、6 弦按弦来演奏,请完全按曲谱上印出的数字填写。 |
octave | integer −2…2, optional | 数字上方的点 → 1(两个点 → 2)。数字下方的点 → −1(两个点 → −2)。中音八度可省略。 |
beats | number 0–16, optional | 以四分音符拍为单位的时值。默认是 1。无效值会变成 1,并显示警告。 |
technique | string, optional | 目前只支持 tremolo (摇指)。其他内容都会被忽略。 |
音级与琴弦
乐器使用 D 五声音阶调音:D、E、F♯、A、B 在 21 根琴弦上循环。Jianpu 的 4 和 7 没有自己的琴弦;应用会像真实演奏者一样,通过给绿色的 3 和 6 弦按弦来得到它们。正常写 4 和 7 即可,其余由应用处理。
| 音级 | 音高(D 调) | 演奏方式 | 琴弦颜色 |
|---|---|---|---|
| 1 | D | 每组第 1 根弦 | — |
| 2 | E | 每组第 2 根弦 | — |
| 3 | F♯ | 每组第 3 根弦 | 绿色 |
| 4 | G | 从 3 按弦(+1 个半音) | 绿色 |
| 5 | A | 每组第 4 根弦 | — |
| 6 | B | 每组第 5 根弦 | 绿色 |
| 7 | C♯ | 从 6 按弦(+2 个半音) | 绿色 |
如果某个音级超出 21 弦范围,它会在曲谱上显示为红色,并在回放时跳过,面板上方也会显示警告。降低 octave 的值,或使用 调音 移调。
把 jianpu 节奏读成拍数
beats 计算四分音符拍,因此可以直接对应印刷 jianpu 里的下划线、横线和附点。连音线连接的音请合并成一个音,并把时值相加。
| 印刷写法 | 名称 | beats |
|---|---|---|
| 5 | 普通数字 | 1 |
| 5 — | 一条横线 | 2 |
| 5 — — | 两条横线 | 3 |
| 5· | 附点 | 1.5 |
| 5(一条下划线) | 八分音符 | 0.5 |
| 5(一条下划线,附点) | 附点八分音符 | 0.75 |
| 5(两条下划线) | 十六分音符 | 0.25 |
用 AI 转换曲谱的提示词
复制这段内容,粘贴到 ChatGPT、Claude、Gemini 或其他助手里,再附上一张清晰的 jianpu 页面照片或 PDF。它和上面的规范相同,只是改写成更适合模型理解的形式。
Convert the attached jianpu (简谱, numbered musical notation) sheet music for guzheng into JSON.
Output ONLY a single JSON object — no commentary, no markdown code fence — with exactly this shape:
{
"version": 1,
"title": "song title as printed",
"artist": "composer / source (optional)",
"key": "D",
"tempo": 88,
"timeSignature": "4/4",
"measures": [
{ "notes": [
{ "degree": 3, "octave": 0, "beats": 1 },
{ "degree": 5, "beats": 0.5 },
{ "degree": 6, "beats": 0.5, "technique": "tremolo" },
{ "degree": 1, "octave": 1, "beats": 2 }
] },
{ "notes": [
{ "degree": 0, "beats": 1 },
{ "degree": 6, "octave": -1, "beats": 3 }
] }
]
}
Rules:
- One entry in "measures" per printed measure. Split at every barline, reading left to right, top row to bottom row.
- "degree": the printed digit 1–7. Use 0 for a rest.
- "octave": dots above the digit → 1 (two dots → 2). Dots below → -1 (two dots → -2). No dots → 0 (or omit).
- "beats": length in quarter-note beats. Bare digit = 1. One underline = 0.5, two underlines = 0.25. A small dot after the digit makes it 1.5× (dotted note, e.g. 1.5). Each dash "—" after a digit adds 1 beat (so "5 — —" = beats 3). Merge tied notes into one note with the summed beats.
- "key": from the "1=D" marking — the letter only, e.g. "D", "G", "Bb", "F#". The app auto-tunes to it.
- "tempo": the metronome marking (♩=88). If missing, estimate from the tempo word.
- "timeSignature": as printed, e.g. "4/4" or "2/4".
- "technique": optional. Use "tremolo" on notes marked 摇指 / tremolo. Omit otherwise.
- Optionally add "youtube": { "videoId": "11-char id" } if a backing/karaoke video is known.
- Grace notes and ornaments: skip them, keep only the main melody notes. For chords, keep the top (melody) note.
- Do not transpose anything — copy the digits exactly as printed. Degrees 4 and 7 are fine: the app plays them by press-bending strings 3 and 6.模型很容易看错拥挤的扫描图。加载结果后,先用 👂 试听 听一遍,练习之前再到 ✏️ 曲谱编辑 修正任何错误。
请只转换你有合法使用权的曲谱
曲谱和其他作品一样受版权保护。请转换你自己创作的音乐、你拥有授权的音乐,或传统、公版作品;除非权利允许,否则请只供自己使用。本站不托管任何第三方曲谱,也绝不会上传你的曲谱,你的文件始终留在自己的浏览器里。
内置示例和课程里的每个练习都是专门为本站创作的原创内容,你可以免费使用。