Chord Note Music 数据库
一个完整的 MySQL 和弦库,覆盖整个半音音阶——支持意大利语 & 英语,并附带导出工具。
项目概述
Chord Note Music Database 是一个精心设计的 MySQL 模式,用于为半音音阶的每个音符(自然音、升音和降音)编录和弦定义。每个音符拥有独立的表,存储意大利语和英语的和弦名称及音程列表。
由 Luca Bocaletto 创建和维护,提供:
- 双语和弦参考:意大利语 & 英语 名称与音程。
- 涵盖所有常见和弦扩展至 十三和弦(三和弦、六和弦、七和弦、九和弦、十一和弦、十三和弦)。
- 生产就绪表格,包含时间戳(
created_at
/updated_at
)和唯一约束。 - 一键导出工具,可将 SQL 转换为单一 JSON 文件。
主要特性
统一表结构
所有表(NoteDO
、NoteREdiesis
、NoteSIb
等)均采用相同 DDL:
CREATE TABLE NoteXY (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
note_ita VARCHAR(3) NOT NULL COMMENT '示例:Do♯',
chord_ita VARCHAR(50) NOT NULL COMMENT '示例:Do♯ 大七',
chord_note_ita VARCHAR(100) NOT NULL COMMENT '示例:Do♯-Mi-Sol♯-Si',
note_eng VARCHAR(2) NOT NULL COMMENT '示例:C#',
chord_eng VARCHAR(20) NOT NULL COMMENT '示例:C#Maj7',
chord_note_eng VARCHAR(100) NOT NULL COMMENT '示例:C#-E#-G#-B#',
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY uk_ita(note_ita, chord_ita),
UNIQUE KEY uk_eng(note_eng, chord_eng)
);
完整数据覆盖
- 12 个半音音符 + 等值升降音。
- 完整
INSERT
脚本,涵盖三到十三和弦。 - 自动
created_at
/updated_at
字段。 - 可选 JSON 导出,供 Web 或移动端使用。
安装与使用
- 克隆仓库:
git clone https://github.com/bocaletto-luca/Chords-Note-Music.git
- 创建并选择数据库:
CREATE DATABASE ChordNoteMusic; USE ChordNoteMusic;
- 导入模式和数据:
mysql -u <user> -p ChordNoteMusic < file.sql
- 示例查询:
SELECT * FROM NoteRE WHERE chord_eng LIKE 'D%9%';
导出工具
将 file.sql
转换为单一 chords.json
:
-
Bash + Python
sql_to_json.sh
(需安装mysql
客户端 &python3
)chmod +x sql_to_json.sh ./sql_to_json.sh # → 生成 chords.json
-
纯 Python
sql_to_json.py
(无需数据库服务器)# 可选:pip install sqlparse python3 sql_to_json.py file.sql [output.json] # → 默认输出 chords.json