Web Audio API:当使用媒体流时,Firefox 中的 FFT 数据与 chrome 中的不同?
Posted
技术标签:
【中文标题】Web Audio API:当使用媒体流时,Firefox 中的 FFT 数据与 chrome 中的不同?【英文标题】:Web Audio API: FFT data in firefox differ from those in chrome, when using media stream? 【发布时间】:2014-09-04 14:08:40 【问题描述】:我正在尝试使用网络音频 API 对从麦克风获取的数据进行频率分析。我需要实时数据(尽可能多的实时数据,窗口大小为 1024 个样本)。
我使用createMediaStreamSource
作为源节点。我使用 getByteFrequencyData
方法 (sample size = 1024
) 使用来自 Analyzer 节点的 FFT 数据。
来自 FFT 数组的数据在 chrome 和 firefox 中完全不同(在 firefox 中,频谱的大小总是更小(更小的向量维度)和更小的值(更低的值),而不是 Chrome,与 Chrome 相比,它看起来还可以例如 Audacity 中的其他 FFT 算法)。即使我使用来自https://webaudiodemos.appspot.com/AudioRecorder/index.html 的录音机并将录音放入其中一个音频分析器应用程序(windows 上的大胆),我也会得到this (image)。
我想知道为什么 Firefox 中的频谱与 chrome 中的频谱不同。
感谢您的帮助。
【问题讨论】:
【参考方案1】:这是因为我们 (Firefox) 自动对输入应用处理(回声消除、噪声抑制)并在输入音频流上使用 16kHz 采样率。
这将会改变,但现在就是这样,对此感到抱歉。
将来可以请求输入采样率并停用任何处理。
【讨论】:
感谢您的回答,我们认为这与 Firefox 处理有关,只是不确定。所以这个答案很有帮助。以上是关于Web Audio API:当使用媒体流时,Firefox 中的 FFT 数据与 chrome 中的不同?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Web Audio API 中将 SoundManager2 定义为媒体元素源
使用 Web Audio API 为声音的开头添加静音 [关闭]
无法使用Web Audio API与iOS 11 Safari配合使用
可以使用 Web Audio API 和 createMediaElementSource 分析来自 Icecast 的流式音频吗?