專利名稱:音頻序列器及聲音文件處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及聲音合成領(lǐng)域,尤其涉及一種聲音合成系統(tǒng)中的音頻序列器及其聲音文件處理方法。
背景技術(shù):
現(xiàn)有技術(shù)中一般通過聲音合成系統(tǒng)來進(jìn)行聲音文件的還原和再現(xiàn)。
聲音文件主要包括以下三大類聲音信號(hào)文件,這類文件從根本上講都是記錄了聲音本身的波形數(shù)據(jù),采用不同的編碼算法對(duì)原始波形數(shù)據(jù)進(jìn)行處理進(jìn)而縮減文件大小,在還原此類聲音文件時(shí),再用相應(yīng)的解碼器將其還原成原始的聲音波形數(shù)據(jù),MP3就是此類文件;樂譜文件,這類文件記錄著樂器演奏的節(jié)奏和音階的信息,其本身并不包含具體聲音波形數(shù)據(jù)。因此樂譜文件的特點(diǎn)是文件尺寸非常小,一首5分鐘的大型交響樂也不過100Kbyte左右,比如MIDI,SMAF,VMD等等。以MIDI的波表合成為例作簡要介紹首先,包洛曲線生成器根據(jù)MIDI消息,計(jì)算出包洛曲線;其次,波形生成器從波表庫中取出與MIDI消息相對(duì)應(yīng)的波表數(shù)據(jù),即所要合成樂器的真實(shí)聲音的采樣數(shù)據(jù),然后再進(jìn)行調(diào)頻計(jì)算產(chǎn)生波形;最后,用包洛曲線對(duì)波形數(shù)據(jù)進(jìn)行調(diào)幅完成對(duì)MIDI消息的合成。其他種類樂譜文件的合成方法與MIDI波表合成方法基本類似。
語音合成文件,相對(duì)于以上兩種聲音文件格式,語音合成的文件最為簡單,只要是文本文件就可以,盡管其合成算法的復(fù)雜度遠(yuǎn)遠(yuǎn)超過上述的兩種文件,在語音合成系統(tǒng)中的語音合成器這個(gè)模塊功能上非常類似于樂譜文件(MIDI)的波表合成器。
在針對(duì)上述聲音文件的合成中,現(xiàn)有技術(shù)已經(jīng)采用了事件處理模式,即通過對(duì)聲音數(shù)據(jù)進(jìn)行解析,并抽取相應(yīng)的聲音信息和命令信息作為合成事件,然后聲音合成系統(tǒng)再根據(jù)合成事件包含的各種信息和參數(shù)完成對(duì)聲音的合成和再現(xiàn)。上述技術(shù)可從中國專利申請(qǐng)CN200310116826.6《一種聲音合成方法》,及CN200310116828.5《可對(duì)不同種類聲音數(shù)據(jù)進(jìn)行合成的聲音合成系統(tǒng)》中得到詳細(xì)描述。
現(xiàn)有音頻合成系統(tǒng)通常主要由音頻序列器、聲音合成器、音源電路三部分組成。對(duì)于常用的音頻序列器,通常一首樂曲會(huì)通過一種格式的數(shù)據(jù)順序的排列放到音頻序列器的聲音事件緩沖器中,然后把這聲音播放數(shù)據(jù)按順序輸出用于合成聲音的指令,再通過聲音合成器和音源電路播放出來。詳見中國專利申請(qǐng)CN200310116821.3《一種音頻序列器》。
其中一個(gè)音頻序列器一般只包括一個(gè)聲音事件緩沖器和一個(gè)聲音事件解釋器,如附圖1所示。這樣一來,在進(jìn)行聲音合成的時(shí)候,通常在一個(gè)時(shí)間內(nèi)只能播放一個(gè)聲音文件或樂曲,而不能同時(shí)進(jìn)行兩個(gè)聲音的播放或合成,譬如,在一個(gè)樂曲在正常進(jìn)行播放的時(shí)候,不能插入其他的即時(shí)播放聲音;或,當(dāng)播放一首背景音樂時(shí),我們便不可播放按鍵音。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種音頻序列器,其可實(shí)現(xiàn)在同一時(shí)間內(nèi)進(jìn)行多個(gè)聲音的播放與合成。
本發(fā)明的又一目的在于提供一種聲音文件處理方法,解決現(xiàn)有技術(shù)中音頻序列器在一段時(shí)間內(nèi)只能處理一個(gè)聲音文件的限制。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種音頻序列器,包括一組聲音處理裝置,該聲音處理裝置由一個(gè)聲音事件緩沖器和一個(gè)聲音事件解釋器構(gòu)成,其中聲音文件通過特定的軟件被轉(zhuǎn)換成特定編碼的聲音事件數(shù)據(jù),這種聲音事件數(shù)據(jù)會(huì)順序放入所述聲音事件緩沖器,所述聲音事件解釋器從上述聲音事件緩沖器中讀出聲音事件數(shù)據(jù),并解釋這些數(shù)據(jù),產(chǎn)生解釋數(shù)據(jù),其特點(diǎn)在于本發(fā)明還包括一個(gè)控制裝置,和,一組或多組新增的聲音處理裝置,其中每組均包含有一個(gè)聲音事件緩沖器和一個(gè)聲音事件解釋器。
所述新增的聲音處理裝置與原有聲音處理裝置讀取數(shù)據(jù)的優(yōu)先級(jí)不同,所述控制裝置根據(jù)優(yōu)先級(jí)的高低來控制所述聲音處理裝置中聲音事件緩沖器讀取聲音數(shù)據(jù)的優(yōu)先次序和工作狀態(tài)。
進(jìn)一步地,所述新增聲音處理裝置的優(yōu)先級(jí)高于原有聲音處理裝置。
進(jìn)一步地,所述裝置包括一個(gè)即時(shí)命令緩沖器和一個(gè)命令解釋器,即時(shí)命令緩沖器接收外部傳送來的即時(shí)命令數(shù)據(jù),命令解釋器從即時(shí)命令緩沖器中取出即時(shí)命令數(shù)據(jù),并對(duì)這些即時(shí)命令數(shù)據(jù)進(jìn)行解釋。
進(jìn)一步地,所述即時(shí)命令緩沖器是采用即時(shí)調(diào)度方式。
進(jìn)一步地,所述即時(shí)命令緩沖器的優(yōu)先級(jí)高于所述聲音事件緩沖器。
為達(dá)到上述目的,本發(fā)明還提供了一種聲音文件處理方法,其特點(diǎn)在于,包括下列步驟設(shè)定讀取多個(gè)聲音文件的路徑;設(shè)定不同路徑讀取聲音文件的優(yōu)先級(jí);根據(jù)優(yōu)先級(jí)的不同來控制各個(gè)路徑讀取聲音文件的次序。
進(jìn)一步地,上述方法還包括以下特點(diǎn)可以預(yù)先設(shè)定一個(gè)即時(shí)命令讀取的路徑。
所述即時(shí)命令讀取路徑的優(yōu)先級(jí)高于其它路徑。
由上述技術(shù)方案可見,本發(fā)明通過增加不同優(yōu)先級(jí)的聲音處理裝置,并利用控制裝置按照優(yōu)先級(jí)來控制多個(gè)聲音文件的讀取,可以達(dá)到支持多個(gè)聲音文件同時(shí)播放的效果。
另外,還支持接收即時(shí)命令,這樣用戶可以即時(shí)的改變樂曲的每一音符,使帶有這種音頻序列器的裝置或系統(tǒng)顯得更加靈活。
圖1為現(xiàn)有技術(shù)中音頻序列器的結(jié)構(gòu)簡圖;圖2為本發(fā)明所述音頻序列器實(shí)施例一的結(jié)構(gòu)簡圖;圖3為本發(fā)明所述音頻序列器實(shí)施例二的結(jié)構(gòu)簡圖;圖4為本發(fā)明所述音頻序列器實(shí)施例一的工作示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
如圖2所示,為本發(fā)明所述裝置的一個(gè)實(shí)施例。包括聲音事件緩沖器1和一個(gè)聲音事件解釋器1,一個(gè)聲音文件通過特定的軟件被轉(zhuǎn)換成特定編碼的聲音事件1,這種聲音事件數(shù)據(jù)會(huì)被順序地放入聲音事件緩沖器1,聲音事件解釋器1從聲音事件緩沖器1中讀出聲音事件數(shù)據(jù),并解釋這些數(shù)據(jù),產(chǎn)生解釋數(shù)據(jù);聲音事件緩沖器2和一個(gè)聲音事件解釋器2,另一個(gè)聲音文件同樣被轉(zhuǎn)換成特定編碼的聲音事件2,這種聲音事件數(shù)據(jù)最后被轉(zhuǎn)化為另一組解釋數(shù)據(jù);上述兩組解釋數(shù)據(jù)都會(huì)被送入圖中所示控制裝置,但上述兩組解釋數(shù)據(jù)的優(yōu)先級(jí)是不同的,控制裝置將得到的數(shù)據(jù)通過不同的優(yōu)先級(jí)送到聲音合成器(未示出)中進(jìn)行合成,以達(dá)到同時(shí)播放的效果。
如圖3所示,為本發(fā)明所述裝置的另一個(gè)實(shí)施例。其在實(shí)施例一的基礎(chǔ)上增加了一個(gè)即時(shí)命令緩沖器和一個(gè)命令解釋器,即時(shí)命令緩沖器收到從外部傳送來的即時(shí)命令數(shù)據(jù)后,命令解釋器從即時(shí)命令緩沖器中取出即時(shí)命令數(shù)據(jù),并對(duì)這些即時(shí)命令數(shù)據(jù)進(jìn)行解釋;由所述聲音事件解釋器和命令解釋器中產(chǎn)生的解釋數(shù)據(jù)都將傳給控制裝置,一旦有命令數(shù)據(jù)被放到命令解釋器中時(shí),控制裝置會(huì)發(fā)出控制指令,使上述兩組聲音事件解釋器將不再到聲音事件緩沖器中讀取聲音事件數(shù)據(jù),只有命令數(shù)據(jù)被命令解釋器解釋完畢,控制裝置發(fā)出控制指令給上述兩組聲音事件解釋器后,事件解釋器才繼續(xù)向聲音事件緩沖器1中取出聲音事件數(shù)據(jù)。
如圖4所示,為本發(fā)明所述實(shí)施例一的工作示意圖,一個(gè)MIDI消息發(fā)送過來,我們通過特定的軟件將它轉(zhuǎn)化成聲音事件數(shù)據(jù),這樣的聲音事件數(shù)據(jù)包括一個(gè)音符的包絡(luò)線的所有信息,包括它的斜率,起始地址,音符的時(shí)間間隔等信息,還包括通道的打開,關(guān)閉等事件信息。然后,把這些聲音事件數(shù)據(jù)放入聲音事件緩沖器1中,如果這個(gè)聲音事件數(shù)據(jù)包含有note on信息,經(jīng)過聲音事件解釋器1的解釋,發(fā)給控制裝置,則會(huì)打開控制裝置中的寄存器(未示出),所述的寄存器控制聲音合成器,使得這聲音合成器中的相關(guān)通道工作,然后,事件解釋器1按順序解釋聲音事件緩沖器1里的聲音事件數(shù)據(jù)。
如果,此時(shí)用戶需要執(zhí)行另一個(gè)聲音文件,譬如按鍵聲音,則按鍵聲音轉(zhuǎn)換成即時(shí)聲音數(shù)據(jù)后被聲音事件緩沖器2讀入,然后聲音事件解釋器2會(huì)對(duì)其進(jìn)行解釋,并將解釋后的數(shù)據(jù)發(fā)送給控制裝置,由于聲音事件緩沖器2和聲音事件解釋器2的優(yōu)先級(jí)不同于聲音事件緩沖器1和聲音事件解釋器1的優(yōu)先級(jí),控制裝置會(huì)將這兩個(gè)音樂文件以不同的優(yōu)先級(jí)送入合成通道,或優(yōu)先播放按鍵聲音,或在同樣的時(shí)鐘頻率的不同周期內(nèi)次序輪流播放這兩個(gè)音樂文件,因?yàn)槿硕鷮?duì)極高頻率的中斷性連續(xù)播放并不敏感,很難分辨,從而可以達(dá)到兩個(gè)聲音文件同時(shí)播放的實(shí)際效果。
本發(fā)明所述裝置和方法可被用于諸如移動(dòng)電話、PDA等便攜式裝置的鈴音播放系統(tǒng)中,也可被用于其它帶有聲音合成系統(tǒng)的電子裝置內(nèi),應(yīng)當(dāng)指出,以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和變化,這些改進(jìn)和變化也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種音頻序列器,包括一組聲音處理裝置,該聲音處理裝置由一個(gè)聲音事件緩沖器和一個(gè)聲音事件解釋器構(gòu)成,其中聲音文件通過特定的軟件被轉(zhuǎn)換成特定編碼的聲音事件數(shù)據(jù),這種聲音事件數(shù)據(jù)會(huì)順序放入所述聲音事件緩沖器,所述聲音事件解釋器從上述聲音事件緩沖器中讀出聲音事件數(shù)據(jù),并解釋這些數(shù)據(jù),產(chǎn)生解釋數(shù)據(jù),其特征在于本發(fā)明還包括一個(gè)控制裝置,和,一組或多組新增的聲音處理裝置,其中每組均包含有一個(gè)聲音事件緩沖器和一個(gè)聲音事件解釋器。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述新增的聲音處理裝置與原有聲音處理裝置讀取數(shù)據(jù)的優(yōu)先級(jí)不同,所述控制裝置根據(jù)優(yōu)先級(jí)的高低來控制所述聲音處理裝置中聲音事件緩沖器讀取聲音數(shù)據(jù)的優(yōu)先次序和工作狀態(tài)。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述新增聲音處理裝置的優(yōu)先級(jí)高于原有聲音處理裝置。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述裝置包括一個(gè)即時(shí)命令緩沖器和一個(gè)命令解釋器,即時(shí)命令緩沖器接收外部傳送來的即時(shí)命令數(shù)據(jù),命令解釋器從即時(shí)命令緩沖器中取出即時(shí)命令數(shù)據(jù),并對(duì)這些即時(shí)命令數(shù)據(jù)進(jìn)行解釋。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述即時(shí)命令緩沖器是采用即時(shí)調(diào)度方式。
6.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述即時(shí)命令緩沖器的優(yōu)先級(jí)高于所述聲音事件緩沖器。
7.一種聲音文件處理方法,其特征在于,包括下列步驟設(shè)定讀取多個(gè)聲音文件的路徑;設(shè)定不同路徑讀取聲音文件的優(yōu)先級(jí);根據(jù)優(yōu)先級(jí)的不同來控制各個(gè)路徑讀取聲音文件的次序。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,還可以預(yù)先設(shè)定一個(gè)即時(shí)命令讀取的路徑。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述即時(shí)命令讀取路徑的優(yōu)先級(jí)高于其它路徑。
全文摘要
本發(fā)明公開了一種音頻序列器,包括一組聲音處理裝置,該聲音處理裝置由一個(gè)聲音事件緩沖器和一個(gè)聲音事件解釋器構(gòu)成,其特點(diǎn)在于還包括一個(gè)控制裝置,和,一組或多組新增的聲音處理裝置,其中每組均包含有一個(gè)聲音事件緩沖器和一個(gè)聲音事件解釋器。本發(fā)明還公開了一種聲音文件處理方法。通過本發(fā)明所述裝置和方法,可以達(dá)到支持多個(gè)聲音文件同時(shí)播放的效果。
文檔編號(hào)G10L13/00GK1719513SQ20051008776
公開日2006年1月11日 申請(qǐng)日期2005年8月8日 優(yōu)先權(quán)日2005年8月8日
發(fā)明者李公成, 金傳恩, 程青云 申請(qǐng)人:北京中星微電子有限公司