В общем - сделал первый работающий девайс. ))
В базе - готовый модуль ADAU1401 (DSPmini), Raspberry Pi Pico (32битный микроконтроллер), микро-сд кард ридер и пара энкодеров, пока без экрана (все еще едет...) На тестовый образец взял готовые модули энкодеров и... корпус не закрылся. )) Сильно высоко все получилось, поэтому на вторую версию я выпаял энкодеры из модулей и развел их на новой плате.
Отыграл на данном приборе пару мероприятий, и что я могу сказать? В целом работает.
По функционалу:
1. Эмуляция усилителя с небольшим подгрузом (Я как басист - взял ампег свт4про как основу, дальше крутил ее уже по своему вкусу). Усилитель можно включить/выключить и регулировать громкость. Причем громкость стоит перед ограничителем - т.е. на меньшей громкости - подгруза меньше, на большей громкости - подгруза больше. канал усилителя разделен на 2 независимые ветки частотно - все что ниже 800гц - проходит без ограничения/подгруза, все что выше 800гц - идет через дополнительные модули ограничения. Т.е. на выходе у нас и низ сочный и не пердящий, и поджатый, насыщенный весь остальной спектр. Такого плана подгруз сигнала очень добавляет читаемости в миксе.
2. Эмуляция кабинета. Кабинет тоже можно включить-выключить и регулировать его громкость, независимо от громкости усилителя. Что помогает значительно варьировать окраску звука, при этом подбирая адекватную громкость.
3. Буфер на ОУ по входу. на случай если захочу подключить пассивный бас или гитару.
4. Симметричный выход, реализованный с помощью процессора, что облегчает подключение на площадке ("Вы мне просто XLR дайте, а дальше я сам").
5. Загрузка импульса из карты памяти. Пока нет экрана - я просто держу один файлик на карте памяти, который читает микроконтроллер и передает его в понятном формате для адау, при подаче питания.
Плюсы:
1. У 1401 достаточно мощные аудио выходы, и вполне адекватное соотношение сигнал/шум. Я не заметил каких-либо существенных шумов, которые бы мешали использованию устройства.
2. При выключенных "усилителе" и "кабинете" - у нас по сути - активный дибокс.
3. Возможность быстро подменить импульсы, не прибегая к помощи компьютера. Даже при отсутсвии экрана - я просто кидаю один импульс на карту памяти - и его передает в адау микроконтроллер.
4. Использование готовых модулей упрощает повторение прибора. ))
5. Микроконтроллер (raspberry pi pico) который умеет работать и в C и в Python - отличная штука.
Минусы:
1. Ресурсов в 1401 маловато. При более-менее нормальной эмуляции усилителя - у меня на кабинет остается около 680 сэмплов, что сказывается на низких частотах. Они менее "кабинетные", если можно так сказать, а более ровные, без выраженной ачх. Вариантов решения тут 2:
- Перейти на более старший процессор типа ADAU1452/1467 - там можно уже делать очень сложные штуки и практически не переживать по поводу ресурсов доступных. Минусы - процессор дороже ощутимо, плюс он не имеет своих конвертеров как 1401 - т.е. нужно еще докупить конверторы/кодеки для аналогового сигнала.
- Поставить второй 1401 и соеденить их последовательно по цифре (i2s). И пусть "первая" адау - занимается эмуляцией усилителя, а "вторая" - занимается кабинетом. Тогда можно увеличить длинну IR до 1024 сэмплов (как минимум, надо будет проверить). При этом ими будет управлять один контроллер, по цене - тоже достаточно адекватно выходит. Минус в том, что это 2 независимых девайса, для которых нужно приготовить 2 проекта, ну и готовые модули в таком случае - отпадают из-за габаритов. Нужно делать плату с двумя адау на борту, что усложняет повторение.
2. Готовые модули - они увеличивают габариты конструкции в целом. От энкодеров пришлось отказаться сразу же - т.к. они добавляют около 10мм высоты, и гаинта даже увеличенная BS13 - просто не закроется (и гнездо XLR упирается в плату и не влазит...). Так же пришлось исползовать низкие "голд-пины" для остальных модулей - просто чтобы все влезло по высоте.... При использовании 473 гаинты - уже можно больше развернутся конечно, но энкодеры все равно придется ставить не модулем готовым, а разводить на плате его с 3мя резисторами подтяжки (хотя... в мк можно включить внутренние резисторы подтяжки... но я не пробовал если честно).
Итого:
Прототип пока продолжу на одной адау - нужно дождаться дисплей, подключить его и организовать простенький UI, чтобы было можно те же импульсы из списка на лету выбирать и вообще. Для того чтобы мне играть живьем - этого будет достаточно. низ пусть правит звукореж на пульте, если нужно. ))) Так же думаю добавить переключалку, которая будет полностью выключать подгруз оконечника. Мало ли - если захочется совсем чистый-чистый, но с небольшой коррекцией по АЧХ - это может быть полезным.
Ну и надо попробовать развести платку на 2 адау - посмотреть насколько усложнится все.
Так же в планах попробовать заменить микроконтроллер на ESP32 в версии "мини" - сам Core-модуль, который можно просто впаять на плату.
Если кому интересно - могу скинуть рабочую плату, актуальной на данный момент версии с двумя разными кард-ридерами, а так же проект для SigmaStudio и скриптик для RPi Pico на питоне, который умеет общаться с адау.
Фоток пока смысла выкладывать нету - т.к. девайс выглядит щас просто как корпус с двумя крутилками/кнопками и входом и выходом. Приедет дисплей, сделаю UI - тогда можно будет как-то оформить это в полноценный девайс.