Created
November 1, 2016 10:56
-
-
Save marcgg/94e97def0e8694f906443ed5262e9cbb to your computer and use it in GitHub Desktop.
note frequency value
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var noteValues = { | |
'C0': 16.35, | |
'C#0': 17.32, | |
'Db0': 17.32, | |
'D0': 18.35, | |
'D#0': 19.45, | |
'Eb0': 19.45, | |
'E0': 20.60, | |
'F0': 21.83, | |
'F#0': 23.12, | |
'Gb0': 23.12, | |
'G0': 24.50, | |
'G#0': 25.96, | |
'Ab0': 25.96, | |
'A0': 27.50, | |
'A#0': 29.14, | |
'Bb0': 29.14, | |
'B0': 30.87, | |
'C1': 32.70, | |
'C#1': 34.65, | |
'Db1': 34.65, | |
'D1': 36.71, | |
'D#1': 38.89, | |
'Eb1': 38.89, | |
'E1': 41.20, | |
'F1': 43.65, | |
'F#1': 46.25, | |
'Gb1': 46.25, | |
'G1': 49.00, | |
'G#1': 51.91, | |
'Ab1': 51.91, | |
'A1': 55.00, | |
'A#1': 58.27, | |
'Bb1': 58.27, | |
'B1': 61.74, | |
'C2': 65.41, | |
'C#2': 69.30, | |
'Db2': 69.30, | |
'D2': 73.42, | |
'D#2': 77.78, | |
'Eb2': 77.78, | |
'E2': 82.41, | |
'F2': 87.31, | |
'F#2': 92.50, | |
'Gb2': 92.50, | |
'G2': 98.00, | |
'G#2': 103.83, | |
'Ab2': 103.83, | |
'A2': 110.00, | |
'A#2': 116.54, | |
'Bb2': 116.54, | |
'B2': 123.47, | |
'C3': 130.81, | |
'C#3': 138.59, | |
'Db3': 138.59, | |
'D3': 146.83, | |
'D#3': 155.56, | |
'Eb3': 155.56, | |
'E3': 164.81, | |
'F3': 174.61, | |
'F#3': 185.00, | |
'Gb3': 185.00, | |
'G3': 196.00, | |
'G#3': 207.65, | |
'Ab3': 207.65, | |
'A3': 220.00, | |
'A#3': 233.08, | |
'Bb3': 233.08, | |
'B3': 246.94, | |
'C4': 261.63, | |
'C#4': 277.18, | |
'Db4': 277.18, | |
'D4': 293.66, | |
'D#4': 311.13, | |
'Eb4': 311.13, | |
'E4': 329.63, | |
'F4': 349.23, | |
'F#4': 369.99, | |
'Gb4': 369.99, | |
'G4': 392.00, | |
'G#4': 415.30, | |
'Ab4': 415.30, | |
'A4': 440.00, | |
'A#4': 466.16, | |
'Bb4': 466.16, | |
'B4': 493.88, | |
'C5': 523.25, | |
'C#5': 554.37, | |
'Db5': 554.37, | |
'D5': 587.33, | |
'D#5': 622.25, | |
'Eb5': 622.25, | |
'E5': 659.26, | |
'F5': 698.46, | |
'F#5': 739.99, | |
'Gb5': 739.99, | |
'G5': 783.99, | |
'G#5': 830.61, | |
'Ab5': 830.61, | |
'A5': 880.00, | |
'A#5': 932.33, | |
'Bb5': 932.33, | |
'B5': 987.77, | |
'C6': 1046.50, | |
'C#6': 1108.73, | |
'Db6': 1108.73, | |
'D6': 1174.66, | |
'D#6': 1244.51, | |
'Eb6': 1244.51, | |
'E6': 1318.51, | |
'F6': 1396.91, | |
'F#6': 1479.98, | |
'Gb6': 1479.98, | |
'G6': 1567.98, | |
'G#6': 1661.22, | |
'Ab6': 1661.22, | |
'A6': 1760.00, | |
'A#6': 1864.66, | |
'Bb6': 1864.66, | |
'B6': 1975.53, | |
'C7': 2093.00, | |
'C#7': 2217.46, | |
'Db7': 2217.46, | |
'D7': 2349.32, | |
'D#7': 2489.02, | |
'Eb7': 2489.02, | |
'E7': 2637.02, | |
'F7': 2793.83, | |
'F#7': 2959.96, | |
'Gb7': 2959.96, | |
'G7': 3135.96, | |
'G#7': 3322.44, | |
'Ab7': 3322.44, | |
'A7': 3520.00, | |
'A#7': 3729.31, | |
'Bb7': 3729.31, | |
'B7': 3951.07, | |
'C8': 4186.01 | |
} |
Thanks for this info !
var NOTES = ["C", "C#", "D", "Eb", "E", "F", "F#", "G", "G#", "A", "Bb", "B"];
function getPitch(note, octave) {
// ("A", 4) => 440
// multiply by 2^(1/12) N times to get N steps higher
var step = NOTES.indexOf(note);
var power = Math.pow(2, (octave * 12 + step - 57)/12);
var pitch = 440 * power;
return pitch;
}
Found this too late 🤣 , love @bblack 's function to get the frequencies dynamically, but as I already did the work, here's an object notation of the same, might come handy to someone:
const map = {
'C': [16.35, 32.70, 65.41, 130.8, 261.6, 523.3, 1047, 2093, 4186],
'C#': [17.32, 34.65, 69.3, 138.6, 277.2, 554.4, 1109, 2217, 4435],
'D': [18.35, 36.71, 73.42, 146.8, 293.7, 587.3, 1175, 2349, 4699],
'Eb': [19.45, 38.89, 77.78, 155.6, 311.1, 622.3, 1245, 2489, 4978],
'E': [20.6, 41.2, 82.41, 164.8, 329.6, 659.3, 1319, 2637, 5274],
'F': [21.83, 43.65, 87.31, 174.6, 349.2, 698.5, 1397, 2794, 5588],
'F#': [23.12, 46.25, 92.5, 185, 370, 740, 1480, 2960, 5920],
'G': [24.5, 49, 98, 196, 392, 784, 1568, 3136, 6272],
'G#': [25.96, 51.91, 103.8, 207.7, 415.3, 830.6, 1661, 3322, 6645],
'A': [27.5, 55, 110, 220, 440, 880, 1760, 3520, 7040],
'Bb': [29.14, 58.27, 116.5, 233.1, 466.2, 932.3, 1865, 3729, 7459],
'B': [30.87, 61.74, 123.5, 246.9, 493.9, 987.8, 1976, 3951, 7902],
};
Thank you all, these are great!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@aluminumChassis because its just using a formula anyway, to get
c9
just doc8 * 2
same for any other note, ie: forA10
multiplyA9
by 2