亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種動(dòng)態(tài)調(diào)整midi和弦數(shù)的音樂(lè)合成方法

文檔序號(hào):2823517閱讀:180來(lái)源:國(guó)知局
專利名稱:一種動(dòng)態(tài)調(diào)整midi和弦數(shù)的音樂(lè)合成方法
技術(shù)領(lǐng)域
本發(fā)明涉及在每秒百萬(wàn)指令(簡(jiǎn)稱MIPS)比較緊張的系統(tǒng)中(如移動(dòng)通信終端、嵌入式個(gè)人消費(fèi)產(chǎn)品等)實(shí)現(xiàn)高和弦數(shù)音樂(lè)設(shè)備數(shù)字接口(簡(jiǎn)稱MIDI)的解碼,特別是一種動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法。
背景技術(shù)
由于MIDI的解碼對(duì)MIPS要求極高,尤其在比較大的通信系統(tǒng)中,經(jīng)常會(huì)面臨與其他模塊爭(zhēng)搶資源的情況,從而導(dǎo)致MIDI播放不順暢,發(fā)生斷續(xù)、音質(zhì)下降等現(xiàn)象。通常的硬件解碼器有獨(dú)立的CPU,可以保證MIDI始終處于最高優(yōu)先級(jí),并且可以通過(guò)硬件上的一些中斷機(jī)制動(dòng)態(tài)屏蔽部分錦上添花的音效,以維持正常的解碼和播放速率。而在成本為關(guān)鍵考量因素的軟解碼系統(tǒng)中,我們就不得不考慮一些其他的辦法,來(lái)尋找音質(zhì)和解碼速度上的平衡。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,主要解決現(xiàn)有MIDI軟解碼系統(tǒng)的音質(zhì)和解碼速度上的平衡問(wèn)題,最大限度的實(shí)現(xiàn)高和弦高速率的MIDI解碼。
為解決上述技術(shù)問(wèn)題,本發(fā)明是這樣實(shí)現(xiàn)的一種動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,其特征在于在MIDI解碼器、音頻控制器、數(shù)據(jù)緩沖器之間構(gòu)建了一套動(dòng)態(tài)反饋機(jī)制,通過(guò)判斷data_in與data_out之間的緩沖數(shù)據(jù)量決定是否進(jìn)行PolyNumber平衡算法的動(dòng)態(tài)調(diào)整,其工作過(guò)程是這樣的解碼器解碼得到的數(shù)據(jù)按照一定的數(shù)據(jù)包大小放入數(shù)據(jù)緩沖器,同時(shí),data_in數(shù)據(jù)指針加1,音頻控制器每播放完一組數(shù)據(jù)后就會(huì)再?gòu)臄?shù)據(jù)緩沖器中提取數(shù)據(jù),每提取一包,data_out加1;當(dāng)(data_in-data_out)的值小于某一閥值時(shí),系統(tǒng)就會(huì)發(fā)送一個(gè)消息通知MIDI解碼器啟動(dòng)PolyNumber平衡算法,將PolyNumber下降至安全范圍內(nèi),并繼續(xù)解碼;待解碼速度高于播放速度,即DataBuffer的增長(zhǎng)速度大于縮減速度時(shí),(data_in-data_out)的值會(huì)越來(lái)越大,直至大于另一較高的閥值,系統(tǒng)又會(huì)發(fā)送另一個(gè)消息,通知MIDI解碼器將PolyNumber恢復(fù),以進(jìn)行全和弦高音質(zhì)的解碼。
所述的動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,其特征在于在進(jìn)行PolyNumber的平衡計(jì)算時(shí),根據(jù)當(dāng)前各個(gè)Poly的音量由大到小進(jìn)行保留的。
所述的動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,其特征在于設(shè)定多個(gè)PolyNumber平衡計(jì)算的閥值,根據(jù)不同的Buffer使用量進(jìn)行多級(jí)別的Poly調(diào)整。
藉由上述技術(shù)方案,本發(fā)明具有的技術(shù)效果是
1、通過(guò)本發(fā)明方法,首先保證了MIDI播放的順暢進(jìn)行,同時(shí),在進(jìn)行PolyNumber的平衡計(jì)算時(shí),我們的計(jì)算依據(jù)是根據(jù)當(dāng)前各個(gè)Poly的音量由大到小進(jìn)行保留的,因此,就可以最大限度地保留主旋律,保證音樂(lè)在聽(tīng)覺(jué)上的連貫性和完整性。
2、本發(fā)明方法可以完全由軟件實(shí)現(xiàn),節(jié)省了硬件上的成本;而在軟件資源的需求上,由于平衡低點(diǎn)(LowPoint)、平衡高點(diǎn)(HighPoint)、額定和弦數(shù)等參數(shù)完全可以根據(jù)實(shí)際系統(tǒng)的情況進(jìn)行客戶化配置,從而使得整個(gè)方案在應(yīng)用上非常靈活,適應(yīng)能力極強(qiáng)。


圖1是使用本發(fā)明方法的系統(tǒng)示意圖。
具體實(shí)施例方式
本發(fā)明的主要設(shè)計(jì)依據(jù)是MIDI樂(lè)曲和弦分布的不平衡性和MIDI解碼器額定和弦數(shù)的可控制性。前者是指每一首MIDI樂(lè)曲的和弦分布都是不均衡的,有時(shí)高,有時(shí)低,和弦越高,解碼速度相對(duì)就越慢,但偶爾的高和弦并不會(huì)影響整體的播放速度;MIDI解碼器的額定和弦數(shù)是指在MIDI解碼中所能支持的最高和弦數(shù),超過(guò)此值的和弦都將被略過(guò),不進(jìn)行解碼。所謂額定和弦可控制,就是說(shuō)可以根據(jù)需要設(shè)定MIDI解碼器的最高和弦數(shù)。
如圖1所示本發(fā)明在MIDI解碼器(MIDI Decoder)、音頻控制器(Voiceband)、數(shù)據(jù)緩沖器(DataBuffer)之間構(gòu)建了一套動(dòng)態(tài)反饋(Feedback)機(jī)制,通過(guò)判斷data_in與data_out之間的緩沖數(shù)據(jù)量決定是否進(jìn)行PolyNumber平衡算法的動(dòng)態(tài)調(diào)整,以及如何調(diào)整。系統(tǒng)工作過(guò)程是這樣的解碼器解碼得到的數(shù)據(jù)按照一定的數(shù)據(jù)包大小放入DataBuffer,同時(shí),data_in數(shù)據(jù)指針加1。Voiceband每播放完一組數(shù)據(jù)后就會(huì)再?gòu)腄ataBuffer中提取數(shù)據(jù),每提取一包,data_out加1。當(dāng)(data_in-data_out)的值小于某一閥值(設(shè)為L(zhǎng)owPoint)時(shí),系統(tǒng)就會(huì)發(fā)送一個(gè)消息通知Decoder啟動(dòng)PolyNumber平衡算法,將PolyNumber下降至安全范圍內(nèi),并繼續(xù)解碼。待解碼速度高于播放速度,即DataBuffer的增長(zhǎng)速度大于縮減速度時(shí),(data_in-data_out)的值會(huì)越來(lái)越大,直至大于另一較高的閥值(設(shè)為HighPoint),系統(tǒng)又會(huì)發(fā)送另一個(gè)消息,通知Decoder將PolyNumber恢復(fù),以進(jìn)行全和弦高音質(zhì)的解碼。
通過(guò)該方法,首先保證了MIDI播放的順暢進(jìn)行,同時(shí),在進(jìn)行PolyNumber的平衡計(jì)算時(shí),我們的計(jì)算依據(jù)是根據(jù)當(dāng)前各個(gè)Poly的音量由大到小進(jìn)行保留的,因此,就可以最大限度地保留主旋律,保證音樂(lè)在聽(tīng)覺(jué)上的連貫性和完整性。
該發(fā)明可以完全由軟件實(shí)現(xiàn),節(jié)省了硬件上的成本;而在軟件資源的需求上,由于平衡低點(diǎn)(LowPoint)、平衡高點(diǎn)(HighPoint)、額定和弦數(shù)等參數(shù)完全可以根據(jù)實(shí)際系統(tǒng)的情況進(jìn)行客戶化配置,從而使得整個(gè)方案在應(yīng)用上非常靈活,適應(yīng)能力極強(qiáng)。
根據(jù)實(shí)際系統(tǒng)的資源空閑情況,本發(fā)明還可以存在多種變化。比方說(shuō),可以設(shè)定多個(gè)PolyNumber平衡計(jì)算的閥值,根據(jù)不同的Buffer使用量進(jìn)行多級(jí)別的Poly調(diào)整,以實(shí)現(xiàn)更加平穩(wěn)的過(guò)渡;或者,除了進(jìn)行PolyNumber的調(diào)整外,還可以對(duì)各種音效的處理進(jìn)行開(kāi)關(guān)。在系統(tǒng)資源比較空閑時(shí),增加一些音效,以使音樂(lè)的表現(xiàn)力更趨完美,而資源緊張時(shí),則可以把這些音效有選擇性地關(guān)閉,節(jié)約有限的資源進(jìn)行最必要的計(jì)算,等等。
綜上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用來(lái)限定本發(fā)明的實(shí)施范圍。即凡依本發(fā)明申請(qǐng)專利范圍的內(nèi)容所作的等效變化與修飾,都應(yīng)為本發(fā)明的技術(shù)范疇。
權(quán)利要求
1.一種動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,其特征在于在MIDI解碼器、音頻控制器、數(shù)據(jù)緩沖器之間構(gòu)建了一套動(dòng)態(tài)反饋機(jī)制,通過(guò)判斷data_in與data_out之間的緩沖數(shù)據(jù)量決定是否進(jìn)行PolyNumber平衡算法的動(dòng)態(tài)調(diào)整,其工作過(guò)程是這樣的解碼器解碼得到的數(shù)據(jù)按照一定的數(shù)據(jù)包大小放入數(shù)據(jù)緩沖器,同時(shí),data_in數(shù)據(jù)指針加1,音頻控制器每播放完一組數(shù)據(jù)后就會(huì)再?gòu)臄?shù)據(jù)緩沖器中提取數(shù)據(jù),每提取一包,data_out加1;當(dāng)(data_in-data_out)的值小于某一閥值時(shí),系統(tǒng)就會(huì)發(fā)送一個(gè)消息通知MIDI解碼器啟動(dòng)PolyNumber平衡算法,將PolyNumber下降至安全范圍內(nèi),并繼續(xù)解碼;待解碼速度高于播放速度,即DataBuffer的增長(zhǎng)速度大于縮減速度時(shí),(data_in-data_out)的值會(huì)越來(lái)越大,直至大于另一較高的閥值,系統(tǒng)又會(huì)發(fā)送另一個(gè)消息,通知MIDI解碼器將PolyNumber恢復(fù),以進(jìn)行全和弦高音質(zhì)的解碼。
2.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,其特征在于在進(jìn)行PolyNumber的平衡計(jì)算時(shí),根據(jù)當(dāng)前各個(gè)Poly的音量由大到小進(jìn)行保留的。
3.根據(jù)權(quán)利要求1或2所述的動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,其特征在于設(shè)定多個(gè)PolyNumber平衡計(jì)算的閥值,根據(jù)不同的Buffer使用量進(jìn)行多級(jí)別的Poly調(diào)整。
全文摘要
一種動(dòng)態(tài)調(diào)整MIDI和弦數(shù)的音樂(lè)合成方法,其特征在于在MIDI解碼器、音頻控制器、數(shù)據(jù)緩沖器之間構(gòu)建了一套動(dòng)態(tài)反饋機(jī)制,通過(guò)判斷data_in與data_out之間的緩沖數(shù)據(jù)量決定是否進(jìn)行PolyNumber的動(dòng)態(tài)調(diào)整,以及如何調(diào)整。本發(fā)明主要解決現(xiàn)有MIDI軟解碼系統(tǒng)的音質(zhì)和解碼速度上的平衡問(wèn)題,最大限度的實(shí)現(xiàn)高和弦高速率的MIDI解碼。
文檔編號(hào)G10H7/00GK1991973SQ20051011224
公開(kāi)日2007年7月4日 申請(qǐng)日期2005年12月29日 優(yōu)先權(quán)日2005年12月29日
發(fā)明者王騫, 劉守華 申請(qǐng)人:展訊通信(上海)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1