一起玩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

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

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

点击播放

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

相关推荐
郭庆汝2 小时前
json库保存字典数据到本地
人工智能·深度学习·json
IvorySQL2 小时前
PostgreSQL 19:超高速聚合的全新突破
数据库·人工智能·postgresql·开源
LeonIter2 小时前
国家按产业占比分类,我国纳入哪类?
大数据·人工智能
timer_0172 小时前
Mistral AI 发布第二代开源编码模型:Devstral2 和 Devstral Small2
人工智能·开源
霖大侠3 小时前
VISION TRANSFORMER ADAPTER FOR DENSE PREDICTIONS
人工智能·深度学习·transformer
青稞社区.3 小时前
VLA 的强化学习后训练框架π_RL详解
人工智能
凌盛羽3 小时前
在STM32G030xx的HAL库中使用DMA采集ADC多通达数据并开启DMA开启全满和半满中断
数据结构·stm32·单片机·嵌入式硬件·链表·嵌入式实时数据库
CNRio3 小时前
数字经济健康发展的双维路径:技术伦理与产业价值的重构
大数据·人工智能·重构
Hello娃的3 小时前
【神经网络】反向传播BP算法
人工智能·神经网络·算法