如何在移动网络中以高于7700 Hz的频率录制声音?

时间:2019-05-02 09:29:57

标签: javascript audio audio-recording web-audio web-audio-api

我正在使用Google Chrome浏览器中的一些录音进行一些测试。我在Matlab中产生了一个白噪声信号,其中包含0-24 kHz之间的所有频率。为了测试Chrome的录制功能,我使用了getUserMediaAudioContext和Web Audio API来录制声音,结果如下:Results of recording

在chrome om mobile中似乎进行了某种低通滤波。我已经在iOS Safari和chrome和其他android手机上尝试了此操作,并且给出了结果。而且,使用Google Play或App Store中的常规频率分析应用程序似乎可以在整个频谱范围内正常工作,因此问题不会出在手机本身上。

我想知道是否对此有任何解决方法,为什么会这样?这是出于某种目的吗?

1 个答案:

答案 0 :(得分:0)

我的猜测是您遇到了一些自动应用的噪声抑制过滤器。默认值经常优化语音,这可能会进行一些低通滤波。尝试戳破约束:

var supportedConstraints = navigator.mediaDevices.getSupportedConstraints();

看看是否有人能满足您的需求,例如

var constraints = 
{
  audio: {
      optional: [{ echoCancellation: false },
          { noiseSuppression: false }
      ]
  }
};
navigator.getUserMedia(constraints, gotStream, errorout );