tonal-chord

2.2.2 • Public • Published

Chord

npm version tonal

tonal-chord is a collection of functions to manipulate musical chords

This is part of tonal music theory library.

Example

// es6
import * as Chord from "tonal-chord"
// es5
const Chord = require("tonal-chord")

Example

Chord.notes("CMaj7") // => ["C", "E", "G", "B"]

Chord.names(aliases)Array

Return the available chord names

Kind: static method of Chord
Returns: Array - the chord names

Param Type Description
aliases boolean true to include aliases

Example

Chord.names() // => ["maj7", ...]

Chord.props(name)Object

Get chord properties. It returns an object with:

  • name: the chord name
  • names: a list with all possible names (includes the current)
  • intervals: an array with the chord intervals
  • chroma: chord croma (see pcset)
  • setnum: chord chroma number

Kind: static method of Chord
Returns: Object - an object with the properties or a object with all properties set to null if not valid chord name

Param Type Description
name string the chord name (without tonic)

Chord.intervals(name)Array.<String>

Get chord intervals. It always returns an array

Kind: static method of Chord
Returns: Array.<String> - a list of intervals or null if the type is not known

Param Type Description
name string the chord name (optionally a tonic and type)

Chord.notes(nameOrTonic, [name])Array

Get the chord notes of a chord. This function accepts either a chord name (for example: "Cmaj7") or a list of notes.

It always returns an array, even if the chord is not found.

Kind: static method of Chord
Returns: Array - an array of notes or an empty array

Param Type Description
nameOrTonic string name of the chord or the tonic (if the second parameter is present)
[name] string (Optional) name if the first parameter is the tonic

Example

Chord.notes("Cmaj7") // => ["C", "E", "G", "B"]
Chord.notes("C", "maj7") // => ["C", "E", "G", "B"]

Chord.exists(name)Boolean

Check if a given name correspond to a chord in the dictionary

Kind: static method of Chord

Param Type
name string

Example

Chord.exists("CMaj7") // => true
Chord.exists("Maj7") // => true
Chord.exists("Ablah") // => false

Chord.supersets(name)Array

Get all chords names that are a superset of the given one (has the same notes and at least one more)

Kind: static method of Chord
Returns: Array - a list of chord names

Param Type
name string

Chord.subsets(name)Array

Find all chords names that are a subset of the given one (has less notes but all from the given chord)

Kind: static method of Chord
Returns: Array - a list of chord names

Param Type
name string

Chord.tokenize(name)Array

Tokenize a chord name. It returns an array with the tonic and chord type If not tonic is found, all the name is considered the chord name.

This function does NOT check if the chord type exists or not. It only tries to split the tonic and chord type.

Kind: static method of Chord
Returns: Array - an array with [tonic, type]

Param Type Description
name string the chord name

Example

Chord.tokenize("Cmaj7") // => [ "C", "maj7" ]
Chord.tokenize("C7") // => [ "C", "7" ]
Chord.tokenize("mMaj7") // => [ "", "mMaj7" ]
Chord.tokenize("Cnonsense") // => [ "C", "nonsense" ]

Readme

Keywords

Package Sidebar

Install

npm i tonal-chord

Weekly Downloads

331

Version

2.2.2

License

MIT

Unpacked Size

31.7 kB

Total Files

8

Last publish

Collaborators

  • danigb