设计结构

数据处理

需要对标签数据清洗以及将音频信号转化为频谱信号。本次数据集采用公开音频数据集GTZAN,其中包含了10种不同风格的音乐,每一种音乐都包含100个音频文件,每个音频文件都是30秒。同时需要将音频信号转化为频谱信号,本论文将转化为梅尔频谱,直接使用pytorch的torchaudio中的函数即可快速转化。

  • 将音频信号转化为梅尔频谱

    梅尔频谱图是将频率转换为梅尔刻度的频谱图。使用梅尔频谱可以起到压缩数据、数据拥有更多的表征能力,同时有论文表明与传统的傅里叶变化相比,转化为梅尔频谱的样本可以提高训练的准确率。

神经网络

本项目选用卷积神经网络AlexNet。一个是对于初学者有较好较多的学习点,另一个是网络比较简单,对于这个小样本集有比较良好的效果。

  • AlexNet 的网络结构

  • 单样本的训练流程

音乐推荐系统

使用Django实现推荐系统的功能,提供前后端交互页面。

如何使用推荐功能

  • 点击爱心,将会对本首歌进行推荐

  • 在推荐列表中将展示相似度最高的5首歌曲(具体原理我将在Bilibili描述)

如何使用本项目

  • 下载数据集

https://cowtransfer.com/s/0e58712731e74d

  • 训练模型

训练模型的代码为Jupyter Notebook格式,如果大家电脑有GPU那就在自己电脑上训练就可以了,如果没有,推荐大家使用Kaggle。

https://www.kaggle.com/ 每周大概有40多小时白嫖的GPU时长,无需翻墙,自认为比colab好用一些。

根目录下 文件 recommend.ipynb 即为训练代码,训练后生成模型参数文件 best_model_okk.pth

  • 构建Django前后端

根目录下 文件 recommend 即为 Django 项目,记得将GTZAN数据集文件放在目录recommend/music/static/GTZAN下

接下来即可使用pycharm启动项目

  • 项目部署

Python+Django+sqlite3实现基于内容的音乐推荐系统相关推荐

  1. 小伙利用python构建基于内容的音乐过滤推荐系统,腾讯花巨资聘请

    背景:这个项目指的是Lambda学校的Lambda实验室,在这个实验室里,学生们花费了过去5周的时间来构建生产级的web应用程序,其中一些人利用机器学习模型作为后端的一部分.我们小组的任务是开发一个应 ...

  2. (附源码)计算机毕业设计SSM基于java的音乐推荐系统

    (附源码)计算机毕业设计SSM基于java的音乐推荐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe( ...

  3. python django mysql web页面多级联动_Python Web实战:Python+Django+MySQL实现基于Web版的增删改查...

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  4. 基于内容的菜谱推荐系统

    目录 摘要 - I 目录 - III 1 绪论 - 1 1.1 课题研究的背景和意义 - 1 1.2 国内外研究现状 - 2 1.3 课题的主要工作以及论文结构 - 3 2 基于内容的推荐系统的概述 ...

  5. 老王的电影网站,基于内容的推荐 - 推荐系统入门(二)

    "这书都挺厚的啊",老王看了看,又掂了掂桌上新买的<推荐系统 技术.评估及高效算法><推荐系统实战>,不禁叹了一口气... "先来个简单的,总比没 ...

  6. 电影推荐系统 python简书_基于Spark的电影推荐系统(实战简介)

    ## 写在前面 一直不知道这个专栏该如何开始写,思来想去,还是暂时把自己对这个项目的一些想法 和大家分享 的形式来展现.有什么问题,欢迎大家一起留言讨论. 这个项目的源代码是在https://gith ...

  7. 在SAE搭建Python+Django+MySQL(基于Windows)

    为了与时俱进,工作闲余開始研究Python,刚一接触就被Python这"优雅"的语法吸引住.后来接触到了Django.尽管还没有太深入的研究.但对这样的新概念的WEB开发非常感兴趣 ...

  8. python django开发api_基于Django框架开发Restful api

    在上篇文章中,我们讲解了restful api的主要概念,让大家有初步的了解.这一篇中,我们将通过python的Django框架,来学习开发restful 架构的接口. 一. 开发环境 开发语言:Py ...

  9. python+django+sqlite3,不成熟的学生管理增删改查

    因为是边学边做的,所以有一些地方有了很麻烦的方法,登录验证也没做完,前端也很难看,只是做了基本的增删改查 1.新建project django-admin.py startproject studen ...

最新文章

  1. python 批量下载 代码_Python + Selenium +Chrome 批量下载网页代码修改
  2. SAP MM 外部采购流程里的Advanced Return Management
  3. 团队项目第一阶段冲刺站立会议4(4月21日)
  4. SD卡读写扇区注意事项(转)
  5. pythonprint中文教程_python中使用print输出中文的方法
  6. List集合的去重问题
  7. Git bash的中文化支持
  8. HTTPS时代全面到来,你准备好了吗? 1
  9. MAC 下MySQL常用命令
  10. xrd精修教程_XRD精修干货和三元材料的XRD精修实例
  11. 字幕/打轴/压制小tip——Aegisub MeGUI 极简操作指南
  12. idea启动azkaban2.5
  13. 数据中台与业务中台是什么关系?_光点科技
  14. 小熊派使SPI驱动TFT-LCD(ST7789)显示试验
  15. hdu 5312 打表加特判
  16. { }大括号和[ ]中括号的用法
  17. java集合面试锦集
  18. Linux C/C++程序崩溃bug调试方法
  19. 使用Aircrack-ng破解WiFi密码
  20. CH573 Peripheral 修改MTU

热门文章

  1. vue工程,高德地图信息窗体模块化插入,及信息窗口点击事件
  2. RetinaNet模型在DDSM数据集的应用问题(3)
  3. 计算机图片怎么截图快捷键,电脑截图快捷键四种截屏方式,笔记本电脑如何截屏截图?...
  4. 中冠百年|家庭理财投资必备资金规划有哪些
  5. 用计算机怎么算吸光度的回归方程,Pt含量与UV-Vis吸光度的线性回归拟合.doc
  6. 如何用十六进制换算十进制
  7. 《剑指offer》序——面试流程及面试须知
  8. C++友元(友元函数)
  9. 问题解决:ERROR: Cannot uninstall 'llvmlite'.
  10. 三体归零者和盘龙鸿蒙,三体中的神级文明 归零者 到底是一种怎样的存在?