一份白皮书
高层结束view 音频
Raspberry Pi SBC 上的选项
树莓派有限公司
版权页
© 2022-2025 Raspberry Pi 有限公司
本文档根据知识共享署名-禁止演绎 4.0 国际 (CC BY-ND) 许可。
版本 1.0
建造日期:2025年05月28日
法律免责声明
不时修改的 RASPBERRY PI 产品(包括数据表)的技术和可靠性数据(“资源”)由 RASPBERRY PI LTD(“RPL”)“按原样”提供,以及任何明示或暗示的保证,包括但不限于TO,不提供针对特定用途的适销性和适用性的默示保证。 在适用法律允许的最大范围内,在任何情况下,RPL 均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于替代商品或服务的采购;使用损失、数据, 或利润; 或业务中断),无论是基于合同、严格责任或侵权行为(包括疏忽或其他)以任何方式因使用资源而引起的任何责任理论,即使已被告知这种可能性此类损坏。
RPL 保留随时对资源或其中描述的任何产品进行任何增强、改进、更正或任何其他修改的权利,无需另行通知。
本资源面向具有适当设计知识水平的熟练用户。用户自行负责选择和使用本资源以及其中描述的任何产品的应用。用户同意赔偿并免除 RPL 因使用本资源而产生的所有责任、费用、损害或其他损失。RPL 仅允许用户将本资源与 Raspberry Pi 产品结合使用。禁止将本资源用于其他任何用途。RPL 未授予任何其他 RPL 或其他第三方知识产权的许可。
高风险活动。Raspberry Pi 产品并非设计、制造或预期用于需要故障安全性能的危险环境,例如核设施、飞机导航或通信系统、空中交通管制、武器系统或安全关键应用(包括生命支持系统和其他医疗设备)的运行,在这些环境中,产品故障可能直接导致死亡、人身伤害或严重的物理或环境损害(“高风险活动”)。RPL 明确否认任何明示或暗示的高风险活动适用性保证,并且对于在高风险活动中使用或包含 Raspberry Pi 产品不承担任何责任。Raspberry Pi 产品的提供受 RPL 的 标准条款。RPL 提供的资源不会扩大或以其他方式修改 RPL 的 标准条款 包括但不限于其中表达的免责声明和保证。
文档版本历史
| 发布 | 日期 | 描述 |
| 1 | 1 年 25 月 XNUMX 日 | 初始版本 |
文件范围
本文档适用于以下树莓派产品:
| PI 0 | PI 1 | 树莓派 2 | 树莓派 3 | 树莓派 4 | 树莓派 400 | 树莓派 5 | 树莓派 500 | CM1 | CM3 | CM4 | CM5 | 微微 | Pico2 | ||||
| 0 | W | H | A | B | A | B | B | 全部 | 全部 | 全部 | 全部 | 全部 | 全部 | 全部 | 全部 | 全部 | 全部 |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
介绍
多年来,Raspberry Pi SBC(单板计算机)上可用的音频输出选项变得越来越多,并且它们通过软件驱动的方式也发生了变化。
本文档将介绍 Raspberry Pi 设备上音频输出的许多可用选项,并提供有关如何从桌面和命令行使用音频选项的说明。
本白皮书假设 Raspberry Pi 设备运行 Raspberry Pi OS,并且完全更新了最新的固件和内核。
Raspberry Pi 音频硬件
HDMI
所有 Raspberry Pi SBC 都配有支持 HDMI 音频的 HDMI 接口。将 Raspberry Pi SBC 连接到带扬声器的显示器或电视机后,HDMI 音频将自动通过这些扬声器输出。HDMI 音频是高质量的数字信号,因此输出效果非常出色,并且支持 DTS 等多声道音频。
如果您正在使用 HDMI 视频,但希望分离音频信号 — 例如ample,到一个 amp如果您的音频转换器不支持 HDMI 输入,那么您将需要使用一个称为分离器的额外硬件来从 HDMI 信号中提取音频信号。这可能比较昂贵,但还有其他选择,如下所述。
模拟 PCM/3.5 毫米插孔
Raspberry Pi B+、2、3 和 4 型号配备 4 极 3.5 毫米音频插孔,可支持音频和复合视频信号。这是由 PCM(脉冲编码调制)信号生成的低质量模拟输出,但仍适用于耳机和桌面扬声器。
笔记
Raspberry Pi 5 上没有模拟音频输出。
下表定义了插头信号,从电缆末端开始,到尖端结束。不同的电缆有不同的分配方式,因此请确保您选择正确的电缆。
| 杰克段 | 信号 |
| 袖子 | 视频 |
| 环 2 | 地面 |
| 环 1 | 正确的 |
| 提示 | 左边 |
基于 I2S 的适配器板
所有型号的 Raspberry Pi SBC 均在 GPIO 接口上配备 I2S 外设。I2S 是一种电气串行总线接口标准,用于连接数字音频设备并在电子设备的外设之间传输 PCM 音频数据。Raspberry Pi Ltd 生产一系列音频板,这些音频板可连接到 GPIO 接口,并使用 I2S 接口将音频数据从 SoC(片上系统)传输到扩展板。
笔记: 通过 GPIO 接口连接并符合相应规范的扩展板被称为 HAT(Hardware Attached on Top)。其规格如下: https://datasheets.raspberrypi.com/
Raspberry Pi Ltd 上可以看到全系列的音频 HAT web地点: https://www.raspberrypi.com/products/
还有大量第三方 HAT 可用于音频输出,例如amp来自 Pimoroni、HiFiBerry、Adafruit 等,它们提供了多种不同的功能。
USB 音频
如果您无法安装 HAT,或者正在寻找一种快速简便的方法来连接耳机输出或麦克风输入的插头,那么 USB 音频适配器是一个不错的选择。这些设备简单、便宜,可以插入 Raspberry Pi SBC 上的 USB-A 端口之一。
Raspberry Pi OS 默认包含 USB 音频驱动程序;一旦插入设备,它就会显示在右键单击任务栏上的扬声器图标时出现的设备菜单上。
系统还将自动检测所连接的 USB 设备是否有麦克风输入并启用适当的支持。
蓝牙
蓝牙音频是指通过蓝牙技术无线传输声音数据,该技术应用非常广泛。它使 Raspberry Pi SBC 能够与蓝牙扬声器、耳机/耳塞,或任何其他支持蓝牙的音频设备进行通信。其范围相当短,最大约 10 米。
蓝牙设备需要与 Raspberry Pi SBC 进行“配对”,配对完成后,蓝牙设备将显示在桌面的音频设置中。Raspberry Pi OS 默认安装蓝牙,任何安装了蓝牙硬件(内置或通过蓝牙 USB 适配器安装)的设备都会在桌面任务栏上显示蓝牙徽标。启用蓝牙后,图标显示为蓝色;禁用蓝牙后,图标显示为灰色。
软件支持
在完整的 Raspberry Pi OS 镜像中,底层音频支持软件发生了很大变化,而对于最终用户来说,这些变化几乎是透明的。最初使用的声音子系统是 ALSA。Pulse Audio 继承了 ALSA,后来被当前的系统 Pipe Wire 取代。该系统具有与 Pulse Audio 相同的功能和兼容的 API,但它还提供了处理视频和其他功能的扩展,使视频和音频的集成更加容易。由于 Pipe Wire 使用与 Pulse Audio 相同的 API,因此 Pulse Audio 实用程序可以在 Pipe Wire 系统上正常运行。
这些实用程序用于amp请参阅下文。
为了减小镜像大小,Raspberry Pi OS Lite 仍然使用 ALSA 提供音频支持,并且不包含任何 Pipe Wire、Pulse Audio 或蓝牙音频库。但是,您可以根据需要安装相应的库来添加这些功能,此过程也将在下文中介绍。
桌面
如上所述,音频操作是通过桌面任务栏上的扬声器图标进行的。左键单击该图标会调出音量滑块和静音按钮,右键单击则会调出可用音频设备列表。只需单击要使用的音频设备即可。右键单击还可以选择更改音频设备。file每个设备使用的。这些专业file通常提供不同的质量水平。
如果启用了麦克风支持,菜单上将出现一个麦克风图标;右键单击该图标将显示麦克风特定的菜单选项,例如输入设备选择,而左键单击将显示输入级别设置。
蓝牙
要配对蓝牙设备,请左键点击任务栏上的蓝牙图标,然后选择“添加设备”。系统将开始查找可用设备,这些设备需要进入“发现”模式才能显示。当设备出现在列表中时,点击该设备,设备就会配对。配对完成后,音频设备将出现在菜单中,点击任务栏上的扬声器图标即可选择该菜单。
命令行
由于 Pipe Wire 使用与 Pulse Audio 相同的 API,因此用于控制音频的大多数 Pulse Audio 命令都在 Pipe Wire 上工作。pacts 是控制 Pulse Audio 的标准方式:在命令行中输入 man pactl 以了解更多详细信息。
Raspberry Pi OS Lite 的先决条件
在完整安装的 Raspberry Pi OS 中,所有必需的命令行应用程序和库都已安装。然而,在 Lite 版本中,Pipe Wire 并未默认安装,必须手动安装才能播放声音。
要在 Raspberry Pi OS Lite 上安装 Pipe Wire 所需的库,请输入以下内容:sudo apt install pipewire pipewire-pulse pipewire-audio pulseaudio-utils 如果您打算运行使用 ALSA 的应用程序,您还需要安装以下内容:sudo apt install pipewire-alsa
安装后重新启动是让一切正常运行的最简单方法。
音频播放示例amp莱斯
以简短形式显示已安装的 Pulse 音频模块列表(长格式包含大量信息且难以阅读):$ pactl list modules short 以简短形式显示 Pulse Audio 接收器列表:
$ pactl 列表短
在连接到带有内置音频和附加 USB 声卡的 HDMI 显示器的 Raspberry Pi 5 上,此命令提供以下输出:$ pactl list sinks short
179 alsa_output.platform-107c701400.hdmi.hdmi-stereo 管道线 s32le 2ch 48000Hz 暂停 265 alsa_output.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.analog-stereo-output 管道线 s16le 2ch 48000Hz 暂停
笔记
Raspberry Pi 5 没有模拟输出。
对于安装在 Raspberry Pi 4 上的 Raspberry Pi OS Lite — — 具有 HDMI 和模拟输出 — — 返回以下内容:$ pactl list sinks short
69 alsa_output.platform-bcm2835_audio.stereo-fallback 管道线 s16le 2ch 48000Hz 暂停
70 alsa_output.platform-107c701400.hdmi.hdmi-立体声管道线 s32le 2ch 48000Hz 悬浮
要在此 Raspberry Pi OS Lite 安装中显示并将默认接收器更改为 HDMI 音频(请注意,它可能已经是默认值),请输入:
$ pactl 获取默认接收器
alsa_output.platform-bcm2835_audio.立体声回退
$ pactl 设置默认接收器 70
$ pactl 获取默认接收器
alsa_output.platform-107c701400.hdmi.hdmi-立体声
播放ample,首先需要将其上传到ample 缓存,在本例中是默认接收器。您可以通过将其名称添加到 pactl play-s 的末尾来更改接收器。amp勒命令:
$ pactl upload-sampsample.mp3 samp文件名
$ pactl play-sampsamp文件名
有一个脉冲音频命令,可以更轻松地播放音频:
$ paplay samp乐.mp3
pactl 有一个选项可以设置播放音量。由于桌面使用 Pulse Audio 实用程序来获取和设置音频信息,因此这些命令行更改的执行也会反映在桌面上的音量滑块上。
这个前任ample 将音量降低 10%:
$ pactl 设置接收器体积 @DEFAULT_SINK@ -10%
这个前任ample 将音量设置为 50%:
$ pactl 设置接收器体积 @DEFAULT_SINK@ 50%
这里没有提到很多 Pulse Audio 命令。Pulse Audio web网站(https://www.freedesktop.org/wiki/Software/PulseAudio/) 和每个命令的手册页提供了有关系统的大量信息。
蓝牙
从命令行控制蓝牙可能是一个复杂的过程。使用 Raspberry Pi OS Lite 时,相应的命令已经安装好了。最有用的命令是 bluetoothctl,还有一些其他命令amp下面提供了它的使用情况。
使该设备可以被其他设备发现:
$ bluetoothctl 可发现
使设备与其他设备配对:
$ bluetoothctl 可配对
扫描范围内的蓝牙设备:
$ bluetoothctl 扫描
关闭扫描:
$ bluetoothctl scan off bluetoothctl 也有一个交互模式,可以通过使用不带参数的命令来调用。例如ample 在运行 Raspberry Pi OS Lite Bookworm 的 Raspberry Pi 4 上运行交互模式,输入 list 命令并显示结果:$ bluetoothctl
代理注册
[蓝牙]# 列表
控制器 D8:3A:DD:3B:00:00 Pi4Lite [默认] [蓝牙]#
现在,您可以在解释器中输入命令,它们将被执行。与设备配对并连接的典型流程如下:$ bluetoothctl
代理已注册 [蓝牙]# 可被发现
更改可发现成功
[CHG] 控制器 D8:3A:DD:3B:00:00 可在 [蓝牙]# 上发现,可在
更改配对成功
[CHG] 控制器 D8:3A:DD:3B:00:00 可配对 [蓝牙]# 扫描开启
< 可能是附近设备的一长串列表 >
[蓝牙]# 对 [设备的 mac 地址,来自扫描命令或来自设备本身,格式为 xx:xx:xx:xx:xx:xx] [蓝牙]# 扫描关闭
[蓝牙]# connect [相同的 mac 地址] 蓝牙设备现在应该出现在接收器列表中,如下例所示amp来自 Raspberry Pi OS Lite 安装的文件:
$ pactl 列表短
69 alsa_output.platform-bcm2835_audio.stereo-fallback 管道线 s16le 2ch 48000Hz 暂停
70 alsa_output.platform-107c701400.hdmi.hdmi-立体声管道线 s32le 2ch 48000Hz 悬浮
71 bluez_output.CA_3A_B2_CA_7C_55.1 管线 s32le 2ch 48000Hz 暂停
$ pactl 设置默认接收器 71
$ paplayample_audio_file>
您现在可以将其设为默认并在其上播放音频。
结论
Raspberry Pi Ltd 设备有多种不同的音频输出方式,可以满足绝大多数用户的需求。本白皮书概述了这些机制,并提供了其中许多机制的相关信息。希望本文提供的建议能够帮助最终用户为其项目选择合适的音频输出方案。简单示例amp已经提供了如何使用音频系统的文件,但读者应该查阅音频和蓝牙命令的手册和手册页以了解更多详细信息。
Raspberry Pi 是 Raspberry Pi Ltd 的商标
树莓派有限公司
文件/资源
![]() |
Raspberry Pi SBCS 单板计算机 [pdf] 用户指南 SBCS 单板计算机,SBCS,单板计算机,板卡计算机,计算机 |
