Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6468
Последний выпуск: 19.06.2015

Устройство mp3-файлов(и не только)

9.1K
26 сентября 2013 года
motorw
134 / / 15.12.2009
Имеется задание реализовать проверку похожести одной песни(/музыки) на другую.
Для начала мне захотелось разобраться во внутреннем устройстве цифровой музыки, и, например, ее анализе.
Поясню ТЗ поконкретнее: нужно определить из плейлиста похожие песни/музыку(например, по жанру) без тэгов, а сугубо по файлу, то есть по музыке, звуковой дорожке.
Есть у кого-нибудь литература, или, может. библиотеки кто какие знает для низкоуровневой работы с цифровой музыкой?

Приложение будет писаться на C++.
411
26 сентября 2013 года
CassandraDied
763 / / 24.05.2012
Для работы со звуком можно юзать bass, взять можно тут.
Про структуру mp3 файла можно почитать на вики, да и в сети много информации, но с библиотекой это не особенно нужно.
Предупрежу, что для анализа на похожесть необходимо иметь знания в дифференциальной математике и быть знакомым с численными методами.
Можно ещё посмотреть на проект HOLO, он занимается тем же самым.
9.1K
26 сентября 2013 года
motorw
134 / / 15.12.2009
Цитата: CassandraDied
Для работы со звуком можно юзать bass, взять можно тут.
Про структуру mp3 файла можно почитать на вики, да и в сети много информации, но с библиотекой это не особенно нужно.
Предупрежу, что для анализа на похожесть необходимо иметь знания в дифференциальной математике и быть знакомым с численными методами.
Можно ещё посмотреть на проект HOLO, он занимается тем же самым.


У меня достаточно хорошие знания во всей математике, которой учат программистов в университете (ЧМ, вычмат, вышка), собственно, я на это и рассчитывал, - что нужны знания, но все равно спасибо, что предупредили :)

Да структура mp3-файла самого-то - простая, она мне не интересно(как структура именно файла). А вот то, как устроен звук с ней, и все, что связано со звуком в этом файле и как его анализировать - вот это мне очень нужно.
HOLO только вчера на хабре почитал, но в посте так и не упомянули про похожесть конкретно, лишь как-то вскользь. Ну ладно, посмотрю этот HOLO поглубже, спасибо.
bass тоже посмотрю. Хотел его посмотреть, да название забыл :)
Если у вас еще есть что дополнить - смело жду, буду очень рад и благодарен.

411
26 сентября 2013 года
CassandraDied
763 / / 24.05.2012
Да, есть что дополнить: нафига?
Лично я не верю в возмжность реализации поставленной задачи на достойном уровне. Я не верю, что его смогут реализовать даже 10 программистов. И вычислительных мощностей будет достаточно очень не скоро. Тот же HOLO вчера минут тридцать сканировал только 4к файлов, потом ещё и обрабатывал кучу времени.
Есть какие-то предпосылки к тому, что удастся написать приложение, которое, учитывая многие из возможных нюансов, будет находить похоие треки? Может, есть ссылки на какие-то убер-алгоритмы, которые позволяют это сделать?
443
26 сентября 2013 года
Meander
487 / / 04.09.2011
Немного думал над этой проблемой. Конечно, проще всего разработать эвристический алгоритм.
В качестве входного файла рассматривал wav, так как он содержит весьма естественные параметры (амплитуду сигнала, частоту дискретизации, скорость воспроизведения). Необходимо произвести разложение в ряд Фурье таблицу амплитуд (чтобы получить аналитическое представление музыки). Возможно, нормировать по максимальной амплитуде, а также по длине звуковой дорожки (чтобы не искажалась АЧХ).
Затем встает проблема распознавания, и сравнения графиков.
Например есть алгоритм кси-квадрат Колмогорова (по-моему). Согласно этому алгоритму вычисляется накапливаемая разница между интегралами от сравниваемых кривых. Чем меньше разница, тем больше схожесть.
Другой путь - выделить определенные гармоники и по их представленности в звуковом ряде классифицировать и сравнивать композиции.
Третий способ. Составить список композиций для каждого жанра. Построить для каждой композиции график АЧХ. Наложить графики АЧХ друг на друга для каждого жанра. Выделить область 90-95% перекрытия и запомнить ее. Затем строить график АЧХ для произвольного звукового рядя, сравнивать с эталонами и относить к тому жанру для которого было наибольшее совпадение.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог