У меня есть ~ 100 аудиофайлов wav с частотой дискретизации 48000 птиц одного и того же вида. Я хотел бы измерить сходство между ними. Я начинаю с волновых файлов, но я знаю (очень немного) больше о работе с изображениями, поэтому я предполагаю, что мой анализ будет сделан на изображениях спектрограмм. У меня есть несколько образцов некоторых птиц из разных дней.
Вот пример данных, а также (извинения за немаркированные оси, x - образец, y - линейная частота, умножая примерно на 10 000 Гц): Эти пение птиц, по-видимому, встречаются в "словах", отдельных сегментах песни, которые, вероятно, являются уровнем, на котором я должен сравнивать; как различия между похожими словами, так и частота и порядок различных слов.
Я хочу попытаться вытащить шум цикады - чирикать цикад с довольно постоянной частотой и, как правило, поэтапно, поэтому это не должно быть слишком сложно.
Кажется, что некоторые пороговые значения могут быть полезны.
Мне говорят, что в большей части существующей литературы используется ручная классификация, основанная на характеристиках песни, таких как Pandora Music Genome Project. Я хочу быть как Echo Nest; используя автоматическую классификацию. Обновление: многие люди изучают это.
Мой вопрос в том, какие инструменты следует использовать для этого анализа? Мне нужно:
- Фильтр/порог общего шума и сохранение музыки
- Отфильтровать специфические шумы, например, цикад.
- Разделить и классифицировать фразы, слоги и/или заметки в пение птиц
- Создание мер разности/подобия между частями; то, что поднимет различия между птицами, сводя к минимуму различия между разными вызовами одной и той же птицы.
Мое оружие выбора - numpy/scipy, но может ли что-то вроде openCV быть полезным здесь?
Изменить: обновил мою терминологию и переформулировал подход после некоторых исследований, а Стив помог ответить.