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