@trackr/effects-gain
Version:
A subpackage of trackr that contains gain effects.
19 lines (18 loc) • 610 B
JavaScript
export const noteFrequency = function (note) {
var notes = ['A', 'A#', 'B', 'C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#'], octave, keyNumber;
if (note.length === 3) {
octave = parseInt(note.charAt(2));
}
else {
octave = parseInt(note.charAt(1));
}
keyNumber = notes.indexOf(note.slice(0, -1));
if (keyNumber < 3) {
keyNumber = keyNumber + 12 + ((octave - 1) * 12) + 1;
}
else {
keyNumber = keyNumber + ((octave - 1) * 12) + 1;
}
// Return frequency of note
return 440 * Math.pow(2, (keyNumber - 49) / 12);
};