Audio
文章平均质量分 84
Cmatrix204
可share的资源私聊即可获取,共同进步,一起成长
展开
-
Audio-AudioRecord Binder通信机制
Android进程间通信大量使用IPC通信,在梳理AudioRecord相关流程中,IAudioFlinger、AudioFlinger,IAudioPolicyService、AudioPolicyService之间就是通过Binder进行通信的,结合具体的Audio的使用实例对Binder通信进行一些整理。1.frameworks/native/libs/binder/include/binder/IInterface.h 模板接口类INTERFACE,这个模板接口类就是Serv原创 2022-07-05 14:05:39 · 1210 阅读 · 4 评论 -
Audio-AudioRecord create(一)
AudioRecord create相关代码流程、重点关键接口、参数解析以及相关log share分析比对。参数解析:audioSource: MediaRecorder.AudioSource.MIC,详细定义需check MediaRecorder.AudioSource;sampleRateInHz:默认采样率,单位Hz,44100Hz是唯一能保证在所有设备上工作的采样率;channelConfig: 描述音频通道设置,AudioFormat.CHANNEL_CONFIGURATION_MONO保证能原创 2022-06-29 18:12:34 · 1044 阅读 · 0 评论 -
Audio-AIUI语音交互
通过不同平台设置录音API tinyalsa获取到原始音频,经过回声消除、噪声抑制的简单算法处理得到的单声道音频数据,之后进行关键词唤醒、AI交互、语义理解以及各种TTS播报等场景的使用了。下面就对AIUI交互使用场景中的关键节点以及关键状态为的check问题进行一些分析,方便以后定位问题。https://aiui.xfyun.cn/doc/aiui/3_access_service/access_interact/sdk/msg_event.html1.AIUI流程分析 ...原创 2021-12-17 15:04:15 · 2409 阅读 · 0 评论 -
Audio-音频降噪、回声消除处理
对音频数据进行处理时经常会对mic阵列的选择有很多特殊要求,当原始录取的音频阵列排布有问题时,会进行一些软件的处理,使阵列排布达到一定的要求。1.回声消除对麦克阵列的特殊要求2.原始音频MIC阵列排布处理 对于4ch音频数据而言,麦克阵列排列要求为mic1、mic2、ref1、ref2,但是通过tinycap采集的原始音频数据的阵列排布为ref1、null、mic1、mic2,俩路mic分别对应左右mic的音频摄入,需要对mic阵列进行一定处理。...原创 2021-12-14 14:09:35 · 8536 阅读 · 1 评论 -
Audio:Android-TinyAlsa架构 Mixer API
Android中对音频多声道数据的配置binary tinymix是tinyplay执行前必要的步骤,对tinymix的源码进行check在整合tinyalsa相关通道配置以及流程上是非常有必要的。tinymix梳理之后还是比较简单的,主要有mixer_open, mixer_close,tinymix_list_controls, tinymix_detail_control,tinymix_set_value这个几个方法。1.tinymix.cfile path: exter...原创 2021-12-13 11:03:23 · 5017 阅读 · 0 评论 -
Audio:Android-TinyAlsa架构 PCM API
之前有接触过Linux的音频AlsaAudio和PluseAudio框架,Android音频系统是基于Linux的Alsa驱动封装的TinyAlsa音频接口框架,最近在做相关的音频处理项目,正好结合项目check一下Android的TinyAlsa架构。1.TinyAlsa-录制binary tinycap TinyAlsa的录制工具tinycap main函数里面主要是通过shell命令解析相关的音频设备参数以及记录音频数据的文件,然后通过capture_sample...原创 2021-10-12 11:41:50 · 3114 阅读 · 0 评论