Процесс анализа аудио для определения его звуковых архетипов можно назвать acoustic fingerprinting
Аудио имеет временное измерение, поэтому для того, чтобы засвидетельствовать ваши "основные звуки", требуется прослушивание аудио в течение определенного периода времени.через последовательность мгновенных аудиосэмплов.Аудио можно рассматривать как кривую временного ряда, в которой для каждого момента времени вы записываете высоту звуковой кривой, оцифрованной в формате PCM.Требуется время настенных часов, чтобы услышать данный «основной звук».Здесь ваше аудио находится в своем естественном состоянии во временной области.Однако информационная нагрузка участка звука может быть преобразована в его аналог в частотной области путем подачи окна выборок звука в вызов API fft (чтобы принять его преобразование Фурье).
Очень тонкий аспект использования БПФ состоит в том, что он удаляет измерение времени из входных данных и заменяет его дистилляцией, сохраняя при этом входную информационную нагрузку.Кроме того, если аудио является периодическим после преобразования из временной области в его представление частотной области путем применения преобразования Фурье, оно может быть восстановлено обратно в ту же самую идентичную звуковую кривую во временной области путем применения обратного преобразования Фурье.Данные, которые начинали жизнь как кривая, которая колеблется вверх и вниз во времени, теперь представляются как разброс частот, каждая из которых имеет интенсивность и сдвиг фазы, но критически, без какого-либо представления о времени.Теперь у вас есть возможность вытащить из этого статического массива частот набор атрибутов, которые могут быть представлены структурной структурой данных с обычной структурой и в то же время проникнуть в ее временные источники.
Здесь вы можете найти свои "основные звуки".В первом приближении вы просто складываете верхние X-частоты вместе с их значениями интенсивности, и это является мерой заданного отрезка времени вашего входного аудио, захваченного как его «основной звук».Как только у вас есть коллекция «основных звуков», вы можете использовать это, чтобы определить, когда любое последующее аудио содержит возникновение «основного звука», выполнив тест на совпадение различий между предварительно сохраненным набором «основных звуков» и БПФтекущее окно аудиосэмплов.Вы нашли совпадение, когда между значениями интенсивности частот каждой из этих верхних частот X текущего результата БПФ мало или нет различий по сравнению с каждым предварительно сохраненным «основным звуком»
Я мог бы отступить, объяснив, каксадясь и играя на пианино, вы выполняете обратное преобразование Фурье этих маленьких белых и черных частотных клавиш, или говорите, что грязные следы фургонов по разбухшему пастбищу под весенним дождем - это преобразование Фурье всех этих невыразимых количеств перегруженных рыночных вагоновкогда они движутся вперед, оставляя позади все более углубляющуюся дорожку, отпечатанную с шириной оси каждого вагона, но я не буду.
Вот некоторые ссылки на аудио-дактилоскопию
Аудио-дактилоскопия и распознавание в Python https://github.com/worldveil/dejavu
Аудио-отпечатки пальцев с Python и Numpy http://willdrevo.com/fingerprinting-and-audio-recognition-with-python/
Shazam-подобные акустические отпечатки непрерывных аудиопотоков (github.com) https://news.ycombinator.com/item?id=15809291
https://github.com/dest4/stream-audio-fingerprint
Аудио ориентир fingerprinting как модуль Node Stream - nodejs преобразует аудиосигнал PCM в серию аудио-отпечатков пальцев.https://github.com/adblockradio/stream-audio-fingerprint
https://stackoverflow.com/questions/26357841/audio-matching-audio-fingerprinting