A ready-to-use JSON database of music theory data: notes, chords, scales, intervals, and instrument voicings, plus the Node.js generator that produced it. You can consume the pre-built files in database/ directly without running anything, or regenerate them yourself if you want to extend or customise the data.
- 144 chords, 12 root notes by 12 qualities (triads and seventh chords), each with note names, staff positions, and enharmonic variants
- Instrument voicings: real guitar and ukulele fingerings (from chords-db) plus algorithmically generated piano voicings with difficulty ratings
- 9 scale types: Major, Natural/Harmonic/Melodic Minor, and the five modes, each with degree-level roman numerals and harmonic functions
- 13 intervals, P1 through P8, with consonance classification and enharmonic equivalents
- 4 instruments: Guitar, Ukulele, Bass, and Piano, with tuning and range metadata
The database/ directory is committed to the repository and always up to date. Clone the repo and read the JSON files, no build step required:
git clone https://github.com/angelosavioti/chord_database.gitThen load any file directly, for example:
const chords = require('./database/chords.json');If you modify generate.js and want to rebuild the database files:
npm install
node generate.jsSee PROJECT_STRUCTURE.md for the repository layout, what each output file contains, and how the generator is put together.
MIT, see LICENSE.
The guitar and ukulele entries in database/voicings.json are derived from
chords-db (MIT, © 2016 David
Rubert). If you redistribute this database, keep that attribution — see
THIRD_PARTY_NOTICES.md for the full notices.