android7.1+msm8937双MIC改为单MIC(晓龙相机录像声音小)

MTK 双路MIC 配置 MTK_AUDIO_NUMBER_OF_MIC = 2 MTK_DUAL_MIC_SUPPORT = yes MICBIAS0和MICBIAS1电压控制: kernel-4.14/sound/soc/mediatek/codec/mt6357/mtk-soc-codec-6357.c 在所有Ana_Set_Reg(AUDENC_ANA_CON8, 0x0021, 0x00ff);后面 Ana_Set_Reg(AUDENC_ANA_CO... 阅读详情

android7.1+msm8937双MIC改为单MIC(晓龙相机录像声音小)

 

1.    问题背景

晓龙相机录像的时候,回播视频发现外放声音非常小,但如果用耳机来听则正常。

2.    产品和参考设计MIC的差别

 

我们产品

开发板

MIC_IN1_P/M

主MIC

主MIC

MIC_IN2_P/M

耳机

耳机

MIC_IN3_P/M

NC

副MIC

 

3.    录音时抓log和分析

录像的时候用logcat | grep snd_device抓log,如下

01-03 06:15:41.267   704 1035 D audio_hw_primary: select_devices: out_snd_device(2: speaker)in_snd_device(0: )

01-03 06:15:41.267   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(1) new_snd_devices(5)

01-03 06:15:41.267   704 1035 I msm8916_platform: platform_check_and_set_codec_backend_cfg: becf:new_snd_devices[0] is speaker

01-03 06:15:41.267   704 1035 E msm8916_platform: platform_check_backends_match: Invalidsnd_device =

01-03 06:15:41.267   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(0) new_snd_devices(0)

01-03 06:15:41.267   704 1035 D audio_hw_primary: enable_snd_device: snd_device(2: speaker)

01-03 06:15:41.309   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(1) new_snd_devices(-299367304)

01-03 06:15:44.810   704 1035 D audio_hw_primary: disable_snd_device: snd_device(2: speaker)

01-03 06:15:44.810   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(0) new_snd_devices(0)

01-03 06:15:53.127   704 1035 D audio_hw_primary: select_devices: out_snd_device(2: speaker)in_snd_device(0: )

01-03 06:15:53.127   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(1) new_snd_devices(6)

01-03 06:15:53.127   704 1035 I msm8916_platform: platform_check_and_set_codec_backend_cfg: becf:new_snd_devices[0] is speaker

01-03 06:15:53.127   704 1035 E msm8916_platform: platform_check_backends_match: Invalidsnd_device =

01-03 06:15:53.128   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(0) new_snd_devices(0)

01-03 06:15:53.128   704 1035 D audio_hw_primary: enable_snd_device: snd_device(2: speaker)

01-03 06:15:53.152   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(1) new_snd_devices(-299367304)

01-03 06:15:57.753   704 1035 D audio_hw_primary: disable_snd_device: snd_device(2: speaker)

01-03 06:15:57.753   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(0) new_snd_devices(0)

01-03 06:18:01.804   704 1035 D audio_hw_primary: select_devices: out_snd_device(2: speaker)in_snd_device(0: )

01-03 06:18:01.805   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(1) new_snd_devices(8)

01-03 06:18:01.805   704 1035 I msm8916_platform: platform_check_and_set_codec_backend_cfg: becf:new_snd_devices[0] is speaker

01-03 06:18:01.805   704 1035 E msm8916_platform: platform_check_backends_match: Invalidsnd_device =

01-03 06:18:01.805   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(0) new_snd_devices(0)

01-03 06:18:01.805   704 1035 D audio_hw_primary: enable_snd_device: snd_device(2: speaker)

01-03 06:18:01.838   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(1) new_snd_devices(-299367304)

01-03 06:18:10.213   704 1035 D audio_hw_primary: disable_snd_device: snd_device(2: speaker)

01-03 06:18:10.213   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(0) new_snd_devices(0)

01-03 06:18:10.294   704 3960 Daudio_hw_primary: select_devices: out_snd_device(0: ) in_snd_device(87:handset-stereo-dmic-ef)

01-03 06:18:10.295   704 3960 D msm8916_platform: platform_can_split_snd_device: snd_device(87)num devices(0) new_snd_devices(0)

01-03 06:18:10.295   704 3960 D audio_hw_primary: enable_snd_device: snd_device(87:handset-stereo-dmic-ef)

01-03 06:18:10.331   704 3960 D msm8916_platform: platform_can_split_snd_device: snd_device(87)num devices(1) new_snd_devices(-350227112)

01-03 06:18:10.519   704 1035 D audio_hw_primary: select_devices: out_snd_device(2: speaker)in_snd_device(0: )

01-03 06:18:10.519   704 1035 D msm8916_platform: platform_can_split_snd_device: snd_device(2)num devices(1) new_snd_devices(18)

01-03 06:18:10.519   704 1035 I msm8916_platform: platform_check_and_set_codec_backend_cfg: becf:new_snd_devices[0] is speaker

通过红色部分关键内容D audio_hw_primary:select_devices: out_snd_device(0: ) in_snd_device(87: handset-stereo-dmic-ef)可知录音的时候用到了副MIC(也就是snd_device),对应的设备名称为handset-stereo-dmic-ef

 

我们通过系统采用的hardware\qcom\audio\configs\msm8937\mixer_paths_qrd_sku2.xml文件,查看handset-stereo-dmic-ef的内容如下:

<pathname="handset-stereo-dmic-ef">

       <path name="speaker-dmic-endfire" />

</path>

可知handset-stereo-dmic-ef调用了speaker-dmic-endfire,接着看speaker-dmic-endfire

   <!-- Dual MIC devices -->

   <path name="speaker-dmic-endfire">

       <path name="adc1" />

       <ctl name="DEC2 MUX" value="ADC2" />

       <ctl name="MI2S_TX Channels" value="Two" />

       <ctl name="ADC2 MUX" value="INP3" />

</path>

可知采用的是双升到,要改为单MIC,修改后如下:

<pathname="speaker-dmic-endfire">

       <path name="adc1" />

</path>

 

同时新修hardware\qcom\audio\configs\msm8937\msm8937.mk下相关内容,修改前如下:

##fluencetype can be "fluence" or"fluencepro" or "none"

PRODUCT_PROPERTY_OVERRIDES += \

ro.qc.sdk.audio.fluencetype=fluence\

persist.audio.fluence.voicecall=true\

persist.audio.fluence.voicerec=false\

persist.audio.fluence.audiorec=true\

persist.audio.fluence.speaker=true

 

改后

##fluencetype can be "fluence" or"fluencepro" or "none"

PRODUCT_PROPERTY_OVERRIDES += \

ro.qc.sdk.audio.fluencetype=none\

#ro.qc.sdk.audio.fluencetype=fluence\

persist.audio.fluence.voicecall=true\

persist.audio.fluence.voicerec=false\

#persist.audio.fluence.audiorec=true\

persist.audio.fluence.speaker=true

 

 

【Qualcomm高通音频】Microphone 调试记录 1、XML配置 1.1 主MIC的XML路径配置以及对应的原理图 <path name="speaker-mic"> <path name="adc1" /> //<ctl name="DEC1 MUX" value="ADC1" /> <ctl name="IIR1 INP1 MUX" value="... 阅读详情

相关推荐

【Qualcomm高通音频】外部Codec调试流程_ES7243E

一、 调试大纲 调试正式开始之前,想办法获取以下信息:硬件设计原理图/Codec参考驱动代码/FAE联系方式。 1. 从硬件设计原理图,我们要获取到Codec芯片和CPU通过什么接口连接,包括数据传输接口、控制接口、reset和power引脚。 2. Codec参考驱动代码,一般正规的厂商都会提供的,至少也提供对应场景的寄存器配置。 接下来开始正式调试,大致分为以下流程: a. 数据...

crow_ch的博客 8267

Qualcomm Audio HAL 音频通路设置 ---------Good

come from :https://blog.csdn.net/azloong/article/details/79383323 1. 音频框图概述 | Front End PCMs | SoC DSP | Back End DAIs | Audio devices | Front End PCMs:音频前端,一个前端对应着一个 PCM 设备Back End DAIs:音频后端,...

zmjames2000 Just record 4629

android 内部mic和外部mic切换

android audio record

qq_20395637的博客 1961

android7 编译配置摄像头,高通msm8917 37 40(android 7.1) 摄像头框架调用流程

以问答的形式来理解摄像头框架流程问:aw_camera.xml中配置的多个摄像头在哪里匹配?答:sensor.c(vendor)通过iotcl到底层在msm_sensor_driver_probe去获取dtsi中配置的g_sctrlkernel\msm-3.18\drivers\media\platform\msm\camera_v2\sensor\msm_sensor_init.cmsm_sen...

weixin_34123023的博客 820

MTK双麦调试说明.pdf

文档为MTK双麦降噪调试说明,对MTK平台的音频调试做个参考

Spring Boot整合Apache Hop 2.3.0实战:从零搭建数据管道(附完整代码)

本文详细介绍了如何在Spring Boot项目中整合Apache Hop 2.3.0,从零开始构建可嵌入的数据管道。内容涵盖环境初始化、依赖配置、管道设计,并通过完整代码示例演示了如何通过REST API触发执行,实现数据同步与ETL流程的自动化管理,为微服务架构提供灵活的数据集成方案。

web99的专栏 632

高通msm8917 37 40(android 7.1) 摄像头框架调用流程

以问答的形式来理解摄像头框架流程 问:aw_camera.xml中配置的多个摄像头在哪里匹配? 答:sensor.c(vendor)通过iotcl到底层在msm_sensor_driver_probe去获取dtsi中配置的g_sctrl kernel\msm-3.18\drivers\media\platform\msm\camera_v2\sensor\msm_sensor_init.c ...

sunshine_liusu的博客 1907

保姆级教程:在RK3568 Debian系统上搞定AIC8800 WiFi与蓝牙驱动(含固件路径与开机自启脚本)

本文提供在RK3568 Debian系统上配置AIC8800 WiFi与蓝牙驱动的保姆级教程,涵盖驱动移植、固件部署、开机自启脚本等关键步骤。通过详细的硬件连接指南、内核配置示例和常见问题解决方案,帮助开发者快速实现无线模块的全功能配置,特别适合嵌入式Linux开发者参考。

weixin_28684825的博客 379

mt8788 android9.0 双麦克风改为单麦克风

+++ b/device/mediateksample/tb8788p1_64_bsp/ProjectConfig.mk @@ -316,7 +316,7 @@ MTK_DTAG_DUAL_APN_SUPPORT = no MTK_DTBO_FEATURE = yes MTK_DUAL_CHARGER_SUPPORT = yes MTK_DUAL_DISPLAY_SUPPORT = 0 -MTK_DUAL_MIC_SUPPORT = yes +MTK_DUAL_MIC_SUPPORT = no

... 847

zemax双透镜公差分析

蒙特卡罗分析: 评估公差的整体影响,模拟过程中产生一系列随机的lens,满足指定的公差,然后再按照标准评估。公差分析,就是在设计了一个理想的系统后,想看看实际生产过程中如果产生公差(误差),系统会坏到什么程度,也就是光学性能受到多大影响。反灵敏度分析:分别对每个公差在性能方面的一个给定的最小允许减少量来计算公差,也就是限制了系统性能的变化,和灵敏度分析方向相反。灵敏度分析对每个公差单独求值,分别计算每个公差操作数的最大、最小、标准值(如上图)所有设计上可能的公差都列出来了。注意要固定透镜的口径。

fendoudecheng的博客 3207

51单片机+HX711电子秤Proteus仿真保姆级教程(附完整源码与避坑指南)

本文详细介绍了51单片机与HX711电子秤在Proteus仿真中的全流程实战指南,包括电路设计、核心代码实现、典型问题排查及系统集成等关键步骤。特别提供了HX711驱动程序的编写技巧和称重数据处理算法,帮助开发者快速搭建高精度电子秤仿真系统,并避免常见的设计陷阱。

weixin_30752699的博客 414

【Qualcomm高通音频】当内部Codec和外部Codec上都有麦克风输入,如何做到灵活切换内部外部Codec上的麦克风进行录音呢?

最近遇到一个项目,既用到高通PMU芯片内置的Codec接了麦克风,也通过外部I2S总线外接了两个麦克风。 详细沟通后,了解到,在普通录音的使用场景中,客户要求可以通过安卓原生api任意切换内部Codec和外部Codec上的麦克风进行录音。 设计思路: (1)仿照audio-record这个usecase去新增一个usecase,对应外部Codec (2)找到内部外部Codec区分点 ...

crow_ch的博客 4358

从零开始:MTK ISP调试中的ImagiqSimulator实战指南

本文详细介绍了MTK ISP调试中ImagiqSimulator的实战应用,从环境准备、参数加载到核心模块调整,提供全面的调试流程指南。重点讲解了DM模块参数优化技巧和常见问题解决方案,帮助工程师高效完成ISP调试工作,提升图像处理质量。

weixin_29168813的博客 489

高通 双MIC 设置

android O中设置双MIC降噪,需要在build.prop添加属性"ro.vendor.audio.sdk.fluencetype"属性。 属性值位于hardware/qcom/audio/configs/msm8953/msm8953.mk ##fluencetype can be "fluence" or "fluencepro" or "none" PRODUCT_PROPERTY_O...

weixin_34290631的博客 2304

windows使用jupyter notebook读取文件路径的几种方法和设置默认打开路径

简单分享小虎这段时间以来学到的jupyter notebook操作技巧。

狂小虎/Anthony Dave的博客 KuangXiaoHu's Blogs 1万+

光学相干断层扫描(OCT)在 妇科诊断 中的革命性应用

尽管OCT在妇科的应用提供了许多潜在的优势,但它仍然是一个相对新的技术,并不是所有医疗机构都有能力提供这种类型的成像服务。随着技术的发展和医生对OCT的熟悉程度的提高,预计OCT将在妇科和其他医学领域中扮演越来越重要的角色。早期发现和准确的分类是提高治疗成功率的关键。虽然这是一个相对较新的应用领域,但OCT的非侵入性和高分辨率成像能力可能提供有价值的信息,以提高辅助生殖技术的成功率。:光学相干断层扫描(OCT)在阴道和外阴组织的评估中的应用正在逐渐展开,提供了一种新的方法来诊断和监测各种妇科疾病。

LiRongLu_的博客 1720

MTK配置Audio与Mic

"aud_smartpa_on", //注意标点,增加了引脚定义,这里原本分号结尾改逗号。MTK_DUAL_MIC_SUPPORT = no //如果是双mic就设为yes。MTK_AUDIO_NUMBER_OF_MIC = 1 //mic数量。//我的项目外挂,所以在对应dts里面会去掉驱动部分。//看你具体是配置驱动还是通过gpio外挂。//注意gpio159,前面摄像头部分提。// 过,小心与摄像头定义冲突。

2201_75918415的博客 3170

Apache DolphinScheduler 实现了对 OceanBase 的元数据库支持

Apache DolphinScheduler 是一款开源的分布式工作流任务调度系统,它提供了可视化的工作流设计和调度功能,支持大数据任务的自动化调度和监控。最近的更新中,Apache DolphinScheduler 引入了对 OceanBase 数据库的元数据库支持,这为用户在大数据环境中管理和调度任务提供了更多选择。用户可以通过 DolphinScheduler 提供的可视化界面进行工作流的设计和调度,也可以通过 DolphinScheduler 提供的 API 进行任务的编程调度。

VavzNvml的博客 495

Android 听筒模式和扬声器模式切换的 实现

http://www.2cto.com/kf/201312/263642.html step 1,在AndroidManifest文件中添加权限声明 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS">

wisdomsister的专栏 7386

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Adnroid T 单独控制主副麦

主副麦控制

xiaolitongxue11的博客 1057

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【MTK MIC】

MIC种类 MIC根据功放电路可以分为AC couple和DC couple。 vendor/mediatek/proprietary/custom/MT65A_k61v1_64/hal/audioflinger/audio/audio_custom_exp.h 暗码调试: ##3646633##

qq_35459458的博客 1197

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

INPUT 系统log Android7.1.2

01-01 22:11:47.014  1982  1982 I MSM-irqbalance: Decided to move IRQ3 from CPU2 [P:0] to CPU4 [P:1] (banned) 01-01 22:11:47.017  1982  1982 I MSM-irqbalance: Decided to move IRQ5 from CPU2 [P:0] to C

u012497906的专栏 2530

【audio】坚果Pro配置双扬声器

前言 基于坚果pro手机,设置扬声器播放右声道,听筒播放左声道。 暂时先忽略听筒功率因素,是否能达到左右声道响度相当情况。 查看mixer_path配置 mixer_path.xml文件一般存放在vendor/etc目录下,该目录下可能存放多个mixer_path.xml,例如:mixer_path.xml和mixer_path_mtp.xml。 mixer_path.xml是官方提供的示例,通常情况下使用的mixer_path文件是存在后缀的,开发时会根据平台配置不同的xml文件,代码中一般会根据声卡名字

qq_38091632的博客 4524

开双mic 很简单啊 [

在拨号键盘输入 *#*#2846579#*#* 出来两个菜单 打开ProjectMENU 选择6打开双MIC设置 选择打开 搞定

skyxiaojt的博客 3160
上一篇: 高通8xxx平台双MIC设置
下一篇: android_N项目(高通平台 CTS修改总结
loongembedded
loongembedded 领域专家: 嵌入式与硬件开发技术领域 领域专家: 嵌入式与硬件开发技术领域
博客等级 码龄16年 2467粉丝 464原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loongembedded

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值