I Built a Binaural Beat Generator — Then Proved It With a Live FFT Spectrum Analyzer
The "frequency healing" corner of the internet runs on faith. Apps ship MP3s labeled "40Hz gamma" and ask you to believe it. I'm a life scientist who builds web tools, and I couldn't ship that. So I built SereneSynth, a browser-based binaural beat and noise generator — and then I built a live spectrum analyzer into the page so anyone can audit the output in their own browser. This is the…
The frequency healing corner of the internet relies on belief. Apps provide MP3s labeled "40Hz gamma" and ask users to trust the experience. A life scientist who builds web tools couldn't promote such untested claims. So, I created SereneSynth, a browser-based binaural beat and noise generator, and added a live spectrum analyzer to the page for anyone to verify the output directly in their browser.
A binaural beat isn't a physical tone; it's a brain-generated effect. Play 200 Hz in one ear and 240 Hz in the other, and the brain's superior olivary complex perceives the 40 Hz difference. A microphone or a mono spectrum analyzer won't detect a 40 Hz peak. Therefore, the generator can only prove its carrier frequencies and spectral slope, which is precisely what we measure.
The synthesis graph consists of two sine oscillators, panned hard left and right using StereoPannerNode, combined with a master GainNode. The AnalyserNode taps the signal before reaching the destination, allowing us to observe exactly what the headphones receive. Important settings include fftSize 16384 and smoothingTimeConstant 0.8.
When using fftSize 1024, the bin width is approximately 43 Hz, merging the 40 Hz carriers into a single bin. However, with fftSize 16384, the bin width narrows to around 2.7 Hz, revealing the carriers as distinct peaks at 200.0 and 240.0 Hz. This demonstrates the importance of selecting an appropriate FFT size for accurate frequency analysis.
The widget displays a logarithmic frequency axis (20-1000 Hz) because a linear axis would waste most of the canvas area. Peak detection labels the top bins within the 100-500 Hz range in real-time. The page also generates 10-second stereo WAV files through OfflineAudioContext (16-bit PCM, 44.1 kHz), ensuring no lossy compression between the engine and the evidence. You can download these files directly from the page for further analysis.
To cross-check the generator's accuracy, I compared the exported WAVs in Audacity, using the same FFT settings as the web version. For the 40 Hz preset, two peaks appeared at 200.0 and 240.0 Hz, matching the generator's claims. The 432 Hz preset produced a single peak at 432.0 Hz, with no harmonics, confirming the expected result. A continuous brown noise input displayed a -6 dB/octave rolloff on the log axis, demonstrating the analyzer's proper functioning.
The proof is not based on subjective experiences but on verifiable mathematical principles. By providing live analyzer output and downloadable WAV files, anyone can independently verify the generator's accuracy. The generator and its accompanying documentation are available on serenesynth.com, and the methodology and figures are hosted on GitHub for transparency and reproducibility.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.