高级linux声卡架构ALSA概述及特点

音视频及家电

724人已加入

描述

ALSA 介绍

ALSA 概述

ALSA(Advanced Linux Sound Architecture )是高级 linux 声卡架构简称,是目前Linux的主流音频体系结构, 提供了音频和MIDI的支持。

除了声音设备驱动,ALSA还捆绑了一个用户空间驱动的库用于应用开发。开发者可以使用这些 ALSA 驱动进行高级 API 开发,可以通过 ALSA 库达成与声音设备的内核(直接)交互。

ALSA 特点如下:

高效的支持所有类型音频接口,从消费类声卡到专业多声道音频接口;

完全模块化的声卡驱动;

用户空间库 (alsa-lib) 可简化应用程序编程并提供更高级别的功能;

支持较旧的开放声音系统 (OSS) API,为大多数 OSS 程序提供二进制兼容性;

更好的支持USB 音频设备;

支持蓝牙音频设备;

支持AC'97和HD Audio dial-up soft-modems (比如Si3055);

对MIDI支持得更好;

支持suspend;

ALSA 架构

alsa

最上层是音频应用和声卡服务;

ALSA Library:alsa 提高用户空间访问声卡设备标准api

ALSA Layer:ALSA 驱动层。ALSA 又可以抽象为ASoc 层。

ASoc Layer:和具体平台相关。主要包括音频接口和控制接口两大类(可以简单理解为音频数据流和控制,其他控制也包含对电压管理的支持(DAPM))

我们可以看到,对于整个 linux 系统来说,整个通用框架基本一致,为了兼容不同的硬件平台,ASoC 就出来了,ASoc 就是就是对ALSA 底层的硬件封装。

对于不同的芯片平台需要去适配ASoc 驱动框架,对于音频工程师而言大部分情况只需要移植音频驱动即可,也就是Codec Driver。

简化一下:对于ASoC 里面的各个模块。我们后续在讨论。

alsa

总结

本文简单介绍了,ALSA 驱动通用架构,以及ALSA 驱动特点,对于ALSA 驱动只是冰山一角,后续将继续深入学习。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分