Skip to content

Instantly share code, notes, and snippets.

@marcgg
Created November 1, 2016 10:56
Show Gist options
  • Select an option

  • Save marcgg/94e97def0e8694f906443ed5262e9cbb to your computer and use it in GitHub Desktop.

Select an option

Save marcgg/94e97def0e8694f906443ed5262e9cbb to your computer and use it in GitHub Desktop.
note frequency value
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
}
@publicdoename

Copy link
Copy Markdown

Was going to do this and now I don't have to do so. Big thanks!!!

@lostrepo

Copy link
Copy Markdown

Thanks man!

@DarrylD

DarrylD commented Jul 28, 2017

Copy link
Copy Markdown

Ur the man! Using this for a hackathon now!

@bciccarelli

Copy link
Copy Markdown

why does it stop at c8?

@raohmaru

Copy link
Copy Markdown

Thanks!
Source possibly comes from https://pages.mtu.edu/~suits/notefreqs.html.

@jstacoder

Copy link
Copy Markdown

@aluminumChassis because its just using a formula anyway, to get c9 just do c8 * 2 same for any other note, ie: for A10 multiply A9 by 2

@VirtualSoda369

Copy link
Copy Markdown

Thanks for this info !

@bblack

bblack commented Sep 17, 2021

Copy link
Copy Markdown
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;
}

@exside

exside commented Sep 10, 2022

Copy link
Copy Markdown

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],
};

@jesslark

jesslark commented Sep 7, 2024

Copy link
Copy Markdown

Thank you all, these are great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment