tonal-pitch

0.69.7 • Public • Published

tonal-pitch npm version

tonal

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

Param Type
p 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

Param Type
p Pitch

isNotePitch(p) ⇒ Boolean

Test if is a pitch note (with or without octave)

Param Type
p Pitch

isIvlPitch(p) ⇒ Boolean

Test if is an interval

Param Type
p Pitch

isPC(p) ⇒ Boolean

Test if is a pitch class (a pitch note without octave)

Param Type
p Pitch

dir(p) ⇒ Integer

Get direction of a pitch (even for notes)

Returns: Integer - 1 or -1

Param Type
p Pitch

fifths(p) ⇒ Integer

Get encoded fifths from pitch.

Param Type
p Pitch

focts(p) ⇒ Integer

Get encoded octaves from pitch.

Param Type
p Pitch

height(p) ⇒ Integer

Get height of a pitch.

Param Type
p 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.

Param Type
p Pitch

parseNote(str) ⇒ Pitch

Parse a note

Returns: Pitch - the pitch or null if not valid note string

Param Type
str String

parseIvl(str) ⇒ Pitch

Parse an interval

Returns: Pitch - the pitch or null if not valid interval string

Param Type
str String

parsePitch(str) ⇒ Pitch

Parse a note or an interval

Returns: Pitch - the pitch or null if not valid pitch string

Param Type
str 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.

Param Type
p Pitch | String

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.

Param Type
p Pitch | String

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.

Param Type
p Pitch | String

strNote(p) ⇒ String

Convert a note pitch to string representation

Param Type
p Pitch

strIvl(p) ⇒ String

Convert a interval pitch to string representation

Param Type
p Pitch

strPitch(p) ⇒ String

Convert a pitch to string representation (either notes or intervals)

Param Type
p Pitch

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

Param Type
fn 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

Param Type
fn 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

Param Type
fn function

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.69.7
    13
    • latest
  • 0.60.0
    3
    • alpha-1

Version History

Package Sidebar

Install

npm i tonal-pitch

Weekly Downloads

66

Version

0.69.7

License

MIT

Last publish

Collaborators

  • danigb