鲜闻快讯|如何用Python探究你喜爱的歌手的音乐风格?

全文共3177字 , 预计学习时长8分钟
鲜闻快讯|如何用Python探究你喜爱的歌手的音乐风格?
文章图片
图源:unsplash
2019年5月 , TonesandI发行了她的第二张单曲《DanceMonkey》 , 这首歌一直在世界各地流行 , 你肯定曾经随着这首歌的节奏摇摆过!
我第一次知道这首歌是在某节课上 , 我朋友一直唱着它 。 一开始 , 笔者感觉他好像一遍又一遍地重复同样的歌词:“danceforme,danceforme,danceforme” 。 听了原曲后 , 我注意到它确实有一些重复的歌词 。 笔者接着听了她的另一首热门歌曲《NeverSeenTheRain》 , 也发现了类似的模式 。
笔者决定以这个小项目为基础 , 探究艺术家在选择歌词措辞时有自己的风格 。
我将使用基本的python技能来分析TonesandI的两首热门歌曲:《DanceMonkey》和《NeverSeenTheRain》 , 查看它们之间是否存在任何相似之处 , 以及她如何通过歌词的重复创建自己的音乐风格 , 比如使用语音单词(例如“oh”和“ah”)等 。
1.收集和清理数据笔者从MetroLyrics获得了这两首歌的歌词并对其进行了编辑 , 确保歌词之间没有逗号或多余的空格 , 还将诸如“You’ve”改为“Youhave”以保持一致性 。 之后 , 笔者将其作为字符串上传到JupyterNotebook上 , 并为其分配了一个变量(dm&nstr) 。
#DanceMonkeyLyricsdm="TheysayohmygodIseethewayyoushineTakeyourhandmy...makeyoudoitallagainAllagain"dm=dm.lower()#NeverSeenTheRainLyricsnstr="AllyourlifenoYoucould...neverfelttherainrainrain"nstr=nstr.lower()dm.lower()函数更改了单词以确保它们全部为小写 。 如果不这样做 , 程序会认为“You”与“you”有所区别 , 认为它们是不同的词 。 打印后 , 结果将如下所示:
鲜闻快讯|如何用Python探究你喜爱的歌手的音乐风格?
文章图片
我对NeverSeenTheRain的歌词也进行了同样的处理 。
2.分类数据下一步是计算单词和唯一单词的总数 。 为了计算单词总数 , 笔者在初始变量上使用了LEN()函数:
len(split_dm)总共453个单词 。 然后 , 为了计算用于创作歌曲的单个词的数量 , 笔者在split_dm变量上使用了SET()函数 。
unique_dm=set(split_dm)print(unique_dm)此函数确保列出至少使用一次的单词 , 因此结果如下所示:
鲜闻快讯|如何用Python探究你喜爱的歌手的音乐风格?
文章图片
为了计算新列表中的单词数 , 笔者使用了LEN()函数:
len(unique_dm)总共有72个唯一单词 , 指的是是只有这些单词才被用于这首歌的创作 。
3.最常用的词在要使用的单词中 , 笔者想确定前10个单词(重复最多的单词)以及仅使用一次的单词 。 下面使用的代码显示了每个单词及其用法计数:
word_dm={}forwordinunique_dm:word_dm[word]=0forwordinsplit_dm:word_dm[word]=word_dm[word]+1print(word_dm)
鲜闻快讯|如何用Python探究你喜爱的歌手的音乐风格?
文章图片
笔者可以肯定地说 , “TonesandI”的独特风格(在她的所有歌曲中都绝对可以听到)就是在歌曲中使用“oh”和“ay”之类的原声单词 , 这两个词的数量在她的两首歌曲中均排在前10位 。
4.只使用了一次的单词
鲜闻快讯|如何用Python探究你喜爱的歌手的音乐风格?
文章图片
图源:unsplash
使用类似于上面的代码 , 笔者还发现只使用了一次的单词:
dm_least_used=dm_count[49:72]len(dm_least_used)只有23个只使用了一次的单词 。 另一首歌曲也运用了相同的函数 。
5.重复字数
下一个目标是找出不止被重复一次的单词数: