如何放大远距离录制的声音
How to amplify the voice recorded from far distance
当一个人在远离手机的地方说话时,录制的声音很小。
当一个人在手机附近说话时,录制的声音很高。我想要的是在录制语音时,无论他离 phone 有多远(不是无限),都以相同的音量播放人声。
我已经尝试过的:
根据dB调整音量如AVAudioPlayer 但是
问题是 dB 包含所有环境声音。所以
它仅在人声变化很大时才有效。
然后我想我应该想办法对强度进行采样
媒体中的人声,这让我想到了语音识别。但
这是一个很大的话题。我无法缩小范围
解决我的问题。
从远处录制的声音存在严重损坏。一个问题是噪音,另一个是回声。要放大它,您需要从回声和噪音中清除声音。理想情况下,您需要使用更好的麦克风来做到这一点,但如果只有一个麦克风可用,您就必须应用信号处理。您感兴趣的信号处理算法有:
- 降噪。您可以在 Google 上找到许多样本
到非常高级的
- 回声消除。同样,您可以找到许多实现。
上面没有现成的库,你必须自己实现大部分,你可以看看同时具有噪声和回声消除的WebRTC代码,如这个问题中所述:
Is it possible to reduce background noise while streaming audio on the iPhone?
当一个人在远离手机的地方说话时,录制的声音很小。 当一个人在手机附近说话时,录制的声音很高。我想要的是在录制语音时,无论他离 phone 有多远(不是无限),都以相同的音量播放人声。
我已经尝试过的:
根据dB调整音量如AVAudioPlayer 但是 问题是 dB 包含所有环境声音。所以 它仅在人声变化很大时才有效。
然后我想我应该想办法对强度进行采样 媒体中的人声,这让我想到了语音识别。但 这是一个很大的话题。我无法缩小范围 解决我的问题。
从远处录制的声音存在严重损坏。一个问题是噪音,另一个是回声。要放大它,您需要从回声和噪音中清除声音。理想情况下,您需要使用更好的麦克风来做到这一点,但如果只有一个麦克风可用,您就必须应用信号处理。您感兴趣的信号处理算法有:
- 降噪。您可以在 Google 上找到许多样本 到非常高级的
- 回声消除。同样,您可以找到许多实现。
上面没有现成的库,你必须自己实现大部分,你可以看看同时具有噪声和回声消除的WebRTC代码,如这个问题中所述:
Is it possible to reduce background noise while streaming audio on the iPhone?