基于节拍谱的语音音乐分类模型
节拍谱的取得方式为按照论文《THE BEAT SPECTRUM:A NEW APPROACH TO RHYTHM ANALYSIS》获得,但是在分类中,有点阴差阳错的计算出不同的结果。
按照得到的节拍谱后,使用阈值对节拍谱判定得到语音音乐两类分类。
根据音频的相关特征的语音音乐分类的算法的流程图如图1所示。
图 1 算法流程
其具体的算法步骤如下:
步骤1:提取MFCC参数。其提取原理框图如图2所示。预处理包含分帧加窗等。FFT为快速傅里叶变换。Mel-Filtering为梅尔三角滤波器组,DCT为离散余弦变换。本实验使用MATLAB的MFCC函数来提取得到MFCC参数。
图 2 MFCC参数提取过程
步骤2:用余弦相似度计算特征参数两两之间的相似性,可得到一个相似矩阵。其中语音信号的节拍没有周期性的规律,音乐信号会周期性地形成峰值。本实验使用MATLAB的COS函数来计算得到特征向量的相似性。余弦距离更多的是从方向上区分差异,而对绝对的数值不敏感,正因为余弦相似度在数值上的不敏感,只能分辨个体在维之间的差异,没法衡量每个维数值的差异,所以得到的相似矩阵更能体现出节拍的周期性规律。
步骤3:用相似矩阵的自相关性得到节拍谱。它能够反映节奏的周期性变化规律,节拍谱不依赖于能量或频率等特定属性,因此适用于任何类型的音乐或音频,其反应了节拍周期性变化规律。本实验使用MATLAB的xcorr函数来计算其自相关。节拍谱中的峰值对应于音乐信号中的主要节奏成分,不同峰的相对振幅反映了其对应韵律成分的强弱。一些拥有强烈节奏感的音乐的节拍谱的峰值变化会比较明显,而节奏感比较弱的峰值变化会稍微弱些。
图 3 语音节拍谱图
图 4 音乐节拍谱图
图3为语音的节拍谱图,图4为音乐的节拍谱图,可以看到音乐具有明显的起伏。
步骤4:归一化。归一化目的把得到的数据限制在一定区间内,使得各个音频的数据易于后续的处理。
步骤5: 统计并计算阈值判定音频类别。阈值基于总体判定的准确率来设定的,判定流程如图4。当语音或音乐的准确率下降过大时,则阈值调整完毕。
图 4 阈值判定流程图
https://download.csdn.net/download/diantongqingjie/20469329https://download.csdn.net/download/diantongqingjie/20469329https://download.csdn.net/download/diantongqingjie/20469329
基于节拍谱的语音音乐分类模型相关推荐
- R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、基于自定义函数构建xgboost文本分类模型
R语言构建文本分类模型:文本数据预处理.构建词袋模型(bag of words).构建xgboost文本分类模型.基于自定义函数构建xgboost文本分类模型 目录
- 基于K-最近邻算法构建红酒分类模型
基于K-最近邻算法构建红酒分类模型 描述 Wine红酒数据集是机器学习中一个经典的分类数据集,它是意大利同一地区种植的葡萄酒化学分析的结果,这些葡萄酒来自三个不同的品种.数据集中含有178个样本,分别 ...
- 基于K-最近邻算法构建鸢尾花分类模型
基于K-最近邻算法构建鸢尾花分类模型 一 任务描述 鸢尾花(Iris)数据集是机器学习中一个经典的数据集.假设有一名植物学爱好者收集了150朵鸢尾花的测量数据:花瓣的长度和宽度以及花萼的长度和宽度,这 ...
- 基于sigmoid的文本多标签分类模型代码实现
sigmoid一般是用来做二分类的,它是将一个标量的数字转换成[0,1]之间的一个概率值,如果概率值大于0.5, 则判定为是某个分类,否则则不是某个分类,公式如下: 本文基于sigmoid做了一个将一 ...
- (六十二)基于logistic回归的信用评级和分类模型评估
案例数据介绍 本案例中的企业从事个人汽车金融服务,向购车的个人提供信用贷款.该公司的风控部门根据贷款申请者的基本属性.信贷历史.历史信用情况.贷款标的物的情况等信息构建贷款违约顶测模型,其中是否违约b ...
- Python基于PyTorch实现BP神经网络ANN分类模型项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 在人工神经网络的发展历史上,感知机(Multilayer Per ...
- ICASSP2023论文分享 | DST:基于Transformer的可变形语音情感识别模型
本次分享华南理工大学.优必选研究院等合作在ICASSP2023会议发表的论文<DST: Deformable Speech Transformer for Emotion Recognition ...
- 【小白学习PyTorch教程】七、基于乳腺癌数据集构建Logistic 二分类模型
「@Author:Runsen」 在逻辑回归中预测的目标变量不是连续的,而是离散的.可以应用逻辑回归的一个示例是电子邮件分类:标识为垃圾邮件或非垃圾邮件.图片分类.文字分类都属于这一类. 在这篇博客中 ...
- 基于条件LayerNorm的多任务文本分类模型
本文字数:1616字 预计阅读时间:10分钟 作者介绍 陈琢,哈尔滨工业大学(深圳)研二学生,获奖经历: 2021年腾讯游戏安全技术竞赛(机器学习方向)top2 2021第一届"计图&quo ...
最新文章
- R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体)
- .NET中的异步编程(四)- IO完成端口以及FileStream.BeginRead
- 表的插入、更新、删除、合并操作_4_同时往多个表插入记录
- OpenGL 光照方程的计算
- 使用内置的Gallery应用程序选择图形
- html火影忍者网页设计作品,纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例...
- IdentityServer4系列 | 快速搭建简易项目
- 使用Angular,Ionic 4和Spring Boot构建移动应用
- 删除(.svn)目录
- java 线程池 连接池_浅析Tomcat高并发之连接池、线程池
- 常见BSOD蓝屏原因分析
- FPGA-小梅哥时序分析
- 国内八家域名注册商优缺点比较(转)
- 目标跟踪常用算法——EKF篇
- Spark写入Hudi报分区列乱码问题java.net.URISyntaxException: Illegal character in path at index 46:
- 计算机二级word海报体,2016年计算机二级《MSOffice》全真模拟试题
- 深度挖坑系列之三:人脸识别,角度空间,欧氏空间,margin
- 论文阅读笔记《Dynamic Few-Shot Visual Learning without Forgetting》
- 电气器件系列二十一:变压器
- 信息安全意识培训详解
热门文章
- three approaches to industrial experiences at cambridge
- 关于在学校锻炼的思考
- .net standard 2.0与 .net4.0之间的关系?
- 2018.8.8笔记
- SpringBoot实现Java高并发秒杀系统之DAO层开发(一)
- 多线程经典问题之多窗口卖票
- 天水市荣膺“2016中国智慧城市创新奖”
- POJ NOI MATH-7828 最大公约数与最小公倍数
- 一些适用于前端开发的 Atom 插件
- Linux(CentOS)中常用软件安装,使用及异常——MySQL, VmTools