Слайд 2Проблема
Захотели послушать джаз, открываем плейлист в vk или папку с музыкой, а
там…
…одна большая свалка :)
Слайд 3Несколько светлых идей
Навести порядок
Не делать это вручную для 1000+ аудиозаписей
Определение жанра –
в чистом виде задача классификации
Остается придумать признаки
По запросам в гугле про классификацию музыки узнаем, что область имеет название Music Information Retrieval
Находим много интересных статей :)
Слайд 4Сначала найдем датасет
http://marsyas.info/download/data_sets/
Слайд 5Что в датасете
Десять жанров
По 100 wav-файлов с первыми 30 секундами аудиозаписи для
каждого жанра
Один канал
Слайд 6Как посмотреть на датасет
Гуглим, как люди визуализируют звук и сразу узнаем про
спектрограммы. Вот, что пишет про это Вики:
Слайд 7Спектрограммы для разных жанров
Слайд 10Какой жанр?
Метал (Metallica – St.Anger)
Слайд 11Как бы построить один набор чисел?
В обработке сигналов часто используют разложение в
ряд Фурье
Несколько основных гармоник уже неплохо описывают сигнал
Почему бы и здесь не сделать так?
Слайд 12Вспоминаем второй курс
(если он уже позади :)
Слайд 15Повышаем качество
Круто? Не очень. Читаем статьи.
Узнаем, например, про Mel Frequency Cepstral Coefficients
(MFCC) – преобразование Фурье логарифма спектра
Используем в качестве признаков
Слайд 16Как обычно, есть готовый пакет
Hint:
Слайд 19Как лучше расшарить тему:
Воспроизвести все описанные действия и построить классификатор музыки по
жанрам
Разобрать статью с описанием признаков, которых не было на семинаре, реализовать их и сравнить результаты на кросс-валидации
* Реализовать скачивание плейлиста из vk, конвертацию mp3 в wav и классификацию по жанрам. При необходимости, сделать свою обучающую выборку.
** Сделать классификатор жанров по словам песен (где они есть), сравнить качество с MFCC.
Слайд 20Что еще можно придумать?
Можно сделать подбор плейлиста из музыки одного жанра или
из разных
Можно сделать поиск похожих мелодий и рекомендации песен по звучанию, советуя те песни, которые ближе в пространстве признаков
Можно сделать автоматическое составление плейлиста с плавным переходом от одного жанра к другому (например, чтобы постепенно исправить плохое настроение :)
Слайд 21Бонус-трек
Конвертация из mp3 в wav из консоли:
ffmpeg, sox
Выкачивание музыки из vk на
Python:
http://habrahabr.ru/post/157925/
Приятная и интересная книжка по машинке на Python: