高通音频调试总结
1、综述
该文档主要描述了手机打开免提通话的时候,如何解决固话端出现的啸音、噪音问题。
2、环境 项目:xxx 硬件平台:MSM7X27A 软件版本:android2.3.5, AMSS11452302
3、调试流程
(1)咨询高通FAE,明确哪些参数需要调整
FAE给出的建议是:针对啸音,调整codec_rx_gain、codec_tx_gain参数;针对杂音,调整rx_agc_static_gain、rx_agc_exp_thres、rx_agc_compr_thres、tx_agc_exp_thres、tx_agc_compr_thres参数; (2)使用QACT工具,对上述参数进行调试 QACT是高通提供的音频校准工具,可以使用该工具直接在线修改各类音频参数,调试十分方便(使用方法详见安装文件目录下的文档《80-VM407-1_E_Audio_Calibration_Tool_User_Guide.pdf》)。
使用该工具在线调试的基本思路是:适当降低增益(codec_rx_gain、codec_tx_gain),并调整AGC的门限值以及静态增益(rx_agc_exp_thres、rx_agc_compr_thres、tx_agc_exp_thres、tx_agc_compr_thres、rx_agc_static_gain参数),以达到消除啸音、噪音的目的。在线调试完成后,还可以用这个工具将调好的audio_cal.xml文件直接生成代码,具体也请参考上述文档。 (3)修改代码 代码路径:modem_proc/multimedia/audio/vocoder/src/voccal.c 在结构体voc_pcm_on_chip_speaker_cal_umts_qrd中,分别修改各个参数,代码如下:
CAL_MEMORY voc_pcm_path_cal_type voc_pcm_on_chip_speaker_cal_umts_qrd = {
VOC_EC_VER_ECNS,
/* ec_version */
VOC_EC_AEC,
/* ec_mode */
VOC_NS_ON,
/* ns_enable */
0x656e,
/* tx_gain */ 0x1000,
/* dtmf_tx_gain */ // codec_tx_gain由0x71cf修改为0x2328 0x2328,
/* codec_tx_gain */ // codec_rx_gain由0xb460修改为0x1770
0x1770,
/* codec_rx_gain */ 0x0000,
/* codec_st_gain */ …… ……
#ifdef FEATURE_AUDIO_AGC /* agc_param */ /* rx_agc_static_gain由0x8000修改为0x4000, rx_agc_exp_thres由0x1b00修改为0xe42,rx_agc_compr_thres由0x2000修改为0x1f40 ,tx_agc_exp_thres由0xf86修改为0x09c4,tx_agc_compr_thres由0x1bde修改为0x1964 */ { 0x4000, 0x0000, 0xe42, 0xffb0, 0x1f40, 0xffff, 0x0000, 0x0000, 0x2000, 0x0000, 0x09c4, 0xffc0, 0x1964, 0xffff }, voc_cal_adv_agc_param,
voc_cal_avc_param,
#endif /* FEATURE_AUDIO_AGC */ …… …… };