README
notes-frequencies
Convert a string containing notes into frequencies
Born to be used with Johnny-Five's Piezo API, maybe useful for something else.
Install
$ npm install --save notes-frequencies
Usage
const notesFrequencies = require('notes-frequencies');
notesFrequencies('A♭4 B♭4 C4@1/2 C#4@1/4 C#4@1/4');
// => [
// [ 415.305, 1 ],
// [ 466.164, 1 ],
// [ 261.626, 0.5 ],
// [ 277.183, 0.25 ],
// [ 277.183, 0.25 ]
// ]
API
notesFrequencies(notes, [rest])
Returns an array of frequencies and their duration.
notes
Type: string
Notes you want to transform into frequencies and their duration.
The notes are written as follow: NoteOcatave@Duration
.
NoteOcatave
is a value from this table, you can also write a rest as R
.
Duration
is a value from this table.
If a note has a dot you can't write it as 1/4 + 1/8
, instead you can use 3/8
or 1.5/4
.
If you don't write @Duration
the function will return 1
as the duration of the note.
rest
value
Type: number
, string
, null
, undefined
, object
, array
Default: null
The value of a rest, you can set it as everything. Set it as the mute note of the function that you'll use to generate the sound.
This value will be used also when you write something like R@1/2
.
enable
Type: boolean
Default: false
Add a rest after each note if enabled.
duration
Type: number
Default: 0.125
The duration of each rest after a note.
Related
- notes-frequencies-map - Map of notes to their frequencies
License
MIT © Raul Macarie