当前位置: 首页 > 专利查询>东南大学专利>正文

一种快速识别独奏乐曲乐谱的方法技术

技术编号:10786753 阅读:111 留言:0更新日期:2014-12-17 13:40
本发明专利技术涉及一种快速识别独奏乐曲乐谱的方法:由计算机录制独奏乐曲并保存为.wav格式音频文件,然后CPU将乐曲数据分成若干帧并将其传送给图形处理单元(GPU)。GPU同时对每一帧原始数据进行带通滤波和中心削波,然后通过改进自相关函数法实现乐曲音调的识别(即基音周期识别)。之后GPU将计算结果返回给CPU,CPU再计算每一帧数据的短时能量值,并进行差分运算提取出短时能量的变化率,根据变化率进行节拍划分并确定每一拍的时长,从而得到乐曲的演奏速度。本发明专利技术能够准确地计算乐曲的音调、节拍和演奏速度。通过改进自相关函数法并采用并行处理方式,不仅提高了音调识别的准确率,而且计算速度提高6倍左右。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及:由计算机录制独奏乐曲并保存为.wav格式音频文件,然后CPU将乐曲数据分成若干帧并将其传送给图形处理单元(GPU)。GPU同时对每一帧原始数据进行带通滤波和中心削波,然后通过改进自相关函数法实现乐曲音调的识别(即基音周期识别)。之后GPU将计算结果返回给CPU,CPU再计算每一帧数据的短时能量值,并进行差分运算提取出短时能量的变化率,根据变化率进行节拍划分并确定每一拍的时长,从而得到乐曲的演奏速度。本专利技术能够准确地计算乐曲的音调、节拍和演奏速度。通过改进自相关函数法并采用并行处理方式,不仅提高了音调识别的准确率,而且计算速度提高6倍左右。【专利说明】
本专利技术涉及。
技术介绍
自动识别独奏乐曲的乐谱是指将用户演奏的独奏乐曲信号录制为音频文件,通过 解析音频文件计算出乐曲的乐谱信息:包括音调信息和节拍信息。这种功能在音乐创作中 能够极大地提高作曲人的创作效率,也可以指出演奏者在演奏过程中出现的错误。 目前的独奏乐曲乐谱自动识别主要有两类:基于MIDI格式音频文件的乐谱自动 识别和基于WAV格式音频文件的乐谱自动识别方法。前者由于MIDI文件本身包含有大量 的乐谱信息,而且MIDI文件并不是常用的音频文件格式而受到很大限制。后者由于需要大 量的计算导致识别速度较慢,从而限制了这种方法的实用价值。 本文提出一种新的快速识别独奏乐曲乐谱的方法,利用改进自相关函数来提高音 调识别的准确率,综合考虑短时能量和音调信息进行节拍划分。同时,本专利技术利用并行处理 方式将计算速度提高6倍。 【专利技术内容】 本专利技术提出了,包括如下步骤: A、录制独奏乐曲并保存为.wav格式首频文件; B、在CPU上将数据分成若干帧以便于后期并行处理; C、将分帧后的数据传送给GPU ; D、GPU对数据进行带通滤波和中心削波; E、GPU通过改进的自相关函数法进行乐曲音调的计算,并将计算结果返回给CPU ; F、CPU计算每一帧的短时能量值,并通过对所有帧的短时能量求差分运算而获取 乐曲信号短时能量的变化率; G、根据节拍划分的结果,结合采样率计算每一个节拍持续的时间; 本专利技术的有益技术效果:能够准确地计算独奏乐曲的音调、节拍和演奏速度。通过 改进自相关函数法提高了基音周期识别的准确率,而且通过并行处理将计算速度提高6倍 左右。 【专利附图】【附图说明】 图1是本专利技术的计算流程图。 图2是数据与线程之间的映射关系图。 图3是乐曲信号时域波形图。 图4是识别结果。 【具体实施方式】 如图1所示,计算机读取事先录制的.wav格式独奏乐曲音频文件,将乐曲数据保 存为数组形式,然后CPU将乐曲数据进行分帧处理并将其拷贝到GPU,GPU为每一帧数据创 建一条线程,该线程进行对应帧的带通滤波、中心削波和基音周期识别(即音高的识别), 最后将音高识别的结果返回给CPU,由CPU结合短时能量变化率进行节拍识别。具体计算过 程如下: 1.分帧处理 本专利技术首先将原乐曲数据分成若干帧,每一帧的长度为乐曲信号中可能出现的最 大基音周期的两倍,令Fs为乐曲信号的采样率,T max为最大基音周期,N为最短帧长,则有 N = Tmax · FsX2 -般情况下,最大基音周期Tmax是频率为130. 8Hz的音调对应的周期,即 0. 00765s,Fs通常是44. 1kHz,因此,N约等于674,为方便起见,本专利技术将N取为700。 2.数据的拷贝和线程的创建 如图2所示,对数据进行分帧处理之后,CPU将数据发送到GPU,GPU为每一帧数据 创建一条线程,该线程进行对应帧的基音周期识别。 需要注意的是,在计算自相关函数时,程序会频繁地访问存储乐曲信号的数组,平 均每个元素要被访问数百次。而设备存储器属于片外存储器,访问它需要大量的时间,这极 大地限制了 GPU并行计算的能力。针对这个问题,可以在计算前将数组的一个副本放在共 享存储器中,共享存储器属于片上存储器,访问速度与寄存器相当。这样,只需要访问一次 设备存储器,之后可以直接访问共享存储器,从而极大的减少了访问数据的时间。 数据传送完成之后即可创建线程进行计算,本文共创建2048条线程进行数据的 计算,即将原来的乐曲数据分成2048帧,每条线程进行一帧数据的计算,不同线程之间并 发地执行计算,从而大大的减少了系统识别乐谱的总时间。 3.带通滤波和中心削波 本专利技术利用带通滤波和中心削波对乐曲数据进行预处理。数字带通滤波器的设计 较为简单,在此不再赘述。本文所用的中心削波处理函数的表达式为 【权利要求】1. ,其特征在于,包括以下步骤: A、 录制独奏乐曲并保存为.wav格式首频文件; B、 在CPU上将数据分成若干帧以便于后期并行处理; C、 将分帧后的数据传送给GPU设备存储器,并缓存至GPU共享存储器; D、 GPU对数据进行带通滤波和中心削波; E、 GPU通过改进的自相关函数法进行乐曲音调的计算,并将计算结果返回给CPU ; F、 CPU计算每一帧的短时能量值,并通过对所有帧的短时能量求差分运算而获取乐曲 信号短时能量的变化率; G、 根据节拍划分的结果,结合采样率计算每一个节拍持续的时间。2. 根据权利1所述的,其特征在于:所述乐谱数据 包括音调数据和节拍数据。3. 根据权利1所述的,其特征在于:将乐曲数据分 成若干帧,并采用并行计算方式加速乐谱识别速度。4. 根据权利1所述的,其特征在于:利用改进的自 相关函数法进行音调的检测。5. 根据权利4所述的,其特征在于:改进的自相关 函数法根据乐曲信号音调范围特征,只选取部分范围计算自相关函数,从而减少计算量。6. 根据权利4所述的,其特征在于:改进的自相关 函数法对自相关函数计算公式进行修改,提高音调识别的准确率。7. 根据权利1所述的一种自动识别乐谱的方法,其特征在于:对短时能量求差分获取 其变化率,根据短时能量变化率进行节拍划分。【文档编号】G10L25/90GK104217731SQ201410432269【公开日】2014年12月17日 申请日期:2014年8月28日 优先权日:2014年8月28日 【专利技术者】谢晨伟, 郑姚生, 汤勇明 申请人:东南大学本文档来自技高网...

【技术保护点】
一种快速识别独奏乐曲乐谱的方法,其特征在于,包括以下步骤:  A、录制独奏乐曲并保存为.wav格式音频文件;  B、在CPU上将数据分成若干帧以便于后期并行处理;  C、将分帧后的数据传送给GPU设备存储器,并缓存至GPU共享存储器;  D、GPU对数据进行带通滤波和中心削波;  E、GPU通过改进的自相关函数法进行乐曲音调的计算,并将计算结果返回给CPU;  F、CPU计算每一帧的短时能量值,并通过对所有帧的短时能量求差分运算而获取乐曲信号短时能量的变化率;  G、根据节拍划分的结果,结合采样率计算每一个节拍持续的时间。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢晨伟郑姚生汤勇明
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利