国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      記錄音樂數(shù)據(jù)的方法及再現(xiàn)儀器的制作方法

      文檔序號:2819991閱讀:660來源:國知局
      專利名稱:記錄音樂數(shù)據(jù)的方法及再現(xiàn)儀器的制作方法
      技術領域
      本發(fā)明是關于音樂數(shù)據(jù)記錄方法和再現(xiàn)儀器,當相同的數(shù)據(jù)被傳送和進而傳送的數(shù)據(jù)是存儲在存儲介質(zhì)內(nèi)時,該記錄方法和再現(xiàn)儀器能夠減少傳輸率和數(shù)字化音樂演奏數(shù)據(jù)的存儲容量。
      一般而言,MI DI(音樂樂器數(shù)字接口)廣范地被使用作為演奏音樂的音樂演奏數(shù)據(jù)的傳送裝置。這里,MI DI是規(guī)定連接到聲源儀器(即合成器,電子鋼琴等)的硬件和軟件的工業(yè)標準,以可互換地使用各種音樂演奏數(shù)據(jù)。更詳細而言,當MI DI被使用時,演奏員通過鍵盤輸入的音樂數(shù)據(jù)被轉(zhuǎn)換為MI DI數(shù)據(jù)和然后通過傳送路徑加以輸出。另一方面,聲源儀器配置有這樣的功能用以接收MI DI數(shù)據(jù)和實際地產(chǎn)生音樂聲音。因此,當聲源儀器連接到傳送路徑時,接收的MI DI數(shù)據(jù)能被翻譯以產(chǎn)生音樂聲音。
      上述的MI DI數(shù)據(jù)粗略地由下邊數(shù)據(jù)組成(1)銨鍵(鍵被壓)指示聲音的開始或釋放鍵(鍵不被壓下)指示聲音停止的音樂音調(diào)(note)數(shù)據(jù)(以后參考為音調(diào)數(shù)據(jù))。進而,音調(diào)數(shù)據(jù)包括通過鍵數(shù)指定的聲音強度(音調(diào)數(shù))的數(shù)據(jù)。
      (2)在MI DI情況下,伴隨音調(diào)數(shù)據(jù)被傳送或被接收的指示聲音速度的重音數(shù)據(jù)。
      (3)傳送音調(diào)(intonation)表示(例如漸強,音調(diào)數(shù)的音樂抖動)到聲源儀器的控制數(shù)據(jù)。在實際中,當演奏員使用踏板或桿時,由于桿位置的變化也被配置在演奏員側(cè)的MI DI轉(zhuǎn)換器所檢測,桿的位置數(shù)據(jù)也被傳送。
      進而,由于音樂演奏數(shù)據(jù)在音樂演奏過程中瞬時地被傳送,在混合的情況下,音樂演奏數(shù)據(jù)流包括上述的數(shù)據(jù)。
      這里,由于所有MI DI數(shù)據(jù)被數(shù)字化,通過使用計算機儀器(即,合成器)和存儲介質(zhì)使得數(shù)據(jù)能被記錄,編輯和再現(xiàn)。換言之,MI DI數(shù)據(jù)能作為數(shù)據(jù)文件存儲在存儲介質(zhì)中。這里SMF(標準MI DI文件)廣泛地被使用作為數(shù)據(jù)文件格式。然而,由于MI DI數(shù)據(jù)真實的時間數(shù)據(jù),當各自的數(shù)據(jù)成分(以后稱為MI DI事件)例如聲音開始或聲音停止被記錄在SMF時,MI DI數(shù)據(jù)被記錄在這樣的條件下,就是時間數(shù)據(jù)分別附著在MI DI數(shù)據(jù)上。進而,由于為了記錄產(chǎn)生MI DI事件的順序,音調(diào)數(shù)據(jù)和控制數(shù)據(jù)以混合的形式被記錄。
      此外,由于對SMF沒有限制,當數(shù)據(jù)文件被存儲時,由于這里存在著存儲介質(zhì)容量的限制,最好數(shù)據(jù)被壓縮。因此,在當MI DI數(shù)據(jù)被壓縮的情況下,一般而言,這里早已使用了在程序例如LHA或ZIP下的所采用的稱為LZ(Lempel-zif)方法的模式匹配的壓縮技術。該數(shù)據(jù)壓縮原理簡單地解釋如下。
      當壓縮的文件在原始文件的基礎上形成時,在原始文件的處理位置從文件頭開始,從處理位置讀出的數(shù)據(jù)被復制在壓縮的文件上。這里,當在原始文件中存在著兩個相同的數(shù)據(jù)區(qū)時,在處理位置達到兩個相同數(shù)據(jù)區(qū)的第二數(shù)據(jù)區(qū)的頭時,數(shù)據(jù)不是簡單地被復制。作為替代,從第一數(shù)據(jù)區(qū)到處理位置的距離和匹配數(shù)據(jù)區(qū)的長度二者被記錄在壓縮文件內(nèi),進而,在原始文件的處理位置被移動到第二數(shù)據(jù)區(qū)的結束,這樣,繼續(xù)處理,在做此事時,在第二數(shù)據(jù)區(qū)的數(shù)據(jù)并不復制。以此相反,僅僅數(shù)據(jù)長度和數(shù)據(jù)距離被加到壓縮的數(shù)據(jù)。
      作為對上述描述的理解,在這種壓縮方法中,該壓縮率隨著兩個相同數(shù)據(jù)存在的增加數(shù)據(jù)區(qū)而增加。在處理位置之前存在的數(shù)據(jù)區(qū)的基礎上,當存在于處理位置之后的數(shù)據(jù)模式被檢索,當兩個相同的數(shù)據(jù)區(qū)相互相鄰時,壓縮率能被增加。這里由于要被的檢索的區(qū)域大小的限制。
      作為使用音樂演奏數(shù)據(jù)文件例如SMF的樂器的實例,這里存在著通訊伴奏樂器(在日本的卡拉OK,這里暗指無管弦樂隊)。在無存儲類型的通訊伴奏樂器的情況下,從分配中心傳送的MI DI音樂演奏數(shù)據(jù)文件通過公共線路被終端裝置接收,接收的數(shù)據(jù)文件通過終端裝置再現(xiàn)作為音樂或歌的伴奏。因此,無論何時用戶選取歌,相應所選音樂的音樂數(shù)據(jù)從中心側(cè)被傳送。在這種情況下,當音樂演奏數(shù)據(jù)文件在分配中心被壓縮和然后被傳輸,用于傳輸時間能被縮短和因此更經(jīng)濟,這就有可能減少傳輸線的租費。
      進而,在存儲類型通訊伴奏樂器的終端裝置的情況下,大容量的存儲介質(zhì)(例如硬盤)裝在其中,過去傳送的音樂演奏數(shù)據(jù)文件被存儲以便被更新。在這種情況下,當音樂演奏數(shù)據(jù)文件在壓縮的情況下被存儲,這里存在著優(yōu)點,使得存儲介質(zhì)上存儲大量的各種歌曲。
      另一方面,在上述的存儲類型伴奏樂器中,為了滿足用戶的各種音樂要求,這就需要在有限的存儲介質(zhì)內(nèi)存儲盡可能多的歌曲。因此,最好音樂數(shù)據(jù)文件數(shù)據(jù)被壓縮。在音樂數(shù)據(jù)例如SMF的情況下,和通常的文本文件相比,相對高壓縮率能被獲得,這是因為在音樂演奏數(shù)據(jù)的情況下,按其自然性質(zhì),相同的數(shù)據(jù)經(jīng)常被重復地記錄。
      近來,然而,由于用戶的要求越來越不一樣,這里存在著存儲更大量歌曲的要求。這里,當存儲介質(zhì)的容量簡單地被增加了,不僅被存儲介質(zhì)的費用增加了,由于從中心分配歌曲數(shù)目的增加,傳輸線的徂用費用也增加了。
      為了克服這些問題,這就可能通過簡單地減少音樂演奏數(shù)據(jù)來減少數(shù)據(jù)量和分配的費用,使得較少數(shù)據(jù)容量的音樂數(shù)據(jù)文件能被傳送。在這種情況下,然而,由于音樂演奏的質(zhì)量顯著地變差,這種方法是不實際的方法。其結果是,這里存在著減少數(shù)據(jù)量和音樂演奏數(shù)據(jù)傳送的要求,但不減少音樂演奏數(shù)據(jù)的質(zhì)量。
      本發(fā)明的目標是提供在高壓縮密度下記錄音樂數(shù)據(jù)而不使音樂數(shù)據(jù)變壞的方法和再現(xiàn)使用該方法記錄的音樂數(shù)據(jù)的樂器。
      本發(fā)明提供了記錄連續(xù)音樂演奏數(shù)據(jù)的文件的方法,該連續(xù)的音樂演奏數(shù)據(jù)的每一個包括時間數(shù)據(jù),和由時間數(shù)據(jù)指示的瞬間指示音調(diào)和音調(diào)的音樂聲音開始或音樂聲音結束的音調(diào)數(shù)據(jù),指示聲音速率的重音數(shù)據(jù),該方法包括以下步驟連續(xù)地讀出音樂演奏數(shù)據(jù);記錄時間數(shù)據(jù),和依照時間數(shù)據(jù)在第一個記錄區(qū)記錄音調(diào),音樂聲音的開始或是音樂聲音的結束;在第二記錄區(qū)記錄重音數(shù)據(jù),第二記錄區(qū)和第一記錄區(qū)相分離;組合在第一和第二記錄區(qū)內(nèi)的記錄的數(shù)據(jù)以獲得另一個文件;在記錄介質(zhì)內(nèi)記錄另一個文件。
      文件可以由每一個包括時間,音調(diào)和重音數(shù)據(jù)的大量音樂演奏數(shù)據(jù)和每一個包括控制數(shù)據(jù)的另一個大量音樂演奏數(shù)據(jù)所組成。在這種情況下,當判別被做出,在第一個記錄區(qū)記錄時間數(shù)據(jù),音調(diào)數(shù)據(jù),或音樂聲音開始或音樂聲音停止,和在第二記錄區(qū)的重音數(shù)據(jù);當判別沒有做出時,在第三記錄區(qū)記錄控制數(shù)據(jù),第三記錄區(qū)和第一和第二記錄區(qū)相分開;和組合在第一,第二和第三區(qū)域內(nèi)的記錄數(shù)據(jù)以獲得另一個文件。
      進而,本發(fā)明提供再現(xiàn)壓縮的連續(xù)音樂演奏數(shù)據(jù)的樂器,它包括對存儲在第一存儲介質(zhì)內(nèi)的壓縮的連續(xù)的音樂演奏數(shù)據(jù)進行解碼的解碼裝置,連續(xù)的音樂演奏數(shù)據(jù)包括大量的時間數(shù)據(jù),每一個在時間數(shù)據(jù)指示的瞬間指示音樂聲音開始和音樂聲音停止的大量音調(diào)數(shù)據(jù),每一個指示聲音速率的大量重音數(shù)據(jù),每一個指示音雕調(diào)的大量控制數(shù)據(jù),大量的音調(diào),重音和控制數(shù)據(jù)記錄在第一記錄介質(zhì)內(nèi)彼此相互分離的第一,第二和第三記錄區(qū)內(nèi);臨時存儲解碼的連續(xù)音樂演奏數(shù)據(jù)的第二存儲介質(zhì);控制再現(xiàn)臨時存儲在第二存儲介質(zhì)內(nèi)的解碼的連續(xù)音樂演奏數(shù)據(jù),使得在大量的控制數(shù)據(jù)以前再現(xiàn)大量音調(diào)和重音數(shù)據(jù)的控制裝置;在控制裝置的控制下再現(xiàn)連續(xù)的音樂演奏數(shù)據(jù)和依照再現(xiàn)的連續(xù)音樂演奏數(shù)據(jù)產(chǎn)生音樂聲音的聲源。
      進而,本發(fā)明提供了壓縮連續(xù)音樂演奏數(shù)據(jù)的儀器,它包括分離音樂演奏數(shù)據(jù)為至少音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù),和控制數(shù)據(jù)的分離裝置;壓縮每一種分離的數(shù)據(jù)以形成壓縮的音樂演奏數(shù)據(jù)的壓縮數(shù)據(jù)。
      進而,本發(fā)明提供了對壓縮音樂演奏數(shù)據(jù)進行解碼的儀器,它包括對用Lempel-Zif方法壓縮的音樂演奏數(shù)據(jù)進行解碼的解碼裝置;通過第一解碼裝置解碼的音樂演奏數(shù)據(jù)進行解碼以再現(xiàn)至少音調(diào)數(shù)數(shù)據(jù),聲音速率數(shù)據(jù),聲音間隔數(shù)據(jù)和控制數(shù)據(jù)的第二解碼裝置。


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