Tài liệu định dạng bản nhạc · Jianpu 简谱 → JSON
Định dạng JSON bản nhạc đàn tranh
Online Guzheng phát ký âm số được lưu trong một file JSON nhỏ. Toàn bộ định dạng chỉ là một object có mảng measures. Dưới đây là tất cả trường, một ví dụ hoàn chỉnh và một prompt bạn có thể đưa cho AI cùng ảnh bản nhạc.
Ba bước để có bản nhạc chơi được
- Đưa cho bất kỳ trợ lý AI nào [prompt bên dưới](#ai-prompt) cùng ảnh hoặc PDF của bản jianpu.
- Lưu JSON mà AI trả về thành file .json.
- Mở đàn tranh, chuyển sang 🎼 Chơi theo bản nhạc rồi bấm 📂 Tải bản nhạc JSON.
Không có gì được tải lên máy chủ. File được xử lý ngay trong trình duyệt và lưu ở bộ nhớ cục bộ để lần sau vẫn còn. Bạn cũng có thể tự tạo bản nhạc trong ✏️ Sửa bản nhạc rồi xuất ra JSON.
Ví dụ hoàn chỉnh
Hai ô nhịp: đầu tiên là một ô đi lên theo ngũ cung, sau đó là rung dây, một nốt nghỉ và một nốt cao hơn một quãng tám.
{
"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 }
] }
]
}Các trường cấp cao nhất
| Trường | Kiểu | Mô tả |
|---|---|---|
version | số | Luôn là 1. Được để dành cho các thay đổi định dạng sau này. |
title | chuỗi | Hiện phía trên bản nhạc. Nếu thiếu sẽ dùng “Bản nhạc chưa đặt tên”. |
artist | chuỗi, không bắt buộc | Nhạc sĩ, người phối hoặc nguồn. Hiện cạnh tiêu đề. |
key | chuỗi, không bắt buộc | Chữ cái trong ký hiệu 1=D, ví dụ “D”, “G”, “Bb”, “F#”. App sẽ chuyển toàn bộ đàn để khớp tông, tối đa 7 nửa cung theo mỗi hướng. |
tempo | số | Số phách mỗi phút, 20–300. Nếu thiếu hoặc không hợp lệ sẽ dùng 80 và hiện cảnh báo. |
timeSignature | chuỗi, không bắt buộc | Ghi đúng như trên bản nhạc, ví dụ “4/4” hoặc “2/4”. Dùng để xác định số phách mỗi ô; mặc định là 4/4. |
youtube | object, không bắt buộc | ID 11 ký tự hoặc URL YouTube đầy đủ. Dùng để tải bảng nhạc đệm karaoke. |
measures | mảng, bắt buộc | Mỗi ô nhịp được in tương ứng một phần tử. Mảng không được để trống. |
Các trường của nốt
Mỗi phần tử trong measures[n].notes là một nốt hoặc nốt nghỉ được in trên bản, theo đúng thứ tự đọc.
| Trường | Kiểu | Mô tả |
|---|---|---|
degree | số nguyên 0–7 | Chữ số jianpu được in. 0 là nốt nghỉ. 4 và 7 được chơi bằng cách nhấn dây 3 và 6, cứ ghi đúng như trên bản nhạc. |
octave | số nguyên −2…2, không bắt buộc | Chấm phía trên số → 1 (hai chấm → 2). Chấm phía dưới → −1 (hai chấm → −2). Bỏ qua trường này với quãng giữa. |
beats | số 0–16, không bắt buộc | Độ dài tính theo phách nốt đen. Mặc định là 1. Giá trị sai sẽ thành 1 và hiện cảnh báo. |
technique | chuỗi, không bắt buộc | Hiện tại chỉ hỗ trợ tremolo (摇指). Giá trị khác sẽ bị bỏ qua. |
Bậc âm và dây
Đàn dùng hệ ngũ cung D, với D, E, F♯, A, B lặp lại trên 21 dây. Jianpu 4 và 7 không có dây riêng; app tạo chúng bằng cách nhấn hai dây xanh lá 3 và 6, giống cách người chơi đàn thật thực hiện. Cứ ghi 4 và 7 bình thường, app sẽ tự xử lý.
| Bậc | Cao độ (tông D) | Cách chơi | Màu dây |
|---|---|---|---|
| 1 | D | dây 1 của mỗi nhóm | — |
| 2 | E | dây 2 của mỗi nhóm | — |
| 3 | F♯ | dây 3 của mỗi nhóm | xanh lá |
| 4 | G | nhấn từ 3 (+1 nửa cung) | xanh lá |
| 5 | A | dây 4 của mỗi nhóm | — |
| 6 | B | dây 5 của mỗi nhóm | xanh lá |
| 7 | C♯ | nhấn từ 6 (+2 nửa cung) | xanh lá |
Nếu một bậc âm nằm ngoài phạm vi 21 dây, nốt đó sẽ hiện màu đỏ trên bản nhạc và bị bỏ qua khi phát, đồng thời có cảnh báo phía trên bảng. Hãy giảm giá trị octave hoặc chuyển tông bằng Chỉnh tông.
Đọc tiết tấu thành số phách
beats đếm theo phách nốt đen nên khớp trực tiếp với gạch dưới, gạch ngang và dấu chấm trong jianpu in sẵn. Các nốt nối nên được gộp thành một nốt với tổng giá trị.
| Ký hiệu in | Tên | phách |
|---|---|---|
| 5 | số thường | 1 |
| 5 — | một gạch ngang | 2 |
| 5 — — | hai gạch ngang | 3 |
| 5· | có chấm dôi | 1.5 |
| 5 (một gạch dưới) | nốt móc đơn | 0.5 |
| 5 (một gạch dưới, có chấm dôi) | nốt móc đơn chấm dôi | 0.75 |
| 5 (hai gạch dưới) | nốt móc kép | 0.25 |
Prompt để AI chuyển đổi bản nhạc
Sao chép đoạn này, dán vào ChatGPT, Claude, Gemini hoặc trợ lý AI khác rồi đính kèm ảnh rõ hoặc PDF của trang jianpu. Nội dung là cùng một đặc tả phía trên nhưng được viết theo cách để model dễ hiểu.
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.Model có thể đọc sai những bản scan quá dày hoặc rối. Hãy tải kết quả vào, nghe thử một lần bằng 👂 Nghe mẫu, rồi sửa chỗ sai trong ✏️ Sửa bản nhạc trước khi luyện.
Chỉ chuyển đổi bản nhạc bạn có quyền sử dụng
Bản nhạc được bảo hộ bản quyền như các tác phẩm khác. Chỉ nên chuyển đổi nhạc do bạn tự viết, nhạc bạn có giấy phép sử dụng, hoặc tác phẩm truyền thống và thuộc phạm vi công cộng, đồng thời chỉ chia sẻ kết quả khi quyền sử dụng cho phép. Trang này không lưu trữ bản nhạc của bên thứ ba và cũng không tải file của bạn lên đâu cả: file vẫn nằm trong trình duyệt của chính bạn.
Bản demo đi kèm và mọi bài tập trong Bài học đều là nội dung gốc viết riêng cho trang này và bạn được tự do sử dụng.