一種樂(lè)音音符識(shí)別方法
【專(zhuān)利摘要】本發(fā)明提供樂(lè)音音符識(shí)別方法,用以解決現(xiàn)有音符識(shí)別中低頻基音識(shí)別困難、計(jì)算復(fù)雜度較高等問(wèn)題。本發(fā)明樂(lè)音音符識(shí)別方法主要步驟為:計(jì)算音頻參數(shù)、靜音判斷、篩選局部極大點(diǎn)、統(tǒng)計(jì)頻率差模式、確定音符、修正音符。本發(fā)明方法提高了低頻段音符識(shí)別的性能,增強(qiáng)了在基音消失、噪聲干擾等非理想情況下識(shí)別的魯棒性(robust),且算法簡(jiǎn)單,處理快速,適合于設(shè)備處理能力不高且有實(shí)時(shí)要求的樂(lè)音識(shí)別應(yīng)用,如在手機(jī)、掌上電腦等移動(dòng)終端上實(shí)現(xiàn)對(duì)演奏樂(lè)曲的現(xiàn)場(chǎng)評(píng)分。
【專(zhuān)利說(shuō)明】一種樂(lè)音音符識(shí)別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)字音頻處理技術(shù),涉及樂(lè)音識(shí)別方法,具體為一種樂(lè)音音符識(shí)別方 法。
【背景技術(shù)】
[0002] 樂(lè)音識(shí)別技術(shù)在音樂(lè)作品數(shù)字化、音樂(lè)創(chuàng)作及音樂(lè)數(shù)據(jù)庫(kù)檢索領(lǐng)域中有廣闊的應(yīng) 用前景。樂(lè)音識(shí)別的關(guān)鍵在于單音符的識(shí)別,該識(shí)別通常通過(guò)估計(jì)樂(lè)音的基音頻率(簡(jiǎn)稱(chēng) 基頻)來(lái)實(shí)現(xiàn)?;纛l率是音頻的一種基本特征,它為發(fā)音體整體在一定時(shí)間內(nèi)的振動(dòng)次 數(shù),頻率越高則音調(diào)越高?;纛l率直接決定了樂(lè)音的音符和旋律。
[0003] 現(xiàn)有的基頻估計(jì)方法大體可分為有參數(shù)和無(wú)參數(shù)兩大類(lèi):
[0004] 有參數(shù)的基頻估計(jì)方法利用音頻信號(hào)及其特征來(lái)訓(xùn)練特定的數(shù)學(xué)模型,如語(yǔ)音 參數(shù)模型、高斯混合模型、隱馬爾科夫模型、神經(jīng)網(wǎng)絡(luò)模型等等,然后根據(jù)最小均方誤差 (MMSE)或最大似然(ML)準(zhǔn)則來(lái)計(jì)算模型參數(shù),從而估計(jì)出基頻。該類(lèi)方法一般涉及復(fù)雜的 訓(xùn)練過(guò)程,計(jì)算量較大。
[0005] 無(wú)參數(shù)的基頻估計(jì)方法不需要建立明確的數(shù)學(xué)模型,而是直接根據(jù)信號(hào)在時(shí)域或 頻域上的特征來(lái)估計(jì)基頻。通常該類(lèi)方法的計(jì)算復(fù)雜度不高,適合于有實(shí)時(shí)要求的應(yīng)用。在 時(shí)域方法中,RAPT和YIN是兩種應(yīng)用比較廣泛的算法。RAPT計(jì)算信號(hào)自相關(guān)函數(shù),提取候 選的基音頻率,再使用動(dòng)態(tài)規(guī)劃從候選頻率中選取全局最優(yōu)的基頻序列;而YIN算法則是 使用平方差函數(shù)提取候選的基頻。在頻域方法中,典型的方法是利用基波(或基音)和其 整數(shù)倍諧波(或泛音)的能量關(guān)系來(lái)估計(jì)基頻,如梳狀濾波方法設(shè)計(jì)通帶中心頻率與泛音 序列相匹配的濾波器;諧波疊加(SHS)方法則計(jì)算各種可能的基音及其泛音的能量之和, 選擇能量和最大的頻率作為基音頻率。
[0006] 雖然音符識(shí)別技術(shù)有了質(zhì)的發(fā)展,但由于音樂(lè)信號(hào)本身的復(fù)雜性和多變性,以及 各種應(yīng)用環(huán)境因素的影響,現(xiàn)有方法的性能并不太理想,音符識(shí)別還存在如下幾個(gè)問(wèn)題: (1)由于基音的能量可以比其泛音的能量低,甚至很低以至出現(xiàn)"基音消失"的現(xiàn)象,這使得 利用頻譜能量來(lái)尋找基音的方法失效;(2)低頻段的基頻估計(jì)是一直存在的難點(diǎn)問(wèn)題,這 主要由于低頻段的基音間隔小,要求算法具有很高的頻率分辨率;另外,基音消失也時(shí)常發(fā) 生在低音部分。在實(shí)際的應(yīng)用中,如對(duì)現(xiàn)場(chǎng)演奏的錄制音頻進(jìn)行識(shí)別時(shí),人為敲擊樂(lè)器帶來(lái) 的干擾聲、背景噪聲等因素都會(huì)使低頻基音的識(shí)別變得更加困難;(3)識(shí)別性能好的算法 往往計(jì)算復(fù)雜度高,不能滿(mǎn)足實(shí)時(shí)性的要求。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的在于針對(duì)【背景技術(shù)】存在的問(wèn)題,提供一種可靠且快速的樂(lè)音音符識(shí) 別方法。本發(fā)明的技術(shù)方案是:一種樂(lè)音音符識(shí)別方法,包括如下步驟:
[0008] 將音頻數(shù)據(jù)按固定長(zhǎng)度劃分為各音頻幀;
[0009] S1.計(jì)算音頻參數(shù):
[0010] S11.對(duì)各音頻幀數(shù)據(jù)加窗,進(jìn)行短時(shí)傅里葉變換,得到音頻幀的頻譜;
[0011] S12.搜尋頻譜幅度的最大值A(chǔ)max及其對(duì)應(yīng)的最大頻率fmax,將fmax映射為標(biāo)準(zhǔn) MIDI (Musical Instrument Digital Interface)音符 Nmax ;
[0012] S2.靜音判斷:將Amax與設(shè)定的幅度門(mén)限進(jìn)行比較,若小于該門(mén)限,則判定當(dāng)前幀 為靜音,不作音符識(shí)別,跳至S1處理下一音頻幀;
[0013] S3.篩選局部極大點(diǎn):
[0014] S31.搜尋音頻幀頻譜幅度的局部極大點(diǎn)作為初級(jí)局部極大點(diǎn);
[0015] S32.將初級(jí)局部極大點(diǎn)對(duì)應(yīng)的頻率值映射為標(biāo)準(zhǔn)MIDI音符,將映射為相同音符 的頻率點(diǎn)作為一組,對(duì)每個(gè)頻率點(diǎn)組,選出幅度值最大的頻率點(diǎn)作為篩選出的二級(jí)局部極 大點(diǎn);
[0016] S4.統(tǒng)計(jì)頻率差模式:
[0017] S41.初始化幅度參考值:R = Amax ;
[0018] S42.掃描二級(jí)局部極大點(diǎn),保留幅度值大于R的頻率點(diǎn);
[0019] S43.統(tǒng)計(jì)保留下來(lái)的頻率點(diǎn)的數(shù)目mf,若mf大于設(shè)定閾值Tnum(20彡T num彡40), 則結(jié)束整個(gè)掃描,跳至S5 ;
[0020] S44.計(jì)算保留下來(lái)的相鄰頻率點(diǎn)間的頻率差;
[0021] S45.對(duì)頻率差逐個(gè)進(jìn)行考察,對(duì)滿(mǎn)足條件的頻率差的出現(xiàn)次數(shù)進(jìn)行累加統(tǒng)計(jì):若 頻率差f對(duì)應(yīng)的MIDI音符為Nmax,則將f出現(xiàn)的次數(shù)累加到f所對(duì)應(yīng)的計(jì)數(shù)器中;
[0022] 否則,進(jìn)行以下統(tǒng)計(jì):若f連續(xù)出現(xiàn)η次(η > 2),則將n-1累加到f所對(duì)應(yīng)的計(jì) 數(shù)器中,在統(tǒng)計(jì)連續(xù)出現(xiàn)次數(shù)時(shí),f的后續(xù)頻率若為f的2倍頻,則視為f進(jìn)行統(tǒng)計(jì);
[0023] S46.更新幅度參考值:R = R- η ·Α_,其中0. 005彡η彡0. 02,跳至S42,開(kāi)始下 一次掃描;
[0024] S5.確定音符:
[0025] 將累加值大于設(shè)定閾值Ta。。(4彡Ta。。彡6)的所有頻率差映射為MIDI音符,將其組 成當(dāng)前音頻幀的"疑似音符集";判斷"疑似音符集"是否為空,若為空,則設(shè)置當(dāng)前音頻幀的 音符為Nmax ;否則,遍歷"疑似音符集",將累加值最大的頻率差所對(duì)應(yīng)的MIDI音符作為當(dāng)前 音頻幀的音符;
[0026] S6.修正音符:對(duì)樂(lè)音的過(guò)渡帶的音頻幀進(jìn)行音符修正;
[0027] S61.確定各音符的起始幀
[0028] S611.設(shè)置各靜音幀的音頻能量為0,計(jì)算各非靜音幀的能量Eji為幀編號(hào))和 其最大值Emax,并將Ei進(jìn)行如下歸一化 :
[0029]
【權(quán)利要求】
1. 一種樂(lè)音音符識(shí)別方法,包括如下步驟: 將音頻數(shù)據(jù)按固定長(zhǎng)度劃分為各音頻幀;
51. 計(jì)算音頻參數(shù):
511. 對(duì)音頻幀數(shù)據(jù)加窗,進(jìn)行短時(shí)傅里葉變換,得到音頻幀的頻譜;
512. 搜尋頻譜幅度的最大值A(chǔ)max及其對(duì)應(yīng)的最大頻率fmax,將fmax映射為標(biāo)準(zhǔn)MIDI音 符N-;
52. 靜音判斷:將Amax與設(shè)定的幅度門(mén)限進(jìn)行比較,若小于該門(mén)限,則判定當(dāng)前幀為靜 音,不作音符識(shí)別,跳至S1處理下一音頻幀;
53. 篩選局部極大點(diǎn):
531. 搜尋音頻幀頻譜幅度的局部極大點(diǎn)作為初級(jí)局部極大點(diǎn);
532. 將初級(jí)局部極大點(diǎn)對(duì)應(yīng)的頻率值映射為標(biāo)準(zhǔn)MIDI音符,將映射為相同音符的 頻率點(diǎn)作為一組,對(duì)每個(gè)頻率點(diǎn)組,選出幅度值最大的頻率點(diǎn)作為篩選出的二級(jí)局部極大 占.
54. 統(tǒng)計(jì)頻率差模式:
541. 初始化幅度參考值:R = Amax ;
542. 掃描二級(jí)局部極大點(diǎn),保留幅度值大于R的頻率點(diǎn);
543. 統(tǒng)計(jì)保留下來(lái)的頻率點(diǎn)的數(shù)目mf,若mf大于設(shè)定的閾值!;》,則結(jié)束整個(gè)掃描,跳 至S5 ;
544. 計(jì)算保留下來(lái)的相鄰頻率點(diǎn)間的頻率差;
545. 對(duì)頻率差逐個(gè)進(jìn)行考察,對(duì)滿(mǎn)足條件的頻率差的出現(xiàn)次數(shù)進(jìn)行累加統(tǒng)計(jì):若頻率 差f對(duì)應(yīng)的MIDI音符為Nmax,則將f出現(xiàn)的次數(shù)累加到f所對(duì)應(yīng)的計(jì)數(shù)器中; 否則,進(jìn)行以下統(tǒng)計(jì):若f連續(xù)出現(xiàn)η次且η > 2,則將n-Ι累加到f所對(duì)應(yīng)的計(jì)數(shù)器 中,在統(tǒng)計(jì)連續(xù)出現(xiàn)次數(shù)時(shí),f的后續(xù)頻率若為f的2倍頻,則視為f進(jìn)行統(tǒng)計(jì);
546. 更新幅度參考值:R = R- η ·Α_,其中0. 005彡η彡0. 02,跳至S42,開(kāi)始下一次 掃描;
55. 確定音符: 將次數(shù)累加值大于設(shè)定閾值Ta。。的所有頻率差映射為MIDI音符,將其組成當(dāng)前音頻幀 的"疑似音符集";判斷"疑似音符集"是否為空,若為空,則設(shè)置當(dāng)前音頻幀的音符SNmax; 否則,遍歷"疑似音符集",將次數(shù)累加值最大的頻率差所對(duì)應(yīng)的MIDI音符作為當(dāng)前音頻幀 的音符;
56. 修正音符:對(duì)樂(lè)音的過(guò)渡帶的音頻幀進(jìn)行音符修正; S61.確定各音符的起始幀 5611. 設(shè)置各靜音幀的音頻能量為0,計(jì)算各非靜音幀的能量Ei和其最大值Emax,其中 i為幀編號(hào),并將Ei進(jìn)行如下歸一化:
(1) 計(jì)算歸一化后非靜音幀的整體平均能量豆; 5612. 計(jì)算所有音頻幀能量的局部極大點(diǎn)和局部極小點(diǎn); S613.計(jì)算每個(gè)局部極小點(diǎn)與其相鄰的局部極大點(diǎn)的能量差,選擇能量差大于E/2的 局部極小點(diǎn),將其對(duì)應(yīng)音頻巾貞的下一巾貞作為一新音符的起始巾貞; S62.對(duì)音符起始幀及其前后兩音頻幀進(jìn)行音符修正: 5621. 對(duì)當(dāng)前起始幀與前一起始幀之間的所有音頻幀,找到其"疑似音符集"中出現(xiàn)次 數(shù)最多的音符,將該音符作為當(dāng)前起始幀前一音頻幀的音符值; 5622. 對(duì)當(dāng)前起始幀與后一起始幀之間的所有音頻幀,找到其"疑似音符集"中出現(xiàn)次 數(shù)最多的音符,將該音符作為當(dāng)前起始幀及其后一音頻幀的音符值。
2. 按權(quán)利要求1所述樂(lè)音音符識(shí)別方法,其特征在于,所述閾值Tnum取值范圍為: 20 < Tnum < 40。
3. 按權(quán)利要求1所述樂(lè)音音符識(shí)別方法,其特征在于,所述閾值Ta。。取值范圍為: 4. Tacc ^ 6〇
【文檔編號(hào)】G10L25/18GK104143324SQ201410334329
【公開(kāi)日】2014年11月12日 申請(qǐng)日期:2014年7月14日 優(yōu)先權(quán)日:2014年7月14日
【發(fā)明者】甘濤, 何艷敏, 黃曉革, 陳新宇, 周南 申請(qǐng)人:電子科技大學(xué), 北京英夫美迪數(shù)字技術(shù)有限公司