?

Log in

No account? Create an account

Previous Entry | Next Entry

MyLevel

Каждый раз "путешествуя" (в метро) на работу и обратно, начал задумываться на тему того, что 21 век на дворе, а до сих пор производители так и не догадались делать чуть хитрее технику, по части воспроизведения музыки. "Умные" смартфоны, гарнитуры, а в итоге всё работает "лампово", без использования полного потенциала возможностей (максимум, что встречается, это дорогущие шумодавы). Ну коль так, начал задумываться как это всё можно реализовать внешним путём, и что мне бы хотелось видеть - некое портативное, "аналоговое" устройство, включаемое в разрыв наушников и смартфона. Далее начал продумывать сам функционал, не хватало: автоматической регулировки громкости в зависимости от внешнего шума и заодно подстройки уровня сигнала под композицию.
По началу решил всё это сделать на обычном МК, обвесил его АЦП/ЦАП, но после некоторых экспериментов оказалось, что железо - это меньшая из проблем, есть ещё программная часть (весьма нетривиальная) и я решил попробовать DSP! Т.к. именно для звука лучше брать специализированное направление. Плюс, была давняя тяга к этому направлению, что-то новое. Появилась возможность этим заняться, попробовать. В голове начала вырисовываться общая схема реализации этой задачи:


"Аппетит приходит во время еды", поэтому сразу захотелось добавить ещё корректировку: частот, объёма; для улучшения воспроизведения музыкальных композиций в обычных наушниках (вкладышах). Не буду рассказывать, как я начал подготавливаться и проводить эксперименты... в общем, продумав техническую составляющую, решил сразу изготовить плату прототипа для дальнейшей отладки алгоритма:


Плата была обязательна, т.к. некоторые микросхемы на макетке не попаяешь и работать с кучей соплей-проводов - не дело (ибо наводки).
В итоге родилось вот это "чудо":


На ADAU1701, под управлением ATTINY84 и всё это подправлено TPA6139A2 с DirectPath™.
Вещица получилась очень музыкальной и на сегодняшний момент удалось воплотить всё, что задумывалось, а именно:

- АРУ входного сигнала (оно же ALC/AGC);
- корректировка средних и высоких частот (эквалайзер);
- добавление объёма (surround, оно же компенсация сухости записи (при сильном сжатии исходника);
- BASS система;
- АРУ громкости в зависимости от внешнего шума (от микрофона, чтобы по лени ручку не крутить);
- частота дискретизации 96 КГц.

Было реализовано управление:

- переключение АРУ входного сигнала, два уровня (агрессивный и нормальный);
- отключение эквалайзера и объёма.
(при обесточивании устройства все настройки сохраняются)

Чем больше провожу экспериментов, тем лучше идет понимание всех плюсов/минусов и возможностей. Возможно от ряда управляющего функционала придется отказаться/заменить, поменять алгоритмы работы.
Устройство получилось очень универсальным, например его можно использовать как "улучшайзер" в компьютере, не нужно настраивать эквалайзеры и использовать разные настройки в плеерах (всё по умолчанию), достаточно просто включить его в разрыв между компьютером и колонками и установить общую громкость на 50%, или смотреть фильмы через ресивер и наушники (отлично компенсирует сильные перепады в сценах).
Единственное, т.к. устройство больше рассчитано на портативность (заряжается от USB), то должных фильтров от помех компьютера в схеме не стоит и при использовании/питании устройства через USB не удивительно наличие компьютерных шумов в паузах/тихих местах. Если всё-таки смотреть в этом направлении использования, то нужно дорабатывать схему или делать дополнительный, внешний фильтр (переходник).

psA: устройство стерео (два канала).
psB: описывать саму музыкальную составляющую - не буду, по известным причинам (мне нравится, обычные уши звучат по-новому и детализация в композициях улучшилась).

Продолжение...

Comments

( 10 комментариев — Оставить комментарий )
entius
29 ноя, 2016 12:48 (UTC)
Интересная штука получилась. Добавить блютуз и может получиться весьма интересная гарнитура.
rdvv
29 ноя, 2016 13:06 (UTC)
Я её с Sony SBH54 как раз гоняю.)
ognivo777
6 янв, 2017 19:47 (UTC)
Хотел бы повторить вашу платку, но даже не знаю с чего начать. Можете поделиться где и как такие платы заказать? Или может у вас есть готовая лишняя, готов приобести)
rdvv
6 янв, 2017 19:55 (UTC)
Заказывал плату у: https://oshpark.com/
Лишние есть, т.к. за раз мин.партия 3 шт., собрал только одну, ибо больше не нужно (оказалось, что ошибок в схеме как таковых нет и то, что есть полностью устраивает).
Купить? Не знаю в каком этом смысл, плату делал под свои комплектующие (имеющиеся разъёмы, рассыпуху). Впрочем, из экзотики тут может быть только разъёмы: USB и для подключения акка; всё это я могу дать в нагрузку. Но если смотреть дальше/глубже, то не совсем понятно, если у вас возникают такие вопросы, то: чем вы собираетесь программировать AVR и DSP? Ведь нужны не только прошивки, но и сами программаторы...
Андрей Ш
24 апр, 2017 10:43 (UTC)
Программаторы...
А почему, собственно, все без исключения видят в программаторе самую большую проблему? Перезалил еепром известного китайского анализатора на прошивку USBi и вперёд! Управлять АДАУ посредством GPIO не очень интерестно и ограничено по возможностям. То ли дело управлять микроконтроллером по I2C. Вот тут самый сок! Но это и есть большая проблема в подборе формул и коэффициентов, в проведении расчётов. Но конечный результат просто сказка!
rdvv
24 апр, 2017 11:53 (UTC)
Re: Программаторы...
Здесь он так и управляется, ибо на слабом МК просто негде хранить прошивку, по этому она заливается извне.
rdvv
24 апр, 2017 14:12 (UTC)
Re: Программаторы...
А проблема в программаторе не потому, что залить прошивку, через него происходит реалтайм управление всеми настройками DSP.
Да его можно собрать из дешевых блоков/комплектующих, но неизвестно, будет ли он обеспечивать полный функционал...мне лично экспериментировать не хотелось.
Андрей Ш
24 апр, 2017 17:13 (UTC)
Re: Программаторы...
Так вот я и не понимаю в чём проблема. Проблема приобрести эту приблуду http://www.ebay.com/itm/CY7C68013A-56-EZ-USB-FX2LP-USB2-0-Develope-Board-Module-Logic-Analyzer-EEPROM-/191868888647?hash=item2cac46e647:m:m3xwxv8VrKXgoUSnNT7wC2A и перезалить еепром прошивкой от родного USBi? После этого можете хоть заливать прошивку АДАУ для селфбут, хоть управлять параметрами в реалтайме без надобность запуска каких либо скриптов. Втыкаешь программатор в ЮСБ и сразу определяется как USBi (programmed) и в путь!
rdvv
23 май, 2017 14:59 (UTC)
Re: Программаторы...
Ну как бы ничего нового, эта тема хорошо раскрыта на "freedsp.cc".
Только лично мне возиться было в лом, хотелось готовый комплект, чтобы сразу начать разработку и изучение.
Возможно сейчас, получив опыт, я могу с вами согласиться, каждый волен выбирать свой путь.
Андрей Ш
24 май, 2017 18:57 (UTC)
Re: Программаторы...
На счёт программатора возиться не обязательно. Есть у меня готовая плата программатора заводская, паяй, зашивай и пользуйся функциями оригинального программатора
( 10 комментариев — Оставить комментарий )

Latest Month

Декабрь 2017
Вс Пн Вт Ср Чт Пт Сб
     12
3456789
10111213141516
17181920212223
24252627282930
31      
Разработано LiveJournal.com
Designed by Lilia Ahner