music-chord

1.2.1 • Public • Published

music-chord npm version

tonal

music-chord is a function to create music chords. They can be created from a chord name (it includes a chord dictionary) or from a list of intervals:

var chord = require('music-chord')
// get chord notes using name
chord('Cmaj7') // => ['C', 'E', 'G', 'B']
// get chord notes using type and tonic
chord('maj7', 'C2') // => ['C2', 'E2', 'G2', 'B2']
// get chord intervals (tonic false)
chord('maj7', false) // => ['1P', '3M', '5P', '7M']
// partially applied
var maj7 = chord('maj7')
maj7('C') // => ['C', 'E', 'G', 'B']
// create chord from intervals
chord('1 3 5 m7 m9', 'C') // => ['C', 'E', 'G', 'Bb', 'Db']

This is part of tonal:

var tonal = require('tonal')
tonal.chord('C7') // => ['C', 'E', 'G', 'Bb']

Install via npm: npm i --save music-chord

Usage

Chords are arrays of notes ordered by pitch. Not always the first not is the tonic of the chord.

Create chords from a collection of notes or intervals

You can create chords by a list of intervals and a tonic. If the tonic is a pitch class (a note with octave) the chord notes are pitch classes:

chord('1 b3 5 b7 9', 'C2') // => ['C2', 'Eb2', 'G2', 'Bb2', 'D3']
chord('1 b3 5 b7 9', 'C') // => ['C', 'Eb', 'G', 'Bb', 'D']

Like most tonal functions, it can be partially applied:

var m7 = chord('1 b3 5 b7')
m7('C') // => ['C', 'Eb', 'G', 'Bb']

You can also create a chord from a list of notes (the first is considered to be the tonic):

var dom = chord('A C# E G')
dom('D') // => ['D', 'F#', 'G', 'C']

Get chord intervals

If false is passed as tonic, you can get chord intervals:

chord('maj7', false) // => ['1P', '3m', '5P', '7M']

Get chord names

The names function return the available chord names:

chord.names() // => ['Maj7', 'm7', ...]
chord.names(true) // => ['Maj7', 'm7', ...] <= with aliases

License

MIT License

Readme

Keywords

Package Sidebar

Install

npm i music-chord

Weekly Downloads

9

Version

1.2.1

License

MIT

Last publish

Collaborators

  • danigb