專利名稱:記錄音樂(lè)數(shù)據(jù)的方法及再現(xiàn)儀器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于音樂(lè)數(shù)據(jù)記錄方法和再現(xiàn)儀器,當(dāng)相同的數(shù)據(jù)被傳送和進(jìn)而傳送的數(shù)據(jù)是存儲(chǔ)在存儲(chǔ)介質(zhì)內(nèi)時(shí),該記錄方法和再現(xiàn)儀器能夠減少傳輸率和數(shù)字化音樂(lè)演奏數(shù)據(jù)的存儲(chǔ)容量。
一般而言,MI DI(音樂(lè)樂(lè)器數(shù)字接口)廣范地被使用作為演奏音樂(lè)的音樂(lè)演奏數(shù)據(jù)的傳送裝置。這里,MI DI是規(guī)定連接到聲源儀器(即合成器,電子鋼琴等)的硬件和軟件的工業(yè)標(biāo)準(zhǔn),以可互換地使用各種音樂(lè)演奏數(shù)據(jù)。更詳細(xì)而言,當(dāng)MI DI被使用時(shí),演奏員通過(guò)鍵盤輸入的音樂(lè)數(shù)據(jù)被轉(zhuǎn)換為MI DI數(shù)據(jù)和然后通過(guò)傳送路徑加以輸出。另一方面,聲源儀器配置有這樣的功能用以接收MI DI數(shù)據(jù)和實(shí)際地產(chǎn)生音樂(lè)聲音。因此,當(dāng)聲源儀器連接到傳送路徑時(shí),接收的MI DI數(shù)據(jù)能被翻譯以產(chǎn)生音樂(lè)聲音。
上述的MI DI數(shù)據(jù)粗略地由下邊數(shù)據(jù)組成(1)銨鍵(鍵被壓)指示聲音的開始或釋放鍵(鍵不被壓下)指示聲音停止的音樂(lè)音調(diào)(note)數(shù)據(jù)(以后參考為音調(diào)數(shù)據(jù))。進(jìn)而,音調(diào)數(shù)據(jù)包括通過(guò)鍵數(shù)指定的聲音強(qiáng)度(音調(diào)數(shù))的數(shù)據(jù)。
(2)在MI DI情況下,伴隨音調(diào)數(shù)據(jù)被傳送或被接收的指示聲音速度的重音數(shù)據(jù)。
(3)傳送音調(diào)(intonation)表示(例如漸強(qiáng),音調(diào)數(shù)的音樂(lè)抖動(dòng))到聲源儀器的控制數(shù)據(jù)。在實(shí)際中,當(dāng)演奏員使用踏板或桿時(shí),由于桿位置的變化也被配置在演奏員側(cè)的MI DI轉(zhuǎn)換器所檢測(cè),桿的位置數(shù)據(jù)也被傳送。
進(jìn)而,由于音樂(lè)演奏數(shù)據(jù)在音樂(lè)演奏過(guò)程中瞬時(shí)地被傳送,在混合的情況下,音樂(lè)演奏數(shù)據(jù)流包括上述的數(shù)據(jù)。
這里,由于所有MI DI數(shù)據(jù)被數(shù)字化,通過(guò)使用計(jì)算機(jī)儀器(即,合成器)和存儲(chǔ)介質(zhì)使得數(shù)據(jù)能被記錄,編輯和再現(xiàn)。換言之,MI DI數(shù)據(jù)能作為數(shù)據(jù)文件存儲(chǔ)在存儲(chǔ)介質(zhì)中。這里SMF(標(biāo)準(zhǔn)MI DI文件)廣泛地被使用作為數(shù)據(jù)文件格式。然而,由于MI DI數(shù)據(jù)真實(shí)的時(shí)間數(shù)據(jù),當(dāng)各自的數(shù)據(jù)成分(以后稱為MI DI事件)例如聲音開始或聲音停止被記錄在SMF時(shí),MI DI數(shù)據(jù)被記錄在這樣的條件下,就是時(shí)間數(shù)據(jù)分別附著在MI DI數(shù)據(jù)上。進(jìn)而,由于為了記錄產(chǎn)生MI DI事件的順序,音調(diào)數(shù)據(jù)和控制數(shù)據(jù)以混合的形式被記錄。
此外,由于對(duì)SMF沒(méi)有限制,當(dāng)數(shù)據(jù)文件被存儲(chǔ)時(shí),由于這里存在著存儲(chǔ)介質(zhì)容量的限制,最好數(shù)據(jù)被壓縮。因此,在當(dāng)MI DI數(shù)據(jù)被壓縮的情況下,一般而言,這里早已使用了在程序例如LHA或ZIP下的所采用的稱為L(zhǎng)Z(Lempel-zif)方法的模式匹配的壓縮技術(shù)。該數(shù)據(jù)壓縮原理簡(jiǎn)單地解釋如下。
當(dāng)壓縮的文件在原始文件的基礎(chǔ)上形成時(shí),在原始文件的處理位置從文件頭開始,從處理位置讀出的數(shù)據(jù)被復(fù)制在壓縮的文件上。這里,當(dāng)在原始文件中存在著兩個(gè)相同的數(shù)據(jù)區(qū)時(shí),在處理位置達(dá)到兩個(gè)相同數(shù)據(jù)區(qū)的第二數(shù)據(jù)區(qū)的頭時(shí),數(shù)據(jù)不是簡(jiǎn)單地被復(fù)制。作為替代,從第一數(shù)據(jù)區(qū)到處理位置的距離和匹配數(shù)據(jù)區(qū)的長(zhǎng)度二者被記錄在壓縮文件內(nèi),進(jìn)而,在原始文件的處理位置被移動(dòng)到第二數(shù)據(jù)區(qū)的結(jié)束,這樣,繼續(xù)處理,在做此事時(shí),在第二數(shù)據(jù)區(qū)的數(shù)據(jù)并不復(fù)制。以此相反,僅僅數(shù)據(jù)長(zhǎng)度和數(shù)據(jù)距離被加到壓縮的數(shù)據(jù)。
作為對(duì)上述描述的理解,在這種壓縮方法中,該壓縮率隨著兩個(gè)相同數(shù)據(jù)存在的增加數(shù)據(jù)區(qū)而增加。在處理位置之前存在的數(shù)據(jù)區(qū)的基礎(chǔ)上,當(dāng)存在于處理位置之后的數(shù)據(jù)模式被檢索,當(dāng)兩個(gè)相同的數(shù)據(jù)區(qū)相互相鄰時(shí),壓縮率能被增加。這里由于要被的檢索的區(qū)域大小的限制。
作為使用音樂(lè)演奏數(shù)據(jù)文件例如SMF的樂(lè)器的實(shí)例,這里存在著通訊伴奏樂(lè)器(在日本的卡拉OK,這里暗指無(wú)管弦樂(lè)隊(duì))。在無(wú)存儲(chǔ)類型的通訊伴奏樂(lè)器的情況下,從分配中心傳送的MI DI音樂(lè)演奏數(shù)據(jù)文件通過(guò)公共線路被終端裝置接收,接收的數(shù)據(jù)文件通過(guò)終端裝置再現(xiàn)作為音樂(lè)或歌的伴奏。因此,無(wú)論何時(shí)用戶選取歌,相應(yīng)所選音樂(lè)的音樂(lè)數(shù)據(jù)從中心側(cè)被傳送。在這種情況下,當(dāng)音樂(lè)演奏數(shù)據(jù)文件在分配中心被壓縮和然后被傳輸,用于傳輸時(shí)間能被縮短和因此更經(jīng)濟(jì),這就有可能減少傳輸線的租費(fèi)。
進(jìn)而,在存儲(chǔ)類型通訊伴奏樂(lè)器的終端裝置的情況下,大容量的存儲(chǔ)介質(zhì)(例如硬盤)裝在其中,過(guò)去傳送的音樂(lè)演奏數(shù)據(jù)文件被存儲(chǔ)以便被更新。在這種情況下,當(dāng)音樂(lè)演奏數(shù)據(jù)文件在壓縮的情況下被存儲(chǔ),這里存在著優(yōu)點(diǎn),使得存儲(chǔ)介質(zhì)上存儲(chǔ)大量的各種歌曲。
另一方面,在上述的存儲(chǔ)類型伴奏樂(lè)器中,為了滿足用戶的各種音樂(lè)要求,這就需要在有限的存儲(chǔ)介質(zhì)內(nèi)存儲(chǔ)盡可能多的歌曲。因此,最好音樂(lè)數(shù)據(jù)文件數(shù)據(jù)被壓縮。在音樂(lè)數(shù)據(jù)例如SMF的情況下,和通常的文本文件相比,相對(duì)高壓縮率能被獲得,這是因?yàn)樵谝魳?lè)演奏數(shù)據(jù)的情況下,按其自然性質(zhì),相同的數(shù)據(jù)經(jīng)常被重復(fù)地記錄。
近來(lái),然而,由于用戶的要求越來(lái)越不一樣,這里存在著存儲(chǔ)更大量歌曲的要求。這里,當(dāng)存儲(chǔ)介質(zhì)的容量簡(jiǎn)單地被增加了,不僅被存儲(chǔ)介質(zhì)的費(fèi)用增加了,由于從中心分配歌曲數(shù)目的增加,傳輸線的徂用費(fèi)用也增加了。
為了克服這些問(wèn)題,這就可能通過(guò)簡(jiǎn)單地減少音樂(lè)演奏數(shù)據(jù)來(lái)減少數(shù)據(jù)量和分配的費(fèi)用,使得較少數(shù)據(jù)容量的音樂(lè)數(shù)據(jù)文件能被傳送。在這種情況下,然而,由于音樂(lè)演奏的質(zhì)量顯著地變差,這種方法是不實(shí)際的方法。其結(jié)果是,這里存在著減少數(shù)據(jù)量和音樂(lè)演奏數(shù)據(jù)傳送的要求,但不減少音樂(lè)演奏數(shù)據(jù)的質(zhì)量。
本發(fā)明的目標(biāo)是提供在高壓縮密度下記錄音樂(lè)數(shù)據(jù)而不使音樂(lè)數(shù)據(jù)變壞的方法和再現(xiàn)使用該方法記錄的音樂(lè)數(shù)據(jù)的樂(lè)器。
本發(fā)明提供了記錄連續(xù)音樂(lè)演奏數(shù)據(jù)的文件的方法,該連續(xù)的音樂(lè)演奏數(shù)據(jù)的每一個(gè)包括時(shí)間數(shù)據(jù),和由時(shí)間數(shù)據(jù)指示的瞬間指示音調(diào)和音調(diào)的音樂(lè)聲音開始或音樂(lè)聲音結(jié)束的音調(diào)數(shù)據(jù),指示聲音速率的重音數(shù)據(jù),該方法包括以下步驟連續(xù)地讀出音樂(lè)演奏數(shù)據(jù);記錄時(shí)間數(shù)據(jù),和依照時(shí)間數(shù)據(jù)在第一個(gè)記錄區(qū)記錄音調(diào),音樂(lè)聲音的開始或是音樂(lè)聲音的結(jié)束;在第二記錄區(qū)記錄重音數(shù)據(jù),第二記錄區(qū)和第一記錄區(qū)相分離;組合在第一和第二記錄區(qū)內(nèi)的記錄的數(shù)據(jù)以獲得另一個(gè)文件;在記錄介質(zhì)內(nèi)記錄另一個(gè)文件。
文件可以由每一個(gè)包括時(shí)間,音調(diào)和重音數(shù)據(jù)的大量音樂(lè)演奏數(shù)據(jù)和每一個(gè)包括控制數(shù)據(jù)的另一個(gè)大量音樂(lè)演奏數(shù)據(jù)所組成。在這種情況下,當(dāng)判別被做出,在第一個(gè)記錄區(qū)記錄時(shí)間數(shù)據(jù),音調(diào)數(shù)據(jù),或音樂(lè)聲音開始或音樂(lè)聲音停止,和在第二記錄區(qū)的重音數(shù)據(jù);當(dāng)判別沒(méi)有做出時(shí),在第三記錄區(qū)記錄控制數(shù)據(jù),第三記錄區(qū)和第一和第二記錄區(qū)相分開;和組合在第一,第二和第三區(qū)域內(nèi)的記錄數(shù)據(jù)以獲得另一個(gè)文件。
進(jìn)而,本發(fā)明提供再現(xiàn)壓縮的連續(xù)音樂(lè)演奏數(shù)據(jù)的樂(lè)器,它包括對(duì)存儲(chǔ)在第一存儲(chǔ)介質(zhì)內(nèi)的壓縮的連續(xù)的音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼的解碼裝置,連續(xù)的音樂(lè)演奏數(shù)據(jù)包括大量的時(shí)間數(shù)據(jù),每一個(gè)在時(shí)間數(shù)據(jù)指示的瞬間指示音樂(lè)聲音開始和音樂(lè)聲音停止的大量音調(diào)數(shù)據(jù),每一個(gè)指示聲音速率的大量重音數(shù)據(jù),每一個(gè)指示音雕調(diào)的大量控制數(shù)據(jù),大量的音調(diào),重音和控制數(shù)據(jù)記錄在第一記錄介質(zhì)內(nèi)彼此相互分離的第一,第二和第三記錄區(qū)內(nèi);臨時(shí)存儲(chǔ)解碼的連續(xù)音樂(lè)演奏數(shù)據(jù)的第二存儲(chǔ)介質(zhì);控制再現(xiàn)臨時(shí)存儲(chǔ)在第二存儲(chǔ)介質(zhì)內(nèi)的解碼的連續(xù)音樂(lè)演奏數(shù)據(jù),使得在大量的控制數(shù)據(jù)以前再現(xiàn)大量音調(diào)和重音數(shù)據(jù)的控制裝置;在控制裝置的控制下再現(xiàn)連續(xù)的音樂(lè)演奏數(shù)據(jù)和依照再現(xiàn)的連續(xù)音樂(lè)演奏數(shù)據(jù)產(chǎn)生音樂(lè)聲音的聲源。
進(jìn)而,本發(fā)明提供了壓縮連續(xù)音樂(lè)演奏數(shù)據(jù)的儀器,它包括分離音樂(lè)演奏數(shù)據(jù)為至少音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù),和控制數(shù)據(jù)的分離裝置;壓縮每一種分離的數(shù)據(jù)以形成壓縮的音樂(lè)演奏數(shù)據(jù)的壓縮數(shù)據(jù)。
進(jìn)而,本發(fā)明提供了對(duì)壓縮音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼的儀器,它包括對(duì)用Lempel-Zif方法壓縮的音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼的解碼裝置;通過(guò)第一解碼裝置解碼的音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼以再現(xiàn)至少音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù)和控制數(shù)據(jù)的第二解碼裝置。
圖1示出了具有時(shí)間數(shù)據(jù)的MI DI事件的實(shí)例;圖2示出了當(dāng)圖1所示事件以SMF實(shí)際描述時(shí)所獲得的數(shù)據(jù)串;圖3示出了依照本發(fā)明第一實(shí)施例描述事件時(shí)所獲得的數(shù)據(jù)串;圖4以更抽象的形式示出了圖3所示的數(shù)據(jù)串;圖5示出了MI DI事件的實(shí)例,其中類似于第一實(shí)施例的音樂(lè)演奏數(shù)據(jù)按照另一個(gè)表現(xiàn)方法被格式化;圖6示出了當(dāng)圖5所示事件以SMF實(shí)際描述時(shí)所獲得的數(shù)據(jù)串;圖7示出了當(dāng)事件依照本發(fā)明第二實(shí)施例描述時(shí)獲得的數(shù)據(jù)串;圖8以更抽象的形式示出了在圖7示出的數(shù)據(jù)串;圖9是形成圖7所示的數(shù)據(jù)串的流程圖;圖10的框圖示出了依本發(fā)明的再現(xiàn)儀;圖11的流程圖示出了由圖11所示再現(xiàn)儀執(zhí)行再現(xiàn)過(guò)程;
圖12示出了表現(xiàn)音調(diào)的SMFΔ時(shí)間和本實(shí)施例間隔之間的關(guān)系;圖13示出了SMF的格式;圖14框圖示出了依本發(fā)明的音樂(lè)演奏數(shù)據(jù)壓縮儀的實(shí)例;圖15詳細(xì)的方框圖示出了圖14所示初級(jí)編碼產(chǎn)生器的實(shí)例;圖16示出了在圖15所示訊道分離器形成的訊道圖;圖17的流程圖用于輔助解釋圖15所示分析器的處理;圖18示出了由圖15所示分析器形成的音調(diào)表;圖19示出了由圖15所示分析器形成的控制器表;圖20的流程圖用于輔助解釋圖15所示音調(diào)Δ編碼產(chǎn)生器的處理;圖21示出了由圖15所示音調(diào)Δ編碼產(chǎn)生器形成的音調(diào)Δ編碼;圖22的流程圖用于輔助解釋圖15所示間隔編碼產(chǎn)生器的處理;圖23示出了由圖15所示間隔編碼產(chǎn)生器形成的間隔編碼;圖24示出了由圖15所示音調(diào)數(shù)編碼產(chǎn)生器形成的音調(diào)數(shù)編碼;圖25示出了由圖15所示速率編碼產(chǎn)生器形成的速率編碼;圖26示出了由圖15所示控制器編碼產(chǎn)生器形成的控制器編碼;圖27示出了SMF連續(xù)事件塊;圖28示出了本發(fā)明的連續(xù)事件編碼;圖29示出了圖28所示連續(xù)事件碼的效果;圖30示出了圖15所示編碼安排器安排的初級(jí)編碼;圖31的方框圖示出了音樂(lè)演奏數(shù)據(jù)解碼儀;圖32的流程圖用于解釋圖31所示第二編碼器的處理;圖33詳細(xì)的流程圖用于輔助解釋圖31所示初級(jí)編碼解碼器的處理;圖34詳細(xì)的流程圖用于輔助解釋圖33所示軌跡解碼處理的處理;圖35詳細(xì)的流程圖用于輔助解釋圖34所示音調(diào)事件解碼處理的處理;圖36示出由圖35音調(diào)事件解碼處理解碼的音調(diào)-開事件;圖37示出了由圖35所示的音調(diào)事件解碼處理解碼的音調(diào)-關(guān)排隊(duì)。
圖38詳細(xì)的流程圖輔助解釋圖34所示控制器事件解碼處理;圖39示出了由圖38所示處理解碼的控制器事件。
詳細(xì)地參照附圖解釋依本發(fā)明的音樂(lè)演奏數(shù)據(jù)記錄方法和音樂(lè)演奏數(shù)據(jù)再現(xiàn)儀器的實(shí)施例。
依照本發(fā)明的方法的特點(diǎn)如下在此情況下,包括指示音樂(lè)聲音開始和停止的音調(diào)數(shù)據(jù)與至少指示聲音速率的重音數(shù)據(jù)和指示音調(diào)的控制數(shù)據(jù)之一相混合的音樂(lè)演奏數(shù)據(jù)被記錄,音調(diào)數(shù)據(jù),重音數(shù)據(jù)和控制數(shù)據(jù)分別地被采集和然后獨(dú)立地記錄在不同的區(qū)域。為什么依照音樂(lè)數(shù)據(jù)類別被分別記錄在不同區(qū)域的理由如下從音樂(lè)自然特性觀點(diǎn)來(lái)看,音調(diào)的數(shù)據(jù)模式在曲調(diào)重復(fù)的音樂(lè)部分經(jīng)常相互匹配;在另一方面,重音數(shù)據(jù)模式和控制數(shù)據(jù)在曲調(diào)重復(fù)的音樂(lè)部分并不必要相互匹配。
參照?qǐng)D1將要解釋音樂(lè)演奏數(shù)據(jù)的例子,其中表示了時(shí)間數(shù)據(jù),音調(diào)數(shù)據(jù)和重音數(shù)據(jù),為簡(jiǎn)潔起見(jiàn)而沒(méi)有表示控制數(shù)據(jù),在這個(gè)實(shí)例中描述了MI DI(樂(lè)器數(shù)字接口)的事件(數(shù)據(jù)元素)圖1音樂(lè)演奏數(shù)據(jù)的實(shí)例示出了[do,rt,mi,do,re,mi,do,re,mi],它們的音量逐漸地增加。在SMF(標(biāo)準(zhǔn)音樂(lè)MI DI文件)中,具有圖1所示時(shí)間數(shù)據(jù)的MI DI事件將被串聯(lián)地記錄在文件中。
這里,當(dāng)音樂(lè)數(shù)據(jù)的一般描述被表示為(DT,A,B,C)時(shí),該DT是指示先前事件相對(duì)時(shí)間的事件時(shí)間數(shù)據(jù)。
進(jìn)而,(A,B,C)是MI DI事件,它們每一個(gè)的意義如下A指示MI DI事件種類的識(shí)別數(shù)據(jù)ON聲音開始事件OFF聲音停止事件當(dāng)上述編碼A是聲音開始事件或聲音停止事件時(shí),編碼B和C的內(nèi)容如下B鍵盤數(shù)(音調(diào)數(shù))C重音(音量)數(shù)據(jù),數(shù)字值C的增加暗示該鍵被使勁地壓下。聲音停止事件的重音數(shù)據(jù)是沒(méi)有意義的,所以固定的值被記錄。
進(jìn)而,DT,A和B構(gòu)成了音調(diào)數(shù)據(jù)。
在上述的例子中,記錄的音樂(lè)數(shù)據(jù)是以這樣方式被記錄的,每一個(gè)聲音[do,re,mi,do,re,mi,do,re,mi]的間隔是時(shí)間10;聲音間隔(音調(diào)間隔)是8;和重音(音量)是逐漸地從40增加到80。
圖2示出了在SMF中的真實(shí)的數(shù)據(jù)串,其中數(shù)據(jù)是沿著從上級(jí)數(shù)據(jù)串到下級(jí)數(shù)據(jù)串記錄的。換言之,具有圖1所示時(shí)間數(shù)據(jù)的MI DI事件數(shù)據(jù)是簡(jiǎn)單地按事件的順序和時(shí)間順序被記錄的,其中音調(diào)數(shù)據(jù)和重音數(shù)據(jù)是相互混合被記錄的。在這個(gè)例子中,由于相同數(shù)據(jù)模式的產(chǎn)生率是非常低的,數(shù)據(jù)壓縮率是非常低的。
在本發(fā)明中,因此,具有時(shí)間數(shù)據(jù)的MI DI事件按照數(shù)據(jù)的種類被記錄在不同的區(qū)域,這如圖3所示。在圖3中,首先重音數(shù)據(jù)從每一個(gè)具有時(shí)間數(shù)據(jù)的事件數(shù)據(jù)中取出,和僅僅音調(diào)數(shù)據(jù)按時(shí)間順序被記錄。在此之后,重音數(shù)據(jù)以這樣的方式在事件數(shù)據(jù)之后被記錄,使得兩者記錄區(qū)域相互分開。更詳細(xì)一點(diǎn),前級(jí)是音調(diào)區(qū)域1,那里記錄音調(diào)數(shù)據(jù);隨后的尾級(jí)是重音區(qū)域2,那里記錄重音數(shù)據(jù),圖4以更抽象的方式示出了這些區(qū)域的劃分。在這種情況下,通過(guò)記錄相對(duì)于記錄重音數(shù)據(jù)的重音區(qū)域2頭位置2A的數(shù)據(jù)作為在整個(gè)文件頭區(qū)域的重音開始位置數(shù)據(jù)3使得兩個(gè)區(qū)域的邊界相互加以區(qū)分。
當(dāng)上述的數(shù)據(jù)串基于模式匹配的壓縮方法被壓縮時(shí),和SMF簡(jiǎn)單的壓縮相比,這就可能顯著地改善壓縮效率。這是因?yàn)樵跀?shù)據(jù)大小和數(shù)據(jù)長(zhǎng)度上音調(diào)數(shù)據(jù)區(qū)1是相同的數(shù)據(jù)模式。
在圖3所示例的情況下,從第一個(gè)串的第一個(gè)[ON]到同一個(gè)串的最后一個(gè)[mi]的模式與從第二個(gè)串的第一個(gè)[ON]到同一個(gè)串的最后一個(gè)[mi]的模式和從第三串的第一個(gè)[ON]到同一串的最后一個(gè)[mi]的模式分別相同,這樣,這些串能夠被壓縮。
在第一個(gè)實(shí)施例中,雖然不包括控制數(shù)據(jù)的音樂(lè)數(shù)據(jù)已經(jīng)解釋過(guò)了,包括控制數(shù)據(jù)的音樂(lè)數(shù)據(jù)的記錄方法將作為第二個(gè)實(shí)施例加以解釋。
在圖5所示的MI DI事件中,音樂(lè)數(shù)據(jù)是以這樣方式被記錄的,使得雖然鍵盤的按壓強(qiáng)度是恒定的,但在演奏開始后音量控制桿被立即移動(dòng)以逐漸地增加音量。
這里,和第一個(gè)實(shí)施例的情況一樣,當(dāng)音樂(lè)數(shù)據(jù)一般描述為(DT,A,B,C)這里DT是指示先前事件相對(duì)時(shí)間的事件時(shí)間數(shù)據(jù)。
進(jìn)而,(A,B,C)是MI DI事件,它們每一個(gè)的意義如下A指示MI DI事件種類的識(shí)別數(shù)據(jù)CL控制事件,當(dāng)A是控制事件時(shí),B和C如下
B指示控制種類的識(shí)別數(shù)據(jù)EX音量控制C音量數(shù)據(jù)即當(dāng)A是控制事件,(DT,A,B,C)均是控制數(shù)據(jù)圖6示出了在SMF內(nèi)的實(shí)際數(shù)據(jù)串,其中數(shù)據(jù)按順序從上級(jí)數(shù)據(jù)串到下級(jí)數(shù)據(jù)串被記錄。換言之,具有圖5時(shí)間數(shù)據(jù)的MI DI事件是簡(jiǎn)單地控制按時(shí)間順序和事件順序被記錄的,其中重音數(shù)據(jù)和控制數(shù)據(jù)相互混合地被記錄的。在這個(gè)實(shí)例中,由于相同數(shù)據(jù)模式的產(chǎn)生率非常低,數(shù)據(jù)壓縮效率也非常低。
在本發(fā)明中,因此,具有時(shí)間數(shù)據(jù)的MI DI事件的記錄區(qū)域不同于三類數(shù)據(jù)的區(qū)域,這如圖7所示。在圖7中,重音數(shù)據(jù)(即[64])從不同于控制事件中的事件數(shù)據(jù)中取出,和僅僅剩下的音調(diào)數(shù)據(jù)按時(shí)間順序被記錄(從上級(jí)到第三級(jí))。在此之后,僅僅取出的重音數(shù)據(jù)被連續(xù)地記錄(在第四級(jí))。進(jìn)而,隨后的重音數(shù)據(jù),控制事件的控制數(shù)據(jù)按時(shí)間的順序被記錄,其結(jié)果是,三種數(shù)據(jù)能分別地記錄在不同的記錄區(qū)內(nèi)。
圖8示出了這些區(qū)域的劃分。在這種情況下,前級(jí)是記錄音調(diào)數(shù)據(jù)的音調(diào)區(qū)域1,順著前級(jí)的中級(jí)是記錄重音數(shù)據(jù)的重音區(qū)域2;和隨著中級(jí)的尾級(jí)是記錄控制數(shù)據(jù)的控制區(qū)域4。
這里,下述點(diǎn)應(yīng)當(dāng)注意由于僅僅控制事件從SMF的第一事件串中被提取出來(lái),并且一塊安排在文件的另一個(gè)區(qū)域,這就需要計(jì)算在提取事件串和保留事件串的兩串當(dāng)中的事件之間的相對(duì)時(shí)間。在本發(fā)明中,控制事件的時(shí)間數(shù)據(jù)被重寫為前一控制事件的相對(duì)時(shí)間。換言之,控制事件之間的相對(duì)時(shí)間通過(guò)加除了安排在中間的控制事件之外事件時(shí)間被收集在一塊和重寫,即加時(shí)間2和時(shí)間8。
在圖8所示的該例中,在記錄音調(diào)數(shù)據(jù)的音調(diào)區(qū)域1之后,立即安排了記錄重音數(shù)據(jù)的重音區(qū)域2,記錄控制數(shù)據(jù)的控制區(qū)域4安排在重音區(qū)域2之后的區(qū)域。因此,相關(guān)于重音區(qū)域2和控制區(qū)域4的頭位置2A和4A的數(shù)據(jù)記錄在文件的頭部區(qū)域作為重音開始位置數(shù)據(jù)3和控制開始位置數(shù)據(jù)5,這樣,各自區(qū)域的邊界能夠被區(qū)分。
進(jìn)而,在該實(shí)施例中,由于音量數(shù)據(jù)包括在控制數(shù)據(jù)中和音量數(shù)據(jù)由此受到控制,當(dāng)格式化時(shí)記錄在重音區(qū)域2的重音數(shù)據(jù)僅僅是必需的。因此,這些數(shù)值在程序中可以設(shè)置為任何值,而在音樂(lè)演奏中并沒(méi)有任何意義。
因此,當(dāng)這些數(shù)值被設(shè)置為圖7當(dāng)中的相同值時(shí)(例如,[64]),這就可能增加數(shù)據(jù)壓縮效率。
當(dāng)在上所述的數(shù)據(jù)串的數(shù)據(jù)依照模式匹配的壓縮方法被壓縮時(shí),由于音調(diào)區(qū)域1和重音區(qū)域2在數(shù)據(jù)大小和數(shù)據(jù)長(zhǎng)度上是相同的數(shù)據(jù)模式,這就可能顯著地改善數(shù)據(jù)壓縮效率,這和第一實(shí)施例的情況相同。
在圖7所示實(shí)施例的情況下,從第一串的第一個(gè)[ON]到同一串的最后一個(gè)[mi]的模式分別和從第二串的第一個(gè)[ON]到相同字串的最后一個(gè)[mi]的模式和從第三串的第一個(gè)[ON]到同一字串的最后一個(gè)[mi]的模式相同。進(jìn)而,由于重音區(qū)2均是[64],因此是相同模式,這個(gè)串能被壓縮。
因此,在文件中的音調(diào)區(qū)域1和重音區(qū)域2在數(shù)據(jù)尺寸和數(shù)據(jù)長(zhǎng)度是相同的模式,和這里,當(dāng)數(shù)據(jù)文件被壓縮時(shí),和SMF簡(jiǎn)單壓縮相比較,這就可能顯著地增加壓縮效率。
在依照本發(fā)明的記錄音樂(lè)數(shù)據(jù)的方法中,從SMF文件到第二實(shí)施例的文件格式的轉(zhuǎn)換數(shù)據(jù)的方法將參照?qǐng)D9流程圖加以描述。
首先,在步S1,要被轉(zhuǎn)換的SMF被打開,處理位置被設(shè)置在文件頭。進(jìn)而AT,AT1和AT2被初始化為“0”。
這里,AT是事件音樂(lè)頭的絕對(duì)時(shí)間;AT1是寫在過(guò)去步S4的事件的音樂(lè)頭的絕對(duì)時(shí)間;和AT2是寫在過(guò)去步S5事件音樂(lè)頭的絕對(duì)時(shí)間。進(jìn)而,在圖5,當(dāng)音樂(lè)頭被確定為絕對(duì)時(shí)間“0”時(shí),通過(guò)加被DT累記的在左端記錄的時(shí)間數(shù)據(jù)可以獲得每個(gè)事件的絕對(duì)時(shí)間。
順序地,在步S2,每一個(gè)具有時(shí)間數(shù)據(jù)的事件(DT,A,B和C)從SMF處理單元中讀出。進(jìn)而,相對(duì)時(shí)間DT被加到事件時(shí)間數(shù)據(jù)DT以獲得現(xiàn)在讀出事件的絕對(duì)時(shí)間。
進(jìn)而,在步S3,處理根據(jù)A值進(jìn)行分枝。即,當(dāng)A=ON(聲音開始事件)或A=OF(聲音停止事件),YES被確定;和當(dāng)A=CL(控制事件)NO被確定。這里,在從SMF文件到?jīng)]有控制事件的第一實(shí)施例的文件格式的轉(zhuǎn)換數(shù)據(jù)的情況下YES總是被確定。
進(jìn)而,在步S4,當(dāng)在步S3中A=ON或A=OF時(shí),事件內(nèi)容寫入記錄音調(diào)區(qū)的音調(diào)區(qū)1和記錄重音數(shù)據(jù)的重音區(qū)域2,這如圖8所示,在這時(shí)間,由于寫入音調(diào)區(qū)域1的DT是在最接近的過(guò)去寫入音調(diào)區(qū)域1事件的相對(duì)時(shí)間,DT被再次計(jì)算和然后被記錄。達(dá)時(shí),該AT的值被寫為AT1。
進(jìn)而,在步S5,當(dāng)在步S3中的A不是ON或OF,即,當(dāng)A=CL(控制事件),事件內(nèi)容被寫入記錄控制數(shù)據(jù)的控制區(qū)域4。在這時(shí),由于現(xiàn)在寫入控制區(qū)域4的DT是在最近的過(guò)去寫入控制區(qū)域4的事件的相對(duì)時(shí)間,DT被再次計(jì)算和然后加以記錄。換言之,在先前事件和當(dāng)前事件之間的時(shí)間差被獲得。在這時(shí),該AT的值作為AT2被寫入。
進(jìn)而,在步S6,SMF的處理位置前進(jìn)了一個(gè)事件(在步S2讀出的數(shù)據(jù)內(nèi)容)。
在步S7,SMF的處理位置被鑒別是否位于在文件的端部,如果YES;即,這里沒(méi)有數(shù)據(jù)被處理,程序前進(jìn)到步S8。然而如果NO;即,這里還存在著要被處理的數(shù)據(jù),程序返回到步S2以重復(fù)上述的類似的處理。
進(jìn)而,在步S8,存儲(chǔ)音調(diào)數(shù)據(jù)的音調(diào)區(qū)1,存儲(chǔ)重音數(shù)據(jù)的重音區(qū)2,和存儲(chǔ)控制數(shù)據(jù)的控制區(qū)域4均相互組合以獲得圖7所示的目標(biāo)文件。這樣獲得的目標(biāo)文件通過(guò)已知的記錄方法記錄在存儲(chǔ)介質(zhì)上。
再現(xiàn)依照上述本發(fā)明音樂(lè)數(shù)據(jù)記錄方法壓縮的音樂(lè)演奏數(shù)據(jù)的再現(xiàn)儀器將在下面描述。
如圖10所示,再現(xiàn)儀器主要配置有記錄壓縮文件的壓縮文件存儲(chǔ)介質(zhì)11(其中按上述記錄方法獲得的音樂(lè)數(shù)據(jù)文件按照模式匹配方法加以壓縮);對(duì)該文件進(jìn)行解碼以獲得初始數(shù)據(jù)的解碼器12;用于瞬間存儲(chǔ)解碼的音樂(lè)數(shù)據(jù)的音樂(lè)數(shù)據(jù)存儲(chǔ)介質(zhì)13;順序地處理解碼的音樂(lè)數(shù)據(jù)再現(xiàn)控制器14;和再現(xiàn)和產(chǎn)生處理的輸出數(shù)據(jù)作為真實(shí)聲音的MI DI聲源。
壓縮的文件存儲(chǔ)介質(zhì)11是記錄通過(guò)傳輸線(例如電話線)傳輸?shù)膲嚎s的文件的大容重的盤(例如硬盤)。進(jìn)而,音樂(lè)數(shù)據(jù)存儲(chǔ)介質(zhì)13是高響應(yīng)速度讀/寫存儲(chǔ)器(即RAM)以應(yīng)付MI DI數(shù)據(jù)的再現(xiàn)速度。進(jìn)而,解碼器12和再現(xiàn)控制器14均裝在微處理器16內(nèi)以依照軟件執(zhí)行音樂(lè)數(shù)據(jù)的算術(shù)處理。
參看圖11將在下面描述音樂(lè)數(shù)據(jù)的再現(xiàn)處理。記錄在存儲(chǔ)介質(zhì)11內(nèi)的壓縮的文件被解碼器所解碼,使得去壓縮的音樂(lè)數(shù)據(jù)能被獲得。這樣獲得的音樂(lè)數(shù)據(jù)依照例如圖8的記錄格式存儲(chǔ)在音樂(lè)數(shù)據(jù)存儲(chǔ)介質(zhì)13內(nèi)。
再現(xiàn)控制器14依照如圖11所示的處理程序處理音樂(lè)數(shù)據(jù)文件以再現(xiàn)MI DI數(shù)據(jù)和使用MI DI聲源15產(chǎn)生音樂(lè)聲音如下首先,在步11,從記錄在音樂(lè)數(shù)據(jù)存儲(chǔ)介質(zhì)13的音樂(lè)數(shù)據(jù)文件的頭位置,如圖8所示的重音開始位置數(shù)據(jù)3和控制開始位置數(shù)據(jù)5被讀出以使數(shù)據(jù)從音調(diào)區(qū)域1,重音區(qū)域2和控制區(qū)域4的每一個(gè)頭能被讀出。這里音調(diào)區(qū)域11的頭位于鄰近控制開始位置數(shù)據(jù)5的位置。進(jìn)而,兩個(gè)標(biāo)志,標(biāo)志1和標(biāo)志2被準(zhǔn)備。第一標(biāo)志flag1假設(shè)去指示從音調(diào)區(qū)和重音區(qū)的再現(xiàn)狀態(tài),和第二標(biāo)志flag2假設(shè)為指示從控制區(qū)的再現(xiàn)狀態(tài),在再現(xiàn)前,兩個(gè)標(biāo)志初始化為“沒(méi)結(jié)束”狀態(tài)。進(jìn)而,兩個(gè)其它的標(biāo)志oflag1和oflag2被準(zhǔn)備。第一個(gè)標(biāo)志oflag1指示每一個(gè)從音調(diào)區(qū)1和重音區(qū)2讀出的MI DI事件的輸出狀態(tài),和第二標(biāo)志oflag2指示從控制區(qū)域4讀出的每一個(gè)MI DI事件的輸出狀態(tài)。這兩個(gè)標(biāo)志oflag1和oflag2初始化為“輸出結(jié)束”狀態(tài)。
進(jìn)而,在步S12,這要鑒別是否為再現(xiàn)所有的內(nèi)容均從音調(diào)區(qū)讀出了。如果下一次要從音調(diào)區(qū)1讀出的內(nèi)容已經(jīng)設(shè)有了(YES),程序進(jìn)行步S13以設(shè)置標(biāo)志1“結(jié)束”。另一方面,如果下次從音調(diào)區(qū)1要被讀出的內(nèi)容存在(NO),流程前進(jìn)到步S14去檢測(cè)標(biāo)志oflag1的狀態(tài),即,去檢測(cè)從音調(diào)區(qū)域1和重音區(qū)域2讀出的每一個(gè)MI DI的輸出狀態(tài)。這里,如果NO;即,如果已經(jīng)輸出了,流程進(jìn)到步S15。這里,如圖1解釋的數(shù)據(jù)(DT1,A1,B1)被讀出,和進(jìn)而,重音數(shù)據(jù)(C1)從重音區(qū)域2讀出。進(jìn)而,讀出的數(shù)據(jù)(DT1,A1,B1)和數(shù)據(jù)C1被重構(gòu)為新的數(shù)據(jù)(DT1,A1,B1,C1)以被輸出到MI DI聲源15作為MI DI事件(A1,B1,C1)。進(jìn)而,標(biāo)志flag1被設(shè)置為“沒(méi)有一輸出”狀態(tài)。當(dāng)讀時(shí),雖然數(shù)據(jù)按從每一個(gè)區(qū)域頭開始的順序被讀出,鑒別是否所有被讀出的內(nèi)容僅被音調(diào)區(qū)域執(zhí)行。因?yàn)橐粽{(diào)數(shù)據(jù)(DT1,A1,B1)和重音數(shù)據(jù)(C1)彼此一一對(duì)應(yīng),和進(jìn)而讀所有內(nèi)容同時(shí)在音調(diào)區(qū)域和重音區(qū)域內(nèi)完成。
順序地,和在步S12,S13,S14和S15相同的處理在步S16,S17,S18和S19內(nèi)為控制區(qū)域4所執(zhí)行。更詳細(xì)而言,如果所有的內(nèi)容還沒(méi)有從控制區(qū)域4中讀出(NO),標(biāo)志oflag2的狀態(tài)被檢測(cè)(在步S18)。如果NO(已經(jīng)輸出了),在步S19,如參考圖5所解釋的控制數(shù)據(jù)(DT2,A2,B2,C2)從控制區(qū)4中被讀出,和標(biāo)志oflag2被設(shè)置為“不一輸出”狀態(tài)。進(jìn)而,當(dāng)所有的內(nèi)容均在步S16讀出(YES),標(biāo)志flag2被設(shè)置為“結(jié)束”(在步S17)。這里,附在每個(gè)數(shù)據(jù)成分的數(shù)字用于鑒別在音調(diào)數(shù)據(jù)和重音數(shù)據(jù)基礎(chǔ)上重新構(gòu)成的數(shù)據(jù)(DT1,A1,B1,C1)。
隨后,流程進(jìn)行到步S20以檢測(cè)是否所有的內(nèi)容從音調(diào)區(qū)1,重音區(qū)2和控制區(qū)4中讀出。這可以通過(guò)鑒別是否兩個(gè)標(biāo)志flag1和flag2分別指示“結(jié)束”。結(jié)果兩個(gè)標(biāo)志flag1和flag2指示“結(jié)束”(YES),流程前進(jìn)到步S21以完成所有的再現(xiàn)處理。如果NO,在另一方面,流程前進(jìn)到步S22。
在步S22,流程檢測(cè)標(biāo)志flag1的狀態(tài)。如果標(biāo)志flag1指示“結(jié)束”(YES),流程跳過(guò)相對(duì)數(shù)據(jù)輸出的順序的處理,和分枝到步S25。這是因?yàn)閺囊粽{(diào)區(qū)1和重音區(qū)2的再現(xiàn)MI DI事件已經(jīng)被完成了。如果標(biāo)志flag1指示“未-結(jié)束”(NO),由于讀出但還未輸出的MI DI事件(A1,B1,C1)被呈現(xiàn),在步S23的輸出處理被執(zhí)行。更詳細(xì)地說(shuō),在步S23,指示事件時(shí)間數(shù)據(jù)的DT1的值被檢測(cè)。這里DT1指示時(shí)間直到數(shù)據(jù)(A1,B1,C1)被輸出。因此,如果DT1=0(YES),由于這指示,當(dāng)前時(shí)間是數(shù)據(jù)(A1,B1,C1)將被輸出到MI DI聲源15的時(shí)間,流程分枝到步S24。在步S24,MI DI事件(A1,B1,C1)被輸出到MI DI聲源部分15,和標(biāo)志oflag1被設(shè)置為“輸出結(jié)束”。在步S23,如果DT1不是0(NO),是必須輸出數(shù)據(jù)的時(shí)間(A1,B1,C1)。因此,在步S23,DT1再次被檢驗(yàn)。在步S28,DT1變化為小于1的值。在步S28,執(zhí)行等待單位時(shí)間。
進(jìn)而,在類似于在步S22,S23,S24處理的步S25,S26和S27中,類似的處理被執(zhí)行,這是為已經(jīng)被讀出但還沒(méi)有被輸出的MI DI事件執(zhí)行的。即,在步S25和S26,標(biāo)志flag2的狀態(tài)被檢測(cè)。如果DT2=0(YES),在步S27,MI DI事件輸出給MI DI聲源15,和標(biāo)志flag2被設(shè)置為“輸出-結(jié)束”。
如果流程前進(jìn)到步S28,這里存在著已經(jīng)被讀出但還沒(méi)有輸出的MI DI事件(A1,B1,C1)或(A2,B2,C2)的至少一個(gè)。為了在正確的時(shí)間輸出這些事件,在步28,DT1和DT2兩者均被減1,在單位時(shí)間已經(jīng)被等到以后流程前進(jìn)到步S22。
如上所述,在上述的每一個(gè)實(shí)施例中,雖然SMF已經(jīng)被解釋為通常的音樂(lè)演奏數(shù)據(jù)文件。但并僅僅限制于此,然而,只要音樂(lè)演奏數(shù)據(jù)文件包括音調(diào)數(shù)據(jù),重音數(shù)據(jù)和控制數(shù)據(jù)中的至少一種,和進(jìn)而這些數(shù)據(jù)按發(fā)生順序加以記錄,通過(guò)依本發(fā)明的方法有效地壓縮音樂(lè)數(shù)據(jù)這就可能減少數(shù)據(jù)容量。
依照本發(fā)明的壓縮音樂(lè)演奏數(shù)據(jù)的儀器的實(shí)施例將在下面描述。
首先,要被壓縮儀器壓縮的文件是例如圖12和圖13所示的SMF數(shù)據(jù)(標(biāo)準(zhǔn)的MI DI文件)。SMF的格式是由Δ時(shí)間,狀態(tài),音調(diào)數(shù)和速率所構(gòu)成。這里,Δ時(shí)間表示兩個(gè)相鄰事件之間的相對(duì)時(shí)間,和事件包括各種音樂(lè)數(shù)據(jù)例如音調(diào)-開始狀態(tài),音調(diào)-停止?fàn)顟B(tài),音調(diào)數(shù),速率,等等。這里音樂(lè)演奏數(shù)據(jù)包括各種音樂(lè)數(shù)據(jù)例如聲音速率,在音樂(lè)演奏的調(diào)子,拍子,聲源種類,重置控制等等和附加上由音調(diào),聲音間隔表示音調(diào)數(shù)。進(jìn)而,在SMF中,通過(guò)按時(shí)間順序安排各種音樂(lè)數(shù)據(jù)形成了音軌。
進(jìn)而,當(dāng)在音樂(lè)的頁(yè)上表示時(shí)當(dāng)兩個(gè)曲調(diào)是相同時(shí),這里存在著許多情況,當(dāng)用SMF數(shù)據(jù)表示時(shí),該兩個(gè)曲調(diào)并不是完全相同。圖13示出的兩個(gè)類似曲調(diào)1和2的SMF數(shù)據(jù)作為例子,它們當(dāng)中的每一個(gè)是由Δ時(shí)間,狀態(tài),音調(diào)數(shù),和速率組成。在這個(gè)情況下,盡管兩個(gè)曲調(diào)在音樂(lè)上是相同的,但在兩個(gè)曲調(diào)之間Δ時(shí)間和速率是不同的,以避免單調(diào)的重復(fù)和/或加上轉(zhuǎn)調(diào)。
在本說(shuō)明書中,[聲音開始事件]以后稱為[音調(diào)-開始事件],和[聲音停止事件]以后稱為[音調(diào)-停止事件]。進(jìn)而,[音調(diào)-開始事件]和[音調(diào)-停止事件]合起來(lái)稱[音調(diào)事件],除了[音調(diào)事件]之外的[事件]表示[控制器事件]。
在圖14中,SMF格式的輸入數(shù)據(jù)100被初級(jí)編碼發(fā)生器200所分析以分音樂(lè)數(shù)據(jù)為最后的音調(diào)數(shù),速率,間隔和其它數(shù)據(jù),作為結(jié)果,在不同區(qū)域安排的初級(jí)編碼300能獨(dú)立地被形成。初級(jí)編碼300在每個(gè)區(qū)域使用第二級(jí)編碼產(chǎn)生器400依照LZ(Lempel-Zip)方法被壓縮以形成第二級(jí)編碼500。
沒(méi)有壓縮的初級(jí)編碼300和第二級(jí)編碼500提供給開關(guān)600,編碼300和500通過(guò)開關(guān)600被選擇地輸出。
如圖15所示的更加詳細(xì),初級(jí)編碼形成裝置200配置有訊道分離器110,分析器120,音調(diào)Δ編碼產(chǎn)生器130,控制器Δ編碼產(chǎn)生器140,間隔編碼產(chǎn)生器150,音調(diào)數(shù)編碼產(chǎn)生器160,速率編碼產(chǎn)生器170,控制器編碼產(chǎn)生器180,和編碼產(chǎn)生器190。進(jìn)而,在圖15所示的該實(shí)例中,指示一音調(diào),控制器Δ編碼,間隔編碼,音調(diào)數(shù)編碼,速率編碼和控制器編碼的六類音調(diào)Δ編碼的初級(jí)壓縮編碼被編碼安排器190安排,和作為初級(jí)編碼300輸出到第二級(jí)編碼產(chǎn)生器,以進(jìn)行繼續(xù)的二級(jí)壓縮。
訊道分離器110檢測(cè)是否大量的訊道事件包括在SMF格式輸入數(shù)據(jù)100中的一個(gè)音軌內(nèi)。當(dāng)大量訊道事件被包括時(shí),音軌被如此地劃分,使得僅僅一個(gè)訊道能被包括在一個(gè)音軌內(nèi)。進(jìn)而訊道分離器100形成如圖16所示指示音軌和訊道之間對(duì)應(yīng)關(guān)系的訊道圖。因此,在此之后,處理以音軌為單元進(jìn)行。這里,雖然幾乎所有的SMF事件包括訊道數(shù)據(jù),通過(guò)劃分音軌和進(jìn)一步形成訊道圖,這就有可能省略每一事件的訊道數(shù)據(jù)。這就形成了底數(shù)據(jù)量。
分析器120執(zhí)行如圖17的示的處理,以形成圖18所示的音調(diào)表和圖19所示的控制器表。在圖17,首先,Δ時(shí)間和事件按順序從SMF中被讀出(在步S10),從音軌頭來(lái)的事件時(shí)間在讀出Δ時(shí)間的基礎(chǔ)上加以計(jì)算(在步S20)。進(jìn)而,事件被分析,和然后分類為[音調(diào)-開始事件],[音調(diào)-結(jié)束事件]和[控制器事件]三類。
在[音調(diào)-開始事件]的情況下,音調(diào)數(shù)和速率被寄存在圖18所示的音調(diào)表內(nèi)(步S30至S40)。在[音調(diào)-停止事件]的情況下,間隔被計(jì)算和然后寄存在音調(diào)表內(nèi)(步S50至S60)。進(jìn)而,在控制器事件]的情況下,控制器事件被寄存在如圖19所示的控制器表內(nèi)(步S70)。進(jìn)而,這里存在繼續(xù)的數(shù)據(jù),Δ時(shí)間和事件被讀出(步S80至S10)。如上所述,音調(diào)表和控制器表能形成每個(gè)音樂(lè)數(shù)據(jù)。
這里,每個(gè)音軌的音調(diào)事件按時(shí)間的順序安排在音調(diào)表中,這如圖18所示。進(jìn)而,每個(gè)音軌的控制器數(shù)據(jù)(除了音調(diào)數(shù)據(jù)之外)也按時(shí)間的順序安排在控制器表內(nèi),這如圖19所示。進(jìn)而,在[事件-開始事件]的情況下,當(dāng)音調(diào)數(shù)和速率被寫入的情況下,事件時(shí)間被寫到音調(diào)表預(yù)定列中,和進(jìn)而音調(diào)表的[見(jiàn)音調(diào)-停止]列被設(shè)置為初始值
。
進(jìn)而,如果事件是音調(diào)-停止,音調(diào)表被從頭掃描以選取具有事件早于音調(diào)-停止事件時(shí)間的音調(diào),相同的音調(diào)數(shù)和[見(jiàn)音調(diào)-停止]被置
,以對(duì)應(yīng)音調(diào)-開始事件。進(jìn)而,對(duì)應(yīng)音調(diào)-開始時(shí)間Ton和音調(diào)-停止時(shí)間Toff之間的差別(Toff-Ton)被記錄在音調(diào)表的[間隔]列作為[音調(diào)間隔],和進(jìn)而[見(jiàn)音調(diào)-停止]被置為[1]。
這里,雖然,[間隔]概念并不存在在SMF中,當(dāng)這概念被使用時(shí),由于音調(diào)-停止事件能被省略,數(shù)據(jù)容量能被減少。在SMF中,一個(gè)音調(diào)能被一對(duì)音調(diào)-開始事件和一個(gè)音調(diào)停止事件表示,這如圖12所示。進(jìn)而,在音調(diào)-停止事件之前的Δ時(shí)間對(duì)應(yīng)著一個(gè)間隔。進(jìn)而,音調(diào)停止事件的音調(diào)數(shù)甚至是必要的,以確保音調(diào)開始事件的對(duì)應(yīng)。然而,當(dāng)間隔的概念被使用時(shí)以確保音調(diào)-開始事件和音調(diào)-停止事件之間的對(duì)應(yīng)時(shí),音調(diào)-停止事件能被去掉。
進(jìn)而,音調(diào)停止事件的速率幾乎沒(méi)有被接收MI DI數(shù)據(jù)的聲源所使用。因此,當(dāng)速率被省略時(shí),這并不出現(xiàn)問(wèn)題。因此,當(dāng)音調(diào)-停止事件(三個(gè)字節(jié))被省略時(shí),雖然這里存在著Δ時(shí)間的數(shù)據(jù)量增加,由于省略事件-停止事件的效果是大的,這就有可能最大為每一個(gè)音調(diào)減少3個(gè)字節(jié)。其結(jié)果是,由于單個(gè)音樂(lè)經(jīng)常包括10,000音調(diào),在這種情況下,這就有可能最大減少30k字節(jié),所以壓縮效率能被增加。
當(dāng)事件是除了音調(diào)-開始事件和音調(diào)停止事件之外的事件時(shí),事件時(shí)間和事件內(nèi)容均寄存在控制器表內(nèi)。如上所述,事件的NA-單元寄存在音調(diào)表內(nèi),和事件的NB-單元寄存在控制器表內(nèi)。
這里,音調(diào)Δ編碼產(chǎn)生器130和控制器Δ編碼產(chǎn)生器140兩者均在圖15中示出并且在下面給于解釋。由于兩個(gè)Δ編碼產(chǎn)生器的處理內(nèi)容是相同的,僅僅音調(diào)Δ編碼產(chǎn)生器以示例的方式加以解釋。如圖20所示,音調(diào)Δ編碼產(chǎn)生器130為寄存在音調(diào)表內(nèi)的每一個(gè)事件計(jì)算當(dāng)前時(shí)間T[i]和先前時(shí)間T[i-1]之間的差別[步S110]如下ΔT[i]=T[i]-T[i-1]這里i=1至NA,T
=0這樣計(jì)算的值被寫入在音調(diào)表的預(yù)定的列。換言之,在音調(diào)事件之間每一個(gè)相對(duì)時(shí)間能被獲得。
這里,在SMF中,由于Δ時(shí)間由一個(gè)拍的小數(shù)確定的基本單元的可變長(zhǎng)度編碼所示的,字節(jié)的數(shù)目隨著Δ時(shí)間減小值而減小。例如Δ時(shí)間值小于127,一個(gè)字節(jié)就夠了。然而,當(dāng)Δ時(shí)間值是在128和16383之間,兩個(gè)字節(jié)是必需的。雖然當(dāng)Δ時(shí)間的基本單元是小的時(shí)候,音樂(lè)的表現(xiàn)能力(power)能被增加,必要的字節(jié)數(shù)增加了。另一方面,在音樂(lè)中實(shí)際使用的Δ時(shí)間被檢測(cè),象基本單元的一個(gè)滴答聲那么短的時(shí)間信號(hào)是不經(jīng)常使用的。因此,在很多情況下,Δ時(shí)間值必須要大得多的存儲(chǔ)容量的存儲(chǔ)介質(zhì)加以記錄。
因此為了獲得實(shí)際使用的時(shí)間精度,計(jì)算寄存在音調(diào)表內(nèi)的所有相對(duì)時(shí)間ΔT(i)的最大公約數(shù)ΔTs和輸出作為音調(diào)Δ編碼(步S120)。如果獲得最大公約數(shù)很困難,那么適當(dāng)?shù)募s數(shù)可以確定作為最大公約數(shù)ΔTs。然后,環(huán)路控制變量[i]被設(shè)置為1(步S130),然后寄存在音調(diào)表內(nèi)的相對(duì)時(shí)間ΔT[i]從中讀出(步S140)。在此之后,ΔT[i]被ΔTs除以輸出音調(diào)Δ編碼ΔTa[i](步150)。隨后,環(huán)路控制變量[i]和音調(diào)表事件的NA數(shù)加以比較(步S160)。如果[i]<NA,則[i]被加1(步S170),流程返回到步S140。如果[i]不小于NA(步S160),流程結(jié)束。因此,音調(diào)Δ編碼能由最大公約數(shù)ΔTs和ΔTa[i](i=1到NA)的NA-單元構(gòu)成,如圖21所示。
這里,依本發(fā)明的音樂(lè)數(shù)據(jù)壓縮儀壓縮的編碼在恢復(fù)時(shí),通過(guò)讀ΔTa[i]和用ΔTs乘讀出的ΔTa[i]來(lái)恢復(fù)到初始的ΔT[i]。因此,這有可能減少數(shù)據(jù)量而不喪失在SMF的音樂(lè)表達(dá)能力。例如,在Δ時(shí)間的基本單元是1/480拍的情況下(通常使用)和在SMF中TS=10,二字節(jié)被需要來(lái)表示一拍間隔ΔT=480或半拍間隔ΔT=240。另一方面,在本發(fā)明中,由于ΔTs用除加以表示,ΔT=48或ΔT=24的表示是足夠了,使得僅僅一個(gè)字節(jié)被使用作為每一個(gè)ΔT的表示。進(jìn)而,由于對(duì)應(yīng)一拍或半拍的Δ時(shí)間經(jīng)常被使用,當(dāng)減少到一個(gè)字節(jié)表示每個(gè)Δ時(shí)間時(shí),這就有可能在整個(gè)音樂(lè)中減少可觀量的數(shù)據(jù)。
圖15所示控制器Δ編碼產(chǎn)生器140執(zhí)行完全類似于音調(diào)Δ編碼產(chǎn)生器130過(guò)程的過(guò)程,除了處理表不是音調(diào)表而是控制器表。進(jìn)而,格式化的控制器編碼的格式基本上與圖21所示音調(diào)編碼的格式相同,除了編碼數(shù)從NA變?yōu)镹B。
圖15所示間隔編碼產(chǎn)生器150粗略地與音調(diào)Δ編碼產(chǎn)生器130相同,使得產(chǎn)生器150執(zhí)行依照?qǐng)D22所示程序的處理。首先,寄存在音調(diào)表上的各自的間隔的最大公約數(shù)Ds被記算和被輸出作為間隔編碼(步S210)。如果這很困難去獲得最大公約數(shù),適當(dāng)?shù)募s數(shù)能被確定作為最大公約數(shù)Ds。隨后,環(huán)路控制變量[i]被設(shè)置為1(步S220)。和然后寄存在音調(diào)表中的間隔D[i]被從中讀出(步S230)。此后,D[i]被Ds除以輸出間隔編碼Da[i](步S240)。隨后,環(huán)路控制變量[i]和音調(diào)表中事件數(shù)NA相比較(步S250)。如果[i]<NA,[i]的值加1(步260),和然后處理返回到步S230。如果[i]>NA(在步S250),處理結(jié)束。通過(guò)最大公約數(shù)Ds和Da[i](i=1至NA)的NA單元構(gòu)成間隔編碼,如圖23所示。這里,如已經(jīng)所解釋的,由于間隔對(duì)應(yīng)著在SMF中音調(diào)-開始和音調(diào)停止之間的Δ時(shí)間,當(dāng)和SMF的數(shù)據(jù)量相比較時(shí),這就可能減少數(shù)據(jù)量,這和在音調(diào)Δ編碼產(chǎn)生器130中解釋的理由相同。
在圖15所示的音調(diào)數(shù)編碼產(chǎn)生器160中,為寄存在音調(diào)表中的音調(diào)數(shù)執(zhí)行如下的處理,以形成音調(diào)數(shù)編碼。這里,使用函數(shù)f()和余數(shù)α[i]表示音調(diào)數(shù)num[i],每一個(gè)余數(shù)α[i]是函數(shù)f()表示的音調(diào)數(shù)和真實(shí)音調(diào)數(shù)之差,依照下述的公式(1),這里函數(shù)f()的變量是在先的音調(diào)數(shù)的S單元如下num[i-1],num[i-2],…,和num[i-S]其中,num[i-1]表示在num[i]之前的音調(diào)數(shù)1;和num[i-2]是在num[i]之前的音調(diào)數(shù)2。
如圖24所示,通過(guò)按時(shí)間順序安排i≤S事件的音調(diào)數(shù)和i>S事件的余數(shù)α[i]來(lái)構(gòu)成音調(diào)數(shù)編碼。因此,因在壓縮和恢復(fù)(去壓縮)的情況下使用相同的函數(shù)f()時(shí),num[i]在余數(shù)α[i]的基礎(chǔ)上能恢復(fù)為num[i]=f(num[i-1],num[i-2],…,num[i-S])+α[i](1)這里如果事件數(shù)是NA,i=(S+1),(S+2),…,NA這里,雖然各種函數(shù)f()能被考慮,當(dāng)相同的余數(shù)值α[i]能重復(fù)地出現(xiàn)的函數(shù)被選取時(shí),這就可能增加如圖14所示的第二編碼產(chǎn)生器400的效率。這里當(dāng)公式(2)所示函數(shù)所獲得的效率將作為實(shí)例加以解釋。在這種情況下,S=1和前一個(gè)音調(diào)的差是α[i],然而,如果i=1,音調(diào)數(shù)本身被輸出作為音調(diào)數(shù)編碼。
num[i]=num[i-1]+α[i](2)這里如果事件數(shù)是NA,i=2,3,…,NA這里,在通常音調(diào)的情況下,這里經(jīng)常存在著被音調(diào)數(shù)移動(dòng)的曲調(diào)線,這里的音調(diào)數(shù)具有相同的和諧音和基音的平行的移動(dòng)率。例如當(dāng)這里的曲調(diào)是[do,do,mi,sol,mi]在{C}測(cè)量中,這里經(jīng)常存在的曲調(diào)線比第一個(gè)曲調(diào)高2度,例如在[D]測(cè)量的[re,re,#fa,la,re],它的基(root)音高2度。
因此,當(dāng)各自的曲調(diào)線由SMF的音調(diào)數(shù)本身表示為[60,60,64,67,60]和[62,62,66,69,62],在兩線之間這里并不存在著共同的數(shù)據(jù)模式。然而,當(dāng)用上述的α[i]表示時(shí),在第二個(gè)和之后的聲音中兩者的記憶線是
,這樣,相同的模式能被獲得。如上所述,這就有可能把在SMF內(nèi)彼此不同的兩個(gè)數(shù)據(jù)模式轉(zhuǎn)換為依本發(fā)明的方式的相同的模式。
在LZ方法中,由于壓縮率能隨著相同數(shù)據(jù)模式的數(shù)目的增加而增加,這是顯而易見(jiàn)的,壓縮率能隨著使用上述音調(diào)數(shù)表示方法而增加。進(jìn)而,在公式(1)中,如果S=0,num[i]=α[i]這樣,音調(diào)數(shù)本身能被編碼。進(jìn)而,這里最好準(zhǔn)備大量函數(shù)f()類型,和為編碼選取最佳函數(shù)。在這種情況下,指示函數(shù)被使用的數(shù)據(jù)最好被編碼。
圖15所示速率編碼產(chǎn)生器170基本上和音調(diào)數(shù)產(chǎn)生器160的相同。
這里,寄存在音調(diào)表中的音調(diào)的速率vel[i]使用下邊的公式[3]并且函數(shù)g()和余數(shù)β[i]表示,這里函數(shù)g()的變量是音調(diào)速率在先T-單元為vel[i-1],vel[i-2],…,和vel[i-T]其中vel[i-1]表示在vel[i]之前的速率1,vel[i-2]是在vel[i]之前的音調(diào)數(shù)2。
如圖25所示,通過(guò)按時(shí)間順序安排i≤T事件的速率和i>T事件的余數(shù)β[i]構(gòu)成速率編碼。因此,當(dāng)相同的函數(shù)g()使用在壓縮和恢復(fù)情況時(shí),在余數(shù)β[i]的基礎(chǔ)上vel[i]能被恢復(fù)為vel[i]=g(vel[i-1],vel[i-2],…,vel[i-T])+β(i)(3)這里如果事件數(shù)是NA,i=(T+1),(T+2),…,和NA進(jìn)而,當(dāng)適當(dāng)?shù)暮瘮?shù)g()被選取,由于相同數(shù)據(jù)模式的β[i]能重復(fù)地呈現(xiàn),當(dāng)LZ方法被使用時(shí),這就有可能增加壓縮率。
圖15所示的控制器編碼產(chǎn)生器18將在下面描述。如圖26所示,通過(guò)按時(shí)間順序安排寄存在圖19所示控制器表的事件數(shù)據(jù)可以獲得控制器編碼,每個(gè)控制器編碼由指示事件種類和參數(shù)(數(shù)據(jù)字節(jié))的標(biāo)志F所構(gòu)成。依照事件的種類,參數(shù)的數(shù)目是不同的,事件的種類可以粗分為兩類,[一般事件]和[連續(xù)事件]。編碼指定給標(biāo)志[F]和參數(shù)以鑒別這兩種不同的事件。例如,每一個(gè)標(biāo)志[F]的最高位被設(shè)置為[1]和每一參數(shù)的最高位被設(shè)置為
。因此,這就可能完成表示和SMF運(yùn)行狀態(tài)相同的運(yùn)行狀態(tài)(當(dāng)事件種類和先前事件相同時(shí),標(biāo)志F可以省略)。
這里,在SMF中,一個(gè)字節(jié)的MI DI狀態(tài)被用來(lái)表示在SMF事件中的種類。一般被使用的該數(shù)值是8n(hex),9n(hex),An(hex),Bn(hex),Cn(hex),Dn(hex),En(hex),F(xiàn)o(hex)和FF(hex)中的任何一個(gè),這里n=0至F(hex)和n是訊道數(shù)。[一般事件]是排除音調(diào)-開始8n(hex)和音調(diào)-停止9n(hex)的MI DI狀態(tài)。在本發(fā)明中,然而,如前所譯由于這并不需要表示訊道數(shù),[一般事件]的標(biāo)志的種類是七類。因此,相同標(biāo)志的概率的可能性比MI DI狀態(tài)要高,當(dāng)采用LZ方法時(shí),壓縮率能夠被增加。通過(guò)安排排除SMF的MI DI狀態(tài)一字節(jié)的數(shù)據(jù)形成[一般事件]的編碼。
進(jìn)而,在SMF中,這里存在許多部分,其中特定類的事件呈現(xiàn)得連續(xù)超過(guò)恒定的值和進(jìn)而各自事件的參數(shù)值(數(shù)據(jù)字節(jié))在粗略恒定規(guī)則下變化,例如在[強(qiáng)度輪變化]的部分事件被使用。通過(guò)精細(xì)地變化音調(diào)數(shù),該事件被使用以增加音樂(lè)表現(xiàn)力。在這種情況下,參數(shù)彼此不同的大量事件經(jīng)常從自然的觀點(diǎn)被使用。這此事件被稱為[連續(xù)事件],而該部分被稱為[連續(xù)事件塊]。
在下述的例子中,雖然[強(qiáng)度輪變化]被取出作為[連續(xù)事件]的例子,但該[連續(xù)事件]并不局限于此。圖27示出了SMF[連續(xù)事件塊]的實(shí)例。在這情況下,由于每一事件的參數(shù)彼此不同。SMF的相同模式的長(zhǎng)度總共兩個(gè)字節(jié)(一字節(jié)Δ時(shí)間,一字節(jié)狀態(tài))。在這程度的模式長(zhǎng)度的情況下,依LZ方法的壓縮效果很難獲得。
在[強(qiáng)度輪變化]呈現(xiàn)連續(xù)地在控制器表內(nèi)超過(guò)一個(gè)恒定值和參數(shù)值在粗略恒定的規(guī)則下變化的區(qū)域內(nèi)通過(guò)執(zhí)行下述的處理形成控制器編碼。當(dāng)[強(qiáng)度輪變化]的數(shù)目小于一恒定值時(shí),這被編碼為[一般事件]。
這里,在連續(xù)事件塊的事件參數(shù)P[i]依照下列公式(4)使用函數(shù)h()和余數(shù)r[i]來(lái)表達(dá),這里,函數(shù)h()的變量是呈現(xiàn)在以前的事件參數(shù)值的在先U-單元為P[i-1],P[i-2],…,和P[i-U]這里P[i-1]表示在P[i]之前的事件參數(shù)值;和P[i-1]是在P[i]之前的事件參數(shù)值2。
如圖28所示,通過(guò)安排指示連續(xù)強(qiáng)度輪變化的呈現(xiàn)的標(biāo)志,第1到第U事件的參數(shù)值,和(U+1)事件和此后的余數(shù)r(i)構(gòu)成了連續(xù)事件的編碼。編碼指定給標(biāo)志[F]和參數(shù)以鑒別它們。因此,在壓縮和恢復(fù)時(shí)使用相同的函數(shù)h()在余數(shù)r[i]的基礎(chǔ)上P[i]能恢復(fù)為
P[i]=h(P[i-1],P[i-2],…,P[i-U])+γ[i](4)這里連續(xù)事件塊的事件數(shù)是NC,i=(U+1),(U+2),…,和NC這里,雖然各種函數(shù)h()能被考慮,當(dāng)選出相同的余數(shù)值γ[i]能重復(fù)呈現(xiàn)的函數(shù)時(shí),這就有可能增加如圖14所示的第二編碼產(chǎn)生器400的壓縮效率。這里,當(dāng)公式(5)所示函數(shù)獲得的效率將作為例子加以解釋。在這種情況下,U=1和先前音調(diào)數(shù)的差是γ[i]。
P[i]=p[i-1]+γ[i](5)這里,如果連續(xù)事件塊的事件數(shù)是NC,i=2,3,…,和NC依照上述的方法,圖27所示區(qū)域能夠被轉(zhuǎn)換為圖29所示的控制器編碼。在這種情況下,由于所有第二和之后事件數(shù)據(jù)和[1]相同,LZ方法的壓縮率能被增加。進(jìn)而,由于Δ時(shí)間不包括在控制器編碼中,甚至當(dāng)每一事件的Δ時(shí)間不同,LZ方法的壓縮率不被顯著的減少。進(jìn)而,取而代之上述的公式(4),這也可以使用公式(6)表示下邊的函數(shù)e(),其中事件的時(shí)間數(shù)據(jù)被使用作為變量,t[i]表示獲得參數(shù)的事件時(shí)間,t[i-1]表示在先事件時(shí)間,P[i]=e(P[i-1],P[p-2],…,P[i-U)]t[i],t[i-1],…,t[i-U])+γ[i](6)這里如果連續(xù)事件塊的事件數(shù)是NC,i=(U+1),(U+2),…,和NC圖15所示編碼安排器190在圖30所示區(qū)域內(nèi)分別安排上述各自的編碼,以形成圖14所示的初級(jí)編碼300。每一個(gè)編碼的頭包括管理數(shù)據(jù)例如開始地址和編碼長(zhǎng)度和上述的訊道圖。如前所述,如SMF相比較,雖然各的編碼有這樣的性質(zhì),相同數(shù)據(jù)呈現(xiàn)時(shí)間的次數(shù)是大的,相同數(shù)據(jù)模式的數(shù)據(jù)長(zhǎng)度是長(zhǎng)的。在這種情況下,然而,安排以這樣的方式被設(shè)計(jì)出來(lái),使得相同的數(shù)據(jù)模式能呈現(xiàn)較短的距離。首先,由于相同數(shù)據(jù)串呈現(xiàn)的可能性在相同類型的編碼中是高的,相同類型的編碼是按音軌次序安排的。進(jìn)而,由于音調(diào)Δ編碼,控制器Δ編碼和間隔編碼均是時(shí)間相關(guān)的數(shù)據(jù),和因此由于相同數(shù)據(jù)串呈現(xiàn)可能性是高于不同性質(zhì)的音調(diào)數(shù)編碼和速率編碼,這些時(shí)間相關(guān)的數(shù)據(jù)被安排的相互靠近。
這里,返回到圖13,多長(zhǎng)的相同數(shù)據(jù)模式能被減少將被檢驗(yàn)。這里作出假設(shè),每一個(gè)曲調(diào)是由50單元的音調(diào)-開始事件和50單元的音調(diào)停止事件構(gòu)成的;所有的Δ時(shí)間均產(chǎn)一個(gè)字節(jié);所有的事件均是三個(gè)字節(jié)。那末,如已經(jīng)講述過(guò)的,對(duì)于每一個(gè)曲調(diào)來(lái)說(shuō)所有的音調(diào)數(shù)是相同的。
因此,在SMF中每一個(gè)曲調(diào)的數(shù)據(jù)量是(1+3)×50×2=400字節(jié)當(dāng)所有Δ時(shí)間和每個(gè)曲調(diào)的速率是相同的,相同數(shù)據(jù)模式長(zhǎng)度是400字節(jié)。然而,如果在兩個(gè)曲調(diào)之間所有的Δ時(shí)間和音調(diào)-開始速率相互不同,在SMF中相同數(shù)據(jù)模式的最大長(zhǎng)度在音調(diào)停止?fàn)顟B(tài),音調(diào)數(shù)和速率的安排中是三個(gè)字節(jié)。在這種程度的壓縮下,使用LZ方法并不存在什么效果。
另一方面,在本發(fā)明中,由于Δ時(shí)間,音調(diào)數(shù)和速率均分別地編碼,在音調(diào)數(shù)編碼中至少呈現(xiàn)50字節(jié)的相同數(shù)據(jù)模式。進(jìn)而,如以前所闡述的,甚至SMF的速率彼此完全不同,相同的數(shù)據(jù)模式經(jīng)常呈現(xiàn)在速率編碼中,因此,使用LZ方法的壓縮率能被明確地改善。按如上所理解的,在圖14所示的初級(jí)編碼300中,數(shù)據(jù)量能被減小但完全沒(méi)有減少包括在SMF內(nèi)的音樂(lè)數(shù)據(jù)量,進(jìn)而這里存在著性質(zhì),和SMF相比較相同數(shù)據(jù)模式的長(zhǎng)度是長(zhǎng)的;相同數(shù)據(jù)呈現(xiàn)時(shí)間的數(shù)目是大的;相同數(shù)據(jù)呈現(xiàn)在最短的距離。因此這就有可能有效地通過(guò)第二級(jí)編碼產(chǎn)生器400壓縮數(shù)據(jù)。進(jìn)而,由于初級(jí)編碼數(shù)據(jù)量已經(jīng)很好地被壓縮了,初級(jí)編碼300能被直接輸出。
在第二級(jí)編碼產(chǎn)生器400,初級(jí)編碼產(chǎn)生器200的輸出300被使用LZ方法進(jìn)一步地壓縮。LZ方法已廣泛地使用在例如gzip,LHZ等等壓縮程序中。在這個(gè)方法中,相同的數(shù)據(jù)模式從輸入數(shù)據(jù)中被檢索。當(dāng)相同的數(shù)據(jù)模式存在時(shí),通過(guò)使用數(shù)據(jù)(即,相關(guān)于在先相同數(shù)據(jù)模式的距離的數(shù)據(jù),模式長(zhǎng)度,等等)代替相同的數(shù)據(jù)模式使相同數(shù)據(jù)模式的數(shù)據(jù)量被減少。例如,在數(shù)據(jù)“ABCDEABCDEF”中,由于“ABCDE”被重復(fù),“ABCDEABCDEF”被“ABCDE(5,5)F”所取代,這里,壓縮碼(5,5)表示返回5個(gè)字符,復(fù)制5個(gè)字符。
處理將在這里被描述。圖14所示第二編碼產(chǎn)生器500順序移動(dòng)處理位置,從初級(jí)編碼300的頭開始。當(dāng)處理位置的數(shù)據(jù)模式與在先固定區(qū)域的數(shù)據(jù)模式相匹配時(shí),從處理位置到數(shù)據(jù)模式的距離和匹配的數(shù)據(jù)模式的長(zhǎng)度兩者被輸出作為第二級(jí)編碼500。進(jìn)而,處理位置移動(dòng)到第二數(shù)據(jù)模式的端部,繼續(xù)類似的處理。這里,如果在處理位置的數(shù)據(jù)模式并不與在先固定區(qū)域的數(shù)據(jù)模式相匹配,初級(jí)編碼300被復(fù)制和然后被輸出作為第二級(jí)編碼500。
作為上述描述的理解,壓縮率能隨著相同數(shù)據(jù)的數(shù)據(jù)區(qū)的增加而增加。進(jìn)而,相同數(shù)據(jù)區(qū)之間的距離是在固定的范圍,這是必需的,在前面解釋的音樂(lè)中,雖然類似地曲調(diào)被重復(fù)地使用,在SMF初始數(shù)據(jù)的情況下,完全相同的數(shù)據(jù)串經(jīng)常不能重復(fù);換言之,數(shù)據(jù)的一部分經(jīng)常彼此不同,例如如下雖然音調(diào)數(shù)是相同的,但是速率彼此不同。
換言之,依照本發(fā)明,執(zhí)行這樣的處理,使得相同性質(zhì)的數(shù)據(jù)被收集和分別記錄在不同的區(qū)域;在每一個(gè)區(qū)域中的相同數(shù)據(jù)如此地被處理,使得盡可能經(jīng)常地呈現(xiàn)性質(zhì)接近的數(shù)據(jù)被安排在盡可能接近的區(qū)域內(nèi),這就可能增加LZ方法的壓縮率,其結(jié)果是,最終的第二級(jí)編碼500的容量能有效地減少。進(jìn)而,上述的格式和處理過(guò)程僅為一例加以描述。格式和過(guò)程可以各種方式加以修改而不脫離本發(fā)明的精神。進(jìn)而,雖然SMF被解釋作為音樂(lè)數(shù)據(jù)的例子,但絕不僅限制于SMF,本發(fā)明能應(yīng)用到其它類似的音樂(lè)演奏數(shù)據(jù),去有效地減少數(shù)據(jù)容量。
解碼圖14所示的初級(jí)編碼300和第二級(jí)編碼500的音樂(lè)演奏數(shù)據(jù)解碼儀將在下面描述。
在圖31中,和壓縮處理相對(duì),被使用LZ方法壓縮的輸入數(shù)據(jù)210被分為音調(diào)數(shù),聲音速率,聲音間隔,和其它數(shù)據(jù),即被第二級(jí)編碼解碼器230分成為初級(jí)編碼300,和通過(guò)初級(jí)編碼解碼器240被進(jìn)一步恢復(fù)為初始的音調(diào)(輸出數(shù)據(jù)250)。控制器260控制開關(guān)220如下當(dāng)輸入數(shù)據(jù)210是圖14所示的第二級(jí)編碼500時(shí),第二級(jí)編碼解碼處理和隨后的初級(jí)編碼解碼處理能被執(zhí)行。進(jìn)而,當(dāng)輸入數(shù)據(jù)210是圖14所示的初級(jí)編碼300時(shí),僅僅初級(jí)編碼解碼處理能被執(zhí)行。
這里,通過(guò)由操作者操作的輸入/輸出器件(未示出),(即,鍵盤,鼠標(biāo),顯示等等)指定指示數(shù)據(jù)種類的數(shù)據(jù)或附加指示壓縮數(shù)據(jù)編碼方法種類的數(shù)據(jù)使得當(dāng)解碼時(shí)附加的數(shù)據(jù)能被鑒別以便能執(zhí)行是否編碼是第二級(jí)編碼500或初級(jí)編碼300的鑒別。
參看圖32,在下面將描述第二級(jí)編碼解碼器23的解碼處理。首先,輸入數(shù)據(jù)(第二級(jí)編碼500)從頭中讀出(步S101)。然后,鑒別是否讀出的數(shù)據(jù)是非壓縮數(shù)據(jù)部分(例如ABCDE(5,5)的[ABCDE]或是壓縮數(shù)據(jù)部分(即,ABCDE(5,5)的(5,5))(在步S102)。
進(jìn)而,在是壓縮數(shù)據(jù)的情況下,在過(guò)去呈現(xiàn)是相同的模式被檢索,復(fù)制和輸出(步S103)。另一方面,在非壓縮數(shù)據(jù)情況下,按數(shù)據(jù)原樣輸出數(shù)據(jù)(步S104),在此之后,上述的處理被重復(fù)直到所有的輸入數(shù)據(jù)(第二級(jí)編碼500)能被解碼(步S105到S101)。作為結(jié)果,這就可能對(duì)圖30安排的初級(jí)編碼進(jìn)行解碼。
參看圖33和圖30所示初級(jí)編碼300,圖31所示初級(jí)編碼解碼器240的解碼處理將在下面解釋。首先,初級(jí)編碼300的頭將被讀出(步S111)。在讀頭時(shí),在記錄時(shí),由于各種數(shù)據(jù)例如整個(gè)音軌數(shù)N,從音調(diào)Δ編碼到控制編碼的各自編碼區(qū)的頭地址,訊道圖,時(shí)間分辨等等被記錄,在這些數(shù)據(jù)的基礎(chǔ)上SMF頭被形成和然后被輸出(步S112)。
進(jìn)而,音軌數(shù)[i]被設(shè)置為[1](在步S113),和圖34所示軌道解碼處理的細(xì)節(jié)被執(zhí)行(步S114)。進(jìn)而,音軌數(shù)被檢測(cè)是否音軌數(shù)[i]是小于全部音軌數(shù)N(步S115)。如果小于N,音軌數(shù)[i]加1(步S116),返回到步S114以重復(fù)音軌解碼處理。進(jìn)而,在步S115,當(dāng)音軌數(shù)[i]不小于整個(gè)音軌數(shù)N,初級(jí)編碼解碼處理結(jié)束。
在圖34所示祥細(xì)的音軌解碼處理中,首先,處理使用的變量被初始化(步S121)。在實(shí)踐上,指示現(xiàn)在被處理的音調(diào)事件數(shù)的變量[i]被設(shè)置為[1];指示現(xiàn)在被處理的控制器事件數(shù)的變量[k]也被設(shè)置為[1],指示緊靠著的在先事件被輸出的時(shí)間的變量Tb被設(shè)置為
;音調(diào)結(jié)束標(biāo)志和控制器結(jié)束標(biāo)志兩者被清0。這里,音調(diào)結(jié)束標(biāo)志指示,處理的音軌的所有音調(diào)事件已經(jīng)被完成,和控制器結(jié)束標(biāo)志指示,處理的音軌的所有控制器事件已經(jīng)被完成。
進(jìn)而,音調(diào)Δ編碼的最大公約數(shù)ΔTsn,控制器Δ編碼的最大公約數(shù)ΔTsc和處理的音軌數(shù)[i]的間隔編碼的最大公約數(shù)Ds均被讀出(步S122)。進(jìn)而,第j音調(diào)Δ編碼ΔTan[j]和第k控制器Δ編碼ΔTac[k]被讀出,和進(jìn)一步分別被最大公約數(shù)ΔTsn和ΔTsc相乘以獲得ΔTn[j]和ΔTc[k]步(S123)如下ΔTn[j]=ΔTan[j]×ΔTsnΔTc[k]=ΔTac[k]×Tsc(7)進(jìn)而,以音軌頭作為它們的參考,ΔTn[j]和ΔTc[k]被轉(zhuǎn)換為時(shí)間Tn[j]和Jc[k],(步S124)如下Tn[j]=Tn[j-1]+ΔTn[j]Tc[k]=Tc[k-1]+ΔTc[k](8)這里Tn
=Tc
=0進(jìn)而,在步S123和S124,當(dāng)音調(diào)結(jié)束標(biāo)志被設(shè)置時(shí),ΔTn[j]和Tn[j]并不計(jì)算。進(jìn)而,當(dāng)控制器結(jié)束標(biāo)志被設(shè)置時(shí),ΔTc[k]和Tc[k]并不計(jì)算。
進(jìn)而,檢測(cè)要被輸出音調(diào)-停止事件的存在和缺少(步S125)。在要被輸出數(shù)據(jù)存在的情況下,音調(diào)-停止甚至被輸出作為SMF(步S126)。進(jìn)而,步S125和S126兩者將進(jìn)一步在以后描述(圖35的步144)。進(jìn)而,解碼處理被選取。首先,控制器結(jié)束標(biāo)志被檢測(cè)(步S127),當(dāng)控制器結(jié)束標(biāo)志被設(shè)立時(shí),以后參看圖35詳細(xì)描述被執(zhí)行的音調(diào)事件解碼處理(步S128)。當(dāng)控制器結(jié)束標(biāo)志沒(méi)有被設(shè)置時(shí),音調(diào)結(jié)束標(biāo)志被檢測(cè)(步S129)。當(dāng)該音調(diào)結(jié)束標(biāo)志被設(shè)置時(shí),執(zhí)行以后參看圖38詳細(xì)描述的控制器事件解碼處理(步S130)。當(dāng)兩者標(biāo)志均未設(shè)置,Tn[j]和Tc[k]相互比較(步S131)。當(dāng)Tn[j]小于Tc[k],音調(diào)事件解碼處理被執(zhí)行(步S128)。當(dāng)Tn[j]不少于Tc[k],控制器事件解碼處理被執(zhí)行(步S130)。
在音調(diào)事件解碼處理之后,就檢測(cè)是否在先音軌[i]的所有音調(diào)事件已經(jīng)被處理了(步S132)。如果處理結(jié)束,設(shè)置音調(diào)結(jié)束標(biāo)志(步S133),過(guò)程前進(jìn)到S138。如果不是,變量[j]被加1(步S134),返回到步S123。進(jìn)而,在控制器事件解碼處理之后,檢測(cè)是否在先音軌[i]的所有控制器事件已經(jīng)被處理了(步S135)。如果處理結(jié)束,控制器結(jié)束標(biāo)志被設(shè)置(步S136),處理前進(jìn)到步S138。如果沒(méi)有,變量[k]加1(步S137),返回到步S123。
在步S138,檢測(cè)是否音調(diào)結(jié)束標(biāo)志和控制器結(jié)束標(biāo)志被設(shè)置。如果兩者標(biāo)志被設(shè)置,當(dāng)前音軌的音軌解碼處理結(jié)束。如果沒(méi)有,處理返回到步S123,去重復(fù)上述的解碼處理。
在圖35詳細(xì)示出的音調(diào)事件解碼處理中,首先,第j音調(diào)數(shù)編碼α[j]被讀出,使用在壓縮處理中所使用的函數(shù)f()和根據(jù)下述公式(9)計(jì)算音調(diào)數(shù)num[j](步S141)。
num[j]=f(num[j-1],num[j-2],…,num[j-s]+α[j](j>S)num[j]=α[j] (j≤S)(9)這里S是函數(shù)f()的變量數(shù)以上述相同的方式,第j速率編碼β[j]被讀出,使用在壓縮處理時(shí)使用的函數(shù)g()和依照下述公式(10)計(jì)算速率vel[j](步S142)。
vel[j]=g(vel[j-1],vel[j-2],…,vel[j-s])+β[j](j>T)vel[j]=β[j] (j≤T)(10)這里T是函數(shù)g()的變量數(shù)進(jìn)而,在Tn[j],num[j]和vel[j]的基礎(chǔ)上,圖36所示的音調(diào)-開始事件被輸出(在步S143)。依照下列公式(11),和使用在Tn[j]之前緊靠著事件Tb可以獲得SMF的Δ時(shí)間ΔT,和輸出ΔT。
ΔT=Tn[j]-Tb(11)在圖36所示音調(diào)開始事件中,狀態(tài)字節(jié)的高四位表示音調(diào)-開始[9(hex)],低四位表示通過(guò)訊道圖所獲得的數(shù)字。進(jìn)而,隨在該狀態(tài)字節(jié)后的是音調(diào)數(shù)和速率字節(jié)。進(jìn)而,時(shí)間Tb被重寫Tn[j]以進(jìn)行更新(步S144)。
進(jìn)而,在圖35,音調(diào)-停止事件被寄存(步S145)。在實(shí)際上,間隔編碼Da[j]被讀出;依照下列公式(12)計(jì)算音調(diào)-停止事件的時(shí)間Toff;該時(shí)間Toff和音調(diào)數(shù)num[j]被寄存在圖37所示音調(diào)-停止排隊(duì)中。
Toff[j]=Da[j]×Ds+Tn[j] (12)在該音調(diào)停止排隊(duì)中,現(xiàn)在被使用的登錄的數(shù)目被保持,進(jìn)而,音調(diào)停止時(shí)間Toff是如此管理,使得從最小的一個(gè)開始的順序管理的。
在圖34所示的步S125內(nèi),小于Tn[j]和Tc[k]之間數(shù)的值Tm按順序和音調(diào)停止排隊(duì)的頭Toff[n](n=1至NN全部登錄的數(shù))相比較。如果這里存在著登錄項(xiàng)例如Toff[n]<Tm,處理前進(jìn)到步S126,去輸出音調(diào)-停止事件。在步S126,在ΔT依照下列的公式(13)加以計(jì)算和輸出,Tb被重寫Toff[n]以更新,和上述的音調(diào)停止事件作為SMF被輸出。
ΔT=Toff[n]-Tb(13)控制器事件解碼處理將參照?qǐng)D38在下面詳細(xì)地描述。在這個(gè)處理中,在圖39中由Δ時(shí)間,狀態(tài)和參數(shù)組成的控制器事件被解碼。首先,依照下述公式(14)通過(guò)使用緊靠著Tc[K]之前輸出的事件的時(shí)間Tb獲得Δ時(shí)間ΔT(步S150)。
ΔT=Tc[K]-Tb (14)Tb重寫Tc[K]以更新(在步S151)。
然后,指示事件種類的事件標(biāo)志F[K]從控制器編碼區(qū)域中讀出,和該標(biāo)志被鑒別是否F[K]是[一般事件]或[連續(xù)事件]或[運(yùn)行狀態(tài)](步S152)[運(yùn)行狀態(tài)]是指一狀態(tài),在該狀態(tài)中,標(biāo)志F[K]被省略而事件的參數(shù)(數(shù)據(jù)字節(jié))被直接寫入。這很容易檢測(cè)[運(yùn)行狀態(tài)],因?yàn)橹付ň幋a給標(biāo)志位F和參數(shù)(數(shù)據(jù)字節(jié))去鑒別它們之間,以后標(biāo)志位F[K]被省略或不存在的狀態(tài)被表示為“F[K]是在[運(yùn)動(dòng)狀態(tài)]”。這里,在圖28所示的連續(xù)事件塊內(nèi),第二個(gè)和以后的事件是在[運(yùn)行狀態(tài)下]被記錄。
如果F[K]是[一般事件],指示處理事件的連續(xù)塊的順序的變量[m]被重置為
(步153),和,然后,參考訊道圖形成SMF的狀態(tài)字節(jié),和形成的訊道圖被輸出(步S154)。進(jìn)而,事件種類必需的字節(jié)數(shù)從控制器編碼區(qū)域中讀出,讀出的字節(jié)值作為SMF的參數(shù)(數(shù)字字節(jié))被輸出(步S155)。
如果F[K]是[連續(xù)事件],指示處理事件連續(xù)塊次序的變量[m]被置為[1](步S156),然后,參考訊道圖形成SMF的狀態(tài)字節(jié),和形成的訊道圖被輸出(步S157)。進(jìn)而,當(dāng)m≥2,當(dāng)m=[1]獲得的狀態(tài)字節(jié)被使用作為m≥2的狀態(tài)字節(jié)。進(jìn)而,在[連續(xù)事件]的情況下,參數(shù)編碼γ[m]被讀出,使用和在壓縮處理所使用的相同函數(shù)h()和依照下述公式(15)形成參數(shù)P[m],和形成的參數(shù)被輸出(步S158)。
P[m]=h(p[m-1],P[m-2],…,P[m-U])+γ[m](m>U)(m≤U)P[m]=γ[m](15)這里U是函數(shù)h()的變量數(shù)進(jìn)而,當(dāng)F[k]是[運(yùn)行狀態(tài)]時(shí),變量[m]的數(shù)被檢測(cè)(步S159)。如果[m]是大于0,[m]增加1,因?yàn)樗沁B續(xù)事件塊第二個(gè)或之后的事件(步S160)程序前進(jìn)到[連續(xù)事件]側(cè)的步S157。另一方面,如果[m]是
,流程前進(jìn)到[一般事件]側(cè)的步S154。
如上所述,在依本發(fā)明的音樂(lè)數(shù)據(jù)記錄方法和音樂(lè)數(shù)據(jù)再現(xiàn)儀器當(dāng)中,能獲得下述的出色的效果。
例如音調(diào)數(shù)據(jù)的音樂(lè)數(shù)據(jù)依照數(shù)據(jù)的種類被區(qū)分和分別記錄在獨(dú)立的區(qū)域。這就可能以這樣的方式收集數(shù)據(jù),使得相同數(shù)據(jù)模式出現(xiàn)的概率增加了。
因此,音樂(lè)數(shù)據(jù)文件依照模式匹配方法壓縮時(shí),這就可能顯著地增加壓縮效率,和這樣當(dāng)壓縮的數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)介質(zhì)或通過(guò)傳輸線傳輸時(shí),壓縮的數(shù)據(jù)的容量能被顯著地減少。作為結(jié)果,能使用小容量的存儲(chǔ)介質(zhì)。進(jìn)而,由于傳輸線的服務(wù)時(shí)間能被減少,這就可能節(jié)約傳輸線的租用費(fèi)。
進(jìn)而,在依本發(fā)明的音樂(lè)數(shù)據(jù)再現(xiàn)儀器中,這就可能從通過(guò)上述方法壓縮數(shù)據(jù)而獲得的文件中再現(xiàn)音樂(lè)。進(jìn)而,這就可能減少記錄壓縮文件的文件存儲(chǔ)介質(zhì)的容量。
進(jìn)而,在依照本發(fā)明的音樂(lè)數(shù)據(jù)壓縮和解碼的儀器內(nèi),在依照LZ方法對(duì)音樂(lè)數(shù)據(jù)壓縮之前,音樂(lè)數(shù)據(jù)事先以這樣的方式被分為音調(diào)數(shù),速率,和其它數(shù)據(jù),使得相同數(shù)據(jù)模式的長(zhǎng)度能被延長(zhǎng);相同數(shù)據(jù)模式呈現(xiàn)的數(shù)目能被增加;相同數(shù)據(jù)模式的呈現(xiàn)距離能被縮短,進(jìn)而,各自的音樂(lè)數(shù)據(jù)分別獨(dú)立地安排在獨(dú)立的區(qū)域以形成初級(jí)編碼,和形成的初級(jí)編碼依照LZ方法能被壓縮。其結(jié)果是,這就可能有效地壓縮音樂(lè)數(shù)據(jù)。
進(jìn)而,初級(jí)編碼的音樂(lè)數(shù)據(jù)為編碼至少分為四個(gè)區(qū)域,音調(diào)數(shù)區(qū)域,音調(diào)速率區(qū)域,音調(diào)間隔區(qū)域,和其它區(qū)域。因此,這就可能顯著地減少數(shù)據(jù)容量而不喪失初始音樂(lè)數(shù)據(jù)的音樂(lè)演奏質(zhì)量。其結(jié)果是,小容量的存儲(chǔ)介質(zhì)能被使用去記錄音樂(lè)數(shù)據(jù),使得存儲(chǔ)介質(zhì)的費(fèi)用能被減少。進(jìn)而,當(dāng)音樂(lè)數(shù)據(jù)通過(guò)傳輸線傳送時(shí),由于傳輸時(shí)間能被減少,傳輸費(fèi)用能被節(jié)約。當(dāng)應(yīng)用到使用大量音樂(lè)數(shù)據(jù)例如音樂(lè)數(shù)據(jù)庫(kù),通訊伴奏儀器的系統(tǒng)時(shí),本發(fā)明的方法和儀器特別有效。
權(quán)利要求
1.每一個(gè)包括時(shí)間數(shù)據(jù),在時(shí)間數(shù)據(jù)指示的瞬間指示音調(diào)和音調(diào)的音樂(lè)聲音開始或音樂(lè)聲音停止的音調(diào)數(shù)據(jù),和指示聲音速率的重音數(shù)據(jù)的順序音樂(lè)演奏數(shù)據(jù)記錄文件的方法包括步驟順序地讀出音樂(lè)演奏數(shù)據(jù);依照時(shí)間數(shù)據(jù)在第一個(gè)記錄區(qū)域記錄時(shí)間數(shù)據(jù),音調(diào),或音樂(lè)聲音開始或者音樂(lè)聲音停止;在第二記錄區(qū)域記錄重音數(shù)據(jù),第二記錄區(qū)域和第一記錄區(qū)域相互分開;組合在第一和第二區(qū)域記錄的數(shù)據(jù)以獲得另一個(gè)文件;和在記錄介質(zhì)上記錄另一個(gè)文件。
2.權(quán)利要1的方法,其中,每一個(gè)包括時(shí)間,音調(diào),和重音數(shù)據(jù)的大量音樂(lè)演奏數(shù)據(jù)和每一個(gè)包括控制數(shù)據(jù)的大量音樂(lè)演奏數(shù)據(jù)所組成的文件進(jìn)一步包括以下步驟判別是否這樣讀出的音樂(lè)演奏數(shù)據(jù)包括音調(diào)數(shù)據(jù);當(dāng)判別作出時(shí),在第一記錄區(qū)內(nèi)記錄有時(shí)間數(shù)據(jù),音調(diào)數(shù)據(jù),和或音樂(lè)聲音開始或音樂(lè)聲音停止,和在第二記錄區(qū)記錄有重音數(shù)據(jù);當(dāng)判別沒(méi)有做出時(shí),在第三記錄區(qū)記錄有控制數(shù)據(jù),第三記錄區(qū)和第一和第二記錄區(qū)相分開;和組合在第一,第二,和第三區(qū)域所記錄的數(shù)據(jù)以獲得另一個(gè)文件。
3.再現(xiàn)壓縮的順序音樂(lè)演奏數(shù)據(jù)的儀器包括對(duì)存儲(chǔ)在第一存儲(chǔ)介質(zhì)的壓縮順序音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼的解碼裝置,每一個(gè)音樂(lè)演奏數(shù)據(jù)包括時(shí)間數(shù)據(jù),在時(shí)間數(shù)據(jù)指示的瞬間指示音樂(lè)聲音開始或音樂(lè)聲音停止的音調(diào)數(shù)據(jù),指示聲音速率的重音數(shù)據(jù)和控制數(shù)據(jù),音調(diào),重音和控制數(shù)據(jù)分別記錄在第一存儲(chǔ)介質(zhì)內(nèi)的彼此相分開的第一,第二和第三記錄區(qū)域;臨時(shí)存儲(chǔ)解碼的順序音樂(lè)演奏數(shù)據(jù)的第二存儲(chǔ)介質(zhì);控制再現(xiàn)臨時(shí)存儲(chǔ)在第二存儲(chǔ)介質(zhì)內(nèi)的解碼的順序音樂(lè)演奏數(shù)據(jù),使得音調(diào)和重音數(shù)據(jù)在控制數(shù)據(jù)之前被再現(xiàn)的控制裝置;和在控制裝置的控制下再現(xiàn)順序音樂(lè)演奏數(shù)據(jù)和根據(jù)再現(xiàn)順序音樂(lè)演奏數(shù)據(jù)產(chǎn)生音樂(lè)聲音的聲源。
4.壓縮順序音樂(lè)演奏數(shù)據(jù)的儀器包括分離音樂(lè)演奏數(shù)據(jù)為至少音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù),和控制數(shù)據(jù)的分離裝置;和壓縮每一種分離的數(shù)據(jù)以形成壓縮的音樂(lè)演奏數(shù)據(jù)的壓縮裝置。
5.權(quán)利要求4的儀器,其中,壓縮裝置壓縮用Lempel-Zif方法分離的數(shù)據(jù)。
6.權(quán)利要求4的儀器,其中,分離裝置包括計(jì)算時(shí)間差的裝置,每一個(gè)時(shí)間差是在順序音樂(lè)演奏數(shù)據(jù)當(dāng)中的一音樂(lè)演奏數(shù)據(jù)的第一瞬間和另一音樂(lè)演奏數(shù)據(jù)的第二瞬間之間的時(shí)間,第二瞬間在第一瞬間之前來(lái)臨,為了獲得在順序音樂(lè)演奏數(shù)據(jù)之間的相對(duì)時(shí)間,計(jì)算相對(duì)時(shí)間的共同公約數(shù),使用共同公約數(shù)除相對(duì)時(shí)間以產(chǎn)生變量長(zhǎng)度編碼。
7.權(quán)利要求4的儀器,其中,分離裝置包括計(jì)算間隔的裝置,每一個(gè)間隔是音調(diào)開始和音調(diào)結(jié)束之間的時(shí)間,計(jì)算間隔的共同公約數(shù),用共同公約數(shù)除間隔以產(chǎn)生變量長(zhǎng)度編碼。
8.權(quán)利要求4的儀器,其中,分離裝置包括形成至少音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù)和控制數(shù)據(jù)中任一個(gè)的編碼的裝置,使用音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù)和控制數(shù)據(jù)之一的函數(shù)所獲得的數(shù)據(jù)和數(shù)據(jù)之一之間的差表示該編碼。
9.權(quán)利要求4的儀器,其中,分離裝置包括形成編碼的裝置,其中,音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù),和控制數(shù)據(jù)按特定的順序加以排列,使得同一性質(zhì)的數(shù)據(jù)被安排得相互接近。
10.對(duì)壓縮的音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼的儀器包括對(duì)用Lempel-Zif方法壓縮的音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼的第一解碼裝置;和對(duì)由第一解碼裝置這樣解碼的音樂(lè)演奏數(shù)據(jù)進(jìn)行解碼以再現(xiàn)至少音調(diào)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù),和控制數(shù)據(jù)的第二解碼裝置。
11.權(quán)利要求10的儀器,進(jìn)而包括判別是否音樂(lè)演奏數(shù)據(jù)是由Lempel-Zif方法壓縮的數(shù)據(jù),如果是,音樂(lè)演奏數(shù)據(jù)提供給第一解碼裝置,如果不是,音樂(lè)演奏數(shù)據(jù)直接提供給第二解碼裝置以再現(xiàn)至少音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù),和控制數(shù)據(jù)。
全文摘要
一聲源文件的每一個(gè)音樂(lè)演奏數(shù)據(jù)包括時(shí)間數(shù)據(jù),在時(shí)間數(shù)據(jù)指示的瞬間指示音樂(lè)聲音開始或音樂(lè)聲音停止的音調(diào)數(shù)據(jù),和指示聲音速率的重音數(shù)據(jù),時(shí)間數(shù)據(jù)、音調(diào),或音樂(lè)聲音開始或音樂(lè)聲音停止根據(jù)時(shí)間數(shù)據(jù)記錄在第一記錄區(qū)域內(nèi)。重音數(shù)據(jù)記錄在第二記錄區(qū),第二記錄區(qū)與第一記錄區(qū)分開,在第一和第二區(qū)域內(nèi)記錄的數(shù)據(jù)組合以獲得目標(biāo)文件。
文檔編號(hào)G10H1/00GK1153961SQ9612196
公開日1997年7月9日 申請(qǐng)日期1996年10月30日 優(yōu)先權(quán)日1995年10月30日
發(fā)明者宍戶一郎, 黑巖俊夫 申請(qǐng)人:日本勝利株式會(huì)社