首页> 中国专利> 基于信息熵的音乐哼唱检测方法

基于信息熵的音乐哼唱检测方法

摘要

本发明涉及一种基于信息熵的音乐哼唱检测方法,利用人声在哼唱时前后两个字的发音相似性,通过信息熵的方法逐句对歌声加以切割,再将分割结果同标准文件的结果比较,实现检测是否哼唱的功能,本发明的检测方法简单,实现灵活而且检测效率高。

著录项

  • 公开/公告号CN102930873A

    专利类型发明专利

  • 公开/公告日2013-02-13

    原文格式PDF

  • 申请/专利权人 福州大学;

    申请/专利号CN201210371373.0

  • 申请日2012-09-29

  • 分类号G10L25/90;

  • 代理机构福州元创专利商标代理有限公司;

  • 代理人蔡学俊

  • 地址 350108 福建省福州市闽侯县上街镇大学城学园路2号福州大学新区

  • 入库时间 2024-02-19 18:03:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-18

    未缴年费专利权终止 IPC(主分类):G10L25/90 授权公告日:20140409 终止日期:20170929 申请日:20120929

    专利权的终止

  • 2014-04-09

    授权

    授权

  • 2013-03-20

    实质审查的生效 IPC(主分类):G10L25/90 申请日:20120929

    实质审查的生效

  • 2013-02-13

    公开

    公开

说明书

技术领域

本发明涉及语音分割领域,特别是一种基于信息熵的音乐哼唱检测方法。 

背景技术

近年来,随着音乐娱乐的普及,基于音乐哼唱的识别、搜索与评分成为研究与应用的热点,受到学术界和业界的广泛关注。众所周知,哼歌比唱歌更为省力,而且更加容易把握歌曲的音调,所以有的人为了增加自己的评分,会在K歌过程中加入哼唱,这就为我们的打分增添了难度和不准确性。所以能否分辨人在K歌时候是用哼的还是唱的,会对我们评分的精准度产生较大的影响,从而也影响了用户体验和产品的质量。在哼唱时,我们的发音方式前后相似,在语音分割时不易于将每个单音一一区别开来。因此,如何利用语音分割准确辨别出哼唱和歌唱,是不断完善评分系统,同时也是发展音乐娱乐的重要问题。

发明内容

本发明的目的是提供一种基于信息熵的音乐哼唱检测方法,能有效地检测出K歌时的哼唱情况。

本发明采用以下方案实现:一种基于信息熵的音乐哼唱检测方法,其特征在于:利用人声在哼唱时前后两个字的发音相似性,通过信息熵的方法逐句对歌声加以切割,再将分割结果同标准文件的结果比较,实现检测是否哼唱的功能,包括如下步骤:

(1)在得到输入的数字音乐语音信号后,将整个语音信号进行滤波、归一化预处理;

(2)对语音信号进行分帧处理,分别计算每一帧的信息熵;

(3)根据信息熵将整个语音信号分割成若干段;

(4)读取标准文件,如果分割结果小于标准文件读取结果的一半以上,则认为该段语音是哼唱的,否则认为该语音信号正常。

在本发明一实施例中,所述的每一帧的帧长W描述为10~30ms内的采样数,W=每一帧的时间长度*采样频率;所述的帧移WF描述为相邻两帧未重叠的部分,WF=帧长/2。

在本发明一实施例中,所述的信息熵描述为表示时间序列混乱程度的大小,时间序列分布越混乱,信息熵越大,反之则越小。

在本发明一实施例中,所述的标准文件描述为一系列的三元组Oi(begini, endi,Ci),其中1<=i<=n,Ci为歌词,begini为第i个字的起始时间,endi为第i个字的截止时间,n表示语音段的歌词总数。

在本发明一实施例中,所述步骤(2)中所述每一帧的信息熵的计算按照以下方案实现:所述的语音分成长度为W的语音帧后,对于每一帧作如下处理:找到该帧中的最大值max,然后分成等长的k个区间[0,x1],[x1,x2],…,[xk-1,max],统计该帧在每个区间的值的个数并计算概率,得到概率p1,p2,…,pk,然后根据公式                                               ,最后得到该帧的信息熵;整个语音信号的信息熵序列用H表示。

在本发明一实施例中,所述步骤(3)中所述根据信息熵将整个语音信号分割成若干段是按照以下方案实现:根据H的最大值确定阈值flag=max(H)/3,所述的语音段必须满足长度大于150ms,则对应到信息熵的长度为L=(0.15*fs)/WF,即在H中从第一个点开始,找到某个点hi>flag,若后面连续L个点hi+1,hi+2,…,hi+L的值均大于flag,假设到L’终止,该L’>L,则从点hi到点hi+L’的这一段所对应的语音信号段就是所求的一段分割出来的单独语音;依次类推,通过H找到若干段单独语音,记为n,所得到的n个语音段就是分割结果。

本发明的有益成果是:本发明提出了一种基于信息熵分割的音乐哼唱检测方法,其通过信息熵对语音的分割方法逐句对歌声加以切分,有效地检测出了哼唱的情况,该方法简单,实现灵活,具有较强的实用性。

附图说明

图1是基于信息熵的音乐哼唱检测方法的流程图。

具体实施方式

请参照图1,本发明基于信息熵的音乐哼唱检测方法,利用人声在哼唱时前后两个字的发音相似性,通过信息熵的方法逐句对歌声加以切割,再将分割结果同标准文件的结果比较,实现检测是否哼唱的功能,具体如下:

1、语音信号分帧:首先对整个语音信号进行滤波、归一化等预处理。然后将得到的语音按照长度为W、每次帧移为WF分成小段的语音帧,其中,W表示帧长,W=每一帧的时间长度*采样频率;WF表示帧移,WF=帧长/2。对于每一帧作如下处理:找到该帧中的最大值max,然后分成等长的k个区间[0,x1],[x1,x2],…,[xk-1,max],统计该帧在每个区间的值的个数并计算概率,得到概率p1,p2,…,pk,然后根据公式,最后得到该帧的信息熵。整个语音信号的信息熵序列用H表示。

2、分割语音信号:根据H的最大值确定阈值flag=max(H)/3,所述的语音段必须满足长度大于150ms,则对应到信息熵的长度为L=(0.15*fs)/WF,即在H中从第一个点开始,找到某个点hi>flag,若后面连续L个点hi+1,hi+2,…,hi+L的值均大于flag,假设到L’终止(L’>L),则从点hi到点hi+L’的这一段所对应的语音信号段就是所求的一段分割出来的单独语音。依次类推,我们可以通过H找到若干段单独语音,记为N,所得到的N个语音段就是我们的分割结果。

3、对比分割结果和标准文件,检测是否为哼唱:根据标准文件中的三元组Oi(begini, endi,Ci),其中1<=i<=n,Ci为歌词,begini为该字的起始时间,endi为改字的截止时间,n表示语音段的歌词总数,设某句话从Tm到Tm+1时刻,查找标准文件得到该时刻内包含的字数为M,若有N<M/2成立,则说明该句话中包含了哼唱的部分,在评分中需予以扣分。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号