介绍一种音频信号分类方法
能用来区分语音和音乐信号的音频特征有很多种,如感觉特性、能量、功率谱和Mel频标倒谱(MFCC)系数,能量、平均过零率、基频和功率谱峰值等。以下介绍一种基于子带音调个数比与频谱倾斜度相结合的区分方法。
一、基本原理
不同类型的音频,其音调分量在各个子带的分布有所不同。语音的音调分量绝大部分分布在低频处,而音乐的音调分量在各个子带的分布则相对较均匀。利用该特性可区分音乐与语音信号。
由于某些敲打式的突变音乐信号,其音调分布特性较接近于语音的音调分布特性。因此仅用子带音调分量区分准确度不高。为解决这一问题,引入频谱倾斜度特征。一般来说,语音与音乐的平均频谱倾斜度主要分布在[0.650,0.995]的范围内,但对于一些敲打式的突变音乐信号,其频谱倾斜度的值很小,小于0.650。另外,有些音乐频谱倾斜度的值可达到很高,大于0.995。该特性能较好的区分子带音调分量不能区分的突变音乐信号。
二、方法实现
2.1子带音调个数比
对信号进行分帧处理,帧长为N。用汉明窗对每帧输入时域信号进行加窗,然后对加窗信号进行FFT变换,并计算其功率密度谱X(k),x(k)也称为频谱系数。由于FFT是关于N12对称的N/2,因此只需计算前N/2个频谱。
将频域划分为4个子带SBi,分别为 [0,N/16],[N/16,N/8],[N/8,N/4]和[N/4,N/2]。当频谱系数X(k)符合X(k-1)<X(k)<X(k+1)且X(k)-X(k+j)≥7 dB时,则认为此频谱系数x(k)是音调的(tonal)。其中j根据不同的子带取不同的值。
计算每个子带的音调个数NTi(i=0,1,…,3)与帧的总音调个数NTsum的比值,即子带音调个数比RTi。取当前帧子带音调个数比与前面L帧(L=20,取1s较合理)的子带音调个数比的平均值作为当前帧的子带音调个数比(平滑处理)。语音与音乐在SB0和SB2的音调分布区别较大,因此可采用RT0与RT2对语音和音乐进行区分。
2.2 频谱倾斜度及判断方法
频谱倾斜度(ST)是估计语音信号第一个自相关系数的归一化值ST=r(1)/r(0),其中,r(j)为自相关系数。与子带音调个数比类似,以20帧为例,计算当前帧与前19帧的ST均值作为当前帧的ST值。
结合子带音调个数比和频谱倾斜度对输入音频信号进行分类。当同时符合RT0>0.62,RT<0.08,ST >0.65.而且ST<0.995这4个条件时,把当前帧判别为语音;否则,判别 为音乐。
分类结果有时会出现单帧误判的情况,即所谓的“毛刺”现象。平滑技术可有效去除这种“毛刺”。平滑的简单实现方法是:若前一个数据块的信号类型与后一个数据块的信号类型相同。而与当前帧的信号类型不同时,使当前帧的信号类型判决为与前一个数据块的信号类型相同。实验证明,在分类算法中采用平滑技术可有效去除一些“毛刺”现象,使分类更平滑。
介绍一种音频信号分类方法相关推荐
- 缓解办公疲劳的方法有很多,这里介绍几种常用的方法...
缓解办公疲劳的方法有很多,这里介绍几种常见的方法. 1.增加运动量:办公室的工作环境往往是静止的,所以增加运动量对于缓解疲劳非常有帮助.可以在办公室内安排一些健身活动,例如每隔一段时间就站起来活动一下 ...
- 西门子PLC博途3种自动流程程序写法 本案例介绍3种不同的方法去写自动流程程序
西门子PLC博途3种自动流程程序写法 本案例介绍3种不同的方法去写自动流程程序. 第一种是用scl case语录,另外的两种使用梯形图的模式去写. 使用此类方法去写,清晰明了,非常使用. 并且针对程序 ...
- 简要介绍WASAPI播放音频的方法
正文 填一下之前挖的坑,这回就说说怎么用WASAPI播放声音吧. 本文完整代码可以在以下链接找到 https://gitcode.net/PeaZomboss/learnaudios 目录是demo/ ...
- 龙井茶怎么泡?介绍三种龙井茶冲泡方法
作者:小辉新月 来源:LOFTER 龙井茶冲泡方法一:上投法 1.这种方法需要用透明的玻璃杯进行冲泡.先在玻璃杯中放入适量的温水,然后放入适量的茶叶. 2.等一段时间,看茶叶吸水后一片一片慢慢下沉,茶 ...
- android 音频播放过程,一种Android系统中的音频播放方法与流程
本申请涉及android系统技术,特别涉及一种android系统中的音频播放方法. 背景技术: 在android系统中,现有的使用audiotrack进行音频播放时,audiotrack应用与andr ...
- 如何将MP4转换为MP3?四种简单易行的方法!
在短视频时代,有一些视频搭配着好听的音频可以让人身临其境.如果您遇到了喜欢的配乐,可以将视频文件中的音频提取出来,将MP4格式的视频文件转换成MP3格式的音频文件有很多方法可以实现.下面将为大家介绍几 ...
- 寻找网站后台的几种常见的方法
(注:本教程仅供学习交流使用,不可用于一切未授权的网络攻击和违法行为!) 当我们进入一个网站时,如何对其后台进行查找.从而进一步渗透?今天给大家介绍几种常见的方法: 查看网站图片中的属性 我们可以随机 ...
- android开发如何快速定位bug_三种bug定位方法
1.定位bug产生的过程 测试用例的执行,基本上是程序运行过程bug产生的开始,若测试结果与期望结果有出入,即出现了错误征兆,定位bug过程首先要找出bug产生的原因,然后对bug进行修正.因此定位b ...
- 19种音频格式介绍及音质压缩比的比较 1
19种音频格式介绍及音质压缩比的比较 目录 前言............................................................................ ...
最新文章
- 面向对象概念及三大特点
- mfc cedit 默认显示内容_VS2013/MFC编程学习(一)
- 为什么要做scan extraction?
- CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记
- 私有云存储 linux,搭建nextcloud私有云存储网盘
- 【Java】最基本的命令行登录程序Demo
- Andropid 系统(273)--如何修改google libphonenumber的meta data (号码归属地,紧急号码列表,号码格式,号码范围)
- 机器人仿真技术学习笔记(一)
- Linux入门: grep与egrep 知识总结
- BOOST库介绍(五)——智能指针shared_ptr
- 安卓AndroidStudio设计计算器实现简单的计算
- 【如何7天写完一篇发明专利】
- 在线教会你Excel批量转PDF的小妙招
- 数组转这种格式 county_list:{ 110101: “东城区“, 110102: “西城区“, 110105: “朝阳区“, 110106: “丰台区“,
- 需要将录音转文字在线转换,应该如何完成
- word2vec 的个人理解
- 一个公司有m名推销员,他们都推销n种不同的产品。其中m>=l;m<=100,n>=l,n<=10。每天,每个推销员都要为售出的每一种产品交上来一个卡片。
- 如何看待培训机构出来的非科班程序员
- 【网络安全】如何限制内网网速
- bzoj3990【SDOI2015】排序
热门文章
- Android密钥证书学习
- 华为nova7se能云闪付吗_华为nova7se支持NFC功能吗?可以用NFC来刷公交卡吗
- 百度统计中的索引量和site:命令的百度收录量不一致的原因
- Poi 导出excel多个sheet的内容
- 易观国际葛惟颖:中国移动支付行业发展前景分析
- 商标注册需要多久下证
- 吹爆推易吧,格局比天大!
- 如何用20分钟就能获得同款企业级全链路灰度能力?
- maven+spring mvc+mybatis+redis+dubbo+zookeeper
- MarkDown超级教程 Obsidian版 2022.1.12