tonal-pitch ![npm version](https://img.shields.io/npm/v/tonal-pitch.svg)
![tonal](https://img.shields.io/badge/tonal-pitch-yellow.svg)
tonal-pitch
is a low level module to encode and manipulate music pitch and intervals.
This is part of tonal music theory library.
You can install via npm: npm i --save tonal-pitch
API Reference
- pitch(fifths, focts, dir) ⇒
Pitch
Create a pitch
- isPitch(p) ⇒
Boolean
Test if an object is a pitch
- encode(step, alt, oct, dir)
Encode a pitch
- decode(the) ⇒
Array
Decode a pitch
- pType(p) ⇒
String
Get pitch type
- isNotePitch(p) ⇒
Boolean
Test if is a pitch note (with or without octave)
- isIvlPitch(p) ⇒
Boolean
Test if is an interval
- isPC(p) ⇒
Boolean
Test if is a pitch class (a pitch note without octave)
- dir(p) ⇒
Integer
Get direction of a pitch (even for notes)
- fifths(p) ⇒
Integer
Get encoded fifths from pitch.
- focts(p) ⇒
Integer
Get encoded octaves from pitch.
- height(p) ⇒
Integer
Get height of a pitch.
- chr(p) ⇒
Integer
Get chroma of a pitch. The chroma is a number between 0 and 11 to represent
the position of a pitch inside an octave. Is the numeric equivlent of a
pitch class.
- parseNote(str) ⇒
Pitch
Parse a note
- parseIvl(str) ⇒
Pitch
Parse an interval
- parsePitch(str) ⇒
Pitch
Parse a note or an interval
- asNotePitch(p) ⇒
Pitch
Ensure the given object is a note pitch. If is a string, it will be
parsed. If not a note pitch or valid note string, it returns null.
- asIvlPitch(p) ⇒
Pitch
Ensure the given object is a interval pitch. If is a string, it will be
parsed. If not a interval pitch or valid interval string, it returns null.
- asPitch(p) ⇒
Pitch
Ensure the given object is a pitch. If is a string, it will be
parsed. If not a pitch or valid pitch string, it returns null.
- strNote(p) ⇒
String
Convert a note pitch to string representation
- strIvl(p) ⇒
String
Convert a interval pitch to string representation
- strPitch(p) ⇒
String
Convert a pitch to string representation (either notes or intervals)
- noteFn(fn) ⇒
function
Decorate a function to work internally with note pitches, even if the
parameters are provided as strings. Also it converts back the result
to string if a note pitch is returned.
- ivlFn(fn) ⇒
function
Decorate a function to work internally with interval pitches, even if the
parameters are provided as strings. Also it converts back the result
to string if a interval pitch is returned.
- pitchFn(fn) ⇒
function
Decorate a function to work internally with pitches, even if the
parameters are provided as strings. Also it converts back the result
to string if a pitch is returned.
pitch(fifths, focts, dir) ⇒ Pitch
Create a pitch
Param | Type | Description |
---|
fifths | Integer | the number of fifths from C or from P1 |
focts | Integer | the number of encoded octaves |
dir | Integer | (Optional) Only required for intervals. Can be 1 or -1 |
isPitch(p) ⇒ Boolean
Test if an object is a pitch
encode(step, alt, oct, dir)
Encode a pitch
Param | Type | Description |
---|
step | Integer | |
alt | Integer | |
oct | Integer | |
dir | Integer | (Optional) |
decode(the) ⇒ Array
Decode a pitch
Returns: Array
- An array with [step, alt, oct]
Param | Type | Description |
---|
the | Pitch | pitch |
pType(p) ⇒ String
Get pitch type
Returns: String
- 'ivl' or 'note' or null if not a pitch
isNotePitch(p) ⇒ Boolean
Test if is a pitch note (with or without octave)
isIvlPitch(p) ⇒ Boolean
Test if is an interval
isPC(p) ⇒ Boolean
Test if is a pitch class (a pitch note without octave)
dir(p) ⇒ Integer
Get direction of a pitch (even for notes)
Returns: Integer
- 1 or -1
fifths(p) ⇒ Integer
Get encoded fifths from pitch.
focts(p) ⇒ Integer
Get encoded octaves from pitch.
height(p) ⇒ Integer
Get height of a pitch.
chr(p) ⇒ Integer
Get chroma of a pitch. The chroma is a number between 0 and 11 to represent
the position of a pitch inside an octave. Is the numeric equivlent of a
pitch class.
parseNote(str) ⇒ Pitch
Parse a note
Returns: Pitch
- the pitch or null if not valid note string
parseIvl(str) ⇒ Pitch
Parse an interval
Returns: Pitch
- the pitch or null if not valid interval string
parsePitch(str) ⇒ Pitch
Parse a note or an interval
Returns: Pitch
- the pitch or null if not valid pitch string
asNotePitch(p) ⇒ Pitch
Ensure the given object is a note pitch. If is a string, it will be
parsed. If not a note pitch or valid note string, it returns null.
asIvlPitch(p) ⇒ Pitch
Ensure the given object is a interval pitch. If is a string, it will be
parsed. If not a interval pitch or valid interval string, it returns null.
asPitch(p) ⇒ Pitch
Ensure the given object is a pitch. If is a string, it will be
parsed. If not a pitch or valid pitch string, it returns null.
strNote(p) ⇒ String
Convert a note pitch to string representation
strIvl(p) ⇒ String
Convert a interval pitch to string representation
strPitch(p) ⇒ String
Convert a pitch to string representation (either notes or intervals)
noteFn(fn) ⇒ function
Decorate a function to work internally with note pitches, even if the
parameters are provided as strings. Also it converts back the result
to string if a note pitch is returned.
Returns: function
- the decorated function
ivlFn(fn) ⇒ function
Decorate a function to work internally with interval pitches, even if the
parameters are provided as strings. Also it converts back the result
to string if a interval pitch is returned.
Returns: function
- the decorated function
pitchFn(fn) ⇒ function
Decorate a function to work internally with pitches, even if the
parameters are provided as strings. Also it converts back the result
to string if a pitch is returned.
Returns: function
- the decorated function