[發(fā)明專利]一種擴(kuò)展合成器音色的方法有效
| 申請?zhí)枺?/td> | 200610122817.1 | 申請日: | 2006-10-18 |
| 公開(公告)號: | CN101165772A | 公開(公告)日: | 2008-04-23 |
| 發(fā)明(設(shè)計(jì))人: | 馮穗豫 | 申請(專利權(quán))人: | 安凱(廣州)軟件技術(shù)有限公司 |
| 主分類號: | G10H1/00 | 分類號: | G10H1/00;G10H7/00 |
| 代理公司: | 廣州知友專利商標(biāo)代理有限公司 | 代理人: | 宣國華 |
| 地址: | 510663廣東省廣州市天河*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 擴(kuò)展 合成器 音色 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種擴(kuò)展合成器音色的方法。
背景技術(shù)
通用的MIDI規(guī)定了MIDI必需有128種樂器和47個(gè)打擊樂,但為了擴(kuò)展,不少新的MIDI標(biāo)準(zhǔn)比如XG、GS和GM2等都分別對音色進(jìn)行了擴(kuò)展,使其擁有更多的音色和打擊樂。但使用這些標(biāo)準(zhǔn)制作的MIDI文件通常只能使用對應(yīng)標(biāo)準(zhǔn)中的音色,如果還想使用以外的音色,還是沒有辦法,比如不管是XG、GS還是GM2中,都沒有定義像二胡這樣的樂器。如果一個(gè)曲子要用這樣的音色,只能用小提琴代替,其效果肯定是不如直接帶上這個(gè)音色的好。如果一個(gè)標(biāo)準(zhǔn)要帶上所有的音色,基本上是不可能的,因?yàn)槌苏鎸?shí)樂器發(fā)出的聲音是一種音色以外,這些樂器的不同奏法從某種角度上看也可以是一種音色,比如GM中就有弦樂的撥奏音色,同樣地,對于弦樂來說還有斷奏、顫音等奏法,而其他樂器也存在這樣的情況。對于這種模擬真實(shí)樂器發(fā)出的音色,目前最好的辦法是使用采樣,但如果要把所有的樂器的音色都通過采樣做到合成器中,通常在空間上是不允許的,所以根本無法用采樣的算法來實(shí)現(xiàn)所有的樂器。同時(shí),有些音色,比如合成音色,就算使用采樣也無法完美表現(xiàn),因?yàn)楹铣梢羯ǔJ怯啥嘧兊乃惴Q定的,算法越復(fù)雜,能達(dá)到的效果就更豐富,不是由采樣就能做到的。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種利用外部軟件或硬件來擴(kuò)展合成器,實(shí)現(xiàn)對MIDI文件的音色進(jìn)行擴(kuò)展的方法。
為了實(shí)現(xiàn)上述目的,可通過以下的技術(shù)措施來實(shí)現(xiàn):一種擴(kuò)展合成器音色的方法,解析MIDI文件并將MIDI數(shù)據(jù)發(fā)送到指明的合成器中,再對已經(jīng)添加到系統(tǒng)中的合成器進(jìn)行渲染并送向總輸出。
本發(fā)明所述的解析MIDI文件并保證MIDI數(shù)據(jù)能發(fā)送到指明的合成器,包括以下步驟:
1、初始化各個(gè)軌道的合成器選擇為默認(rèn)合成器;
2、解析MIDI文件各軌道的事件;
3、如果解析完成,則結(jié)束解析;
4、遇到Port?Name事件,則看是否能找到該事件指明名稱所指示的軟件或硬件合成器,若找到,則獲取對應(yīng)合成器接口參數(shù)的入口地址,同時(shí)若該合成器是第一次使用,則修改系統(tǒng)的“合成器總數(shù)”值,然后返回1;含則,保留該軌道默認(rèn)的合成器選擇,再返回1;
5、把事件送向如果該軌道選擇的入口地址相應(yīng)的合成器;
6、返回1。
所述步驟4的所指示的合成器具有可定位性,使用枚舉方式取得其所在位置;如果被枚舉到的時(shí)候,該合成器返回其唯一標(biāo)識名,表明其是指定的合成器。
所述步驟4的所指示的合成器,具備兩個(gè)作為合成器必需的接口,包括:1、能接收MIDI信息的接口,該接口能使音序器的MIDI信息傳給合成器;2、能提供具“處理函數(shù)”,或者稱“渲染函數(shù)”作用的接口,該接口能讓混音模塊能調(diào)用該合成器來產(chǎn)生需要的樣本;其中,所述兩個(gè)接口的參數(shù)跟呼叫者提供的參數(shù)一致。
本發(fā)明所述的對已經(jīng)添加到系統(tǒng)中的合成器進(jìn)行渲染并送向總輸出的過程,包括以下步驟:
1、清空最終混音緩沖;
2、檢查當(dāng)前系統(tǒng)有多少個(gè)合成器被激活,通常情況下至少有一個(gè)默認(rèn)的;
3、分別執(zhí)行各個(gè)合成器的“處理函數(shù)”,令其計(jì)算出其對應(yīng)長度的樣本,并將該結(jié)果與最終混音緩沖混合;
4、把最終混音緩沖的數(shù)據(jù)送向DA或者其他輸出設(shè)備;
5、如果還沒有結(jié)束,則返回1。
所述步驟3執(zhí)行各個(gè)合成器“處理函數(shù)”的過程,是通過調(diào)用其“處理函數(shù)”接口接收數(shù)據(jù),并產(chǎn)生混音模塊需要的樣本。
采用本發(fā)明所述的方法,通過對合成器實(shí)現(xiàn)擴(kuò)展,當(dāng)遇到Port?Name事件,能找到對應(yīng)的合成器,使需要的音色在其對應(yīng)合成器上得到最有效的回放,從而使MIDI得到很大的擴(kuò)展。此外,本發(fā)明方法通過執(zhí)行各合成器“處理函數(shù)”,把樣本結(jié)果送到最終混音緩沖,從而也能對合成音色實(shí)現(xiàn)完美的回放表現(xiàn)。
附圖說明
圖1為解析MIDI的流程示意圖;
圖2為合成器合成時(shí)的流程示意圖;
具體實(shí)施方式
本發(fā)明具體的實(shí)施方式可分成如下兩個(gè)部分:
一、解析MIDI并保證MIDI數(shù)據(jù)能發(fā)送到指明的合成器中
二、對已經(jīng)添加到系統(tǒng)中的合成器進(jìn)行渲染并送向總輸出現(xiàn)在依次說明:
一、初始化各MIDI軌道的合成器選擇為默認(rèn)合成器后,解析MIDI并保證MIDI數(shù)據(jù)能發(fā)送到指明的合成器中,如圖1所示,其過程包括如下步驟:
1、解析MIDI文件各軌道的事件。該步驟無異于一般解析MIDI信息的過程
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于安凱(廣州)軟件技術(shù)有限公司,未經(jīng)安凱(廣州)軟件技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610122817.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:銅源飼料添加劑及制備和使用方法
- 下一篇:耳標(biāo)鉗
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





