Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как в цифре изменить громкость звука
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
IgorAVR2
Как с помощью математики изменить громкость звука?

Задача: имеется оцифрованный звук, который будет выводиться на аудил DAC, например TDA1311 или UDA1334. Нужно как то микроконтроллером регулировать громкость с хорошим качеством при воспроизведении, как например это делаю программы звуковых редакторов или в сидюке как то регулировалось, где стоит эта TDA1311. Конечно можно это делать простым делением, но получается достаточно таки не качественно, проверенно. Как делать правильно?
blackfin
Цитата(IgorAVR2 @ Dec 26 2010, 18:45) *
Конечно можно это делать простым делением, но получается достаточно таки не качественно, проверенно. Как делать правильно?

Правильно делать умножением на коэффициент 0< K < 1.0 или штатными средствами усилка, если они предусмотрены..
Burner
Ну увеличить проще. Если сделать сдвиг влево, то будет только щелчок при переключении(из-за скачка пост. составляющей). Если симметрировать сигнал отн. нуля, то щелчок будет куда меньше. А для уменьшения громкости можно снижать опорное напряжение ЦАП.
halfdoom
Цитата(IgorAVR2 @ Dec 26 2010, 19:45) *
регулировать громкость с хорошим качеством при воспроизведении

В "цифре", это не есть хорошо. Допустим, у вас 16-битный ЦАП и вы подаете сигнал с него на 60-ваттный усилитель, который выдает полную мощность при 16-битной амплитуде синусоиды на выходе ЦАПа. Понятно, что для комфортного прослушивания потребуется ватт 3-5. Посчитайте, сколько бит в ЦАПе будут задействованы для такой мощности и какие при этом будут искажения. Гораздо лучше регулировать с помощью управляемых цифрой потенциометров. Мне в свое время понравились CS3310.
sevstels
Проще взять нормальный ЦАП, например этот, а не пользовать микросхему прошлого века.

IgorAVR2
Спасибо всем за ответы. Почти все вариаты я рассматривал и могу сказать следующее:

- Умножением на 0< K < 1.0 я не пробовал, надо попробовать и может быть это меня и устроит. По крайней мере я и хотел узнать как математичеи это делают, например делали в старых сидюках.

- Для уменьшения громкости, как и посоветовал Burner, я уже применял уменьшения опорного напряжения ЦАПа. Вариант сносный, но проблема в том то это напряжение можно снижать далеко не в 0, а
значит и громкость далеко не в 0, проверено. Дешёво и сирдито, но рботает.

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

- Прошлого века ЦАП никто и не хочет использовать, но всегда хочется LOW COST, поэтому варианты навороченных дорогих цапов я не рассматривал. Тем более что мне уж совсем не нужно ни 24-бита, ни 192 кГц. Мне бы вполне хватило 16-бит/44100 - воспроизводится будет не музыка, а голосовые файлы. Только хотелось бы этоделать качественно. Поэтому я как вариант рассматривал UDA1330 в котором есть регулировка громкости. Но с ним другая непонятка, на которую в соседней ветке никто не ответил. Обязательно ли ей внешнее тактирование или оно нужно только для передескретизации?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.