Security News
cURL Project and Go Security Teams Reject CVSS as Broken
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
tonal-chord
Advanced tools
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"]
.names(aliases)
⇒ Array
.props(name)
⇒ Object
.intervals(name)
⇒ Array.<String>
.notes(nameOrTonic, [name])
⇒ Array
.exists(name)
⇒ Boolean
.supersets(name)
⇒ Array
.subsets(name)
⇒ Array
.tokenize(name)
⇒ Array
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:
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" ]
FAQs
Music chords creation and manipulation
The npm package tonal-chord receives a total of 746 weekly downloads. As such, tonal-chord popularity was classified as not popular.
We found that tonal-chord demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.