新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的卡拉OK打分系統(tǒng)完整設(shè)計(jì)

基于FPGA的卡拉OK打分系統(tǒng)完整設(shè)計(jì)

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò) 收藏

摘要

本文引用地址:http://m.butianyuan.cn/article/201706/348698.htm

隨著生活水平的不斷提高,卡拉OK練歌房在我國(guó)已經(jīng)非常普遍??ɡ璒K機(jī)的自動(dòng)評(píng)分功能往往會(huì)引起一些人的興趣,覺得機(jī)器能夠自動(dòng)評(píng)分是件挺神奇的事。但同時(shí)也會(huì)發(fā)現(xiàn)它有一個(gè)很大的缺點(diǎn)--評(píng)分不太準(zhǔn)。本項(xiàng)目立足于近幾年出現(xiàn)的一些數(shù)據(jù)處理和控制集成芯片,將一些的專用算法應(yīng)用到評(píng)分系統(tǒng)中來(lái),以改進(jìn)現(xiàn)行系統(tǒng),增強(qiáng)評(píng)分的準(zhǔn)確性。

  1. 研究背景

近年來(lái)隨著我國(guó)經(jīng)濟(jì)的飛速發(fā)展,人民的生活水平不斷地提高。全國(guó)各地的KTV產(chǎn)業(yè)蓬蓬勃勃的發(fā)展,大街小巷隨處可見KTV練歌房的身影。而我們的鄰邦韓國(guó)和日本,KTV產(chǎn)業(yè)更是龐大,到卡拉OK練歌房唱日本民歌甚至已經(jīng)逐步演變?yōu)槿毡镜囊环N民族風(fēng)俗。正是由于卡拉OK目前如此的流行,促使卡拉OK設(shè)備生產(chǎn)商對(duì)這個(gè)領(lǐng)域進(jìn)行大量的投入和研發(fā),因此卡拉OK系統(tǒng)不斷地得到完善,功能也不斷地增強(qiáng)。從上世紀(jì)90年代開始,人們逐漸開始關(guān)注卡拉OK的自動(dòng)評(píng)分功能。當(dāng)演唱完一首歌以后,經(jīng)過(guò)一段延遲時(shí)間,機(jī)器便能自動(dòng)算出一個(gè)分?jǐn)?shù)來(lái),這始終是一件讓人覺得挺有意思的事情。

當(dāng)這個(gè)想法被一個(gè)叫唐駿的中國(guó)留學(xué)生提出并付諸實(shí)踐后,立即在日本引起了巨大的轟動(dòng)。人們普遍都感到非常的新奇,都想嘗試嘗試這種有趣的機(jī)器,這就造就了第一個(gè)買下這項(xiàng)專利的三星公司的卡拉OK設(shè)備的銷售量的飛漲,甚至有人評(píng)價(jià)說(shuō)是這項(xiàng)發(fā)明挽救了當(dāng)時(shí)處在市場(chǎng)危機(jī)中的三星公司。不過(guò),過(guò)了一段時(shí)間人們發(fā)現(xiàn)這種機(jī)器有一種問題——評(píng)分不準(zhǔn)。后來(lái)這項(xiàng)專利的發(fā)明者唐駿也公開表示,該系統(tǒng)的評(píng)分效果不是很準(zhǔn)確,演唱時(shí)只要盡力模仿唐駿的聲音就一定能得到高分。

正是由于這套系統(tǒng)的這些缺點(diǎn)與不足,后來(lái)又有很多專家學(xué)者陸續(xù)投入到語(yǔ)音打分系統(tǒng)的研究中來(lái),激起了一次研究卡拉OK打分系統(tǒng)的熱潮——1990年到1998年。這些研究人員主要是日本人,因?yàn)槿毡镜目ɡ璒K非常的盛行。在這期間,他們申請(qǐng)了將近十幾項(xiàng)專利,不過(guò)沒有發(fā)表過(guò)一片論文,畢竟這是一個(gè)可以賺大錢的東西。這些專利可以分為以下幾類:

從時(shí)域波形出發(fā),對(duì)演唱者的音頻信號(hào)和機(jī)器自帶的原唱信號(hào)進(jìn)行采樣,然后比較各個(gè)采樣點(diǎn)的大小,如果比較一致則得分高,否則得分低。

從能量的角度出發(fā),對(duì)演唱者的音頻信號(hào)和伴奏音樂分別用A/D進(jìn)行數(shù)字化,然后對(duì)兩種數(shù)字信號(hào)的規(guī)格化能量進(jìn)行比較和差異測(cè)量,最后根據(jù)兩者差異情況給分。

從頻域分析的角度出發(fā),首先將機(jī)器自帶原唱信號(hào)與伴奏樂聲進(jìn)行小波變換,再將演唱者的音頻信號(hào)與伴奏音樂進(jìn)行小波變換。比較兩次得到的頻譜信號(hào)的分布情況,越是一致則得分越高。

到98年以后,這一領(lǐng)域才逐漸開始降溫,也沒有多少新的專利或者是相關(guān)文獻(xiàn)出現(xiàn)。而且,即使是上文敘述的那些專利也沒有多少投入到商業(yè)生產(chǎn)中。這些專利發(fā)明有一個(gè)共同的特點(diǎn),那就是計(jì)算量非常大,受限于當(dāng)時(shí)的硬件水平,實(shí)現(xiàn)起來(lái)不是很令人滿意。這也可以理解,畢竟要是一首4分鐘左右長(zhǎng)的歌曲唱完后需要幾十分鐘的計(jì)算后才能得到一個(gè)分?jǐn)?shù),那將是令人無(wú)法容忍的事情。

目前市場(chǎng)上正在銷售的那些卡拉OK機(jī)一般都帶有自動(dòng)評(píng)分的功能。但基于上文分析的原因,90年代研究者申請(qǐng)的那些專利都沒有在這些商品中得到實(shí)際的應(yīng)用。各個(gè)生產(chǎn)廠家正在使用的那些評(píng)價(jià)標(biāo)準(zhǔn)基本都是當(dāng)年唐駿發(fā)明的那套設(shè)備,俗稱“唐駿標(biāo)準(zhǔn)”。但還是多少有一些差別,高檔一點(diǎn)的可能做一下FFT,進(jìn)行頻頻分析;低檔次的甚至是直接比較音量的大小,音量越大得分越高。有人曾做過(guò)實(shí)驗(yàn),讓一個(gè)三歲小孩在萬(wàn)利達(dá)的卡拉OK機(jī)前大聲哭著喊媽媽,結(jié)果由于小孩子聲帶小,發(fā)聲頻率高,音量又大,竟得了98分,非常匪夷所思。前一段時(shí)間流行的江蘇衛(wèi)視的《誰(shuí)敢來(lái)唱歌》欄目也應(yīng)有了機(jī)器打分系統(tǒng)。他們從國(guó)外引進(jìn)了一套叫SAM的系統(tǒng),使用時(shí)先將每首歌的原音預(yù)錄進(jìn)去,然后設(shè)置10個(gè)關(guān)鍵字點(diǎn)。得分的高低,取決于這10個(gè)關(guān)鍵字唱得準(zhǔn)不準(zhǔn),也許別的地方唱得不特別準(zhǔn),但關(guān)鍵字唱對(duì)了,選手也能得高分。使用后被很多觀眾抱怨評(píng)分不準(zhǔn)。

經(jīng)過(guò)近幾十年的發(fā)展,硬件設(shè)備尤其是大規(guī)模集成電路技術(shù)取得了巨大的進(jìn)步。目前最新的DSP芯片每秒能進(jìn)行上百萬(wàn)次的運(yùn)算,XILINX的的并行處理能力也已經(jīng)非常強(qiáng)大了。用這些芯片對(duì)音頻信號(hào)進(jìn)行一些FFT運(yùn)算和頻域分析,硬件方面已經(jīng)沒有問題了。因此,本文提出一種基于和DSP的新型卡拉OK評(píng)分系統(tǒng)。本系統(tǒng)除了運(yùn)用一些新型的集成芯片來(lái)進(jìn)行運(yùn)算處理,還提出了一種改進(jìn)了的評(píng)分算法,來(lái)盡量減小評(píng)分所需的運(yùn)算量,同時(shí)使評(píng)價(jià)結(jié)果與演唱者實(shí)際水平盡量吻合。

  1. 語(yǔ)音信號(hào)的基本特征

圖1:一段語(yǔ)音的時(shí)域波形圖

圖[1]是一小段語(yǔ)音的時(shí)域波形圖,可以看出,語(yǔ)音一般由三部分組成:無(wú)音段、清音段和濁音段。無(wú)音段不存在語(yǔ)音信號(hào),在背景噪聲較低的情況下,幅度近似為零。清音信號(hào)的幅度很小,沒有規(guī)律,類似于隨機(jī)噪聲。濁音信號(hào)幅度較大,波形的上下起伏近似呈現(xiàn)周期性,稱之為準(zhǔn)周期性。語(yǔ)音信號(hào)有兩個(gè)重要的時(shí)域參數(shù):短時(shí)能量和基音周期。從圖2.1可以看出信號(hào)的幅度隨時(shí)間改變而變化顯著,短時(shí)能量可以反映這一特性,其定義如下:

(2.2.1)

短時(shí)能量的主要意義在于給出了區(qū)分清濁音的基礎(chǔ),清音的短時(shí)能量明顯小于濁音的短時(shí)能量,用短時(shí)能量可以大體分辨出清音、濁音以及清音變成濁音的時(shí)刻,對(duì)于質(zhì)量很高(高信噪比)的語(yǔ)音,也可用來(lái)區(qū)分有音與無(wú)音。

從圖[1]可以看出,濁音信號(hào)是一個(gè)準(zhǔn)周期信號(hào),其周期稱為基音周期,基音周期的倒數(shù)稱為基頻 (Pitch)。基音周期實(shí)際上是聲門波往復(fù)一次的時(shí)間長(zhǎng)度。聲門波是指聲門氣流的速率隨時(shí)間變化的函數(shù)曲線。通常而言,當(dāng)聲帶閉合時(shí),聲門處受阻聚積的氣流會(huì)逐漸沖開聲帶,氣流速率也隨之開始緩慢地增大,達(dá)到最大值后由于聲帶突然閉合,氣流速率陡降為零,如圖[2]所示。

圖2:周期性變化的聲門氣流速

不同說(shuō)話人發(fā)出同一濁音時(shí),基頻差異明顯,尤其是男女聲。一般來(lái)說(shuō),正常成人男聲的基頻在0—200Hz左右,正常成人女聲的基頻為200—450Hz,小孩的基頻比女聲的基頻還要高,老人的基頻則比正常成年男聲還要低。

語(yǔ)音信號(hào)還有一個(gè)很重要的特性即短時(shí)平穩(wěn)性,語(yǔ)音信號(hào)是非平穩(wěn)信號(hào),但在某一個(gè)比較短的時(shí)間里,語(yǔ)音信號(hào)可以被看成是平穩(wěn)的。這段時(shí)間一般可取為5—50ms。短時(shí)平穩(wěn)性是的基礎(chǔ)。

  1. 頻域特性

對(duì)一段語(yǔ)音進(jìn)行分幀加窗后再進(jìn)行傅立葉變換就可以得到該幀語(yǔ)音的短時(shí)譜。清音的短時(shí)譜類似于隨機(jī)信號(hào)的頻譜。而濁音信號(hào)的短時(shí)譜有兩個(gè)特點(diǎn):第一,有明顯的周期性起伏,這是因?yàn)闈嵋舻募?lì)源為周期脈沖氣流;第二,頻譜中具有幾個(gè)明顯的凸起點(diǎn),它們對(duì)應(yīng)的頻率與聲道的諧振頻率一致。這些凸起點(diǎn)稱為共振峰(Formant),其頻率稱為共振峰頻率,簡(jiǎn)稱共振峰。共振峰按頻率由低到高排列依次為第一共振峰、第二共振峰、…,一般用字母F1、F2…來(lái)表不。一般濁音中前二個(gè)共振峰對(duì)說(shuō)話人的個(gè)性特征影響較大,而前兩個(gè)對(duì)于區(qū)別不同語(yǔ)音至關(guān)重要。

  1. 語(yǔ)音信號(hào)的特征參數(shù)
  1. 短時(shí)頻譜

語(yǔ)音信號(hào)特征在較短的時(shí)間間隔中保持基本不變,即語(yǔ)音信號(hào)具有時(shí)變特性,因而可以將語(yǔ)音信號(hào)看作是一個(gè)短時(shí)平穩(wěn)過(guò)程。語(yǔ)音信號(hào)具有一些重要的短時(shí)特征。短時(shí)頻譜是語(yǔ)音信號(hào)的一個(gè)重要的短時(shí)特性。

B:短時(shí)自相關(guān)函數(shù)

S:自相關(guān)函數(shù)Rw(г)稱為S(n)的短時(shí)自相關(guān)函數(shù)。

T:短時(shí)平均幅度

S(n)的短時(shí)平均幅度計(jì)算公式如下:

(3.1)

  1. 短時(shí)過(guò)零率

信號(hào)按段分割就稱為短時(shí),段可是幀大小。過(guò)零就是信號(hào)的幅度值從正值到負(fù)值、負(fù)值到正值要經(jīng)過(guò)零點(diǎn),統(tǒng)計(jì)信號(hào)在一秒鐘內(nèi)有幾次過(guò)零就是過(guò)零率。以短時(shí)能量為主,短時(shí)過(guò)零率為輔,可對(duì)語(yǔ)音信號(hào)中的清音進(jìn)行較精密的檢測(cè)。

  1. 倒譜

倒譜是一段語(yǔ)音信號(hào)的一組重要參數(shù)。要計(jì)算信號(hào)SW(n)的倒譜,首先要計(jì)算SW(n)的離散傅立葉變換,然后對(duì)離散傅立葉變換的模取對(duì)數(shù),最后再做傅立葉反變換,這樣得到的c(n)被稱做是“倒頻譜”或“倒譜”。

還有其它的一些特征參數(shù),由于在本文中或者在音頻信號(hào)的研究中應(yīng)用的較少,在這里就不一一介紹了。

  1. 實(shí)現(xiàn)原理與方案

下面來(lái)詳細(xì)敘述一下本文提出的評(píng)分算法。在敘述中將會(huì)遇到兩種音頻信號(hào),為方便起見,我們稱卡拉OK機(jī)內(nèi)自帶的專業(yè)歌手原唱的音頻信號(hào)為原唱,稱卡拉OK機(jī)的使用者演唱的音頻信號(hào)為翻唱。評(píng)價(jià)過(guò)程分為兩個(gè)部分來(lái)完成。

首先進(jìn)行時(shí)域分析,判斷演唱者的協(xié)調(diào)性。由前幾段對(duì)音頻信號(hào)的特點(diǎn)可知,音頻信號(hào)的時(shí)域波形并不是連續(xù)的,而是一段一段的,每一段大約持續(xù)10ms—30ms,稱為一個(gè)音節(jié)。時(shí)域分析主要是針對(duì)各個(gè)音節(jié)進(jìn)行分析,先用短時(shí)加窗法將信號(hào)進(jìn)行分幀,然后計(jì)算出各幀信號(hào)的能量主要集中區(qū)域。比較根據(jù)兩種信號(hào)得到的能量主要集中區(qū)域,如果比較吻合則說(shuō)明演唱者的協(xié)調(diào)性很好,可給一個(gè)較高的分?jǐn)?shù);如果兩種情況下的區(qū)域?qū)Φ貌皇呛荦R,則說(shuō)明協(xié)調(diào)性不好,得到應(yīng)該給低一點(diǎn)。每次比較完一幀便將比較結(jié)果記錄到存儲(chǔ)器的特定區(qū)域。

在時(shí)域分析的同時(shí)進(jìn)行頻域分析,如軟件流程圖[3]所示,時(shí)隙分配是每取出一幀,先對(duì)它進(jìn)行時(shí)域分析,記錄完分析結(jié)果后,再將信號(hào)進(jìn)行FFT變換,做頻域分析。主要是比較原唱和翻唱頻譜曲線的一致性,借助于頻譜分析分別比較高頻段和低頻段。根據(jù)相似性得到一個(gè)得分。

本項(xiàng)目的實(shí)現(xiàn)是通過(guò)用System Generator 進(jìn)行仿真,用MatlabaZ中的Simulink來(lái)實(shí)現(xiàn)具體的仿真, 并將最后的結(jié)果導(dǎo)入到中已實(shí)現(xiàn)最終的目的。

圖3:軟件流程圖

當(dāng)把所有幀都分析完以后,再將各幀的得分相加,進(jìn)行百分制處理,即可得到總得分。最后將該得分送入液晶顯示。

其中的系統(tǒng)框圖如圖[4]所示:

圖4:系統(tǒng)框圖



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉