![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【sound】
玛丽奥ZJY
这个作者很懒,什么都没留下…
展开
-
Linux ALSA声卡驱动之一:ALSA架构简介
一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序...转载 2018-06-05 10:03:14 · 229 阅读 · 0 评论 -
Linux音频驱动-AOSC之Codec
概述ASOC的出现是为了让Codec独立于CPU,减少和CPU之间的耦合,这样同一个Codec驱动无需修改就可以适用任何一款平台。还是以下图做参考例子:在Machine中已经知道,snd_soc_dai_link结构就指明了该Machine所使用的Platform和Codec。在Codec这边通过codec_dai和Platform侧的cpu_dai相互通信,既然相互通信,就需要遵守一定的规则,其...转载 2018-06-15 22:01:43 · 809 阅读 · 0 评论 -
Linux音频驱动-ASOC之Machine
概述在ASOC小节中描述了整个ASOC的架构,其中Machine是ASOC架构中的关键部件,没有Machine部件,单独的Codec和Platform是无法工作的。因此本节则先从Machine部分开始,那应该如何开始呢? 答案当然是从代码入手,先进入ASOC在kernel中的位置: kernel/sound/soc下[cpp] view plain copyroot@test:~/test/ke...转载 2018-06-15 22:01:35 · 390 阅读 · 0 评论 -
Linux音频驱动-ASOC(ALSA System on Chip)
概述此处还需引入之前说过的话: 新事物的出现必然是为了解决旧事物中的不足。这句话在现实生活中和程序世界中道理一样。ASOC的出现就是为了解决ALSA无法解决的问题。ALSA到底存在什么问题? 以及ASOC会以怎样的方式去解决ALSA存在的问题?详细参考内核文档: kernel\documentation\sound\alsa\soc\Overview.txtALSA存在的问题:1. Code...转载 2018-06-11 11:24:26 · 277 阅读 · 0 评论 -
Linux音频驱动-PCM设备
概述1. 什么是pcm?pcm(Pulse-code modulation)脉冲编码调制,是将模拟信号转化为数字信号的一种方法。声音的转化的过程为,先对连续的模拟信号按照固定频率周期性采样,将采样到的数据按照一定的精度进行量化,量化后的信号和采样后的信号差值叫做量化误差,将量化后的数据进行最后的编码存储,最终模拟信号变化为数字信号。2. pcm的两个重要属性 a. 采样率: ...转载 2018-06-11 11:24:20 · 1380 阅读 · 0 评论 -
Linux音频驱动-Card创建
概述在上节Linux音频驱动-ALSA概述中介绍了整个ALSA的构成,接口以及函数入口的分析。本节将从声卡的创建开始,也就是card的创建。card是整个声卡的最底层结构,用于管理该声卡下的所有设备包括control, pcm,timer等。在linux系统中使用struct snd_card结构代表一个card。数据结构声卡的主要数据结构struct snd_card[cpp] view pla...转载 2018-06-11 11:24:12 · 478 阅读 · 0 评论 -
Linux音频驱动-ALSA概述
概述ALSA(Advanced Linux Sound Architecture)是linux上主流的音频结构,在没有出现ALSA架构之前,一直使用的是OSS(Open Sound System)音频架构。关于OSS的退出以及ALSA的出现,可以看 Linux音频驱动-OSS和ALSA声音系统简介及其比较。关于OSS和ALSA音频架构之间的区别图如下:主要的区别就是在OSS架构下,App访问底层是...转载 2018-06-11 11:24:06 · 455 阅读 · 0 评论 -
Linux音频驱动-IIS总线标准
介绍许多数字音频系统正被引入消费者音频市场,包括CD,磁带,数字声音处理器和数字电视声音。在这些系统中的数字音频信号需要由许许多多(Very-large-scale integration)的IC组成,处理。在音频系统中常见的IC芯片有:A/D and D/A 转化器(数模转化器)数字信号处理器数字录像,以及出错纠正器数字滤波器数字输入/输出的接口由于设备和IC制造商众多,所以需要一个统一的规范来...转载 2018-06-11 11:24:00 · 328 阅读 · 0 评论 -
Linux音频驱动-WAV文件格式分析
概述WAV文件格式是Microsoft的RIFF规范的一个子集,用于存储多媒体文件。WAV(RIFF)文件由若干个Chunk组成,分别为: RIFF WAVE Chunk,Format Chunk,Fact Chunk(可选),Data Chunk。具体格式如下:RIFF Chunk根据RIFF的格式,可以抽象出RIFF chunk的结构体:[cpp] view plain copystruct...转载 2018-06-11 11:23:54 · 783 阅读 · 0 评论 -
Linux音频驱动-声音采集过程
现实中的声音是一段连续的信号, 现在大部分的声音是以离散的数字信号保存下来,例如CD、MP3音频格式。 在保存这些信息时,考虑到对声音质量和存储的效率, 需要对声音的几个重要的基本属性进行研究。对于人类而言,声音是通过物体震动而产生的声波,通过介质传播而能够被人耳感知到的波动现象。能够被人耳朵感知到的波动频率在20到20KHz之间, 高于这个范围称为“超声波”,低于此范围称为“次声波”。一些动物感...转载 2018-06-11 11:23:49 · 1184 阅读 · 0 评论 -
Linux音频驱动-OSS和ALSA声音系统简介及其比较
概述昨天想在Ubuntu上用一下HTK工具包来绘制语音信号的频谱图和提取MFCC的结果,但由于前段时间把Ubuntu升级到13.04,系统的声卡驱动是ALSA(Advanced Linux Sound Architecture,高级Linux声音体系),而不是HTK中所使用的OSS(Open Sound System,开放声音系统)。网上查阅了大半天,按照 http://forum.ubuntu....转载 2018-06-05 11:07:36 · 676 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正...转载 2018-06-05 10:42:24 · 284 阅读 · 0 评论 -
Linux音频驱动-AOSC之Platform
概述在ASOC在Platform部分,主要是平台相关的DMA操作和音频管理。大概流程先将音频数据从内存通过DMA方式传输到CPU侧的dai接口,然后通过CPU的dai接口(通过I2S总线)将数据从达到Codec中,数据会在Codec侧会解码的操作,最终输出到耳机/音箱中。依然已下图作为参考:在platfrom侧的主要功能有: 音频数据管理,音频数据传输通过dma; 数据如何通过cpudai传入到...转载 2018-06-15 22:01:49 · 232 阅读 · 0 评论