一起玩XVF3800麦克风阵列(七)

疑问点?

在上一章节我们部署了 git 里面 vocalfusion-rpi-setup项目,我们有些稀里糊涂安装这个项目是对树梅派做了什么操作。我们可以看到 README 文件 描述如下:

1 、禁用内置音频(如果内置音频设备和外接设备同时启用,可能会发生音频输入输出的冲突。/这样可能导致设备无法正常工作)。

2、启用 I2S、I2C(100k 波特率)和 SPI 接口(启用音频I2S,上面已经禁用内部音频; I2C和SPI的通信接口打开)。

3 、更新树莓派并安装所需的软件包(音频处理:支持音频输入/输出、音频编辑和音频接口。硬件交互:确保与 XMOS 音频设备、USB 设备、I2C、SPI 等硬件接口的通信。开发和调试工具:如 numpy、matplotlib 用于数值计算、数据处理和可视化,libreadline 和 libncurses 用于增强命令行交互体验。系统配置:如 libudev 和 libevdev 用于处理设备事件和配置)。

对于 INT设备,它还将执行以下操作:

1 、安装设备树覆盖层。

2 、生成并安装特定于 XMOS 设备的 ALSA 配置。

3、创建脚本以在启动时设置 XMOS 设备(如有必要,设置 I2S、IO 扩展器、DAC 和 MCLK)。

4、生成并替换用户的 crontab,使其在启动时运行这些脚本。

总结就是:(例如带有 I2S 接口的 XMOS 设备)需要更多的硬件配置,脚本会安装设备树覆盖层、设置 ALSA 配置、配置 I2S、DAC 和时钟,并确保系统在启动时自动运行这些配置

对于 UA设备,它将执行以下操作:

添加 udev 规则 ,允许非特权用户访问 USB 接口(例如 USB 音频设备)主要涉及设置 USB 设备的访问权限,并不需要额外的硬件配置。脚本会通过 udev 规则来允许非特权用户访问 USB 接口)。

最后,设置过程将提示您重启 树莓派,这是为了确保所有接口都已启用

下载测试音频

https://standards.ieee.org/wp-content/uploads/import/download/269-2010_downloads.zip

IEEE 269-2010标准定义了一个关于声音信号 的测试规范,尤其是与音频设备的测试和校准相关。Male Mono 48 kHz 信号是该标准中一个特定的测试信号:

  • 男性单声道(Male Mono) :这是指测试信号的语音内容是由男性发出的,且是单声道而不是立体声。这意味着测试音频在整个播放过程中只有一个音频通道(其中也有女性的单声道音频)。

  • 48 kHz采样率:这是指音频信号的采样频率为48 kHz,意味着每秒钟有48,000次音频样本被采集。这在专业音频和视频领域中是一个常见的标准,特别是在视频编辑和广播中,因为它提供了比44.1 kHz更高的精度。

  • 标准化的音频测试信号:通常,类似的标准信号用于测试和校准音频设备(如麦克风、音频接口、扬声器等)的频率响应、失真、信噪比等特性。该测试信号通常是经过精确设计的,能够对设备进行全面的性能评估。

通过树莓派I2S与XVF3800开发板播放与录制音频

1、使用命令进行播放和路由

输入如下命令查看树莓派5当前的声卡设备:

复制代码
aplay -l

如上图所示,我们看到在执行git脚本的时候给我们在ALSA(Linux 内核里官方内置的音频子系统,负责所有声音的底层驱动和控制 )下构建了一个叫 XMOSDevice的音频设备。

进入测试解压后的音频文件夹 269-2010_downloads 目录,执行如下命令

复制代码
aplay -c 2 -f S32_LE -r 48000 -D default IEEE_269-2010_Female_Compressed_mono_48_kHz.wav

**有音频从喇叭输出了!!**这里直接用 default设备即可,测试的时候使用hw指定好像有问题,这里分析下为什么defalut设备就是XMOS的播放和录制:在Home目录下执行如下命令

复制代码
cat ~/.asoundrc

可以看到之前执行脚本的时候已经指定了默认的播放和路由设备为XMOS的I2S设备!

输入如下命令可以进行录音,其中10为录音时间10秒,最后test.wav为音频保存的名称,实测是可以录音的。

复制代码
arecord --mmap -c 2 -d 10 -f S32_LE -r 48000 -D default test.wav

2、使用Audacity进行播放和录音

在树梅派5的 菜单 -> Sound & Video -> Audacity 打开软件。

播放设备选择XMOS

录音设备也选择XMOS

录音通道我们这里选择单通道即可

配置好以后我们可以打开音频文件进行播放,如图所示我们打开标准测试音频并且进行播放

点击播放

如图所示想要路由则打开一个新的工程,点击如图所示开始路由,说话的时候是有波形的

相关推荐
NAGNIP2 分钟前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab1 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab1 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP5 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年5 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼5 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS5 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区7 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈7 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang7 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx