Разместить здесь вашу рекламу


Взять и заняться цифровой обработкой сигналов — какие библиотеки стоит попробовать в деле

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В прошлый раз мы рассказали о библиотеках для аудиосинтеза на C++. Сегодня поговорим об альтернативных инструментах, которые заточены под работу с объемным звуком и подходят для коррекции акустики помещения, — библиотеках CamillaDSP и DaisySP, а также фреймворке Spatial Audio.

CamillaDSP

Это — открытая rust-библиотека, предназначенная для разработки цифровых кроссоверов и акустических фильтров. Её представил программист Хенрик Энквист, который долгое время использовал утилиту BruteFIR для обработки многоканального аудио, но устал от регулярных вылетов и ограничений — в частности, программа умела работать только с КИХ-фильтрами. Собственное решение Хенрика поддерживает цифровые биквадратные (рекурсивные) и нерекурсивные фильтры, использующие свертку в реальном времени методом БПФ. Также присутствует поддержка миксеров для передачи звука между акустическими каналами.

CamillaDSP — это кроссплатформенное решение, которое можно запустить на Windows, Linux и macOS. Пайплайн обработки звука состоит из трех потоков. Первый отвечает за захват аудио и конвертирует семплы в 64-битные файлы с плавающей точкой, второй содержит необходимые фильтры, а третий — передает информацию в буфер звуковоспроизводящего устройства (например, ALSA, PulseAudio, WASAPI или CoreAudio). Также в составе библиотеки присутствует python-скрипт, визуализирующий сформированный пайплайн.

Проект развивается всего пару лет, и в его работе встречаются баги, однако автор быстро исправляет недостатки и добавляет функциональность — обновления выходят примерно раз в месяц. Если вы хотите познакомиться с библиотекой поближе, обратите внимание на документацию. Там есть не только гайды по быстрому старту, но и рекомендации по настройке утилиты для работы на слабых устройствах.

Spatial Audio Framework

Фреймворк представили инженеры из финского университета Аалто. Изначально он предназначался для разработки алгоритмов имитации пространственного звучания, однако со временем функциональность расширили. Сегодня Spatial Audio Framework совместными усилиями развивают не только разработчики, но и специалисты в области пространственных аудиотехнологий.

Среди ключевых модулей в составе фреймворка можно выделить функции векторного амплитудного панорамирования (saf_vbap), а также наборы алгоритмов реверберации для акустического моделирования помещения (saf_reverb) и работы со сферическими антенными решётками (saf_sh). Стоит отметить, что в основу фреймворка положены библиотеки MKL, Apple Accelerate и OpenBLAS, которые содержат методы для решения задач линейной алгебры и используются в высокопроизводительных вычислениях, а также наборы инструкций SIMD вроде SSE, AVX и AVX-512.

Разработчики Spatial Audio Framework рекомендуют начинать знакомство с инструментом на примерах — они собраны в репозитории на GitHub. Например, там представлен код, реализующий кодировщик для работы с амбиофоническим звуком (ambi_enc), или генератор виртуального микрофонного массива с изменяемой диаграммой направленности (beamformer).

DaisySP

Библиотека цифровой обработки сигналов, заточенная под платы Daisy (или Arduino). Это — многофункциональная платформа, которую можно использовать как настольный синтезатор, гитарную педаль или коммутационную плату. Девайс разработала команда программистов из компании Electrosmith, проектирующей софт и инструменты для музыкантов. Платы Daisy можно или приобрести на официальном сайте (стоит $30), или спаять самостоятельно, так как все необходимые схематики и даташиты переданы в open source. В частности, в репозитории на GitHub можно найти файлы для проектировочных программ EAGLE и Fritzing.

Инструмент поддерживает достаточно большое количество синтезаторов звука и фильтров — например, биквадратный, переменного состояния и с гребнеобразным частотным спектром. Из доступных эффект-процессоров можно выделить реверберацию, задержку и децимацию. В то же время DaisySP совместим с фреймворком JUCE для разработки плагинов и GUI-приложений. Кстати, автор JUCE также создал предметно-ориентированный язык для цифровой обработки сигналов, который называется SOUL. О нем мы рассказывали в прошлом материале.

В целом вокруг инструмента формируется активное сообщество. Его участники ведут обсуждение на официальном форуме и в Slack-канале, где делятся собственными проектами на базе DaisySP. Например, один энтузиаст смоделировал монофонический генератор переменной частоты с MIDI-входом.


Дополнительное чтение из нашего «Мира Hi-Fi»:

  • «Послушай, чтобы найти поломку»: аудио неисправных индустриальных машин

  • Где взять аудио для машинного обучения: открытые библиотеки с лицензией CC

  • Книги для тех, кто неравнодушен к музыке — от классики до хип-хопа

  • Акустические системы: читаем технические характеристики


Источник: https://habr.com/ru/company/audiomania/blog/571180/


Интересные статьи

Интересные статьи

Александр Кушнарев работал на Kaspersky и «Яндекс» в России, а потом устроился в Wargaming на Кипре. За два года собрал много интересных наблюдений, которыми поделился с нами. Почему...
ORM Entity Framework Core с каждой версией становится все более и более богатой на фичи. Команда разработчиков тратит много времени на перфоманс и вероятно простое обновление Nuget-пакета...
Ускорители частиц вокруг нейтронной звезды в конструкции галактического маяка. Источник: A Neutrino Beacon. A. A. Jackson, arXiv:1905.05184 Поиск внеземной жизни и установление конта...
Добрый день, уважаемый читатель! Вот и подошел к концу наш блиц-курс по анализу целостности сигналов в PADS Professional. В заключительном уроке вы вы узнаете, как выполнить пакетны...
Этот пост будет из серии, об инструментах безопасности, которые доступны в Битриксе сразу «из коробки». Перечислю их все, скажу какой инструмент в какой редакции Битрикса доступен, кратко и не очень р...