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

一種軟件快速演奏樂(lè)器的算法的制作方法

文檔序號(hào):12368709閱讀:452來(lái)源:國(guó)知局
一種軟件快速演奏樂(lè)器的算法的制作方法與工藝
本發(fā)明涉及一種軟件快速演奏樂(lè)器的算法,具體應(yīng)用在音樂(lè)類的系統(tǒng)開(kāi)發(fā),屬于多媒體創(chuàng)作
技術(shù)領(lǐng)域
。
背景技術(shù)
:目前,音樂(lè)類的算法主要集中于音樂(lè)的分類、檢索與推薦,并沒(méi)有多少針對(duì)于音樂(lè)創(chuàng)作方面的算法。而音樂(lè)創(chuàng)作類的軟件多數(shù)應(yīng)用數(shù)據(jù)庫(kù)對(duì)資源進(jìn)行存儲(chǔ)管理,沒(méi)有對(duì)算法進(jìn)行過(guò)深入的探討。在現(xiàn)有的文獻(xiàn)及發(fā)明中,很少有對(duì)這類的算法進(jìn)行研究的,使用軟件快速演奏樂(lè)器相關(guān)的算法更是一片空白。另外,國(guó)內(nèi)音樂(lè)創(chuàng)作類的軟件發(fā)展比較滯后,音樂(lè)創(chuàng)作類的軟件市場(chǎng)多被國(guó)外主流公司壟斷,國(guó)內(nèi)的相關(guān)軟件參差不齊,沒(méi)有形成競(jìng)爭(zhēng)力,其中的一個(gè)主要原因就是很少可以找到相關(guān)的技術(shù)支持。所以,此類的軟件開(kāi)發(fā)門檻較高,從事相關(guān)方面的研究人員更是少之又少,于是出現(xiàn)了“使用軟件的音樂(lè)愛(ài)好者多、從事開(kāi)發(fā)的專業(yè)人員少”的局面,因?yàn)榧榷魳?lè)又懂開(kāi)發(fā)技術(shù)的人不多。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)在軟件演奏樂(lè)器這一算法領(lǐng)域的空白,本發(fā)明提供了一種軟件快速演奏樂(lè)器的算法。本發(fā)明從簡(jiǎn)譜“節(jié)點(diǎn)”定位、音頻資源關(guān)聯(lián)和時(shí)間調(diào)度三個(gè)方面對(duì)數(shù)字化簡(jiǎn)譜進(jìn)行譯譜分析,降低音樂(lè)創(chuàng)作類軟件的開(kāi)發(fā)難度,縮短開(kāi)發(fā)周期。一種軟件快速演奏樂(lè)器的算法的具體內(nèi)容如下:S1:簡(jiǎn)譜輸入;S2:對(duì)簡(jiǎn)譜按照“節(jié)點(diǎn)”進(jìn)行分割,“節(jié)點(diǎn)”就是“0”~“7”這8個(gè)樂(lè)符,一個(gè)完整的簡(jiǎn)譜一定是由若干個(gè)以“節(jié)點(diǎn)”為中心的數(shù)據(jù)塊組成;定位“節(jié)點(diǎn)”的方法就是從簡(jiǎn)譜的起始位置開(kāi)始順序向簡(jiǎn)譜結(jié)尾位置遍歷,遇上“0”~“7”就進(jìn)行位置標(biāo)定;“節(jié)點(diǎn)”定位完成以后,需要圍繞“節(jié)點(diǎn)”對(duì)簡(jiǎn)譜進(jìn)行拆分,得到若干個(gè)數(shù)據(jù)塊;S3:通過(guò)設(shè)定基礎(chǔ)音高basis和和基礎(chǔ)音長(zhǎng)time的值,確定整體的音樂(lè)節(jié)奏和風(fēng)格;S4:確定第n個(gè)“節(jié)點(diǎn)”對(duì)應(yīng)的音高;每個(gè)“節(jié)點(diǎn)”位置的值d對(duì)應(yīng)一個(gè)相對(duì)音高r(n,d),當(dāng)前“節(jié)點(diǎn)”數(shù)據(jù)塊范圍內(nèi)的表示音高變化的k個(gè)音符都各自對(duì)應(yīng)一個(gè)增值音高a(n,i),整首音樂(lè)的基礎(chǔ)調(diào)式對(duì)應(yīng)一個(gè)基本音高basis,最終該“節(jié)點(diǎn)”對(duì)應(yīng)的音頻資源的音高為S5:確定第n個(gè)“節(jié)點(diǎn)”對(duì)應(yīng)的音長(zhǎng);即每個(gè)“節(jié)點(diǎn)”對(duì)應(yīng)的音頻文件有各自播放的時(shí)長(zhǎng);當(dāng)前“節(jié)點(diǎn)”數(shù)據(jù)塊內(nèi)的表示時(shí)間的m個(gè)音符都各自對(duì)應(yīng)一個(gè)延時(shí)跨度t(n,j),單位延時(shí)跨度為time,那么當(dāng)前“節(jié)點(diǎn)”對(duì)應(yīng)的音頻資源的播放時(shí)長(zhǎng)為y(n)=time*Σj=1mt(n,j)]]>S6:一個(gè)完整的數(shù)字化簡(jiǎn)譜就被拆分成各個(gè)“節(jié)點(diǎn)”數(shù)據(jù)塊,對(duì)應(yīng)了各個(gè)音頻資源和播放時(shí)長(zhǎng),即{{s(0),y(0)},{s(1),y(1)},…{s(n),y(n)}},其中y表示音長(zhǎng),s表示音高,n為節(jié)點(diǎn)號(hào)。本發(fā)明有以下優(yōu)勢(shì):(1)算法協(xié)議簡(jiǎn)單,應(yīng)用該算法,開(kāi)發(fā)人員可以快速的編寫音樂(lè)創(chuàng)作軟件;(2)使用者不須學(xué)習(xí)專業(yè)的樂(lè)理知識(shí)就可以進(jìn)行譯譜和音樂(lè)創(chuàng)作;(3)算法生成的音樂(lè)文本文件小巧,可以直接跨平臺(tái)播放,便于傳播和編輯;(4)本算法運(yùn)行效率高,結(jié)構(gòu)清晰,大大縮短了開(kāi)發(fā)周期。附圖說(shuō)明圖1為本發(fā)明的算法流程圖。圖2為本發(fā)明的算法過(guò)程。圖3為本發(fā)明的WINDOWS輸入平臺(tái)。圖4為本發(fā)明的ISO輸入平臺(tái)。圖5為本發(fā)明的FPGA輸入平臺(tái)。具體實(shí)施方式為使本發(fā)明的一種軟件快速演奏樂(lè)器的算法的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明,但是,應(yīng)當(dāng)說(shuō)明的是,以下所描述的具體實(shí)施例僅用于說(shuō)明本發(fā)明,但不用來(lái)限定本發(fā)明的范圍。1、圖1是本發(fā)明的算法流程圖。如圖1所示,該算法涉及三個(gè)用戶輸入單元和若干個(gè)算法處理單元。用戶輸入單元可以是各種具有數(shù)據(jù)交互功能的軟硬件終端,如電腦、手機(jī)、帶有按鍵的微處理器平臺(tái)及其相關(guān)的系統(tǒng)軟件等。用戶輸入單元內(nèi)容包括“音樂(lè)簡(jiǎn)譜輸入”、“音樂(lè)的基礎(chǔ)音高”(即basis)和“音樂(lè)的基礎(chǔ)音長(zhǎng)”(即time)。輸入方式可以是軟件操作界面的交互,如編輯框輸入、按鈕點(diǎn)擊等,也可以是硬件平臺(tái)的交互,如鍵盤、觸摸屏等。算法處理單元按照功能分為三大模塊。第一個(gè)模塊包括“節(jié)點(diǎn)定位”和“數(shù)據(jù)塊劃分”,主要完成的功能是對(duì)簡(jiǎn)譜按照“節(jié)點(diǎn)”進(jìn)行分割;第二個(gè)模塊包括“確定節(jié)點(diǎn)音高”和“音頻資源關(guān)聯(lián)”,主要功能是結(jié)合輸入的“音樂(lè)基礎(chǔ)音高”,按照音高計(jì)算公式計(jì)算當(dāng)前“節(jié)點(diǎn)”對(duì)應(yīng)的音高,并通過(guò)所得到的音高值找到相關(guān)的音頻資源;第三個(gè)模塊包括“確定節(jié)點(diǎn)音長(zhǎng)”和“時(shí)間調(diào)度”,主要功能是結(jié)合輸入的“音樂(lè)基礎(chǔ)音長(zhǎng)”,按照音長(zhǎng)計(jì)算公式計(jì)算當(dāng)前“節(jié)點(diǎn)”對(duì)應(yīng)的音頻資源的播放時(shí)長(zhǎng)。根據(jù)算法的調(diào)度,一個(gè)完整的簡(jiǎn)譜最終被拆分成若干個(gè)“節(jié)點(diǎn)”數(shù)據(jù)塊,每個(gè)“節(jié)點(diǎn)”對(duì)應(yīng)著自己的音高和音長(zhǎng),所以輸出音樂(lè)時(shí)就有對(duì)應(yīng)的音頻資源和播放時(shí)長(zhǎng),達(dá)到軟件快速演奏樂(lè)器的效果。2、圖2是本發(fā)明的算法過(guò)程圖;如圖2所示,該過(guò)程包括:步驟1:如圖3、4、5所示,通過(guò)多平臺(tái)輸入音樂(lè)簡(jiǎn)譜;步驟2:對(duì)輸入的簡(jiǎn)譜,進(jìn)行“節(jié)點(diǎn)”分割和定位。首先對(duì)簡(jiǎn)譜“節(jié)點(diǎn)”定位,設(shè)定“節(jié)點(diǎn)”為“0”~“7”這8個(gè)樂(lè)符,一個(gè)完整的簡(jiǎn)譜是由若干個(gè)以“節(jié)點(diǎn)”為中心的數(shù)據(jù)塊組成;定位“節(jié)點(diǎn)”的方法就是從簡(jiǎn)譜的起始位置開(kāi)始順序向簡(jiǎn)譜結(jié)尾位置遍歷,遇上“0”~“7”就進(jìn)行位置標(biāo)定,“節(jié)點(diǎn)”定位完成以后,圍繞“節(jié)點(diǎn)”對(duì)簡(jiǎn)譜進(jìn)行拆分,得到若干個(gè)數(shù)據(jù)塊;具體步驟如下:假設(shè)節(jié)點(diǎn)為Node,簡(jiǎn)譜為Buffer[],那么尋找節(jié)點(diǎn)的操作的主體示例程序可以表示為:WHILE(Buffer[Node]<’0’||Buffer[Node]>’7’){Node++;…}步驟3:通過(guò)設(shè)定基礎(chǔ)音高basis和和基礎(chǔ)音長(zhǎng)time的值,確定整體的音樂(lè)節(jié)奏和風(fēng)格。步驟4:確定該“節(jié)點(diǎn)”對(duì)應(yīng)的音高;每個(gè)“節(jié)點(diǎn)”的音符d對(duì)應(yīng)一個(gè)相對(duì)音高r(n,d),當(dāng)前“節(jié)點(diǎn)”數(shù)據(jù)塊范圍內(nèi)的表示音高變化的k個(gè)音符都各自對(duì)應(yīng)一個(gè)增值音高a(n,i),整首音樂(lè)的基礎(chǔ)調(diào)式對(duì)應(yīng)一個(gè)基本音高basis,最終該“節(jié)點(diǎn)”對(duì)應(yīng)的音頻資源的音高為s(n)=r(n,d)+Σi-1ka(n,i)+basis]]>其中,r(n,d)的值對(duì)應(yīng)于下表:表1d01234567r(n,d)002457911其中,a(n,i)的值對(duì)應(yīng)于下表:表2音符><#ba(n,i)12-121-1其中,basis的值對(duì)應(yīng)于下表:表3調(diào)式ABCDEFGbasis49514042444547假設(shè)當(dāng)前節(jié)點(diǎn)位置為Node1,上一節(jié)點(diǎn)位置為Node0,簡(jiǎn)譜為Buffer,音高為S,那么音高計(jì)算的主體示例程序可以表示為:步驟5:確定各個(gè)“節(jié)點(diǎn)”對(duì)應(yīng)的音長(zhǎng),即每個(gè)“節(jié)點(diǎn)”對(duì)應(yīng)的音頻文件有各自播放的時(shí)長(zhǎng);當(dāng)前“節(jié)點(diǎn)”數(shù)據(jù)塊內(nèi)的表示時(shí)間的m個(gè)音符都各自對(duì)應(yīng)一個(gè)延時(shí)跨度t(n,j),單位延時(shí)跨度time,那么當(dāng)前“節(jié)點(diǎn)”對(duì)應(yīng)的音頻資源的播放時(shí)長(zhǎng)為其中,t(n,j)的值對(duì)應(yīng)于下表:表4音符--.t(n,j)(()+1)(()×0.5)(()×1.5)假設(shè)當(dāng)前節(jié)點(diǎn)位置為Node1,下一節(jié)點(diǎn)位置為Node2,簡(jiǎn)譜為Buffer,音長(zhǎng)為y,那么音長(zhǎng)計(jì)算的主體示例程序可以表示為:步驟6:最后,一個(gè)完整的數(shù)字化簡(jiǎn)譜就被拆分成各個(gè)“節(jié)點(diǎn)”數(shù)據(jù)塊,對(duì)應(yīng)了各個(gè)音頻資源和播放時(shí)長(zhǎng),即{{s(0),y(0)},{s(1),y(1)},…{s(n),y(n)}},其中y表示音長(zhǎng),s表示音高,n為節(jié)點(diǎn)號(hào)。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1