[RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题

Posted 请给我倒杯茶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题相关的知识,希望对你有一定的参考价值。

本文转载自:http://blog.csdn.net/kris_fei/article/details/72783843?locationNum=9&fps=1

Platform: Rockchip
OS: android 6.0
Kernel: 3.10.92

现象
录音使用1K正弦波作为数据源做测试,然后比较HAL和APP层dump出来的pcm数据,发现到APP层之后相对HAL层的音量会小很多。

原因
后来发现是因为在HAL层有个叫SPEEX的降噪算法,它会固定的信号有衰减,因此音量变小了。RK文档其实也做了说明了:
使用的是 speex 的开源算法库,录音默认开启降噪算法,可以将部分噪声过滤,但是同时也会把背景声音也会过滤一部分。同时如果输入的信号是固定的信号比如 1K 正弦波信号,因为算法是针对的是语音信号,对固定信号有衰减的作用,因此 1K 正弦波这则比实际增益小很多。

关闭方法
diff --git a/tinyalsa_hal/audio_hw.h b/tinyalsa_hal/audio_hw.h
index b7f1f6e..b43e400 100755
--- a/tinyalsa_hal/audio_hw.h
+++ b/tinyalsa_hal/audio_hw.h
@@ -106,7 +106,7 @@ int PCM_CARD_SPDIF = 2;
 #define MAX_SUPPORTED_CHANNEL_MASKS 2
 
 #ifndef RK3368
-#define SPEEX_DENOISE_ENABLE
+//#define SPEEX_DENOISE_ENABLE^M
 #endif

以上是关于[RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题的主要内容,如果未能解决你的问题,请参考以下文章

[RK3288][Android6.0] 调试笔记 --- hwclock命令无法使用

[RK3288][Android6.0] 调试笔记 --- pmu(rk818)寄存器读写

[RK3288][Android6.0] 调试笔记 --- /data/app/预置apk安装失败

[RK3288][Android6.0] 调试笔记 --- 系统识别不同硬件版本方法

[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED

[RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题