CN105244021B - 哼唱旋律到midi旋律的转换方法 - Google Patents
哼唱旋律到midi旋律的转换方法 Download PDFInfo
- Publication number
- CN105244021B CN105244021B CN201510743017.0A CN201510743017A CN105244021B CN 105244021 B CN105244021 B CN 105244021B CN 201510743017 A CN201510743017 A CN 201510743017A CN 105244021 B CN105244021 B CN 105244021B
- Authority
- CN
- China
- Prior art keywords
- humming
- note
- melody
- pitch
- tonality
- 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.)
- Expired - Fee Related
Links
Landscapes
- Auxiliary Devices For Music (AREA)
Abstract
哼唱旋律到MIDI旋律的转换方法,涉及数字音频信号处理。1)估算信号帧的基频;2)规范哼唱音符的听觉标准;3)估算哼唱音符切割与音符音高;4)估算基于哼唱旋律调性分析的期望哼唱旋律;5)建立系统性能评估方法。可以为输入哼唱信号估算“实际哼唱旋律”与“期望哼唱旋律”的哼唱旋律自动识别。通过比较“实际哼唱旋律”与“期望哼唱旋律”的差异,可以鉴别输入哼唱信号的“哼唱质量”以及系统的自动校正能力。采用一种基于相邻或间邻哼唱音符音程分析的哼唱旋律的调性分析法。即先估算实际哼唱相邻或间邻哼唱音符的音程,而后再在音程序列上估算哼唱旋律的调性。并由此建立期望哼唱旋律的估算模型。
Description
技术领域
本发明涉及数字音频信号处理,声学、计算机音乐及认知心理学领域,尤其是涉及哼唱旋律到MIDI旋律的转换方法。
背景技术
在哼唱旋律到MIDI旋律的转换方法中,最核心部分为哼唱旋律自动识别(SingingTranscription)技术,也称自动记谱技术。一位有经验的记谱专家(SingingTranscription Expert)可通过凝听一段人声哼唱,借助其音乐知识与经验为这段人声哼唱求解出哼唱旋律并将其记录成规范的乐谱表达。规范的乐谱表达的基本形式可理解为一个音符序列。其中的每个音符涉及MIDI音高与音长二个元素。这样的音符序列称为MIDI旋律。模拟记谱专家这种智力行为的智能程序称为哼唱旋律自动识别(SingingTranscription)程序,或称自动记谱程序。即,自动记谱程序可在一个哼唱音频输入信号上抽取并输出一个在听觉上与输入哼唱信号所描述的旋律尽可能一致的音符序列(即MIDI旋律)。实现自动记谱程序的技术就是哼唱旋律到MIDI旋律的转换技术。
从20世纪70年代开始,就有学者从事哼唱旋律自动识别(SingingTranscription)系统的研究,并取得了一定的成绩。哼唱旋律自动识别技术的研究内容主要涉及信号帧低层特征(信号帧的基频、能量)提取与高层分析(音符切分、调性分析、音符音高的估算)。
哼唱信号基频提取的方法可以分为时域法[1-3]与频域法[4-11]及时频结合的方法[12-14]。现今的信号帧基频提取技术基本可满足高层分析的需求。Chevegigne提出的YIN算法[1]对自相关函数使用一个累积平均归一化函数进行改进,取得了较好的准确性。但在运算速度上还不够快。不过,该算法至今仍被多数Singing Transcription系统采用为基频估算算法[15-18]。
音符切分是目前Singing Transcription System的主要技术难题。由于不同人对颤音、滑音会提供不同的界定标准,这使得目前哼唱音符的边界认定标准不易统一。这也给结果评估与比较带来一定的困难。Emilia Gómez和Jordi Bonada在他们的FlamencoTranscription 研究论文[19]中指出不同的记谱专家对同一哼唱片段也会提供不同的手工标注结果。一些短音符,既可以自身构成音符,也可以作为滑音和其后继音符合并成一个音符。一个颤音音符有时也可以分解成多个短音符。Willit Keige,Viitaniemi和Klapuri在他们的系统中[15-17],将HMM、Gaussian Mixture模型、音高分析相结合实施音符切分。音符切分也涉及音节切分问题。Lin等人[20]引入了SPM模型,使用预测分数函数来优化HMM和DTW来切分华语Singing音符。尽管该方法目前还没有和其它音高分析法相结合,但应用到同一音高下不同音节的音符的切割应是有效的。音符切分技术有时也称为哼唱信号的onset测试。Chee Chuan Toh[21]等人使用2个Gaussian混合模型来分类onset帧与非onset帧。近期由Emilio Moline[18]等人提出一种基于Hysteresis Defined on thePitch-Time Curve的方法来估算由于音高变化而构成的相邻音符的边界。不过,这项工作并没有进一步深入处理涉及颤音、滑音相关问题的技术。
实际上,调性分析在Singing Transcription中扮演着重要的角色。尽管TimoViitaniemi,Ryynanen和Klapuri在他们的系统中也通过调性评估对估算的结果旋律作进一步的选择或校正[16-17],不过他们的调性分析都不是在相邻音符音程分析基础上进行的,而是使用C.Krumhansl[22]的基于概率分析的Key Finging Algorithm。而C.Krumhansl的分析模型需预设被分析的每个音符的音高应是被规整化到标准平均律的12个半音音阶上。由于人声哼唱信号中的每个哼唱音符的音高中心位置与标准的平均律音高之间总存在不同层度的偏离,因此,一旦实际哼唱音符的音高被规整到MIDI音高,就会产生“规整误差”。这种“规整误差”会对最终分析的调性与旋律结果有一定程度的影响。
由于国际上不同系统使用的测试数据集合不统一,且音乐风格与演唱风格都不太一致。因此较难在系统性能上实施比较。表一罗列了现有国内外哼唱旋律自动识别系统使用的测试数据集合、音频质量、音乐风格、哼唱风格及手工标注Ground-truth的策略。
国内外主要的哼唱旋律自动识别系统的测试数据集合、音频质量、音乐风格、哼唱风格及Ground-truth手工标注策略一览参见表1。
表1
作为哼唱检索系统的前端关键技术,国内也有不少学者曾从事哼唱旋律自动识别(抽取)技术的研究。不过应用在现有的哼唱检索系统的基频估算技术多简单采用基于自相关、倒谱及FFT技术。但这还不足以应付要求高精度音高估算的哼唱旋律自动识别系统。尽管目前YIN[1]算法因其具备较高的基频估算精度而被许多哼唱旋律自动识别系统用来估算信号帧的基频,但太高的时间运算复杂度是其难以实时地用在目前各种哼唱检索及其它计算机音乐应用系统上的主要技术瓶颈。
Emilio Molina等人在IEEE/ACM Transactions on Audio,Speech,And LanguageProcessing,Vol.23,No.2,Feb.2015,252-261.上发表题为“SiPTH:SingingTranscription Based on Hystreresis Defined on the Pitch-Time Curve”的论文中公布了目前最新且最有代表性的哼唱旋律自动识别系统的实现方案。
现有技术存在以下缺点:
目前哼唱旋律自动识别系统的识谱能力,基本上还难以达到一位有实际记谱经验的记谱专家的手工记谱水平。这主要有如下几个方面的原因:
(1)传统的哼唱旋律自动识别系统的性能评估方法不完善。主要问题是无法鉴别输入哼唱的质量。任一实际的哼唱片段常存在不同层度的“跑音”现象。简单把哼唱音符实际音高round to MIDI音高(即规整到绝对音高)并以此作为哼唱音符音高的旋律(我们称其为实际哼唱旋律)不一定就是听者(记谱专家)心目中为这段实际哼唱片段寻求的哼唱旋律[23]。实际上,听者寻求的哼唱旋律应是能与其心目中对这个哼唱片段的调性认知保持一致的旋律。我们称之为期望哼唱旋律。多数情况下,期望哼唱旋律的每个音符的音高应是旋律的调性音级(当然,哼唱旋律本身也可能存在作为临时变化音的少数非调性音级)。正确的哼唱旋律多数情况下应是有调旋律。我们认为期望哼唱旋律才是系统应寻求的正确结果。因此,正确的系统的性能评估方法应涉及:
a)系统估算实际哼唱旋律(以绝对音高为音符音高的旋律)的正确性评估;
b)系统估算期望哼唱旋律(以调性音级为音符音高的旋律)的正确性评估;
c)综合比较a)与b)二种评估结果以鉴别输入哼唱的质量(比如是否有“跑音”等)并在此基础上评估系统记谱性能(包括校正能力)。
(2)哼唱音符听觉属性的界定标准还不够规范。例如,具有滑音听觉的信号区域是否可视为一个独立的哼唱音符及其音高的认定标准;具有稳定音高或颤音听觉的信号区域其音高波动范围的界定标准;带有气音听觉的哼唱音符开始位置的确定等等;
(3)几乎所有的哼唱旋律自动识别系统,无论其音高估算的精度如何,最终都会采用(F-1)或其它类似公式为输入哼唱信号的一个哼唱音符所对应的信号区域估算绝对音高[9-10,24],并把绝对音高作为哼唱旋律中音符的音高。其中,F0是这个信号区域按某种估算模型估算的整体基频。但听者(严格意义上说应是记谱专家)对一段实际哼唱中一个哼唱音符音高的主观认定常与他(或她)对这个哼唱音符上下文的调性认知存在密切关系。它并非简单地与在一个孤立的信号区域内估算出的绝对音高存在一一对应关系。另外,基于公式(F-1)的音高或音程界定法也缺乏弹性,不适用于估算音高波动既自由又细微的人声哼唱旋律。受哼唱质量或哼唱风格的影响,实际哼唱中哼唱音符的音高并非总像公式(F-1)哪样,以整数MIDI音高为音高的中心点且波动范围固定在半音音程(即100音分)范围内;
(4)多数现有的哼唱旋律自动识别系统没有涉及调性分析[15,18-19]。虽然以C.Krumhansl[22]提出的基于概率分析的调性分析方法及其后的各种扩展模型被广泛应用于各种音乐分析系统的调性分析中,但对于哼唱旋律线不太准确的实际人声哼唱来说,由于音高规整(round to MIDI pitch)过程存在“规整误差”,这使得调性分析在现有的Singing Transcription系统中的作用并不明显。例如,尽管M.等人[16]提出的分析模型中的Musicological Model就是应用C.Krumhansl提出的基于概率分析的调性分析方法分析人声哼唱,但其在调性分析之前的无调性倾向的音高规整过程中的“规整误差”影响了最终的分析结果。
参考文献:
[1]A.De Cheveigne and H.Kawahara,“YIN,a fundamental frequencyestimator for speech and music.”J.Acoust.Soc.Amer.,vol.111.no.4.pp.1917-1930,2002.
[2]H.Kobayashi and T.S.Himamura,“A weighted autocorreleation methodfor pitch extraction of noisy speech”,in Proc.of International Conference onAcoustics,Speech,and Signal Processing,(ICASSP’00),2000,Vol.3,pp.1307-1310.
[3]L.R.Rabiner,“On the Use of Autocorrelation Analysis for PitchDetection”,IEEE Transactions on Acoustics,Speech,And Signal Processing,Vol.25,Issue.1,pp.24-33,Feb.1997.
[4]E.Dorken and N.S.Hamid,“Improved musical pitch tracking usingprincipal decomposition analysis”,in Proc.of International Conference onAcoustics,Speech,and Signal Processing,(ICASSP’94),1994,pp.II/217-II/220.
[5]W.J.Pielemeier,G.H.Wakefield,“Time-frequency and time-scaleanalysis for musical transcrioption”in IEEE Symp.on Signal Processing.(IEEE-SP’92),1992,pp.421-424.
[6]Judith C.Brown,“Musical fundamental frequency tracking using apattern recognition method”,J.Acoust.Soc.Amer.vol.92,Issue 3,pp.1394–1402,Sept.1992.
[7]Judith C.Brown et al.“A high resolution fundamental frequencydetermination based on phase changes of the Fourier transform”,J.Acoust.Soc.Amer.vol.94,Issue 2,pp.662-667,August 1993.
[8]Judith C.Brown,“Frequency ratios of spectral components of musicalsounds”,J.Acoust.Soc.Amer.,vol.99,Issue 2,pp.1210-1218,Sept.1996.
[9]Adriano Mitre,Marcelo Queiroz,Regis R.A.Faria,“Accurate andEfficient Fundamental Frequency Determination from Precise PartialEstimates”,in Proc.of the 4th AES Brazil Conference,May 2006,pp.113–118.
[10]Wei-Ho Tsai and Hsin-Chieh Lee,“Automatic Evaluation of KaraokeSinging Based on Pitch,Volume,and Rhythm Features”,IEEE Transactions onAudio,Speech,And Language Processing,Vol.20,No.4,May 2012,1233-1243.
[11]Yin Feng and Wentao Wang,“Research on humming to MIDI by man-machine interaction”,J.of Computational Information System,vol.9,no.10,May2013,pp.3827-3835.
[12]A.Stephen Zahorian and Hongbing Hu,“A spectral/temporal methodfor robust fundamental frequency tracking”,J.Acoust.Soc.Amer.,vol.123.no.6,2008,pp.4559-4571,
[13]A.Ghias,J.Logan,D.Chamberlin,and B.C.Smith,“Query by humming:musical information retrieval in an audio database”,in Proc.of ACMInternational Conference on Multimedia,1995,pp.231-236.
[14]T.R.Black and K.D.Donohue,“Pitch determination of music signalsusing the generalized spectrum”,in Proc.of the IEEE Southeast Conference,Nashville,USA,2000,pp.104-109.
[15]W.Keige,T.Herbst,and T.Niesler,“Ecplicit transition modelling forautomatic singing transcription.”J.New Music Res.,vol.37,no.4,pp.311-324,2008.
[16]M.A.P.Klapuri,“Modelling of Note Events for SingingTranscription.”in Proc.ISCA Tutorial and Res.Workshop onStatist.Percept.Audio Process.SAPA,Jeju,Korea,Oct.2004.
[17]T.Viitaniemi,A.Klapuri,and A.Eronen,“A probabilistic model forthe transcription of single-voice melodies,”in Proc.of Finnish SignalProcess.Symp.(FINSIG’03),2003,pp.5963-5957.
[18]Emilio Molina et al,“SiPTH:Singing Transcription Based onHystreresis Defined on the Pitch-Time Curve”,IEEE/ACM Transactions on Audio,Speech,And Language Processing,Vol.23,No.2,Feb.2015,252-261.
[19]Emiliaand Jordi Bonada,“Towards Computer-Assisted FlamencoTranscription:An Experimental Comparison of Automatic TranscriptionAlgorithms as Applied to A Cappella Singing”,Computer Music Journal,Vol.37,Issue 2,2013,73-90.
[20]Cheng-Yuan Lin and Jyh-Shing Roger Jang,“Automatic PhoneticSegmentation by Score Predictive Model for the Corpora of Mandarin SingingVoices”,IEEE Transactions on Audio,Speech,And Language Processing,Vol.15,No.7Sept.2007,2151-2159.
[21]Chee-Chuan Toh,Bingjun Zhang,Ye Wang,“Multiple-Feature FusionBased Onset Decetion for Solo Singing Voice”in Proc.of ISMIR,Philadeiphia,PA.USA,2008,pp.515-520.
[22]C.L.Krumhansl,Cognitive Foundations of Musical Pitch,OxfordPsychology Series No.17,New York Oxford,Oxford University Press,1990.
[23]Andrew Guillory et al.“User-Specific Learning for Recognizing aSinger’s Intended Pitch”,in Proc.of the Twenty-Fourth AAAI Conference onArtificial Intelligence,Atlanta,Georgia,USA,July 11-15,2010,pp.960-966.
[24]R.J.McNab et al.“Signal Processing for Melody Transcription”,InProc.of the 19th Australasian Computer Science Conference,vol.18,no.4,pp.301-307,1996.
[25]G.Haus and E.Pollastri,“An audio front end for query by-hummingsystems”,in Proc.of the 2nd International Symposium on Music InformationRetrieval ISMIR,pp.65-72,2001.
[26]L.P.Clarisse et al.“An Auditory Model Based Transcriber ofSinging Sequences”,in Proc.of the 3rd International Conference on MusicInformation Retrieval ISMIR,pp.116-123,2002.
[27]T.De Mulder et al.“Recent improvements of an auditory model basedfront-end for the transcription vocal queries”,in Proc.of the IEEEInternational Conference on Acoustics,Speech and Signal Processing,(ICASSP2004),Montreal,Quebec,Canada,May 17-21,Vol.IV,pp.257-260,2004.
[28]P.Kumar et al.“Sung Note Segmentation for a Query-by-HummingSystem”,In Int Joint Conferences on Artificial Intelligence(IJCAI),2007.
[29]P.M.Brossier.“Automatic annotation of musical audio forinteractive applications.,”Ph.D.dissertation,Centre for Digital Music,QueenMary,Univ.of London,London,U.K.,2006.
发明内容
本发明的目的在于提供一种哼唱旋律到MIDI旋律的转换方法。
本发明包括以下步骤:
1)估算信号帧的基频:采用倍音分析与变采样技术相结合,为每个信号帧估算指定精度范围内的音高;
2)规范哼唱音符的听觉标准:哼唱音符是哼唱旋律的基本组成单位,将一段实际的哼唱片段视为由一个听觉可辨识的听觉成分序列所组成,每个听觉成分在听觉上可呈现为音高波动相对稳定的稳定音,或为具有较大音高上下波动性的颤音,或为音高沿单一方向变动的滑音,或为以气流开始的气音,以及换气或停顿等等不同的声学特性;在听觉成分序列上判定某一听觉成分子串能否可认定为一个哼唱音符,并由此规范各种哼唱音符的听觉标准;
3)估算哼唱音符切割与音符音高:通过构造ATN网络,在一个听觉成分序列上识别音高波动范围在半音甚至全音音程内变化且由不同听觉成分构成的哼唱音符从而实现哼唱音符的自动切割,同时通过观察与比较由听觉确认的各种不同类型哼唱音符中各种听觉成分信号帧基频与实际音高听觉的关系,建立各种哼唱音符的音高估算模型,估算音符音高;
4)估算基于哼唱旋律调性分析的期望哼唱旋律:先通过相邻音程分析推导第j+1个哼唱音符的音级,当相邻音程最小取整误差达到某个阈值(0.75)时,使用间邻音程分析并优先匹配第一候选音级,同时允许匹配至多一个非调性音级,即算法所输出的音级序列中允许出现至多一种非调性音级,该非调性音级理解为实际哼唱的一个走音音符,或为在自然调式体系下的一个临时变化音级;算法在使用第j-1个哼唱音符的音级通过间邻音程分析推导第j+1个哼唱音符的音级时,要求第j-1个哼唱音符的音级必须是通过唯一的第1候选推导出来的结果,并以此作为使用间邻音程分析的条件;任意二个相邻音符或间邻音符的估算音程不一定正好是整数,每当算法根据二个相邻音符或间邻音符从当前音符的音级推算下一个音符音级时,产生取整误差,算法会累积这些取整误差,并按累积的取整误差由小到大的次序排列输出解的优劣,累积取整误差最小的解为最优解;
5)建立系统性能评估方法:任意实际哼唱均具有二种旋律,即实际哼唱旋律与期望哼唱旋律,将所述期望哼唱旋律作为哼唱旋律的正确旋律,通过比较音符“绝对音高”及“调性音级”的主观听觉判定与系统客观估算结果的差异,评估系统识谱能力。
本发明的优点在于:
1)提出一种可以为输入哼唱信号估算“实际哼唱旋律”与“期望哼唱旋律”的哼唱旋律自动识别(Singing Transcription)技术。任一哼唱片段都可以有二种旋律。其一称为实际哼唱旋律,另一个称为期望哼唱旋律。二者区别在于前者以每个哼唱音符的绝对音高作为哼唱旋律音符的音高,而后者则以调性音级(scale step)作为音符的音高。申请人把期望哼唱旋律视为哼唱片段的正确旋律,提出一种基于哼唱旋律调性分析的哼唱音符分析法并以此设计与实现了一个哼唱旋律自动分析系统以及系统的性能评估方法。通过比较“实际哼唱旋律”与“期望哼唱旋律”的差异,可以鉴别输入哼唱信号的“哼唱质量”以及系统的自动校正能力;
2)提出一种基于变采样技术与倍音理论相结合的信号帧快速基频(音高)估算算法,其计算复杂度为o(nlog2n),这要比目前被广泛使用的YIN算法速度快(YIN算法的计算复杂度为o(n2));另外,该算法估算基频(音高)的误差精度为25音分。尽管低于YIN算法精度,但在统一测试数据的实验结果比较中,有声帧音高估算准确率(raw pitch accuracy)高达了86.35%。很接近最好的Monlina et al的SiPTH系统[18]的结果;
3)所提出的方法可以分析包含“滑音”、“颤音”、“气音”等装饰性音符,并将其作为一个“哼唱音符”的一部分,使得每个“哼唱音符”仅有唯一一个音高。另外,处于一个“哼唱音符”所对应的信号区域的信号帧的基频(音高)波动范围不固定,不像传统的以平均律的整数MIDI音高为中心,且可以从原先半音音程(100音分)以内扩展至全音音程(200)音分;
4)大多实际哼唱都存在不同程度的走音现象。传统的哼唱旋律自动识别系统局限与估算“实际哼唱旋律”。一个高度智能化的系统应能从含有一定程度走音的实际哼唱片段中寻找出正确的哼唱旋律(我们称之为期望哼唱旋律)。这要求系统应具备评判哼唱音符音高对误的能力。记谱专家判断哼唱音符音高的对误往往以他对哼唱旋律的调性认知为参照。这意味着系统需先分析哼唱旋律调性,再以调性音级(scale step)为参照评估实际哼唱音符音高的对误。任意实际哼唱片段中哼唱音符的基频(音高)与相应标准音的频率总有不同程度的偏离。把哼唱音符的基频音高直接规整到相应的标准音高频率(rounded toMIDI)会损失估算精度。为此,本发明采用一种基于相邻或间邻哼唱音符音程分析的哼唱旋律的调性分析法。即先估算实际哼唱相邻或间邻哼唱音符的音程,而后再在音程序列上估算哼唱旋律的调性。并由此建立期望哼唱旋律的估算模型。
附图说明
图1为哼唱旋律自动识别系统的工作流程。
图2为本发明与Monlina的SiPTH系统[18],Tiitaniemi的Baseline方法[17],Gómez’s与Bonada的哼唱旋律识别方案[19]以及的基于HMM的方法[16]的各项系统性能评估结果比较图。
图3为M.的方法[16]分析38首人声哼唱的1)算法估算的实际哼唱旋律,2)手工标注的Ground truth的结果(涉及调性估算正确率与平均音程正确率)比较图以及本发明分析1)算法估算的期望哼唱旋律与,2)手工标注的Ground truth的结果(涉及调性估算正确率、平均演算音程正确率及平均校正音程正确率)比较图。
具体实施方式
本发明实施例包括以下步骤:
步骤1(估算信号帧的基频):采用倍音分析与变采样技术相结合,为每个信号帧估算指定精度范围内的音高。与现有的自动记谱系统中被广泛用来估算基频的YIN[1]算法相比较,本发明具更小的计算复杂度(o(nlog2n),YIN算法是o(n2))以及很好的有声帧音高估算准确率(raw pitch accuracy)。
步骤2(规范哼唱音符的听觉标准):哼唱音符是哼唱旋律的基本组成单位。我们可以把一段实际的哼唱片段视为由一个听觉可辨识的听觉成分序列所组成。每个听觉成分在听觉上可呈现为音高波动相对稳定的稳定音,或为具有较大音高上下波动性的颤音,或为音高沿单一方向变动的滑音,或为以气流开始的气音,以及换气或停顿等等不同的声学特性。记谱专家可以在这样的听觉成分序列上判定某一听觉成分子串能否可认定为一个哼唱音符,并由此规范各种哼唱音符的听觉标准。与传统的按公式(F—1)界定音高方法不同,本发明将不把MIDI音高(整数)p作为界定一个音符音高的中心点,而是引入一种精度更高(误差在25音分以内)的扩展MIDI音高表达p--,p-,p+,p++。在一个哼唱信号区域内界定音高的基频波动范围不固定,可由原先的半音(100音分)扩展至全音音程(200音分)的上下波动范围。这种方法更适合哼唱旋律中哼唱音符的音高辨识。
步骤3(哼唱音符切割与音符音高估算):人在凝听一段哼唱时对其中某个哼唱音符所产生的音高听觉很依赖于这个哼唱音符由何种听觉成分构成以及这个哼唱音符的上下文。例如,一个具有滑音听觉成分的信号区域能否构成一个哼唱音符与其后面的信号区域为何种听觉成分有着密切的关系。若这个滑音听觉成分的后继为一个稳定音成分,则这个滑音听觉成分必须与后面的稳定音成分合并以构成一个哼唱音符,同时,处于稳定音听觉成分后段的信号帧的平均基频会被认定为合并后音符的音高。若这个滑音听觉成分的后继为一个短促的停顿或为另一个音高变化方向相反的滑音听觉成分,则前面的滑音听觉成分自身就可独立地构成一个哼唱音符。且前面滑音成分尾部信号帧的基频会被听觉认定为这个音符的音高。通过构造ATN网络,可在一个听觉成分序列上识别音高波动范围在半音甚至全音音程内变化且由不同听觉成分构成的哼唱音符从而实现哼唱音符的自动切割。同时,通过观察与比较由听觉确认的各种不同类型哼唱音符中各种听觉成分信号帧基频与实际音高听觉的关系,可以建立各种哼唱音符的音高估算模型。
步骤4(基于哼唱旋律调性分析的期望哼唱旋律的估算):本发明采用一种基于相邻或间邻哼唱音符音程分析的哼唱旋律的调性分析法。基本分析策略是先通过相邻音程(第j个音符与第j+1个音符所构成的估算音程,精度误差为25音分以内,即估算音程含小数部分0.25,0.50,0.75)分析推导第j+1个哼唱音符的音级,当相邻音程最小取整误差达到某个阈值(0.75)时就使用间邻音程(第j-1个音符与第j+1个音符所构成的估算音程,精度误差也是25音分以内)分析并优先匹配第一候选音级。同时,允许匹配至多一个非调性音级(这个唯一的非调性音级可以多次出现)。即算法所输出的音级序列中允许出现至多一种非调性音级。而这个非调性音级既可理解为实际哼唱的一个走音音符,也可理解为在自然调式体系下的一个临时变化音级。另外,为提高间邻音程分析结果的可靠性,算法在使用第j-1个哼唱音符的音级通过间邻音程分析推导第j+1个哼唱音符的音级时,要求第j-1个哼唱音符的音级必须是通过唯一的第1候选推导出来的结果,并以此作为使用间邻音程分析的条件。任意二个相邻音符或间邻音符的估算音程不一定正好是整数,每当算法根据二个相邻音符或间邻音符从当前音符的音级推算下一个音符音级时,就会产生取整误差。算法会累积这些取整误差。并按累积的取整误差由小到大的次序排列输出解的优劣。累积取整误差最小的解为最优解。
步骤5(系统性能评估方法的建立):与现有哼唱旋律自动识别的系统评估方法不同,作者提出任意实际哼唱均具有二种旋律,即“实际哼唱旋律”与“期望哼唱旋律”。我们把“期望哼唱旋律”作为哼唱旋律的正确旋律。通过比较音符“绝对音高”及“调性音级”的主观听觉判定与系统客观估算结果的差异,评估系统识谱能力。
以下通过实验与评估来说明本发明的技术效果。具体包括三方面内容,即:1)测试数据集与评估标准;2)性能测试、评估方法与结果;3)结果的比较与讨论。
1)测试数据集与评估标准
使用Emilio Molina[18]在http://www.atic.uma.es/ismir2014singing/中提供的测试数据(包括总时长为1154秒的38首人声哼唱及其Ground truth文件)以便实施比较。这些数据所包含的音乐家手工标注的38个Ground truth文件可视为38首以我们算法估算的实际哼唱旋律的评估标准。另外,在Singing Tracker系统上为这38首人声哼唱手工标注期望哼唱旋律。以此作为38首我们算法估算的期望哼唱旋律的评估标准。为使评估标准尽可能一致,我们要求每首人声哼唱的手工标注的期望哼唱旋律,其任一音符的起始位置(onset)与音长(duration)均与Ground truth文件相应音符一致。在调性分析的评估标准上,我们规定含有转调、移调的哼唱不参与算法估算的期望哼唱旋律的测试与评估。鉴于哼唱中存在不同程度的跑调(key off)现象,规定半音音程以内的移调现象仍然认为没有移调。算法的调性分析结果与人工听觉判定的调性结果若相差半音音程,也算正确。
2)性能测试、评估方法与结果
包括二个部分,一是以Ground truth为标准,对以我们算法估算的实际哼唱旋律的性能测试与评估。二是以手工标注的期望哼唱旋律为标准,对以我们算法估算的期望哼唱旋律的测试与评估。Ground truth中手工标注的音符音高值被称为音符的Ground truthpitch。最接近Ground truth pitch的MIDI音高就是音符的绝对音高。而手工标注的期望哼唱旋律中手工标注的音符音高则是最接近Ground truth pitch的调性音级(scale step)所对应的MIDI音高。文献[18]指出Ground truth中手工标注音符音高的听觉误差可保正在50音分以内。由手工标注的期望哼唱旋律中相邻音符构成的音程的听觉误差也可保证在50音分以内。
A.算法估算的实际哼唱旋律的评估与结果:
按与文献[18]类似的评估方法,以Ground truth为标准的正确结果,本发明把下面几个属性的测算数据作为算法估算的实际哼唱旋律的评估结果:
●有声帧音高估算准确率(raw pitch accuracy):有声帧中音高估算正确的百分率(参见公式(F-2)),简称RPA;
●有声帧估算召汇率与无声帧估算误判率(voicing recall and voicing falsealarm):此二属性为MIREX关于音频旋律抽取的二个标准技术指标;有声帧估算召汇率为处于手工标注为有声区域的信号帧中被算法也认定为有声帧的百分率,简称VR;无声帧估算误判率为处于手工标注为有声区域的信号帧中被算法认定为无声帧的百分率,简称VFA;
●未被检测音符率(Non-detected note rate):出现在手工标注的Ground truth中的一个音符ni无法与算法估算的实际哼唱旋律中的任意一个音符nj相匹配(即音符ni与nj既不在音高上相匹配,也不在时间区域上相匹配);称音符ni为未被检测音符,简称ND音符;ND音符ni在手工标注的Ground truth中出现的百分率称为未被检测音符率,简称ND率;
●音符误判率(Spurious note rate):出现在算法估算的实际哼唱旋律中的一个音符nj无法与出现在手工标注的Ground truth中的任意一个音符ni相匹配(即音符nj与ni既不在音高上相匹配,也不在时间区域上相匹配);称音符nj为误判音符,简称PU音符;PU音符nj在算法估算的实际哼唱旋律中出现的百分率称为音符误判率,简称PU率;
●音符误分割率(Split note rate):在手工标注的Ground truth中的一个音符ni在算法估算的实际哼唱旋律中被错误地分割成n个相邻的音符音符ni的起始时间(onset)与音符的起始时间(onset)相差不超过±50ms,且n个相邻的音符的总时间区域覆盖音符ni的时间区域超过50%,且音符ni的手工标注的音高取整为MIDI音高后与n个相邻的音符的估算音高的取整MIDI音高是一致的;称音符ni为误分割音符,简称S音符;S音符ni在手工标注的Ground truth中出现的百分率称为误分割音符率,简称S率;
●音符误合并率(Merged note rate):在算法估算的实际哼唱旋律中的一个音符nj正好为手工标注的Ground truth中n个相邻的音符合并的结果。其中音符nj的起始时间(onset)与音符的起始时间(onset)相差不超过±50ms,且n个相邻的音符的总时间区域覆盖音符nj的时间区域超过50%,且音符nj的手工标注的音高取整为MIDI音高后与n个相邻的音符的估算音高的取整MIDI音高是一致的;称音符nj为误合并音符,简称M音符;M音符nj在算法估算的实际哼唱旋律中出现的百分率称为音符误合并率,简称M率;特别地,若一个音符既可认定为误分割音符,同时也可认定为误合并音符,那么我们既不把它认定为误分割音符,也不把它认定为误合并音符,而是把它认定为后面将定义的二种情况之一:正确音符或不良音符;
●估算正确音符率(Correctly Detected Note rate):在算法估算的实际哼唱旋律中的一个音符nj正好命中(即匹配)手工标注的Ground truth中的某个音符ni(在MIDI音高与音长是一致的),即nj与ni的音符起始时间(onset)相差不超过±50ms,且二音符的时间区域超过各自时间区域的50%,且经音高取整操作后得到的MIDI音高是一致的,则称音符nj为估算正确音符,简称CN音符。特别地,若nj也是分割音符或也是误合并音符,则这样的音符nj不可认定为估算正确音符。音符nj在算法估算的实际哼唱旋律中出现的百分率称为估算正确音符率,简称CN率;
●估算音符不良率(Badly detected note rate):在算法估算的实际哼唱旋律中的一个音符nj正好在时间区域上与手工标注的Ground truth中的某个音符部分互相覆盖,且二者音高经音高取整操作后得到的MIDI音高是一致的,但该音符不是前面几种音符的任何一种。即此时,二音符的音符起始时间相差超过±50ms或二者音长相差甚远(即二者在时间互相覆盖区域不超过50%),则称这样的音符nj为不良估算音符,简称BD音符。BD音符nj在算法估算的实际哼唱旋律中出现的百分率称为估算音符不良率,简称BD率。
表2是以Emilio Molina[18]提供的Ground truth为标准,评估我们算法估算的实际哼唱旋律的结果。图2展示了在Emilio Molina[18]的测试结果的基础上加入了表2所述的本发明的结果,以便比较。其中有声帧音高估算准确率(raw pitch accuracy)为86.34,基本达到了由Emilio Molina的系统取得的最好结果。但本发明运算速度更快。其计算复杂度为o(nlog2n),Emilio Molina的方法需使用YIN算法,计算复杂度为o(n2)。
表2:38首算法估算的实际哼唱旋律的各项系统性能评估结果
哼唱总时间/s | ND率 | PU率 | S率 | M率 | CN率 | BD率 | RPA | VR | VFA |
1154 | 13.4 | 11.86 | 4.13 | 5.06 | 45.39 | 33.91 | 86.34 | 85.87 | 22.11 |
为便于说明,构造如下集合:
FVoiceFrame={fi|Ground truth中所有处于onset至offset之间对应的信号帧fi};
FUnvoiceFrame={fi|Ground truth中所有不处于onset至offset之间对应的信号帧且不包括滑音区的信号帧fi};
FPitchCorrectFrame={fi|-0.5<算法估算fi的扩展MIDI音高-fi所处的音符的Groundtruth pitch≤0.5),fi∈FVoiceFrame}。
式(F-2)、(F-3)、(F-4)分别是估算RPA、VR及VFA的方法。FUnvoiceFrame不包括主观听觉认定为滑音的信号帧,这是为了和Emilio Molina提供的评估标准尽可能一致,即忽略相邻音符间的滑音的信号帧[18]。式(F-5)中Nγ为Ground truth中的音符总数,NγX为Groundtruth中X音符∈{S音符,M音符,CD音符,BD音符}的音符数,为算法估算的实际哼唱旋律中的音符总数,NγX为算法估算的实际哼唱旋律中X音符的音符数。
B.算法估算的期望哼唱旋律的评估与结果
把记谱专家手工标注的期望哼唱旋律认定为这段人声哼唱的正确旋律。手工标注的期望哼唱旋律中音符音高是哼唱旋律的调性音级。评估需要涉及以下3个任务:
任务1:算法估算的期望哼唱旋律的调性及其音符的调性音级是否与手工标注的期望哼唱旋律的调性及相应音符的调性音级一致是评估的首要任务。
任务2:评估的另一项任务是算法估算的期望哼唱旋律中是否能体现出算法的自动校正能力。这需要比较唱走音的音符导致出现在Ground truth中2个音符间的错误音程关系是否会在算法估算的期望哼唱旋律中被算法正确地校正。
任务3:太多走音而导致过度跑调(off key)的哼唱片段的调性是不稳定的。不稳定调性的哼唱意味着其调性以及手工标注的期望哼唱旋律是不可确定的。为此,一个与哼唱旋律线准确度有关的正确演算音程率的概念将被引入以便评估手工标注的期望哼唱旋律与算法估算的期望哼唱旋律的有效性。
任务1会面临二个技术上的困难。一是一段人声哼唱的调性存在歧义或多义性。二是由手工标注的期望哼唱旋律中的每个音符并非都能被算法正确地分析出来并对应到算法估算的期望哼唱旋律中。然而,无论一段人声哼唱的调性能否被唯一确定,它总是与由这段人声哼唱旋律的相邻二个音符构成的音程序列存在对应关系。我们把在前面评估算法估算的实际哼唱旋律中的CN音符中最近邻的二个音符所构成的音程(在后面的定义3中称为演算音程)序列与相应出现在手工标注的期望哼唱旋律中的音符所构成的音程(在后面的定义1中称为期望音程)序列相比较,评估它们的一致性,以此作为评估算法估算的期望哼唱旋律的一项性能指标。因为只有CN音符在算法估算的期望哼唱旋律与手工标注的期望哼唱旋律中相应音符才是一一对应的。原因是我们要求记谱专家手工标注的期望哼唱旋律中每个音符的边界和Ground truth的每个音符的边界必须是一致的,以求评估标准的一致性。为便于说明,我们通过下面的定义依次引入相关的概念。
定义1(期望音程):手工标注的期望哼唱旋律中的前后二个非休止音符所构成的音程称为这二个音符的期望音程。
定义2(Ground truth音程与正确Ground truth音程):设N1,N2,…,Nm依次为一哼唱片段的Ground truth中m个非休止音符,公式(F-6)中GR-Interval(j,k)为音符Nj与音符Nk间的Ground truth音程(1≤j,k≤m-1),为取整运算。若GR-Interval(j,k)与音符Nj与音符Nk间的期望音程一致,则称音符Nj与音符Nk间的Ground truth音程为正确Groundtruth音程,否则称为不正确Ground truth音程。
定义3(演算音程、正确演算音程及正确校正音程):设算法为哼唱信号HS的实际哼唱旋律的m个CN音符。X1,X2,…,Xm为我们的调性分析算法为推算的m个调式音级。音级Xk至音级Xk+1之间的音程为Ik个半音音程(Ik为整数,1≤k≤m-1)。称整数Ik为哼唱音符至哼唱音符的演算音程。再设记谱专家为HS手工标注的期望哼唱旋律中与相对应的音符为哼唱音符至哼唱音符的期望音程为Jk个半音音程(Jk为整数,1≤k≤m-1)。若中音符至的演算音程与期望哼唱旋律中相对应的音符至音符的期望音程一致(即Ik=Jk),则称音符与的演算音程为正确演算音程。若音符与的演算音程为正确演算音程,但它们的Ground truth音程为不正确Ground truth音程,则称由音符与的演算音程为正确校正音程(Correct Correction Interval)。
这里需要说明的是定义3中所指的音符与的Ground truth音程与我们的调性分析算法(其基本策略描述于上述步骤4)的相邻音程分析与“间邻”音程分析中所使用的估算音程不同。估算音程包含小数部分,其精度误差在25音分以内,而式(F-6)所估算的音符Nj与音符Nk间的Ground truth音程为整数。其精度误差却在100音分以内。本发明是借助调性分析,有调性倾向地将带有小数部分的估算音程规整为定义3所述的演算音程。而目前所有涉及调性分析的哼唱旋律识别系统(如系统中Musicological Model),则是先对音符的估算音高执行如式(F-1)或式(F-6)中所述的无调性倾向地音高取整,再进行调性分析。这是本发明调性分析哼唱旋律的主要技术特色。
设HS为一不含转调的人声哼唱片段。EMHS、tr-EMHS分别是HS的手工标注的期望哼唱旋律与算法估算的期望哼唱旋律。由于EMHS或tr-EMHS中任意一个音符在单一调性K下的调性音级,可由音符的音高及调性K的Key note的音高直接推出,并由此可推算出EMHS相邻音符的期望音程及tr-EMHS的相邻音符的演算音程,故可构造调性集合:
KeySet(EMHS)={K|在调性K下由EMHS的相邻音符的相邻调性音级构成的音程序列=EMHS的相邻音符的期望音程序列且EMHS的调性音级序列至多含一个非调性音级(可重复出现)};
KeySet(tr-EMHS)={K|在调性K下由tr-EMHS的相邻音符的相邻调性音级构成的音程序列=tr-EMHS的相邻音符的演算音程序列且tr-EMHS的调性音级序列至多含一个非调性音级(可重复出现)};
令Key-Solution=KeySet(EMHS)∩KeySet(tr-EMHS),若tr-EMHS存在CN音符且Key-Solution不为空,则表示哼唱信号HS的调性被正确估算。
于是,任务1就可转化为判定算法估算的期望哼唱旋律中有多少正确演算音程以及估算可能的调性集合Key-Solution的问题。表3列出了MTG-QBH[24]中哼唱文件q1.wav的手工标注的期望哼唱旋律开始9个音符(手工标注)的音高以及对应在我们算法估算的期望哼唱旋律开始8个音符的一种可能的调性音级序列。需要说明的是我们的调性分析算法不区分大、小调式。自然调式的关系大小调,在我们这里使用同一个调式音阶。任务2则是判断算法估算的期望哼唱旋律中的正确演算音程有多少是正确校正音程的问题。即正确校正音程率的问题。任务3涉及是否因哼唱片段的过渡跑调而使手工标注的期望哼唱旋律无法确定或哼唱是否存在转调的问题。这一任务可由参与评估的音乐家人工判断。
表3
3)结果的比较与讨论
A.哼唱旋律识别技术的比较与讨论
在信号帧的基频估算上,我们算法估算的有声帧音高估算准确率(raw pitchaccuracy)达到了86.35%。很接近最好的Monlina et al的SiPTH系统[18]的结果(参见图3)。SiPTH系统使用具有更高的基频估算精度的YIN算法与他们提出的Hysteresis Definedon the Pitch-Time Curve相结合的方法。而我们算法只把音高误差控制在25音分的范围内,且有效音域局限在[F,e2]三个八度范围内。但是,我们基频估算法的时间复杂度是o(nlog2n),而YIN算法的时间复杂度是o(n2)。这是本发明在平衡基频估算的精度与运算速度上的主要技术优势。
在音符分析上我们算法的平均CN率(Correctly detected note rate)的结果是45.39%,M.et al[16]的基于多状态HMM方法取得了最好的成绩(约50%左右,参见图3)。其中部分原因是目前我们的方法还无法有效地处理多音节的音符分割问题。这导致不少输出结果的BD率(估算音符不良率)偏高。另一个原因是算法判定音符标准与评估标准不一致。我们目前评估CN率的标准是采用Monlina et al提供的评估框架。在该框架下,滑音、倚音等一些短音符在Ground ture中均被合并到后面的长音中或不参与评估。例如,对于Monlina etal提供的测试集中q1.wav的Ground truth中的第1个音符,依照我们算法的分析结果却是应分解成一个较短音符(倚音)和另一个较长的音符。
多数现有的哼唱旋律自动识别系统不涉及调性分析。在此我们仅需比较与讨论具有代表性的M.系统中Musicological Model对输入哼唱的调性(Key)分析方法与我们算法的调性(Key)分析方法。实际上二种调性分析方法的区别在于我们的调性分析模型以相邻或“间邻”哼唱音符的候选音程序列作为输入,而M.系统中的调性分析方法需以被取整化的12个半音音阶音高(chromatic scale tones)[22]作为输入。因此M.的分析方法在进入调性分析之前需先将音符音高无调性倾向地取整化(即round to MIDI pitch),也就是说在调性分析之前“取整误差”就已经形成。而我们的方法中对相邻或“间邻”哼唱音符的估算音程的取整化操作则与调性分析同时进行。因此我们的算法最终可以选择使估算音程的取整误差积累最少并且能与选定的调性音级所构成演算音程序列相匹配的候选音程序列。
M.的方法[16]与本发明分别分析38首人声哼唱的1)算法估算的实际哼唱旋律,2)算法估算的期望哼唱旋律以及,3)手工标注的Ground truth的评估结果与比较参见表4,其中TR为算法估算的期望哼唱旋律或算法估算的实际哼唱旋律,GR为手工标注的Ground truth。
表4与图3展示并比较了我们模拟M.et al[16]系统中的调性分析方法以我们算法对38首人声哼唱估算的实际哼唱旋律及手工标注的Ground truth作为输入样本的各种数据分析结果与用我们的调性分析方法对38首人声哼唱估算的期望哼唱旋律及手工标注的Ground truth为输入样本的各种数据分析结果,其中:
表4
表5为M.的方法[16]与本发明分别分析38首人声哼唱的1)算法估算的实际哼唱旋律,2)算法估算的期望哼唱旋律以及,3)手工标注的Ground truth的平均评估结果。表5为M.的方法[16]与本发明分别分析38首人声哼唱的1)算法估算的实际哼唱旋律,2)算法估算的期望哼唱旋律以及,3)手工标注的Ground truth的平均评估结果。其中TR为算法估算的期望哼唱旋律或算法估算的实际哼唱旋律,GR为手工标注的Groundtruth。
表5
通过比较可以看出在多数情况下M.的方法分析算法估算的实际哼唱旋律与Ground truth的音程正确率比我们的方法分析算法估算的期望哼唱旋律与Groundtruth的演算音程正确率要低得多。表5所描述的M.方法分析Ground truth的平均音程正确率为66.13,而本发明分析Ground truth的平均音程正确率为79.44。二者相差超过10个百分点。这说明若以手工标注的期望哼唱旋律的期望音程(参见定义1)序列为正确哼唱旋律线的标准,通过本发明的调性分析算法对手工标注的Ground truth所估算的演算音程序列所描述的哼唱旋律线要比包括M.在内的其它现有方法按定义2中公式(F-6)对手工标注的Ground truth所估算的Ground truth音程序列所描述的哼唱旋律线的准确率要超过10%。同样地在算法估算的期望哼唱旋律的演算音程正确率与算法估算的实际哼唱旋律的音程正确率的分析上也有类似的结果。即表5中分析算法估算的期望哼唱旋律的演算音程的平均正确率、召回率及F-measure的结果分别为30.25%,31.91%,30.82%,而分析算法估算的实际哼唱旋律的邻近正确音符音程的平均正确率、召回率及F-measure的结果分别为18.98%,19.99%,19.31%。因此,二种哼唱旋律线准确率(即音程正确率与演算音程正确率)分析结果上的差异反映出本发明比现有以M.的方法为代表的其他方法具有明显的优势。通过播放器分别播放算法估算的实际哼唱旋律与算法估算的期望哼唱旋律也可从听觉上感受到更多的算法估算的期望哼唱旋律比算法估算的实际哼唱旋律更接近心目中的结果。
除去4首含转调或移调的哼唱child1.wav、child12.wav、q61.wav与q63.wav以及2首过度走音的哼唱child4.wav、child10.wav,在余下的32首哼唱中,我们的调性分析算法正确估算了其中27首的调性(调性估算正确率为84.34%)以及26首手工标注的Groundtruth的调性(估算Ground truth的调性正确率为81.25%)。而M.的调性分析模型正确估算了23首的调性(调性估算正确率为71.88%)以及25首手工标注的Ground truth的调性(估算Ground truth的调性正确率为78.13%)。整体上看我们的调性分析方法的结果也好于现有的M.的方法。
B.评估方法的比较与讨论
在此主要比较与讨论现有的估算旋律评估中评估音符音高方法上的差异。在音符音高的参照标准上,现有方法主要有2种。其一是使用以平均律为标准的MIDI音高为评估参照标准(例如W.Keige[15]、M.与Viitaniemi[17]的系统性能评估)。其二是以对数频率音高记法(精确到小数点后2位)的Ground truth pitch为评估参照标准(例如Molinaet al[18]、Gómez and Bonada[19]以及我们在对算法估算的实际哼唱旋律的评估)。由于实际人声哼唱音符的音高与以平均律为标准的MIDI音高常存在不同程度的偏差,因此以对数频率音高记法的Ground truth pitch[18,19]作为评估算法估算的实际哼唱旋律的标准更具客观性。然而音高不太准确的人声哼唱却蕴含着与哼唱者或听者心目中调性认知保持一致的期望哼唱旋律。期望哼唱旋律以调性音级作为音符的音高。同样的Ground truth pitch在不同的上下文所对应的调性音级可能是不同的MIDI音高。自动旋律识别系统作为一个智能程序必须能在音高不太准确的人声哼唱中以期望哼唱旋律作为系统的寻求目标并将其视为输入哼唱的正确旋律。特别地,表4和5所展示的校正音程正确率指出了我们算法将Ground truth或算法估算的实际哼唱旋律中不准确的相邻音程自动校正为正确音程的能力。需要指出的是,现有的评估法仅能反映算法估算实际哼唱旋律的性能,但不能判断实际哼唱旋律与期望哼唱旋律的关系,而期望哼唱旋律才是一个哼唱旋律自动识别系统最终寻求的目标。
以下通过图示说明Singing Tracker系统的使用方法。
步骤1(哼唱输入):连接好麦克风。打开Singing Tracker系统。在系统主菜单上选择“录音”→“打开录音机”,系统会弹出“录音机”窗口。点击其中的“开始录音”按钮,开始哼唱,哼唱完毕,点击“停止录音”按钮。
步骤2(导入哼唱信号):在系统主菜单上选择“录音”→“导入录音”,系统会自动将采样率为44kHz,16bit的哼唱信号导入系统。
步骤3(估算实际哼唱旋律与期望哼唱旋律):点击主界面上的“旋律识别”按钮,系统会弹出“旋律识别”窗口。依次点击“旋律识别”窗口中的“实际哼唱旋律”按钮、“期望哼唱旋律”按钮,即可获得实际哼唱旋律与期望哼唱旋律的结果。
步骤4(显示调音功能):点击主界面上的“显示调音功能”按钮,在系统主界面下方会出现“音高调整”与“原音重现”面板。
步骤5(哼唱旋律播放、单音播放与多个相邻音块连续播放):在“原音重现”面板上,点击“播放全曲”按钮,系统会播放导入到系统的整首人声哼唱。选择下拉菜单的音块号,再点击“单音播放”按钮,系统会播放指定音块号所对应的哼唱信号区域的人声哼唱。还可选择从一个音块号到另一个音块号所对应的信号区域,再点击“连续播放”按钮,系统会播放这个信号区域的人声哼唱片段。注意,这里的一个音块所对应的哼唱区域,就是一个哼唱音符。
步骤6(播放算法估算的实际哼唱旋律与期望哼唱旋律):在点击完“旋律识别”窗口的“期望哼唱旋律”按钮之后,系统会估算出期望哼唱旋律。此时,可在“音高调整”面板上,点击“播放全曲”按钮,系统会用指定的合成音色播放系统估算的期望哼唱旋律。选择下拉菜单的音块号,再点击“单音播放”按钮,系统会用指定的合成音色播放指定音块号(即相应音符)所对应的哼唱信号区域的音符音高。还可选择从一个音块号到另一个音块号所对应的信号区域,再点击“连续播放”按钮,系统会用指定的合成音色播放这个信号区域所对应的相邻音符构成旋律片段。
Claims (1)
1.哼唱旋律到MIDI旋律的转换方法,其特征在于包括以下步骤:
1)估算信号帧的基频:采用倍音分析与变采样技术相结合,为每个信号帧估算指定精度范围内的音高;
2)规范哼唱音符的听觉标准:哼唱音符是哼唱旋律的基本组成单位,将一段实际的哼唱片段视为由一个听觉可辨识的听觉成分序列所组成,每个听觉成分在听觉上可呈现为音高波动相对稳定的稳定音,或为具有较大音高上下波动性的颤音,或为音高沿单一方向变动的滑音,或为以气流开始的气音,以及换气或停顿等等不同的声学特性;在听觉成分序列上判定某一听觉成分子串能否可认定为一个哼唱音符,并由此规范各种哼唱音符的听觉标准;
3)估算哼唱音符切割与音符音高:通过构造ATN网络,在一个听觉成分序列上识别音高波动范围在半音甚至全音音程内变化且由不同听觉成分构成的哼唱音符从而实现哼唱音符的自动切割,同时通过观察与比较由听觉确认的各种不同类型哼唱音符中各种听觉成分信号帧基频与实际音高听觉的关系,建立各种哼唱音符的音高估算模型,估算音符音高;
4)估算基于哼唱旋律调性分析的期望哼唱旋律:先通过相邻音程分析推导第j+1个哼唱音符的音级,当相邻音程最小取整误差达到阈值0.75时,使用间邻音程分析并优先匹配第一候选音级,同时允许匹配至多一个非调性音级,即算法所输出的音级序列中允许出现至多一种非调性音级,该非调性音级理解为实际哼唱的一个走音音符,或为在自然调式体系下的一个临时变化音级;算法在使用第j-1个哼唱音符的音级通过间邻音程分析推导第j+1个哼唱音符的音级时,要求第j-1个哼唱音符的音级必须是通过唯一的第1候选推导出来的结果,并以此作为使用间邻音程分析的条件;任意二个相邻音符或间邻音符的估算音程不一定正好是整数,每当算法根据二个相邻音符或间邻音符从当前音符的音级推算下一个音符音级时,产生取整误差,算法会累积这些取整误差,并按累积的取整误差由小到大的次序排列输出解的优劣,累积取整误差最小的解为最优解;
5)建立系统性能评估方法:任意实际哼唱均具有二种旋律,即实际哼唱旋律与期望哼唱旋律,将所述期望哼唱旋律作为哼唱旋律的正确旋律,通过比较音符“绝对音高”及“调性音级”的主观听觉判定与系统客观估算结果的差异,评估系统识谱能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510743017.0A CN105244021B (zh) | 2015-11-04 | 2015-11-04 | 哼唱旋律到midi旋律的转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510743017.0A CN105244021B (zh) | 2015-11-04 | 2015-11-04 | 哼唱旋律到midi旋律的转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105244021A CN105244021A (zh) | 2016-01-13 |
CN105244021B true CN105244021B (zh) | 2019-02-12 |
Family
ID=55041643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510743017.0A Expired - Fee Related CN105244021B (zh) | 2015-11-04 | 2015-11-04 | 哼唱旋律到midi旋律的转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105244021B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825868B (zh) * | 2016-05-30 | 2019-11-12 | 福州大学 | 一种演唱者有效音域的提取方法 |
CN106205571A (zh) * | 2016-06-24 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 一种歌声语音的处理方法和装置 |
CN112382257B (zh) * | 2020-11-03 | 2023-11-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频处理方法、装置、设备及介质 |
CN115116472A (zh) * | 2021-03-23 | 2022-09-27 | 北京达佳互联信息技术有限公司 | 音频识别方法、装置、设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1737798A (zh) * | 2005-09-08 | 2006-02-22 | 上海交通大学 | 基于特征音符的音乐旋律分段自动标注方法 |
CN1737797A (zh) * | 2005-09-08 | 2006-02-22 | 上海交通大学 | 基于内容的数字音乐检索旋律特征数据库及生成系统 |
CN1737796A (zh) * | 2005-09-08 | 2006-02-22 | 上海交通大学 | 数字音乐旋律的跨越式高速匹配方法 |
CN1940926A (zh) * | 2006-03-15 | 2007-04-04 | 中国人民大学 | 一种基于哼唱的音乐数据库高效查询方法 |
CN1953046A (zh) * | 2006-09-26 | 2007-04-25 | 中山大学 | 一种基于哼唱的乐曲自动选择装置和方法 |
CN101203904A (zh) * | 2005-04-18 | 2008-06-18 | Lg电子株式会社 | 音乐谱写设备的操作方法 |
CN101271457A (zh) * | 2007-03-21 | 2008-09-24 | 中国科学院自动化研究所 | 一种基于旋律的音乐检索方法及装置 |
CN102568457A (zh) * | 2011-12-23 | 2012-07-11 | 深圳市万兴软件有限公司 | 一种基于哼唱输入的乐曲合成方法及装置 |
CN102568456A (zh) * | 2011-12-23 | 2012-07-11 | 深圳市万兴软件有限公司 | 一种基于哼唱输入的记谱方法及装置 |
CN103366784A (zh) * | 2013-07-16 | 2013-10-23 | 湖南大学 | 具有语音控制和哼唱检索功能的多媒体播放方法及装置 |
CN203522960U (zh) * | 2013-07-16 | 2014-04-02 | 湖南大学 | 具有语音控制和哼唱检索功能的多媒体播放装置 |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及系统 |
CN103824565A (zh) * | 2014-02-26 | 2014-05-28 | 曾新 | 一种基于音符和时值建模的哼唱识谱方法及系统 |
CN104978962A (zh) * | 2014-04-14 | 2015-10-14 | 安徽科大讯飞信息科技股份有限公司 | 哼唱检索方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834642B (zh) * | 2014-02-11 | 2019-06-18 | 北京三星通信技术研究有限公司 | 改变音乐演绎风格的方法、装置及设备 |
-
2015
- 2015-11-04 CN CN201510743017.0A patent/CN105244021B/zh not_active Expired - Fee Related
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101203904A (zh) * | 2005-04-18 | 2008-06-18 | Lg电子株式会社 | 音乐谱写设备的操作方法 |
CN1737798A (zh) * | 2005-09-08 | 2006-02-22 | 上海交通大学 | 基于特征音符的音乐旋律分段自动标注方法 |
CN1737797A (zh) * | 2005-09-08 | 2006-02-22 | 上海交通大学 | 基于内容的数字音乐检索旋律特征数据库及生成系统 |
CN1737796A (zh) * | 2005-09-08 | 2006-02-22 | 上海交通大学 | 数字音乐旋律的跨越式高速匹配方法 |
CN1940926A (zh) * | 2006-03-15 | 2007-04-04 | 中国人民大学 | 一种基于哼唱的音乐数据库高效查询方法 |
CN1953046A (zh) * | 2006-09-26 | 2007-04-25 | 中山大学 | 一种基于哼唱的乐曲自动选择装置和方法 |
CN101271457A (zh) * | 2007-03-21 | 2008-09-24 | 中国科学院自动化研究所 | 一种基于旋律的音乐检索方法及装置 |
CN102568457A (zh) * | 2011-12-23 | 2012-07-11 | 深圳市万兴软件有限公司 | 一种基于哼唱输入的乐曲合成方法及装置 |
CN102568456A (zh) * | 2011-12-23 | 2012-07-11 | 深圳市万兴软件有限公司 | 一种基于哼唱输入的记谱方法及装置 |
CN103366784A (zh) * | 2013-07-16 | 2013-10-23 | 湖南大学 | 具有语音控制和哼唱检索功能的多媒体播放方法及装置 |
CN203522960U (zh) * | 2013-07-16 | 2014-04-02 | 湖南大学 | 具有语音控制和哼唱检索功能的多媒体播放装置 |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及系统 |
CN103824565A (zh) * | 2014-02-26 | 2014-05-28 | 曾新 | 一种基于音符和时值建模的哼唱识谱方法及系统 |
CN104978962A (zh) * | 2014-04-14 | 2015-10-14 | 安徽科大讯飞信息科技股份有限公司 | 哼唱检索方法及系统 |
Non-Patent Citations (4)
Title |
---|
"A fundamental frequency estimator for speech and music";Alain de Cheveigne ET AL;《Acoustical Society of America》;20020430;第111卷(第4期);全文 |
"A Pitch Detection Method on Harmonic-Tone Theory and Variable Sampling Rate Technique";Pan zisheng & Feng Yin;《2014 International Conference onengineering Technology,Engineering Education and Engineering Management》;20141215;全文 |
"Automatic composition system with meta-structure of melodic piece";Feng Yin;《Journal of Computational Information Systems》;20150215;第11卷(第4期);全文 |
"一种新的哼唱音符音高划分方法";杨剑锋,冯寅;《电脑知识与技术》;20110718(第10期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105244021A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ryynänen et al. | Transcription of the Singing Melody in Polyphonic Music. | |
Lee et al. | Acoustic chord transcription and key extraction from audio using key-dependent HMMs trained on synthesized audio | |
Li et al. | Separation of singing voice from music accompaniment for monaural recordings | |
Tsai et al. | Automatic evaluation of karaoke singing based on pitch, volume, and rhythm features | |
Rao et al. | Vocal melody extraction in the presence of pitched accompaniment in polyphonic music | |
Gupta et al. | Perceptual evaluation of singing quality | |
Kroher et al. | Automatic transcription of flamenco singing from polyphonic music recordings | |
Bosch et al. | Evaluation and combination of pitch estimation methods for melody extraction in symphonic classical music | |
Molina et al. | Evaluation framework for automatic singing transcription | |
Lehner et al. | Online, loudness-invariant vocal detection in mixed music signals | |
Mion et al. | Score-independent audio features for description of music expression | |
Clarisse et al. | An Auditory Model Based Transcriber of Singing Sequences. | |
Molina et al. | SiPTH: Singing transcription based on hysteresis defined on the pitch-time curve | |
CN105244021B (zh) | 哼唱旋律到midi旋律的转换方法 | |
Bittner et al. | Multitask learning for fundamental frequency estimation in music | |
Bozkurt et al. | A dataset and baseline system for singing voice assessment | |
Zhang et al. | Melody extraction from polyphonic music using particle filter and dynamic programming | |
Abeßer et al. | Score-informed analysis of tuning, intonation, pitch modulation, and dynamics in jazz solos | |
Toh et al. | Multiple-Feature Fusion Based Onset Detection for Solo Singing Voice. | |
Gupta et al. | Automatic leaderboard: Evaluation of singing quality without a standard reference | |
Lerch | Software-based extraction of objective parameters from music performances | |
Wong et al. | Automatic lyrics alignment for Cantonese popular music | |
Stark | Musicians and machines: Bridging the semantic gap in live performance | |
Li et al. | An approach to score following for piano performances with the sustained effect | |
Tsai et al. | Automatic Singing Performance Evaluation Using Accompanied Vocals as Reference Bases. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190212 Termination date: 20211104 |
|
CF01 | Termination of patent right due to non-payment of annual fee |