Идентификация в реальном времени неречевого, немузыкального звука из непрерывного микрофонного потока

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

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

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

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

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

Мой вопрос также похож на this, который получил мало внимание.


person kostmo    schedule 27.11.2011    source источник
comment
Возможно, вам повезет больше на dsp.stackexchange.com.   -  person mtrw    schedule 27.11.2011


Ответы (2)


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

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

Анализируя данные обучения, он ...

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

    • Calculates the mean of all samples of this class
    • Вычитает среднее из выборок
    • Вычисляет собственные векторы средней ковариационной матрицы (среднее значение внешних произведений каждого вектора на себя)
    • Хранит среднее и наиболее значимые собственные векторы.

Затем, чтобы классифицировать звук, он ...

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

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

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

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

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

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

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

person Emile Cormier    schedule 27.11.2011
comment
@AJMansfield Нашел альтернативные ссылки на статьи. - person Emile Cormier; 30.08.2015