The invention discloses a humming melody recognition method based on dynamic time stretching algorithm, which realizes fast and accurate recognition of humming melody of humming people. Firstly, the melody audio signal is pre processed, and the speech signal is denoised to remove the messy sounds in the signal. Then, the signal is pre weighted and windowed sub frame is processed to obtain high quality speech signals. The endpoint detection and the extraction of MFCC coefficients are carried out, and the parameters which represent the essential features of the speech signal are extracted to get the feature sequence of humming input melody. The feature sequence is compared with the feature sequence of the songs in the song library, and a part of the music is deleted according to the melody features and edit distance. The improved dynamic time warping algorithm is used to match the feature sequence of the remaining songs with the target feature sequence accurately, and the candidate songs are obtained, and the recognition of humming melody is realized.
【技术实现步骤摘要】
本专利技术涉及一种基于动态时间伸缩算法的哼唱旋律识别方法,属于语音识别领域。
技术介绍
在基于内容的音乐信息检索研究中,哼唱旋律识别方法是其核心算法和研究重点,识别方法的性能对识别效率和识别结果有着直接的影响。在对歌曲名或者歌手不熟悉的情况,通过哼唱旋律识别我们可以十分方便快捷的根据个人哼唱查询到相应歌曲。同时它在歌曲的曲调分析和演唱者的演唱水平打分等方面也有十分广泛的应用。在哼唱旋律识别方法中,我们既要考虑哼唱语音中的音符增减与音高偏差现象,又要考虑用户可以在歌曲的任意时段进行哼唱。因此采用适当的识别策略和匹配方法十分重要。
技术实现思路
本专利技术的目的是提供一种基于动态时间伸缩算法的哼唱旋律识别方法,其可以有效地根据哼唱者哼唱的语音信息识别出歌曲的信息。本专利技术采用以下技术方案:一种基于动态时间伸缩算法的哼唱旋律识别方法,包括以下步骤:(1)语音信息预处理。将哼唱的语音信息进行去噪,预加重和加窗分帧等操作,提高语音信号的质量,使信号的高频部分变得平坦,语音信号整体平稳,便于后续的分析;(2)特征提取。对经过上述步骤处理过的语音信号进行端点检测和MFCC系数提取等操作,可以把代表语音信号本质特征的参数抽取出来,得到哼唱输入旋律的特征序列;(3)基于旋律特征的快速筛选。本方法根据歌曲的半音差作为特征旋律。首先根据歌曲的音高起伏计算一首歌的最高音和最低音的半音差。删除目标音乐库中与待测旋律半音差相差较大的歌曲。通过此步骤,快速删除一部分歌曲,提高旋律识别过程;(4)基于编辑距离的快速筛选。首先将哼唱输入旋律的特征序列依据音高差,转换成字符串序列,与目标音乐 ...
【技术保护点】
一种基于动态时间伸缩算法的哼唱旋律识别方法,其特征在于包括以下步骤:(1)语音信息预处理。将哼唱的语音信息进行去噪,预加重和加窗分帧等操作,提高语音信号的质量,使信号的高频部分变得平坦,语音信号整体平稳,便于后续的分析;(2)特征提取。对经过上述步骤处理过的语音信号进行端点检测和MFCC系数提取等操作,可以把代表语音信号本质特征的参数抽取出来,得到哼唱输入旋律的特征序列;(3)基于旋律特征的快速筛选。本方法根据歌曲的半音差作为特征旋律。首先根据歌曲的音高起伏计算一首歌的最高音和最低音的半音差。删除目标音乐库中与待测旋律半音差相差较大的歌曲。通过此步骤,快速删除一部分歌曲,提高旋律识别过程;(4)基于编辑距离的快速筛选。首先将哼唱输入旋律的特征序列依据音高差,转换成字符串序列,与目标音乐库中经过基于旋律特征快速匹配筛选剩下的歌曲进行计算编辑距离。剔除距离相差较大的歌曲;(5)基于改进的动态时间伸缩算法的精确识别。在哼唱识别中,并不能简单地将哼唱输入旋律的特征序列与目标模板序列进行比较,因为哼唱者在哼唱中可能存在各种各样的哼唱错误,如添加音符,删除音符等,因此对模板进行时间规划十分重要。动 ...
【技术特征摘要】
1.一种基于动态时间伸缩算法的哼唱旋律识别方法,其特征在于包括以下步骤:(1)语音信息预处理。将哼唱的语音信息进行去噪,预加重和加窗分帧等操作,提高语音信号的质量,使信号的高频部分变得平坦,语音信号整体平稳,便于后续的分析;(2)特征提取。对经过上述步骤处理过的语音信号进行端点检测和MFCC系数提取等操作,可以把代表语音信号本质特征的参数抽取出来,得到哼唱输入旋律的特征序列;(3)基于旋律特征的快速筛选。本方法根据歌曲的半音差作为特征旋律。首先根据歌曲的音高起伏计算一首歌的最高音和最低音的半音差。删除目标音乐库中与待测旋律半音差相差较大的歌曲。通过此步骤,快速删除一部分歌曲,提高旋律识别过程;(4)基于编辑距离的快速筛选。首先将哼唱输入旋律的特征序列依据音高差,转换成字符串序列,与目标音乐库中经过基于旋律特征快速匹配筛选剩下的歌曲进行计算编辑距离。剔除距离相差较大的歌曲;(5)基于改进的动态时间伸缩算法的精确识别。在哼唱识别中,并不能简单地将哼唱输入旋律的特征序列与目标模板序列进行比较,因为哼唱者在哼唱中可能存在各种各样的哼唱错误,如添加音符,删除音符等,因此对模板进行时间规划十分重要。动态时间伸缩算法通过不断的计算两矢量的距离以寻找最优的匹配路径,所以得到的两矢量是累计距离最小的规整整数,这保证了他们之间存在最大的声学相似特征。但是动态时间伸缩算法存在检索时间慢,所需存储空间大等问题,因此本方法针对上述问题从端点松弛,跨句检索,代价函数等几个方面对动态时间伸缩算法进行改进。通过改进后的动态时间伸缩算法实现了哼唱旋律的精确识别。2.根据权利要求1所述的...
【专利技术属性】
技术研发人员:郑丽敏,程国栋,杨璐,田立军,
申请(专利权)人:中国农业大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。