本文转载自公众号“读芯术”(ID:AI_Discovery)。何用 2019年5月,探究 Tones and 喜爱I发行了她的第二张单曲《Dance Monkey》,这首歌一直在世界各地流行,音乐你肯定曾经随着这首歌的风格节奏摇摆过! 我第一次知道这首歌是在某节课上,我朋友一直唱着它。何用一开始,探究笔者感觉他好像一遍又一遍地重复同样的喜爱歌词:“dance for me, dance for me, dancefor me”。听了原曲后,音乐我注意到它确实有一些重复的风格歌词。笔者接着听了她的何用另一首热门歌曲《Never Seen The Rain》,也发现了类似的探究模式。 笔者决定以这个小项目为基础,喜爱探究艺术家在选择歌词措辞时有自己的音乐风格。 我将使用基本的风格python技能来分析Tones and I的两首热门歌曲:《Dance Monkey》和《Never Seen The Rain》,查看它们之间是否存在任何相似之处,以及她如何通过歌词的重复创建自己的音乐风格,比如使用语音单词(例如“oh”和“ah”)等。 1. 收集和清理数据 笔者从Metro Lyrics获得了这两首歌的歌词并对其进行了编辑,确保歌词之间没有逗号或多余的香港云服务器空格,还将诸如“You’ve”改为“You have”以保持一致性。之后,笔者将其作为字符串上传到JupyterNotebook上,并为其分配了一个变量(dm&nstr)。 dm.lower()函数更改了单词以确保它们全部为小写。如果不这样做,程序会认为“You”与“you”有所区别,认为它们是不同的词。打印后,结果将如下所示: 由于目的之一是找出歌词中总共有多少个单词,所以当所有单词都在一个字符串中时,就无法做到这一点。为了分隔它们,笔者使用了以下代码: 我对Never Seen The Rain的歌词也进行了同样的处理。 2. 分类数据 下一步是计算单词和唯一单词的总数。为了计算单词总数,笔者在初始变量上使用了LEN()函数: 总共453个单词。然后,为了计算用于创作歌曲的单个词的数量,笔者在split_dm变量上使用了SET()函数。 此函数确保列出至少使用一次的单词,源码库因此结果如下所示: 为了计算新列表中的单词数,笔者使用了LEN()函数: 总共有72个唯一单词,指的是是只有这些单词才被用于这首歌的创作。 3. 最常用的词 在要使用的单词中,笔者想确定前10个单词(重复最多的单词)以及仅使用一次的单词。下面使用的代码显示了每个单词及其用法计数: 为了更易于阅读,笔者使用以下代码将单词和值绑定在一起: 然后,使用此代码检索前10个最常用的单词: 合并后的数据如下所示: 笔者可以肯定地说,“Tones and I”的独特风格(在她的所有歌曲中都绝对可以听到)就是在歌曲中使用“oh”和“ay”之类的原声单词,这两个词的数量在她的两首歌曲中均排在前10位。 4. 只使用了一次的单词 图源:unsplash 使用类似于上面的代码,笔者还发现只使用了一次的单词: 只有23个只使用了一次的网站模板单词。另一首歌曲也运用了相同的函数。 5. 重复字数 下一个目标是找出不止被重复一次的单词数: 这首歌里重复了49个单词。为了找到重复的次数,笔者使用了以下代码: 这49个单词共被重复了430次!同样,在另一首歌里也执行相同的代码。 6. 可视化 笔者将两首歌曲中的数据合并到excel的表格中,然后在笔记本上读取。 比较数据的最有效方法是使用条形图: 查看图表,我们可以得出以下结论: 7. 最后的想法 在进一步处理数据时,笔者发现一个非常有趣的现象,即标题中的两个单词是如何频繁使用的:“Dance”使用了19次,而“Monkey”在整首歌曲中仅使用了一次。 令人惊讶的是,用于创作歌词的单个单词的数量非常少(大约占15%-20%),其中约85%的单个词被重复使用以组成歌曲。 图源:unsplash 做完这个项目,我几乎要被Dance Monkey这首歌洗脑了。同样的方法去试试探索你所喜爱的歌手,说不定能挖出他不为人知的创作习惯。