0 项目说明
音乐推荐系统
提示:适合用于课程设计或毕业设计,工作量达标,源码开放
1 设计结构
2 数据处理
需要对标签数据清洗以及将音频信号转化为频谱信号。本次数据集采用公开音频数据集GTZAN,其中包含了10种不同风格的音乐,每一种音乐都包含100个音频文件,每个音频文件都是30秒。同时需要将音频信号转化为频谱信号,本论文将转化为梅尔频谱,直接使用pytorch的torchaudio中的函数即可快速转化。
-
将音频信号转化为梅尔频谱
梅尔频谱图是将频率转换为梅尔刻度的频谱图。使用梅尔频谱可以起到压缩数据、数据拥有更多的表征能力,同时有论文表明与传统的傅里叶变化相比,转化为梅尔频谱的样本可以提高训练的准确率。
3 神经网络
本项目选用卷积神经网络AlexNet。一个是对于初学者有较好较多的学习点,另一个是网络比较简单,对于这个小样本集有比较良好的效果。
- AlexNet 的网络结构
- 单样本的训练流程
使用Django实现推荐系统的功能,提供前后端交互页面。
4 界面展示
- 点击爱心,将会对本首歌进行推荐
- 在推荐列表中将展示相似度最高的5首歌曲