我正在开发https://www.crayon.pro,这是一个直接从浏览器创建可汗学院式演讲的网站。为此,我正在尝试使用Web Audio API来录制用户麦克风中质量最好的音频。
问题是:使用同一台计算机(2012年中的Retina Macbook Pro)和同一麦克风(Bose QC20),我得到的结果与getUserMedia和任何本地录音应用程序(例如Quicktime Player)截然不同
我测试了Chrome,Firefox和Safari并通过我的网站或以下演示获得了类似的音频质量结果:https://webaudiodemos.appspot.com/AudioRecorder/index.html
由Quicktime录制的声音总体上听起来更清晰,不易发出爆裂声(当您直接对着麦克风讲话或吹进麦克风时那些声音比较大),并且金属感较弱(这有点难以解释-我感觉像音频的整体“嗡嗡声”)。这使我想到原因可能是Quicktime不是在录制“原始麦克风输入”,而是在录制音频时实际上对其应用了一些过滤器。
我知道回声消除和噪声抑制等功能也可以在浏览器中使用MediaTrackConstraints进行配置,因此我尝试了这些设置,但没有成功。
所以我的问题是:
在浏览器中录制的音频质量较差的原因是什么?
如果是Quicktime拥有出色的过滤算法,那么我可以使用任何有关开源库的建议来达到类似的结果吗?
是否有可能通过仅录制1个音频通道(单声道)而不是录制2个(立体声)并以“巧妙”的方式将两个流合并为1个来失去质量?