Звучит как интересный проект ... чтобы дать общий подход, так как ваш вопрос может охватить обширные области, такие как восприятие и сверточные нейронные сети ... сначала убедитесь, что ваши аудиофайлы выровнены во времени ... подать окносэмплов аудио (скажем, 2 ^ 14, то есть 4096 или более, но всегда с степенью 2) в вызов FFT (дискретное преобразование Фурье), который даст вам массив частотных бинов, каждый из которых имеет величину (отбрасывает атрибут фазы).... затем сравните этот массив FFT между вашим сценическим микрофоном и каждым из окружающих микрофонных файлов ... затем повторите выше, сдвинув это окно сэмплов вперед во времени, и повторяйте, пока вы не ознакомитесь с полным набором сэмплов ... вы можете захотетьпопробуйте выше, используя различные значения ширины этого окна выборки
, также попробуйте различные способы сравнить массив БПФ между парой микрофонных сигналов ... частотным бинам в массиве БПФ с наибольшими величинами следует придать больший вес вэто сравнение, так как вы хотите избежать всегоиз-за шума в частотных блоках низкой величины, чтобы запутать воду - сделайте это, возведя в квадрат амплитуды частот, чтобы подчеркнуть доминирующие частоты и ослабить более тихие частоты ... для простоты в начале используйте кривую синуса в качестве звукового сигнала - ищитемобильное приложение: Frequency Sound Generator - вы получите более простой массив FFT ... цель здесь заключается в том, чтобы в анализе выходного сигнала FFT здесь отображалась только одна частота из вашего источника звука
.Однако вам нужен вызов DFT, если у вас нет времени на то, чтобы подготовить свое собственное ремесло к вышеприведенному подходу. Эти репозитории Python могут ускорить ваш проект
Librosa - библиотека Python для анализа аудио и музыки
https://librosa.github.io/
https://github.com/librosa/librosa
Madmom - библиотека обработки аудио- и музыкальных сигналов Python
https://madmom.readthedocs.io/en/latest/modules/audio/cepstrogram.html?highlight=mfcc https://madmom.readthedocs.io https://github.com/CPJKU/madmom
однако я советую вам не использовать вышеперечисленные библиотеки и просто свернуть свои собственные - YMMV