开发者数据

整个和弦库,
开放成 JSON。

作者 Chiye · 更新于

站内工具靠这三个只读 JSON 接口运行,也免费开放给任何人:全部和弦指型、全部音阶图,以及交互指板的完整查表。不需要密钥、不需要账号、不做追踪——取用、缓存、引用即可。

3
JSON 接口
172
个和弦指型
60
张音阶图
144
条指板条目
01

接口

三个文件都是本站域名下的静态文件,带 Access-Control-Allow-Origin: *,缓存一天。JSON 与 HTML 页面由同一份源数据生成,两边的数字不会互相矛盾。

  • 和弦数据库

    172 条

    每个和弦指型的按弦、组成音、难度、规范页面地址,以及各已发布语言下的和弦名。

    /data/chords.json →
  • 音阶数据库

    60 条

    5 种音阶 × 全部 12 个调,含拼写正确的音名、音级、音程、全半音公式与该调的自然和弦。

    /data/scales.json →
  • 交互指板状态表

    144 条

    交互指板只取这一份数据,不必把 144 条和弦记录塞进每个页面:全部根音与性质,含琴颈上所有把位。

    /data/fretboard-explorer.json →
02

字段说明

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
本站知道的该根音+性质的全部把位,每个把位自带按弦、指序与横按。
03

快速上手

命令行直接读,或浏览器里 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
        }
      ]
    }
  ]
}

示例只保留最常用的字段;真实响应包含上面列出的全部字段。

04

使用与署名

数据免费使用,包括商业用途。许可不强制署名,但链回 Open Guitar Chords 会很有帮助,也能让这个项目继续维护下去。

文件里只有和弦与音阶事实:没有歌词、没有六线谱文本、没有音频。呈现这些数据的指法图、页面文字与录音属于本站自己的作品。

05

稳定性与变更

字段名保持稳定,变更只做增量:可能出现新字段,已有字段的含义不变。指板接口带版本号,只有响应结构不得不改时才会变。

文件在边缘缓存一天,所以一次更正最多需要 24 小时才到你那边。HTML 页面与 JSON 出自同一份生成数据。

发现指法有误,或需要某个缺失的字段?联系页列出了所有能找到我们的渠道。 联系页