Chord Note Music Database
Bibliothèque MySQL complète pour la gamme chromatique—bilingue (italien & anglais)—avec utilitaires d’exportation.
Aperçu du Projet
Chord Note Music Database est un schéma MySQL conçu pour cataloguer les définitions d’accords pour chaque note de la gamme chromatique : naturelles, dièses et bémols. Chaque note dispose d’une table dédiée qui stocke les noms et intervalles d’accords en italien et en anglais.
Créé et maintenu par Luca Bocaletto, ce projet propose :
- Référence bilingue : noms et intervalles en italien et anglais.
- Toutes les extensions courantes jusqu’à la 13ᵉ (triades, sixtes, septièmes, neuvièmes, onzièmes, treizièmes).
- Schéma prêt pour la production avec horodatages et contraintes d’unicité.
- Utilitaires pour exporter facilement le dump SQL en un fichier JSON unique.
Fonctionnalités Principales
Schéma Uniforme
Toutes les tables (NoteDO
, NoteREdiesis
, NoteSIb
, etc.) suivent ce DDL :
CREATE TABLE NoteXY (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
note_ita VARCHAR(3) NOT NULL COMMENT 'ex. Do♯',
chord_ita VARCHAR(50) NOT NULL COMMENT 'ex. Do♯ Maggiore 7',
chord_note_ita VARCHAR(100) NOT NULL COMMENT 'ex. Do♯-Mi-Sol♯-Si',
note_eng VARCHAR(2) NOT NULL COMMENT 'ex. C#',
chord_eng VARCHAR(20) NOT NULL COMMENT 'ex. C#Maj7',
chord_note_eng VARCHAR(100) NOT NULL COMMENT 'ex. 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)
);
Couverture Complète
- 12 notes chromatiques + enharmoniques dièses/bémols.
- Scripts
INSERT
complets pour accords jusqu’à la 13ᵉ. - Champs
created_at
/updated_at
automatiques. - Export JSON pour intégration web ou mobile.
Installation & Utilisation
- Cloner le dépôt :
git clone https://github.com/bocaletto-luca/Chords-Note-Music.git
- Créer et sélectionner la base :
CREATE DATABASE ChordNoteMusic; USE ChordNoteMusic;
- Importer le schéma et les données :
mysql -u <user> -p ChordNoteMusic < file.sql
- Exemple de requête :
SELECT * FROM NoteRE WHERE chord_eng LIKE 'D%9%';
Utilitaires d’Exportation
Convertissez file.sql
en un unique chords.json
:
-
Bash + Python
sql_to_json.sh
(requiert clientmysql
etpython3
)chmod +x sql_to_json.sh ./sql_to_json.sh # → génère chords.json
-
Python seul
sql_to_json.py
(sans serveur DB)# optionnel : pip install sqlparse python3 sql_to_json.py file.sql [output.json] # → output par défaut = chords.json