感觉颇有缘分,似有命中注定之感,于是想着用一些简单的音频处理、机器学习和可视化技术,简单地分析一下自己的音乐收藏。当然我对乐理知识一无所知,所以分析将不涉及任何与乐理知识相关的内容,纯属“瞎玩”性质的分析。T_T
那么就让我们愉快地开始吧~~~
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块;
将相关文件中提供的mpg123.zip文件解压后添加到环境变量中,例如:
开
始
分
析
方便起见,所有的音乐文件均先转为.wav格式后再做分析。
从最简单的开始吧!让我们先来看看不同歌手的声音波形图:
周杰伦:
许嵩:
陈奕迅:
OK,接下来我们就可以对降维后的数据进行聚类了,这里我们将自己实现一下k均值聚类算法而不是简单地调库,最终的聚类结果如下图所示(k=4):
接下来我们尝试先对歌曲的42个特征值进行归一化处理,然后再进行上面的PCA和聚类操作,同时令k=3,最终的聚类结果如下图所示:
懒得复现了,直接用他的结论重新进行聚类,结果如下(k=3):
Emmm,好像半斤八两。
那就这样吧,就当学点基础的音频处理、机器学习和可视化技术了。
需要源码请私信小编,进群:125240963 即可获取数十套PDF!