基於語譜切分的唱歌評測系統的製作方法
2023-04-24 01:08:36 1
專利名稱:基於語譜切分的唱歌評測系統的製作方法
技術領域:
本發明涉及唱歌領域的語音信號處理系統,具體涉及一種基於語譜切分的唱歌評 測系統。
背景技術:
目前在自動唱歌評測系統主要有以下幾種由簡單到複雜的技術方案1)、僅考察用戶的發音時間和音量通過比較測試數據幀能量和原唱數據幀能量, 將比較得到的一致性程度量化成評分分數,如專利號為9610613. 4的發明專利「卡拉OK計 分的方法和系統」所記載的評測方法。這種做法只是通過考察用戶的音量高低和原唱的音量高低來判斷唱歌好壞,而不 是分析用戶唱歌時的音高、節奏等反映唱歌水平的信息,評分準則與人工評分的考量因素 不一致。2)、僅考察用戶唱歌時的音高偏差程度也即主要考察用戶唱歌數據的基頻曲線 和標準的基頻曲線之間的差異程度,這種評測方法通過比較標準基頻曲線和唱歌數據基頻 曲線之間的誤差面積,來評價唱歌數據的好壞;誤差面積值越大,用戶唱歌數據得分越低, 反之,則用戶唱歌數據得分越高。實際評測時,通過誤差面積來評價唱歌數據的好壞存在相當的問題,比如當音高 走勢相同時,如果用戶唱歌的節奏比標準的節奏超前或者滯後,則自動評分系統給出的分 數就會很低,也即即便用戶的音高與標準的音高走勢完全一致,由於用戶的音高與標準的 音高在時間上的不一致性,用戶所得的評分也會較低;如圖2所示,上框10為伴奏數據,下 框20為待評測的唱歌數據(也即用戶的唱歌數據),斜線30表示上框10中的標準曲譜時 間上的位置和下框20中的待評測的唱歌數據在時間上的對應關係,由圖2明顯可得,用戶 唱歌的節奏顯然比標準的節奏滯後,此時即便用戶的音高與標準的音高走勢完全一致,用 戶的評分也會很低。自動評分系統只有有效判斷出用戶的音高與標準的音高在時間上的不一致性,並 進行有效處理,才能得到比較合理的打分結果。3)、同時考察音高和節奏上的偏差針對2)中存在的僅考察音高評分導致的不合 理性,有人提出基頻的動態時間規整(DTW=Dynamic Time Warping)算法,以此來改善測試 基頻和標準基頻之間時間上的對應關係。動態時間規划算法的基本思想是將時間的規整和距離測度規整結合在一起的一 種非線性規整技術,通過在允許的時間規整範圍內尋找距離測度最小的時間上的規整方 式,進而確定輸入信號和模板在時間上的對應關係,在一定程度上克服了標準基頻和測試 基頻在時間上不嚴格對齊時帶來的幹擾。然而由於這種算法忽略了唱歌數據中的歌詞信息 而僅僅考慮了基頻的相似程度,沒有充分利用唱歌數據的信息,使得標準基頻和測試基頻 對齊的準確程度不高,從而導致了評分效果不盡理想。
發明內容
本發明的目的是提供一種基於語譜切分的唱歌評測系統,其提高了標準基頻和測 試基頻在時間對齊上的準確性,改善了唱歌評測系統的評測性能。為實現上述目的,本發明採用了以下技術方案一種基於語譜切分的唱歌評測系 統,包括如下步驟步驟1、進行語譜模型訓練和歌曲資源庫的製作,包括如下過程a)、語譜模型訓練(1)首先選擇要錄音的歌曲,在伴奏的提示下錄製純人聲的唱歌數據,並對每份唱 歌數據人工標註出唱詞內容;(2)然後使用錄音語料和標註結果訓練唱歌數據的語譜模型;b)、歌曲資源庫的製作使用樂譜、歌詞文本標註原唱歌曲中每個唱詞以及每個音調的音高信息;步驟2、對演唱進行評測C)、根據每份待評測的唱歌數據和對應的唱詞內容,使用語譜模型解碼的方式確 定每個唱詞的邊界;d)、根據步驟C)中的語譜切分結果計算每份待評測數據的音高以及節奏得分,並 給出總分。基於以上的技術方案,本發明具有以下優點本發明通過製作覆蓋全面的清唱資料庫訓練出與待評測的數據風格完全匹配的 語譜模型,引入頻譜特徵,通過頻譜解碼的方式,準確定位出數據中每個唱詞的位置,進而 確定每個音調的位置,最終改善唱歌評測系統的評測性能。本發明中提出的基於語譜的唱詞邊界定位方式,大大的改善了標準基頻和測試基 頻在時間對齊上的準確性,經測試,使用語譜模型確定唱詞邊界和僅僅使用基頻相比較,自 動評分系統的對齊錯誤率相對下降達到60%以上。
圖1是本發明的流程框圖;圖2是按照拼音序列所搭建的解碼網絡示意圖;圖3是使用語譜模型確定每個唱詞邊界的示意圖。
具體實施例方式下面結合圖1 3對本發明的實現過程做具體說明a)、語譜模型訓練步驟101 選取現有的具有代表性的流行歌曲和民族歌曲作為錄音歌曲,歌曲的 原唱在年齡、性別上分布均衡,以有利於製作出覆蓋全面的資料庫。步驟102 選擇比例均衡的男女錄音人,要求錄音人對要錄的歌曲要比較熟練,年 齡分布上以青少年和中年為主。所述的以青少年和中年為主有多種實現方案,比如青少年和中年的錄音人佔所有 錄音人的比例為60 80%。
步驟103 錄音採用佩帶耳麥錄音的方式,要求錄音人跟著伴奏以及唱詞顯示的 節奏進行演唱,以錄製純人聲的唱歌數據。錄音數據格式為16K採樣16bit量化的Windows PCM格式。步驟201 提取步驟103所得的唱歌數據的語譜參數所述的語譜參數有多個,比如為MFCC或PLP或LPC,本發明中以MFCC為例進行說明。採用現有技術中MFCC特徵的提取方法,對每份唱歌數據提取MFCC特徵,高頻預加 重係數為0. 97,使用Hamming窗。特徵提取時幀長取25ms,幀移10ms,FilterBank係數24, DCT變換倒譜階數為12,倒譜提升係數(CEPLIFTER)為22,然後計算一階、二階差分,得到 39維MFCC參數。步驟301 根據錄音所得的純人聲的唱歌數據,人工標註出真實的拼音序列,標註 單位為漢語拼音的音節。對於唱歌數據的開始、結尾以及有聲段之間的靜寂段用silence 標記。步驟401 首先定義語譜模型的拓撲結構,本發明根據漢語中聲母時長較短、韻母 時長較長的特點,定義21個聲母和27個韻母的模型結構分別為3狀態、5狀態自左向右、上 下文無關模型。對於唱歌數據中的靜寂段,使用3狀態的sil模型進行擬合;然後使用步驟201和301得到的語譜特徵和訓練文本,採用現有技術中的嵌入式 訓練(Embedded Training)的方法,訓練語譜的隱馬爾可夫模型,每個模型的高斯數為1 16。b)、歌曲資源庫準備步驟501)歌詞文本、樂譜、原唱和伴奏數據準備。原唱和伴奏數據區別在於原唱用於標註,包含人的歌聲和伴奏;而伴奏通常在 系統中作為提示使用,可以沒有人聲。步驟502)使用轉換工具將歌詞文本中的中文唱詞轉換成拼音序列,對於非中文 的唱詞不予轉換;步驟503):對照歌曲的原唱,標出拼音序列的每個音調的開始和結束位置;步驟504):按照歌曲的樂譜,標註每個音調的音高,對於一個音調內包含若干音 高的,需要進一步標註出每個音高的邊界,然後將音高序列轉換成MIDI音符序列。在線測試步驟601 用戶在評測系統提供的伴奏和顯示的歌詞的提示下演唱,錄音並得到 待評測的唱歌數據;步驟602 按照步驟201對待評測的唱歌數據提取MFCC特徵,使用自相關方法提 取基頻參數,並且根據唱詞搭建解碼網絡。對於一首測試數據,預先會根據原唱歌曲的停頓將原始歌曲劃分成若干片段,將 每個片段內所有的歌詞連接起來(對於包含英文等非中文唱詞的片段,不使用這種方法, 而是使用時間上嚴格對齊的方式得到測試數據中每個唱詞的邊界),並且在開始、結尾以及 每個唱詞之間分別加入一個可選的silence路徑,用於吸收唱歌時可能的停頓,例如對於 唱詞「就是愛」,其拼音為「jiu」、「shi」、「ai」,按照拼音序列所搭建的解碼網絡即如圖3所 示,圖3中「jiu」與「shi」以及「shi」與「ai」之間的「sil」也就是前述的silence路徑,而圈繞在「sil」上的帶有箭頭的圓弧在這個位置可以沒有silence。步驟603 使用語譜模型確定每個唱詞的邊界。對於步驟602得到的解碼網絡,使用步驟401得到的語譜模型和步驟601提取的 MFCC特徵,通過現有技術中的強制對齊(Force Alignment)對數據中每個唱詞進行唱詞邊 界切分,得到每個唱詞的邊界。通過網絡中可選的silence路徑可以自動判斷出數據中是 否存在靜寂段以及靜寂段的位置。如圖1所示,本發明採用維特比(Viterbi)解碼技術,維特比算法提供了一種有效 的計算方法來分析隱馬爾科夫模型的觀察序列,並捕獲最可能的隱藏狀態序列。它利用遞 歸減少計算量,並使用整個序列的上下文來做判斷,從而對包含「噪音」的序列也能進行良 好的分析。圖2所示即為基於語譜唱詞邊界切分得到的結果,圖2中的上框10為伴奏數據, 下框20為待評測的唱歌數據,斜線30表示上框10中的標準曲譜時間上的位置和下框20 中的待評測的唱歌數據在時間上的對應關係。在時長上,斜線30上端的豎線11表示每個 唱詞的開始或結束位置,斜線30下端的豎線21表示待評測的唱歌數據中對應的開始或結 束位置;在基頻對應關係上,對於相鄰的兩條斜線30,上端兩條豎線11之間的橫線12表示 標準模板規定的音高,下端兩條豎線21之間的橫向曲線22表示待評測的唱歌數據中對應 的音高。對於一個唱詞對應多個音調的情況,則需要在唱詞邊界內部使用基頻和模板,按 照動態時間規整算法以確定出每個音調的音高位置。如果在某一段或某一句中存在非中文唱詞,對於這段數據不採用解碼的方式獲取 邊界,而是以標準MIDI中每個音調的邊界作為這段數據中每個音調的對應邊界。步驟701 每首歌都有一個規定的調號,而用戶唱歌時的起調未必與規定的調號 一致,為了消除用戶起調和標準音高中規定的調號(Notestd)之間的差異,需要統計測試數 據的基頻(基頻為0的部分不參與統計和規整)均值(Pitchtest),然後對於前述的基頻加 上標準調號和基頻均值之間的均值(Notestd-Pitchtest),使得唱歌數據的起調和標準的調號 一致。
其中,HBi,HEi分別表示第i個唱詞標準的開始和結束位置,MBi,MEi分別表示測試 數據中第i個唱詞語譜切分得到的開始和結束位置。步驟703 對於步驟702中得到的每一份數據的音高得分和節奏得分,按照線性加 權的方式得到總分,即Scrore = a · ToneScore+b · RhythmScore+c其中a、b表示音高得分、節奏得分在總分中的權重,c為映射模型中的常數項,三 個參數a、b、c可以通過專家手工確定或者在有人工專家評分的數據集合上通過線性回歸 算法自動獲得。
權利要求
一種基於語譜切分的唱歌評測系統,包括如下步驟步驟1、進行語譜模型訓練和歌曲資源庫的製作,包括如下過程a)、語譜模型訓練(1)首先選擇要錄音的歌曲,在伴奏的提示下錄製純人聲的唱歌數據,並對每份唱歌數據人工標註出唱詞內容;(2)然後使用錄音語料和標註結果訓練唱歌數據的語譜模型;b)、歌曲資源庫的製作使用樂譜、歌詞文本標註原唱歌曲中每個唱詞以及每個音調的音高信息;步驟2、對演唱進行評測c)、根據每份待評測的唱歌數據和對應的唱詞內容,使用語譜模型解碼的方式確定每個唱詞的邊界;d)、根據步驟c)中的語譜切分結果計算每份待評測數據的音高以及節奏得分,並給出總分。
2.根據權利要求1所述的基於語譜切分的唱歌評測系統,其特徵在於步驟1中的語譜 模型訓練包括如下步驟aOl)選擇錄音歌曲以及選擇錄音人員;a02)所選擇的錄音人員在伴奏的提示下演唱設計錄音歌曲,並錄製純人聲的唱歌數據;a03)提取所錄製的唱歌數據的語譜參數;並根據唱歌數據的真實發音,標註唱歌數據 對應的真實文本;a04)根據得到的語譜模型參數和標註的文本,訓練語譜的隱馬爾科夫模型。
3.根據權利要求1所述的基於語譜切分的唱歌評測系統,其特徵在於步驟1中的歌曲 資源庫的製作包括如下步驟bOl)選擇歌曲,並對所選擇的歌曲準備歌詞文本以及樂譜;b02)對歌詞文本中的中文唱詞製作出相應的拼音;對於歌詞文本中的非中文唱詞部 分,以標準MIDI音符中每個音調的邊界作為非中文唱詞中每個音調的對應邊界; b03)根據歌曲的原唱,標註出此歌曲數據的中文唱詞的每個音調的起止時間; b04)根據歌曲的樂譜,標註出中文唱詞的每個音調的音高值,並將其轉換成MIDI音符。
4.根據權利要求1所述的基於語譜切分的唱歌評測系統,其特徵在於步驟2中的c)步 驟包括如下過程cOl)用戶在伴奏和歌詞的提示下進行錄音,得到待評測的唱歌數據; c02)提取待評測的唱歌數據的語譜參數MFCC特徵,提取待評測的唱歌數據的基頻參 數,並搭建解碼網絡;c03)根據上述的解碼網絡和步驟1)中得到的語譜模型,對待評測的唱歌數據解碼,確 定待評測的唱歌數據中的每個音調的邊界; 步驟2中的d)步驟包括如下過程 dOl)提取待評測的唱歌數據的基頻信息 對於值不為0的待評測的唱歌數據基頻根據如下公式計算其中χ為唱歌時人的聲帶的每秒鐘振動的頻率,單位為Hz ;y為音高值,單位為半音; 將上述值不為O的待評測的唱歌數據基頻(FO)轉換成MIDI音符,然後去除調整基頻 均值,去除起調的影響;d02)根據步驟c03)得到的準確的唱詞切分信息和步驟dOl)得到的基頻信息,計算每 份待評測的唱歌數據的音高得分和節奏得分;d03)基於所得到的音高得分和節奏得分計算待評測的唱歌數據的總分。
5.根據權利要求2所述的基於語譜切分的唱歌評測系統,其特徵在於步驟aOl)包括如 下過程aOll)選取具有代表性的流行歌曲和民族歌曲作為錄音歌曲,並使錄音歌曲的原唱在 年齡以及性別上分布均衡;a012)選擇對錄音歌曲演唱較為熟練且性別比例均衡的錄音人員,錄音人員的年齡分 布以青少年和中年為主體。
6.根據權利要求2所述的基於語譜切分的唱歌評測系統,其特徵在於步驟a03)包括如 下過程根據錄製得到的純人聲的唱歌數據,人工標註出真實的拼音序列,標註單位為漢語 拼音的音節,對於唱歌數據開始、結尾以及有聲段之間的靜寂段用「silence」標記出來。
7.根據權利要求2或6所述的基於語譜切分的唱歌評測系統,其特徵在於步驟a04)包 括如下過程根據漢語中聲母時長較短、韻母時長較長的特點,定義聲母和韻母的模型結構 分別為3狀態、5狀態自左向右、上下文無關模型,對於唱歌數據開始、結尾以及有聲段之間 的靜寂段,使用3狀態的sil模型進行擬合;然後根據得到的語譜參數和標註的文本,採用 嵌入式訓練(Embedded Training)方法,訓練語譜的隱馬爾可夫模型,每個模型的高斯數為 1 16。
8.根據權利要求4所述的基於語譜切分的唱歌評測系統,其特徵在於步驟dOl)包括如 下過程首先統計待評測的唱歌數據的基頻均值,然後對於待評測的唱歌數據中的基頻不 為O的數據都加上標準音高的均值和基頻均值之間的差值,使得待評測的唱歌數據的起調 和標準音高一致,所述的標準音高是指原唱歌曲中的音高序列。
9.根據權利要求4或8所述的基於語譜切分的唱歌評測系統,其特徵在於步驟d02)中 的待評測的唱歌數據的音高得分和節奏按照下列公式計算音高得分 其中ZEROCOST表示系統設定的對於用戶沒有唱歌時的懲罰,N表示音調的總數,b」 e, 分別表示第i個唱詞的開始和結束幀數,MIDIi表示第i個音調的標準音高,Pitchj表示測 試數據中第j幀數據的基頻值; 節奏得分 其中,HBi,HEi分別表示第i個唱詞標準的開始和結束位置,MBi,MEi分別表示測試數據 中第i個唱詞語譜切分得到的開始和結束位置。
10.根據權利要求9所述的基於語譜切分的唱歌評測系統,其特徵在於步驟d03)中的 待評測的唱歌數據的總分按照下列公式計算 Score = a · ToneScore+b · RhythmScore+c其中a、b表示音高得分、節奏得分在總分中的權重,c為映射模型中的常數項,a、b及c 的取值在已有人工評分的唱歌數據集合上通過線性回歸獲得,或者通過人工設置的方式確 定。
全文摘要
本發明涉及一種基於語譜切分的唱歌評測系統,本唱歌評測系統首先進行語譜模型訓練和歌曲資源庫的製作,然後根據每份待評測的唱歌數據和對應的唱詞內容,使用語譜模型解碼的方式確定每個唱詞的邊界;再根據所得的語譜切分結果計算每份待評測數據的音高以及節奏得分,並給出總分。本發明通過製作覆蓋全面的清唱資料庫訓練出與待評測的數據風格完全匹配的語譜模型,以準確定位出數據中每個唱詞的位置,進而確定每個音調的位置,大大的改善了標準基頻和測試基頻在時間對齊上的準確性,最終改善了唱歌評測系統的評測性能。
文檔編號G10L15/06GK101894552SQ201010232918
公開日2010年11月24日 申請日期2010年7月16日 優先權日2010年7月16日
發明者劉丹, 劉慶峰, 胡國平, 胡鬱, 蔣成林, 魏思 申請人:安徽科大訊飛信息科技股份有限公司