CN103559232A - 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 - Google Patents
一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 Download PDFInfo
- Publication number
- CN103559232A CN103559232A CN201310505428.7A CN201310505428A CN103559232A CN 103559232 A CN103559232 A CN 103559232A CN 201310505428 A CN201310505428 A CN 201310505428A CN 103559232 A CN103559232 A CN 103559232A
- Authority
- CN
- China
- Prior art keywords
- value
- music
- pitch
- humming
- dynamic time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000013459 approach Methods 0.000 title claims abstract description 18
- 239000012634 fragment Substances 0.000 claims abstract description 67
- 238000001914 filtration Methods 0.000 claims abstract description 17
- 238000009499 grossing Methods 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims abstract description 12
- 238000010606 normalization Methods 0.000 claims abstract description 7
- 238000007596 consolidation process Methods 0.000 claims description 86
- 230000008878 coupling Effects 0.000 claims description 23
- 238000010168 coupling process Methods 0.000 claims description 23
- 238000005859 coupling reaction Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 238000005311 autocorrelation function Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 12
- 230000013011 mating Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 5
- 230000001174 ascending effect Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 239000000463 material Substances 0.000 claims description 2
- 238000009432 framing Methods 0.000 abstract 1
- 230000030279 gene silencing Effects 0.000 abstract 1
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 239000011295 pitch Substances 0.000 description 112
- 230000033764 rhythmic process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 102100040160 Rabankyrin-5 Human genes 0.000 description 2
- 101710086049 Rabankyrin-5 Proteins 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 101150074062 Tnfsf11 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
- G06F16/634—Query by example, e.g. query by humming
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本发明公开了一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法,所述技术领域涉及音频检索和哼唱检索技术,该方法包括两部分,一是通过MIDI音乐文件来构建音乐数据库。二是提取哼唱片段的特征,并与音乐数据库模型进行基于二分逼近动态时间归整的匹配并返回检索结果。包括以下步骤:首先对哼唱片段进行归一化、带通滤波、预加重、加窗分帧等处理;接着进行滤除静音段、基音检测、中值平滑等处理;最后进行基于二分逼近动态时间归整的匹配,根据匹配率由大到小排序并返回结果。本发明的优点是解决了音乐检索的音符序列时间点对齐问题和音符相对音高两大难题;能显著提高检索命中率。
Description
技术领域
本发明涉及一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法,属于音频检索和哼唱检索技术领域。
背景技术
传统的检索音乐的方法是基于文本的检索,当前主流的搜索引擎,如Baidu、Yahoo和Google等,在文本检索领域非常强大,但检索多媒体数据使用的是基于文本检索的方法。研究更加高效的、基于人类交流习惯的多媒体信息检索技术,是信息技术发展的必然趋势。音频检索作为多媒体信息检索的重要组成部分之一,是国内外信息检索技术领域关注的重要课题。
哼唱检索是音频检索的一个分支。当用户利用搜索引擎检索一首音乐时,如果用户忘记了该音乐的歌曲名和歌手名等信息,将很难通过搜索引擎找到这首音乐,这时用户可以哼唱这首音乐在用户脑海中印象最深刻的一段旋律,使用在线哼唱检索系统来找到这首音乐,这种检索的方法是哼唱检索。哼唱检索是一种基于内容的音频检索,用户通过麦克风哼唱一段音乐片段作为输入,哼唱检索系统对输入的音乐片段与数据库模板音乐进行匹配,检索出音乐片段所对应的歌曲。相对于传统的基于文本的音乐检索方法,哼唱检索更加自然高效,更加符合人对音乐的印象,相比于歌曲名和歌手名等文字信息,人更加容易记住音乐的旋律,特别是音乐的高潮旋律部分。
哼唱检索进行较早研究的Asif Ghias和R.J.McNab等人,采用时域上的自相关法提取音高,根据音高差用符号串(U,D,S)来表示旋律,采用近似字符串算法来进行音乐哼唱片段和音乐数据库模板的匹配,这种方法解决了音符相对音高的问题,但插入音符和丢失音符等会造成较大的误差,因此该方法无法解决音符的时间伸展问题。
Lie Lu和Hong You等人,用基音轮廓、音程、基音持续时间表示旋律特征,提出了一种两级匹配的算法,先用动态规划(Dynamic Programming,DP)算法对齐音高轮廓,过滤一些误差大于等于规定阈值的音乐数据库模板,而对于误差小于规定阈值的音乐数据库的模板,再使用更加精确的算法比较对应的音程和基音持续时间,从而筛选出音乐,他们要求用户按照“DaDa…”来发音。该算法同样存在Asif Ghias和R.J.McNab等人所使用算法的问题,即无法解决音符的伸展问题,而且需要用户按照“DaDa…”来发音,使得用户在哼唱时很不自然,在不经过哼唱学习的情况下,容易在哼唱的时候出错。
Willlam Rand和Willlam Birmingham等人提出了利用Markov统计模型进行旋律相似性的比较,因为他们的系统是对频率符号进行建模,所以他们的方法对哼唱的音高比较敏感,但较好地解决插入和丢失音符等造成的哼唱误差。Markov统计模型方法解决了音符的伸展问题,但无法解决音符相对音高的问题。
Mai dln等人提出一种基于音高轮廓几何相似性的匹配方法,根据音乐哼唱片段提取音高,并按时间的变化画出音高曲线,而后在二维空间中比较两条音高曲线的几何相似性。通过在音高轴上的平移对齐音乐哼唱片段和音乐数据库模板的平均音高,再通过计算夹在两条曲线间的面积,判断两段旋律的匹配相似程度,面积越小相似度越高。音高轮廓几何相似性的匹配算法解决了音符相对音高问题,但无法解决音符序列时间点对齐问题,对插入音符和丢失音符等误差较大。
台湾清华大学的张智星等人采用时间上限定音符的方法,采取避开音符切分的策略,避免因错误的音符切分对旋律匹配造成负面影响。他们以每1/16秒对音高旋律特征进行采样,然后采用两层匹配算法对提取的音高值进行匹配处理。这样首先排除掉一部分候选音乐,然后采用动态时间归整算法进行精确匹配。这种方法避免了音符切分带来的错误,但同时也导致了匹配速度的不足。动态时间归整算法解决了音符序列时间点对齐问题,但是无法解决音符相对音高问题。
因此,有必要设计一种新型的音乐哼唱检索方法。
发明内容
本发明所要解决的技术问题是提供一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法,该基于二分逼近动态时间归整匹配的音乐哼唱检索方法易于实施,而且检索命中率高。
发明的技术解决方案如下:
一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法,包括以下步骤:
步骤1:原始数据的获取;
从用户哼唱的音乐片段中,提取所有的采样电平数据,并将采样电平数据进行归一化处理,得到归一化数据;
归一化过程为:
首先将每个电平数据除以32768.0f,接着找出进行了除法运算操作的所有数据中的最大值,最后将所有的数据乘以“0.9/最大值”;
步骤2:预处理;
对所述的归一化数据采用巴特沃斯带通滤波器滤除量化噪声;【用于去除工频干扰、混叠干扰等】;
再进行预加重处理;【用于提升频率的高频部分,恢复原来的信号功率分布】;
最后采用汉明窗对音乐信号进行加窗和分帧处理;【使得帧与帧之间的平滑过渡保持连续性;】
步骤3:过滤静音段;
采用公式 计算每一数据帧的平均能量值;
其中EnergyVec[i]为第i数据帧的平均能量值;N为每一数据帧的数据个数,即帧长,Len为采样点的总个数;
并由此得出所有数据帧的平均能量值fMeam,取阈值threshold=0.3f*fMean,【0.3f中的f表示浮点数】将小于该阈值的数据帧舍弃掉,小于该阈值的数据帧为静音帧,从过过滤静音段,得到了音乐信号samplew[i];步骤4:频率转换;
采用峰值检测来提取每一帧数据的基音周期,从而获得基音频率;再采用中值平滑方法来滤除频率提取造成的误差,最后将音乐哼唱片段的基音频率利用频率转换函数转换到音乐数据库音高的同一水准;即:
转换后的音高为semttone=12*log2(fy(n)/440)+69,其中fy(n)是音乐哼唱片段的基音频率【进行转换的目的是使得整体音高轮廓曲线接近音乐数据库模板的音高轮廓曲线,因而可以忽略不同的起调造成的整体音高偏高或偏低的影响,解决了音符相对音高问题。
对原来的samplew[i]几乎没有影响,调用频率转换函数即可。】
步骤5:数据匹配,返回结果:
从经过频率转换后的哼唱片段中提取出音高轮廓曲线,采用二分逼近的动态时间归整方法对该哼唱片段和音乐数据库中的音乐模板一一进行匹配,并根据匹配率进行排序,最后返回结果,完成音乐哼唱的检索。
步骤4中,定义samplew[i]的自相关函数Rw[k]为:
式中,k为一帧的第k个点,samplew[i]为某一帧的第i点值,Rw[k]为第k个点的自相关函数值;
由于信号的自相关函数在基音周期的整数倍位置上会出现峰值,因此通过检测峰值的位置来获取音乐信号的基音频率值f(k);
【一个数据帧中可能存在多个f(k)中,求取多个f(k)的平均值,将平均值作为f(k)的最终频率。一个哼唱片段中存在多帧数据,每一帧检测出来的基音频率再取平均,得到该哼唱片段的最终基音频率】
步骤2中的巴特沃斯带通滤波器,其上下截止频率分别是fH=1000hz和fL=60hz;
预加重处理通过采用具有6dB/倍频程的提升高频特性的预加重数字滤波器
来实现,预加重数字滤波器数学表达式如下:
sample[i]=sample[i]-α*sample[i-1]
其中,α=0.97,sample[i]表示第i个点的采样值,sample[i-1]表示第i-1个点的采样值。
步骤4中中值平滑处理的窗口大小为3或5。
步骤5中的匹配过程为:
a1:对哼唱旋律片段进行处理提取出该哼唱旋律片段对应的音高轮廓曲线,哼唱旋律片段的音高轮廓曲线上有效点的数量为m;
音高轮廓曲线为音高在时间上的变化,音高轮廓曲线是在一个二维坐标系中的曲线,横轴表示时间,纵轴表示音高;【音高对应的是频率】
有效点的数量为以10ms为单位划分得到的音高点的总数量;10ms为每一帧所对应的时间长度;
a2:从音乐数据库文件中获取一首歌曲的音高轮廓曲线,该首歌曲的音高轮廓曲线上有效点的数量为n;
a3:初始化阈值fCenter=0.0f,fSpan=0.4f,fMinDist=2147483647;其中fCenter表示哼唱旋律片段音高轮廓曲线在纵向上偏移的距离;fSpan表示哼唱旋律片段音高轮廓曲线相对于fCenter的偏移距离;fMinDist表示哼唱旋律片段与该首歌曲的最小动态时间归整值;
a4:将哼唱旋律片段的初始音高加上fCenter+fSpan,根据动态时间规整采用迭代计算的方式计算状态转换方程计算D[n,m]的值;状态转换方程为:D[n,m]=min{D[n-2,m-1],D[n-1,m-1],D[n-1,m-2]}+d[n,m],初始化公式为D(1,1)=d(1,1),迭代运算采用动态时间归整的状态转移方程来进行运算,终止运算为D(T,R)=D[n,m],T=观测序列长度(计时时刻总数),R为对应的具体位置;其中d[n,m]为音乐数据库模板位置n与哼唱片段位置m处音高的欧氏距离;【D[n,m]称为中间值或中间规整值】,上规整值Dup=D[n,m]:
a5:将哼唱旋律片段的初始音高加上fCenter,计算中心动态时间归整值Dcenter=D[n,m];再将哼唱旋律片段的初始音高加上fCenter-fSpan,计算下动态时间归整值Ddown=D[n,m];
a6:将fMinDist置为fMinDist、Dup、Dcenter和Ddown4个值中的最小值;
a7:将fCenter置为Dup、Dcenter、Ddown三者中的最小值并减去偏移值;【如Dup、Dcenter、Ddown三者中最小值为Ddown,则将fCenter置为fCenter=Ddown-fSpan;】
a8:设置fSpan=fSpan/2,如果fSpan>0.01,则跳到a4继续执行,否则跳到a9执行;
a9:将fMinDist的值置为哼唱旋律片段与该首歌曲音高轮廓曲线的二分逼近动态时间归整值;
a10:将音乐数据库里面的每首歌曲与哼唱旋律片段进行a3到a9的匹配,根据fMinDist的值由小到大排列,越排前面的歌曲表示匹配率越高,最后将结果进行返回。
fMinDist的值越小表示该动态时间归整的值越小,表示匹配率越高。
所述音乐数据库的构建方法为:以多首MIDI歌曲【如从网上下载或从其他存储设备中获取】为基本素材,按照MIDI的文件格式进行解析,将解析获得的每首歌曲音高轮廓曲线作为高级特征,并将每首歌曲的高级特征存放在文件中作为音乐数据库文件,以便进行基于二分逼近动态时间归整的音乐检索。
有益效果:
本发明的基于二分逼近动态时间归整匹配的音乐哼唱检索方法,包括两部分,一是通过MIDI音乐文件来构建音乐数据库。二是提取哼唱片段的特征,并与音乐数据库模型进行基于二分逼近动态时间归整的匹配并返回检索结果。包括以下步骤:首先对哼唱片段进行归一化、带通滤波、预加重、加窗分帧等处理;接着进行滤除静音段、基音检测、中值平滑等处理;最后进行基于二分逼近动态时间归整的匹配,根据匹配率由大到小排序并返回结果。
通过将该方法应用到一个300首歌曲的音乐数据库中证实,对于一首歌曲或快或慢的哼唱,或高或低的哼唱,都能达到较好的检索效果,哼唱80首歌曲,方法的Rank10命中率为88.33%,普通的动态时间归整方法Rank10命中率为69.7%,基于二分逼近动态时间归整匹配的音乐哼唱检索方法相比于一般的动态时间归整方法,不但同时解决了音符序列时间点对齐问题和音符相对音高这两个难题,而且在Rank10的命中率上提高了18.63%。
由于动态时间归整方法解决了音符的伸展问题,但无法解决音符的相对音高问题,为了解决这个问题,采用二分逼近的动态时间归整匹配方法来进行音乐检索,该方法的核心描述如下所示:
不断地整体拉高或降低哼唱音乐片段的音高,使得音乐片段的整体音高轮廓曲线尽量接近音乐数据库模板的音高轮廓曲线,在每一次拉高或降低操作后,计算该音乐片段与音乐数据库模板的动态时间归整值,并将最小的动态时间归整值作为音乐片段与音乐数据库模板的匹配值,这个最小值即为音乐片段与音乐数据库模板音高轮廓曲线纵向最靠近时的动态时间归整值。当两段曲线越接近,其动态时间归整值就越小,因此动态时间归整值随着两段曲线越接近单调递减,因此可以认为动态时间归整值最小时即为两段曲线纵向最接近时。使用基于二分逼近动态时间归整的音乐检索方法,不断地整体拉高或降低哼唱音乐片段的音高,使得音乐片段的整体音高轮廓曲线尽量接近音乐数据库模板的音高轮廓曲线,因而可以忽略不同的音高起调造成的整体音高或高或低的影响,因此也解决了音符的相对音高问题。最后使用基于二分逼近动态时间归整的音乐检索方法同时解决了音符序列时间点对齐问题和音符相对音高问题。
附图说明
图1是本发明的流程图。
图2是本发明的具体方法流程图。
图3是哼唱旋律片段与音乐数据库模型的音高轮廓曲线对比图。其中(a)是音乐数据库“十五的月亮”与哼唱的“十五的月亮”的音高轮廓曲线对比图;其中(b)是音乐数据库“一千个伤心的理由”与哼唱的“十五的月亮”的音高轮廓曲线对比图。从(a)图和(b)图的对比可以看出,相比于“一千个伤心的理由”,该哼唱旋律片段与“十五的月亮”相似性更大,因此较正确的哼唱出歌曲的节奏旋律将会产生较好的结果。
图4是基于二分逼近动态时间归整匹配的音乐哼唱检索方法的Rank命中率。其中(a)为表格的展现形式,(b)为折线图的表现形式。从图中可以看出,该方法的Rankl命中率为61.67%,Rank5的命中率为76.67%,Rankl0的命中率为88.33%,两个相邻的Rank间的差值在1.66%到5%间,两个相邻的Rank间的差值绝大多数在1.66到3.33间,因此该方法稳定性较好。
图5是基于二分逼近动态时间归整匹配的音乐检索方法和普通动态时间归整匹配音乐检索方法的命中率对比。其中(a)为表格的展现形式,(b)为折线图的表现形式。从(a)图中可以看出,在命中率上,二分逼近动态时间归整比普通的动态时间归整在Rank1上提高了2.57%,Rank5提高了13.07%,在Rank10上提高了18.63%。对于一个音乐哼唱检索系统,Rank10的命中率比Rank1的命中率更有意义,因为只要用户找到了目标歌曲,该系统就较好地为用户服务了,因此二分逼近动态时间归整比普通的动态时间归整在Rank10上提高了18.63%,这种改进提高是显著的。
图6是动态时间归整方法中的路径限制图。为了使路径不至于过分倾斜,约束斜率在0.5到2,因此出现了如该图所示的3种状态变化,这3种状态变化的方程是动态时间归整方法的状态方程。其中(i-2,j-1)->(i,j)对应的是哼唱中出现的插音错误;(i-1,j-1)->(i,j)对应的是哼唱中正常替换音符;(i-1,j-2)->(i,j)对应的是哼唱中出现的漏音错误。因此,这种路径方式的设计很好地提高了动态时间归整方法的容错性。
图7是动态时间归整方法搜索路径示例图。显示了测试模板和参考模板的一个匹配案例。
图8是MIDI的meta-events命令列表。meta-events命令是MIDI的一些事件命令,其中包含了打开音符和关闭音符等操作,解析这样命令可以获取该MIDI文件对应的音高轮廓曲线。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明:
实施例1:
本发明提出了一种基于二分逼近动态时间归整的音乐检索方法,该方法主要包括两个部分,第一个部分是通过MIDI音乐文件来构建音乐数据库。第二个部分是提取哼唱旋律片段的特征,并与音乐数据库模型进行基于二分逼近动态时间归整的匹配并返回检索结果,该部分主要包括以下步骤:首先对哼唱旋律片段进行归一化、音频去噪、预加重、加窗分帧等处理来获取基本特征;接着进行滤除静音段、基音检测、中值平滑处理等操作来获取哼唱旋律片段的高级特征;最后将哼唱旋律片段提取的高级特征与音乐数据库的模板特征一一进行基于二分逼近动态时间归整的匹配,根据匹配率由大到小排序并返回结果。
具体流程如图1所示,现介绍每一步的实现细节。
1、从网上下载300首MIDI歌曲,按照MIDI的文件格式进行解析,将解析获得的每首歌曲音高轮廓曲线作为高级特征,并将每首歌曲的高级特征存放在文件中作为音乐数据库文件,以便进行基于二分逼近动态时间归整的音乐检索。
(1)、一个MIDI文件基本上由两个部分组成,头块和轨道块。
b1、头块。
头块出现在文件的开头,头块的示例数据如下所示:
4D 54 68 64 00 00 00 06 ff ff nn nn dd dd
前4个字节4D546864等同于ASCII码MThd,接着MThd之后00 00 00 06等4个字节是头的大小,它将一直是00 00 00 06,因为现行的头信息将一直是6个字节,这6个字节表示头块后面还有的字节个数,即ff ff nn nn dd dd,刚好6个字节。
ff ff是文件的格式,有3种格式:
0-单轨
1-多轨,同步
2-多轨,异步
单轨就只有一个轨道。同步多轨意味着同一时间开始,并且可以表现一首歌的不同部分。异步多轨没有必要同时开始,而且可以完全的不同步。
nn nn是MIDI文件中的轨道数。
dd dd是每个4分音符delta-time节奏数。
b2、轨道块。
头块之后的文件部分是轨道块。每一个轨道包含一个头,并且可以包含很多MIDI命令。轨道头与文件头比较相似:
4D 54 72 6B xx xx xx xx
与头一致,前4个字节是ASCII吗,这个是MTrk,紧跟MTrk的4个字节给出了以字节为单位的轨道的长度(不包括轨道头)。
在头之下是MIDI事件,这些事件同现行的可以被带有累加的MIDI合成器端口接收和发送的数据是相同的。一个MIDI事件先于一个delta-time。一个delta-time是一个MIDI事件被执行后的节奏数,每个四分之一音符的节奏数已经定义在了文件的头块中。这个delta-time是一个可变长度的编码值。这种格式的定义方式,可以允许根据需要利用多位表示较大的数值,这不会因为需求小的数值出现时以添零的方式浪费掉一些字节,数值被转换为7位的字节,并且除了最后一个字节以最高有效位是0外,各个字节最有意义的一位是1。这就允许一个数值被一次一个字节地读取,如果发现最高有效位是0,则这就是这个数值的最后一位。依照MIDI说明,全部delta-time的长度最多超过4字节【应该是不超过4字节吧】。
delta-time之后就是MIDI事件,每个MIDI事件(除了正在运行的事件外)带有一个最高有效位总是1的命令字节(值将>128)。每个命令都有不同的参数和长度,但是接下来的数据将是最高有效位为零(值将<128)。meta-event的命令列表如图8所示。
(2)、MIDI文件音高轮廓曲线提取。
由上面的对MIDI格式的分析可,要提取音乐数据库的音高轮廓曲线,需要提取音高和持续时间这两个参数。
音符打开的参数示例:
0077:54 91 62 7E
0077:文件中event(事件)开始的位置
54:开始位置对应的节奏数
91:音符打开的操作
62:按下的音符音高
7E:施展在音符上的力度
音符关闭的参数示例:
0078:64 80 62 7A
0078:文件中event(事件)开始的位置
64:结束位置对应的节奏数
80:音符关闭的操作
62:按下的音符音高
7A:施展在音符上的力度
节奏数表示有多少个节奏,每个节奏的时间长度为头块中定义的dd dd。
根据上面的音符打开和关闭,可以获取音高在时间上的发生时间,以及音符持续时间。该音高的开始时间为84(换算为十进制)位置的节奏数值,持续时间为16的节奏数值。通过这样类似的解析方法可以得到该MIDI对应的音高轮廓曲线。
2、从哼唱片段中提取采样电平数据,并进行归一化处理。
打开用户哼唱音乐片段的wav文件,按照wav格式,读取wav的文件头,根据wav文件头的信息,读取wav文件的数据块信息,读取的数据块信息中包含了量化的电平数据。在提取出所有的量化电平数据后,将电平数据进行归一化处理时,首先将每个电平数据除以32768.0f【数值中的f表示什么?32768.0f表示十进制的什么值】,接着找出进行了除法运算操作的所有数据中的最大值,最后将所有的数据乘以“0.9/最大值”来进行二次归一化处理。将每个电平数据除以32768.0f,是因为电平数据采样是用16位来采样,即使用两个字节来存储电平量化数据,16位的有符号数的绝对值最大为32768,因此使用除以32768.0f来进行归一化处理。将所有的数据乘以“0.9/最大值”来进行归一化处理,是为了限定所有的数据在[0,0.9]之间,即将所有的数据转换到同一量化水平,以便后面的数据处理。
3、采用巴特沃斯带通滤波器滤除噪音,采用预加重提升高频,采用汉明窗进行加窗分帧处理。
麦克风录音输入时,在其量化转化为数字化时,会产生量化噪声,同时还会存在电源工频干扰、混叠干扰等。为了减少这些噪声对音乐信号的分析和特征参数提取所产生的干扰,需要对待处理的音乐信号进行滤波处理。滤波器的设计需要能够抑制音乐信号各频域分量中频率超出fs/2的所有分量(fs为采样频率),以防止混叠干扰。同时还需要能够抑制50Hz的电源工频干扰,同时考虑到人的发音极限为60hz到1000hz,因此设计其上下截止频率分别是1000hz和60hz。这样的滤波器可设计为一个带通滤波器,选用巴特沃斯带通滤波器,其上下截止分别是fH和fL,取fH=1000hz,fL=60hz。
音乐信号的频率变化表现为音乐的音调变化,音乐信号的高频部分频谱比低频部分频谱更加难求,因此音乐的较高音调部分的音调变化比较低部分的音调变化难求。因此要对音乐信号进行预加重处理来提升高频部分,尽可能地恢复原来的信号功率分布。
预加重处理是通过用具有6dB/倍频程的提升高频特性的预加重数字滤波器
来实现的。它一般是一阶的数字滤波器,其数学公式如公式(1)所示。
sample[i]=sample[i]-α*sample[i-1] (1)
公式(1)中,α=0.97,sample[i]表示第i个点的采样值,sample[i-1]表示第i-1个点的采样值。
为了使帧与帧之间平滑过渡保持其连续性一般会采用交叠分段的方法。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为0~1/2。分帧是用可移动的有限长度窗口进行加权的方法来实现的,也就是用一定的窗函数w[i]来乘以sample[i],从而形成加窗的音乐信号samplew[i]=sample[i]*w[i],本发明使用的是汉明窗。
汉明窗的数学公式描述如公式(2)所示。
公式(2)中,N表示每一帧点的数量。采用汉明窗来进行加窗分帧,保持了帧与帧之间平滑过渡的连续性。【N取什么值?】
4、计算平均能量值,使用平均能量值乘以一个系数作为阈值来过滤静音段。
对于采样数据的每一个数据,求取其绝对值,即sample[i]=fabs(sample[i]),求取每一帧的平均能量值,即使用公式(3)来求取平均能量。
公式(3)中N为每一帧的数量,Len为采样点的总个数,式(3)的效果是计算每一帧的平均能量值。
计算出每一帧的平均能量值后,算出所有帧的平均能量值fMeam,设置静音过滤阈值。
阈值的定义如公式(4)所示。
threshold=0.3f*fMean (4)
对于每一帧,如果该帧的平均能量值低于threshold,则可认为该帧为静音帧并滤除该帧。
5、使用自相关函数进行基音检测提取频率值,使用中值平滑方法去除基音检测误差。将每一帧的频率转换到MIDI音高对应的同一水准。
采用自相关函数的峰值提取法来提取音乐信号的频率。自相关函数是对信号进行短时相关分析时最常用到的特征函数。音乐信号经过巴特沃斯带通滤波器滤波处理,预加重处理,汉明窗加窗分帧处理,并滤除了静音段,得到了音乐信号samplew[i](samplew[i]为一帧内的信号),定义samplew[i]的自相关函数Rw[k]如公式(5)所示。
公式(5)中,k为一帧的第k个点,N为帧长,samplew[i]为经过滤波器滤波处理,预加重处理,汉明窗加窗分帧处理后某一帧的第i点值,Rw[k]为第k个点的自相关函数值。
由于信号的自相关函数在基音周期的整数倍位置上会出现峰值,因此通过检测峰值的位置来获取音乐信号的基音频率值f(k);
一个数据帧中可能存在多个f(k)中,求取多个f(k)的平均值,将平均值作为f(k)的最终频率。一个哼唱片段中存在多帧数据,每一帧检测出来的基音频率再取平均,得到该哼唱片段的最终基音频率。
在完成了基音检测提取出频率后,由于基音检测中有误差存在,需要使用中值平滑方法来减少基音检测的误差。中值平滑处理的基本原理是:设f(n)是输入信号频率,fy(n)为中值滤波的输出频率,采用一滑动窗口,则n0处的输出值fy(n0)就是将窗的中心移到n0处时窗内输入样点的中值。即在n0点的左右各取L个样点,连同n0共(2L+1)个点构成一组信号采样值,然后将这(2L+1)个样值按大小次序排成一队,取此队列中的中间者作为平滑器的输出值,并fy(n0)置为平滑器的输出值。L值一般取为1或2,即中值平滑的窗口长度一般为3或5。
根据人的发声极限,求出的频率fy(n)被控制在60Hz到1000Hz之间,将该频率转换到数据库音高的半音单位。
采用峰值检测来提取每一帧数据的基音周期,从而获得基音频率;再采用中值平滑方法来滤除频率提取造成的误差,最后将音乐哼唱片段的基音频率利用频率转换函数转换到音乐数据库音高的同一水准;即:
转换后的音高为semitone=12*log2(fy(n)/440)+69,其中fy(n)是音乐哼唱片段的基音频率。
6、采用二分逼近动态时间归整方法对提取了高级特征的哼唱片段和音乐数据库模板进行匹配,根据匹配率由高到低返回结果。
在音乐数据库构建完成,并且哼唱旋律片段的音高提取之后,需要使用二分逼近动态时间归整方法对哼唱片段和音乐数据库模型进行匹配。
基于二分逼近动态时间归整的音乐检索方法同时解决了音符伸展和音符相对音高两大问题,需要在动态时间归整方法的基础上进行改进,首先描述动态时间归整方法,动态时间归整方法如下所示:
哼唱输入与目标乐曲的匹配一般采用音高时间序列的匹配,定义哼唱输入为测试模板T={ti,1≤i≤m},m为哼唱序列特征数;目标乐曲为参考模板R={rj,1≤j≤n},n为目标乐曲特征数。为了比较他们之间的相似度,可以比较它们之间的距离,距离越小则相似度越高。在动态时间归整方法中,对距离测度的定义需要首先定义合理的路径方式以及选择恰当的代价函数。我们可以选择如图6中的路径限制。
两点之间本身的代价,我们采用欧基里德距离fEuclidean Distance)来度量,表示如公式(6)所示。
d(i,j)=|ti-rj|,1≤i≤m,1≤j≤n (6)
定义代价函数如公式(7)所示。
其中初始条件如公式(8)所示。
D(1,1)=d(1,1) (8)
因此,动态时间归整检索方法可以简单表述如下:
初始化如公式(9)所示。
D(1,1)=d(1,1) (9)
迭代运算如公式(10)所示。
终止运算如公式(11)所示。
D(T,R)=D(m,n) (11)
方法搜索路径示例如图7所示。动态时间归整方法是将一种全局最优化问题转变成局部最优的方法,由于动态时间归整不断计算两矢量的距离寻找最佳路径,所以得到的两矢量的匹配是累积距离最小的规整函数,保证了他们之间存在的最大声学相似性,动态时间归整方法在音乐哼唱检索中是可行的。同时对上图中方法路径方式的设计,通过分析我们可以得到,(i-2,j-1)->(i,j)对应的是哼唱中出现的插音错误;(i-1,j-1)->(i,j)对应的是哼唱中正常替换音符;(i-1,j--2)->(i,j)对应的是哼唱中出现的漏音错误。因此,这种路径方式的设计很好地提高了动态时间归整方法的容错性。
以上分析可以看出动态时间归整方法在哼唱检索中是可行的,有效解决了两个音高序列在时间点上的对齐问题,即解决了音符序列时间点对齐问题,并且动态时间归整方法在模糊匹配上具有较好的性能。但同时该方法还伴有音高对准的缺陷。由于现行使用的动态时间归整方法一般都是使用音高作为特征序列,但在实际哼唱中,男女生的哼唱基调显然有很大差别,甚至对于同性别的人在哼唱同一首歌曲的时候也会产生起调不一样的问题,而实际乐曲库中的音高序列是固定的,因此在使用动态时间归整方法进行匹配的时候需要进行音高校正,将哼唱序列和目标序列平移到同一个基调,与之伴随的将是计算量的不断增大。
由于动态时间归整解决了音符序列时间点对齐问题,但无法解决音符相对音高问题,因此提出了一种改进方法,即采用二分逼近的动态时间归整匹配方法,该方法的具体实施描述如下所示:
a1:对哼唱旋律片段进行处理提取出该哼唱旋律片段对应的音高轮廓曲线。首先对哼唱旋律片段进行归一化、音频去噪、预加重、加窗分帧等处理来获取基本特征;接着进行滤除静音段、基音检测、中值平滑处理等操作来获取哼唱旋律片段的音高轮廓曲线。假设哼唱旋律片段的音高轮廓曲线长度为m。
音高轮廓曲线为音高在时间上的变化,音高轮廓曲线是在一个二维坐标系中的曲线,横轴表示时间,纵轴表示音高。
有效点的数量为以10ms为单位划分得到的音高点的总数量。10ms为每一帧所对应的时间长度,按照这个划分方便提取音符的音高。
a2:从音乐数据库文件中获取一首歌曲的音高轮廓曲线,假设该首模板歌曲的音高轮廓曲线长度为n。
a3:初始化阈值fCenter=0.0f,fSpan=0.4f,fMinDist=2147483647。其中fCenter表示哼唱旋律片段音高轮廓曲线在纵向上偏移的距离,由于开始时的纵向偏移长度为0,因此取fCenter=0.0f;fSpan表示哼唱旋律片段音高轮廓曲线相对于fCenter的偏移距离,根据经验fSpan取0.4f相对于其他值可以获得更好的匹配效果;fMinDist表示哼唱旋律片段与该首歌曲模板的最小动态时间归整值,取一个远大于动态时间归整结果的值,以便进行最小值替换操作,因此取fMinDist=2147483647。
a4:将哼唱旋律片段的初始音高加上fCenter+fSpan,根据动态时间归整的状态转换方程计算出D[n,m]的值,假设该值为Dup=D[n,m],动态时间归整方法的状态转移方程为D[n,m]=min{D[n-2,m-1],D[n-1,m-1],D[n-1,m-2]}+d[n,m],其中d[n,m]为音乐数据库模板位置n与哼唱片段位置m处音高的欧氏距离。
a5:同时将哼唱旋律片段的初始音高加上fCenter,计算其动态时间归整值Dcenter=D[n,m];再将哼唱旋律片段的初始音高加上fCenter-fSpan,计算其动态时间归整值Ddown=D[n,m]。
a6:将fMinDist置为fMinDist、Dup、Dcenter、Ddown4个值中的最小值。
a7:将fCenter置为Dup、Dcenter、Ddown三者中最小值所对应的偏移值,譬如Dup、Dcenter、Ddown三者中最小值为Ddown,则将fCenter置为Ddown对应的偏移值,即设置fCenter=fCenter-fSpan。
a8:设置fSpan=fSpan/2,如果fSpan>0.01,则跳到a4继续执行,否则跳到a9执行。fSpan>0.01,由于fSpan初始化为0.4f,规定fSpan>0.01是为了限定迭代次数,即最多迭代6次,根据fSpan=fSpan/2可知,此时fSpan=0.00625,刚好达到了出口条件,即完成了迭代。
a9:将fMinDist的值置为哼唱旋律片段与该首歌曲音高轮廓曲线的二分逼近动态时间归整值。
a10:将音乐数据库里面的每首歌曲与哼唱旋律片段进行a3到a9的匹配,根据fMinDist的值由小到大排列,越排前面的歌曲表示匹配率越高,最后将结果进行返回。
fMinDist的值越小表示该动态时间归整的值越小,表示匹配率越高。
Claims (6)
1.一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法,其特征在于,包括以下步骤:
步骤1:原始数据的获取;
从用户哼唱的音乐片段中,提取所有的采样电平数据,并将采样电平数据进行归一化处理,得到归一化数据;
归一化过程为:
首先将每个电平数据除以32768.0f,接着找出进行了除法运算操作的所有数据中的最大值,最后将所有的数据乘以“0.9/最大值”;
步骤2:预处理;
对所述的归一化数据采用巴特沃斯带通滤波器滤除量化噪声;
再进行预加重处理;
最后采用汉明窗对音乐信号进行加窗和分帧处理;
步骤3:过滤静音段;
其中EnergyVec[i]为第i数据帧的平均能量值;N为每一数据帧的数据个数,即帧长,Len为采样点的总个数;
并由此得出所有数据帧的平均能量值fMeam,取阈值threshold=0.3f*fMean,将小于该阈值的数据帧舍弃掉,小于该阈值的数据帧为静音帧,从过过滤静音段,得到了音乐信号samplew[i];
步骤4:频率转换;
采用峰值检测来提取每一帧数据的基音周期,从而获得基音频率;再采用中值平滑方法来滤除频率提取造成的误差,最后将音乐哼唱片段的基音频率利用频率转换函数转换到音乐数据库音高的同一水准;即:
转换后的音高为semitone=12*log2(fy(n)/440)+69,其中fy(n)是音乐哼唱片段的基音频率;
步骤5:数据匹配,返回结果:
从经过频率转换后的哼唱片段中提取出音高轮廓曲线,采用二分逼近的动态时间归整方法对该哼唱片段和音乐数据库中的音乐模板一一进行匹配,并根据匹配率进行排序,最后返回结果,完成音乐哼唱的检索。
3.根据权利要求2所述的基于二分逼近动态时间归整匹配的音乐哼唱检索方法,其特征在于,步骤2中的巴特沃斯带通滤波器,其上下截止频率分别是fH=1000hz和fL=60hz;
预加重处理通过采用具有6dB/倍频程的提升高频特性的预加重数字滤波器来实现,
预加重数字滤波器数学表达式如下:
sample[i]=sample[i]-α*sample[i-1]
其中,α=0.97,sample[i]表示第i个点的采样值,sample[i-1]表示第i-1个点的采样值。
4.根据权利要求3所述的基于二分逼近动态时间归整匹配的音乐哼唱检索方法,其特征在于,步骤4中中值平滑处理的窗口大小为3或5。
5.根据权利要求3所述的基于二分逼近动态时间归整匹配的音乐哼唱检索方法,其特征在于,步骤5中的匹配过程为:
a1:对哼唱旋律片段进行处理提取出该哼唱旋律片段对应的音高轮廓曲线,哼唱旋律片段的音高轮廓曲线上有效点的数量为m;
音高轮廓曲线为音高在时间上的变化,音高轮廓曲线是在一个二维坐标系中的曲线,横轴表示时间,纵轴表示音高;
有效点的数量为以10ms为单位划分得到的音高点的总数量;10ms为每一帧所对应的时间长度;
a2:从音乐数据库文件中获取一首歌曲的音高轮廓曲线,该首歌曲的音高轮廓曲线上有效点的数量为n;
a3:初始化阈值fCenter=0.0f,fSpan=0.4f,fMinDist=2147483647;其中fCenter表示哼唱旋律片段音高轮廓曲线在纵向上偏移的距离;fSpan表示哼唱旋律片段音高轮廓曲线相对于fCenter的偏移距离;fMinDist表示哼唱旋律片段与该首歌曲的最小动态时间归整值;
a4:将哼唱旋律片段的初始音高加上fCenter+fSpan,根据动态时间规整采用迭代计算的方式计算状态转换方程计算D[n,m]的值;状态转换方程为:D[n,m]=min{D[n-2,m-1],D[n-1,m-1],D[n-1,m-2]}+d[n,m],初始化公式为D(1,1)=d(1,1),迭代运算采用动态时间归整的状态转移方程来进行运算,终止运算为D(T,R)=D[n,m],T=观测序列长度,R为对应的具体位置;其中d[n,m]为音乐数据库模板位置n与哼唱片段位置m处音高的欧氏距离;上规整值Dup=D[n,m];
a5:将哼唱旋律片段的初始音高加上fCenter,计算中心动态时间归整值;
Dcenter=D[n,m];再将哼唱旋律片段的初始音高加上fCenter-fSpan,计算下动态时间归整值Ddown=D[n,m];
a6:将fMinDist置为fMinDist、Dup、Duenter和Ddown4个值中的最小值;
a7:将fCenter置为Dup、Dcenter、Ddown三者中的最小值并减去偏移值;
a8:设置fSpan=fSpan/2,如果fSpan>0.01,则跳到a4继续执行,否则跳到a9执行;
a9:将fMinDist的值置为哼唱旋律片段与该首歌曲音高轮廓曲线的二分逼近动态时间归整值;
a10:将音乐数据库里面的每首歌曲与哼唱旋律片段进行a3到a9的匹配,根据fMinDist的值由小到大排列,越排前面的歌曲表示匹配率越高,最后将结果进行返回。
fMinDist的值越小表示该动态时间归整的值越小,表示匹配率越高。
6.根据权利要求1-5任一项所述的基于二分逼近动态时间归整匹配的音乐哼唱检索方法,其特征在于,所述音乐数据库的构建方法为:以多首MIDI歌曲为基本素材,按照MIDI的文件格式进行解析,将解析获得的每首歌曲音高轮廓曲线作为高级特征,并将每首歌曲的高级特征存放在文件中作为音乐数据库文件,以便进行基于二分逼近动态时间归整的音乐检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310505428.7A CN103559232B (zh) | 2013-10-24 | 2013-10-24 | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310505428.7A CN103559232B (zh) | 2013-10-24 | 2013-10-24 | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559232A true CN103559232A (zh) | 2014-02-05 |
CN103559232B CN103559232B (zh) | 2017-01-04 |
Family
ID=50013479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310505428.7A Expired - Fee Related CN103559232B (zh) | 2013-10-24 | 2013-10-24 | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559232B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776664A (zh) * | 2015-11-25 | 2017-05-31 | 北京搜狗科技发展有限公司 | 一种基频序列处理方法及装置 |
CN107203571A (zh) * | 2016-03-18 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 歌曲旋律信息处理方法和装置 |
CN108021635A (zh) * | 2017-11-27 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 一种音频相似度的确定方法、装置和存储介质 |
CN108428441A (zh) * | 2018-02-09 | 2018-08-21 | 咪咕音乐有限公司 | 多媒体文件生成方法、电子设备和存储介质 |
CN109036352A (zh) * | 2018-06-29 | 2018-12-18 | 广州视源电子科技股份有限公司 | 翻谱方法、翻谱器、移动终端及存储介质 |
CN110399522A (zh) * | 2019-07-03 | 2019-11-01 | 中国传媒大学 | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 |
CN110428812A (zh) * | 2019-07-30 | 2019-11-08 | 天津大学 | 基于动态时间规划根据语音信息合成舌超声视频的方法 |
CN111508498A (zh) * | 2020-04-09 | 2020-08-07 | 携程计算机技术(上海)有限公司 | 对话式语音识别方法、系统、电子设备和存储介质 |
CN112580805A (zh) * | 2020-12-25 | 2021-03-30 | 三星(中国)半导体有限公司 | 神经网络模型的量化方法和量化神经网络模型的装置 |
CN112883078A (zh) * | 2021-02-07 | 2021-06-01 | 江西科技学院 | 基于dtw与最小二乘估计的轨道动态检查历史数据匹配方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752970A (zh) * | 2005-09-08 | 2006-03-29 | 上海交通大学 | 数字音乐旋律的跨越式高速匹配装置 |
CN1953046A (zh) * | 2006-09-26 | 2007-04-25 | 中山大学 | 一种基于哼唱的乐曲自动选择装置和方法 |
US7786369B2 (en) * | 2007-02-12 | 2010-08-31 | Samsung Electronics Co., Ltd. | System for playing music and method thereof |
-
2013
- 2013-10-24 CN CN201310505428.7A patent/CN103559232B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752970A (zh) * | 2005-09-08 | 2006-03-29 | 上海交通大学 | 数字音乐旋律的跨越式高速匹配装置 |
CN1953046A (zh) * | 2006-09-26 | 2007-04-25 | 中山大学 | 一种基于哼唱的乐曲自动选择装置和方法 |
US7786369B2 (en) * | 2007-02-12 | 2010-08-31 | Samsung Electronics Co., Ltd. | System for playing music and method thereof |
Non-Patent Citations (2)
Title |
---|
包先春等: "哼唱检索系统中一种有效的旋律匹配方法", 《计算机仿真》 * |
夏小亮等: "基于分句匹配的哼唱音乐检索系统的算法研究与实现", 《北京师范大学学报(自然科学版)》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776664A (zh) * | 2015-11-25 | 2017-05-31 | 北京搜狗科技发展有限公司 | 一种基频序列处理方法及装置 |
CN107203571A (zh) * | 2016-03-18 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 歌曲旋律信息处理方法和装置 |
CN107203571B (zh) * | 2016-03-18 | 2019-08-06 | 腾讯科技(深圳)有限公司 | 歌曲旋律信息处理方法和装置 |
CN108021635A (zh) * | 2017-11-27 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 一种音频相似度的确定方法、装置和存储介质 |
CN108428441A (zh) * | 2018-02-09 | 2018-08-21 | 咪咕音乐有限公司 | 多媒体文件生成方法、电子设备和存储介质 |
CN109036352A (zh) * | 2018-06-29 | 2018-12-18 | 广州视源电子科技股份有限公司 | 翻谱方法、翻谱器、移动终端及存储介质 |
CN110399522A (zh) * | 2019-07-03 | 2019-11-01 | 中国传媒大学 | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 |
CN110428812A (zh) * | 2019-07-30 | 2019-11-08 | 天津大学 | 基于动态时间规划根据语音信息合成舌超声视频的方法 |
CN110428812B (zh) * | 2019-07-30 | 2022-04-05 | 天津大学 | 基于动态时间规划根据语音信息合成舌超声视频的方法 |
CN111508498A (zh) * | 2020-04-09 | 2020-08-07 | 携程计算机技术(上海)有限公司 | 对话式语音识别方法、系统、电子设备和存储介质 |
CN111508498B (zh) * | 2020-04-09 | 2024-01-30 | 携程计算机技术(上海)有限公司 | 对话式语音识别方法、系统、电子设备和存储介质 |
CN112580805A (zh) * | 2020-12-25 | 2021-03-30 | 三星(中国)半导体有限公司 | 神经网络模型的量化方法和量化神经网络模型的装置 |
CN112883078A (zh) * | 2021-02-07 | 2021-06-01 | 江西科技学院 | 基于dtw与最小二乘估计的轨道动态检查历史数据匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103559232B (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559232A (zh) | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 | |
CN102521281B (zh) | 一种基于最长匹配子序列算法的哼唱计算机音乐检索方法 | |
CN103177722B (zh) | 一种基于音色相似度的歌曲检索方法 | |
Durrieu et al. | Source/filter model for unsupervised main melody extraction from polyphonic audio signals | |
CN103714806B (zh) | 一种结合svm和增强型pcp特征的和弦识别方法 | |
CN107978322A (zh) | 一种k歌打分算法 | |
CN103559309B (zh) | 一种基于gpu加速的音乐检索与推荐系统 | |
CN105718486B (zh) | 在线哼唱检索方法及系统 | |
CN110399522A (zh) | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 | |
Gao et al. | A multi-dilation and multi-resolution fully convolutional network for singing melody extraction | |
Ren et al. | On the use of sequential patterns mining as temporal features for music genre classification | |
CN106970950B (zh) | 相似音频数据的查找方法及装置 | |
CN109657094A (zh) | 音频处理方法及终端设备 | |
Wang | Research on recognition and classification of folk music based on feature extraction algorithm | |
Nasridinov et al. | A study on music genre recognition and classification techniques | |
CN110675845A (zh) | 人声哼唱精确识别算法及数字记谱方法 | |
Waghmare et al. | Raga identification techniques for classifying indian classical music: A survey | |
Ranjan et al. | Oktoechos classification and generation of liturgical music using deep learning frameworks | |
CN105630831A (zh) | 哼唱检索方法及系统 | |
Sridhar et al. | Music information retrieval of carnatic songs based on carnatic music singer identification | |
JP3934556B2 (ja) | 信号識別子の抽出方法及びその装置、信号識別子からデータベースを作成する方法及びその装置、及び、検索時間領域信号を参照する方法及びその装置 | |
Krishnan et al. | Multimodal fusion for segment classification in folk music | |
Wang et al. | Research on CRFs in music chord recognition algorithm | |
Sheba et al. | Raga identification using clustering algorithm | |
CN106782583B (zh) | 基于核范数的鲁棒音阶轮廓特征提取算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170104 Termination date: 20171024 |