Range
A collection of functions to create note ranges.
Example
const Range =
Example
// ascending chromatic rangeRange // => ["C4", "Db4", "D4", "Eb4", "E4"]// descending chromatic rangeRange // => ["E4", "Eb4", "D4", "Db4", "C4"]// combining ascending and descending in complex rangesRange // => ["C2", "Db2", "D2", "Eb2", "E2", "Eb2", "D2"]// numeric (midi note numbers) rangeRange // => [60, 61, 62, 63, 64]// complex numeric rangeRange // => [60, 61, 62, 63, 64, 63, 62, 61, 60, 59, 58]
- Range
.numeric(array)
⇒Array
.chromatic(list)
⇒Array
.fifths(tonic, range)
⇒Array
.scale(scale, range)
⇒Array
Range.numeric(array)
⇒ Array
Create a numeric range. You supply a list of notes or numbers and it will be conected to create complex ranges.
Kind: static method of Range
Returns: Array
- an array of numbers or empty array if not vald parameters
Param | Type | Description |
---|---|---|
array | Array |
the list of notes or numbers used |
Example
Range // => [ 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60 ]// it works midi notesRange // => [ 10, 9, 8, 7, 6, 5 ]// complex rangeRange // => [60, 61, 62, 63, 64, 63, 62, 61, 60, 59, 58]// can be expressed with a string or array
Range.chromatic(list)
⇒ Array
Create a range of chromatic notes. The altered notes will use flats.
Kind: static method of Range
Returns: Array
- an array of note names
Param | Type | Description |
---|---|---|
list | String | Array |
the list of notes or midi note numbers |
Example
Range // => ["C2", "Db2", "D2", "Eb2", "E2", "Eb2", "D2"]// with sharpsRange // => [ "C2", "C#2", "D2", "D#2", "E2", "F2", "F#2", "G2", "G#2", "A2", "A#2", "B2", "C3" ]
Range.fifths(tonic, range)
⇒ Array
Create a range with a cycle of fifths
Kind: static method of Range
Returns: Array
- a range of cycle of fifths starting with the tonic
Param | Type | Description |
---|---|---|
tonic | String | Pitch |
the tonic note or pitch class |
range | Array | String |
the range array |
Example
Range // => [ "C", "G", "D", "A", "E", "B", "F#" ])
Range.scale(scale, range)
⇒ Array
Create a scale (pitch class set) Range. Given a scale (a pitch class set) and a range array, it returns a range in notes.
Can be partially applied
Kind: static method of Range
Returns: Array
- the scale range, an empty array if not valid source or
null if not valid start or end
Param | Type | Description |
---|---|---|
scale | Array |
the scale to use or a function to convert from midi numbers to note names |
range | Array |
a list of notes or midi numbers |
Example
Range// => [ "C3", "B2", "A2", "G2", "F2", "E2", "D2", "C2" ]const majorC = Range * // => [ "C3", "B2", "A2", "G2", "F2", "E2", "D2", "C2" ]