Android使用AudioRecord类实现录音时,如何避免直流偏移?
小米3升级系统到Android 4.4.2之后,使用AudioRecord录到的音(WAV格式,16KHz采样、16bit位宽、单声道)长这个德行(Cool Edit Pro查看的效果):
我想咨询一下,为什么开始和中间位置,会出现大的零点漂移(好像是直流偏移);使用AudioRecord类进行录音时,如何避免出现该问题呢?
死在化粪池里
10 years, 4 months ago
Answers
录音时引入了直流分量,这应该是硬件问题,比如偶尔的静电串入。你首先应该检查这个问题有没有普遍性。
至于去除直流分量,这属于数字信号处理范畴的问题。笼统的说:信号分量在正、负两个方向上是基本均衡的,所以,直接计算信号在时域上的平均值,由于正常的信号统计平均值似于0,这个平均值就是直流分量,从信号中减去即可。
但看你的波形图,这个直流分量是不稳定的,这种去直流分量的算法难以应用。一定要用的话,可以考虑去直流分量后再做高通滤波处理,可能会有改善。
无论如何,硬件问题去查硬件(比如在线路中串一个容值合适的电容,即可有效去除直流分量),这可能更合适些。
AImomo
answered 10 years, 4 months ago