Помогите реализовать регулятор громкости...

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Помогите реализовать регулятор громкости...

Сообщение shads »

Всем привет.

Прошу помощи в создании небольшой программки для STM32F100C8 (т.к. именно их 10 штучек валяются без дела...)
Заодно будет для меня первый опыт в STM_ках... ато как то кроме мигания светиком пока не было времени продвинуться ))) http://radiokot.ru/forum/viewtopic.php? ... 2#p2142502
Если я не в тему в этой ветке со своей просьбой, то ткните носом, куда лучше обратится...

В обчем задача такая...
Нужно соЙстряпать на СТМ-ке 2-х канальный регулятор громкости для слабослышащих...
Делать на переменниках как то не современно, да и переменники быстро сдыхают... а тут на одном кристалле и 2-х кнопочках сразу 2 регулятора для 2-х слабослышащих...
Ставится это будет в общественном месте, там где места для слабослышащих...
Между 2-мя креслами - одна коробочка с 2-мя разъемами для наушников... и с 2-мя кнопочками для каждого слушателя... каждой кнопочкой можно по кругу переключать ступени громкости, думаю 4 уровня хватит (средне, выше среднего, громко, максимально громко)... ну и 2 светика которые будут как то отображать текущий уровень...

Я так понимаю что надо подать входной сигнал на ADC, и в цикле результаты замеров, поделенные на значение уровня для каждого канала - выдавать на 2 канала DAC...
Думаю STM должен потянуть частоту дискредизации в 20кГц... хотя наверное для слабослышащих и 10кГц сойдет... все равно в основном речь будет транслироваться...

Есть кто нибудь кто может накидать кода ???
Если что, у меня KEIL 454
Реклама
Аватара пользователя
menzoda
Вымогатель припоя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Re: Помогите реализовать регулятор громкости...

Сообщение menzoda »

Мне кажется это как горло лечить через задницу. АЦП и ЦАП в обычных МК совершенно не подходят для аудио применений, нет конечно можно попробовать, но что получится на выходе? Тем более речь идет о слабослышащих, они и так плохо слышат, а тут им еще звук через такую ерунду пропустили. Тем более это слишком сложно для такой задачи, ну не нравится механический переменник - можно взять цифровой, какие проблемы? Полностью аналоговая цепь с цифровым потенциометром, управляемая любым копеечным пиком с восемью ногами, по моему идеальный вариант.

Если цель сделать не хорошо, а чтобы STM и ЦАП, то чего уж, делай. Читай из АЦП да пиши в ЦАП, скорости должно и для 20 кГц хватить, вот только разрядность у АЦП и ЦАП 12 бит, а эффективная наверное всего 10 бит.
Реклама
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Помогите реализовать регулятор громкости...

Сообщение shads »

menzoda писал(а):Мне кажется это как горло лечить через задницу.
Сказано конечно сильно... но вот от практики очень далеко )))
menzoda писал(а):АЦП и ЦАП в обычных МК совершенно не подходят для аудио применений, нет конечно можно попробовать, но что получится на выходе?
А что получится на выходе... помоему очень качественный звук...
почитал интернеты, хвалят там STM-ный ADC\DAC... на 12 разрядах только младший бит вроде шумит чуть... а так красота...
menzoda писал(а):Тем более это слишком сложно для такой задачи
А факты какие о слишком сложности???
menzoda писал(а):Полностью аналоговая цепь с цифровым потенциометром, управляемая любым копеечным пиком с восемью ногами, по моему идеальный вариант.
Ну это действительно для каких нибудь HiFi направлений... а у меня всего то задача СЧ обрабатывать... да и по цене наверное цифровые потенциометры не самые дешевые... но не в этом дело, просто к меня есть STM_ки и есть конкретная задачка...
menzoda писал(а):Если цель сделать не хорошо, а чтобы STM и ЦАП, то чего уж, делай.
Вот уже и делаю...
Скачал кубика, сижу морокую...

Изображение
Вложения
stm.png
(67.93 КБ) 1371 скачивание
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Помогите реализовать регулятор громкости...

Сообщение HHIMERA »

Убрал.
Нарушение Правил форума п. 2.4
aen
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: Помогите реализовать регулятор громкости...

Сообщение AVI-crak »

shads писал(а): Нужно соЙстряпать на СТМ-ке 2-х канальный регулятор громкости для слабослышащих...
Если вход - то на весь динамический диапазон ацп, а это всего 12 разрядов. Смысла особого усиливать эти 12 разрядов не наблюдается. Ведь в случае усиления скажем в 1000 - на выходе получаем двухбитный цап, да ещё и с шумом. В случае уменьшения громкости в 1000 раз - тоже двухбитный цап...
Реклама
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Помогите реализовать регулятор громкости...

Сообщение shads »

AVI-crak писал(а):Если вход - то на весь динамический диапазон ацп, а это всего 12 разрядов.
Верно... но для оцифровки речи это выше крыши...
Другое дело если бы мы оцифровывали высококач музыку, но таких требований нет...
AVI-crak писал(а):Смысла особого усиливать эти 12 разрядов не наблюдается. Ведь в случае усиления скажем в 1000 - на выходе получаем двухбитный цап, да ещё и с шумом. В случае уменьшения громкости в 1000 раз - тоже двухбитный цап...
Чет вас как то шарахает из стороны в сторону )))))
Зачем усиливать в 1000 раз?
У нас нормальный линейный сигнал, который сразу можно подавать на ADC... и на выходе DAC нужен такой же уровень... т.е. ничего усиливать вообще не надо...
Зачем уменьшать в 1000 раз?
Достаточно нескольких градаций громкости, например 100%, 85%, 70%, 55%... т.е. уменьшаем всего в 2 раза... (11 разрядов)
Реклама
pixar
Потрогал лапой паяльник
Сообщения: 314
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Re: Помогите реализовать регулятор громкости...

Сообщение pixar »

аналоговый ключ 2 х (4:1) с фиксированными аттенюаторами.
управлять всё равно от чего , хоть от стмки , раз уж "она есть" .
про ацп цап забыть.
pixar
Потрогал лапой паяльник
Сообщения: 314
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Re: Помогите реализовать регулятор громкости...

Сообщение pixar »

50 % это не регулировка для слабослышащих .
нужен диапазон как раз 40-60 дБ , на что 12 разядов не хватит .
в телекоме принято 8 разрядов с компрессором - экспандером, в линейной шкале это 10 разрядов .
10 бит ты как раз с ацп и получишь . ЦАП 12 бит - на громкость остается 2 разряда, это 12 дБ регулировки из требуемых 40-ка.
Если подключить телекомовский альфа-кодек - можно диапазон расширить, но тоже недостаточно. При этом экспандер будет частично аналоговый - тоже гемор. Ищи G.711 codec , реализаций полно. Alpha -law ( A-Law) работает быстрее.

можно поробовать ЦАПу добавить разрядности через oversampling , но это точно не для тебя задача.

Pешай в аналоге - там всё элементарно.
Последний раз редактировалось pixar Вт янв 19, 2016 11:47:54, всего редактировалось 8 раз.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Помогите реализовать регулятор громкости...

Сообщение HHIMERA »

100% !!! Чувствительность уха то логарифмическая... А для со слабым слухом... вообще может быть непонятно что... :music:
"Я не даю готовых решений, я заставляю думать!"(С)
pixar
Потрогал лапой паяльник
Сообщения: 314
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Re: Помогите реализовать регулятор громкости...

Сообщение pixar »

можно выдавать через 4 канала ШИМа , с фиксированными аттенюаторами.
включать только один канал , ненужные отключать.
вылезет проблемка с выходным фильтром , но тоже решаемо.
как ни кинь - аналоговый MUX проще всего .
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Помогите реализовать регулятор громкости...

Сообщение HHIMERA »

Есть ещё вариант на ШИМ... озвучивать не буду... им ещё на ПИКах пользовались...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Помогите реализовать регулятор громкости...

Сообщение shads »

pixar писал(а):аналоговый ключ 2 х (4:1) с фиксированными аттенюаторами. управлять всё равно от чего , хоть от стмки , раз уж "она есть" .
про ацп цап забыть.
Можно конечно и забы(и)ть, но раз они у нас есть, грех ими не воспользоваться...
Хотя спасибо за вариант, в принципе буду иметь ввиду...
pixar писал(а):50 % это не регулировка для слабослышащих. нужен диапазон как раз 40-60 дБ ...........
в телекоме принято 8 разрядов с компрессором - экспандером........... Если подключить телекомовский альфа-кодек.............
можно поробовать ЦАПу добавить разрядности через oversampling ..........
Ну вы ваще куда то в дебри высшей математики ушли )))))
Сейчас человек слушает трансляцию в наушниках на максимальной громкости с выхода микшера и счастлив как никто... а вы про "50 % это не регулировка"
pixar писал(а):можно выдавать через 4 канала ШИМа, с фиксированными аттенюаторами. включать только один канал
Тоже идея... Но получается что на 2 независимых канала - нужно будет 8 ШИМ выходов... есть ли столько в моем проце???
Попробую пока так как я изначально задумал, а если уже не получится, буду остальные варианты рассматривать...
viiv
Грызет канифоль
Сообщения: 289
Зарегистрирован: Чт ноя 06, 2014 13:09:06

Re: Помогите реализовать регулятор громкости...

Сообщение viiv »

shads писал(а): Сейчас человек слушает трансляцию в наушниках на максимальной громкости с выхода микшера и счастлив как никто... а вы про "50 % это не регулировка"
Человеческое ухо не линейно (грубо - логарифмическая зависимость). Ради эксперемента, возмите аудиофайл pcm-формата, поделите все значения на два и послушайте исходный файл и модифицированный (естественно на одном и том же уровне громкости).

А у слабослышащих все еще хуже может быть - они вообще могут не различить изменение громкости в приведенном выше примере.
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Помогите реализовать регулятор громкости...

Сообщение shads »

viiv писал(а):Человеческое ухо не линейно (грубо - логарифмическая зависимость). Ради эксперемента, возмите аудиофайл pcm-формата, поделите все значения на два и послушайте исходный файл и модифицированный (естественно на одном и том же уровне громкости).
Ну и что я услышу... что поделенный файл стал звучать громче чем не поделенный ?????
Что вы прицепились к нелинейности... ясный пень что чувствительность уха не линейна... цифры которые я привел выше - привел как пример... реальные границы диапазонов громкости можно будет подобрать на слух...
viiv писал(а):А у слабослышащих все еще хуже может быть - они вообще могут не различить изменение громкости в приведенном выше примере.
И что страшного произойдет если они не различат изменения громкости ???
Задача состоит не в том, чтобы слабо слышащий балдел от того что он различает изменения громкости при переключении уровней...
А задача состоит в том, чтобы для совсем глухого человека дать возможность наушникам работать на максимальной мощности...
А для нормально слышащего человека иметь возможность уменьшить мощность до приемлемого комфортного уровня...
В итоге под любой деффект слуха можно будет примерно отрегулировать уровень в наушниках... либо выдав максимум на наушники либо уменьшив громкость до приемлемого комфортного уровня...
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Помогите реализовать регулятор громкости...

Сообщение HHIMERA »

shads писал(а): А задача состоит в том, чтобы для совсем глухого человека дать возможность наушникам работать на максимальной мощности...
А для нормально слышащего человека иметь возможность уменьшить мощность до приемлемого комфортного уровня...
Ты себя к кому относишь??? Ты вообще слышишь... что тебе другие говорят... или просто тупо пишешь своё???
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Помогите реализовать регулятор громкости...

Сообщение dosikus »

HHIMERA, однозначно, как местное большинство - абыкакработало :)))
viiv
Грызет канифоль
Сообщения: 289
Зарегистрирован: Чт ноя 06, 2014 13:09:06

Re: Помогите реализовать регулятор громкости...

Сообщение viiv »

shads писал(а): Что вы прицепились к нелинейности... ясный пень что чувствительность уха не линейна... цифры которые я привел выше - привел как пример... реальные границы диапазонов громкости можно будет подобрать на слух...
Выделяют 4 степени тугоухости и глухоту:
§ I степень – 26-40 дБ;
§ II степень – 41-55 дБ;
§ III степень – 56-70 дБ;
§ IV степень – 71-90 дБ;
§ Глухота – более 90 дБ.
Для какой категории Вы собираетесь "подобрать на слух"? Или в указанное "общественное место" ходят люди с одинаковой степенью тугоухости? Тогда другое дело, но в этом случае регулятор громкости не нужен.

Диапазон для слабослышащих 64dB!!! Понимаете, что такое 64dB?
Вот на эту цифру и надо ориентироваться. ЦАП Вашего микроконтроллера без внешних регуляторов не позволяет решить задачу (ну или Вы задачу не точно описали). А если есть внешний регулятор, то и АЦП-ЦАП Вашего микроконтроллера не нужен (опять же, исходя из данной Вами задачи).
pixar
Потрогал лапой паяльник
Сообщения: 314
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Re: Помогите реализовать регулятор громкости...

Сообщение pixar »

HHIMERA писал(а):Ты себя к кому относишь??? Ты вообще слышишь... что тебе другие говорят... или просто тупо пишешь своё???
есть такие люди , которые что-то спросят и ловят вполне бесплатный ответ .
есть такие люди , с которых проще запросить ТЗ под роспись и озвучить цену работы .
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Помогите реализовать регулятор громкости...

Сообщение shads »

viiv писал(а):Выделяют 4 степени тугоухости и глухоту:
§ I степень – 26-40 дБ;
§ II степень – 41-55 дБ;
§ III степень – 56-70 дБ;
§ IV степень – 71-90 дБ;
§ Глухота – более 90 дБ.
Спасибо за раскладочку...
viiv писал(а):или Вы задачу не точно описали
Именно... я изначально чуть не правильно озвучил свои хотелки...
Конечно же я не собираюсь делать озвучку для всех вариантов... обычно это пожилые люди, пользующиес слуховым аппаратом... думаю это III степень максимум...
Да и то, если кому то будет не хватать громкости - это не мои проблемы... тут никаких жестких требований нет...

IV и V степени - это конечно крайности...
Думаю если кому то надеть на уши 90 дБ, то просто башка начнет трещать от тряски))) или все таки существуют звуковые системы для таких степеней?
Последний раз редактировалось shads Ср янв 20, 2016 17:58:23, всего редактировалось 3 раза.
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Помогите реализовать регулятор громкости...

Сообщение shads »

pixar писал(а): есть такие люди , с которых проще запросить ТЗ под роспись и озвучить цену работы .
А я честно говоря не понимаю тех которые клянчат работу на форуме...
(Хотя не буду отрицать, что возможно ктото на этом и живет...)

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

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

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

Вернуться в «ARM»