Russian Qt Forum

Qt => Мультимедиа => Тема начата: Bepec от Ноябрь 28, 2012, 07:23



Название: Вопрос по звуку (микрофон)
Отправлено: Bepec от Ноябрь 28, 2012, 07:23
Вопрос к специализирующемся по звуку людям и нелюдям.

Обстановка - ноутбук, играющий мелодии разные. Имеет в своём составе микрофон и вебку.

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

PS Проще выражаясь играет музыка, начался разговор - музыка автоматом глохнет.


Название: Re: Вопрос по звуку (микрофон)
Отправлено: xokc от Ноябрь 28, 2012, 09:08
Теоретически можно (искать по VAD - voice activity detector). Но, как всегда, много вопросов. Соизмерима ли громкость голоса человека с громкостью музыки и т.п.
Если делать совсем правильно, то нужно постоянно перехватывать вывод музыки (если плеер чужой) "вычитать" её из того, что получаешь через микорофон и только потом "кормить" получившуюся разницу на VAD.
Проблем для новичка (особенно в случае, если решение нужно универсальное) - море.
1. Различные sound API на разных ОС (даже в рамках линейки Windows). С учётом необходимости перехвата выводимой музыки, управления микшером и т.п. тонких моментов будет много.
2. Нормальная реализация всех DSP алгоритмов: академических статей много, доступных программных реализаций - мало.
В общем, если "just for fun" я бы не брался. Если за деньги - запросил бы достаточно много.


Название: Re: Вопрос по звуку (микрофон)
Отправлено: Bepec от Ноябрь 28, 2012, 10:46
Благодарю, "just for fun".