專利名稱:一種可擴展音色的波表合成系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及運用在移動平臺上的MIDI波表合成領域,具體地說,是涉及一種可擴展音色的波表合成系統(tǒng)。
背景技術:
手機是如今發(fā)展非常迅速的一個領域,人們已經(jīng)不能滿足手機僅僅作為一個普通的通話裝置,希望手機可以是一個完全的手持多媒體平臺,比如在鈴聲方面,已經(jīng)完成了單一鈴聲向多和弦鈴聲的過渡,現(xiàn)在正逐步從FM合成方式向波表合成方式過渡。由于現(xiàn)在的手機CPU的處理速度還很慢,無法用軟件實現(xiàn)波表合成的算法,所以能夠內(nèi)涵波表合成、數(shù)摸轉換和放大模塊的芯片就成了理想的選擇。由于應用于手機上,所以此類芯片成本和體積受到了嚴格的限制,這就導致了芯片內(nèi)部的波表庫不能做得很大,只能放大標準MIDI所規(guī)定的幾種重點音色的采樣,如果放入標準MIDI規(guī)定的所有128種音色和47種打擊樂,那么每個音色的采樣就會非常小,這樣會嚴重影響合成效果。
而且,由于波表庫大小的限制,芯片只能在標準MIDI所規(guī)定的音色中有選擇的支持,對于像二胡、古箏這樣的民族樂器就不能支持了。這樣我們國家那么優(yōu)秀的古典樂曲就無法展現(xiàn),這不能不說是一種遺憾。
其實,同樣的問題也存在于其他的波表合成領域,只不過在手機等手持設備上顯得尤為突出。
發(fā)明內(nèi)容
本發(fā)明的目的是為了提供一種可擴展音色的波表合成系統(tǒng),該系統(tǒng)可以使波表庫得以擴展,可以根據(jù)用戶的需要合成出音符,達到靈活合成的目的。
為達到上述目的,本發(fā)明提供方案如下一種可擴展音色的波表合成系統(tǒng),包括接收到MIDI消息消息分析模塊、波表庫模塊、波表合成模塊;本發(fā)明所述的波表庫合成模塊包括主波表庫單元及擴展波表庫單元;
本發(fā)明所述的消息分析模塊對MIDI消息的音色信息進行分析判斷并確定該音色所對應的波表采樣是在主波表庫單元還是在擴展波表庫單元中,消息分析模塊根據(jù)判斷結果從主波表庫單元或者擴展波表庫單元中獲取采樣數(shù)據(jù)的屬性信息,并把與這個采樣相關的參數(shù)進行運算,得到包括地址信息在內(nèi)的相關參數(shù)信息,然后發(fā)給波表合成模塊,波表合成模塊根據(jù)接收到的相關參數(shù)信息從主波表庫單元或者擴展波表庫單元中提取波表采樣信息并進行合成。
本發(fā)明所述的消息分析模塊中包含音色映射算法單元。
本發(fā)明所述的波表合成模塊中包含包絡曲線生成單元、波形生成單元,當波表合成模塊接收到從波表庫模塊傳來的包括地址信息在內(nèi)的相關參數(shù)信息后,波表合成模塊中的包絡曲線生成單元根據(jù)得到的相關參數(shù)信息生成包絡曲線,波表合成模塊中的波形生成單元根據(jù)得到的相關參數(shù)信息從波表庫模塊中提取出所需要的波表采樣信息,再輔以其他參數(shù)對采樣進行調(diào)頻生成波形,用包絡曲線對波形生成單元所產(chǎn)生的波形進行調(diào)幅操作,完成這個音符的合成工作。
本發(fā)明所述的波表合成系統(tǒng)中,主波表庫單元與擴展波表庫單元統(tǒng)一編址,波表合成模塊完全根據(jù)信息分析模塊發(fā)送來的波表采樣的地址信息從主波表庫單元或者擴展波表庫單元中提取波表采樣信息進行合成。
本發(fā)明所述的波表合成系統(tǒng)中,主波表庫單元與擴展波表庫單元分開編址,波表合成單元中增加波表庫選擇單元,消息分析模塊將從波表庫模塊中獲取的采樣數(shù)據(jù)的屬性信息進行相關參數(shù)運算,發(fā)給波表庫選擇單元,波表庫選擇單元將波表庫選擇信息發(fā)給波形生成單元,波形生成單元根據(jù)波表庫選擇信息選擇主波表庫單元(或者擴展波表庫單元來讀取相關采樣數(shù)據(jù)信息。
本發(fā)明所述的主波表庫單元是一個只讀的波表庫單元,可以存放標準MIDI規(guī)定的所有128種音色和47種打擊樂。
本發(fā)明所述的擴展波表庫單元是一個可讀寫的波表庫單元,根據(jù)所要合成的MIDI文件的具體情況,可以從外界載入其它波表數(shù)據(jù)。
本發(fā)明所述的擴展波表庫單元從外界載入的波表采樣可以只是一些具有代表性的采樣數(shù)據(jù),其他的采樣則通過對這些具有代表性采樣數(shù)據(jù)調(diào)頻得到。
與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于
本發(fā)明的擴展波表庫單元是對主波表庫單元的一個有效補充,這樣系統(tǒng)的主波表庫單元就可以放入比較常用的音色的波表,而擴展波表庫單元中可以根據(jù)所要合成MIDI文件的具體情況,從外界載入其它波表數(shù)據(jù),這樣就使得系統(tǒng)非常靈活。像二胡、古箏等民族樂器就可以輕而易舉的表現(xiàn)出來。
本發(fā)明的目的、特點及優(yōu)點將結合實施例,參照附圖作進一步的說明。
附圖1是本發(fā)明所述系統(tǒng)的主要結構框圖;具體實施方式
參照附圖,圖1是本發(fā)明所述系統(tǒng)的主要結構框圖。
一種可擴展音色的波表合成系統(tǒng),包括接收到MIDI消息消息分析模塊1、波表庫模塊2、波表合成模塊3;本發(fā)明所述的波表庫合成模塊2包括主波表庫單元4及擴展波表庫單元5;本發(fā)明所述的消息分析模塊1對MIDI消息的音色信息進行分析判斷并確定該音色所對應的波表采樣是在主波表庫單元4還是在擴展波表庫單元5中,消息分析模塊1根據(jù)判斷結果從主波表庫單元4或者擴展波表庫單元5中獲取采樣數(shù)據(jù)的屬性信息,并把與這個采樣相關的參數(shù)進行運算,得到包括地址信息在內(nèi)的相關參數(shù)信息,然后發(fā)給波表合成模塊3,波表合成模塊3根據(jù)接收到的相關參數(shù)信息從主波表庫單元4或者擴展波表庫單元5中提取波表采樣信息并進行合成。
本發(fā)明所述的消息分析模塊1中包含音色映射算法單元。
本發(fā)明所述的波表合成模塊3中包含包絡曲線生成單元6、波形生成單元7,當波表合成模塊3接收到從波表庫模塊2傳來的包括地址信息在內(nèi)的相關參數(shù)信息后,波表合成模塊3中的包絡曲線生成單元6根據(jù)得到的相關參數(shù)信息生成包絡曲線,波表合成模塊3中的波形生成單元7根據(jù)得到的相關參數(shù)信息從波表庫模塊2中提取出所需要的波表采樣信息,再輔以其他參數(shù)對采樣進行調(diào)頻生成波形,用包絡曲線對波形生成單元7所產(chǎn)生的波形進行調(diào)幅操作,完成這個音符的合成工作。
本發(fā)明所述的波表合成系統(tǒng)中,主波表庫單元4與擴展波表庫單元5統(tǒng)一編址,波表合成模塊3完全根據(jù)信息分析模塊1發(fā)送來的波表采樣的地址信息從主波表庫單元4或者擴展波表庫單元5中提取波表采樣信息進行合成。
本發(fā)明所述的主波表庫單元4與擴展波表庫單元5分開編址,波表合成單元3中增加波表庫選擇單元8,消息分析模塊1將從波表庫模塊2中獲取的采樣數(shù)據(jù)的屬性信息進行相關參數(shù)運算,發(fā)給波表庫選擇單元8,波表庫選擇單元8將波表庫選擇信息發(fā)給波形生成單元7,波形生成單元7根據(jù)波表庫選擇信息選擇主波表庫單元4或者擴展波表庫單元5來讀取相關采樣數(shù)據(jù)信息。
本發(fā)明所述的主波表庫單元4是一個只讀的波表庫單元,可以存放標準MIDI規(guī)定的所有128種音色和47種打擊樂。
本發(fā)明所述的擴展波表庫單元5是一個可讀寫的波表庫單元,根據(jù)所要合成的MIDI文件的具體情況,可以從外界載入其它波表數(shù)據(jù)。
本發(fā)明所述的擴展波表庫單元5從外界載入的波表采樣可以只是一些具有代表性的采樣數(shù)據(jù),其他的采樣則通過對這些具有代表性采樣數(shù)據(jù)調(diào)頻得到。
這里提到的消息分析模塊,增加了對音色映射消息的支持。我們以MIDI消息為例,MIDI文件中有這樣的一段十六進制代碼00 C0 00 00 90 64 70 55 80 6470,第一部分00 C0 00表示這段MIDI數(shù)據(jù)紀錄的是一首鋼琴演奏的樂曲。第三個字節(jié)00就是鋼琴在標準MIDI里的代碼。第二部分00 90 64 70表示此時鋼琴要開始演奏第64號音符。類似于現(xiàn)實的鋼琴演奏中,演奏者此時開始按下相應的琴鍵。第三部分55 80 64 70表示在00 90 64 70發(fā)生之后的第55個單位時間時,開始結束第64號音符的演奏。類似于演奏者在此時松開琴鍵。
在這里我們可以把MIDI帶的音色消息部分擴展一個字節(jié),如果增加的這個字節(jié)高位是1,例如00 C0 00 80,那么就表示0號音色要用主波表庫單元中的采樣來合成。如果增加的這個字節(jié)高位是0,例如00 C0 00 02,表示0號這個音色要擴展波表庫單元中的2號音色上去。于是接下來的消息00 90 64 70 5580 64 70就不表示音色0號的一個音符了,而表現(xiàn)的是擴展波表庫單元的2號音色。
參照圖2,表示二胡的一個五段波表的采樣。
由于波表庫是要與樂曲文件組成一個文件發(fā)送的,所以要盡量減小波表庫的大小。其中一個方法就是從波表庫取出多余的波表采樣數(shù)據(jù)。標準MIDI對每個音色都規(guī)定的128個音符,一般的波表庫并沒有把全部128音符的真實采樣數(shù)據(jù)都儲存下來,而是選擇了具有代表性一些音符的波表采樣。如果要合成其他音符時,就用這些采樣中的某一進調(diào)頻。例如一個二胡的波表庫保存了五段波表采樣,分別是二胡在演奏40,66,82,96,110音符時的采樣數(shù)據(jù)。在波表庫的參數(shù)里規(guī)定,0-60之間的音色用采樣1合成,61-60之間的音色用采樣2合成,71-90之間的音色用采樣3合成,91-100之間的音色用采樣4合成,101-127之間的音色用采樣5合成。如果要合成音符73,那么就要對采樣3進行調(diào)頻,把頻率從音符82調(diào)到73。這樣用五個采樣就可以代表二胡的全部128個音符。但是,如果要發(fā)布的二胡樂曲所有音符都在70-90之間,那么波表庫中只儲存一個采樣3就可以了,這樣既可以刪除其他采樣數(shù)據(jù)來減小波表庫的大小。
另一種減小波表庫的方法是把波表采樣數(shù)據(jù)進行壓縮,然后在放入系統(tǒng)的擴展波表庫之前還原被壓縮的波表庫。
此外還有其他的方法可以減小波表庫的大小這里就不贅述了。
本發(fā)明所述的一種可擴展音色的波表合成系統(tǒng),并不僅僅限于說明書和實施方式中所列運用,它完全可以被適用于各種適合本發(fā)明之領域,對于熟悉本領域的人員而言可容易地實現(xiàn)另外的優(yōu)點和進行修改,因此在不背離權利要求及等同范圍所限定的一般概念的精神和范圍的情況下,本發(fā)明并不限于特定的細節(jié)、代表性的設備和這里示出與描述的圖示示例。
權利要求
1.一種可擴展音色的波表合成系統(tǒng),包括接收到MIDI消息消息分析模塊(1)、波表庫模塊(2)、波表合成模塊(3);其特征在于所述的波表庫合成模塊(2)包括主波表庫單元(4)及擴展波表庫單元(5);消息分析模塊(1)對MIDI消息的音色信息進行分析判斷并確定該音色所對應的波表采樣是在主波表庫單元(4)還是在擴展波表庫單元(5)中,消息分析模塊(1)根據(jù)判斷結果從主波表庫單元(4)或者擴展波表庫單元(5)中獲取采樣數(shù)據(jù)的屬性信息,并把與這個采樣相關的參數(shù)進行運算,得到包括地址信息在內(nèi)的相關參數(shù)信息,然后發(fā)給波表合成模塊(3),波表合成模塊(3)根據(jù)接收到的相關參數(shù)信息從主波表庫單元(4)或者擴展波表庫單元(5)中提取波表采樣信息并進行合成。
2.根據(jù)權利要求1所述的波表合成系統(tǒng),其特征在于消息分析模塊(1)中包含音色映射算法單元。
3.根據(jù)權利要求1所述的波表合成系統(tǒng),其特征在于波表合成模塊(3)中包含包絡曲線生成單元(6)、波形生成單元(7),當波表合成模塊(3)接收到從波表庫模塊(2)傳來的包括地址信息在內(nèi)的相關參數(shù)信息后,波表合成模塊(3)中的包絡曲線生成單元(6)根據(jù)得到的相關參數(shù)信息生成包絡曲線,波表合成模塊(3)中的波形生成單元(7)根據(jù)得到的相關參數(shù)信息從波表庫模塊(2)中提取出所需要的波表采樣信息,再輔以其他參數(shù)對采樣進行調(diào)頻生成波形,用包絡曲線對波形生成單元(7)所產(chǎn)生的波形進行調(diào)幅操作,完成這個音符的合成工作。
4.根據(jù)權利要求1所述的波表合成系統(tǒng),其特征在于主波表庫單元(4)與擴展波表庫單元(5)統(tǒng)一編址,波表合成模塊(3)完全根據(jù)信息分析模塊(1)發(fā)送來的波表采樣的地址信息從主波表庫單元(4)或者擴展波表庫單元(5)中提取波表采樣信息進行合成。
5.根據(jù)權利要求1所述的波表合成系統(tǒng),其特征在于主波表庫單元(4)與擴展波表庫單元(5)分開編址,波表合成單元(3)中增加波表庫選擇單元(8),消息分析模塊(1)將從波表庫模塊(2)中獲取的采樣數(shù)據(jù)的屬性信息進行相關參數(shù)運算,發(fā)給波表庫選擇單元(8),波表庫選擇單元(8)將波表庫選擇信息發(fā)給波形生成單元(7),波形生成單元(7)根據(jù)波表庫選擇信息選擇主波表庫單元(4)或者擴展波表庫單元(5)來讀取相關采樣數(shù)據(jù)信息。
6.根據(jù)權利要求1所述的波表合成系統(tǒng),其特征在于主波表庫單元(4)是一個只讀的波表庫單元,可以存放標準MIDI規(guī)定的所有128種音色和47種打擊樂。
7.根據(jù)權利要求1所述的波表合成系統(tǒng),其特征在于擴展波表庫單元(5)是一個可讀寫的波表庫單元,根據(jù)所要合成的MIDI文件的具體情況,可以從外界載入其它波表數(shù)據(jù)。
8.根據(jù)權利要求6所述的波表合成系統(tǒng),其特征在于擴展波表庫單元(5)從外界載入的波表采樣可以只是一些具有代表性的采樣數(shù)據(jù),其他的采樣則通過對這些具有代表性采樣數(shù)據(jù)調(diào)頻得到。
全文摘要
本發(fā)明的波表合成系統(tǒng)包括消息分析模塊(1)、波表庫模塊(2)、波表合成模塊(3);所述的波表庫合成模塊(2)包括主波表庫單元(4)及擴展波表庫單元(5)。消息分析模塊(1)對MIDI消息進行分析判斷并確定其所對應的波表采樣是在主波表庫單元(4)還是在擴展波表庫單元(5)中,消息分析模塊(1)根據(jù)判斷結果從主波表庫單元(4)或者擴展波表庫單元(5)中獲取采樣數(shù)據(jù)的屬性信息,并把與這個采樣相關的參數(shù)進行運算,得到包括地址信息在內(nèi)的相關參數(shù)信息,然后發(fā)給波表合成模塊(3),波表合成模塊(3)根據(jù)接收到的相關參數(shù)信息從主波表庫單元(4)或者擴展波表庫單元(5)中提取波表采樣信息并進行合成。
文檔編號G10H7/00GK1547185SQ200310116819
公開日2004年11月17日 申請日期2003年11月28日 優(yōu)先權日2003年11月28日
發(fā)明者張韻東, 趙原 申請人:北京中星微電子有限公司