【摘要】 分层递阶的歌曲旋律检索方法,属于旋律检索技术领域,其特征在于:在PC机上设定哼唱录音数据采集模块,把从话筒声卡输入的哼唱声音保存为哼唱录音数据;哼唱旋律特征提取模块,从哼唱录音数据中提取出包含旋律特征的哼唱音符序列和分帧哼唱音高序列;曲库旋律特征提取模块,从包含歌曲旋律的midi文件中提取音符序列和分帧音高序列;快速检索模块,利用基于音符的检索方法从整个曲库中进行快速检索得到一个较小的备选旋律集;精准检索模块,利用基于分帧的检索方法,在上述备选旋律集中进行检索从而得到最终结果。该旋律检索方法具有检索准确性高而且检索速度快的特点。 【专利类型】发明授权 【申请人】清华大学; 上海锐深计算机科技有限公司 【申请人类型】企业,学校 【申请人地址】100084 北京市100084-82信箱 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810222317.4 【申请日】2008-09-17 【申请年份】2008 【公开公告号】CN101364238B 【公开公告日】2010-12-15 【公开公告年份】2010 【授权公告号】CN101364238B 【授权公告日】2010-12-15 【授权公告年份】2010.0 【IPC分类号】G06F17/30; G10H1/00 【发明人】王智; 张钹; 张云刚 【主权项内容】分层递阶的歌曲旋律检索方法,其特征在于,所述方法是在PC机上依次按以下步骤实现的:步骤1,初始化在该PC机上安装哼唱录音数据采集模块,哼唱旋律特征提取模块,曲库旋律特征提取模块,快速检索模块,精准检索模块,其中:A.哼唱录音数据采集模块,输入哼唱数据,根据设定的录音采样频率和位数采集哼唱录音数据,并输出,还设有录音设备启动和停止的控制信号输出端;B.哼唱旋律特征提取模块,从所述哼唱录音数据采集模块输出的哼唱录音数据中使用基于自相关函数的基音周期估计算法计算出每帧的音高,提取出能表达哼唱旋律特征的分帧哼唱音高序列,再用基于音高的音符分割方法,即相邻帧的音高差异在50音分以内的都属于同一个区段,长度大于100ms的区段看作是一个音符;从所述的分帧哼唱音高序列中得到哼唱音符序列;C.曲库旋律特征提取模块,在由完整歌曲库输入的含有歌曲旋律的midi文件中先把其中的音符信息按时间顺序相串接,得到歌曲旋律所对应的音符序列,依此类推,得到完整歌曲库中所有歌曲旋律对应的音符序列集,再对每一个音符序列按设定的时间单位分帧,根据每帧对应时间的音符的音高值作为该帧的音高值,得到一个对应的分帧音高序列,依此类推,得到该完整歌曲库中所有歌曲旋律对应的分帧音高序列;D.快速检索模块,从曲库旋律特征模块输入曲库音符序列集,再从所述哼唱旋律特征提取模块输入哼唱音符序列,再用动态规划算法计算所述哼唱音符序列与曲库音符序列集中每一个序列的旋律差异值,然后选择差异值最小的前10%音符序列所对应的曲库作为备选旋律集输出;E.精准检索模块,分别从所述曲库旋律特征提取模块提取分帧音高序列,从哼唱旋律特征提取模块提取分帧哼唱音高序列,从快速检索模块提取备选旋律集,再按以下步骤处理:首先,根据所述备选旋律集和分帧音高序列集得到备选旋律分帧音高序列集;其次,计算所述分帧哼唱音高序列与所述备选旋律分帧音高序列集中每一个分帧音高序列的旋律差异值,同样是用所述快速检索模块中所述的动态规划算法,把最小的旋律差异值所对应的旋律作为最终检索结果;步骤2,曲库旋律特征提取模块从包含歌曲旋律特征的midi文件中提取能表示歌曲旋律特征的的音符序列集和分帧音高序列集;步骤3,操作者按下PC机上的开始录音键,启动哼唱录音数据采集模块,然后通过话筒和声卡设备输入哼唱数据,保存为wav格式的哼唱录音数据;步骤4,哼唱旋律特征提取模块从步骤3输出的哼唱录音数据中,提取能表示哼唱旋律特征的音符序列和分帧哼唱音高序列;步骤5,快速检索模块将步骤4输出的哼唱音符序列在步骤2输出的曲库旋律音符序列集中进行检索,选择差异值最小的前10%音符序列所对应的曲库作为备选旋律集输出;步骤6,根据步骤2输出的曲库旋律分帧音高序列集和步骤5输出的备选旋律集,可以得到备选旋律集所对应的备选旋律分帧音高序列集;步骤7,精准检索模块将步骤4输出的分帧哼唱音高序列在步骤6输出的备选旋律分帧音高序列集中进行基于分帧的检索,从而得到最终的检索结果。 【当前权利人】清华大学; 上海锐深计算机科技有限公司 【当前专利权人地址】北京市100084-82信箱; 【专利权人类型】公立; 有限责任公司 【统一社会信用代码】12100000400000624D; 91310116753806199E 【家族被引证次数】11