Апгрейд стримера. Всё можно настроить!

Bin

Active member
Интересно проверить на своем устройстве, если проект подходит под стерео вариант.
Поделитесь проектом, как Наиль. Попробовал бы на своем аппарате. Спасибо.
Выкладываю проект с тонкомпенсацией.
Файл по ссылке:



Проверяйте на своем сетапе.

По самому проекту
1 канал (выход первого ЦАП) - здесь вся обработка (см выше проект PPS). Частотный диапазон полный - чистое стерео
2 канал (выход второго ЦАП) - сигнал аналогичен первому каналу (чистое стерео).

Кнопка "Супербасс" управляет уровнем тонкомпенсации - диод индикации не горит: стандарт по умолчанию, горит - чуть более сильная тонкомпенсация.

Тонкомпенсация привязана к уровню громкости , соответственно начинает работать при уменьшении громкости от макс к мин. Это замечание к тому, что если, допустим, усилитель не имеет регулировки громкости и при максимальном уровне выхода стримера поёт !!!очень громко!!!!, то уменьшив громкость стримера на комфортную, Вы уже будете в полный рост слышать тонкомпенсацию (как повышение уровня НЧ и ВЧ).
Выше я расписывал это момент. По хорошему, тонкомпенсация должна начинаться при уменьшении громкости вниз от МАКСИМАЛЬНО ГРОМКОГО, НО КОМФОРТНОГО УРОВНЯ ГРОМКОСТИ АКУСТИКИ. Это можно настроить в проекте, но в привязке к законченной системе. Сейчас стоит по умолчанию.

Попробуйте, мне интересно Ваше мнение по такой обработке
 

Наиль

Active member
Выкладываю проект с тонкомпенсацией.
Файл по ссылке:



Проверяйте на своем сетапе.

По самому проекту
1 канал (выход первого ЦАП) - здесь вся обработка (см выше проект PPS). Частотный диапазон полный - чистое стерео
2 канал (выход второго ЦАП) - сигнал аналогичен первому каналу (чистое стерео).

Кнопка "Супербасс" управляет уровнем тонкомпенсации - диод индикации не горит: стандарт по умолчанию, горит - чуть более сильная тонкомпенсация.

Тонкомпенсация привязана к уровню громкости , соответственно начинает работать при уменьшении громкости от макс к мин. Это замечание к тому, что если, допустим, усилитель не имеет регулировки громкости и при максимальном уровне выхода стримера поёт !!!очень громко!!!!, то уменьшив громкость стримера на комфортную, Вы уже будете в полный рост слышать тонкомпенсацию (как повышение уровня НЧ и ВЧ).
Выше я расписывал это момент. По хорошему, тонкомпенсация должна начинаться при уменьшении громкости вниз от МАКСИМАЛЬНО ГРОМКОГО, НО КОМФОРТНОГО УРОВНЯ ГРОМКОСТИ АКУСТИКИ. Это можно настроить в проекте, но в привязке к законченной системе. Сейчас стоит по умолчанию.

Попробуйте, мне интересно Ваше мнение по такой обработке
Очень хочется попробовать, но не качается (((
Если не секрет выходы 2 ЦАП как используете или планируете использовать?
 

Bin

Active member
Очень хочется попробовать, но не качается (((
Если не секрет выходы 2 ЦАП как используете или планируете использовать?
Доброго дня! Первый цап использую с родным балансным выходом на активную акустику. Выход второго цапа вывел по небалансной схеме на колокольчики и подключил к усилителю для наушников. Посмотрите выше мои посты- там расписал и добавил про нюансы подключения. Это важно, так как на наших платах выходы балансные и за ненадобностью отсутствуют разделительные конденсаторы. Если на стороне приемника сигнала (усилителя) таких конденсаторов вдруг тоже нет (как например в моем усилке для наушников) - можно проблем поиметь из за постоянки при использовании «половины» балансного выхода.
на dsp второго цапа никаких обработок не делал, просто i2s вход пробросил на интерполятор (выход)
 

ivashka777

Well-known member
Доступ к файлу поправил. Можно скачивать
Прежде чем устанавливать запустил "тестовую" композицию (точнее одного из моих любимых исполнителей).
Послушал несколько минут что бы ощутить разницу между проектом с супербасом от Наиля и после установки вашего проекта.
Потом установил на свой аппарат ваш вариант, но получил сильные искажения.
Во первых резко поднялась громкость в положении регулятора громкости близкого к минимуму.
И появились очень заметные на слух искажения по НЧ.
Прибавление громкости на искажения практически не влияет - они остаются.
И какой либо работы тонкомпенсации (поднятия уровня ВЧ и НЧ при небольшой громкости) я у себя не услышал.
Как то так, увы :( .
Вернулся на проект Наиля (100 Гц 6,5 дБ).
Спасибо.
 

Bin

Active member
Прежде чем устанавливать запустил "тестовую" композицию (точнее одного из моих любимых исполнителей).
Послушал несколько минут что бы ощутить разницу между проектом с супербасом от Наиля и после установки вашего проекта.
Потом установил на свой аппарат ваш вариант, но получил сильные искажения.
Во первых резко поднялась громкость в положении регулятора громкости близкого к минимуму.
И появились очень заметные на слух искажения по НЧ.
Прибавление громкости на искажения практически не влияет - они остаются.
И какой либо работы тонкомпенсации (поднятия уровня ВЧ и НЧ при небольшой громкости) я у себя не услышал.
Как то так, увы :( .
Вернулся на проект Наиля (100 Гц 6,5 дБ).
Спасибо.
Очень странно :( Гоняю проект уже несколько дней и в основном на небольшой громкости. Хорошо, что написали, сейчас есть возможность погонять машинку на разной акустике и усилителях и погромче. Если не секрет, что за композиция на которой тестили звук? Прогоню на ней, чтоб послушать. Попозже сделаю на пробу вариант с уменьшенными коэффициентами и смешением по громкости.
И просто для информации - Вы пользуетесь усилителем на TPA3255 (из прошлой переписки), который к этому проекту предлагался по умолчанию? Спрашиваю, потому , что сам пользуюсь активной акустикой и там проблем не замечено. Усилитель RDC2-0034 All-in-One Epcos на TPA3255 можно подключить и послушать, но время нужно выкроить.
Если интересно могу сделать запись с линейного выхода стриммера (можно микрофоном с акустики) в разных положениях уровня громкости и можно послушать как у меня играет.
 

Наиль

Active member
СуперБасс изначально это искажение (т.е. априори не Hi Fi)
Так сказать дешёвый способ компенсировать недостатки дешёвой акустики (у самого такая SONY SS-WZ5)
Тонкомпенсация (на мой взгляд) единственно верное и научно обоснованное решение, тем и интересно.
В идеале воспроизведение записи должно производится на полной громкости оригинала
При уменьшении громкости по разному меняется восприятие разных частот
Для этого создана тонкомпенсация - компенсировать данные изменения
К сожалению на своей шляпе не успел попробовать.
Дочь поджарила. Дословно - Папа Я сильно громко не включала, она играла а потом горелым запахло :cry:
Пока не включаю, надо вскрыть и обследовать
Потом обязательно попробую
 

ivashka777

Well-known member
Вы пользуетесь усилителем на TPA3255 (из прошлой переписки), который к этому проекту предлагался по умолчанию?
Да, мой аппарат копия оригинального от Олега, только без усилителя для сабвуфера. Только стерео. Колонки вы уже видели.
Если не секрет, что за композиция на которой тестили звук? Прогоню на ней, чтоб послушать.
Не секрет, конечно. Слушал своего любимого исполнителя. Закинул архив в облако.
Если интересно могу сделать запись с линейного выхода стриммера (можно микрофоном с акустики) в разных положениях уровня громкости и можно послушать как у меня играет.
Я не в коем случае не сомневаюсь, что у вас играет отлично. Но, у меня что то не получилось :unsure:
Спасибо!
 
Последнее редактирование:
  • Like
Реакции: Bin

Bin

Active member
СуперБасс изначально это искажение (т.е. априори не Hi Fi)
Так сказать дешёвый способ компенсировать недостатки дешёвой акустики (у самого такая SONY SS-WZ5)
Тонкомпенсация (на мой взгляд) единственно верное и научно обоснованное решение, тем и интересно.
В идеале воспроизведение записи должно производится на полной громкости оригинала
При уменьшении громкости по разному меняется восприятие разных частот
Для этого создана тонкомпенсация - компенсировать данные изменения
К сожалению на своей шляпе не успел попробовать.
Дочь поджарила. Дословно - Папа Я сильно громко не включала, она играла а потом горелым запахло :cry:
Пока не включаю, надо вскрыть и обследовать
Потом обязательно попробую
Сочувствую , всегда печально, когда что-то сгорает :(
Про тонкомпенсацию - совершенно верно описали. Я тоже идеологию компенсации кривых равной громкости описывал выше - вся соль в том, чтобы при уменьшении общей громкости НЧ и ВЧ "уменьшались не так быстро как СЧ".
Вот так это выглядит в нашем ЦАПе в фильтре лоуднес (из Helpa на фильтр в PPS).
1623255017078.png



Про супербас - если уровень нч в фонограме мал, то можно и добавить, но не перескакивая за условные 0 dB. Это "цифра" и больше разрешенного динамического диапазона не прыгнешь.
 
Последнее редактирование:

Bin

Active member
Да, мой аппарат копия оригинального от Олега, только без усилителя для сабвуфера. Только стерео. Колонки вы уже видели.

Не секрет, конечно. Слушал своего любимого исполнителя. Закинул архив в облако.

Я не в коем случае не сомневаюсь, что у вас играет отлично. Но, у меня что то не получилось :unsure:
Спасибо!
Послушал Пашу Кашина, ностальгия - в совсем старые времена был слегка причастен к съемке его первых клипов в Питере.
Про саму запись - спектрально очень насыщена и лоуднес должен реально работать. Сейчас выкрою часик (времени как всегда не хватает на любимое хобби) и на не своей акустике отслушаю на предмет искажений. Слушать пойду в тонстудию, там с учетом подготовленного помещения все огрехи вылезут сразу. Вдруг и правда косяк :(

А то что не получилось - подправим и все получится :) - это ж теперь дело принципа :)
 

Bin

Active member
Короткий отчет:
Прослушал работу стримера с фильтром Loudness на мониторной акустике Genelec-8250A (не HI-End, но уж дешевкой точно не назовешь), заодно посмотрел и на Yamaha HS8.
Играет как должно.
Единственный косячок который заметил - при переключении источников (конкретно на вэб радио) в первую секунду вылазит перегруз (на низах заметно), но потом устаканивается. Это, похоже, свойство цапа при инициализации.
Олег если что поправит, но мне кажется конкретно этот момент лечится увеличением задержки в Чипстудии (там есть настройка задержки при переключении проектов).
И как писал ранее - устройство чувствительно к перегузкам по уровню, то есть включив на плотных басах режим увеличения НЧ (супербасс) можно получить искажения. Опять же поправьте если не прав.

По настройке усилительного тракта - как писал ранее, чтоб корректно работал Loudness надо:
1. Ручку громкости HI-FI№2 (стримера) поставить на максимум.
2. Громкость на усилителе отстроить на максимальный уровень при котором еще комфортно слушать.
3. Теперь если уменьшать громкость на стримере, начнет подрабатывать тонкомпенсация, в соответствии с графиком (см выше).

Пара моментов на которые , на мой взгляд, стоит обратить внимание:
1. у нашего стримера дури (размах выходного сигнала) на выходе предостаточно и не всякий усилитель максимальный уровень переварит (при большой амплитуде, близкой к максимально возможной у исходной фонограммы). Возможно из-за этого и возникают искажения. Попросту затыкается входной каскад. (По RDC2-0034 All-in-One Epcos пока сказать ничего не могу - не подключал).
2. на стримере, если подключаться по надписям на плате ЦАП, сигнал будет в противофазе - не забыть этот момент. Про это уже писали и не только я.

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

Чуть позже попробую погонять мультитон и сделать скриншоты частотной характеристики нашего устройства.
 

Наиль

Active member
Извините, руки никак не доходят до любимой игрушки.
Еще не пробовал поэтому есть вопросы, наверное глупые, заранее извиняюсь.

По настройке усилительного тракта - как писал ранее, чтоб корректно работал Loudness надо:
1. Ручку громкости HI-FI№2 (стримера) поставить на максимум.
2. Громкость на усилителе отстроить на максимальный уровень при котором еще комфортно слушать.
3. Теперь если уменьшать громкость на стримере, начнет подрабатывать тонкомпенсация, в соответствии с графиком (см выше).
На оригинальном проекте стримера усилитель без регулятора громкости.
Включив стример на полной громкости Я порву колонки, уши свои и соседей.
Если буду повторять это каждый вечер порвут меня.

Кучка самих вопросов:
1. Если включить стример на средней громкости тонкомпенсация будет на нуле?
2. Блоки Loudness не получают данных о реальном уровне громкости от блока Volume?
3. Можно настроить блок таким образом что бы при включении на комфортном уровне громкости тонкомпенсация уже была?
4. Если включить (подать питание без проигрывания музыки) стример на максимальной громкости не включая музыку уменьшить громкость тонкомпенсация будет активна?
 
Последнее редактирование:

Bin

Active member
Извините, руки никак не доходят до любимой игрушки.
Еще не пробовал поэтому есть вопросы, наверное глупые, заранее извиняюсь.



На оригинальном проекте стримера усилитель без регулятора громкости.
Включив стример на полной громкости Я порву колонки, уши свои и соседей.
Если буду повторять это каждый вечер порвут меня.

Кучка самих вопросов:
1. Если включить стример на средней громкости тонкомпенсация будет на нуле?
2. Блоки Loudness не получают данных о реальном уровне громкости от блока Volume?
3. Можно настроить блок таким образом что бы при включении на комфортном уровне громкости тонкомпенсация уже была?
4. Если включить стример на максимальной громкости не включая музыку уменьшить громкость тонкомпенсация будет активна?
Доброго дня!
Надеюсь меня не забанят навечно админы за длинные посты, но коротко не получается:(

Давайте сначала я сходу отвечу коротко на вопросы, а дальше, если интересно попробую расписать подробно.

1. Если включить стример на средней громкости тонкомпенсация будет на нуле?
Нет, она будет соответствовать кривой графика зависимости уровня ТК от уровня громкости - ПОЛОЖЕНИЯ РУЧКИ ГРОМКОСТИ стримера (см картинку в посте №30). Но это на моем варианте проекта для Чипстудии (настройка Loudness по умолчанию), в параметрах Loudness можно задать смещение начала работы ТК.

2. Блоки Loudness не получают данных о реальном уровне громкости от блока Volume?
Именно от него и получают, так как являются фукцией громкости блока Volume.

3. Можно настроить блок таким образом что бы при включении на комфортном уровне громкости тонкомпенсация уже была?
Да. По факту у Вас так и получилось.

4. Если включить стример на максимальной громкости не включая музыку уменьшить громкость тонкомпенсация будет активна?
Да, будет. Уровень ТК зависит от "положения" ручки громкости (по факту положению движка в блоке Volume)
 
Последнее редактирование:

Bin

Active member
Давайте, если не скучно опишу, что и откуда берется (так как не имея установленной PurePath посмотреть алгоритм негде):

// Зачем это вообще надо:
из Wiki- Чувствительность человеческого слуха различна к звукам разной частоты, которые имеют одно и то же звуковое давление. Иными словами, звуки одинакового звукового давления, но разной частоты, субъективно воспринимаются человеком как звуки различной громкости. Наибольшая чувствительность слуха проявляется при частоте звука около 3 кГц.
Падение чувствительности слуха при частотах менее и более 3 кГц тем больше, чем меньше звуковое давление.
1623344197028.png


Профессиональная звукозапись ориентирована на ровный тональный баланс при звуковом давлении 90-92 dB. (вообще это довольно громко!!!), но по стандарту ISO226 (в редакции 2003г.) это как раз та громкость, при которой средний человек слышит максимально "ровно" все частоты.

Отсюда первый постулат - есть некая максимально комфортная громкость при которой тональный баланс записи, воспринимаемый слушателем, максимально соответствует задумке звукорежиссера.

//Переходим к нашим железкам:
У нас есть некий ЦАП, который понятия не имеет о том, что стоит у пользователя дальше его линейного выхода.

Но инженеры разрабы смеют предположить, что дальше возможны разные типы устройств: микшер, УМЗЧ, усилитель для наушников, да что угодно. С разной акустикой на выходе и с разной громкостью.
А вот как раз разным устройствам нужен разный уровень сигнала на вход. Раньше было проще - если помните во времена Союза, линейный выход 250 мВ, потом стало 750 мВ. Потом с развитием портативной техники появился выход 1В, сейчас и 4,1В никого не удивляет (смотрим на наш ЦАП :))
Это породило дилему - нет возможности привязаться к конкретному напряжению выхода для начала регулировки ТК. А раз так, то решили просто - максимальный уровень выхода ЦАПа примем за некий 0 при котором коррекции ТК нет, а при уменьшении уровня выхода начнет появляться коррекция.

Отсюда второй постулат - поскольку ровный тональный баланс воспринимается при определенном звуковом давлении, а ЦАП достоверную частотную характеристику фонограммы, неискаженную частотной коррекцией ТК, имеет при максимальном уровне на своем выходе - усилитель должен звучать с такой громкостью, при которой уши слышат "ровно", получая полный сигнал с ЦАПа (при настройках фильтра ТК "по умолчанию").
(Поскольку по стандарту это 90-92dB, что реально громковато, каждый этот максимум делает для себя сам),

Этот вариант реализуется при настройках по умолчанию!
В нашем случае есть возможность настройки коэффициентов Loudness, так, чтобы ТК начинала срабатывать при необходимом уровне громкости.
В моем проекте уровни по умолчанию, так как у всех свои усилители, со своей мощностью и акустика со своей чувствительностью и как следствие громкостью.

В нашем ЦАПе PCM5242 Loudness реализован так (далее скриншоты из хелпа в PurePath):

The Loudness component alters the frequency response curve to correspond approximately to the equal loudness curves of the ear.
1623344231662.png


Note: F(s) Biquad contains a pair of second-order filters in cascade

Loudness compensation employs a Biquad filter whose output is scaled by a factor loudness gain, g, which is a function of volume control setting volume. This output is then added to the audio stream itself as shown in Figure 1. volume is external to the loudness component and is coming from the volume component.

IMPORTANT: The Loudness component uses the volume level from a volume component to set its gain, g. Therefore a Volume component must be present in the design and must follow the Loudness component as the first instance of volume. When multiple volume components are present, the loudness component will use the volume level from the first instance of the volume component.

Loudness compensation allows audio data to be given a spectral adjustment (as per equal loudness curve) as determined by the programmable loudness gain, g. As explained below the value of g can be controlled by 4 different configurable properties from the properties window.

The loudness gain g is expressed as:

g = f (volume) = [(volume) Log_Gain x 2 Log_Offset x Linear_Gain] + Linear_Offset

Typically, Log_Gain and Log_Offset are used to derive the desired loudness compensation function. Linear_Gain is used to adjust the dependence of loudness gain on volume and Linear_Offset is used to adjust loudness gain that is independent of volume.

If Linear_Gain is set to 0.0 and Linear_Offset is set to 0.0, loudness compensation is disabled.
If Linear_Gain is set to 0.0 and Linear_Offset is set to 1.0, then the biquad-filtered audio is directly added to the input audio with no affect by volume change.

The final Audio output is

Audio Out = (Audio In) x volume * [ 1+ g x F(s) Biquad)]

Where F(s) Biquad is output of Biquad. The response of this Biquad is close to the equal loudness reponse curve of the ear.


CoefficientScalingDescription
Default Value
volume
5.19​
Volume level on Volume component
0​
Log_Gain
5.19​
Defines amount of loudness compensation that is dependent on volume change in logarithmic fashion.
-0.5​
Log_Offset
5.19​
Defines additional amount of loudness compensation dependent on volume change in logarithmic fashion.
0.0​
Linear_Gain
5.19​
Defines amount of loudness compensation that is dependent on volume change in linear fashion
1.0​
Linear_Offset
5.19​
Defines amount of loudness compensation that is independent of volume change.
0.0​



То есть коэффициент тонкомпенсации (ТК) является функцией громкости, вычисляемой по формуле выше.

Чем уровень громкости в блоке Volume меньше, тем сильнее ТК.

А вот коэффициентами можно играть - задать крутизну кривой АЧХ, скорости и уровни изменения кривой. А так же смещения уровня с которого начинает работать ТК.

Для проектного комбайна "ЦАП + усилитель" именно эта настройка, похоже и нужна.

Со смещениями у себя не пробовал играть, так как активную акустику у себя настраиваю как раз по принципу - максимальный выход источника>комфортная громкость. Дискотеки не устраиваю, а соседей пугать внезапными максимальными 200+200 Вт не хочется :)
 
Последнее редактирование:

Bin

Active member
Вопрос к Олегу и Евгению:

Прошу помощи гуру!!!!
Такой косяк с моим проектом - слушал тестовые записи длинным куском (Flac - без разбивки на песни целый альбом), потом другой с другим битрейтом и частотой - все ок.

Сегодня было время- решил погонять тестовые сигналы (коротенькие кусочки) и выяснилось, что после окончания одного файла и начала проигрывания другого с такими же характеристиками сэмпл рейт и битность как у предыдущего, Loudness ОТКЛЮЧАЕТСЯ! Все регулировки при этом функционируют штатно.
Если после этого поставить любой трек с другими параметрами частоты - битности (что, видимо, вызывает загрузку из управляющей платы нового проекта под другие частоты-битность) Loudness опять работает :( но только пока играет один файл, если следующий не вызывает смены проекта, тонкомпенсация отваливается.
Можно одну и ту же песню после смены проекта плеем запустить дважды: первый раз все ок, второй плей на ней же - не работает :(

То есть Loudness работает ровно одну песню после смены проекта.

Не сочтите за нахальство, но если есть возможность - проверьте проект у себя - возможно все просто и я упустил что-то в Чипстудии при создании проектов

Ссылка на проект:

Пробовал убирать в Чипстудии вообще управление коэффициентом Loudness, то есть только настройки по умолчанию из PPS, эффект тот же.
Очень хочется разобраться - уж больно фильтр этот хорош.


Второй вопрос:
На текущий момент не разобрался пока со следующим вопросом:

Уровень аналогового выхода ЦАП, исходя из даташита на PCM5242 задается через регистры - туда я не лазил - стоит по умолчанию.
А вот уровень блока Volume (в PurePath) +6dB не совсем понятен.
Если это усиление "по цифре", то при получении на вход ЦАПа сигнала фонограммы максимально возможной громкости мы получаем перегруз, который выходным интерполятором, допустим этим:
1623344108962.png

будет обработан по алгоритму приводящему сигнал к 0dB:

1623344117244.png

что является реализацией АРУ и приведет к целому лесу гармоник (совсем не здорово).

В Чипстудии имеем:
Data для блока Volume_1 - Volume_0_42_Fin.txt - регулировка идет от 0dB до -42dB.
PCM_Volume_EN.txt - мьют -72dB, отключение мьют +6dB.
Data для блока REGVOL - PCM_REG_Volume_0-42dB_Fin.txt - регулировка идет от 0dB до -68dB.

Вот тут непонятно Что и как работает. Был бы очень благодарен за подробное разъяснение алгоритма регулировки уровня с привязкой к децибелам.


В итоге в базовом проекте возможен или нет вариант, когда на входе интерполятора прилетит сигнал с +6dB?
 
Последнее редактирование:

Наиль

Active member
Добрый вечер!
Bin спасибо за ответы и за развернутые объяснения.
У меня три новости:
1. Стример жив. Вскрыл, все осмотрел, следов активного окислительного процесса не обнаружил. Включил. Работает!!!! (Буду считать что отгорело что то явно не нужное)
2. Установил проект Bin. Включил, послушал Mylène Farmer, Adele, потом Wyr Gemi. Не обнаружил проблем описанных ivashka777. Звук понравился очень. Теперь в голове тема поиска хорошей акустики.
3. На моих колонках очень сложно услышать разницу. Проверял работу кнопкой SuperBass. Возможно Я внушаемый но действительно после первого трека кнопка уже не реагировала от слова совсем. После перезагрузки повторил опыт на вот этом треке Vivaldi: Concerto In A Minor, RV 356 - 2. Largo. Avi Avital-Vivaldi результат тот же - после первого трека не переключается. Снова перезагрузка, снова Mylène Farmer, попытка на втором треке - результат к сожалению тот же.

По опыту скажу графическое программирование вещь в себе - иногда вылезают такие недокументированные радости!


Гугл дает вот такие решения:
1. С полным отключением ТК

hivi_5142_londness_1.png


2. Блоки ТК и Громкости в конце
i2s_dec_agc_loudness.PNG


3. Использование блока Tone:

Без имени.jpg


Я не пользовался PPS, но возможно это поможет.


P.S. Ode To Hustle Ezinma- Classical Bae 44.1 kHz 24 bit Вот на этом треке вылезли серьезные искажения.
 
Последнее редактирование:
  • Like
Реакции: Bin

Bin

Active member
Приветствую!

Спасибо за решения PPS!!!
У. Вас тот же эффект что и у меня, но после смены трека с обрывом потока данных не просто кнопка не работает, а отключается фильтр Loudness СОВСЕМ :(
Сегодня пол ночи экспериментировал и строил похожие схемы. Вариантов проверил много (благо когда под рукой и PPS и Чипстудия это все занимает несколько минут). Проекты и минимизировал (вдруг превышен порог по количеству инструкций проекта) и комбинировал по разному.
К сожалению результат тот же.
Обратил внимание на то, что если в плейлисте запустить на проигрывание список, то при смене треков поток не обрывается и ТК не выключается (возможно повезло). Но любая остановка потока - Стоп, Пауза, Повторный Плэй вызывает сбой работы фильтра Loudness!
Лечится повторной инициализацией проекта: либо запустить что то с другими параметрами (частота\битность) - потом можно вернуться обратно на то что слушал (опять смена проекта). Либо можно проект сгрузить в управляющую плату прямо на лету - как только он будет загружен и плата стартанет сразу запускается все как положено с ТК и играет пока поток по каким либо причинам не пропадет (стоп, пауза и т.д.)

Пока разбирался с этим вопросом, параллельно проштудировал datasheet на PCM5242. Посмотрел что куда пишется и что можно запрограммировать. Весьма интересно, но с первого раза не запомнить - надо на практике пробовать. Но на это , к сожалению, маловато времени, да и практических знаний, боюсь не хватит :( Попробовал играть со всеми 4-мя коэффициентами Loudness - думаю что со временем настроим каждому по необходимой функции для Ваших и ivashka777 аудио сетапов.

Вот с регулировкой звука так и не разобрался - в проектах перепробовал несколько вариантов и с чисто блоком Volume и только с REGVOL.
Евгений в начале этой ветки давал пояснения, что REGVOL это значения изменяемые напрямую через регистры, а Volume через PPS.
Но как это работает вместе не понимаю.
И коллеги из Чипа и Дипа - были правы - в исходном проекте регулировка громкости настроена весьма хорошо (хотя нет предела совершенству :)).

Так что ждем помощи (или подсказки куда смотреть) от Олега или Евгения по вопросу отключения фильтра Loudness.

А пока делаю длинный плейлист - потом жму Play и не трогая управления треками слушаю :)
 
Последнее редактирование:

Наиль

Active member
Добрый вечер!

Еще пару пара часов истязаний стримера дала следующие моменты:
1. Нашел только одну шляпу из списка Volumio (меню настройка аудио) построенную на РСМ 5242 = osa dacberry pro
2. Убирал задержку времени - не помогло.
Без имени3.jpg


3. Отключал режим DSD Direckt вышла ошибка. Где то на форуме проскользнуло что РСМ 5242 DSD не работает.

Без имени2.jpg


4. На некоторых треках ТК не работает сразу! На некоторых работает но при повышенной ТК дает сильные искажения. Может быть срабатывает защита?

Пора ставить PPS и курить мануал.
 
Последнее редактирование:
  • Like
Реакции: Bin

Олег

Administrator
Команда форума
Вы меня заразили. Вот, заморочился и сделал демонстрационный проект в Чип и PP Студиях. Мне не очень нравится алгоритм Loudness от TI потому как сложно что-либо перестроить. Вот как они сказали, так и будет. Хочется поэкспериментировать, поиграть с АЧХ на разных уровнях громкости, может слух россиянина отличается от слуха американца.
Поэтому предлагаю сделать так:
В проект PP-студии добавим по одному фильтру в левый и правый широкополосные каналы. Назовем их Biquad_Tone_L и Biquad_Tone_R.
Сабвуфер пусть живет своей жизнью, там за границей 50Гц. Его не трогаем.

Схема будет такая:
LoudnessPP.jpg


А в Чип-студии настройки этих фильтров приклеим к переменному резистору регулировки громкости. Т.е. будем изменять АЧХ в зависимости от уровня громкости. Вот так это выглядит в проекте ChipStudio:

LoudnessCS.jpg


К этому резистору уже прикручена регулировка громкости. Теперь будет регулировка громкости с тонкомпенсацией.
Таблицу настроек фильтров тонкомпенсации создадим в калькуляторе TIBQ.

Я выбрал вот такие кривые АЧХ:

Loudness.jpg


Это десять фильтров-эквалайзеров, средняя частота которых 2кГц и полоса 3кГц. У каждого фильтра свой коэффициент усиления от 0 до -12дБ. Получается так - с каждым шагом уменьшения громкости увеличивается подъем (примерно на 2дБ) одновременно на низких и высоких частотах.

Вот таблица данных:

"* Filter 1 EQ 2000 Hz Fc -12,0 dB 3000 Hz BW"

"* Filter 2 EQ 2000 Hz Fc -10,0 dB 3050 Hz BW"

"* Filter 3 EQ 2000 Hz Fc -8,0 dB 3100 Hz BW"

"* Filter 4 EQ 2000 Hz Fc -7,0 dB 3200 Hz BW"

"* Filter 5 EQ 2000 Hz Fc -6,0 dB 3300 Hz BW"

"* Filter 6 EQ 2000 Hz Fc -5,0 dB 3350 Hz BW"

"* Filter 7 EQ 2000 Hz Fc -4,0 dB 3400 Hz BW"

"* Filter 8 EQ 2000 Hz Fc -3,0 dB 3400 Hz BW"

"* Filter 9 EQ 2000 Hz Fc -2,0 dB 3450 Hz BW"

"* Filter 10 EQ 2000 Hz Fc -1,0 dB 3500 Hz BW"

В этом проекте я установил экстремальные значения. Вы можете сделать более мягкое изменение АЧХ. Уменьшить/увеличить полосу, подвигать “резонанс”.

Пробуйте! Мне очень понравилось и с этими значениями.
Напористый, если не сказать могучий бас на любой громкости, на который льются чистейшие высокие частоты. Магия!

Скачать проект
 
Последнее редактирование:
Верх