一、主题
录制的音频听起来非常缓慢,声音很模糊
二、问题背景
硬件:T113,R528等平台系列产品
软件:Tina5.0
三、问题描述
1、复现步骤
使用arecord进行录音。
arecord -Dhw:audiocodec -f S16_LE -r 16000 -c 2 -d 5 /tmp/test.wav
2、具体表现
使用adb pull拉出文件,然后使用PC的播放器播放。
adb pull /tmp/test.wav
听起来声音很缓慢,并且很模糊。
四、问题分析
1、 使用Audacity分析录制的音频。
从上图可知,波形不连续,缺少音频数据,所以导致听起来声音缓慢,模糊。
2、查看硬件电路
根据上述的分析,继续排查硬件mic是否工作正常。先查看硬件原理图。
由上图可知,mic1和mic2连接到SOC的MICIN2P,MICIN2N和MICIN3P,MICIN3N。
可以分为两步进行排查:
(1)使用示波器量mic1和mic2的输入信号,查看是否有数据输入。这里可以排查硬件是否异常。
(2)排查音频通路是否配置正确。这里排查软件是否异常。
3、查看音频通路
amixer -D hw:audiocodec controls
numid=24,iface=MIXER,name='ADC1 Input MIC1 Boost Switch'
numid=27,iface=MIXER,name='ADC2 Input MIC2 Boost Switch'
numid=30,iface=MIXER,name='ADC3 Input MIC3 Boost Switch'
下面以mic1的通路为例
amixer -D hw:audiocodec cget name='ADC2 Input MIC2 Boost Switch'
numid=24,iface=MIXER,name='ADC2 Input MIC2 Boost Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
这里可以看到通路没有打开,肯定录制不到数据。
4、查看mic硬件
如果上述通路都是配置正确的,那么大概率mic堵塞或者坏掉,这个需要通过示波器量信号来排查。
五、根本原因
1、录音的通路没打开,导致录音只能录到一个声道,但是获取的是两个声道。
2、如果通路配置正确,那么需要排查硬件mic是否正常工作,大概率mic堵塞或者坏掉。
六、解决办法
根据原理图配置好录音通路。
根据使用场景配置不同的mic。下面是使用2mic+1ref。
amixer -D hw:audiocodec cset name='ADC1 Input MIC1 Boost Switch' 1
amixer -D hw:audiocodec cset name='ADC2 Input MIC2 Boost Switch' 1
amixer -D hw:audiocodec cset name='ADC3 Input MIC3 Boost Switch' 1
arecord -f S16_LE -r 16000 -c 3 -t wav -d 10 /tmp/test.wav
根据使用场景配置不同的mic。下面是使用2mic。
amixer -D hw:audiocodec cset name='ADC1 Input MIC1 Boost Switch' 1
amixer -D hw:audiocodec cset name='ADC2 Input MIC2 Boost Switch' 1
amixer -D hw:audiocodec cset name='ADC3 Input MIC3 Boost Switch' 0
arecord -f S16_LE -r 16000 -c 2 -t wav -d 10 /tmp/test.wav