• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Определение наличия других звуков устройством воспроизводящим звук музыки

ask1

Member
Есть ли способ определить, что в помещении воспроизводится звук (или говорят люди, или работают механизмы) при условии, что само устройство, которое это определяет тоже воспроизводит звук?

Смысл вот в чем: датчик присутствия (любой) определяет наличие человека в помещении, после чего устройство включает воспроизведение музыки, как только человек начинает пользоваться пылесосом или звонит по телефону, то музыка отключается. Еще музыка отключается, когда человек из помещения уходит.

С датчиком присутствия все более менее понятно: нужно выбрать подходящий вариант и ждать появление и исчезновение объекта. А вот как быть со звуком? Воспроизведение музыки забивает микрофон, который можно установить в этом же устройстве. Теоретически можно в противофазе накладывать воспроизводимую музыку на сигнал с микрофона и находить громкие звуки, которые явно будут проявляться на достаточно тихом фоне. Я пока не пробовал такое делать, но у меня есть ощущение, что звук, который прошел через какие-то динамики и отразился от каких-то непонятных стен будет очень сложно удалить путем вычитания исходного сигнала из записанного, просто потому, что даже громкость исходного файла и записанного с микрофона будет разная.

Может быть есть какой-то другой способ проверять наличие звуков в помещении?
 

nikolz

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

Смысл вот в чем: датчик присутствия (любой) определяет наличие человека в помещении, после чего устройство включает воспроизведение музыки, как только человек начинает пользоваться пылесосом или звонит по телефону, то музыка отключается. Еще музыка отключается, когда человек из помещения уходит.

С датчиком присутствия все более менее понятно: нужно выбрать подходящий вариант и ждать появление и исчезновение объекта. А вот как быть со звуком? Воспроизведение музыки забивает микрофон, который можно установить в этом же устройстве. Теоретически можно в противофазе накладывать воспроизводимую музыку на сигнал с микрофона и находить громкие звуки, которые явно будут проявляться на достаточно тихом фоне. Я пока не пробовал такое делать, но у меня есть ощущение, что звук, который прошел через какие-то динамики и отразился от каких-то непонятных стен будет очень сложно удалить путем вычитания исходного сигнала из записанного, просто потому, что даже громкость исходного файла и записанного с микрофона будет разная.

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

pvvx

Активный участник сообщества
  1. Прогнать с динамика генерацию частоты по всему диапазону, записать уровни для каждой частоты коротких окон БПФ с учетом поглощения-отражения-нелинейности на микрофоне.
  2. Воспроизводить музыку, создавая БПФ в малых окнах на исходнике и с микрофона.
  3. Используя коэф. полученные в пп.1 вычесть уровни БПФ устройства воспроизведения из принятых с микрофона.
  4. По итоговой разнице определить изменение поглощения-отражения или появления дополнительных составляющих.
 
Сверху Снизу