// Musical Note to Frequencies and Wavelengths
I kept looking up "what's A2 in Hz again" every time a synth or a filter only took a raw frequency, not a note name.
This does it instead. Pick a note off a full 88-key keyboard, or the slider, or just type the MIDI number. Get the frequency in Hz, the wavelength in air, and the MIDI number back.
Also: an envelope timing table underneath. Cycles of that note's period, in six different ratios, running both up and down the keyboard from the note you picked.
Click any value to copy it straight to your clipboard. Hope you find it useful too.
Note
Envelope timings
| Time | Frequency | Note | MIDI |
|---|
The table runs both directions from the selected note: whole and multiple cycles below it (lower
pitch, longer time), fractions of a cycle above it (higher pitch, shorter time). The subdivisions
above are the reciprocal of whichever ratio you've picked, so they mirror the rows below. Just
intonation only has 7 rows each way, it's a fixed 8-note scale rather than an open-ended sequence.
Each row is a number of cycles of the selected note's waveform. Powers of 2 double each time. Golden
ratio and Fibonacci space the rows by the same proportions found in a lot of generative and
naturally-occurring rhythm, worth a try if straight doubling feels too mechanical. Harmonic series
steps by whole numbers, each row is a subharmonic of the note itself. Primes share no common factors,
useful if you're layering multiple envelopes and want them to drift out of sync with each other for
as long as possible. Just intonation uses the actual consonant pitch ratios (fifth, fourth, thirds)
as time ratios instead of pitch ratios. Any of these are useful for keeping
an envelope's character consistent across the keyboard (key-tracking a decay to last the same number
of cycles at every pitch, rather than the same fixed ms), or for keeping attack/release times at
least a full cycle long so they don't click.
Using this
Tuning by ear or by number: some oscillators, filters and sidechain tools only take a raw Hz
value, not a note name. Slide to the note you want and read the number off.
Room and speaker placement: wavelength is why bass is hard to control in a small room. A 40Hz
note has a wavelength of about 8.5m, longer than most rooms, which is a lot of why low end behaves so
differently in different rooms and different spots in the same room.
Comb filtering and phase: two sources a fraction of a wavelength apart can cancel each other
out. Knowing the wavelength at a given frequency tells you how much distance actually matters, at
10kHz that's millimetres, at 100Hz it's metres.
Concert pitch: A4 defaults to 440Hz, the modern standard, but orchestras and historical
tunings vary. Nudge it if you're matching something tuned differently.
Note names use scientific pitch notation, middle C (MIDI 60) is C4. Some software labels octaves differently, the MIDI number is unambiguous either way. Wavelength assumes the speed of sound in dry air at 20°C, 343 m/s.
To do
- A flats toggle. Everything is spelled with sharps right now (C#, not D♭).
- Adjustable speed of sound, or a temperature/humidity input, since 343 m/s is one specific condition, not a constant.
- A chord mode: pick multiple notes at once and see the frequency ratios between them.
- The number field and slider still go down to MIDI 0 and up to 127, past the 88-key keyboard's A0-C8 range. Now flagged with an "Out of keyboard range" message, but nothing on the keyboard itself indicates which direction you've gone off the end.
- The envelope table's cycle counts (1-1024) are fixed, so they don't land in a typical envelope range (roughly 1ms-2s) at every note, at very low notes 1024 cycles is over a minute, at very high notes even 1024 cycles is under 100ms. That's still correct information, just worth knowing going in.
Changelog
2026-07-16
- Initial release: MIDI note slider and number field, note name, frequency in Hz, wavelength in m, adjustable concert pitch (A4), click-to-copy.
- Removed the "MIDI note" stat row entry, it's already shown above in the hero field.
- Added a full 88-key keyboard (A0 to C8) below the note number. Click a key to select it, the selected key highlights and scrolls into view.
- Key size is now computed from the available width instead of a fixed pixel size, so all 88 keys fit without scrolling and it re-fits on window resize.
- Fixed the "Concert pitch (A4)" row: label, field and unit are now all the same size and colour, no more small low-contrast text.
- Added a message row above the keyboard, showing "Out of keyboard range" when the selected note is outside A0-C8. Fixed height so it reserves space for future messages even when empty.
- That same message row now also shows notable references for certain notes, lowest/highest notes of common instruments, Middle C, the A4 tuning reference, and the top of the MIDI range.
- Added three more: bottom of the MIDI range, the ~20Hz lower threshold of human hearing, and soprano high C.
- Added an envelope timings table: 1 to 1024 cycles of the selected note's period, in ms/s and Hz, click-to-copy. For key-tracking envelope rates or keeping attack/release at least a full cycle to avoid clicks.
- Split the envelope table's Time and Frequency into separate columns instead of stacking them in one cell, each independently click-to-copy.
- Added a Ratio selector for the envelope table: powers of 2 (the original), golden ratio, or Fibonacci, instead of always doubling.
- Added three more ratios: harmonic series, primes, and just intonation.
- Added Note and MIDI columns to the envelope table, calculated from each row's own Frequency value (the nearest note to that row's rate), not just repeating the selected note down every row.
- Rows whose calculated MIDI note falls below 0 (below C-1) now show a dash in Note and MIDI instead of a negative number.
- The envelope table now also runs upward from the selected note: subdivisions (reciprocals of the chosen ratio) above the 1-cycle row, going up the keyboard, alongside the existing multiples going down. Ten rows each way for every ratio except just intonation, which has seven (it's a fixed 8-note scale).
- The "1 cycle" row (the selected note itself) is now highlighted with a subtle light tint so it's easy to find in the middle of the table.
- Fixed the "Using this" hint paragraph, still using the low-contrast muted colour on text after being told not to. Now light, like everything else.
- Removed bold weight from the note display and table headers, the site never uses bold text.
I'd love to tell you more.