![](https://img-blog.csdnimg.cn/20200105133437522.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
子类_ADUIO
1. 介绍常规高通平台音频功能调试
2. 介绍常规高通平台音频效果调试
3. 介绍工作中接触到的一些音频拓展知识
一息尚存,从吾所好
愿我如星君如月,夜夜流光相皎洁
展开
-
【Qualcomm高通音频】如何区分配置ECM驻极体麦克风和MEMS硅麦克风
如何对MEMS麦克风进行调试 如今MEMS麦克风正逐渐取代音频电路中的驻极体电容麦克风(ECM)。ECM和MEMS这两种麦克风的功能相同,但各自和系统其余部分之间的连接却不一样。如今MEMS麦克风正逐渐取代音频电路中的驻极体电容麦克风(ECM)。ECM和MEMS这两种麦克风的功能相同,但各自和系统其余部分之间的连接却不一样。本应用笔记将会介绍这些区别,并根据一个简单的基于MEMS麦克风的...原创 2020-01-05 12:12:30 · 4210 阅读 · 1 评论 -
【Qualcomm高通音频】如何在使用AudioRecord API调用双麦克风进行录音时把左右声道数据分离呢?
参考链接为:https://blog.csdn.net/hlj_include/article/details/52131903https://blog.csdn.net/Snow_Ice_Yang/article/details/85000427研究中,后续更新、原创 2020-03-15 16:12:10 · 1752 阅读 · 1 评论 -
【Qualcomm高通音频】当内部Codec和外部Codec上都有麦克风输入,如何做到灵活切换内部外部Codec上的麦克风进行录音呢?
最近遇到一个项目,既用到高通PMU芯片内置的Codec接了麦克风,也通过外部I2S总线外接了两个麦克风。详细沟通后,了解到,在普通录音的使用场景中,客户要求可以通过安卓原生api任意切换内部Codec和外部Codec上的麦克风进行录音。设计思路:(1)仿照audio-record这个usecase去新增一个usecase,对应外部Codec(2)找到内部外部Codec区分点...原创 2020-03-15 16:09:59 · 3789 阅读 · 0 评论 -
【Qualcomm高通音频】外部Codec调试流程_ES7243E
一、 调试大纲调试正式开始之前,想办法获取以下信息:硬件设计原理图/Codec参考驱动代码/FAE联系方式。1. 从硬件设计原理图,我们要获取到Codec芯片和CPU通过什么接口连接,包括数据传输接口、控制接口、reset和power引脚。2. Codec参考驱动代码,一般正规的厂商都会提供的,至少也提供对应场景的寄存器配置。接下来开始正式调试,大致分为以下流程:a. 数据...原创 2020-03-15 15:55:48 · 6768 阅读 · 1 评论 -
【Qualcomm音频调试】安卓如何调整耳机安全音量等级和关闭耳机安全音量提示?
修改代码位置:frameworks/base/core/res/res/values/config.xml1. 如何调整耳机安全音量等级<integer name="config_safe_media_volume_index">10</integer>----->对应触发安全音量提示的音量等级2. 如何关闭耳机安全音量提示?<bool name=...原创 2020-01-20 22:10:27 · 2420 阅读 · 1 评论 -
【Linux驱动技巧篇】如何使用延迟队列?
1. 创建延迟队列要绑定的延迟处理函数void msm8952_pa_reset_func(struct work_struct *work){ struct msm8916_asoc_mach_data *pdata = NULL; struct delayed_work *dwork; dwork = to_delayed_work(work); pdata = contain...原创 2020-01-12 20:28:59 · 2022 阅读 · 0 评论 -
【Qualcomm高通音频】音频数据如何从文件系统送到喇叭Speaker?
一、 开门见山这里介绍下声音如何从文件系统比如sd卡送到喇叭的。示意图如下:简单引申点音频知识点。ASOC 主要部件1,alsa lib 配合 注册的snd_platform(pcm设备),把数据传到kernel. DAI(digital* audio interface) 确认cpu dai, codec dai.2, snd_soc_pla...原创 2020-01-12 19:32:31 · 3082 阅读 · 1 评论 -
【Qualcomm高通音频】调试工具QACT_如何新增一套音效
这里以新建一套麦克风音效举例。首先通过QACT软件以离线调试的方式打开任意一组音效。通过左上角菜单栏,选择Tools -----> Device Designer。先观察HANDSET_MIC的参数配置。然后点击左下角的新增按钮,仿照上述参数配置一组音效,重新命名,注意命名稍微规范一些。点击ok保存后即可使用该音效了。...原创 2020-01-12 18:53:54 · 2821 阅读 · 0 评论 -
【Qualcomm高通音频】调试工具QACT_如何更换音效的音频拓扑
一、 什么是音频拓扑首先通过QACT软件以离线调试的方式打开任意一组音效,比如最常用的喇叭的音效。通过左上角菜单栏,选择Tools -----> Device Designer,并找到SPKR_PHONE_SPKR_MONO音效,如下图所示。如果想要调整拓扑只需修改上述对应的位置即可。这里修改为AUDIO_RX_MONO_COPP_MBDRC_V3后保存后,重新查...原创 2020-01-12 18:47:15 · 3780 阅读 · 0 评论 -
【Qualcomm高通音频】如何通过上层代码修改dump音频数据流进行问题分析呢?
如何通过上层代码修改dump音频数据流我们在分析杂音等问题的时候, 只抓adb log是不够的, dump audio的数据能直观快速的判断是哪一块出了问题, 这里只针对高通平台1. 如何在Frameworks层音频数据dump//代码路径:frameworks/av/services/audioflinger/Tracks.cpp#getNextBufferstatus_t Au...原创 2020-01-12 18:16:39 · 2856 阅读 · 0 评论 -
【Qualcomm高通音频】音效调试控件介绍_DRC
一、工具打开显示的DRC界面任意打开一套音频参数找到DRC音频控件,其内部参数如下:二、 高通默认参数三、 功能介绍其内部主要功能模块为:a. Downward Compressorb. Downward Expanderc. Upward Compressor常用参数为:a. Dnward Compression Threshold: 向下压缩门限值,如果信...原创 2020-01-12 17:15:31 · 3113 阅读 · 0 评论 -
【Qualcomm高通音频】音效调试控件介绍_MBDRC
一、MBDRC多频带动态范围控制使用QACT音效调试软件打开一套参数,找到MBDRC打开之后看到的界面如下:其内部主要包含的功能模块为Multiband DRC和Limiter两部分。二、调试参数1. Makeup gain: MBDRC模块补偿增益.2. Limiter threshold: 幅值限制阀值,如果信号幅值超过该阈值,限幅器会施加负增信号幅值降至该阈值附近,输...原创 2020-01-12 17:22:50 · 4056 阅读 · 0 评论 -
【Qualcomm高通音频】音效调试控件介绍_FENS
一、FENS内部框图使用QACT音效调试软件打开一套参数,找到MBDRC打开之后看到的界面如下:其内部功能模块主要是:a. VADb. Noise Estimation: Stationary-noise estimation and Non-stationary noise estimationc. SNR Estimationd. Noise Suppression...原创 2020-01-12 17:12:41 · 1501 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】IOT产品声学结构设计_四、硬件性能测试
一、测试整机的硬件性能-密封性-自由场1. 在自由场内, 播放 80dBSPL 粉红噪声, 正常录取每个 mic 的信号;2. 分别堵上每个 mic,重复 1 的操作;3. 比较上面两次的录音结果;4. 确定每个 mic 都能录取到信号, 并且录取到的信号走势符合粉红噪声;5. 在堵与不堵的情况下, 两次录取的同一 mic 的信号差别应该> 30dB,此情况下说明 mic密封性比...原创 2020-01-12 16:42:01 · 3950 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】IOT产品声学结构设计_三、音频腔体设计
一、麦克风对于贴片 MEMS mic 来讲, 需要导音孔设计。 为避免引入额外风噪,建议将出音孔外沿做成一定的导角, 不能太锐利, 如下图。 导音管的长度越短,麦克风频宽越宽。 麦克风需要用硅胶套等材料密封。Different MEMS Mic Inner Design二、喇叭喇叭前出音面需要与背腔隔离。 一般可利用独立腔体结构和密封泡棉进行密封。 后腔容积...原创 2020-01-10 13:18:32 · 6683 阅读 · 1 评论 -
【AUDIO音频兴趣拓展】IOT产品声学结构设计_二、音频器件布局
一、音频设计推荐Mic 和喇叭摆放的原则:a. 主 Mic 应该摆放在底部的中线已保证左右手握姿对语音拾取的影响。b. 副 Mic 推荐放在顶部近中线处,这样可以保证 Mic 信号的隔离度和防止副 Mic 被人手盖住。c. 副 Mic 在免提和视频电话的时候做主 Mic。这样的话底部喇叭到主 Mic 的隔离度最大化。d. 保证两个 mic 摆放尽量靠近中线来确保在多数握姿下面 F...原创 2020-01-10 13:12:26 · 3267 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】IOT产品声学结构设计_一、音频器件选材
音频器件选材流程:1. 首先,确定音频的测试标准,要求高低依次为 VF/3GPP/CMCC/CTA. (另外,针对销售区域的 NB/WB 不同要求, WB 对于器件的低频部分要求更高,尤其是听筒与 MIC;2. ID 设计要确保音频结构所需的最低要求;整机堆叠要确保音频器件的优先级别。合理协调天线、电池等与音频器件之前的关系。前期评审多花精力,务求整机布局达到最佳平衡点。前期评审是一个反复...原创 2020-01-10 00:16:11 · 6836 阅读 · 1 评论 -
【Qualcomm高通音频】在设备没有听筒时,如何强制开启免提通话模式?
由于类似平板、贩卖机、车载等产品定义上都没有听筒这种音频设备,因此会经常遇到这样一个需求:强制免提。以下是修改diff,请参考。如果只是APK修改的话,可以参考:diff --git a/packages/services/Telecomm/src/com/android/server/telecom/CallAudioManager.java b/packages/services...原创 2020-01-10 00:02:15 · 2500 阅读 · 2 评论 -
【Qualcomm高通音频】不同网络制式进行通话加载的音效参数是不一样的
之前的项目上遇到过这样一种bug:使用不同的SIM卡装在同一台调试设备和自己手机打电话,对方听到的声音响度不一样。这个问题就是由于不同网络制式进行通话加载的音效不一致造成的。一、为什么不一样?1.网络制式有哪些?中国移动网络制式为2G:GSM制式;3G:TD-SCDMA制式;4G:TD-LTE制式。中国联通网络制式为2G:GSM制式; 3G:WCDMA制式;4G:...原创 2020-01-09 23:25:54 · 839 阅读 · 0 评论 -
【Qualcomm高通音频】如何使用QXDM、QCAT、CoolEditor音频日志抓取、解析和分析?
一、使用QXDM抓取音频日志使用步骤如下:(已抓取录音日志为例)确保qxdm和qpst软件已成功安装且qxdm软件已激活成功,把设备连接电脑上。 点击左上角菜单栏Options-->Comunications...进入设备连接界面 根据设备管理器显示设备的diag口这里连接到上去。 选择抓取音频日志的audio.dmc配置文件,这样只抓音频日志的话,日志会小一些,也方便后面解...原创 2020-01-09 23:04:33 · 7344 阅读 · 3 评论 -
【Qualcomm高通音频】平板音效调试踩雷
核心问题:两台平板设备都开启免提模式进行通话,听起来声音小且不清晰,但是打第三方手机或者其中一台插着耳机音效又很好。#设备状态介绍双数字麦克风,由于是数字麦克风,因此无模拟增益可以调节。两个麦克风分别在平板中间顶部的正面和反面。如果把平板平放桌面,副麦会被遮挡住,背面比较平。正面麦克风留孔比背面大一些。双喇叭,音源左右声道混音后从CDC_HPH_R送到两个喇叭。另外两个喇叭前面还各接...原创 2020-01-09 10:45:25 · 1848 阅读 · 3 评论 -
【Qualcomm高通音频】音效调试_录音文件播放有杂音,如何定位原因?
一、录音播放数据处理过程介绍(1)TX方向麦克风(硅麦克风或者主机体麦克风)采集模拟音频信号,经过内部CODEC芯片中的adc转换为数字信号,在经过高通音频DSP处理音效后编码为wav/aac/amr/mp3等格式文件。(2)RX方向音频文件经过解码、重采样还原为pcm数据,经过DSP处理音效后送到内部CODEC,然后经过DAC转换为模拟信号,送到喇叭。二、分析步骤1...原创 2020-01-08 14:18:07 · 4554 阅读 · 3 评论 -
【AUDIO音频兴趣拓展】音频信号都有哪些音频属性?
一、声功率、声强和声压二、分贝、声功率级、声强级和声压级三、声压、声功率、声强、电平声波引起空气质点的振动,使大气压产生迅速的起伏。这种起压,称为声压。所谓声压就是有声波存在时,在单位面积上大气压的变化部分。声压(p)以pa,即帕(斯卡)为单位(1pa=1N/㎡,即牛顿/平方米)。有时也用µbar,即微巴作单位,1pa=10µbar.我们听到的最弱的声音声压为2×10-...原创 2020-01-08 13:41:19 · 1385 阅读 · 1 评论 -
【ADUIO音频测试与认证】什么是耳机声压?耳机做CE要做声压测试标准是什么?
一、什么是耳机声压?测试用例?由于经常或长时间连续使用耳机,如音量过大,会对听力构成相当大的损害,有必要限制便携式声音重放设备的最大输出声压级。事实上,从2004年7月1日起, EN50332已正式作为强制性标准在欧盟范围内生效实施。EN50332标准也适用于其他带耳机的便携式电子产品,例如:手提电脑和便携式电视机。便携式视听产品出口欧盟须作声压测试。EN50332分为两个部份,EN5...原创 2020-01-08 13:24:29 · 2234 阅读 · 0 评论 -
【ADUIO音频测试与认证】CTS AUDIO测试项大全
以下链接介绍了CTS AUDIO测试的具体细节,此处保存下。https://source.android.com/compatibility/cts/audio-framework原创 2020-01-08 10:46:07 · 2109 阅读 · 2 评论 -
【Qualcomm高通音频】如何动态兼容多套音频参数文件?
1. 了解下音效参数组成a. 音频路由配置文件mixer_paths_xxx_platform.xmlb. 音效数据库文件Bluetooth_cal.acdbGeneral_cal.acdbGlobal_cal.acdbHandset_cal.acdbHdmi_cal.acdbHeadset_cal.acdbSpeaker_cal.acdbworkspac...原创 2020-01-08 10:19:21 · 2426 阅读 · 1 评论 -
【Qualcomm高通音频】如何配置高通设备充当蓝牙耳机的角色呢?
其实这个概念就是常规意义上的蓝牙从模式设置。一般来说,蓝牙从模式与音频相关最直接的就是HFP和A2DP,但是要知道蓝牙协议不止这两个,还包括蓝牙电话薄等功能。这里只贴上如何蓝牙hfp和a2dp协议的从模式代码配置。From 2ae2de6b2eb6df55a1804f0183ad917bddd0e884 Mon Sep 17 00:00:00 2001From: kuangjinc...原创 2020-01-08 01:06:12 · 1970 阅读 · 0 评论 -
【Qualcomm高通音频】如何封装音频控件?
音频代码涉及面很广,这篇文档介绍如何封装音频控件给HAL层使用。这里以AW87519芯片调试为例进行介绍封装音频控件和使用的方法。在最初接出到高通音频基础功能调试的时候,都是从tinyalsa指令/mixer_paths文件配置开始。因为单独一个音频设备的调试,都对应一条音频链路的打通。比如以下链接上高通平台基础音频输入输出设备调试:【Qualcomm音频】Speaker 调试记录http...原创 2020-01-08 01:00:25 · 1677 阅读 · 0 评论 -
【Qualcomm高通音频】免提和听筒两种通话模式下如何切换主副麦克风?
1. 为什么要修改?通常情况下,这种修改主要是针对,主麦克风设计时离喇叭太近,导致无法无法完全回音。2. 如何修改?先进行以下确认:1. 不同平台对应的mixer_paths_xxx.xml文件不一致,请参考以下链接进行确认。2. 不同平台对应的麦克风属性不一定一致,请参考以下链接进行确认。如果确认使用了双麦克风属性配置,请打开对应的mixer_paths_xxx.xml文...原创 2020-01-08 00:40:25 · 2153 阅读 · 1 评论 -
【Qualcomm高通音频】安卓7/8/9/10如何修改音量曲线
如图1所示:1. 音量曲线是通过四个点绘制而成,点(x,y)坐标中,x取值范围是0->100以内的整数,y是-100->0以内的有一位小数的任意数值,并且随着x数值的增大,y也增大,也就是说该曲线是递增曲线。2. y数值与具体增益值线性相关。但其实真正增益amplification与y数值具体对应关系如下代码所描述:安卓7/8/9配置修改位置为:frameworks/av/se...原创 2020-01-08 00:32:51 · 2334 阅读 · 3 评论 -
【Qualcomm高通音频】MSM8953安卓7如何配置QUIN MI2S为从模式?
1. pinctrl配置高通平台配置一组I2S一般对应四个或者六个GPIO,QUIN MI2S对应GPIO88 GPIO91 GPIO92 GPIO93对应代码文件为:kernel/msm-3.18/arch/arm/boot/dts/qcom/msm8953-pinctrl.dtsi pri-tlmm-lines { pri_tlmm_lines_act: pri_tl...原创 2020-01-08 00:27:52 · 3155 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】AW8735测试放大倍数不对是什么原因?
1)核对模式设定。AW8735有5种不同模式,对应的放大增益不同;用示波器测量功放开启时/SHDN的波形,以便确认;然后根据实际使用Rine电阻来计算放大倍数。2)用示波器或者AP(音频分析仪)核对输入、输出波形,计算放大倍数。因为有NCN功能的存在,如果输入信号较大,触发NCN功能后有最大6dB的压缩,会导致放大倍数与标称不同。示例如下图:3)测量信号时,需要注意PA输出...原创 2020-01-07 20:48:24 · 1125 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】D类或K类音频PA工作时,干扰到射频灵敏度,EMI问题,如何解决?
该问题可做如下实验进行排查:1)音频PA输出端增加磁珠(串入通路中)和电容对地(并在磁珠后,远离PA端)组合,磁珠选择音频专用磁珠,如实验证明是该问题,有机会改版的话走线远离GSM天线,做好屏蔽。2)输出端如有TVS,可尝试去掉该TVS再进行射频灵敏度测试(某些TVS会在音频工作时,对射频产生影响)。...原创 2020-01-07 20:43:40 · 1516 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】如何测试喇叭端功率?音频功放输出端测试到波形为方波
除AB类音频外,D类或K类音频功放输出是PWM载波形式,因此测量功率(电压)时,需要在两个输出各接一个低通滤波器将其开关调制频率滤除。例如测量AW87318输出端信号时,在两个输出各接一个低通滤波器将开关调制频率滤除,然后测量滤波器的差分输出即可得到模拟输出信号。低通滤波器推荐如下表中的电阻、电容值。 滤波电阻 滤波电容 低通...原创 2020-01-07 20:42:14 · 5598 阅读 · 3 评论 -
【ADUIO兴趣拓展】音频PA输出功率不对、输出功率偏小,如何解决?
输出端到喇叭两端的走线阻抗过大、输出端串入的磁珠DCR过大,都会导致测试喇叭两端的功率偏小。可通过测试靠近音频PA输出端信号来验证该问题。而该问题可通过优化走线或增大音频PA输出功率来解决。...原创 2020-01-07 20:40:40 · 1040 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】音频PA工作时电流偏大,是什么原因导致?
音频PA工作时电流偏大,可排查以下几点:1)输出对地电容过大2)喇叭阻抗小(喇叭已损坏)3)输出端TVS工作电压小于音频PA输出端载波信号如输出端有多种器件,无法判断的情况下,可依次去掉元器件进行验证。...原创 2020-01-07 20:39:32 · 1395 阅读 · 0 评论 -
【Qualcomm音频】音效调试_播放音乐后,有时声音正常,有时偏小/平台Lineout 输出电压不稳定
播放音乐后,有时声音正常,有时偏小/平台Lineout 输出电压不稳定平台建立codec初始化时,需要一系列初始化,如果操作SND_SOC_DAPM_PRE_PMU后,直接继续调用建立函数,可能会导致建立音频通路失败,Lineout输出电压就会异常。所以需要在操作SND_SOC_DAPM_PRE_PMU后增加延迟,保证初始化成功。MTK和Qcom代码位置类似,下面以Qcom为例(高...原创 2020-01-07 20:37:54 · 998 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】按键音结束后或音乐暂停后有3S底噪
按键音结束后或音乐暂停后有3S底噪该3s底噪是平台端参数设定,可修改该参数,方法参考如下:如平台更新后或找不到该文件或参数配置,建议咨询MTK平台端。将代码路径为: Framworks/av/services/AudioFlinger.hAudioFlinger.h文件里面的staticconst nsecs_t kDefaultStandbyTimeInNsecs=second...原创 2020-01-07 20:36:12 · 688 阅读 · 1 评论 -
【Qualcomm高通音频】音效调试_播放音乐时,声音忽大忽小,声音有明显处理的痕迹
将/vendor/etc或/system/etc下面当前项目使用的mixer_paths_xxx.xml文件pull出来,检查speaker path配置,如图:如果有红色框图中的配置,将其删除后再进行测试验证。这两项配置与codec中的设置相关,该设置用于信号开启和关闭压缩扩展功能,会引起信号异常。...原创 2020-01-07 20:34:37 · 956 阅读 · 0 评论 -
【AUDIO音频兴趣拓展】如何判定通话场景中的喇叭发出的滋滋声从哪产生的
测试步骤如下:1、建立通话2、对方不说话3、对方机器进行静音操作4、 切换不同sim卡,重复测试,分析如下:1. 如果对方静音后,滋滋声消失,则该问题为音频软件问题2. 如果对方静音后,滋滋声仍然存在,原因有2种可能:a. 如果只是gsm通话存在该滋滋声问题,则为Tdd_oise问题,安排硬件同事帮忙解决。b. 如果所有网络制式通话均存在该滋滋声问题,则为PA底噪问题,应该安...原创 2020-01-07 14:53:13 · 655 阅读 · 1 评论