0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >消费电子 > 基于树莓派的音频频谱图可视化设备

基于树莓派的音频频谱图可视化设备

来源: 电路城
2021-09-28
类别:消费电子
eye 9
文章创建人 拍明

原标题:基于树莓派的音频频谱图可视化设备

cirmall

cirmall

cirmall

cirmall

cirmall


  使用 Raspberry Pi Pico、数字麦克风和 LCD 显示器创建实时音频频谱图可视化器。

  本项目将介绍如何使用带有外部数字麦克风和 TFT LCD 显示屏的Raspberry Pi Pico板创建实时音频频谱图可视化器。它将让您看到周围音频环境的实时视觉表现。

  什么是音频频谱图?

  音频频谱图用于将随时间的幅度表示的音频信号可视化为显示信号中包含的频率如何随时间变化的格式。

  在下图中,左侧显示原始音频信号,右侧显示音频信号的音频频谱图。

  您可以通过频谱图中的颜色强度看到音频信号的幅度与该信号中相关频率之间的直接相关性。

  频谱图还使用基于机器学习 (ML) 的音频系统,将音频信号转换为频谱图,以便计算机视觉技术可用于对音频信号的二维“图像表示”进行分类。现实世界的例子包括音频或语音识别,以及关键字识别。

  渲染流水线

  要创建频谱图并将其实时显示在 LCD 显示屏上,需要执行以下步骤:

  1. 从数字麦克风中收集 N 个音频样本。

  2. 对收集的音频样本应用汉宁窗。

  3. 使用上一步的输入运行真正的快速傅立叶变换 (RFFT)。

  4. 计算 RFFT 的幅度。

  5. 将每个 RFFT 幅度映射到一个颜色值以显示在 LCD 显示屏上。

  6. 在 LCD 上显示新行。

  7. 滚动到新行并重复。

  如果我们选择 256 的 RFFT 大小,我们将有 128 个可用幅度输出显示在屏幕上,因为这小于显示器每行的 240 个像素,我们可以每行显示两次以最大化视觉空间显示器。

  为了获得更快的视觉响应时间,我们可以一次从麦克风中收集 64 个新的音频样本(而不是等待 256 个新的样本),并将它们与之前每个周期的最新 192 (= 256 - 64) 个样本结合起来。采样率为 16 kHz,我们将有 64 / 16, 000 秒来执行所有计算并更新显示。这导致每次迭代 4 毫秒。

  我们将使用Pico 麦克风库从数字麦克风中捕获数据。Arm 的 CMSIS-DSP 库将用于实时处理音频数据。CMSIS-DSP 针对Arm Cortex-M 处理器进行了优化,包括Arm Cortex-M0+ ,Raspberry Pi Pico 的 RP2040 微控制器 (MCU) 就是基于该处理器。在ST7789库微微将被用于驱动TFT ST7789显示器的输出。

  硬件设置

  将公头焊接到您的 Raspberry Pi Pico 板上、Adafruit PDM MEMS 麦克风分线板和2" 320x240 彩色 IPS TFT 显示器和 microSD 卡分线板,以便它们可以插入面包板。请参阅 MagPi 的“如何焊接 GPIO引脚接头到 Raspberry Pi Pico”指南,了解有关将引脚接头焊接到 Raspberry Pi Pico 板的更多详细信息。

  焊接完两个部件后,将它们放在面包板上并按如下方式设置接线:

表格形式的接线设置:

之后你的面包板应该是这样的:

搭建 Pico SDK 开发环境

  您首先需要使用 Raspberry Pi 的 Pico SDK 和所需的工具链设置您的计算机。

  有关详细信息,请参阅“ Raspberry Pi Pico 入门” 。

  获取和编译 pico-audio-spectrogram 应用程序

  确保PICO_SDK环境变量已设置。

在终端窗口中,克隆 git 存储库并更改目录:

创建一个构建目录并将目录更改为它:

运行cmake和make进行编译:

  按住板上的BOOTSEL按钮,同时使用 USB 电缆将板插入计算机。

  将audio_spectrogram.uf2文件复制到挂载的 Raspberry Pi Pico 启动 ROM 磁盘:

测试一下

  您现在可以尝试各种声音,包括说出不同的单词,以查看它们在频谱图上的实时外观。

  以下是在显示屏上说出“是”一词的示例:

同样,这就是说“不”这个词在显示屏上的样子:

  可以在下面找到“ESC-50:环境声音分类数据集”中各种声音的示例:

结论

  本方案介绍了如何使用带有外部数字麦克风和 TFT LCD 的 Raspberry Pi Pico 板来创建实时音频频谱图可视化器。该项目使用Microphone Library for Pico从麦克风一次捕获 64 个音频样本,然后使用Arm 的 CMSIS-DSP 库将音频样本转换为频谱图,然后使用Pico的ST7789 库。



责任编辑:

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 音频频谱图

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案