Skip to content

Repository files navigation

chord_database

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.

Features

  • 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

Using the database directly

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.git

Then load any file directly, for example:

const chords = require('./database/chords.json');

Regenerating the data

If you modify generate.js and want to rebuild the database files:

npm install
node generate.js

See PROJECT_STRUCTURE.md for the repository layout, what each output file contains, and how the generator is put together.

License

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.

About

A ready-to-use JSON database of music theory data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages