开源库DSPi,将树莓派Pico打造成专业级的数字音频处理器,支持房间校正、响度补偿、参数均衡器等
硬汉嵌入式
2026年05月15日 00:03
收录于文集
共11篇

项目基本信息

简介

DSPi 是一款运行在 RP2040/RP2350 上的固件,将几美元的树莓派Pico变成一台功能完整的USB数字音频信号处理器(DSP),支持房间校正、有源分频、参数均衡器、时间对齐、响度补偿、耳机串音等专业音频处理功能。

项目背景与定位

传统专业级DSP音频处理器动辄数千元甚至上万元,而且配置界面复杂、生态封闭。DSPi项目的核心理念是:用不到一杯咖啡钱的硬件(~$4的RP2040/RP2350)实现专业级的数字音频处理能力

它作为USB声卡工作,电脑/手机即插即用,通过配套的DSPi Console应用程序进行所有配置——无需写代码、无需懂信号处理,图形化界面调节一切。

核心功能特性

1. 完整的音频信号处理链

DSPi 的音频信号从 USB 输入到最终输出,经过5级可配置的处理流水线:

代码块
PlainText
自动换行
复制代码
USB输入(16/24-bit PCM立体声,44.1/48/96kHz)
  │
  ▼ PASS 1:逐通道前置放大器 + USB音量控制
  │
  ▼ PASS 2:主均衡器(每通道10频段参数EQ)
  │
  ▼ PASS 2.5:音量均衡器 / RMS压缩器(可选)
  │
  ▼ PASS 3:耳机串音(BS2B) + 响度补偿(可选)
  │
  ▼ PASS 4:矩阵混音器(2输入 × 多输出路由)
  │
  ▼ PASS 5:逐输出EQ → 增益/静音 → 延迟对齐 → 主音量
  │
  ├── 输出插槽0-3 → S/PDIF光纤 或 I2S数字输出
  └── PDM输出 → 低音炮(Delta-Sigma调制)
复制成功

2. 参数均衡器(PEQ)

这是DSPi最核心的功能之一:

  • 每个通道独立 10频段EQ

  • 支持6种滤波器类型:Flat(平直)、Peaking(峰值)、Low Shelf(低频搁架)、High Shelf(高频搁架)、Low Pass(低通)、High Pass(高通)

  • RP2040版本:共70个滤波频段,采用Q28定点biquad IIR实现,手写ARM汇编优化

  • RP2350版本:共110个滤波频段,采用混合SVF/biquad架构(单精度浮点+FPU硬件加速),低频精度更优

3. 矩阵混音器 —— 灵活的音频路由

  • RP2350:2×9矩阵(2路输入 × 9路输出),每个交叉点独立控制启用/禁用、增益(-∞ ~ +12dB)、相位反转

  • RP2040:2×5矩阵(2路输入 × 5路输出)

这意味着你可以把任意输入通道的路由到任意输出通道,轻松实现复杂的分频和路由方案。

4. 有源分频支持

通过矩阵混音器+每输出独立EQ的组合,DSPi可以轻松实现:

5. 时间对齐(延迟校正)

  • 每个输出通道独立的延迟线

  • 最大 85ms延迟范围

  • 用于多扬声器系统中不同位置扬声器的声学距离补偿

6. 响度补偿

  • 基于 ISO 226:2003 等响度曲线标准

  • 音量较低时自动增强低频和高频

  • 可配置参考声压级(40-100dB)和补偿强度(0-200%)

7. 耳机串音模拟(Headphone Crossfeed)

  • 基于 BS2B(Bauer Stereo-to-Binaural) 算法 + 耳间时间延迟(ITD)

  • 3种经典预设:Default、Chu Moy、Jan Meier

  • 支持自定义参数

让耳机听感更接近音箱的立体声体验。

8. 音量均衡器(Volume Leveller)

  • RMS向上压缩器,立体声联动

  • 软拐点设计,可选10ms前瞻(lookahead)

  • 内置-6dBFS安全限制器,防止削波

9. 低音炮PDM输出

  • 2阶Delta-Sigma调制器,256倍过采样

  • TPDF抖动 + 噪声整形技术

  • 泄漏积分器直流保护

  • 仅需一个GPIO引脚 + RC低通滤波即可驱动有源低音炮

硬件平台对比

选购建议:如果只需要基本的立体声+2路分频或简单EQ,RP2040完全够用;如果需要4路以上分频或追求更高精度的EQ处理,选RP2350。

技术架构亮点

双核分工

RP2040/RP2350的双核被充分利用:

  • Core 0:USB通信、音频流管理、主DSP处理链(前置放大→主EQ→串音→响度→矩阵混音→输出插槽0-1的EQ/延迟/S/PDIF编码)、控制逻辑

  • Core 1(三种模式自动切换):

    • PDM模式:运行Delta-Sigma调制器生成低音炮位流

    • EQ Worker模式:并行处理高编号输出的EQ运算(RP2040: Out 3-4, RP2350: Out 3-8)

    • 空闲模式:不需要时自动休眠

PIO零CPU开销

利用RP2040/RP2350独有的 PIO(Programmable I/O) 单元:

  • PIO0:硬件卸载S/PDIF编码(双相标记编码BMC),完全不需要CPU参与

  • PIO1:硬件生成PDM位流(低音炮输出)

这意味着即使在进行繁重的DSP计算时,音频输出也不会产生任何抖动或 glitch。

引脚运行时可重映射

所有输出引脚(包括I2S BCK/LRCLK/MCK)都可以通过DSPi Console在运行时重新分配,无需重新烧录固件。这给硬件设计带来了极大的灵活性。

输出接口说明

S/PDIF 光纤/同轴输出

  • 24-bit数据,直接输出到GPIO引脚

  • 需要东芝 TX179 光纤发射器(几毛钱)或简单的电阻分压器即可转换为标准S/PDIF电平

  • 连接到任何支持S/PDIF输入的DAC、功放或有源音箱

I2S 数字输出

  • 标准24-bit / 32帧 左对齐格式

  • BCK/LRCLK共享,支持128×或256×主时钟(MCK)

  • 可直接连接大多数I2S DAC芯片(如PCM5122、ES9038等)

PDM 低音炮输出

  • 1-bit逻辑电平输出

  • 外接简单的RC低通滤波(电阻+电容)即可转为模拟音频信号

  • 驱动有源低音炮的线路输入

预设系统

  • 10个预设槽位,存储完整的DSP配置(所有EQ参数、混音矩阵、增益、延迟等)

  • 批量参数传输机制:一次USB传输约2.9KB即可加载完整预设

  • 可设置启动默认预设

  • 固件升级时旧版预设自动迁移

  • 每个通道可独立命名

诊断与监控

DSPi提供了全面的运行时诊断信息:

  • 峰值/削波表:实时监测各通道电平

  • 缓冲区统计:USB音频缓冲区健康状态

  • USB PHY错误报告:底层通信质量

  • CPU负载监控:双核利用率实时显示

使用方法

最简使用流程(推荐)

  1. 从GitHub Releases下载 DSPi.uf2 固件文件

  2. 按住Pico上的 BOOTSEL 按钮插入电脑

  3. 将 DSPi.uf2 拖入出现的 RPI-RP2 U盘

  4. 设备以 "Weeb Labs DSPi" 名称出现在系统中

  5. 下载并打开 DSPi Console 应用程序

  6. 开始配置你的DSP参数!

典型应用场景

场景一:桌面Hi-Fi系统

电脑USB连接Pico → S/PDIF输出到外置DAC → 功放 → 音箱

  • 利用PEQ做房间频率响应校正

  • 利用响度补偿在小音量下保持听感平衡

场景二:DIY主动分频音响

电脑/手机USB连接Pico(RP2350) → I2S输出到多路DAC → 多路功放 → 分频单元(高/中/低音)

  • 矩阵混音器实现精确分频路由

  • 每路独立EQ优化各单元频率响应

  • 延迟对齐确保各单元声学中心对齐

场景三:2.1声道系统

电脑USB连接Pico → I2S输出左右声道 + PDM输出低音炮

  • 成本极低的完整2.1解决方案

  • 低音炮通过PDM+RC滤波器直接驱动

场景四:耳机系统

电脑USB连接Pico → S/PDIF输出到便携DAC/耳放

  • BS2B耳机串音模拟改善耳机声场

  • PEQ针对特定耳机型号进行频率校正