- 博客(20)
- 资源 (3)
- 收藏
- 关注
原创 音视频开发之基于某三方音效的Android native层四声道音频输出
还有一些HAL的修改,不同平台实现不一样。需要在HAL层对除了扬声器以外的其它设备比如蓝牙耳机,有线耳机,DuplicatingThread播放,REMOTE_SUBMIX模式等等做一个统一操作,因为虽然除扬声器以外的设备都是双声道播放,但是因为修改了前面提到的AudioOutputDescriptor.cpp文件,参数不会跟着变化,所以要在HAL层write函数位置进行四转二操作。简单说下,里面包含三类标签,mixports,devicePort,route,分别代表虚拟设备,物理设备和路由。
2022-11-24 19:39:01 1818 5
原创 Audio简单分析 凑字数
How to new deviceqcom\opensource\pal\configs\pineapple\usecaseKvManager.xml
2024-05-23 11:04:56 181
原创 GKV组件含义记录
除了sample rate其他的都可以转换,Decoder后面一般用PCM Converter。用于将输入数据分割成多个输出数据端口,该模块用于将重放数据分割并路由到回声消除模块。该模块有多个输入端口,可以来自不同的时钟源,并将其漂移校正到目标时钟源。在任何ECNS模块之前都需要使用该模块来同步输入端口之间的数据。sample rate、format、channel转换。与解码器模块一起使用,可实现连续播放内容的无间隙播放。用于将单个流输入分割为多个流输出。用于将多个输入流累积为一个输出流。
2024-05-22 16:11:44 158
原创 AudioReach架构中的GSL-Passthru-GPR推理过程
在分析audio-pkt.c(passthru)这个文件的代码时,我们推断它实现了一个名为aud_passthru_adsp的字符设备。原生tinyalsa pcm_open操作后端注册的dai link,把codec前后端连起来,还有codec上电,数据走agm。audio_prm.c 提供时钟控制接口,比如开关的功能,或者介于开关的feature调整。函数属性,实现了从应用处理器 (AP) 到后端驱动的通信。是一个包含函数指针的结构体,其中一个重要的函数指针是指向。的代码位于gpr_lx.c文件的。
2024-05-01 11:30:36 365
原创 深入探究 TinyALSA Plugin的应用
这段代码通过动态加载自定义的动态链接库 “libsndcardparser.so”,该库自身实现了一系列与音频设备节点相关的函数。函数确定 PCM 设备的类型,如果是插件型设备,则使用插件操作(plug_ops),否则使用硬件操作(hw_ops)。文件,以获取具体的声卡信息,其中包括了 PCM 节点文件操作函数指针实现的动态链接库名称。这一设计允许动态加载并调用动态链接库中定义的函数,从而实现了对 PCM 插件的打开功能。中的函数指针,然后根据解析得到的类型(type),获取了。函数,通过前面获取到的。
2024-04-30 23:57:06 314
原创 我的收藏夹
Marvell 88E1145PHY芯片的初始化配置SPI驱动中使用gpio的irq中断selinux file_contextshttps://docs.nvidia.com/drivehttps://repo.huaweicloud.com/java/jdk/https://mirrors.cloud.tencent.com/AndroidSDK/https://wiki.analog.com/resources/tools-software/a2b-bus-analyzer/faq?s%5b%5d=
2024-04-08 10:34:41 150
原创 Linux总线资源被分配到TrustZone的解决思路
如果不知道是哪个.ta文件并且也没有FAE支持,挨个删除当下目录的某个.ta文件,然后clean,编译。高通平台修改QUPAC_Access.c文件,具体参考。
2024-03-28 20:35:59 226
原创 音频开发 — DRIVE AGX Orin Linux开发人员指南
音频处理引擎 (APE) 是一个独立的 IP,它能满足 Nvidia舱/驾芯片的所有音频需求,只需 CPU 提供最少的监控。APE 包含一个音频 DSP (ADSP)、一个内部 RAM、一个包含许多硬件加速器的音频集线器 (AHUB)、一个用于连接硬件加速器的交叉开关 (XBAR)、一个专用 DMA 引擎 (ADMA) 和一个专用通用中断控制器(AGIC)。各个AHUB加速器使用方法参考,注册然后就可以阅读在p3710开发板上,音频功能主要由基于ALSA的虚拟音频驱动,和APE中的AHUB模块共同支持。
2024-02-22 15:13:05 491
原创 Orin 音频设置和开发
要启用Codec,您必须将Codec添加到用于访问Codec的设备的设备树节点下。大多数Codec使用 I2C 或 SPI 进行访问。配置 I2S 和Codec DAI 链路//主从配置codec {
2023-12-27 10:29:01 817
原创 一个非常好用而且通用的Audio dump工具
主要函数easy_write,前四个参数可随意填写,用于区分不同的dump位置,后面三个最好真实填写,为了好辨认dump出的audio格式。可以多线程调用可以在一个module中多个地方调用,函数中维护了一张链表,根据path区分需要创建/data/audio_dump目录才会保存,删除后不会再保存/data/audio_dump目录下的文件删除后会重新生成。
2023-04-22 11:56:44 364
原创 A2B AD242x调试总结
这些接口通常由硬件提供商或芯片制造商提供,然后需要参考ADI提供的AE_09_A2B_Stack_UserGuide.pdf文档3.2.1章节,按照说明实现adi_a2b_pal.c中的一些接口,建议复制a2b-bf目录下东西作为自己开发基线。在使用SigmaStudio之前,需要将所需的配置导出,并生成.c文件。,文中提到的所有代码和文档都在这款软件的安装路径下。然后按照SDK提供的AE_09_A2B_Stack_UserGuide.pdf文档编写需要的代码的Makefile,并将代码加入到自己驱动中。
2023-04-22 10:07:01 746 2
原创 音视频开发之Android端native层播放音频三种方式
下面三种方式前两种区别不大,缺点是必须要等到系统加载差不多了才可以使用。Android系统启动时间很长,想要早点播放的话可以选择第三种,tinyalsa播放。好像还有第四种,使用openGL ES,这个没怎么研究过。二. MediaPlayer。一. AudioTrack。三. tinyalsa。
2022-11-27 18:23:02 1159
原创 Tensorflow 中文语音识别
Github地址https://github.com/kevinan1/tensorflow-examples/tree/master/speech
2018-09-25 16:27:13 3064
原创 Vim 配置Python IDE实现代码自动补全
mkdir ~/.vimmkidr ~/.vim/bundlecd ~/.vim/bundlegit clone https://github.com/rkulla/pydiction.gitvim ~/.vimrcfiletype plugin onlet g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict'...
2018-08-25 00:00:06 841
清华数据集标注信息
2018-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人