Каждый раз "путешествуя" (в метро) на работу и обратно, начал задумываться на тему того, что 21 век на дворе, а до сих пор производители так и не догадались делать чуть хитрее технику, по части воспроизведения музыки. "Умные" смартфоны, гарнитуры, а в итоге всё работает "лампово", без использования полного потенциала возможностей (максимум, что встречается, это дорогущие шумодавы). Ну коль так, начал задумываться как это всё можно реализовать внешним путём, и что мне бы хотелось видеть - некое портативное, "аналоговое" устройство, включаемое в разрыв наушников и смартфона. Далее начал продумывать сам функционал, не хватало: автоматической регулировки громкости в зависимости от внешнего шума и заодно подстройки уровня сигнала под композицию.
По началу решил всё это сделать на обычном МК, обвесил его
АЦП/
ЦАП, но после некоторых экспериментов оказалось, что железо - это меньшая из проблем, есть ещё программная часть (весьма нетривиальная) и я решил попробовать
DSP! Т.к. именно для звука лучше брать специализированное направление. Плюс, была давняя тяга к этому направлению, что-то новое. Появилась возможность этим заняться, попробовать. В голове начала вырисовываться общая схема реализации этой задачи:
"Аппетит приходит во время еды", поэтому сразу захотелось добавить ещё корректировку: частот, объёма; для улучшения воспроизведения музыкальных композиций в обычных наушниках (
вкладышах). Не буду рассказывать, как я начал подготавливаться и проводить эксперименты... в общем, продумав техническую составляющую, решил сразу изготовить плату прототипа для дальнейшей отладки алгоритма:
Плата была обязательна, т.к. некоторые микросхемы на макетке не попаяешь и работать с кучей соплей-проводов - не дело (ибо наводки).
В итоге родилось вот это "чудо":
На
ADAU1701, под управлением
ATTINY84 и всё это подправлено
TPA6139A2 с DirectPath™.
Вещица получилась очень музыкальной и на сегодняшний момент удалось воплотить всё, что задумывалось, а именно:
-
АРУ входного сигнала (оно же
ALC/AGC);
- корректировка средних и высоких частот (эквалайзер);
- добавление объёма (surround, оно же компенсация сухости записи (при сильном сжатии исходника);
- BASS система;
- АРУ громкости в зависимости от внешнего шума (от микрофона, чтобы по лени ручку не крутить);
- частота дискретизации 96 КГц.
Было реализовано управление:
- переключение АРУ входного сигнала, два уровня (агрессивный и нормальный);
- отключение эквалайзера и объёма.
(при обесточивании устройства все настройки сохраняются)
Чем больше провожу экспериментов, тем лучше идет понимание всех плюсов/минусов и возможностей. Возможно от ряда управляющего функционала придется отказаться/заменить, поменять алгоритмы работы.
Устройство получилось очень универсальным, например его можно использовать как "улучшайзер" в компьютере, не нужно настраивать эквалайзеры и использовать разные настройки в плеерах (всё по умолчанию), достаточно просто включить его в разрыв между компьютером и колонками и установить общую громкость на 50%, или смотреть фильмы через ресивер и наушники (отлично компенсирует сильные перепады в сценах).
Единственное, т.к. устройство больше рассчитано на портативность (заряжается от USB), то должных фильтров от помех компьютера в схеме не стоит и при использовании/питании устройства через USB не удивительно наличие компьютерных шумов в паузах/тихих местах. Если всё-таки смотреть в этом направлении использования, то нужно дорабатывать схему или делать дополнительный, внешний фильтр (переходник).
psA: устройство стерео (два канала).
psB: описывать саму музыкальную составляющую - не буду, по известным причинам (мне нравится, обычные уши звучат по-новому и детализация в композициях улучшилась).
Продолжение...