[RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题
【[RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题】笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述[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
推荐阅读
- Android 录音和摄像头权限适配
- 网狐手机端AndroidStudio编译成功
- Android通过微信实现第三方登录并使用OKHttp获得Token及源码下载
- appendChild append insertBefore prepend
- android greendao3.0 多表关联关系讲解(转)
- 基于Android官方AsyncListUtil优化改进RecyclerView分页加载机制
- file_put_contents($path,$content,FILE_APPEND);
- Citrix XenApp&XenDesktop 7.15 部署实践指南——第二节·环境介绍
- 11.21 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOLDefaultAppPool' 登录失败解决办法(示例代