我正在使用Google Chrome浏览器中的一些录音进行一些测试。我在Matlab中产生了一个白噪声信号,其中包含0-24 kHz之间的所有频率。为了测试Chrome的录制功能,我使用了getUserMedia
和AudioContext
和Web Audio API来录制声音,结果如下:Results of recording
在chrome om mobile中似乎进行了某种低通滤波。我已经在iOS Safari和chrome和其他android手机上尝试了此操作,并且给出了结果。而且,使用Google Play或App Store中的常规频率分析应用程序似乎可以在整个频谱范围内正常工作,因此问题不会出在手机本身上。
我想知道是否对此有任何解决方法,为什么会这样?这是出于某种目的吗?
答案 0 :(得分:0)
我的猜测是您遇到了一些自动应用的噪声抑制过滤器。默认值经常优化语音,这可能会进行一些低通滤波。尝试戳破约束:
var supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
看看是否有人能满足您的需求,例如
var constraints =
{
audio: {
optional: [{ echoCancellation: false },
{ noiseSuppression: false }
]
}
};
navigator.getUserMedia(constraints, gotStream, errorout );