AI源码
AI源码AI 精选 · 优质源码 · 助力学习

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

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

评分:4.8/5.0
销量:33
发布:2026/6/17
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

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

功能介绍

本系统为 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 重新导入

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

技术分类

包含内容

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

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 33+ 位用户
立即咨询

相关推荐

查看全部 →
城市交通流量预测与拥堵成因分析系统
Python
进阶

城市交通流量预测与拥堵成因分析系统

是一个面向城市交通拥堵分析的 monorepo,覆盖计算机设计课题中的主要能力链路:

PythonHTMLSQLite
4.820
电商用户行为漏斗与CRO转化率优化分析
Python
NEW
进阶

电商用户行为漏斗与CRO转化率优化分析

电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。

PythonHTMLSQLite
4.866
多组学癌症预后预测分析系统
Python
进阶

多组学癌症预后预测分析系统

基于 Flask 的 Web 应用,用于上传 TCGA 风格合并表、做特征与标签概览、Cox 预后风险评分与生存相关可视化。模型在本地训练后以 形式加载,不提供旧版演示数据或假模型兜底。

PythonHTMLSQLite
4.834
基于 Apriori 算法的中药配伍审查系统
Python
NEW
进阶

基于 Apriori 算法的中药配伍审查系统

本系统是一个基于经典 Apriori 关联规则挖掘算法的中药配伍审查平台,使用真实中医药处方数据集(PTM-TKDE2018),实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。

PythonHTMLSQLite
4.840
基于 Python 的城市共享单车骑行需求时空分析系统
Python
NEW
进阶

基于 Python 的城市共享单车骑行需求时空分析系统

本系统是一个基于 Python Flask 框架的城市共享单车骑行需求时空分析平台,使用 Oslo City Bike(奥斯陆城市自行车)开放数据,提供系统总览、时间维度分析、空间维度分析、站点运营分析、OD 起讫流动分析、骑行需求预测、综合分析报告等功能模块,适用于城市共享单车运营调度与骑行需求研究场景。

PythonHTMLSQLite
4.857
基于 Python 的短视频用户行为分析系统
Python
NEW
进阶

基于 Python 的短视频用户行为分析系统

基于快手 KuaiRec / KuaiRand 数据集的短视频推荐分析平台,提供用户行为分析、推荐偏差检测、内容运营洞察、图神经网络推荐等完整分析链路。

PythonHTMLSQLite
4.875