• Внешний USB-ЦАП-Аудиопроцессор CDD-010 можно купить

Тонкомпенсированный регулятор громкости (loudness)

Дюжбан

Well-known member
Всем привет. Думаю темброблок выложу на резисторах. Плата адау1467 с подключенными потенциометрами. В отличии от регулятора громкости, где уровень задавался в децибелах в таблице, здесь немного по другому. Регулируется полка нч 63 и вч 9500 гц по уровню -+15 дб. Получется 32 уровня и 0 дб есть! В общем все на скримнах.
 

Вложения

Дюжбан

Well-known member
Селектор входов для adau1467 на резисторе. Если сделать сдвиг вправо не на 12, а на 13 будет два положения и можно использовать как поворотную кнопку (почему бы и нет), а можно и тумблер подключить с подтягивающим резистором.
 

Вложения

Дюжбан

Well-known member
И снова здравствуйте. Не всё так славно с резисторами. Пустил синус через дсп покрутил ручки и оказалось, к примеру в крайних положениях куда ни шло, но иначе шумы и шорохи, и наводки. Зашунтировал aux пленками 0.22uF - вроде норм. Я понял то, что все брошенные ноги надо или притянуть, или подтянуть, или пустить на массу. А иначе паразитка. Может по ее причине и запись глючит.
 

Дюжбан

Well-known member
Если вам не в тягость, не могли бы вы поподробнее о этом написать?
Частично согласен с Александром, но лоуднесс поставил раньше чем тембры, чтобы на минимальной громкости не было перегрузки и искажений, поскольку в теории на низкой громкости нужно нч поднимать до 40 дб. Также на основе реальных тестов пришел к такому включению и тембром можно убрать низкие полностью. Это моё мнение, не навязываю.
 

Lazy_66

Well-known member
loudness модуль надо на выходе ставить, так как там от "громкости" зависят параметры фильтров.
Вот утверждение Александра. Почему он так считает? Громкость в цифре - это битность. От этого может зависеть фильтр. Но может быть есть иная причина?
 

Дюжбан

Well-known member
Вот утверждение Александра. Почему он так считает? Громкость в цифре - это битность. От этого может зависеть фильтр. Но может быть есть иная причина?
Будем надеется, сто напишет. При звуке 24 и 32 бит динамический диапазон очень большой. /// loudness формирует ачх понижением уровня средних частот, я так понимаю меняя общую ачх сформированную фильтрами. По моему не профессиональному мнению на слух ачх правильная на любом уровне громкости, если сравнивать с многими аналоговыми вариантами.
 

a.dobrynin

Well-known member
Приветствую.

А можно ли сделать и как тонкомпенсацию замеряя уровень сигнала на входе и в зависимости от этого крутить уровень тонкомпенсации?

Или иначе, громкость планирую регулировать на источнике. С источника по API могу получить текущий уровень громкости, если это нужно. Но вот как передать это на UHD не знаю, ведь доступа к сети и отправки запроса GET нет. Поэтому идея как-то замерять входящий уровень и дальше уже крутить тонкомпенсацию.

Источники сигнала Рефлекс и оптика на UHD.
 

Александр Ф.

Well-known member
По тонкомпенсации - это у нас психоакустика, то есть разное восприятие частот в зависимости от громкости.
По хорошему надо исходить из того, какие у вас колонки, какой усилитель мощности (УМ), и, подавая сигнал на УМ, смотрим, подали, например 1В синус, что вызаёт акустика, какую громкость. По идее это основной момент в тонкомпенсации, так как смысл компенсировать, когда вы подали 10% от максимума на выходе и у вас колонки хрипят от мощи отдающей ей УМ.


Допустим мы это всё учли, что дальше?
Если на входе DSP вешаем, то мы не знаем (или условно знаем, или может меняется из-за каких-либо факторов), а как поведет себя DSP с сигналом, а может не стоит поднимать нижние, так как громкости уже достаточно? Проще поставить на выходе, тогда мы сможем соотнести мощность звука выдаваемую УМ-АС к тому, что выдаёт нам цифра.

24/32 бита тут как бы не причем, тонкомпесация срабатывает от уровня сигнала и не важно как он выражается аналогом или в цифровом представлении.

24/32 - это когда мы взяли и уменьшили громкость, а битов для отражения столь малых сигналов "не хватает" или просто часть теряется.


Например у нас, условно изначальный сигнал 8 бит:

11001011

при воспроизведении к нам прилетает "нарощенный" сигнал до 16 бит, где последние биты нулями забили:

11001011 0000 0000


Мы уменьшаем громкость, крутим ручку и нас сигнал, условно становится таким:

0 11001011 0000 000
00 11001011 0000 00
000 11001011 0000 0
...

сам сигнал в качестве не теряется, то есть и тихо будет звучать отлично.

Но вот если мы дальше уменьшаем громкость, или ЦАП у нас 16 бит и изначальный сигнал 16 бит:

был сигнал
11001011 1001 1011

уменьшил громкость:

0 11001011 1001 101
00 11001011 1001 10
000 11001011 1001 1

То есть кол-во бит полезного сигнала уменьшается, теряем в качестве звука сразу.
Это проблема, так как в любом случае с определенного момента уменьшенная громкость с помощью DSP угробит нам звук.
Одна надежда, что при такой громкости мы ничего уже не услышим :)


Поэтому в идеале нам бы юзать что-то ещё, изменяя громкость.
Как вариант управление громкостью в том же ES9038Q2M, но не факт, что там всё ок.
 

a.dobrynin

Well-known member
У меня пока в голове не складывается основное – как крутя ручку регулятора громкости на преде управлять ползунком громкости тонкомпенсации? Как их связать между собой?
Громкость с преда я могу получать запросом GET (а может он и POST умеет, надо смотреть), но не суть. И как это значение, допустим получил 20% от максимального уровня, передать на регулятор тонкомпенсации?
 

a.dobrynin

Well-known member
Конечно было бы идеально, если бы тонкомпенсация была в преде. Но пока что её нет, но всё может прилететь с очередным обновлением.
 

a.dobrynin

Well-known member
Ещё идея, можно попробовать замерять уровень входящего сигнала и допустим если он равен 80дБ (референс прослушивания, выбирается для себя индивидуально), то уровень тонкомпенсации равен 0. Если уровень входящего сигнала начинает снижаться, то тогда соответственно снижать уровнь тонкомпенсации и следом повышать общий уровень чтобы не было двойного снижения.
 

Дюжбан

Well-known member
У меня пока в голове не складывается основное – как крутя ручку регулятора громкости на преде управлять ползунком громкости тонкомпенсации? Как их связать между собой?
Громкость с преда я могу получать запросом GET (а может он и POST умеет, надо смотреть), но не суть. И как это значение, допустим получил 20% от максимального уровня, передать на регулятор тонкомпенсации?
А что за пред?
 

a.dobrynin

Well-known member
Wiim Ultra.
Они вроде как обещают сделать тонкомпенсацию (точнее их сильно просят об этом), но пока её там нет. Но обычно они прислушиваются к хотелкам пользователей и добавляют функционал.
 
Верх