• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

ask1

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

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

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

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

nikolz

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

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

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

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

pvvx

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