JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q57171F
  • License MIT

Create music chords

Package Exports

  • music-chord

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (music-chord) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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