Python3分析个人音乐收藏
迪丽瓦拉
2025-05-29 01:48:15
0次

导语

偶遇了一篇文章:

“Mapping Your Music Collection”

https://www.christianpeccei.com/musicmap/

感觉颇有缘分,似有命中注定之感,于是想着用一些简单的音频处理、机器学习和可视化技术,简单地分析一下自己的音乐收藏。当然我对乐理知识一无所知,所以分析将不涉及任何与乐理知识相关的内容,纯属“瞎玩”性质的分析。T_T

那么就让我们愉快地开始吧~~~

相关文件

百度网盘下载链接: https://pan.baidu.com/s/16lZb3JbHeC__k_oP8RMXUg

密码: nxpt

相关工具

Python版本:3.6.4

相关模块:numpy模块;sklearn模块;matplotlib模块;以及一些Python自带的模块。

mpg123:

1.25.10

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块;

将相关文件中提供的mpg123.zip文件解压后添加到环境变量中,例如:

开始分拆

方便起见,所有的音乐文件均先转为.wav格式后再做分析。

从最简单的开始吧!让我们先来看看不同歌手的声音波形图:

周杰伦:

感觉波形图好混乱,似乎是数据量太大引起的,于是我打算换一个策略,只画出每首歌曲前10秒的波形图来作比较,毕竟良好的开端是成功的一半?

周杰伦:

许嵩:

陈奕迅:

Interesting...

好像还是挺有意思的,但并看不出什么端倪来的样子,同一个歌手唱的歌的波形结构之间的差异和不同歌手唱的歌的波形结构之间的差异仿佛都挺大的。虽然并没有规定说同一个歌手唱的歌的波形结构之间的差异一定很小,不同歌手唱的歌的波形结构之间的差异一定很大。

好吧,有些混乱,还是随意点的好。那么我们来尝试性地提取一下歌曲的特征吧。我们打算提取的歌曲特征有:

① 歌曲波形的统计矩,包括均值、标准差、偏态和峰态,同时,我们通过平滑窗(递增平滑,长度分别为1,10,100,1000)来获取这些特征在不同时间尺度上的表现;

② 为了体现信号的短时变化,我们可以计算一下波形一阶差分幅度的统计矩,同样也通过平滑窗来获取这些特征(均值、标准差、偏态和峰态)在不同时间尺度上的表现;

③ 最后,我们计算一下波形的频域特征,这里我们只计算歌曲在不同频段(将整个频段均分为10份)的能量占比,不过直接对歌曲的波形数据作快速傅里叶变换的话其计算量过于庞大了,因此先让波形数据通过长度为5的平滑窗再对其作快速傅里叶变换。

综上所述,我们已经获得了歌曲的42个特征值。下面我们尝试利用这些特征值对我这几天下载的43首歌曲进行k均值聚类。首先,为了便于结果的可视化,我们利用PCA对数据进行降维(42维特征到2维特征),为了方便起见,我们直接调库(sklearn)实现,结果打印如下:

OK,接下来我们就可以对降维后的数据进行聚类了,这里我们将自己实现一下k均值聚类算法而不是简单地调库,最终的聚类结果如下图所示(k=4):

接下来我们尝试先对歌曲的42个特征值进行归一化处理,然后再进行上面的PCA和聚类操作,同时令k=3,最终的聚类结果如下图所示:

Emmm,好像效果更差了。

不过我发现我喜欢了8年的歌“尾戒”竟然一枝独秀了!还是很棒的,哈哈~~~

当然,这里有一个问题,歌曲的42个特征值是人工选取的,也许并不很好的表现出歌曲特征,且这些特征之间的相关系数是不为0的,也就是存在冗余特征。

https://www.christianpeccei.com/musicmap/一文利用了遗传算法从42个特征值中筛选出了18个特征值作为歌曲最终的特征向量,其结果如下:

懒得复现了,直接用他的结论重新进行聚类,结果如下(k=3):

Emmm,好像半斤八两。

那就这样吧,就当学点基础的音频处理、机器学习和可视化技术了。

所有源代码和素材均在相关文件中提供了,End。

相关内容

热门资讯

AI做攻略、“双向奔赴”……国... 本文转自:人民网人民网记者 许维娜今年国庆假期,AI(人工智能)成了不少年轻人的“旅行搭子”。行前做...
合肥的这个“梗”, 翻篇了 社交平台的评论区,曾长期流传一句专属于合肥的黑色幽默。有人问合肥哪里好玩,本地网友半开玩笑地回复:合...
7万+旅游中高层都在的群,今天... 做旅游这行,资源卡位、渠道互通、项目落地——往往就差一个“对的机会”。我们的行业社群已聚集70,00...
一场帐篷音乐节,如何让井研从“... 帐篷音乐节现场封面新闻记者 周洪攀10月的研溪湿地,晚风里裹着柑橘的清甜与民谣的回响。夜幕降临,10...
白鹤翩翩落星愿,上海迪士尼度假... 10月9日,世界候鸟日前夕,上海迪士尼度假区星愿公园的湖风里多了一分白鹤的灵动。三座白鹤雕塑正式揭幕...
成都锦江边赏初秋枫叶飘飘 目前,成都锦江边国华街枫叶树红了。近年来,国华街附近的几条街都栽种了红枫树,是城区较集中看枫叶的点位...
GBTA:商务旅行正在复苏,但... 亚太正在成为全球商务旅行增长的重要引擎。在经历疫情后的快速反弹之后,全球商务旅行正在进入一个新的增长...
从景区焕新到节赛引流 邹城双节... 齐鲁网·闪电新闻10月9日讯 中秋、国庆“双节”假期,邹城市文化和旅游局提前谋划、周密部署,立足自身...
江山如此多娇 且看石楼今朝 金秋十月,黄河岸畔秋意盎然,丰收盛会喜迎国庆。本次石楼国庆文旅活动以“江山如此多娇,且看石楼今朝”为...
海南国庆假期接待游客475.4... 2026年国庆假期,海南接待游客475.40万人次,较2025年增长13.1%,较2024年增长15...