1.2.1 • Published 10 years ago

music-chord v1.2.1

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

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

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.3.0

10 years ago

0.2.0

10 years ago

0.1.0

10 years ago

0.0.0

10 years ago