我正在使用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的常规频率分析应用程序似乎可以在整个频谱范围内正常工作,因此问题不在于手机本身。
我想知道是否对此有任何解决方法,为什么会这样呢?这是某种目的吗?
最佳答案
我的猜测是您遇到了一些自动应用的噪声抑制过滤器。默认值经常优化语音,这可能会进行一些低通滤波。尝试遍历约束:
var supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
并查看其中是否有您所需要的东西,例如
var constraints =
{
audio: {
optional: [{ echoCancellation: false },
{ noiseSuppression: false }
]
}
};
navigator.getUserMedia(constraints, gotStream, errorout );
关于javascript - 如何在移动网络中以高于7700 Hz的频率录制声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55949446/