news 2026/8/16 3:01:56

ALSA插件实用知识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ALSA插件实用知识

在 ALSA(Advanced Linux Sound Architecture)中,card 和 device 是音频硬件的两个核心概念,用于标识系统中的声卡及其内部的子设备。

  1. card(声卡)

card 表示一块声卡的逻辑实体,可以是物理声卡,也可以是虚拟声卡(如 Loopback)。
每块声卡都有一个 card number(卡号),通常从 0 开始。
一块 card 下面可以有多个独立的音频接口。
你可以通过命令查看系统中的 card:

cat/proc/asound/cards

示例输出可能是:

0[PCH]: HDA-Intel - HDA Intel PCH1[Loopback]: Loopback - Loopback

device(设备)

device 是 card 下的子设备,代表具体的音频通道或接口,例如播放设备(PCM playback)或录音设备(PCM capture)。
每个 device 也有自己的编号,从 0 开始。
一块声卡下可能存在多个设备,例如:
device 0:主 PCM 设备
device 1:次要 PCM 设备
device 2:MIDI 接口等
查看设备:

cat/proc/asound/devices

card 与 device 的组合使用
在 ALSA 的配置或程序(如 aplay, arecord)中,可以用 hw:card,device 指定音频接口。

示例:

使用 card0的 device0播放: aplay -D hw:0,0 test.wav 使用 card1的 device0录音: arecord -D hw:1,0 -fcdtest.wav

使用 aplay(查看播放设备列表)

运行:

aplay -l

你会看到类似:

card2: Device[USB Audio], device0: USB Audio[USB Audio]

这里的地址就是 hw:2,0。

. 使用 arecord(查看录音设备列表)

arecord -l

显示录音相关的设备,同样以 card X, device Y 的格式呈现。

使用 aplay -L 查看所有 ALSA 插件地址(包括 hw、plughw、dmix 等)

复制
aplay -L
会列出比如:

hw:C2D0 plughw:2,0 dmix:CARD=2,DEV=0

查看系统真实设备文件(底层信息)

cat/proc/asound/cardscat/proc/asound/devices

使用 amixer 查看设备的控制接口

amixer -c2

查询指定声卡(例如 card2)的信息。

一、 ALSA 插件

ALSA 插件就是 ALSA 的软件层接口,用于在设备与应用之间完成各种功能,我们可以把插件理解成滤波器(filter)。比如:

格式转换(采样率、位深、通道数)
重采样
将多个程序的声音混到一起
将音频路由到指定设备
抽象出虚拟声卡
节省应用程序的复杂度

插件是通过 .asoundrc 或 /etc/asound.conf 中的配置实现的。

二、常见 ALSA 插件介绍

hw 插件
直接访问硬件设备

例:hw:2,0

特点:

不做任何格式转换
要求应用完全满足硬件参数(音频参数)
最底层、最快
应用要符合声卡的格式,否则无法打开。

plughw 插件
包装 hw 的插件版,可自动转换格式

例:plughw:2,0

特点:

自动处理采样率、通道数、位深
更灵活,但性能稍低于 hw
应用不需要自己处理格式转换

dmix 插件
最常用:软件混音插件

例:dmix:CARD=2,DEV=0

特点:

多进程可以同时播放(混音)
不占用整个声卡
桌面系统常用,如果声卡不支持硬件混音,这是必须的

softvol 插件
软件音量控制,当声卡本身没有音量调节时使用。

例:加一个虚拟音量控制器。

route 插件
改变声道的映射。比如单声道复制成左右声道。

9plug 插件
自动选择格式转换插件的“万能包装器”。

例:

plug:hw:0,0
等同于 plug 转换 + hw 输出。

file 插件
把音频输出到文件,而不是声卡。

null 插件
丢弃所有音频数据,就像 /dev/null。

自定义 plug + dmix 使用 hw:2,0

pcm.mydevice{typeplug slave.pcm{typedmix ipc_key1024slave{pcm"hw:2,0"rate48000}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 10:25:42

列表渲染(v-for)

1.用of替代in2.直接使用范围值3.template4.通过key管理状态Vue 默认按照“就地更新”的策略来更新通过 v-for 渲染的元素列表。当数据项的顺序改变时,Vue 不会随之移动 DOM 元素的顺序,而是就地更新每个元素,确保它们在原本指定的索引位置上渲…

作者头像 李华
网站建设 2026/8/14 21:35:43

扭蛋机小程序:线上扭蛋机模式发展新形势[特殊字符]

扭蛋机小程序:线上扭蛋机模式发展新形势💰随着互联网的发展,扭蛋机在线上也迎来了发展机遇,扭蛋机与互联网进行融合,通过线上扭蛋机小程序让消费者在手机上进行扭蛋,为消费者带来全新的线上体验。&#x1f…

作者头像 李华
网站建设 2026/8/13 18:22:38

49、Bash编程:模式匹配、命令操作与示例代码详解

Bash编程:模式匹配、命令操作与示例代码详解 1. extglob扩展模式匹配运算符 在使用 shopt -s extglob 时,以下运算符会生效。匹配默认区分大小写,但可以使用 shopt -s nocasematch (bash 3.1+)来改变这一特性,该选项会影响 case 和 [[ 命令。 分组 含义 @( …

作者头像 李华
网站建设 2026/8/15 23:04:02

2、深入探索Bash编程:从基础到实用技巧

深入探索Bash编程:从基础到实用技巧 代码获取与结构 代码可从网站(http://www.bashcookbook.com )下载,下载格式为 .tgz 或 .zip 。代码文件通常位于类似 ./chXX/snippet_name 的路径下,其中 chXX 代表章节, snippet_name 是文件名。 “无用的cat使用”探讨…

作者头像 李华
网站建设 2026/8/14 19:47:05

40、计算机日常维护与管理任务实用指南

计算机日常维护与管理任务实用指南 在计算机使用和管理过程中,我们常常会遇到各种任务和问题。本文将为大家介绍一些常见问题的解决方案,涵盖文件重命名、文档查看、文件解压、会话恢复、会话共享、日志记录以及屏幕清理等方面。 1. 批量重命名文件 在实际操作中,我们可能…

作者头像 李华
网站建设 2026/8/13 15:13:23

Kotaemon重排序模型(Re-Ranker)集成教程

Kotaemon重排序模型集成深度指南 在构建企业级智能问答系统时,一个常见的痛点是:即便使用了强大的大语言模型(LLM),系统仍可能给出看似合理却与实际政策或知识不符的回答。这种“幻觉”问题在金融、医疗、人力资源等高…

作者头像 李华