CoderCastrov logo
CoderCastrov
Арктические обезьяны

Парсинг песен Arctic Monkeys с Genius

Парсинг песен Arctic Monkeys с Genius
просмотров
4 мин чтение
#Арктические обезьяны

Распутывание песен Arctic Monkeys (часть 1) - Какова история и сбор данных

Это первая часть серии из трех, в которой я анализирую структуру и содержание песен Arctic Monkeys. Каждый пост проводит вас через шаг в типичном проекте по работе с данными:

Слушая все песни и одновременно читая тексты, я снова обратил внимание на талант Алекса Тернера к словам. Поэтому я случайно разместил свои новые любимые строки в этом посте, для развлечения. Если вы еще не знакомы с музыкой AM, это может заинтриговать вас и побудить попробовать. 🎶

"Прекрати поиски своей души или снова отложи их" - No. 1 Party Anthem


Oasis откровенно спрашивали: "Какова история, Утренняя Слава?". Всегда существует слишком много возможных историй. Тем не менее, полезно заранее подумать, что вы считаете, что история может быть, или по крайней мере записать, что вызвало желание найти и проанализировать некоторые данные.

Звучание большинства групп меняется со временем, но как это произошло с Monkeys? С выходом последнего альбома в конце октября 2022 года мое любопытство только усилилось. В этом случае меня особенно интересует, как менялась типичная структура песни на протяжении альбомов и какие песни являются представительными для каждого альбома. Под структурой песни я подразумеваю как соответствующее значение, придаваемое различным элементам песни, так и использование слов. Также интересно знать, есть ли у более популярных песен особая особенность - возможно, есть формула успеха, которую можно открыть?

Первый шаг в поиске ответов на эти вопросы - собрать все песни и тексты для каждого альбома Arctic Monkeys. Идеально, если песни также разделены на секции. Посмотрим, сможем ли мы найти что-то подобное.

"Как поиск улик о убийстве в глазах мертвеца" - This House is a Circus

Получение песен оказалось очень простым. Для этого доступна библиотека LyricsGenius на языке Python, которая позволяет сделать всю тяжелую работу через очень интуитивный интерфейс для парсинга песен с популярного сайта Genius. Ниже приведен небольшой отрывок кода, который показывает, насколько это просто, после загрузки библиотеки и регистрации на Genius для получения токена доступа к API.

Сложная часть, как всегда в анализе данных, заключается в очистке, переорганизации и обогащении полученных данных.

"Он говорит о Сан-Франциско, он из Хантерс Бар, я не совсем знаю расстояние, но уверен, что это далеко" - Fake Tales of San Francisco

К счастью, полученные тексты уже имеют высокое качество. В них проникло несколько ненужных частей, таких как упоминания "Связанных песен". С помощью простых регулярных выражений они были относительно легко отфильтрованы.

С помощью небольшой обработки данных с использованием pandas, я организовал набор данных, разделив каждую песню на ее секции, имея по одной строке на каждую секцию песни. Этот табличный формат - лучший способ проводить групповые вычисления во время фазы анализа.

"Никого нет на улицах, мы перенесли все онлайн с марта" - She Looks Like Fun

Для анализа эволюции аранжировок песен я определил секции песни как: Интро, Куплет, Пре-припев, Припев, Пост-припев, Мост, Инструментал или Аутро. Большинство из этих секций уже указаны на сайте Genius, но я прослушал все песни, чтобы заполнить некоторые пробелы и особенно прокомментировать, как долго длится каждая секция. Это было весело, хотя было трудно не потеряться в музыке. 😅

Помимо удовольствия, правильная аннотация данных является важным условием для хорошего анализа в дальнейшем. Как часто говорят в мире данных: "Мусор на входе, мусор на выходе". Вот несколько объяснений выбранных мной вариантов.

Если это достаточно кратко и сохраняется поток, я решил включить любой инструментал в ближайшую секцию песни (обычно куплет или припев). Мягкое правило, которое я использовал, заключается в том, что я считаю начало интро, если оно превышает 15 секунд. Я также игнорирую очень короткие говорящие интро (например, "Один, два, три, четыре"). Самые большие части в интро и аутро - это инструментальные, только некоторые из них содержат тексты.

"Кажется, что снова тебе пришлось встретить меня с прощанием" - 505

Я не делал различий между инструментальными соло и другими инструментальными секциями или между инструментальными перерывами и мостами. Несмотря на то, что они выполняют разные роли в песне, я объединяю их в категорию "Инструментал", когда не поется никаких или только фоновые тексты. Однажды я переименовал раздел "разбор" в "Мост", что сделало раздел моста немного длиннее.

Бывает сложно определить, когда одна секция заканчивается и начинается другая. Я использовал свое лучшее субъективное суждение, чтобы разобраться в песнях. Для крупных проектов, с участием нескольких людей, аннотирующих разные песни разных жанров, вам, вероятно, нужно согласовать таксономию и набор руководящих принципов, чтобы разобраться с такими граничными случаями и обеспечить согласованную маркировку.


После тяжелой работы мы с гордостью обнаруживаем, что у нас есть чистый и проверенный вручную набор данных! Этого достаточно, чтобы углубиться и выяснить, как менялись альбомы и песни Arctic Monkeys за последние 15 лет, включая то, как новый альбом "The Car" сравнивается с предыдущими.

Если вы также являетесь поклонником чтения кода и документации, все собирается в репозитории GitHub ниже. Вы сможете использовать эти блокноты для анализа других музыкальных групп.

GitHub — DataWanderers/lyrical-arctic-monkeys: Плавный анализ текстов песен Arctic Monkeys

В настоящее время вы не можете выполнить это действие. Вы вошли в систему в другой вкладке или окне. Вы вышли из системы в другой вкладке или окне...

github.com

"Я продаю факт, что меня нельзя купить" - Batphone

Перейдем к части второй, где я рассмотрю различные метрики для вычисления и интересные визуализации, которые могут быть созданы в рамках анализа.