欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于雙峰值檢測(cè)的音符切分方法及其裝置的制作方法

文檔序號(hào):2829522閱讀:350來源:國(guó)知局
專利名稱:一種基于雙峰值檢測(cè)的音符切分方法及其裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及音高跟蹤(Pitch Tracking)技術(shù),尤其涉及在一種音高跟蹤和播放系統(tǒng)中進(jìn)行音符切分與量化的方法背景技術(shù)好的音樂不僅可以培育高雅的審美情趣,而且也是緩解壓力的一種非常積極的方式,在現(xiàn)代社會(huì)中有著重要作用。隨著數(shù)字音效處理技術(shù)的發(fā)展,音樂創(chuàng)作和保存方式也不斷發(fā)展。通??梢月牭饺藗儾蛔杂X的哼唱,其實(shí)哼唱是一種最自然和最直接的方式去進(jìn)行音樂創(chuàng)作或音樂查詢,這需要將哼唱的信號(hào)改編成音樂樂譜并通過一個(gè)簡(jiǎn)易裝置進(jìn)行回放。在一般的哼唱系統(tǒng)中,包括哼唱識(shí)別和編曲兩大部分,在過去一段時(shí)間里主要力量集中在提高哼唱識(shí)別的準(zhǔn)確度上。
哼唱識(shí)別,即捕捉音高信息和節(jié)奏變化,離不開音高跟蹤技術(shù)。音高也可以稱作音調(diào)或基音頻率,表征發(fā)濁音時(shí)聲帶振動(dòng)的頻率。濁音指由聲帶準(zhǔn)周期振動(dòng)發(fā)出的聲音,可以獲得相應(yīng)的音高;而清音則指聲帶沒有振動(dòng)發(fā)出的聲音,沒有音高參數(shù)。
現(xiàn)有的音高跟蹤技術(shù)在時(shí)域和頻域利用統(tǒng)計(jì)和非統(tǒng)計(jì)信號(hào)處理等多種方法實(shí)現(xiàn),但是仍存在以下缺點(diǎn)1)音高跟蹤方法結(jié)果多以圖表、文本等形式表示,沒有合適的裝置將跟蹤結(jié)果轉(zhuǎn)換成聲音播放;2)音高跟蹤裝置的音符(Note,如簡(jiǎn)譜中的“1,2,3,4,5,6,7--do,re,mi,fa,so,la,xi”)切分不夠準(zhǔn)確,音高識(shí)別不夠準(zhǔn)確;3)音高跟蹤算法過于復(fù)雜,所占用系統(tǒng)內(nèi)存較大,往往需要較大的哼唱數(shù)據(jù)庫(kù),并不適用于嵌入式系統(tǒng)。
公開日為2005年4月20日的中國(guó)專利申請(qǐng)CN200410049328公開了一種哼唱編曲系統(tǒng)及其方法。主要指將輸入的哼唱信號(hào)編寫為標(biāo)準(zhǔn)樂譜再次呈現(xiàn)出來。但該專利存在以下缺點(diǎn)1)只是將哼唱信號(hào)編寫為標(biāo)準(zhǔn)樂譜,并不能進(jìn)行聲音播放;2)音高跟蹤裝置的音符切分不夠準(zhǔn)確;3)音符切分與識(shí)別算法為統(tǒng)計(jì)式馬可夫模型,且需要數(shù)據(jù)庫(kù)參數(shù)匹配,算法比較復(fù)雜,占用資源高,不能應(yīng)用于嵌入式系統(tǒng),使得整個(gè)系統(tǒng)應(yīng)用受限。
公告日為1999年11月16日的美國(guó)專利US5986199公開了一種音樂數(shù)據(jù)聲音輸入設(shè)備,一種體現(xiàn)方式為預(yù)置音符從聲音輸入信號(hào)中識(shí)別和選擇,同時(shí)輔助的音符信息(包括音符和音符持續(xù)長(zhǎng)度等參數(shù))也從聲音輸入信號(hào)中提取,輔助的音符信息用于生成綜合引擎參數(shù),該參數(shù)修改預(yù)置音符,提供合成音符輸出。另一種體現(xiàn)方式為音符切分的特征向量用于選擇預(yù)置文件,該文件系指一種來自樂器預(yù)置檔案庫(kù)的特殊樂器文件。根據(jù)音符切分,從樂器預(yù)置文件中選擇預(yù)置音符,生成的音符輸出與指定的樂器或樂器組相對(duì)應(yīng)。但該專利采用簡(jiǎn)單峰值檢測(cè)算法,音符切分不準(zhǔn)確。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于提供一種音符切分方法及其裝置,可以更準(zhǔn)確地完成音符切分。
為了解決上述技術(shù)問題,本發(fā)明提供了一種音符切分方法,先對(duì)輸入聲音做采樣和分幀處理,并檢測(cè)出語音幀序列中各個(gè)語音幀的能量,對(duì)能量大于臨界值的連續(xù)語音幀構(gòu)成的每一濁音段,執(zhí)行以下步驟(a)以第一個(gè)語音幀為該濁音段的起始位置,如檢測(cè)到波峰,將第一個(gè)檢測(cè)到的波峰作為第一波峰,記錄該濁音段起始位置及第一波峰的包含谷值位置的參數(shù),執(zhí)行下一步,如檢測(cè)不到波峰,結(jié)束;(b)繼續(xù)檢測(cè),如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,則輸出濁音段起始位置,執(zhí)行步驟(c),否則輸出該濁音段起始和結(jié)束位置,執(zhí)行步驟(f);
(c)將檢測(cè)出的下一波峰作為第二波峰,記錄其包含谷值位置的參數(shù),判斷該第一波峰和第二波峰是否滿足雙峰值檢測(cè)的條件,如果是,執(zhí)行步驟(d),否則執(zhí)行步驟(e);(d)繼續(xù)檢測(cè),如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,輸出第一波峰谷值位置,并用第二波峰的參數(shù)替換掉保存的第一波峰的相應(yīng)參數(shù),返回步驟(c),否則,輸出第一波峰谷值位置和濁音段結(jié)束位置,執(zhí)行步驟(f);(e)繼續(xù)檢測(cè),如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù),返回步驟(c),否則,輸出該濁音段結(jié)束位置,執(zhí)行步驟(f);(f)以輸出的兩個(gè)相鄰位置為一個(gè)音符的起始和結(jié)束位置,完成對(duì)該濁音段的音符切分。
進(jìn)一步地,上述音符切分方法還可具有以下特點(diǎn)所述步驟(c)中的雙峰值檢測(cè)條件是指第二波峰峰值與第一波峰谷值之差和第一波峰的峰值與谷值之差的比值大于第一閾值,此時(shí)記錄的第一波峰和第二波峰的參數(shù)還包括峰值和谷值,和/或,該雙峰值檢測(cè)條件是指第一波峰和第二波峰的峰值位置之間的語音幀個(gè)數(shù)大于第二閾值,此時(shí)記錄的第一波峰和第二波峰的參數(shù)還包括峰值位置。
進(jìn)一步地,上述音符切分方法還可具有以下特點(diǎn)在檢測(cè)出語音幀序列中各個(gè)語音幀的能量后,先依次輸入一個(gè)一階低通濾波器進(jìn)行濾波,再利用該低通濾波器輸出的能量值進(jìn)行音符切分。
進(jìn)一步地,上述音符切分方法還可具有以下特點(diǎn)所述能量的臨界值為26dB~30dB。
進(jìn)一步地,上述音符切分方法還可具有以下特點(diǎn)所述步驟(a)~(e)進(jìn)行波峰檢測(cè)時(shí),是逐一比較相鄰兩個(gè)語音幀的能量大小,統(tǒng)計(jì)從濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀開始的能量連續(xù)上升段和隨后的能量連續(xù)下降段所涉及的能量大于臨界值的語音幀的個(gè)數(shù),如該個(gè)數(shù)大于第三閾值,則判定這些語音幀對(duì)應(yīng)的一段能量曲線構(gòu)成一個(gè)波峰,該段曲線上最大的能量值為該波峰的峰值,該段曲線上最后一個(gè)語音幀的能量值為該波峰的谷值,該波峰的峰值和谷值位置分別為該峰值和該谷值對(duì)應(yīng)的語音幀,該濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀為該波峰的起始位置。
進(jìn)一步地,上述音符切分方法還可具有以下特點(diǎn)所述第一閾值為0.1825~0.3125,所述第二閾值和第三閾值為5~9。
進(jìn)一步地,上述音符切分方法還可具有以下特點(diǎn)所述步驟(c)中還記錄第二個(gè)波峰的起始位置,所述步驟(d)先用第二波峰的起始位置替換掉第一波峰的谷值位置,再輸出替換后的該第一波峰的谷值位置。
進(jìn)一步地,上述音符切分方法還可具有以下特點(diǎn)所述步驟(e)中,根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù)時(shí),是以第一波峰峰值和第二波峰峰值中的大值替換掉第一波峰的峰值,以該大的峰值后的一個(gè)谷值或兩個(gè)谷值中的小值替換掉第一波峰的谷值,第一波峰的峰值位置和谷值位置為新的峰值和谷值對(duì)應(yīng)的語音幀。
本發(fā)明提供的音符切分裝置包括波峰檢測(cè)模塊、主控制模塊、音符切分模塊、存儲(chǔ)模塊和雙峰值判定模塊,其中所述波峰檢測(cè)模塊,用于統(tǒng)計(jì)從濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀開始的能量連續(xù)上升段和隨后的能量連續(xù)下降段所涉及的能量大于臨界值的語音幀的個(gè)數(shù),如該個(gè)數(shù)大于第三閾值,則判定這些語音幀對(duì)應(yīng)的一段能量曲線構(gòu)成一個(gè)波峰,該段曲線上最大的能量值為該波峰的峰值,該段曲線上最后一個(gè)語音幀的能量值為該波峰的谷值,該波峰的峰值和谷值位置分別為該峰值和該谷值對(duì)應(yīng)的語音幀;所述存儲(chǔ)模塊用于保存波峰的參數(shù)以及濁音段的起始和結(jié)束位置;所述雙峰值判定模塊用于判斷第一波峰和第二波峰是否滿足雙峰值檢測(cè)的條件,如果是,返回成功的判定結(jié)果,否則返回失敗的判定結(jié)果;所述主控制模塊用于對(duì)能量大于臨界值的連續(xù)語音幀構(gòu)成的每一濁音段進(jìn)行音符切分,進(jìn)一步包括第一控制單元、第二控制單元、第三控制單元、第四控制單元和第五控制單元,其中第一控制單元,用于從濁音段的起始位置開始,調(diào)用波峰檢測(cè)模塊,如檢測(cè)不到波峰,則結(jié)束該濁音段的處理,否則以檢測(cè)到的第一個(gè)波峰為第一波峰,將該濁音段起始位置及第一波峰的包含谷值位置的參數(shù)保存到所述存儲(chǔ)模塊,觸發(fā)第二控制單元繼續(xù)處理;第二控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,則將濁音段起始位置輸出到音符切分模塊,觸發(fā)第三控制單元繼續(xù)處理,否則,將該濁音段起始和結(jié)束位置輸出到音符切分模塊;第三控制單元,將檢測(cè)出的下一波峰作為第二波峰,記錄其包含谷值位置的參數(shù),調(diào)用雙峰值判定模塊,如果返回的判定結(jié)果為成功,觸發(fā)第四控制單元繼續(xù)處理,否則觸發(fā)第五控制單元繼續(xù)處理;第四控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,將第一波峰谷值位置輸出到音符切分模塊,并用第二波峰的參數(shù)替換掉保存的第一波峰的相應(yīng)參數(shù),觸發(fā)第三控制單元繼續(xù)處理;否則將第一波峰谷值位置和濁音段結(jié)束位置輸出到音符切分模塊;第五控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù),觸發(fā)第三控制單元繼續(xù)處理;否則將濁音段結(jié)束位置輸出到音符切分模塊;所述音符切分模塊用于以每一濁音段處理過程中輸出的兩個(gè)相鄰位置為一個(gè)音符的起始和結(jié)束位置,完成對(duì)該濁音段的音符切分。
進(jìn)一步地,上述音符切分裝置還可具有以下特點(diǎn)所述雙峰值判定模塊判斷第一波峰和第二波峰是否滿足雙峰值檢測(cè)的條件時(shí),是判斷第二波峰峰值與第一波峰谷值之差和第一波峰的峰值與谷值之差的比值是否大于第一閾值,此時(shí)所述第一控制單元和第三控制單元分別記錄的第一波峰和第二波峰的參數(shù)還包括峰值和谷值;和/或,所述雙峰值判定模塊是判斷第一波峰和第二波峰的峰值位置之間的語音幀個(gè)數(shù)是否大于第二閾值,此時(shí),所述第一控制單元和第三控制單元分別記錄的第一波峰和第二波峰的參數(shù)還包括峰值位置。
進(jìn)一步地,上述音符切分裝置還可具有以下特點(diǎn)還包括一個(gè)一階低通濾波器,用于對(duì)檢測(cè)出的語音幀序列中各個(gè)語音幀的能量進(jìn)行濾波,所述波峰檢測(cè)模塊和主控制模塊基于該濾波后的語音幀能量進(jìn)行處理。
進(jìn)一步地,上述音符切分裝置還可具有以下特點(diǎn)所述第三控制單元還記錄第二個(gè)波峰的起始位置,所述第四控制單元先用第二波峰的起始位置替換掉第一波峰的谷值位置,再輸出替換后的該第一波峰的谷值位置。
進(jìn)一步地,上述音符切分裝置還可具有以下特點(diǎn)所述第五控制單元根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù)時(shí),是以第一波峰峰值和第二波峰峰值中的大值替換掉第一波峰的峰值,以該大的峰值后的一個(gè)谷值或兩個(gè)谷值中的小值替換掉第一波峰的谷值,第一波峰的峰值位置和谷值位置為新的峰值和谷值對(duì)應(yīng)的語音幀。
進(jìn)一步地,上述音符切分裝置還可具有以下特點(diǎn)所述第一閾值為0.1825~0.3125,所述第二閾值和第三閾值為5~9。
由上可知,本發(fā)明在音符切分的過程中,進(jìn)行抗干擾、有重點(diǎn)有層次的雙峰值檢測(cè)和引入了更有效的檢測(cè)參數(shù),提高了音符切分的準(zhǔn)確率,為下一步轉(zhuǎn)化為樂譜奠定了重要的基礎(chǔ)。本發(fā)明切分音符結(jié)果準(zhǔn)確,使用靈活,且操作簡(jiǎn)單。


圖1是本發(fā)明實(shí)施例音高跟蹤和播放系統(tǒng)的結(jié)構(gòu)框圖。
圖2是本發(fā)明實(shí)施例音高跟蹤和播放方法的整體流程圖。
圖3是作為示例的一個(gè)音高曲線的示意圖。
圖4是本發(fā)明實(shí)施例采用歸一化互相關(guān)函數(shù)的基音檢測(cè)算法的流程圖。
圖5是本發(fā)明實(shí)施例音符切分和轉(zhuǎn)成樂譜所用的能量和音高曲線圖。
圖6是本發(fā)明實(shí)施例音符切分的流程圖。
圖7是本發(fā)明實(shí)施例音符切分裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式
本發(fā)明應(yīng)用于PC機(jī)及嵌入式系統(tǒng),主要用于跟蹤人聲哼唱,例如用“啦”哼唱,也可用于某些電子樂器。系統(tǒng)輸入為人聲,輸出為Midi樂曲,Midi是Musical-instrument-digital-interface(樂器數(shù)字界面)的簡(jiǎn)稱,是一種記錄樂譜的文件格式。
如圖1所示,本實(shí)施例的音高跟蹤和播放系統(tǒng)包括以下模塊語音輸入處理模塊,用于接收輸入的聲音并對(duì)其做采樣和分幀處理,輸出到音高和能量檢測(cè)模塊。
音高和能量檢測(cè)模塊,用于計(jì)算出每一語音幀的音高和能量,得到輸入聲音的音高曲線和能量曲線,然后輸出到音符切分模塊。
音符切分模塊,用于根據(jù)能量檢測(cè)結(jié)果完成音符切分,輸出到樂譜轉(zhuǎn)換模塊。
樂譜轉(zhuǎn)換模塊,用于將完成切分的音符轉(zhuǎn)換成樂譜,輸出到語音合成模塊。
語音合成模塊,用于將轉(zhuǎn)換成的樂譜合成為MIDI文件并進(jìn)行播放。
如圖2所示,本實(shí)施例音高跟蹤和播放方法的整體流程包括以下步驟步驟10,對(duì)輸入聲音做采樣和分幀處理;可以通過硬件系統(tǒng)的麥克,以8KHz采樣率、16bit采集人聲哼唱作為輸入,也可提高采樣率到16KHz。通常,對(duì)語音的分析和處理是在短時(shí)性的基礎(chǔ)上,因此需要對(duì)輸入的聲音做分幀處理。本實(shí)施例對(duì)輸入的聲音(8KHz采樣率、16bits表示)進(jìn)行分幀(frames)時(shí),每一幀為20ms。
步驟20,音高和能量檢測(cè);音高也稱作基音頻率,在語音處理領(lǐng)域中音高檢測(cè)和估計(jì)是非常重要的一個(gè)問題。目前,音高檢測(cè)有很多非常成熟的算法實(shí)現(xiàn),主要分為時(shí)域、頻域以及其他流行方法。
語音信號(hào)的特征是隨時(shí)間變化的,只有在一短時(shí)間間隔內(nèi)保持相對(duì)平穩(wěn)。因此,需要計(jì)算出每一語音幀的音高和能量,得到輸入聲音的音高曲線和能量曲線。
步驟30,音符切分與轉(zhuǎn)成樂譜經(jīng)過音高檢測(cè)得到一個(gè)音高曲線,圖3是一個(gè)示例,表示了音高隨時(shí)間的變化,有的音符單獨(dú)表示,有的音符連在一起需要切分,音符切分需要結(jié)合音高和能量檢測(cè)結(jié)果方可完成。
音高曲線雖然看起來非常直觀,但是作為表征豐富的音符變化的參數(shù)仍然不足以使人有切身感受,本實(shí)施例的系統(tǒng)不僅能夠進(jìn)行音高檢測(cè)而且能夠把處理結(jié)果實(shí)時(shí)的播放出來,使人對(duì)自己的音符有了全方位的感受,從而拓寬了其應(yīng)用領(lǐng)域。例如可以作為有聲調(diào)語言的對(duì)比學(xué)習(xí),或通過哼唱檢索歌曲,或者智能電子玩具等,這就需要將音符切分結(jié)果轉(zhuǎn)換成樂譜播放。
步驟40,利用通常合成技術(shù),將轉(zhuǎn)換得到的樂譜合成為MIDI文件,并進(jìn)行播放。
對(duì)電子樂器的聲音也可按上述步驟同樣處理。
在上述步驟20中,本實(shí)施例的歸一化互相關(guān)函數(shù)(NCCF)的基音檢測(cè)算法和現(xiàn)有方法基本相同,區(qū)別點(diǎn)將在以下步驟中重點(diǎn)介紹,請(qǐng)參照?qǐng)D4,該基音檢測(cè)算法包括以下步驟步驟210,對(duì)分幀處理后的語音信號(hào)進(jìn)行預(yù)處理,包括去均值、1000Hz低通濾波處理;步驟220,逐幀進(jìn)行清濁音判斷將低通濾波后的語音能量與一個(gè)閾值進(jìn)行比較,如高于該閾值,則判斷為濁音,轉(zhuǎn)到步驟230,否則,執(zhí)行步驟270;步驟230,計(jì)算歸一化互相關(guān)函數(shù)通過以下公式計(jì)算出每幀延遲的濁音信號(hào)的歸一化互相關(guān)函數(shù)值ρ(t)
ρ(t)=Σn=1N-1s(n)s(n-t)Σn=1N-1s2(n)Σn=0N-1s2(n-t),t∈
]]>其中,s(n)表示語音信號(hào),N為信號(hào)幀長(zhǎng),一幀語音是20ms,經(jīng)過8kHz采樣,則N=160,t為時(shí)間延遲的樣點(diǎn),t在
范圍內(nèi)分為三個(gè)區(qū)域,在每個(gè)區(qū)域內(nèi)隔點(diǎn)計(jì)算ρ(t)值,并比較原始信號(hào)和它的延遲信號(hào)之間的相似(相關(guān))程度,得出一個(gè)最為相似的ρ(t)。三個(gè)區(qū)域共得到三個(gè)ρ(t)值、各自對(duì)應(yīng)的時(shí)間延遲的樣點(diǎn)以及對(duì)應(yīng)的延遲時(shí)間。
步驟240,后處理比較三個(gè)ρ(t)值,得到相關(guān)性最大的ρ(t)及對(duì)應(yīng)的最佳延遲T;步驟250,基音頻率搜索檢測(cè)相關(guān)性最大的ρ(t)所對(duì)應(yīng)的時(shí)間延遲的樣點(diǎn)t是否在[20,120]范圍內(nèi),如果在該范圍內(nèi),執(zhí)行步驟260,否則,執(zhí)行步驟270;步驟260,認(rèn)為該幀語音為濁音,輸出最佳延遲T,再根據(jù)時(shí)間與頻率的關(guān)系,由該T可以換算出該幀語音對(duì)應(yīng)的音高值。
步驟270,認(rèn)為該幀語音為清音,令音高為0,結(jié)束。
相應(yīng)地,可以將音高和能量檢測(cè)模塊劃分為預(yù)處理單元、歸一化互相關(guān)函數(shù)計(jì)算單元、后處理單元、基音頻率搜索單元和音高輸出單元,和現(xiàn)有的單元相比,有以下特點(diǎn)現(xiàn)有的預(yù)處理單元采用了5階橢圓低通濾波器和一個(gè)數(shù)值濾波器,本實(shí)施例將原有的5階橢圓低通濾波器改為Haar小波基的兩階低通濾波器,截止頻率設(shè)為1000Hz,并去除數(shù)值濾波器,從而大大減少了運(yùn)算復(fù)雜度。
互相關(guān)函數(shù)計(jì)算非常復(fù)雜,現(xiàn)有互相關(guān)函數(shù)計(jì)算單元通常是每一點(diǎn)都要計(jì)算一次相關(guān)函數(shù),而本實(shí)施例的該單元是隔點(diǎn)進(jìn)行相關(guān)運(yùn)算,降低了一半的運(yùn)算量。
現(xiàn)有的基音頻率搜索單元的搜索范圍為20-147,本實(shí)施例的該單元?jiǎng)t將搜索范圍縮小到20-120內(nèi)并采取隔點(diǎn)搜索,減少了高頻基音檢測(cè)誤差和減少運(yùn)算。
音高檢測(cè)部分是復(fù)雜度最大的部分,本實(shí)施例通過上述單元的改進(jìn),在不影響檢測(cè)精度的前提下降低了復(fù)雜度,從而使得本發(fā)明可以應(yīng)用于嵌入式系統(tǒng)。
上述步驟30中的音符切分是本發(fā)明的一個(gè)重點(diǎn),下面將詳細(xì)介紹。
A,音符切分的目的對(duì)于音高曲線需要轉(zhuǎn)化為一個(gè)個(gè)音符(如簡(jiǎn)譜“1,2,3,4......”)即樂譜才能進(jìn)行播放,而只有少數(shù)情況是一段音高對(duì)應(yīng)一個(gè)音符,多數(shù)情況是一段音高對(duì)應(yīng)幾個(gè)音符,這就需要進(jìn)行音符切分,才能完成樂譜。
B,音符切分的背景當(dāng)人采用歌詞清唱時(shí),音高曲線變得比較復(fù)雜,一方面受到音高變化的影響,另一方面對(duì)于音色的變化(或者轉(zhuǎn)音)也會(huì)影響音高曲線的起伏變化,加強(qiáng)了切分音符的難度。例如,一首曲子本身有著音高的高低變化,同樣的音高采用鋼琴和吉他演奏效果并不同,這就是音色不同的影響,同樣一首曲子可以通過哼“啦”、“嗒”演唱,也可以通過唱歌詞來演唱,后者歌詞是變化的,要比前者的音高曲線變化更復(fù)雜。本實(shí)施例方法主要用于完成前者“啦”、“嗒”演唱的歌曲。
C,現(xiàn)有的音符切分方法音符切分是為了找到一個(gè)個(gè)音符,又因?yàn)槊總€(gè)音符在起始階段能量較大,然后能量開始下降、維持,直到消失或被下一個(gè)音符能量所掩蔽,這就是本系統(tǒng)選擇峰值檢測(cè)算法的原因,如圖4所示。
峰值檢測(cè)是用來檢測(cè)信號(hào)中能量較大的峰值位置,現(xiàn)有的技術(shù)有A)小波變換算法,小波變換是傳統(tǒng)傅立葉變換的繼承和發(fā)展,主要應(yīng)用在信號(hào)處理、圖像處理、語音處理等多個(gè)領(lǐng)域,但是實(shí)現(xiàn)比較復(fù)雜。
B)簡(jiǎn)單峰值檢測(cè),或者幅度包絡(luò)檢測(cè),通過一階導(dǎo)數(shù)、二階導(dǎo)數(shù)決定一個(gè)峰值,此方法雖然簡(jiǎn)單但抗干擾性能較差。
C)通過峰峰值、半峰值和峰谷值等參數(shù)檢測(cè)峰值,已有應(yīng)用在音符切分技術(shù)上,雖然所得到的結(jié)果比較穩(wěn)定,但對(duì)于語音信號(hào)中的多峰(信號(hào)中的一個(gè)峰值周圍存在小峰)檢測(cè)不準(zhǔn)。
D)本實(shí)施例的音符切分方法本實(shí)施例在上述峰值檢測(cè)C)的基礎(chǔ)上進(jìn)行了改進(jìn),主要表現(xiàn)在以下三個(gè)方面1)預(yù)處理首先將檢測(cè)出的各個(gè)語音幀的能量值依次輸入一個(gè)一階低通濾波器進(jìn)行濾波,過濾掉能量曲線中的毛刺,以提高抗干擾性和檢測(cè)效果;2)雙峰值檢測(cè)請(qǐng)參照?qǐng)D5,整個(gè)能量曲線上有能量大于臨界值的語音幀和能量小于臨界值的語音幀,在音符切分時(shí)只對(duì)能量大于臨界值的連續(xù)語音幀進(jìn)行處理,文中稱其為濁音段,該連續(xù)語音幀中第一個(gè)和最后一個(gè)語音幀即為該濁音段的起始位置和結(jié)束位置。在能量曲線上,能量可以用幅度或功率來表征,較佳地,能量的臨界值可以取為26dB~30dB,但本發(fā)明不限于此。
下面以一個(gè)濁音段為例對(duì)本實(shí)施例的雙峰值檢測(cè)方法進(jìn)行說明。如圖6所示,該流程包括以下步驟步驟300,從濁音段起始位置,即第一個(gè)語音幀開始,判斷在該濁音段是否檢測(cè)到第一個(gè)波峰,如果是,執(zhí)行步驟310,否則,直接結(jié)束;在整個(gè)音符切分的過程中都需要進(jìn)行波峰檢測(cè),因此先介紹一下本實(shí)施例采用的波峰檢測(cè)方法逐一比較語音幀序列中前一個(gè)語音幀與后一個(gè)語音幀的能量大小關(guān)系,統(tǒng)計(jì)從濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀開始的能量連續(xù)上升段和隨后的能量連續(xù)下降段所涉及的語音幀的個(gè)數(shù),如果該個(gè)數(shù)大于設(shè)定的閾值(該閾值較佳為5~9,本實(shí)施例為7),則認(rèn)為這些語音幀對(duì)應(yīng)的能量曲線構(gòu)成一個(gè)波峰。該段能量曲線上最大的能量值為該波峰的峰值,該段能量曲線上最后一個(gè)語音幀的能量值為該波峰的谷值,峰值和谷值位置分別為峰值和谷值對(duì)應(yīng)的語音幀,波峰的起始位置即為上述濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀。
如果能量連續(xù)上升段和隨后的能量連續(xù)下降段涉及的語音幀個(gè)數(shù)小于等于所述閾值,則認(rèn)為這些語音幀對(duì)應(yīng)的能量曲線是一個(gè)小突波,不對(duì)其進(jìn)行處理。
步驟310,將檢測(cè)到的第一個(gè)波峰作為第一波峰,記錄該濁音段起始位置和該第一波峰的相關(guān)參數(shù),包括該波峰的峰值、谷值、峰值位置和谷值位置;步驟320,繼續(xù)檢測(cè),判斷在檢測(cè)到能量小于臨界值的語音幀之前是否檢測(cè)出下一波峰,如果否,表示在該濁音段結(jié)束前已沒有波峰,執(zhí)行步驟330,如果檢測(cè)出下一波峰,輸出該濁音段起始位置(步驟320a),執(zhí)行步驟340;步驟330,判定該濁音段對(duì)應(yīng)于一個(gè)音符,輸出該濁音段的起始位置和結(jié)束位置,結(jié)束;步驟340,將檢測(cè)出的下一波峰作為第二波峰,記錄其峰值、谷值、峰值位置和谷值位置,判斷第一波峰和第二波峰的峰值能量差比和峰峰間距是否大于預(yù)設(shè)的閾值,如果是,執(zhí)行步驟350,否則,執(zhí)行步驟380;第一波峰和第二波峰的峰值能量差比是這樣計(jì)算的將第二波峰峰值減去第一波峰谷值的差,除以第一波峰峰值減去第一波峰谷值的差,得到的比值即為該兩個(gè)波峰的峰值能量差比。當(dāng)峰值能量差比小于相應(yīng)閾值時(shí),則認(rèn)為當(dāng)前第二波峰是在第一波峰下降段出現(xiàn)的一個(gè)小突波,不對(duì)應(yīng)于一個(gè)音符。用于和計(jì)算出的峰值能量差比比較的閾值較佳為0.1825~0.3125,本實(shí)施例取0.1875。
兩個(gè)波峰的峰峰間距是指兩個(gè)峰值位置之間的語音幀個(gè)數(shù),用于和計(jì)算出的該語音幀個(gè)數(shù)比較的閾值較佳為5~9,本實(shí)施例為7。如峰峰間距小于該閾值則表示第二波峰和第一波峰非常接近,不認(rèn)為第一波峰和第二波峰分別對(duì)應(yīng)于一個(gè)單獨(dú)的音符。
當(dāng)然,上述兩個(gè)條件,即峰值能量差比和峰峰間距也可以單獨(dú)使用,或者采用其它的雙峰值檢測(cè)條件,也能起到濾去過渡成分的功效。
步驟350,繼續(xù)檢測(cè),判斷在檢測(cè)到能量小于臨界值的語音幀之前是否檢測(cè)出下一波峰,如果否,表示在該濁音段結(jié)束前已沒有波峰,執(zhí)行步驟360,如果檢測(cè)出下一波峰,執(zhí)行步驟370;步驟360,認(rèn)定第一波峰和第二波峰分別對(duì)應(yīng)于一個(gè)音符,輸出第一波峰谷值位置和濁音段結(jié)束位置,結(jié)束;步驟370,認(rèn)定第一波峰對(duì)應(yīng)于一個(gè)音符,輸出其谷值位置,同時(shí)用第二波峰的各項(xiàng)參數(shù)替換掉保存的第一波峰的各項(xiàng)參數(shù),即將原第二波峰作為新的第一波峰,返回步驟340;步驟380,繼續(xù)檢測(cè),判斷在檢測(cè)到能量小于臨界值的語音幀之前是否檢測(cè)出下一波峰,如果否,表示在該濁音段結(jié)束前已沒有波峰,執(zhí)行步驟390,如果檢測(cè)出下一波峰,執(zhí)行步驟400;步驟390,判定第一波峰對(duì)應(yīng)于一個(gè)音符,輸出該濁音段的結(jié)束位置,結(jié)束;步驟400,根據(jù)當(dāng)前記錄的第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù),返回步驟340;在更新第一波峰參數(shù)時(shí),本實(shí)施例是以第一波峰峰值和第二波峰峰值中的大值替換掉第一波峰的峰值,以該大的峰值后的一個(gè)谷值或兩個(gè)谷值中的小值替換掉第一波峰的谷值,第一波峰的峰值位置和谷值位置為新的峰值和谷值對(duì)應(yīng)的語音幀。
在完成檢測(cè)或在檢測(cè)過程中,根據(jù)輸出的濁音段起始、結(jié)束位置和波峰的谷值位置就可以進(jìn)行音符切分,在一個(gè)濁音段上,輸出的兩個(gè)相鄰位置即為一個(gè)音符的起始和結(jié)束位置。
一般情況下,兩個(gè)峰值之間總有一些過渡成分,包括小突波和平緩下降(屬于第一個(gè)峰值的延續(xù))、抖動(dòng)和不規(guī)則的上升曲線(屬于第二個(gè)峰值的起始)等,采用雙峰值檢測(cè)有效地處理了過渡成分,因此提高了傳統(tǒng)的峰值檢測(cè)算法的準(zhǔn)確率。
本實(shí)施例采用如圖7所示的音符切分裝置來實(shí)現(xiàn)上述音符切分的方法,包括一階低通濾波器(該單元可選)、波峰檢測(cè)模塊、主控制模塊、音符切分模塊、存儲(chǔ)模塊和雙峰值判定模塊,其中
所述一階低通濾波器,用于對(duì)檢測(cè)出的語音幀序列中各個(gè)語音幀的能量進(jìn)行濾波,所述波峰檢測(cè)模塊和主控制模塊基于該濾波后的語音幀能量進(jìn)行處理;所述波峰檢測(cè)模塊,用于統(tǒng)計(jì)從濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀開始的能量連續(xù)上升段和隨后的能量連續(xù)下降段所涉及的能量大于臨界值的語音幀的個(gè)數(shù),如該個(gè)數(shù)大于第三閾值,則判定這些語音幀對(duì)應(yīng)的一段能量曲線構(gòu)成一個(gè)波峰,該段曲線上最大的能量值為該波峰的峰值,該段曲線上最后一個(gè)語音幀的能量值為該波峰的谷值,該波峰的峰值和谷值位置分別為該峰值和該谷值對(duì)應(yīng)的語音幀;所述存儲(chǔ)模塊用于保存波峰的參數(shù)以及濁音段的起始和結(jié)束位置;所述雙峰值判定模塊用于判斷第二波峰峰值與第一波峰谷值之差和第一波峰的峰值與谷值之差的比值是否大于第一閾值,以及第一波峰和第二波峰的峰值位置之間的語音幀個(gè)數(shù)是否大于第二閾值,如果均是,則返回的判定結(jié)果為成功,否則返回失敗的判定結(jié)果;所述主控制模塊用于對(duì)能量大于臨界值的連續(xù)語音幀構(gòu)成的每一濁音段進(jìn)行音符切分,進(jìn)一步包括第一控制單元、第二控制單元、第三控制單元、第四控制單元和第五控制單元,其中第一控制單元,用于從濁音段的起始位置開始,調(diào)用波峰檢測(cè)模塊,如檢測(cè)不到波峰,則結(jié)束該濁音段的處理,否則以檢測(cè)到的第一個(gè)波峰為第一波峰,將該濁音段起始位置及第一波峰的峰值、谷值、峰值位置和谷值位置保存到所述存儲(chǔ)模塊,觸發(fā)第二控制單元繼續(xù)處理;第二控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,則將濁音段起始位置輸出到音符切分模塊,觸發(fā)第三控制單元繼續(xù)處理,否則,將該濁音段起始和結(jié)束位置輸出到音符切分模塊;第三控制單元,將檢測(cè)出的下一波峰作為第二波峰,記錄其峰值、谷值、峰值位置和谷值位置,調(diào)用雙峰值判定模塊,如果返回的判定結(jié)果為成功,觸發(fā)第四控制單元繼續(xù)處理,否則觸發(fā)第五控制單元繼續(xù)處理;
第四控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,將第一波峰谷值位置輸出到音符切分模塊,并用第二波峰的參數(shù)替換掉保存的第一波峰的相應(yīng)參數(shù),觸發(fā)第三控制單元繼續(xù)處理;否則將第一波峰谷值位置和濁音段結(jié)束位置輸出到音符切分模塊;第五控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù)(見圖6中步驟370),觸發(fā)第三控制單元繼續(xù)處理;否則將濁音段結(jié)束位置輸出到音符切分模塊;所述音符切分模塊用于以濁音段處理過程中輸出的兩個(gè)相鄰位置為一個(gè)音符的起始和結(jié)束位置,完成對(duì)該濁音段的音符切分。
有時(shí)波峰之間會(huì)的一些小突波,在實(shí)施例中是將前一波峰的谷值位置作為該波峰對(duì)應(yīng)音符的結(jié)束位置。不過,在其它實(shí)施方式中,也可以將后一波峰的起始位置作為前一波峰對(duì)應(yīng)音符的結(jié)束位置,這反應(yīng)的流程上在步驟340要記錄第二波峰的起始位置,并在步驟360和步驟370中先用第二波峰的起始位置替換掉第一波峰的谷值位置,再輸出該替換后的第一波峰谷值位置。反映在裝置上,則第三控制單元還記錄第二個(gè)波峰的起始位置,而第四控制單元先用第二波峰的起始位置替換掉第一波峰的谷值位置,再輸出替換后的該第一波峰的谷值位置。
總體流程中的步驟30還要將切分完的音符轉(zhuǎn)成MIDI樂譜,方法如下眾所周知,簡(jiǎn)譜中每個(gè)音階內(nèi)的“1,2,3,4,5,6,7--do,re,mi,fa,so,la,xi”都對(duì)應(yīng)了一個(gè)頻率值,而按照樂理中的十二平均律對(duì)應(yīng)于不同的MIDI值,例如Octave5(八度音階) Midi Pitch415.30HZG5#So5#---MIDI 68440.00HZA5 La5 ---MIDI 69466.16HZA5#La5 ---MIDI 70
MIDI樂譜需要音符信息,包括音符的長(zhǎng)度和音符的音高均值。
音符的長(zhǎng)度,是根據(jù)對(duì)濁音段進(jìn)行音符切分時(shí)輸出的兩個(gè)相鄰位置之間的語音幀個(gè)數(shù)得到的,這些位置可能是峰值起始位置、谷值位置或濁音段起始、結(jié)束位置。
音符的音高均值,是根據(jù)對(duì)濁音段進(jìn)行音符切分時(shí)輸出的兩個(gè)相鄰位置找到對(duì)應(yīng)的音高曲線,計(jì)算該段曲線音高的平均值得到的。例如,輸出的兩個(gè)相鄰位置為10、35(用語音幀序號(hào)表示),P(n)為音高曲線中第n個(gè)語音幀的音高值,則該音符的音高均值為Pitch=[P(10)+P(11)+...+P(35)]/(35-10)將音高均值轉(zhuǎn)換為相應(yīng)的頻率fpitch=fx/Pitch,其中fx為采樣頻率。
因此,首先通過音符的音高得到相應(yīng)的頻率值(或音階Octave值),然后量化到簡(jiǎn)譜中的“1,2,3......”,最后通過十二平均律公式MIDI=69+12×log2[(FS/440)×fpitch]即可得到MIDI的音高。例如,系統(tǒng)得到一個(gè)音符的音高為430HZ,那么首先將它量化成Octave5中的A5 La5,然后就可以采用事先通過十二平均律公式計(jì)算好的MIDI 69表示。
綜上所述,本發(fā)明可以應(yīng)用于PC機(jī)及嵌入式系統(tǒng),可以跟蹤人聲哼唱信號(hào)及某些電子樂器,通過時(shí)域自相關(guān)音高檢測(cè)(Pitch Detection)算法和基于能量的音符分割使得系統(tǒng)占用資源較少,方法簡(jiǎn)單,使用方便靈活。
權(quán)利要求
1.一種音符切分方法,先對(duì)輸入聲音做采樣和分幀處理,并檢測(cè)出語音幀序列中各個(gè)語音幀的能量,對(duì)能量大于臨界值的連續(xù)語音幀構(gòu)成的每一濁音段,執(zhí)行以下步驟(a)以第一個(gè)語音幀為該濁音段的起始位置,如檢測(cè)到波峰,將第一個(gè)檢測(cè)到的波峰作為第一波峰,記錄該濁音段起始位置及第一波峰的包含谷值位置的參數(shù),執(zhí)行步驟(b),如檢測(cè)不到波峰,結(jié)束;(b)繼續(xù)檢測(cè),如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,則輸出濁音段起始位置,執(zhí)行步驟(c),否則輸出該濁音段起始和結(jié)束位置,執(zhí)行步驟(f);(c)將檢測(cè)出的下一波峰作為第二波峰,記錄其包含谷值位置的參數(shù),判斷該第一波峰和第二波峰是否滿足雙峰值檢測(cè)的條件,如果是,執(zhí)行步驟(d),否則執(zhí)行步驟(e);(d)繼續(xù)檢測(cè),如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,輸出第一波峰谷值位置,并用第二波峰的參數(shù)替換掉保存的第一波峰的相應(yīng)參數(shù),返回步驟(c),否則,輸出第一波峰谷值位置和濁音段結(jié)束位置,執(zhí)行步驟(f);(e)繼續(xù)檢測(cè),如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù),返回步驟(c),否則,輸出該濁音段結(jié)束位置,執(zhí)行步驟(f);(f)以輸出的兩個(gè)相鄰位置為一個(gè)音符的起始和結(jié)束位置,完成對(duì)該濁音段的音符切分。
2.如權(quán)利要求1所述的音符切分方法,其特征在于,所述步驟(c)中的雙峰值檢測(cè)條件是指第二波峰峰值與第一波峰谷值之差和第一波峰的峰值與谷值之差的比值大于第一閾值,此時(shí)記錄的第一波峰和第二波峰的參數(shù)還包括峰值和谷值,和/或,該雙峰值檢測(cè)條件是指第一波峰和第二波峰的峰值位置之間的語音幀個(gè)數(shù)大于第二閾值,此時(shí)記錄的第一波峰和第二波峰的參數(shù)還包括峰值位置。
3.如權(quán)利要求1所述的音符切分方法,其特征在于,在檢測(cè)出語音幀序列中各個(gè)語音幀的能量后,先依次輸入一個(gè)一階低通濾波器進(jìn)行濾波,再利用該低通濾波器輸出的能量值進(jìn)行音符切分。
4.如權(quán)利要求1所述的音符切分方法,其特征在于,所述能量的臨界值為26dB~30dB。
5.如權(quán)利要求1或2所述的音符切分方法,其特征在于,所述步驟(a)~(e)進(jìn)行波峰檢測(cè)時(shí),是逐一比較相鄰兩個(gè)語音幀的能量大小,統(tǒng)計(jì)從濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀開始的能量連續(xù)上升段和隨后的能量連續(xù)下降段所涉及的能量大于臨界值的語音幀的個(gè)數(shù),如該個(gè)數(shù)大于第三閾值,則判定這些語音幀對(duì)應(yīng)的一段能量曲線構(gòu)成一個(gè)波峰,該段曲線上最大的能量值為該波峰的峰值,該段曲線上最后一個(gè)語音幀的能量值為該波峰的谷值,該波峰的峰值和谷值位置分別為該峰值和該谷值對(duì)應(yīng)的語音幀,該濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀為該波峰的起始位置。
6.如權(quán)利要求5所述的音符切分方法,其特征在于,所述第一閾值為0.1825~0.3125,所述第二閾值和第三閾值為5~9。
7.如權(quán)利要求1或2所述的音符切分方法,其特征在于,所述步驟(c)中還記錄第二個(gè)波峰的起始位置,所述步驟(d)先用第二波峰的起始位置替換掉第一波峰的谷值位置,再輸出替換后的該第一波峰的谷值位置。
8.如權(quán)利要求1或2所述的音符切分方法,其特征在于,所述步驟(e)中,根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù)時(shí),是以第一波峰峰值和第二波峰峰值中的大值替換掉第一波峰的峰值,以該大的峰值后的一個(gè)谷值或兩個(gè)谷值中的小值替換掉第一波峰的谷值,第一波峰的峰值位置和谷值位置為新的峰值和谷值對(duì)應(yīng)的語音幀。
9.一種音符切分裝置,其特征在于,包括波峰檢測(cè)模塊、主控制模塊、音符切分模塊、存儲(chǔ)模塊和雙峰值判定模塊,其中所述波峰檢測(cè)模塊,用于統(tǒng)計(jì)從濁音段起始語音幀或前一能量下降段最后一個(gè)語音幀開始的能量連續(xù)上升段和隨后的能量連續(xù)下降段所涉及的能量大于臨界值的語音幀的個(gè)數(shù),如該個(gè)數(shù)大于第三閾值,則判定這些語音幀對(duì)應(yīng)的一段能量曲線構(gòu)成一個(gè)波峰,該段曲線上最大的能量值為該波峰的峰值,該段曲線上最后一個(gè)語音幀的能量值為該波峰的谷值,該波峰的峰值和谷值位置分別為該峰值和該谷值對(duì)應(yīng)的語音幀;所述存儲(chǔ)模塊用于保存波峰的參數(shù)以及濁音段的起始和結(jié)束位置;所述雙峰值判定模塊用于判斷第一波峰和第二波峰是否滿足雙峰值檢測(cè)的條件,如果是,返回成功的判定結(jié)果,否則返回失敗的判定結(jié)果;所述主控制模塊用于對(duì)能量大于臨界值的連續(xù)語音幀構(gòu)成的每一濁音段進(jìn)行音符切分,進(jìn)一步包括第一控制單元、第二控制單元、第三控制單元、第四控制單元和第五控制單元,其中第一控制單元,用于從濁音段的起始位置開始,調(diào)用波峰檢測(cè)模塊,如檢測(cè)不到波峰,則結(jié)束該濁音段的處理,否則以檢測(cè)到的第一個(gè)波峰為第一波峰,將該濁音段起始位置及第一波峰的包含谷值位置的參數(shù)保存到所述存儲(chǔ)模塊,觸發(fā)第二控制單元繼續(xù)處理;第二控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,則將濁音段起始位置輸出到音符切分模塊,觸發(fā)第三控制單元繼續(xù)處理,否則,將該濁音段起始和結(jié)束位置輸出到音符切分模塊;第三控制單元,將檢測(cè)出的下一波峰作為第二波峰,記錄其包含谷值位置的參數(shù),調(diào)用雙峰值判定模塊,如果返回的判定結(jié)果為成功,觸發(fā)第四控制單元繼續(xù)處理,否則觸發(fā)第五控制單元繼續(xù)處理;第四控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,將第一波峰谷值位置輸出到音符切分模塊,并用第二波峰的參數(shù)替換掉保存的第一波峰的相應(yīng)參數(shù),觸發(fā)第三控制單元繼續(xù)處理;否則將第一波峰谷值位置和濁音段結(jié)束位置輸出到音符切分模塊;第五控制單元,用于調(diào)用波峰檢測(cè)模塊,如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù),觸發(fā)第三控制單元繼續(xù)處理;否則將濁音段結(jié)束位置輸出到音符切分模塊;所述音符切分模塊用于以每一濁音段處理過程中輸出的兩個(gè)相鄰位置為一個(gè)音符的起始和結(jié)束位置,完成對(duì)該濁音段的音符切分。
10.如權(quán)利要求9所述的音符切分裝置,其特征在于,所述雙峰值判定模塊判斷第一波峰和第二波峰是否滿足雙峰值檢測(cè)的條件時(shí),是判斷第二波峰峰值與第一波峰谷值之差和第一波峰的峰值與谷值之差的比值是否大于第一閾值,此時(shí)所述第一控制單元和第三控制單元分別記錄的第一波峰和第二波峰的參數(shù)還包括峰值和谷值;和/或,所述雙峰值判定模塊是判斷第一波峰和第二波峰的峰值位置之間的語音幀個(gè)數(shù)是否大于第二閾值,此時(shí),所述第一控制單元和第三控制單元分別記錄的第一波峰和第二波峰的參數(shù)還包括峰值位置。
11.如權(quán)利要求9或10所述的音符切分裝置,其特征在于,還包括一個(gè)一階低通濾波器,用于對(duì)檢測(cè)出的語音幀序列中各個(gè)語音幀的能量進(jìn)行濾波,所述波峰檢測(cè)模塊和主控制模塊基于該濾波后的語音幀能量進(jìn)行處理。
12.如權(quán)利要求9或10所述的音符切分裝置,其特征在于,所述第三控制單元還記錄第二個(gè)波峰的起始位置,所述第四控制單元先用第二波峰的起始位置替換掉第一波峰的谷值位置,再輸出替換后的該第一波峰的谷值位置。
13.如權(quán)利要求9或10所述的音符切分裝置,其特征在于,所述第五控制單元根據(jù)第一波峰和第二波峰的參數(shù)更新第一波峰的參數(shù)時(shí),是以第一波峰峰值和第二波峰峰值中的大值替換掉第一波峰的峰值,以該大的峰值后的一個(gè)谷值或兩個(gè)谷值中的小值替換掉第一波峰的谷值,第一波峰的峰值位置和谷值位置為新的峰值和谷值對(duì)應(yīng)的語音幀。
14.如權(quán)利要求10所述的音符切分方法,其特征在于,所述第一閾值為0.1825~0.3125,所述第二閾值和第三閾值為5~9。
全文摘要
一種基于雙峰值檢測(cè)的音符切分方法及其裝置,該裝置包括波峰檢測(cè)模塊、主控制模塊、音符切分模塊、存儲(chǔ)模塊和雙峰值判定模塊,先以第一個(gè)語音幀為該濁音段的起始位置,檢測(cè)出第一波峰,記錄該濁音段起始位置及第一波峰的參數(shù);如在檢測(cè)到能量小于臨界值的語音幀之前檢測(cè)出下一波峰,則輸出濁音段起始位置,將其作為第二波峰,記錄其參數(shù),然后判斷該第一波峰和第二波峰是否滿足雙峰值檢測(cè)的條件,如果滿足且還能檢測(cè)出下一波峰,則輸出第一波峰谷值位置,并用第二波峰的參數(shù)替換掉保存的第一波峰的相應(yīng)參數(shù),繼續(xù)檢測(cè),最后以輸出的兩個(gè)相鄰位置為一個(gè)音符的起始和結(jié)束位置,完成對(duì)該濁音段的音符切分。本發(fā)明可使音符劃分更準(zhǔn)確。
文檔編號(hào)G10H5/00GK101093660SQ200610086469
公開日2007年12月26日 申請(qǐng)日期2006年6月23日 優(yōu)先權(quán)日2006年6月23日
發(fā)明者王貴平 申請(qǐng)人:凌陽科技股份有限公司, 北京北陽電子技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
通江县| 和顺县| 喀什市| 玛多县| 图木舒克市| 涟水县| 舒城县| 务川| 韶山市| 通州区| 常熟市| 察隅县| 民县| 潜江市| 黄冈市| 邵阳市| 乌拉特后旗| 阳信县| 清原| 乌恰县| 通山县| 庆阳市| 双流县| 浏阳市| 灵石县| 洮南市| 新津县| 丹巴县| 永吉县| 平潭县| 麻城市| 嘉祥县| 香河县| 西贡区| 吉隆县| 阳东县| 三台县| 瑞安市| 武胜县| 余姚市| 齐齐哈尔市|