Как сделать бюджетный микшерный пульт Дженни
ДомДом > Новости > Как сделать бюджетный микшерный пульт Дженни

Как сделать бюджетный микшерный пульт Дженни

Oct 29, 2023

Ранее в этом месяце Дженни написала статью Ask Hackaday, посвященную поиску дешевого компьютерного аудиомикшера. Первая попытка прошла не очень хорошо, но возникла проблема, с которой многие из нас знакомы: приложения Linux действительно не любят использовать несколько аудиоустройств одновременно. Дженни столкнулась с этой проблемой и не нашла способа объединить звуковые карты в одном приложении.

Я боролся с этой проблемой некоторое время, наверное, лет 10. Моим первым столкновением с этим была попытка записать фортепиано с тремя микрофонами, используя пару разных USB-предусилителей. И, конечно же, как и Дженни, меня быстро разочаровала проблема, заключающаяся в том, что мое программное обеспечение для записи могло видеть только один интерфейс одновременно. Простое решение — купить интерфейс с большим количеством каналов. Tascam US-4x4HR — это великолепный четырехканальный аудиоинтерфейс ввода/вывода, а линейка Behringer U-PHORIA включает до восьми микрофонных предусилителей, которые можно расширить до 16 с помощью второго ЦАП, который может передавать звук через ADAT. Но это полупрофессиональные интерфейсы с соответствующими ценниками.

А как насчет идеи Дженни объединить несколько супердешевых интерфейсов вместе? Ну да, это тоже возможно. Я покажу вам, как это сделать, но сначала давайте поговорим о том, как мы будем управлять этим монстром программного микшера. Да, вы можете просто использовать мышь или клавиатуру, но задача заключалась в том, чтобы построить микшерный пульт, и для меня это означает физические фейдеры и кнопки отключения звука. Сейчас существуют готовые решения, среди которых Behringer X-touch является популярным решением. Но опять же, мы намного превышаем цену, которую Дженни установила для этой проблемы. Итак, давайте сделаем то, что у нас в Hackaday получается лучше всего, и создадим свое собственное.

Нам нужен микроконтроллер с встроенной поддержкой USB-клиента, несколькими цифровыми контактами ввода-вывода и некоторыми аналоговыми входами. Я выбрал Arduino MKRZero из-за небольшого размера, приличной цены и того факта, что он действительно есть в наличии на складе Mouser. Другие предметы, которые нам понадобятся, — это фейдеры и кнопки. Я выбрал полноразмерные 100-миллиметровые фейдеры и несколько светодиодных кнопок переключения производства Adafruit. Непредвиденные детали, такие как провода и резисторы, были взяты из местной корзины с запчастями в углу.

Моей первой мыслью было спроектировать и напечатать панель на 3D-принтере, но после того, как я сделал макет на куске фанеры, полученный размер оказался слишком большим для моего принтера. Итак, мы идем в стиле ретро и делаем микшерный пульт «под дерево». Это был бы отличный проект для фрезерного станка с ЧПУ, но, поскольку я еще не вхожу в этот крутой клуб, на помощь пришел сверлильный станок, настольная пила и осциллирующий инструмент. Результаты оказались не такими прекрасными, как мне хотелось, но, возможно, однажды мы получим Mark II этого проекта.

Подключение относительно простое, с токоограничивающим резистором для защиты светодиодов внутри кнопок и подтягивающим резистором для предотвращения плавания цифрового вывода, когда кнопка не нажата. Возможно, в этом подтягивании нет необходимости, поскольку позже я узнал, что Arduino имеет встроенное подтягивание на своих цифровых выводах. Также следует отметить, что резистор сопротивлением 10 Ом *не* является хорошим выбором для подтягивания. Как красноречиво выразился Эл, это «подтягивающий резистор». 10 кОм — лучший выбор.

И чтобы закончить сборку, нам понадобится скетч для запуска на Arduino. К счастью, уже есть отличная библиотека именно для того, что мы хотим сделать: Control Surface. Есть множество способов это настроить, но мой набросок довольно тривиален:

А теперь перейдем к сути этого проекта. Как нам убедить приложение видеть входные данные с нескольких устройств и действительно выполнять некоторое микширование? Проблема здесь в рассинхронизации. Каждое устройство работает на разных источниках синхронизации, поэтому поток битов от каждого из них может смещаться и рассинхронизироваться. Это достаточно серьезная проблема, поскольку старые звуковые решения не реализовывали много возможностей для объединения карт. Не так давно процесс повторной выборки этих аудиопотоков для их правильной синхронизации был бы очень ресурсоемкой процедурой. Но в наши дни у всех нас есть многоядерные гиганты, практичные суперкомпьютеры по сравнению с тем, что было 20 лет назад.