“频率疗愈”这个互联网角落,长期靠信仰运转。市面上大量App直接打包一个标注着“40Hz伽马波”的MP3文件,然后要求用户相信它有效。但一位同时具备生命科学背景的网页工具开发者,拒绝交付这种无法验证的产品。

他做了一个叫SereneSynth的浏览器端双耳节拍与噪声生成器,并且把实时频谱分析仪直接嵌进了页面里——任何人打开浏览器,都能当场审计输出信号。这篇工程复盘记录了他搭建Web Audio音频图的过程、一个差点让他发布错误数据的FFT陷阱,以及他如何用Audacity交叉验证每一个结果。

打开网易新闻 查看精彩图片

先搞清楚一个物理事实

双耳节拍本质上不是空气中真实存在的音调。左耳播放200Hz、右耳播放240Hz时,听者大脑的上橄榄核复合体会自行计算并感知出40Hz的差值。这意味着,用麦克风或者单声道频谱分析仪去测量,永远看不到40Hz的峰值。

所以,一个诚实的生成器能证明的,只有它的载波频率和频谱斜率。这正是他测量并展示的全部内容——不多不少。

合成音频图:让分析仪看到耳机收到的信号

整个合成链路并不复杂:两个正弦振荡器,通过StereoPannerNode硬性左右声道分离,汇入一个主GainNode,再在到达输出目的地之前,被一个AnalyserNode截取信号——分析仪观察到的,就是耳机实际接收到的内容。

两个关键参数值得注意:fftSize设为16384,smoothingTimeConstant设为0.8。前者决定了频率分辨率,后者控制频谱显示的平滑程度。

差点翻车的FFT陷阱

第一版代码用的是fftSize 1024,结果频谱图上只出现一个宽大的凸起,而不是两个独立的峰值。原因很直接:频率分辨率(bin宽度)等于44100除以1024,约43Hz,而他的两个载波只相差40Hz——两个频率落进了同一个bin,被合并成了一个。

把fftSize提升到16384后,bin宽度骤降到约2.7Hz,两个载波立刻在200.0Hz和240.0Hz处显示为锐利的尖峰。这个教训被他总结成一句话:FFT尺寸就是放大镜。如果一份“频率证明”不标明它的FFT尺寸,你就有理由质疑它的可信度。

界面上的频谱图采用对数坐标轴(20–1000Hz),因为线性坐标会浪费90%的画布空间。峰值检测功能会实时标注100–500Hz范围内的最高频点。

可下载、可复验的比特级验证

页面还通过OfflineAudioContext渲染10秒立体声WAV文件(16位PCM,44.1kHz采样率):同样的音频图,离线渲染,RIFF编码。引擎和证据之间,没有任何有损压缩的中间环节。

交叉验证:两个工具,同一个答案

他把导出的WAV文件放进Audacity,用Analyze → Plot Spectrum功能(FFT 16384,Hann窗)进行独立验证,结果如下:

  • 40Hz预设:在200.0Hz和240.0Hz处出现两个尖峰
  • 432Hz预设:在432.0Hz处出现单一尖峰,无谐波
  • 棕噪声:在对数坐标轴上呈现连续的约-6dB/倍频程滚降

浏览器内置分析仪和桌面端DAW(数字音频工作站)给出的结果完全一致。这套证明是可以随时重新运行的,而不是修辞上的宣称。

把审计权交给用户

这个项目的核心逻辑很简单:不搞神秘主义,只讲数学。实时分析仪和WAV下载在serenesynth.com/proof-lab,生成器在serenesynth.com/binaural-beat-generator,完整方法论和图表在GitHub仓库里。

在“频率疗愈”这个充斥着信仰和营销话术的领域,把频谱分析仪直接怼到用户面前,可能是最有力的诚实声明。