Прошивка DSPi превращает Raspberry Pi RP2040/RP2350 в USB-звуковую карту со встроенным DSP-движком

DSPi — это полнофункциональная прошивка аудио DSP для Raspberry Pi Pico, Pico 2 и других плат Raspberry Pi RP2040/RP2350, которая превращает их в USB-звуковую карту со встроенным DSP.

Она позволяет пользователям использовать такие важные инструменты, как коррекция акустики помещения, активные кроссоверы, параметрический эквалайзер, временное выравнивание и многое другое, и по сути работает как обычная звуковая карта на компьютере.

Raspberry Pi Pico configuration in DSPi Console
Raspberry Pi Pico, подключенный к АЦП PCM1808 и разъемам RCA

Возможности прошивки DSPi:

  • Двухъядерный DSP — обработка эквалайзера распределена между обоими ядрами как на RP2040, так и на RP2350.
  • USB-аудиоинтерфейс — поддерживает 16-битный и 24-битный вход PCM с частотой дискретизации 44,1, 48 и 96 кГц; работает в macOS, Windows, Linux и iOS.
  • Вход S/PDIF — 24-битный стереофонический PCM-аудиосигнал с частотой 44,1 или 48 кГц.
  • 24-битные выходы S/PDIF или I2S — до 4 независимых стереофонических выходных слотов (8 каналов на RP2350, 4 канала на RP2040).
  • Выход сабвуфера – Выделенный монофонический выходной канал PDM с высокопроизводительным дельта-сигма-модулятором второго порядка, обеспечивающий прямой выход на сабвуфер без необходимости во втором DAC.
  • Предусилитель для каждого канала – Независимая регулировка усиления для каждого входного канала USB (L/R), применяемая как первый проход конвейера DSP перед любой другой обработкой.
  • Матричный микшер – Направляет один или оба входных канала USB на любой выход с независимым усилением и инверсией фазы для каждой точки пересечения (2×9 на RP2350, 2×5 на RP2040).
  • Параметрическая эквализация – До 10 полос PEQ на канал с 11 типами фильтров (пиковый, низкочастотный/высокочастотный полочный, фильтр низких/высоких частот, режекторный, всепропускающий, а также мягкие полочные и всепропускающие варианты первого порядка). Всего 110 полос фильтров на RP2350, 70 на RP2040.
  • Активные кроссоверы – До 4 выделенных кроссоверных фильтров на выходной канал: Linkwitz-Riley, Butterworth и Bessel фильтры низких/высоких частот до 8-го порядка (48 дБ/окт) для интеграции многополосных акустических систем и сабвуфера.
  • Выравниватель громкости – Основанный на RMS, связанный по стереоканалам, восходящий компрессор с мягким коленом, который поднимает более тихий материал к целевому уровню, никогда не усиливая громкие фрагменты. Опциональное упреждение 10 мс, настраиваемая скорость и верхний предел максимального усиления, с защитным лимитером снижения усиления на уровне -6 dBFS.
  • Компенсация громкости – Зависимая от громкости эквализация на основе стандарта кривых равной громкости ISO 226:2003.
  • Кроссфид для наушников – Кроссфид на основе BS2B с межушной временной задержкой (ITD) уменьшает неестественное стереоразделение при прослушивании в наушниках.
  • Общая громкость – Верхний предел выходного уровня на стороне устройства (-128 до 0 дБ, с сигнальным значением полного отключения звука), применяемый в самом конце сигнальной цепи, независимо от громкости USB-хоста и обработки DSP.
  • Усиление и отключение звука для каждого выхода – Независимые регулировки усиления и отключения звука для каждого выходного канала.
  • Выравнивание времени – задержка по каждому выходу (до 85 мс) для согласования громкоговорителя/сабвуфера с автоматической компенсацией задержки между выходными трактами S/PDIF/I2S и PDM.
  • Настраиваемые выходные выводы – Все выходные выводы GPIO (включая I2S BCK/MCK) могут быть переназначены во время работы для соответствия пользовательским компоновкам PCB.
  • Система предустановок на 10 слотов – Сохранение, загрузка и управление до 10 полными конфигурациями DSP с именами, заданными пользователем.
  • Диагностика – Поканальная индикация пиков/клиппинга, счетчики ошибок USB PHY (CRC, bit-stuff, timeout, overflow, sequence), статистика заполнения буфера, счетчики нехватки данных DMA S/PDIF для каждого выходного слота и отчет о загрузке CPU по ядрам.
  • Обновление прошивки через USB – Команда производителя перезагружает устройство в загрузчик UF2, чтобы загрузить новую прошивку через приложение DSPi Console без физического нажатия BOOTSEL.

Реализации как на Raspberry Pi RP2040, так и на RP2350 схожи: ядра работают на частоте 307,2 МГц (в режиме разгона), частоты дискретизации 44,1 / 48 / 96 кГц, 24-битная разрядность выхода, 10 пользовательских пресетов, вход S/PDIF и так далее, но есть также некоторые заметные различия, показанные в таблице ниже.

Feature RP2040 (Pico) RP2350 (Pico 2)
Audio Processing Q28 Fixed-Point Single-Precision Float
EQ Bands 10 per channel (70 total) 10 per channel (110 total)
Total Channels 7 (2 master + 4 S/PDIF·I2S + 1 PDM) 11 (2 master + 8 S/PDIF·I2S + 1 PDM)
Output Slots 2 stereo (each S/PDIF or I2S) 4 stereo (each S/PDIF or I2S)
Math Engine Hand-optimized ARM Assembly Hardware FPU (hybrid SVF/biquad EQ)
Dual-Core EQ Yes (Core 1 processes outputs 3-4) Yes (Core 1 processes outputs 3-8)

Помимо прошивки, компания Weeb Labs также разработала GUI-приложение DSPi Console, позволяющее полностью управлять прошивкой DSPi на хостах под управлением macOS, Windows и Linux. Оно обеспечивает управление в реальном времени, управление фильтрами, настройку устройства, а также мониторинг и визуализацию.

Filter Response DSPi Console
Характеристика фильтра DSPi Console

Если предпочтительна работа в командной строке, DSPi Terminal — еще один вариант, по сути предлагающий те же возможности, что и DSPi Console.

DSPi Terminal
DSPi Terminal

Репозитории прошивки DSPi, портов DSP Console, DSPi Terminal и многого другого (порт STM32, передняя панель ESP32-S3) можно найти в учётной записи Weeb Labs на GitHub . Он также опубликовал вступительное сообщение на Audio Science Review в феврале 2026 года, и ветка всё ещё активна и популярна, в ней 121 страница, к тому же репозиторий прошивки DSPi на GitHub уже набрал 1,2 тыс. звёзд, так что проект, по-видимому, популярен в аудиосообществе. Он был разработан с помощью ИИ (Claude), но анализ кода с помощью ИИ показывает, что код имеет высокое качество для любительского ПО, хотя некоторые C-файлы выглядят довольно длинными (во многом из-за комментариев).

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments