Сравните звуковые спектры, чтобы найти различия

У меня есть несколько аудиозаписей вращающейся машины, одна, когда машина работает нормально, а другая, когда возникает проблема. На слух мы можем услышать разницу, но когда я вычисляю спектры БПФ двух записей, спектры выглядят почти одинаково (даже с самыми маленькими бинами). Поэтому мне интересно, есть ли альтернативы БПФ или я делаю это неправильно. Моя цель — автоматически определить разницу, которую мы слышим, чтобы я мог получать уведомления каждый раз, когда машина работает не так, как должна.

Спасибо


person lafak    schedule 14.05.2020    source источник
comment
Вы можете загрузить краткий пример работы и неработающей машины? Может быть всего 5 секунд для каждого?   -  person Jon Nordby    schedule 15.05.2020
comment
Я сделал два видео для хорошего звука: youtu.be/XWMcnIFg218 youtu.be/0iWvlH5bZmg При их обработке я уменьшил частотное окно (со 100 Гц до 1 или 2 кГц), чтобы избавиться от шумов, которые не не полезно.   -  person lafak    schedule 16.05.2020
comment
Выдает ошибку, видео закрыто. Должен быть установлен на Unlisted для других со ссылкой для доступа   -  person Jon Nordby    schedule 16.05.2020
comment
Извините, теперь может быть хорошо, кстати, спасибо за ваш ответ   -  person lafak    schedule 16.05.2020
comment
Эти клипы великолепны. Добавлен ответ ниже с супербыстрым анализом   -  person Jon Nordby    schedule 16.05.2020


Ответы (2)


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

введите описание изображения здесь При нормальной работе (верхний ряд) можно увидеть довольно четкое тональное содержание на частоте ‹400 Гц и очень четкую составляющую на частоте около 2000 кГц. В аномальном состоянии (нижний ряд) наблюдаются периодические всплески энергии, охватывающие весь частотный диапазон.

Эти два шаблона должны быть легко различимы с использованием модели машинного обучения (при наличии достаточного количества данных). Например, небольшая сверточная нейронная сеть или рекуррентная нейронная сеть на спектрограммах. К такому варианту использования обычно подходит настройка обнаружения аномалий, когда модель обучается только на обычных данных. Однако помеченные аномальные данные чрезвычайно полезны для проверки.

Для справки, настройки, которые я использовал в Audacity, были следующими:

введите здесь описание изображения

С уважением, Джон Нордби, технический директор Soundsensing AS, эксперты в области машинного слуха.

person Jon Nordby    schedule 16.05.2020
comment
Я думаю, что машинное обучение слишком тяжело для этой задачи. Я углубился в спектральный анализ, потому что я был сосредоточен только на частотах ниже 500 Гц, и вы правы, там большая разница около 2 кГц. Благодарю вас ! - person lafak; 19.05.2020
comment
Почему машинное обучение слишком тяжело для этой задачи? ML для этого должен работать на простом микроконтроллере. - person Jon Nordby; 19.05.2020
comment
Дело больше в батарее, мне нужно сохранить как можно больше батареи. Я далеко не специалист, но я полагаю, что ML действительно сжигает довольно много батареи или, по крайней мере, больше, чем простой алгоритм, верно? - person lafak; 19.05.2020
comment
Я бы оценил его менее чем в 100 милливатт, используя устройство типа Cortex M4F. - person Jon Nordby; 19.05.2020
comment
О, ладно, я думал, что это было больше. Я смотрел вашу конференцию по классификации аудио, и это было довольно интересно. Я новичок в этой области. Итак, на данный момент я пытаюсь создать набор аудиоданных, как вы думаете, сколько данных мне нужно для использования алгоритма ML? И знаете ли вы библиотеку, которая будет хорошо работать с этим приложением? спасибо :) - person lafak; 23.05.2020
comment
Самое главное, чтобы ваш набор данных охватывал все ожидаемые вариации, особенно диапазон нормальных состояний интересующей машины (машин). Например: разные модели машины, разные настройки машины, разные стили оператора, разные условия работы и т. д. Если вы применяете обнаружение аномалий, то абсолютный минимум 100 помеченных экземпляров для проверки и тестирования. И как минимум в 10-100 раз больше, чем в неразмеченных данных для обучения. Если для каждого экземпляра достаточно пары секунд, то это не так много минут. - person Jon Nordby; 24.05.2020
comment
В этой презентации я немного расскажу о сборе данных, youtube.com/watch?v=1H63PewtDbo - person Jon Nordby; 24.05.2020

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

Надеюсь, что это полезно.

person jstarr    schedule 14.05.2020
comment
Спасибо за ответ, на неделе попробую - person lafak; 16.05.2020