![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android audio
文章平均质量分 88
qianxuedegushi
这个作者很懒,什么都没留下…
展开
-
android audio arch
ALSA System on Chip(ASoC)驱动将一个audio子系统分成四个部分:Machine driver, Platform driver, CPU driver以及Codec driver。Machine 驱动 :将平台,CPU以及codec驱动绑定在一块实现在kernel/sound/soc/msm/<chipset.c>定义前端FE和后端BE,DAI(digital...转载 2018-02-09 15:01:42 · 1466 阅读 · 0 评论 -
高通audio软件模块功能框图
StageFright (SF)媒体框架: 1,播放标准audio格式 2,SF媒体架构作为客户接口和Qualcomm OpenMAX接口进行通讯,对adsp支持的audio格式进行解码。 3,解码后的audio流传递给audio manager 4,位置: \frameworks\base\ media\libstagefright \android\frameworks\av\...转载 2018-02-08 08:39:09 · 1251 阅读 · 0 评论 -
tinyalsa工具命令
目前linux中主流的音频体系结构是ALSA(Advanced Linux Sound Architecture),ALSA在内核驱动层提供了alsa-driver,在应用层提供了alsa-lib,应用程序只需要调用alsa-lib提供的API就可以完成对底层硬件的操作。说的这么好,但是Android中没有使用标准的ALSA,而是一个ALSA的简化版叫做tinyalsa。Android中使用tinyalsa控制管理所有模式的音频通路,我们也可以使用tinyalsa提供的工具进行查看、调试。编译tinya原创 2021-06-21 12:09:57 · 863 阅读 · 0 评论 -
Linux Sound Subsystem Documentation
https://www.kernel.org/doc/html/latest/sound/index.html原创 2018-02-09 15:43:40 · 384 阅读 · 0 评论 -
android Audio System 之三: AudioPolicyService 和 AudioPolicyManager
转自:https://blog.csdn.net/DroidPhone/article/details/5949280DroidPhone 2010-10-18 17:25:00 57934 收藏 7分类专栏: 移动开发之Android 文章标签: audio android system stream output jni版权引言AudioPolicyService是Android音频系统的两大服务之一,另一个服务是AudioFlinger,这两大服务都在系统启动时有MediaSe...转载 2021-04-20 21:26:53 · 561 阅读 · 0 评论 -
音频播放AudioTrack之入门篇
转自:https://www.jianshu.com/p/632dce664c3d音频播放音频播放声音分为MediaPlayer和AudioTrack两种方案的。MediaPlayer可以播放多种格式的声音文件,例如MP3,WAV,OGG,AAC,MIDI等。然而AudioTrack只能播放PCM数据流。当然两者之间还是有紧密的联系,MediaPlayer在播放音频时,在framework层还是会创建AudioTrack,把解码后的PCM数流传递给AudioTrack,最后由AudioFlinger转载 2021-04-20 21:03:15 · 2430 阅读 · 0 评论 -
rk音频驱动分析之ring buf
转自:https://www.cnblogs.com/wen123456/p/14043030.html以下是原文内容:参考:https://blog.csdn.net/u013531497/article/details/48290195http://www.echojb.com/hardware/2016/12/21/283392.htmhttps://blog.csdn.net/droidphone/article/details/73160611.dma buffer简介..转载 2021-04-13 12:06:18 · 970 阅读 · 0 评论 -
rk音频驱动分析之tinycap录音
一.Tinycap分析使用命令:tinycap /sdcard/test.wav -D card0 -d device0 -c 2 -r 48000 -b 16 -p 1024 -n 16Tinycap.c (external\tinyalsa)录音流程: #define ID_RIFF 0x46464952//这个值是RIFF的ASCII值 #define ID_WAVE 0x45564157//这个值是WAVE的ASCII值 #define ID_FMT 0...转载 2021-04-13 11:06:10 · 2003 阅读 · 0 评论 -
基础讲解USB/UAC运作原理
USB是通用串行总线的意思,本质上并不是专门用来传输音频数据的。这里先简单列举USB2.0几个特性:双绞线、带电源、数据速率与传输频率无关、自同步(不需要单独传输时钟)、Token(令牌)轮询特性[1]。双绞线的特性使得USB天生具有抗共模干扰的能力,带供电使得它带的设备可以不需要电源,令牌轮询特性用于“交通管制”。USB是主从模式的总线,Host控制器决定它下面所有设备一切事务的发送/接收时机。全速下,Host每1ms±500μs生成一个“帧”(frame)。高速下,每125us±0.0625μs生成一个转载 2021-04-02 18:11:47 · 4652 阅读 · 0 评论 -
UAC1.0和UAC2.0区别
传统3.5mm模拟耳机逐步被USB数字耳机代替。采用USB协议进行音频播放使用USB Audio Class协议(简称UAC).UAC2.0由于支持USB High Speed,从而天生带有高带宽、低延时的优势。这些优势转化为对于Hi-Resolution Auido的支持。UAC1.0最高只支持到双声道192Khz 16b的音源:(2 x 192 x 16) / 1024 = 6Mb = 6Mb/8 = 0.75MBUAC2.0可以最高支持15声道384Khz 32b的音源:(15 x 384K x转载 2021-04-02 17:46:53 · 8839 阅读 · 1 评论 -
rk音频驱动分析之tinyplay播放
转自:https://www.cnblogs.com/wen123456/p/14042749.html#top一.tinyplay播放操作命令:tinyplay /sdcard/test.wavTinyplay.c (external\tinyalsa) file = fopen(filename, "rb");//对应的音频文件 fread(&riff_wave_header, sizeof(riff_wave_header), 1, file);//...转载 2021-02-19 15:03:59 · 3271 阅读 · 0 评论 -
Linux USB 3.0驱动分析—UAC驱动分析
因为项目里面有USB音频外设,所以需要分析一下UAC驱动。USB Audio Class,USB音频类,一个像USB这样的通用数据接口,可以有很多种实现数字音频数据传输的方式。不同的开发者可以根据自己的喜好和需求,定义任意的控制方式,传输模式,音频格式等等参数。一.UAC驱动初始化分析代码路径:sound\usb\card.c我们先来看看初始化部分,主要是初始化usb_audio_driver结构体static const struct usb_device_...转载 2021-02-18 17:34:40 · 3097 阅读 · 0 评论 -
tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)使用介绍
目前linux中主流的音频体系结构是ALSA(Advanced Linux Sound Architecture),ALSA在内核驱动层提供了alsa-driver,在应用层提供了alsa-lib,应用程序只需要调用alsa-lib提供的API就可以完成对底层硬件的操作。但是Android中没有使用标准的ALSA,而是一个ALSA的简化版叫做tinyalsa。Android中使用tinyalsa控制管理所有模式的音频通路,我们也可以使用tinyalsa提供的工具进行查看、调试。编译tinyal...原创 2021-01-22 14:20:43 · 9161 阅读 · 0 评论 -
关于播放模式的选择
转自:https://www.cnblogs.com/wulizhi/p/8183658.html感谢博主!2018-01-03 14:36wulizhi 阅读(2981)一。 简介:我们知道,在Android Audio框架中,主要有四种播放模式: Deep buffer Playback, Low latency Playback, Offload playback和Mutichannel Playback。Deep buffer Playback:音频文件是在AP侧解码成P...转载 2021-01-13 15:21:04 · 2251 阅读 · 0 评论 -
Qualcomm Audio HAL 音频通路设置
转自:https://blog.csdn.net/azloong/article/details/79383323感谢博主!sepnic2018-02-27 04:54:391. 音频框图概述| Front End PCMs | SoC DSP | Back End DAIs | Audio devices | *************PCM0 <------------> * * <----...转载 2021-01-13 15:10:15 · 1280 阅读 · 0 评论 -
Android智能手机上的音频浅析及各种音频场景下的audio data path
转自:https://www.cnblogs.com/talkaudiodev/p/8858470.html上一篇文章(Android智能手机上的音频浅析)说本篇将详细讲解Android智能手机中各种音频场景下的音频数据流向,现在我们就开始。智能手机中音频的主要场景有音频播放、音频录制、语音通信等。不同场景下的音频数据流向有很大差异,即使是同一场景,在不同的模式下音频数据流向也有所不同。1,音频播放Android系统audio框架中主要有三种播放模式:low latency playback、.转载 2021-01-13 11:53:53 · 906 阅读 · 1 评论 -
Linux ALSA声卡驱动之八:ASoC架构中的Platform
DroidPhone2012-03-13 14:56:491. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_platform_driver和snd_soc_dai...转载 2021-01-08 20:36:46 · 602 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建
DroidPhone2011-05-10 19:41:00声明:本博内容由http://blog.csdn.net/droidphone原创。感谢博主!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。ALSA已经为AC97定义了完整的控制接...转载 2021-01-08 18:05:22 · 409 阅读 · 1 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建
DroidPhone2011-04-07 21:18:00声明:本博内容由http://blog.csdn.net/droidphone原创 。感谢原创作者!1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定..转载 2021-01-08 17:00:03 · 364 阅读 · 1 评论 -
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
整理自: https://blog.csdn.net/DroidPhone/article/details/7165482 https://www.cnblogs.com/blogs-of-lxl/p/6538769.html1. ASoC--ALSA System on Chip: 建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性:...原创 2021-01-07 13:49:06 · 1024 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建
转自:https://blog.csdn.net/DroidPhone/article/details/62897121.1. structsnd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。1.2. snd_card的定义structsnd_card{structlist_headdevi...转载 2021-01-06 20:36:21 · 616 阅读 · 0 评论 -
Linux ALSA声卡驱动之六:ASoC架构中的Machine
转自:https://blog.csdn.net/droidphone/article/details/7231605 前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必...转载 2021-01-05 20:02:04 · 317 阅读 · 1 评论 -
alsa 驱动介绍及user层到hw层文件ioctl操作流程分析
您当前位置:首页 > php开源 > 综合技术 > alsa 驱动介绍alsa 驱动介绍来源:程序员人生 发布时间:2016-07-02 13:40:22 阅读次数:6838次Machine以装配有CS4270的1款android 智能电视为例/sound/soc/samsung/exynos.cPlatform以Samsung cpu exynos4412为例/sound/soc/samsung/Codec以wolf...转载 2020-12-30 14:51:52 · 1776 阅读 · 0 评论 -
Linux ALSA声卡驱动之七:ASoC架构中的Codec
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号 对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号 对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的 对音频信号做出相应的处理,例如音量控制,功率放大,EQ控制等等ASoC对Codec的这些功能都定义好了一些列相应的接口,以方便地对C..转载 2020-12-29 14:02:10 · 247 阅读 · 0 评论 -
Linux ALSA 系统架构及声卡注册文件操作
ALSA 是Linux声卡驱动的架构,下面基于linux-2.6.32描述下ALSA系统架构。ALSA系统可以分为alsa-lib、alsa- driver,而alsa-driver又分为core层和底层硬件层。作为开发者,我们只需移植底层硬件层,根据自己硬件特性,实现底层的移植。而 core层基本属于ALSA标准框架,不需要自己实现。介绍ALSA框架,下面是大体框架图。 如上图所示,alsa驱动最终会被上层应用调用,这是通过alsa-lib实现的,alsa-lib为...转载 2020-12-26 18:47:31 · 459 阅读 · 0 评论 -
Linux ALSA声卡驱动之一:ALSA架构简介
(1)ALSA简介(1)NativeALSAApplication:tinyplay/tinycap/tinymix,这些用户程序直接调用alsa用户库接口来实现放音、录音、控制ALSALibraryAPI:alsa用户库接口,常见有tinyalsa、alsa-libALSACORE:alsa核心层,向上提供逻辑设备(PCM/CTL/MIDI/TIMER/…)系统调用,向下驱动硬件设备(Machine/I2S/DMA/CODEC)ASoCCORE:asoc是建立在标...原创 2020-12-25 18:40:07 · 1661 阅读 · 0 评论 -
video call BT audio音频流程
Platform: SDM429 msm8937 android8.1Usecase : video call本篇日志重在结合log分析 BT蓝牙耳机模式下, video call音频流程。 本项目在configs/msm8937/msm8937.mk关闭了video call的vendor.voice.path.for.pcm.voip宏音频通路。所以VOIP通路走的本地录音和本地播放的path。adb 获取的BT 模式下video call log如下:...原创 2020-11-09 21:09:25 · 2694 阅读 · 0 评论 -
DPCM.txt
xref: /txgon/kernel/msm-4.9/Documentation/sound/alsa/soc/DPCM.txtDynamic PCM2 ===========3 4 1. Description5 ==============6 7 Dynamic PCM allows an ALSA PCM device to digitally route its PCM audio to8 various digital endpoints during the PCM stre.原创 2020-08-29 14:00:56 · 183 阅读 · 0 评论 -
音频通路相关-Kcontrol
kcontrol的创建和注册和调用流程步骤1:创建过程通过如下等宏来初始化一个 snd_kcontrol_new 结构的实例SOC_DOUBLE_R_TLV/SOC_ENUM/SOC_SINGLE/SOC_SINGLE_TLV......步骤2:注册过程调用 snd_soc_add_codec_controls,该函数首先通过 snd_soc_cnew 函数将这些来自snd_kcontrol_new的成员组织到新分配的snd_kcontrol结构体成员中,然后调用snd_ctl_add 函数,将.转载 2021-01-08 18:23:56 · 451 阅读 · 0 评论 -
I2S详解
工作中需要用到I2S通信协议,对协议中设计的BCLK, MCLK之间的关系不熟悉。 所以查找各种资料系统学习一下。I2S是音频数据传输格式。对模拟信号数字化需要经过采样和量化两个阶段:1) 采样: 就是间隔一定的时间对模拟信号做一个取样。比如间隔0.001秒(s)采一个样,这样采样频率(Fs)就是: Fs= 1/0.001=1Khz.要多大采样率才可以还原一个模拟信号,这涉及到数字信号处理原理(奈奎斯特定理)。采样频率 Fs 大于信号中最高频率fmax的2倍时...原创 2020-07-29 15:22:09 · 9054 阅读 · 1 评论 -
音频属性详解
【音频】指人耳可以听到的声音频率在20HZ~20kHz之间的声波,称为音频。【采样频率】即取样频率, 指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来。22050 的采样频率是常用的, 44100已是CD音质, 超过48000或96000的采样对人耳已经没有意义。这和电影的每秒 24 帧图片的道理差不多。如果是双声道(stereo), 采样就是双份的, 文件也差不多要大一倍.【转载 2020-07-12 18:16:09 · 470 阅读 · 0 评论 -
音频采集参数说明
一、音频 指人耳可以听到的声音频率在20Hz~20kHz之间的声波。 如果在计算机加上相应的音频卡—就是我们经常说的声卡,我们可以把所有的声音录制下来,声音的声学特性如音的高低等都可以用计算机硬盘文件的方式储存下来。反过来,我们也可以把储存下来的音频文件用一定的音频程序播放,还原以前录下的声音。二、采样频率 指每秒钟取得声音样本的次数。声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。波是无限光滑的,弦线可以看成由无数点...转载 2020-06-29 16:41:20 · 4644 阅读 · 0 评论 -
ALSA音频底层调试工具tinypcminfo ,tinymix,tinyplay,tinycap的使用
原文链接:https://blog.csdn.net/u012899335/article/details/82421115https://blog.csdn.net/ly601579033/article/details/85112365https://blog.csdn.net/RadianceBlau/article/details/64125411https://blog....原创 2019-12-16 13:36:13 · 5937 阅读 · 3 评论 -
Android audio subsystem 框架综括概述汇总入门详解
编者注:为方便学习Android Linux audio subsystem 的朋友入门,根据个人学习audio查阅搜索期间所遇到的本领域牛人的博客汇总于此。阅读目录linux驱动 alsa模型: Android音频系统: ALSA声卡驱动中的DAPM详解:linux驱动 alsa模型:Linux ALSA声卡驱动之一:ALSA架构简介Linux ALSA声卡驱动...原创 2019-11-22 15:28:52 · 554 阅读 · 0 评论 -
【转载】高通msm8996平台的ASOC音频路径分析(基于androidN及linux3.1x)
高通msm8996平台的ASOC音频路径分析(基于androidN及linux3.1x)tags : msm8996 sound linux android目录:前言0 ASOC音频子系统模型1 关于高通平台2 音频数据流视角的音频链路2.1 音频数据流工作过程2.1.1 pcm open2.1.2 hw/sw parameter2.1.3 prepare...转载 2019-11-22 15:17:33 · 8748 阅读 · 3 评论 -
Linux ALSA 概述
1. 介绍ALSA(即Advanced Linux Sound Architecture), 是目前Linux的主流音频体系结构, 提供了音频和MIDI的支持, 其架构图如下所示TIP: 笔者的代码分析基于linux-4.14.192. 初始化系统启动中ALSA初始化过程如下alsa_sound_init() /* 注册alsa字符设备 */ register_c...原创 2019-11-21 17:41:05 · 825 阅读 · 0 评论