Идентификация в режиме реального времени неречевого, не музыкального звука из непрерывного потока микрофона - PullRequest
8 голосов
/ 27 ноября 2011

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

Система должна быть более сложной, чем «детектор громкого шума»; он должен уметь отличать этот специфический звук от других громких шумов.

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

  • Является ли эта задача значительно отличающейся от распознавания речи, или я мог бы использовать библиотеки / инструментарии распознавания речи для идентификации этих неречевых звуков?
  • Учитывая требование, что мне нужно соответствовать только одному звуку (в отличие от сопоставления среди библиотеки звуков), можно ли выполнить какие-либо специальные оптимизации?

Этот ответ указывает на то, что согласованный фильтр был бы уместен, но я не совсем уверен в деталях. Я не верю, что простая взаимная корреляция данных формы звукового сигнала между образцом целевого звука и потоком микрофона была бы эффективной из-за изменений в целевом звуке.

Мой вопрос также похож на этот , который не привлек к себе большого внимания.

Ответы [ 2 ]

3 голосов
/ 27 ноября 2011

Я нашел интересную статью на эту тему

Он также должен работать для вашего приложения, если не лучше, чем для звуков транспортного средства.

При анализе данных тренировки это ...

  1. Взятие образцов 200 мс
  2. выполняет ли преобразование Фурье (БПФ) на каждом образце
  3. Проводит ли анализ главных компонентов на частотных векторах

    • Рассчитывает среднее значение всех образцов этого класса
    • Вычитает среднее из образцов
    • Вычисляет собственные векторы средней ковариационной матрицы (среднее от внешних произведений каждого вектора на себя)
    • Хранит среднее и наиболее значимые собственные векторы.

Затем классифицировать звук, это ...

  1. Взятие образцов 200 мс (с).
  2. выполняет преобразование Фурье для каждого образца.
  3. Вычитает среднее значение класса (C) из частотного вектора (F).
  4. Умножает вектор частоты на каждый собственный вектор C, давая число от каждого.
  5. Вычитает произведение каждого числа и соответствующего собственного вектора из F.
  6. Принимает длину результирующего вектора.
  7. Если это значение ниже некоторой константы, S признается принадлежащим классу C.
3 голосов
/ 27 ноября 2011

Эта докторская диссертация, Система неречевой звуковой классификации окружающей среды для автономного наблюдения , разработанная Каулингом (2004), содержит экспериментальные результаты по различным методам выделения звуковых характеристик, а также классификации. Он использует окружающие звуки, такие как звенящие звуки и шаги, и смог достичь точности 70%:

Лучшим методом считается непрерывное вейвлет-преобразование. Извлечение функций с помощью динамической деформации времени или Mel-Frequency Cepstral Коэффициенты с динамической деформацией времени. Обе эти техники достичь 70% признания.

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

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

Я также нашел более свежую статью здесь: Обнаружение звуковых событий для семантического поиска видео , автор Bugalho et al. (2009), где они обнаруживают звуковые события в фильмах (например, выстрелы, взрывы и т. Д.).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...