基于深度学习的音乐风格分类系统

Django+Vue2 音乐平台:Mel 频谱 CNN+Bi-LSTM 八类风格分类,含在线 MP3 播放、协同过滤推荐、热榜与 SimpleUI 管理后台,MySQL 预置 12 首歌曲,适合深度学习+Web 毕业设计。

评分:4.8/5.0
销量:33
发布:6/17/2026
难度:L3 高级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码观看演示视频
含项目说明文档,便于对照学习
可本地运行,适合课设演示
沟通获取后可咨询运行问题

项目封面

截图 1

项目概览

后端 Django REST Framework 提供歌曲/歌手/歌单 CRUD、Swagger 文档与媒体分字段校验(音频 mp3/视频 mp4);前端 Vue2 门户支持收藏评论与播放器。深度学习模块对 8 类风格(流行/国风/说唱等)做 Mel 频谱混合模型分类,协同过滤个性化推荐,sql.sql 同步媒体路径,适合 Python Django、Vue 前后端分离与音频深度学习类毕业设计。

项目说明

基于深度学习的音乐风格分类系统

功能介绍

本系统为 Python + Vue 前后端分离的音乐平台,结合 CNN + LSTM 混合深度学习模型 完成 8 类音乐风格分类,并提供完整的音乐浏览与互动业务。

  • 音乐风格分类:8 类风格(经典老歌、网络歌曲、国语、说唱、国风、流行、嘻哈、古音),基于 Mel 频谱图 + Bi-LSTM 混合模型
  • 音乐库管理:歌曲、歌手、地区、风格分类的增删改查(管理后台 + REST API)
  • 用户端门户:首页推荐、歌曲/歌手/歌单浏览、在线音频播放(MP3)、MV 视频、评论与收藏
  • 个性化推荐:基于用户收藏与播放记录的协同过滤推荐
  • 热榜统计:喜欢榜、热歌榜、点歌榜、收藏榜 Top 10
  • 管理后台:Django Admin + SimpleUI,支持富文本详情与媒体文件上传(音频/视频分字段、扩展名校验)
  • 接口文档:DRF 标准 CRUD + Swagger 在线文档

目录结构

python-deeper-study-music/
├── 项目说明.md                  # 本文件
├── 运行步骤必看/                # 分平台运行指南
│   ├── mac.md
│   └── window.md
│
├── mc_server/                  # Django 后端
│   ├── mac_run.sh              # macOS/Linux 启动脚本
│   ├── window_run.bat          # Windows 启动脚本
│   ├── manage.py
│   ├── requirements.txt        # Python 依赖
│   ├── sql.sql                 # MySQL 初始化脚本(与当前库数据同步)
│   ├── sql_backups/            # sql.sql 自动备份目录
│   ├── scripts/
│   │   ├── download_mp3s.py    # 从酷我 API 批量下载 MP3 并更新库与 sql.sql
│   │   └── sync_sql_from_db.py # 将本地 MySQL 全量导出到 sql.sql
│   ├── venv/                   # Python 虚拟环境(运行后生成)
│   ├── library/                # 项目配置(settings、urls、wsgi)
│   ├── app/                    # 业务应用(models、views、serializer、validators)
│   ├── DjangoUeditor/          # 富文本编辑器
│   ├── simpleui/               # 后台 UI 主题
│   ├── static/                 # 静态资源
│   ├── templates/              # 后台模板
│   └── media/                  # 上传的音频/图片/视频(运行时)
│       └── article_file/
│           └── 2026/06/17/     # 当前 12 首歌曲 MP3 存放目录
│
├── music_class_vue/            # Vue 2 前端
│   ├── package.json
│   ├── vue.config.js           # 开发代理配置
│   ├── public/                 # 静态入口
│   └── src/
│       ├── components/web/     # 用户端页面(首页、歌曲、歌手、歌单等)
│       ├── router/             # 路由
│       ├── store/              # 状态管理
│       └── assets/             # 前端资源
│
└── 文章/                       # 文章文档
    └── 第三章配图/             # 数据处理、模型结构、实验结果配图

媒体文件说明

歌曲表 app_movie音频与视频分两个字段存储,前端分别绑定 <audio><video>

字段含义前端允许格式
fim_url音频文件<audio> 播放器mp3、wav、ogg、m4a、flac
fim_mv视频 MV<video> 播放器mp4、webm、mov、avi、mkv

后台上传与 API 写入时会校验扩展名,禁止把 mp4 传到音频字段、或把 mp3 传到视频字段

当前预置 12 首歌曲的 MP3 路径示例:article_file/2026/06/17/1_APT.mp312_李白.mp3;MV 默认使用 article_file/demo.mp4

注意: 导入 sql.sql 后须保留 mc_server/media/ 目录(尤其 article_file/2026/06/17/ 下的 mp3),否则页面能打开但音频无法播放。


维护脚本

mc_server 目录下执行(需已配置 MySQL 且虚拟环境可用):

cd mc_server
export PYTHONPATH="$(pwd)"

# 从酷我 API 按歌名搜索并下载全部歌曲 MP3,同步更新数据库与 sql.sql
./venv/bin/python scripts/download_mp3s.py

# 将本地 MySQL 当前数据全量导出到 sql.sql(会先备份到 sql_backups/)
./venv/bin/python scripts/sync_sql_from_db.py

下载脚本依赖外网访问 kw-api.cenguigui.cn,仅供本地开发/演示使用。


运行环境

项目要求
操作系统macOS / Linux / Windows
Python3.10(推荐;兼容 3.8–3.10,Django 3.0 不支持 3.11+)
Node.js16 LTS(推荐;14+ 可用,17+ 需 OpenSSL 兼容参数)
MySQL5.7+ 或 8.0
数据库名sql(字符集 utf8mb4)

后端主要依赖:Django 3.0、Django REST Framework、SimpleUI、PyMySQL、NumPy、Pillow

前端主要依赖:Vue 2、Element UI、Vue Router、Vuex、Axios、ECharts

服务端口(本地开发):

服务端口
Django 后端 / 管理后台 / Swagger8001
Vue 用户端8888

默认账号

用途账号密码
管理后台adminadmin
前台测试用户cs1 / cs4 / liyuanfang 等见 sql.sql 中 app_userweb

数据库与同步

  1. 首次部署:创建库 sql 后导入 mc_server/sql.sql(须加 --default-character-set=utf8mb4,详见 运行步骤必看/)。
  2. 迁移记录:当前 sql.sql 已包含 app.0002_movie_media_validators(媒体文件类型校验),导入后一般无需再执行 migrate
  3. 数据变更后:运行 scripts/sync_sql_from_db.py,使 sql.sql 与本地 MySQL 保持一致。
  4. 登录态:前端会在启动时校验 localStorage 中的用户是否仍存在于数据库;若库被重置,需重新登录。

常见问题

问题解决方式
歌曲页音频无法播放确认 media/article_file/2026/06/17/ 下 mp3 存在,且 fim_url 指向正确路径
/up_id/ 外键报错多为本地缓存了已删除的用户 id,刷新页面或清除浏览器 localStorage 后重新登录
后台上传音频被拒绝检查是否为 mp3 等音频格式,勿上传 mp4 到「音频文件」字段
导入 sql 后中文乱码使用 mysql ... --default-character-set=utf8mb4 sql < mc_server/sql.sql 重新导入

详细安装与启动步骤见 运行步骤必看/ 目录。

获取完整源码

技术分类

包含内容

完整源码
项目说明文档
演示材料

适合方向

适合软件工程、人工智能毕业设计中 Django REST、Vue2 门户、CNN+LSTM 音频分类与推荐系统方向;需保留 media/article_file 下 MP3 方可播放。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

QQ: 861077046
邮箱: 861077046@qq.com
已帮助 33+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
基于用户画像的食谱推荐系统
高级

基于用户画像的食谱推荐系统

Flask+SQLite 食谱推荐 Web:问卷与活动数据构建用户向量,KMeans 聚类画像 + 规则过滤 + RandomForest 融合排序,输出可解释推荐,含 Hit@K/NDCG 离线评估,适合推荐系统毕业设计。

PythonHTMLSQLite
4.885
基于协同过滤的电影推荐系统设计与实现
高级·新上架

基于协同过滤的电影推荐系统设计与实现

Flask+SQLite 豆瓣电影推荐平台:scikit-surprise 实现 UserCF/ItemCF,三级冷启动降级、星级评分收藏、Pyecharts 后台图表与一键重训,含算法讲解页,适合推荐算法毕业设计。

PythonHTMLSQLite
4.881
基于机器学习的古籍文字识别与断句校正系统
高级

基于机器学习的古籍文字识别与断句校正系统

Vue3+Flask 古籍 OCR 流水线:PaddleOCR 识文、文本整理勘校、BERT 句读标注与多格式导出,JWT 任务隔离,支持离线微调数据闭环,适合 OCR+NLP 毕业设计。

PythonVue3SQLite
4.827
基于深度学习的日常服饰分类与推荐系统设计
高级·新上架

基于深度学习的日常服饰分类与推荐系统设计

PyTorch CNN 对 Fashion-MNIST 服饰图像 Top-5 分类,融合协同过滤与 Embedding 相似度的混合推荐引擎,含 120 件商品目录与评分收藏,适合深度学习推荐系统类毕业设计。

PythonHTMLSQLite
4.877
微小异物检测与识别系统
高级·新上架

微小异物检测与识别系统

YOLOv8 工业表面六类微小缺陷(龟裂、夹杂、点蚀等)检测平台,基于 NEU-DET 钢材数据集,支持单张/批量检测、在线训练与 PDF 报告导出,适合计算机视觉质检类毕业设计。

PythonHTMLSQLite
4.88
微小金属碎屑识别系统设计与实现
高级·新上架

微小金属碎屑识别系统设计与实现

MobileNetV2 对 NEU-CLS 六类金属表面缺陷图像分类识别平台,输出置信度与 Top 概率分布,含在线训练与多维度统计图表,适合轻量级深度学习质检类毕业设计。

PythonHTMLSQLite
4.88