Сразу скажу, что перепроверял тесты, но если в чём-то окажусь не прав, то разработчики меня поправят, а я принесу публичные извинения. Но я только хочу помочь сделать продукт лучше. Просто в процессе эксплуатации всплывают моменты на которые я обращаю внимание, кто-то другой может не обратил бы.
К сожалению обнаружились неприятные особенности. Надо было прогнать тестовый DI для понимания уровней сигналов, да и вообще понимания роутинга. В этом DI был фрагмент свип-тона и то что я услышал подтолкнуло проделать эти тесты. Здесь "мусорить" не буду, вот ссылка со скриншотами и аудио.
https://drive.google.com/drive/folders/1LLjlq-TQeeUKrfUh8uZt7IyWF87fWcj9?usp=share_linkПодробнее о тесте. Я подключил с одного выхода звуковой карты (motu) на вход ампериум (Input), а второй выход из моту на возврат (Return). Сделал я так, потому что в железке стоят два АЦП (точнее кодека), т.е. сигнал оцифровывается после инпута и проходит весь цифровой тракт (с отбором на Send), а также сигнал оцифровывается после ретурна подмешиваясь потом к основному. Чипы одинаковые, но технологии применены разные, отсюда и проблемы со звуком. Далее я подавал сигнал на конкретный выход карты, приходил он на соответствующий вход ампериум (Input или Return), в роутинге процессора есть крутилка Mix, ей можно направить на выход (Main Out) сигнал только с инпута или только с ретурна (микширование обоих сигналов также возможно, но не применялось). Что касается уровней, вход ампериум перегрузить вообще не реально (как я не старался), поэтому мне если честно не понятно зачем там вообще в роутинге настройка Input. А вот сигнал с ретурна очень легко перегружается. Изначально тон-сигнал из DAW выходил при 0dB, для ретурна пришлось опустить до -7dB (индикация перегруза есть на приборе). На мой взгляд не помешала бы регулировка (аттенюация) уровня Return перед АЦП (чтобы не перегрузить).
Что по уровням. На картинке Motu_loopback сигнал напрямую из карты в карту. Только для соответствия пришлось на выходе ставить -7dB, чтобы на входе в моту было соответствие с ампериум (Input-MainOut). Все блоки в ампериум разумеется были отключены, такой байпасс. А вот для сигнала Return-MainOut пришлось ещё на 4dB опускать уже на входе в motu. Т.е. сигнал Return-MainOut "горячее" Input-MainOut на 4dB. Правда по входу у них разница -7dB против 0dB соответственно. Пробовал на инпут подавать -7dB на деградацию звука не влияет (всё также как в аудио по ссылке). Подписал картинки максимально подробно, так что из названия всё понятно. Картинка Amperium_return-0dB для понимания, что происходит с перегруженным АЦП ретурна.
Кстати, по usb-шине идут наводки, так что сделал тесты с подключением по usb к компьютеру и без (это больше для разработчиков инфа).
Также есть картинки по проникновению (leakage) одной цепи в другую и наоборот – если ручка Mix в крайнем левом, то это проникновения сигнала цепи Input-MainOut в сигнал Retun-MainOut, ну и наоборот. Подавал тон-сигнал на Input, выкручивал Mix влево и смотрел что на выходе MainOut (по идее не должно быть ничего). Проникновения не большие, можно пренебречь, главное по USB не подключать. Вообще нужен USB-изолятор, в противном случае не использовать подключение когда работаете со звуком.
Свип-тон прогнал лупбэком из карты в карту как референсный. Также через ампериум Input-MainOut и Return-MainOut.
И ещё наблюдение по софту. Если выдернуть usb-кабель, а железку НЕ выключать, то при повторном подключении кабеля (инициализации приложения) загружается текущий сохранённый пресет, если в нём до этого были изменения, но не были сохранены они сбрасываются до сохранённого состояния. Например, я настраиваю какой-то пресет, в какой-то итерации я его сохранил, но всё равно продолжаю подкручивать настройки, но в какой-то момент происходит disconnect (по bluetooth или по проводу) и при повторном коннекте мой пресет вернулся в состояние когда я его сохранил, но я же после сохранения настройки крутил, а железку не выключал. В общем это непривычно, обычно я должен иметь доступ к последним настройкам с которыми работал.