开发者数据
整个和弦库,
开放成 JSON。
站内工具靠这三个只读 JSON 接口运行,也免费开放给任何人:全部和弦指型、全部音阶图,以及交互指板的完整查表。不需要密钥、不需要账号、不做追踪——取用、缓存、引用即可。
- 3
- JSON 接口
- 172
- 个和弦指型
- 60
- 张音阶图
- 144
- 条指板条目
接口
三个文件都是本站域名下的静态文件,带 Access-Control-Allow-Origin: *,缓存一天。JSON 与 HTML 页面由同一份源数据生成,两边的数字不会互相矛盾。
和弦数据库
172 条每个和弦指型的按弦、组成音、难度、规范页面地址,以及各已发布语言下的和弦名。
/data/chords.json→音阶数据库
60 条5 种音阶 × 全部 12 个调,含拼写正确的音名、音级、音程、全半音公式与该调的自然和弦。
/data/scales.json→交互指板状态表
144 条交互指板只取这一份数据,不必把 144 条和弦记录塞进每个页面:全部根音与性质,含琴颈上所有把位。
/data/fretboard-explorer.json→
字段说明
6 个值的数组按低音 E 弦到高音 E 弦排列。品位 0 是空弦,"x" 表示该弦不弹。
chords[ ]
symbol- 本站拼写的和弦符号,如 C、F#m7、Bbadd9。
name- 完整的可读和弦名(C major)。
root- 该条目建立在哪个根音上。
quality- 性质 id,如 major、minor、7、sus4。
slug- 该条目对应页面的 URL slug。
hasOwnPage- 该和弦是否有独立页面;为 false 时指型收录在它的性质聚合页里。
href- 和弦页的站内相对路径;url 是绝对地址。
names- 按站点语言(en、zh、zh-Hant)给出的和弦名。
notes- 这个指型实际发出的音,按音级字母拼写,而不是套全局升降号表。
frets- 每根弦按第几品,低音 E 到高音 E。
fingers- 每根弦用哪根手指:1 食指、2 中指、3 无名指、4 小指、0 不用。
barres- 用一根手指横按的品位;空数组表示没有横按。
baseFret- 指法图窗口的第一格;1 表示从琴枕开始。
difficulty- 1–5:1 是开放把位的入门指型,5 是很少有人用的大跨度。
scales[ ]
root- 该条目建立在哪个根音上。
scale- 音阶类型 id,如 major、natural-minor、blues。
slug- 该条目对应页面的 URL slug。
url- 该条目 HTML 页面的绝对 URL。
notes- 从根音按顺序拼出的音阶,每个音级用正确的字母(C 自然小调是 C D Eb F G Ab Bb)。
notePitchClasses- 同一组音的音高 class(0–11),给不该解析音名的代码用。
degrees- 每个音的音阶级数:1、2、♭3、4、5、♭6、♭7。
intervals- 相对根音的半音数,也就是生成该音阶用的那组数字。
steps- 全半音公式:W 全音、H 半音、m3 小三度。
diagram- 该音阶指板图的绝对 URL。
pitchClassNames- 音高 class 到音名的映射,给指板标注用,不必自己解析拼写。
diatonicChords- 建立在音阶上的 7 个和弦,含级数、符号与组成音。
chords["C|major"]
version- 响应格式版本,当前为 1;只有响应结构不得不改时才会变。
chords["…"]- 由根音加性质 id 组成的对象键,如 C|major 或 F#|minor。每个值复用上面的和弦字段,另加 voicings。
voicings- 本站知道的该根音+性质的全部把位,每个把位自带按弦、指序与横按。
快速上手
命令行直接读,或浏览器里 fetch。不需要密钥、请求头或账号。
curl -s https://openguitarchords.com/data/chords.json | jq '.chords[] | select(.symbol == "C")'const res = await fetch('https://openguitarchords.com/data/chords.json');
const { chords } = await res.json();
const cMajor = chords.find((c) => c.symbol === 'C');单条和弦记录
{
"symbol": "C",
"name": "C major",
"root": "C",
"quality": "major",
"slug": "c",
"hasOwnPage": true,
"href": "/chords/c",
"url": "https://openguitarchords.com/chords/c",
"names": {
"en": "C major",
"zh": "C 大三和弦",
"zh-Hant": "C 大三和弦"
},
"notes": [
"C",
"E",
"G"
],
"frets": [
"x",
3,
2,
0,
1,
0
],
"fingers": [
0,
3,
2,
0,
1,
0
],
"barres": [],
"baseFret": 1,
"difficulty": 1
}单条音阶记录
{
"root": "C",
"scale": "major",
"scaleLabel": "Major (Ionian)",
"slug": "c-major",
"url": "https://openguitarchords.com/scales/c-major",
"notes": [
"C",
"D",
"E",
"F",
"G",
"A",
"B"
],
"notePitchClasses": [
0,
2,
4,
5,
7,
9,
11
],
"degrees": [
"1",
"2",
"3",
"4",
"5",
"6",
"7"
],
"intervals": [
0,
2,
4,
5,
7,
9,
11
],
"steps": "W-W-H-W-W-W-H"
}单条指板记录
{
"slug": "c",
"symbol": "C",
"baseFret": 1,
"frets": [
"x",
3,
2,
0,
1,
0
],
"fingers": [
0,
3,
2,
0,
1,
0
],
"barres": [],
"difficulty": 1,
"notes": [
"C",
"E",
"G"
],
"voicings": [
{
"baseFret": 1,
"frets": [
"x",
3,
2,
0,
1,
0
],
"fingers": [
0,
3,
2,
0,
1,
0
],
"barres": []
},
{
"baseFret": 3,
"frets": [
"x",
3,
5,
5,
5,
3
],
"fingers": [
0,
1,
3,
3,
3,
1
],
"barres": [
{
"fret": 3,
"from": 1,
"to": 5
},
{
"fret": 5,
"from": 2,
"to": 4
}
]
}
]
}示例只保留最常用的字段;真实响应包含上面列出的全部字段。
使用与署名
数据免费使用,包括商业用途。许可不强制署名,但链回 Open Guitar Chords 会很有帮助,也能让这个项目继续维护下去。
文件里只有和弦与音阶事实:没有歌词、没有六线谱文本、没有音频。呈现这些数据的指法图、页面文字与录音属于本站自己的作品。
稳定性与变更
字段名保持稳定,变更只做增量:可能出现新字段,已有字段的含义不变。指板接口带版本号,只有响应结构不得不改时才会变。
文件在边缘缓存一天,所以一次更正最多需要 24 小时才到你那边。HTML 页面与 JSON 出自同一份生成数据。
发现指法有误,或需要某个缺失的字段?联系页列出了所有能找到我们的渠道。 联系页