使用QACT调试音频,首先安装QPST,并安装对应的usb驱动,如果驱动没有安装好,有驱动精灵等软件进行安装。

QPST configure中选择对应的设备。

在线调试

打开QACT,选择“Connect To Device”连接android设备。

点击DSP Calibration。

打开android设备播放音乐,就会有显示。

改变AUDIO_RX_CODEC_GAIN选框的值来设置播放器播放音乐的大小。

通过在线调试还可以知道播放音乐对应的选项是SPKR_PHONE_SPKR_MONO + AUDPROC_OFFLOAD_EFFECTS。

离线调试

打开对应文件,或者将连接设备调试之后的文件保存,然后通过adb将文件上传到android设备对应目录。

/system/etc/acdbdata/QRD/system/etc/acdbdata/MTP

C:\Users\tony>adb remount		# 从新挂载,获取写权限
remount succeeded C:\Users\tony>adb shell
tony-1:/system/etc/acdbdata/QRD # ls
ls
QRD_Bluetooth_cal.acdb QRD_Handset_cal.acdb QRD_Speaker_cal.acdb
QRD_General_cal.acdb QRD_Hdmi_cal.acdb msm8939-snd-card-skul
QRD_Global_cal.acdb QRD_Headset_cal.acdb tony-1:/system/etc/acdbdata/MTP # ls
ls
MTP_Bluetooth_cal.acdb MTP_Handset_cal.acdb MTP_Speaker_cal.acdb
MTP_General_cal.acdb MTP_Hdmi_cal.acdb msm8939-tapan-snd-card
MTP_Global_cal.acdb MTP_Headset_cal.acdb

源码放置位置,可以通过find命令查找acdb文件。源码里的名称和文件系统中的不同,其实是一个文件,编译的时候会放到/system目录中去。

例如vendor/qcom/proprietary/mm-audio/audcal/family-b/acdbdata/8916/QRD

tony@ubuntu:~/work/asop/vendor/qcom/proprietary/mm-audio/audcal/family-b/acdbdata/8916/QRD$ ls
Bluetooth_cal.acdb Global_cal.acdb Hdmi_cal.acdb msm8939-snd-card-skul workspaceFile.qwsp
General_cal.acdb Handset_cal.acdb Headset_cal.acdb Speaker_cal.acdb

回音消除

Audio use case: Voice

Device Use case: HEADSET_MIC&HEADSET_SPKR_STEREO

选框选择 TX_VOICE_SMECNS

选择show Advanced Parameters

DENS_tail_portion 	代表在脉冲响应的回波尾部的能量衰减,值太小则降低噪声消除效果,太大则降低通话音质
dens_tail_alpha 代表在脉冲响应的回声尾能量衰减,值太小会使尾音的末尾不被消除,太大则影响通话音质
dens_nl_atten 控制非线性回声抑制量,值越大,对高频回音的抵制越明显

Tony Liu

2017-12-28

qualcomm qact 使用记录的更多相关文章

  1. qualcomm wifi kernel beacon loss 日志记录

    记录一下高通对于beacon loss的处理的日志.方便后面再来分析. 04:17:13.397139 [04:17:13.383909] [000000A81699E7EC] [VosMC] wla ...

  2. qualcomm memory dump 抓取方法

    Memory dump是系统出现crash时常用的分析故障原因的方法,qualcomm 各子系统运行时,为方便debug,都会开辟ram log和debug variable用于保存各系统运行信息及健 ...

  3. 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL

    在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...

  4. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  5. Kali对wifi的破解记录

    好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...

  6. 2015 西雅图微软总部MVP峰会记录

    2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...

  7. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  8. 我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  9. 前端学HTTP之日志记录

    前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...

随机推荐

  1. 读取word到二进制,再转成word

    static void Main(string[] args) { try { var strParams = new Dictionary<string, string>(); stri ...

  2. 2-2-求并集A=A∪B-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版

    课本源码部分 第2章  线性表 - 求并集A=A∪B ——<数据结构>-严蔚敏.吴伟民版        ★有疑问先阅读★ 源码使用说明  链接☛☛☛ <数据结构-C语言版>(严 ...

  3. linux系统卡解决方案

    1.查看内存使用率 free -g 运行结果: 2.查看磁盘使用率 df -h 运行结果: 3.查看磁盘IO iostat -x 1 运行结果: 60表示60秒钟刷新一次 4.查看CPU使用情况 to ...

  4. centos6安装部署git服务器(gitlab6.4)

    环境准备 python版本2.6git版本 1.8.4.1ruby版本ruby-2.0.0-p353gitlab-shell版本 v1.8.0gitlab版本6.4.3 因centos6系列的pyth ...

  5. 使用终端执行.app程序 for mac

    背景:打开Eclipse闪退,需要查看错误日志 问题:使用Terminal执行 ./Eclipse.app时,提示“no such file or directory” 解决方案:执行./Applic ...

  6. 【ARM】2410裸机系列-按键查询式控制led

    开发环境   硬件平台:FS2410 主机:Ubuntu 12.04 LTS LED灯原理图 按键原理图 按键的接线资源 KSCAN0 -> GPE11    KSCAN1 -> GPG6 ...

  7. Zookeeper session超时

    1.会话概述 在ZooKeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID).服务器和客户端之间维持的是一个长连接,在SESSION_TIMEOUT ...

  8. 如何使cmd窗口正确显示utf-8编码的文字

    http://blog.csdn.net/ehcoing/article/details/51865922 ********************************************** ...

  9. 【Bayesian】贝叶斯决策方法(Bayesian Decision Method)

    已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A).这里先解释什么是条件概率: 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条 ...

  10. Spark Streaming 执行流程

    Spark Streaming 是基于spark的流式批处理引擎,其基本原理是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,便可以用于处理实时数据流. 本节描述了Spark Strea ...