国产精品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ù)的合奏的音樂記錄和播放器的制作方法

      文檔序號:2835836閱讀:526來源:國知局
      專利名稱:基于不同種類音樂數(shù)據(jù)的合奏的音樂記錄和播放器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及音樂記錄/播放器,更具體地涉及用于在不同種類聲音源之間合奏的音樂記錄和播放器。
      背景技術(shù)
      一些樂曲根據(jù)不同格式存儲(chǔ)在信息存儲(chǔ)介質(zhì)中。光盤是音樂數(shù)據(jù)信息存儲(chǔ)介質(zhì)的典型例子。但是,各段數(shù)據(jù)的含義不同。光盤中的二進(jìn)制碼是代表樂聲的模擬信號的幅度的表示。模擬信號按44.1kHz進(jìn)行周期性取樣,并且二進(jìn)制碼連續(xù)地分配給各個(gè)離散的值。從而,模擬信號被量化,并且幅度的各個(gè)離散值被以數(shù)字碼的形式存儲(chǔ)在光盤中。幅度的離散值在下文被稱為 “時(shí)序音頻數(shù)據(jù)”,并且代表該時(shí)序音頻數(shù)據(jù)的數(shù)字碼被稱為“音頻數(shù)據(jù)碼”。
      MIDI(樂器數(shù)字接口)標(biāo)準(zhǔn)對存儲(chǔ)在光盤或軟盤中的數(shù)字碼指定了另一個(gè)格式。數(shù)字碼代表每個(gè)音調(diào)的產(chǎn)生或消失事件以及各個(gè)事件之間的時(shí)間間隔。因此,這樣被格式化的數(shù)字碼下面被稱為“MIDI碼”。關(guān)于各個(gè)事件的信息段和關(guān)于時(shí)間間隔的信息段分別被稱為“事件數(shù)據(jù)”和“持續(xù)時(shí)間數(shù)據(jù)”,并且代表事件數(shù)據(jù)的數(shù)字碼和代表持續(xù)時(shí)間數(shù)據(jù)的數(shù)字碼分別被稱為“事件碼”和“Δ時(shí)間碼”。
      音樂播放者試圖用從記錄在光盤上的時(shí)序音頻數(shù)據(jù)再現(xiàn)的各段音樂進(jìn)行合奏。其它的音樂播放者希望按MIDI碼結(jié)合時(shí)序音頻數(shù)據(jù)的形式記錄他或她的演奏。圖1表示現(xiàn)有技術(shù)的音樂記錄/播放器100,并且音樂記錄/播放器100包括光盤播放器200、MIDI碼發(fā)生器400和記錄器/再現(xiàn)器500。光盤CD將被裝入光盤播放器200中,并且MIDI碼發(fā)生器400連接到諸如鋼琴之類的樂器300。
      光盤播放器200裝備有光學(xué)頭,并從光盤CD讀出音頻數(shù)據(jù)碼。各段音樂通常以數(shù)字立體聲信號形式存儲(chǔ)在光盤中。光盤播放器將數(shù)字立體聲信號變換為數(shù)字單聲道信號,并提供代表時(shí)序音頻數(shù)據(jù)的數(shù)字單聲道信號到記錄器/再現(xiàn)器500,作為要存儲(chǔ)在左聲道L中的信號。另一方面,當(dāng)用戶正在演奏樂器300時(shí),MIDI碼發(fā)生器400監(jiān)視樂器上的彈奏,并且鑒別各個(gè)鍵的壓按/釋放。MIDI碼發(fā)生器400確定一些事件,并產(chǎn)生表示演奏的各事件碼和Δ時(shí)間碼。MIDI碼發(fā)生器400提供數(shù)字MIDI數(shù)據(jù)信號到記錄器/播放器500,作為存儲(chǔ)在右聲道R中的信號。
      記錄器500在諸如可記錄光盤之類的信息存儲(chǔ)介質(zhì)的左和右聲道中寫單聲道音頻數(shù)據(jù)碼和MIDI碼。當(dāng)用戶希望再現(xiàn)其演奏時(shí),用戶指令現(xiàn)有技術(shù)音樂記錄器/播放器再現(xiàn)合奏,記錄器/播放器500同時(shí)從左聲道讀出數(shù)字單聲道音頻數(shù)據(jù)碼和從右聲道讀出MIDI碼,并分別提供數(shù)字單聲道音頻數(shù)據(jù)碼和MIDI碼到光盤播放器200和音調(diào)發(fā)生器/聲音系統(tǒng)(未示出)。光盤播放器200從數(shù)字單聲道音頻數(shù)據(jù)碼產(chǎn)生單聲道聲音,并且音調(diào)發(fā)生器/聲音系統(tǒng)從MIDI碼產(chǎn)生電子音。從而,電子音和單聲道聲音彼此異步再現(xiàn)。
      現(xiàn)有技術(shù)音樂記錄/播放器固有的第一個(gè)問題是異步記錄的數(shù)字碼。如果用戶臨時(shí)彈奏他或她的的部分而與光盤播放器200的節(jié)奏不和諧,現(xiàn)有技術(shù)音樂記錄/播放器如實(shí)地記錄和播放與其它部分的節(jié)奏不和諧的他或她的部分。
      另一個(gè)問題是單聲道聲音。即使其它部分作為立體聲記錄在光盤上,該其它部分是作為單聲道再現(xiàn)的。因此,通過現(xiàn)有技術(shù)的音樂記錄/播放器使聲音質(zhì)量惡化。
      在用戶希望光盤播放器與從軟盤讀出MIDI碼的MIDI聲音再現(xiàn)器執(zhí)行合奏的情況下,沒有辦法使電子音與立體聲同步再現(xiàn)。詳細(xì)地講,時(shí)序音頻數(shù)據(jù)表示為音頻數(shù)據(jù)碼D1和時(shí)間碼D2(見圖2A),并且MIDI數(shù)據(jù)表示為事件碼D3和Δ時(shí)間碼D4,如圖2B所示。事件碼的例子如圖2C所示,并表示音符-通,或音符-斷、分配給要產(chǎn)生或消失的音的音符號和該音的速度。時(shí)間碼D2代表從記錄在光盤的演奏開始逝去的時(shí)間。時(shí)間碼D2的值總是大于在其左側(cè)的時(shí)間碼D2。另一方面,Δ時(shí)間碼D4,即Δt碼代表兩個(gè)事件之間的時(shí)間間隔。最左邊的Δ時(shí)間碼D4指示最左邊的事件數(shù)據(jù)碼D3表示的事件與由其右側(cè)的事件碼D3表示的下一個(gè)事件之間的時(shí)間間隔。當(dāng)同時(shí)發(fā)生兩個(gè)事件時(shí),如圖2B中間兩個(gè)方框所示,事件碼D3接著另一事件碼D3。
      雖然時(shí)序音頻數(shù)據(jù)與MIDI數(shù)據(jù)都含有對要產(chǎn)生的各個(gè)音的定時(shí)信息,但時(shí)序音頻數(shù)據(jù)與MIDI數(shù)據(jù)之間的定時(shí)數(shù)據(jù)在含義上是不同的。為此,即使時(shí)間碼D2與對應(yīng)的Δ時(shí)間碼D4進(jìn)行比較,但這種比較是毫無意義的,并且在光盤播放器與音調(diào)發(fā)生器/聲音系統(tǒng)之間建立任何同步都是困難的。
      一個(gè)控制器被假設(shè)并行地處理時(shí)序音頻數(shù)據(jù)碼和MIDI碼。各個(gè)事件,即,在將被同時(shí)產(chǎn)生的各個(gè)音之前或之后將會(huì)發(fā)生音符-通事件,和音符-斷事件。這是因?yàn)檫@樣一個(gè)事實(shí),即,不可能使用于控制器的時(shí)鐘信號嚴(yán)格地等于取樣時(shí)鐘頻率,即44.1kHz,以及用于MIDI碼發(fā)生器的時(shí)鐘信號。

      發(fā)明內(nèi)容
      因此,本發(fā)明的一個(gè)目的是提供一種同步音樂播放器,它基于多種音樂數(shù)據(jù),以實(shí)時(shí)方式在多個(gè)合奏的聲音源之間建立同步。
      本發(fā)明還有一個(gè)重要目的是提供一種同步音樂記錄器,它以實(shí)時(shí)的方式記錄與另外一種音樂數(shù)據(jù)同步產(chǎn)生的音樂數(shù)據(jù)。
      為了實(shí)現(xiàn)該目的,本發(fā)明提出測量根據(jù)它定義時(shí)間間隔的參考逝去時(shí)間,比較參考逝去時(shí)間與逝去時(shí)間,看是否其差是可忽略的,并改變時(shí)間間隔用于調(diào)節(jié)定時(shí),在該定時(shí)相應(yīng)的第一音樂數(shù)據(jù)信息被提供給目的地,諸如第一聲音源或記錄系統(tǒng)。
      按照本發(fā)明的一個(gè)方面,提供一種用于播放第一種聲音和與之同步的第二種聲音的音樂播放器,包括第一數(shù)據(jù)源,輸出第一種音樂數(shù)據(jù),該第一種音樂數(shù)據(jù)含有代表第一音的第一音樂數(shù)據(jù)信息段和第一時(shí)間數(shù)據(jù)信息段,每個(gè)第一時(shí)間數(shù)據(jù)信息段代表各第一時(shí)間數(shù)據(jù)信息段之一與第一時(shí)間數(shù)據(jù)信息的下一段之間的時(shí)間間隔;第二數(shù)據(jù)源,輸出的第二種音樂數(shù)據(jù),該第二種音樂數(shù)據(jù)含有代表第二音的第二音樂數(shù)據(jù)信息段和第二時(shí)間數(shù)據(jù)信息段,每個(gè)第二時(shí)間數(shù)據(jù)信息段代表從開始點(diǎn)逝去的時(shí)間;連接到第一數(shù)據(jù)源和第二數(shù)據(jù)源的控制系統(tǒng),產(chǎn)生參考標(biāo)度,按該標(biāo)度,定義逝去時(shí)間和時(shí)間間隔之一,參考標(biāo)度在含義上與逝去時(shí)間和時(shí)間間隔的另一個(gè)相同,該控制系統(tǒng)比較逝去時(shí)間和時(shí)間間隔的另一個(gè)與參考標(biāo)度,看是否兩者之間的差是可忽略,當(dāng)回答是否定的時(shí),改變上述逝去時(shí)間和時(shí)間間隔的一個(gè)或參考標(biāo)度,在逝去時(shí)間和時(shí)間間隔的另一個(gè)和參考標(biāo)度之間比較以后,一旦改變或不改變的上述逝去時(shí)間和時(shí)間間隔之一期滿,輸出第一音樂數(shù)據(jù)信息段和第二音樂數(shù)據(jù)信息段相關(guān)的一個(gè),并且還輸出第一音樂數(shù)據(jù)信息段和第二音樂數(shù)據(jù)信息段的另一個(gè);連接到所述控制系統(tǒng)并提供用于產(chǎn)生第一音的第一音樂數(shù)據(jù)信息段的第一聲音源;以及連接到控制系統(tǒng)并提供用于產(chǎn)生第二音的第二音樂數(shù)據(jù)信息段的第二聲音源。
      按照本發(fā)明的另一個(gè)方面,提供一種用于在信息存儲(chǔ)介質(zhì)上記錄第一種音樂數(shù)據(jù)的音樂記錄器,包括第一數(shù)據(jù)源,輸出第一種音樂數(shù)據(jù),該第一種音樂數(shù)據(jù)含有代表第一音的第一音樂數(shù)據(jù)信息段,每個(gè)第一音樂數(shù)據(jù)信息段與將被定義在第一時(shí)間數(shù)據(jù)信息段之一中的下一個(gè)第一音樂數(shù)據(jù)信息段之間的時(shí)間間隔;第二數(shù)據(jù)源,輸出第二種音樂數(shù)據(jù),該第二種音樂數(shù)據(jù)含有代表第二音的第二音樂數(shù)據(jù)信息段和第二時(shí)間數(shù)據(jù)信息段,每個(gè)第二時(shí)間數(shù)據(jù)信息段代表從起點(diǎn)的逝去時(shí)間;連接到第一數(shù)據(jù)源和第二數(shù)據(jù)源的控制系統(tǒng),測量根據(jù)它定義時(shí)間間隔的參考逝去的時(shí)間,當(dāng)上述第一音樂數(shù)據(jù)信息段之一到達(dá)時(shí),保持參考逝去時(shí)間的值,當(dāng)下一個(gè)第一音樂數(shù)據(jù)信息段到達(dá)時(shí),計(jì)算時(shí)間間隔,比較逝去時(shí)間與參考逝去時(shí)間,看是否該差是可忽略的,當(dāng)回答是否定時(shí),改變參考逝去時(shí)間和時(shí)間間隔之一使差最小,并輸出該第一音樂數(shù)據(jù)信息段和相關(guān)第一時(shí)間數(shù)據(jù)信息段,;以及連接至所述控制系統(tǒng)的記錄系統(tǒng),用于在信息存儲(chǔ)介質(zhì)上記錄該第一音樂數(shù)據(jù)信息段和相關(guān)第一時(shí)間數(shù)據(jù)信息段。


      從下面結(jié)合附圖的描述就更清楚地理解同步音樂播放器和同步音樂記錄器的特點(diǎn)和優(yōu)點(diǎn),其中圖1是現(xiàn)有技術(shù)的音樂記錄器/播放器的組成框圖;圖2A、2B和2C是表示時(shí)序音頻數(shù)據(jù)碼的安排、MIDI碼的安排和事件的例子的圖;圖3是表示按照本發(fā)明的音樂播放器的系統(tǒng)組成的框圖;圖4是表示包含在音樂播放器中的軟盤驅(qū)動(dòng)器的電路組成的框圖;圖5是表示通過音樂播放器再現(xiàn)一個(gè)合奏的定時(shí)圖;圖6是表示通過音樂播放器再現(xiàn)另一個(gè)合奏的定時(shí)圖;圖7是表示按照本發(fā)明的另一個(gè)音樂播放器的系統(tǒng)組成的框圖;
      圖8是表示按照本發(fā)明另一個(gè)音樂播放器的系統(tǒng)組成的框圖;圖9是表示按照本發(fā)明的音樂記錄器/播放器的系統(tǒng)組成的框圖;圖10是表示標(biāo)準(zhǔn)MIDI文件的文件結(jié)構(gòu)圖;圖11是表示包含在音樂記錄器/播放器中的軟盤驅(qū)動(dòng)器的電路組成的框圖;圖12是表示包含在軟盤驅(qū)動(dòng)器中的由修正值計(jì)算器執(zhí)行的計(jì)算機(jī)程序的流程圖;圖13是表示通過音樂記錄器/播放器同步記錄的定時(shí)圖;圖14是表示包含在另一個(gè)音樂記錄器/播放器中的軟盤驅(qū)動(dòng)器的電路組成的框圖;圖15是表示包含在軟盤驅(qū)動(dòng)器中的由調(diào)節(jié)器執(zhí)行的計(jì)算機(jī)程序的流程圖;圖16是表示按照本發(fā)明的同步音樂記錄器/播放器的系統(tǒng)組成的框圖;圖17是表示包含在同步音樂記錄器/播放器中的軟盤驅(qū)動(dòng)器電路組成的框圖;圖18是表示通過同步音樂記錄器/播放器播放合奏的定時(shí)圖;和圖19是表示簡單的同步音樂播放器的框圖。
      具體實(shí)施例方式
      音樂播放器按照本發(fā)明的音樂播放器包括第一數(shù)據(jù)源、第二數(shù)據(jù)源、第一聲音源、第二聲音源、和控制系統(tǒng)。第一數(shù)據(jù)源和第二數(shù)據(jù)源并聯(lián)連接到控制系統(tǒng),并提供第一種音樂數(shù)據(jù)和第二種音樂數(shù)據(jù)到控制系統(tǒng)。第一種音樂數(shù)據(jù)含有代表要通過第一聲音源產(chǎn)生的第一音的第一音樂數(shù)據(jù)信息段之間的時(shí)間間隔的第一時(shí)間數(shù)據(jù)信息。第二種音樂數(shù)據(jù)含有代表逝去的時(shí)間的第二時(shí)間數(shù)據(jù)信息段,隨著該逝去時(shí)間基于第二音樂數(shù)據(jù)信息將產(chǎn)生第二音。第一聲音源和第二聲音源并聯(lián)連接到控制系統(tǒng),并根據(jù)第一音樂數(shù)據(jù)信息段和第二音樂數(shù)據(jù)信息段分別產(chǎn)生第一音和第二音。
      當(dāng)音樂播放器開始對第一聲音源和第二聲音源之間的合奏播放時(shí),第一數(shù)據(jù)源和第二數(shù)據(jù)源向控制系統(tǒng)提供第一種音樂數(shù)據(jù)和第二種音樂數(shù)據(jù),并且控制系統(tǒng)調(diào)整定時(shí),在該定時(shí),每個(gè)第一音樂數(shù)據(jù)信息被提供給第一聲音源,如下所述。詳細(xì)地講,控制系統(tǒng)繼續(xù)提供第二音樂數(shù)據(jù)信息段到第二聲音源,并且第二聲音源從第二音樂數(shù)據(jù)信息段中產(chǎn)生第二音。
      控制系統(tǒng)繼續(xù)提供第二音樂數(shù)據(jù)信息到第二聲音源,并且第二聲音源從第二音樂數(shù)據(jù)信息中產(chǎn)生第二音??刂葡到y(tǒng)測量根據(jù)它定義時(shí)間間隔的參考逝去時(shí)間。控制系統(tǒng)比較逝去時(shí)間與參考逝去時(shí)間,看是否其之間的差可忽略。
      如果回答是肯定的,一旦由對應(yīng)的第一時(shí)間數(shù)據(jù)信息段代表的時(shí)間間隔期滿時(shí),控制系統(tǒng)提供相應(yīng)的第一音樂數(shù)據(jù)信息段到第一聲音源,并且第一聲音源根據(jù)對應(yīng)的第一音樂數(shù)據(jù)信息段產(chǎn)生第一音。
      如果回答是否定的,控制系統(tǒng)增加或減少由第一時(shí)間數(shù)據(jù)信息段代表的時(shí)間間隔,一旦修改的時(shí)間間隔期滿時(shí),提供對應(yīng)的第一音樂數(shù)據(jù)信息段到第一聲音源,并且第一聲音源根據(jù)第一音樂數(shù)據(jù)信息段產(chǎn)生第一音。
      因此,第一時(shí)間數(shù)據(jù)信息段的標(biāo)度盤(dial plate)被周期性地調(diào)整到第二時(shí)間數(shù)據(jù)信息段的標(biāo)度盤,使得第一音樂數(shù)據(jù)信息段被提供給第一聲音源與提供給第二聲音源的對應(yīng)的第二音樂數(shù)據(jù)信息段相同步。為此,第一音與對應(yīng)的第二音同時(shí)產(chǎn)生,并且音樂播放器實(shí)現(xiàn)合奏的播放。
      在另一種音樂播放器中,參考時(shí)間間隔可以根據(jù)代表逝去時(shí)間的第二時(shí)間數(shù)據(jù)段確定。在這個(gè)例子中,控制系統(tǒng)比較每個(gè)時(shí)間間隔與對應(yīng)的參考時(shí)間間隔,用于調(diào)整第二時(shí)間數(shù)據(jù)信息段。
      第一實(shí)施例參照圖3,實(shí)施本發(fā)明的音樂播放器大致包括控制系統(tǒng)600和聲音源602。正如下面將要詳細(xì)描述的那樣,聲音源602具有多個(gè)聲音發(fā)生器??刂葡到y(tǒng)600同步地從外部數(shù)據(jù)源CD/FD讀出兩者都是數(shù)字碼形式的時(shí)序音頻數(shù)據(jù)和MIDI數(shù)據(jù),并且傳送該數(shù)字碼到聲音源602。在這個(gè)例子中,外部數(shù)據(jù)源是光盤CD和軟盤FD。如圖2A所示,音頻數(shù)據(jù)碼D1和時(shí)間碼D2表示時(shí)序音頻數(shù)據(jù),并且如圖2B所示,事件碼D3和Δ時(shí)間碼D4代表MIDI數(shù)據(jù)。事件碼D3代表讀出時(shí)序音頻數(shù)據(jù)的開始,并在下面的描述中標(biāo)注以“D3a”。音頻數(shù)據(jù)碼被選擇性地分配左聲道和右聲道,并從音頻數(shù)據(jù)碼再現(xiàn)立體聲。光盤可以存儲(chǔ)左、右聲道的一個(gè)的音頻碼系列和在左、右聲道的另一個(gè)中的一組MIDI碼??刂葡到y(tǒng)600實(shí)現(xiàn)兩個(gè)主要任務(wù)。一個(gè)主要任務(wù)是在音頻碼的外部數(shù)據(jù)源與MIDI碼的另一個(gè)外部數(shù)據(jù)源之間建立同步。另一個(gè)主要任務(wù)是選擇傳送音頻/事件碼到聲音源602。
      聲音源602包括多個(gè)聲音發(fā)生器,并且被選擇的一個(gè)或多個(gè)聲音發(fā)生器根據(jù)音頻數(shù)據(jù)碼和事件碼,按獨(dú)奏或合奏方式再現(xiàn)各個(gè)音。多個(gè)聲音發(fā)生器聲學(xué)地和/或電子地再現(xiàn)各個(gè)音。在這個(gè)例子中,多個(gè)聲音發(fā)生器之一再現(xiàn)聲學(xué)音,而多個(gè)聲音發(fā)生器的另一個(gè)產(chǎn)生電子音。
      控制系統(tǒng)600包括光盤驅(qū)動(dòng)器1、軟盤驅(qū)動(dòng)器2、數(shù)字信號處理器3、控制器4和操縱板5。數(shù)字信號處理器3在圖3中縮寫為“DSP”??刂破?有信息處理能力。光盤驅(qū)動(dòng)器1是通用光盤驅(qū)動(dòng)器。換言之,光盤驅(qū)動(dòng)器1不是專用于音樂。另一方面,軟盤驅(qū)動(dòng)器2被設(shè)計(jì)為用于音樂播放器,并有信息處理能力。軟盤驅(qū)動(dòng)器2不僅是音序器,而且還是定時(shí)控制器。時(shí)鐘發(fā)生器201包含在控制器4中(見圖4)。時(shí)鐘發(fā)生器201包含石英振蕩器、放大器和分頻器。石英振蕩器產(chǎn)生振蕩信號,并且該振蕩信號由放大器放大。振蕩信號從放大器提供給分頻器,并且從時(shí)鐘發(fā)生器201輸出頻率彼此不同的多個(gè)時(shí)鐘信號。各個(gè)時(shí)鐘信號之一稱為“速度(tempo)時(shí)鐘信號”并在圖4中用“CT”標(biāo)注。
      返回到圖3,聲音源602包括放大器6、揚(yáng)聲器7、合奏音發(fā)生器8、自動(dòng)播放控制器9、鋼琴音發(fā)生器10、螺線管驅(qū)動(dòng)器11和聲學(xué)鋼琴12。聲學(xué)鋼琴12具有鍵盤14和踏板,并且螺線管操作的鍵致動(dòng)器14a設(shè)置在鍵盤14下面并與踏板相連。螺線管驅(qū)動(dòng)器11連接到螺線管操作的鍵/踏板致動(dòng)器14a,并選擇性地對螺線管操作的鍵/踏板致動(dòng)器14a施加電壓,以便不用任何手動(dòng)和腳踏地移動(dòng)鍵和/或踏板。自動(dòng)播放控制器9、螺線管驅(qū)動(dòng)器11和聲學(xué)鋼琴12作為一個(gè)整體構(gòu)成自動(dòng)播放鋼琴15。事件碼D3選擇性地從控制器4向自動(dòng)播放控制器9和合奏音發(fā)生器8提供,并且模擬音頻信號從數(shù)字信號處理器3和控制器4提供給混合器13。這些系統(tǒng)部分下面將更詳細(xì)地進(jìn)行描述。
      光盤驅(qū)動(dòng)器1具有信號輸入端口和信號輸出端口。光盤驅(qū)動(dòng)器1通過信號輸出端口連接到數(shù)字信號處理器3,并在信號輸入端口從控制器4接收控制信號。控制信號代表時(shí)序音頻數(shù)據(jù)讀出的開始。光盤驅(qū)動(dòng)器1通過信號輸出端口連接到數(shù)字信號處理器3,并提供音頻數(shù)據(jù)碼D1和時(shí)間碼D2到數(shù)字信號處理器3。當(dāng)控制信號到達(dá)光盤驅(qū)動(dòng)器1時(shí),光盤驅(qū)動(dòng)器1從光盤CD連續(xù)地讀出音頻數(shù)據(jù)碼D1和時(shí)間碼D2,并提供音頻數(shù)據(jù)碼D1和時(shí)間碼D2到數(shù)字信號處理器3。
      軟盤驅(qū)動(dòng)器2具有連接到控制器4的信號端口。期望軟盤驅(qū)動(dòng)器2實(shí)現(xiàn)三個(gè)主要任務(wù)并作為音序器、數(shù)據(jù)變換器、和定時(shí)調(diào)節(jié)器??刂破?提供代表MIDI碼讀出開始的控制信號到軟盤驅(qū)動(dòng)器2,并且軟盤驅(qū)動(dòng)器2響應(yīng)于該控制信號開始數(shù)據(jù)讀出。軟盤驅(qū)動(dòng)器2從軟盤FD讀出一個(gè)事件碼或者一組事件碼,并提供事件碼或碼D3到控制器4。Δ時(shí)間碼D4接著事件碼或碼D3。軟盤驅(qū)動(dòng)器2確定直至下一個(gè)數(shù)據(jù)的讀出的時(shí)間周期,并在該時(shí)間周期保持空閑。一旦該時(shí)間周期期滿,軟盤驅(qū)動(dòng)器2讀出下一個(gè)事件碼或碼D3。因此,軟盤驅(qū)動(dòng)器2用作音序器。
      如上所述,事件碼D3a代表時(shí)序音頻數(shù)據(jù)讀出的開始,并位于等效于比MIDI碼讀出開始遲250ms的位置。當(dāng)從軟盤FD讀出事件碼D3a時(shí),軟盤驅(qū)動(dòng)器2提供事件碼D3a到控制器4??刂破?翻譯事件碼D3a,并確認(rèn)光盤驅(qū)動(dòng)器1開始數(shù)據(jù)讀出的定時(shí)。然后,控制器4提供代表時(shí)序音頻數(shù)據(jù)讀出開始的控制信號到光盤驅(qū)動(dòng)器1。
      軟盤驅(qū)動(dòng)器2要實(shí)現(xiàn)的另一個(gè)主要任務(wù)是以實(shí)時(shí)方式變換時(shí)間間隔為逝去的時(shí)間。換言之,軟盤驅(qū)動(dòng)器2變換Δ時(shí)間碼D3為時(shí)間碼系列D2。
      軟盤驅(qū)動(dòng)器2要實(shí)現(xiàn)的還另一個(gè)任務(wù)是調(diào)整軟盤驅(qū)動(dòng)器2傳送事件碼或碼D3到控制器4的定時(shí)。這意味著軟盤控制器2可以改變事件碼D3之間的時(shí)間間隔。定時(shí)調(diào)節(jié)器的功能在下面將詳細(xì)描述。
      數(shù)字信號處理器3具有信號輸入端口和信號輸出端口。信號輸入端口連接到光盤驅(qū)動(dòng)器1的信號輸出端口,并且信號輸出端口分別連接到控制器4和混合器13。數(shù)字信號處理器3實(shí)現(xiàn)幾個(gè)主要任務(wù)。首先,數(shù)字信號處理器3引入250ms的延遲到從光盤驅(qū)動(dòng)器1到控制器4的音頻數(shù)據(jù)碼和時(shí)間碼D1/D2的傳播中。另一個(gè)主要任務(wù)是確定從光盤驅(qū)動(dòng)器1提供的數(shù)據(jù)碼的種類。當(dāng)數(shù)據(jù)碼到達(dá)數(shù)字信號處理器3時(shí),數(shù)字信號處理器3分析該數(shù)據(jù)碼,并確定數(shù)據(jù)碼的種類。數(shù)字信號處理器3提供代表數(shù)據(jù)碼的種類的控制信號到控制器4。再另一個(gè)任務(wù)是從音頻數(shù)據(jù)碼D1中產(chǎn)生模擬音頻信號,并提供該模擬音頻信號到混合器13。數(shù)字信號處理器3在音頻數(shù)據(jù)碼D1的接收與對應(yīng)的用于合奏的模擬音頻信號的發(fā)送之間引入250ms的延遲。
      操縱板5連接到控制器4,并具有多個(gè)開關(guān)、指示燈和顯示窗。開關(guān)之一是電源開關(guān)。當(dāng)操縱電源開關(guān)時(shí),音樂播放器被加電或被去掉電源。另外一個(gè)開關(guān)用作指定操作模式,即,合奏模式或者單一播放模式,并且再另一個(gè)開關(guān)用于指定聲音發(fā)生器或一些發(fā)生器。用戶選擇性地操縱這些開關(guān),以便對音樂播放器給出他們的指令。音樂播放器通過指示燈和顯示窗通知用戶當(dāng)前的狀態(tài)、模式和諸如從播放開始逝去的時(shí)間的信息段。
      控制器4具有一些信號輸入端口,這些端口連接到數(shù)字信號處理器3、軟盤驅(qū)動(dòng)器2、操縱板5和合奏音發(fā)生器8。分配給軟盤驅(qū)動(dòng)器2的信號輸入端口被連接到一個(gè)三態(tài)緩沖器4a。當(dāng)三態(tài)緩沖器4a正處在高阻抗?fàn)顟B(tài)時(shí),事件碼D3不能由緩沖器4a鎖存。但是,當(dāng)使能信號改變?yōu)橛行щ娖綍r(shí),三態(tài)緩沖器4a改變?yōu)槭鼓軤顟B(tài),并且事件碼D3由三態(tài)緩沖器4a鎖存??刂破?還具有一些信號輸出端口,這些輸出端口連接到光盤驅(qū)動(dòng)器1、軟盤驅(qū)動(dòng)器2、合奏音發(fā)生器8、自動(dòng)播放控制器9和混合器13??刂破?與系統(tǒng)部件1-3、5、8、9和13通信并且實(shí)現(xiàn)以下主要任務(wù)。
      第一主要任務(wù)是翻譯用戶的指令。用戶向操縱板5給出指令,并且指令信號從操縱板5提供給控制器4??刂破?分析指令信號,并確定要實(shí)現(xiàn)的主要任務(wù)。
      第二主要任務(wù)是使音頻數(shù)據(jù)碼和MIDI數(shù)據(jù)碼從光盤CS和軟盤CD同步讀出。當(dāng)用戶通過操縱板5指令音樂播放器再現(xiàn)合奏音樂時(shí),用戶操縱用于操作模式的開關(guān)。操縱板5提供代表合奏模式的指令信號,并且控制器4確認(rèn)要求的第二主要任務(wù)。控制器4提供代表MIDI碼讀出開始的控制信號給軟盤驅(qū)動(dòng)器2。軟盤驅(qū)動(dòng)器2連續(xù)讀出MIDI碼D3/D4,并傳送事件碼D3到控制器4。控制器4檢查每個(gè)事件碼D3,看事件碼D3是否代表一段音樂數(shù)據(jù),或代表時(shí)序音頻數(shù)據(jù)讀出的開始。當(dāng)控制器4確認(rèn)該事件碼D3代表一段音樂數(shù)據(jù)時(shí),控制器4提供事件碼D3到自動(dòng)播放控制器9。另一方面,當(dāng)控制器發(fā)現(xiàn)事件碼D3是代表時(shí)序音頻數(shù)據(jù)讀出的開始時(shí),控制器4提供代表時(shí)序音頻數(shù)據(jù)讀出的開始的控制信號到光盤驅(qū)動(dòng)器1。利用控制信號,光盤驅(qū)動(dòng)器1開始從光盤CD讀出音頻數(shù)據(jù)碼/時(shí)間碼D1/D2。音頻數(shù)據(jù)碼/時(shí)間碼D1/D2被提供給數(shù)字信號處理器3,并由數(shù)字信號處理器3延遲250ms。數(shù)字信號處理器3連同代表數(shù)據(jù)碼的種類的控制信號一起連續(xù)提供音頻數(shù)據(jù)碼/時(shí)間碼D1/D2到控制器4。當(dāng)每個(gè)時(shí)間碼D2到達(dá)控制器4時(shí),控制器4傳送時(shí)間碼D2到軟盤驅(qū)動(dòng)器2。利用時(shí)間碼D2和Δ時(shí)間碼D4,軟盤驅(qū)動(dòng)器2建立事件碼D3的讀出與音頻數(shù)據(jù)碼D1的讀出之間的同步。
      第三主要任務(wù)是從數(shù)字音頻信號中產(chǎn)生模擬音頻信號。數(shù)字音頻信號是從合奏音發(fā)生器8提供的。模擬音頻信號從控制器4提供給混合器13。
      第四主要任務(wù)有關(guān)于第二主要任務(wù)。第四主要任務(wù)是選擇性地傳送事件碼D3到合奏音發(fā)生器8和自動(dòng)播放控制器9。用戶通過操縱板5指令控制器4事件碼D3的目的地。
      第五主要任務(wù)是中繼用戶的指令到諸如自動(dòng)播放控制器9之類的其它系統(tǒng)部件。
      合奏音發(fā)生器8連接到控制器4,并從事件碼D3中產(chǎn)生數(shù)字音頻信號。當(dāng)用戶指定合奏音發(fā)生器8作為目的地時(shí),已經(jīng)從軟盤驅(qū)動(dòng)器2間歇提供給控制器4的事件碼D3,被從控制器4提供給合奏音發(fā)生器8。合奏音發(fā)生器8利用由事件碼D3指定的地址訪問波存儲(chǔ)器,并產(chǎn)生數(shù)字音頻信號。該數(shù)字音頻信號被提供給控制器4或混合器13。如上所述,數(shù)字音頻信號被控制器4變換為模擬音頻信號。
      混合器13具有連接到數(shù)字信號處理器3、控制器4、合奏音發(fā)生器8和鋼琴音發(fā)生器10的信號輸入端口。數(shù)字信號處理器3提供已經(jīng)從音頻數(shù)據(jù)碼D1產(chǎn)生的模擬音頻信號到混合器,并且控制器4或鋼琴音發(fā)生器10提供已經(jīng)從事件碼D3產(chǎn)生的模擬音頻信號到混合器。合奏音發(fā)生器8向混合器13提供數(shù)字音頻信號。混合器13混合這些信號,并產(chǎn)生模擬音頻信號?;旌掀?3提供該模擬音頻信號到放大器6。模擬音頻信號被放大,并而后提供給揚(yáng)聲器7。通過揚(yáng)聲器7模擬信號被變換為聲音。
      自動(dòng)播放控制器9根據(jù)用戶指令選擇性地實(shí)現(xiàn)兩個(gè)主要任務(wù)。用戶的指令是從控制器4再次傳送的。第一主要任務(wù)是傳送事件碼D3到鋼琴音發(fā)生器10。鋼琴音發(fā)生器10利用由事件碼指定的地址訪問波存儲(chǔ)器,并產(chǎn)生數(shù)字音信號。數(shù)字音信號被變換為模擬音頻信號,并且該模擬音頻信號從鋼琴音發(fā)生器10提供給混合器13。
      第二主要任務(wù)是通過螺線管驅(qū)動(dòng)器11控制螺線管操作的鍵盤/踏板致動(dòng)器14a。自動(dòng)播放控制器9根據(jù)代表音符-通的事件碼D3,確定與鍵盤/踏板相連的螺線管操作的鍵/踏板致動(dòng)器14a的活塞(plunger)要被移動(dòng)的軌跡。自動(dòng)播放控制器9通知鍵/踏板的螺線管驅(qū)動(dòng)器11要移動(dòng)和鍵/踏板的軌跡。螺線管驅(qū)動(dòng)器11調(diào)整驅(qū)動(dòng)電壓信號為各適當(dāng)軌跡的潛在電平,并提供驅(qū)動(dòng)潛在電平到螺線管操作的鍵/踏板致動(dòng)器14a。當(dāng)螺線管操作的鍵/踏板致動(dòng)器14a利用驅(qū)動(dòng)信號加電時(shí),活塞凸出并推動(dòng)相連的鍵和踏板。移動(dòng)鍵和踏板,就象人彈奏按鍵和腳踏踏板一樣。按下的鍵使音錘自由旋轉(zhuǎn)升高,并在自由旋轉(zhuǎn)結(jié)束時(shí)音錘打擊音條。音條振動(dòng),并產(chǎn)生聲學(xué)鋼琴音。
      當(dāng)代表音符-斷的事件碼D3到達(dá)自動(dòng)播放控制器9時(shí),自動(dòng)播放控制器9指令螺線管驅(qū)動(dòng)器11從螺線管操作的鍵/踏板致動(dòng)器14a取消驅(qū)動(dòng)信號?;钊s回,并且鍵/踏板返回靜止位置。
      在事件數(shù)據(jù)D3通過控制器4的傳送到產(chǎn)生聲學(xué)鋼琴音之間存在一個(gè)時(shí)間滯后。該時(shí)間滯后為500ms數(shù)量級。當(dāng)用戶指令音樂播放器通過揚(yáng)聲器7和自動(dòng)播放鋼琴15再現(xiàn)合奏音時(shí),控制器4指令軟盤驅(qū)動(dòng)器2從軟盤FD中連續(xù)讀出事件碼D3和Δ時(shí)間碼D4。事件碼D3a是在從MIDI碼讀出開始250ms后從軟盤FD讀出的,并當(dāng)事件碼D3a到達(dá)時(shí)控制器4指令光盤驅(qū)動(dòng)器1開始讀出音頻/時(shí)間碼D1/D2。因此,控制器3引入250ms延遲到讀出的數(shù)據(jù)中。如上所述,數(shù)字信號處理器3引入250ms延遲到控制器4的信號傳播中。因此,每個(gè)音頻碼D1從事件碼D3到達(dá)有500ms延遲。雖然聲學(xué)鋼琴音由于從控制器4傳送到自動(dòng)播放控制器9的事件碼D3的傳送有500ms延遲,但電子音和鋼琴音從揚(yáng)聲器7同時(shí)發(fā)出。
      轉(zhuǎn)到圖4,軟盤驅(qū)動(dòng)器2包括事件緩沖器202、Δ時(shí)間寄存器203、累加器211/221、發(fā)送控制230和用作定時(shí)調(diào)整功能的調(diào)節(jié)器241。累加器211是利用加法器211a和寄存器212的合奏實(shí)現(xiàn)的,并且加法器221a和寄存器222構(gòu)成另一個(gè)累加器221。
      事件碼或碼D3和Δ時(shí)間碼D4被選擇性地從軟盤FD提供給事件緩沖器202和Δ時(shí)間寄存器203,并分別存儲(chǔ)在事件緩沖器202和Δ時(shí)間寄存器203中。Δ時(shí)間碼D4可以跟隨多于一個(gè)事件碼。事件緩沖器202具有大到足以存儲(chǔ)所有事件碼的存儲(chǔ)容量。Δ時(shí)間碼D4的值等于要在一個(gè)事件與下一個(gè)事件之間計(jì)數(shù)的速度時(shí)鐘CT的數(shù)目。事件緩沖器202連接到控制器4的緩沖器4a,并且Δ時(shí)間寄存器203連接到累加器211和調(diào)節(jié)器241。
      發(fā)送控制230具有連接到累加器211和調(diào)節(jié)器241的兩個(gè)輸入端口,并比較代表傳送事件碼或碼D3的目標(biāo)時(shí)間的累加總數(shù)M與存儲(chǔ)在寄存器222中的數(shù)N,看是否事件碼或D3要被傳送到控制器4。當(dāng)數(shù)N達(dá)到累加總數(shù)M時(shí),回答給出肯定的,并且發(fā)送控制230改變使能信號和鎖存控制信號到有效電平,并且提供有效使能/鎖存控制信號到控制器4和Δ時(shí)間寄存器/用于累加總數(shù)的寄存器203/212。發(fā)送控制230也可以提供寄存器203/212寫入時(shí)鐘信號,替代鎖存控制信號。
      累加器211累加各個(gè)時(shí)間間隔,即,Δ時(shí)間碼D4的值,并且提供累加的總數(shù)M到發(fā)生控制230。每個(gè)Δ時(shí)間碼D4代表在一個(gè)事件與下一個(gè)事件之間計(jì)數(shù)的速度時(shí)鐘CT的數(shù)目,于是累加的總數(shù)也可以由從開始讀出MIDI碼計(jì)數(shù)的速度時(shí)鐘的總數(shù)表示。加法器211a具有分別連接到Δ時(shí)間寄存器203和用于累加總數(shù)的寄存器212的輸入端口,連接到用于累加總數(shù)的寄存器212的輸出端口。因此,加法器211和寄存器212形成累加環(huán)。當(dāng)用戶指令控制器4再現(xiàn)合奏時(shí),寄存器212被復(fù)位為0。當(dāng)軟盤驅(qū)動(dòng)器2連續(xù)讀出MIDI碼時(shí),軟盤FD間歇地提供Δ時(shí)間碼D4到Δ時(shí)間寄存器203。當(dāng)數(shù)N達(dá)到累加總數(shù)M時(shí),發(fā)送控制230改變鎖存信號為有效電平。利用有效鎖存控制信號,下一個(gè)Δ時(shí)間碼D4被存儲(chǔ)在Δ時(shí)間寄存器203中,并且立即傳送到加法器211用于累加。加法器211加Δ時(shí)間到累加總數(shù)M,并且存在有效電平的鎖存控制信號時(shí),新的累加總數(shù)M被存儲(chǔ)到寄存器212中。
      另一個(gè)累加器221計(jì)數(shù)速度時(shí)鐘CT。加法器221a具有分別連接到恒定值“+1”的源和寄存器222的兩個(gè)輸入端口,和加法器221a的輸出端口連接到寄存器222。加法器221a和寄存器222形成累加環(huán)。在加法器221a連接寄存器222的輸入端口還被連接到調(diào)節(jié)器241和發(fā)送控制230,并且速度時(shí)鐘CT作為鎖存控制信號被提供給寄存器222。當(dāng)用戶指令控制器4再現(xiàn)合奏時(shí),寄存器222被復(fù)位為0。加法器221a加1,并且響應(yīng)于速度時(shí)鐘CT,總數(shù)存儲(chǔ)在寄存器222中。因此,速度時(shí)鐘CT的數(shù)N被存儲(chǔ)在寄存器222中,并且被提供給調(diào)節(jié)器241和發(fā)送控制230。
      調(diào)節(jié)器241連接到控制器4、累加器221和Δ時(shí)間寄存器203。時(shí)間碼D2通過數(shù)字信號處理器3和控制器4從光盤CD傳送到調(diào)節(jié)器241,并且累加器221提供速度時(shí)鐘CT的數(shù)N到調(diào)節(jié)器241。調(diào)節(jié)器241實(shí)現(xiàn)如下兩個(gè)主要任務(wù)。
      調(diào)節(jié)器241首先通過用速度時(shí)鐘CT的脈沖周期乘以數(shù)N,即(N×τ),計(jì)算從MIDI碼讀出開始逝去的時(shí)間。如上所述,音頻數(shù)據(jù)/時(shí)間碼D1/D2從對應(yīng)的MIDI碼延遲500ms。為了使一個(gè)時(shí)鐘的標(biāo)度盤等于另一個(gè)時(shí)鐘的標(biāo)度盤,調(diào)節(jié)器41從逝去的時(shí)間(N×τ)減去500ms,并且確定從第一音頻碼D1到達(dá)控制器4逝去的時(shí)間TFD,即{(N×τ)-500}。
      由調(diào)節(jié)器241實(shí)現(xiàn)的第二任務(wù)是設(shè)置時(shí)鐘的超前和滯后。由時(shí)間碼D2代表的逝去時(shí)間以“TCD”標(biāo)注。首先,調(diào)節(jié)器241檢查時(shí)間碼D2,看是否逝去時(shí)間TCD大于0。當(dāng)回答是否定時(shí),調(diào)節(jié)器241重復(fù)這個(gè)步驟。當(dāng)時(shí)間碼D2表示逝去的時(shí)間TCD大于0時(shí),回答改變?yōu)榭隙?。對于肯定的回答,調(diào)節(jié)器241比較逝去的時(shí)間TFD與逝去的時(shí)間TCD,看逝去的時(shí)間TCD是大于、等于還是小于逝去的時(shí)間TFD。在逝去的時(shí)間TFD不同于逝去的時(shí)間TCD的情況下,調(diào)節(jié)器241還檢查逝去的時(shí)間TFD/TCD,看是否差DF落入預(yù)定余量MG內(nèi)。根據(jù)如下的回答,調(diào)節(jié)器241前進(jìn)到不同的步驟。
      情況1TFD=TCD或|DF|<MG調(diào)節(jié)器241既不超前也不滯后地設(shè)置時(shí)鐘。Δ時(shí)間碼D4間歇地從軟盤FD看提供給Δ時(shí)間寄存器203,并且在寄存器212中進(jìn)行累加。當(dāng)總速度時(shí)鐘CT數(shù)N達(dá)到累加總數(shù)M時(shí),發(fā)送控制230改變使能信號和鎖存控制信號為有效電平。利用有效電平的使能信號,事件碼或碼D3被鎖存在寄存器4a中,并且下一個(gè)Δ時(shí)間碼D3在累加器211中累加。
      情況2TFD>TCD和|DF|>MG在這種情況下,通過自動(dòng)播放鋼琴15再現(xiàn)的部分提前于通過從揚(yáng)聲器7再現(xiàn)的部分差DF,即TFD-TCD。調(diào)節(jié)器241首先通過用脈沖周期τ除差DF,變換時(shí)間,即DF為速度時(shí)鐘CT數(shù)DN。乘積(TFD-TCD)/τ等效于通過自動(dòng)播放鋼琴15再現(xiàn)的部分提前的時(shí)間。調(diào)節(jié)器241從Δ時(shí)間寄存器203取Δ時(shí)間碼D4,并加數(shù)DN到Δ時(shí)間碼D4的值ND4上。調(diào)節(jié)器241寫差{ND4+(TFD-TCD)/τ}到Δ時(shí)間寄存器203中。因此,由Δ時(shí)間碼D3代表的時(shí)間間隔被延長。調(diào)節(jié)器241提供Δ時(shí)間碼D4到寄存器203,于是存儲(chǔ)在寄存器203中的Δ時(shí)間碼D4代表大于以前數(shù)的數(shù)。當(dāng)Δ時(shí)間碼D4在寄存器212中累加時(shí),發(fā)送控制230延遲事件碼D或碼D3的發(fā)送。這導(dǎo)致通過自動(dòng)播放鋼琴15和揚(yáng)聲器7同步地再現(xiàn)兩部分。
      情況3TFD<TCD和|DF|>MG通過自動(dòng)播放鋼琴15再現(xiàn)的部分滯后于通過揚(yáng)聲器7再現(xiàn)的部分。調(diào)節(jié)器241通過用脈沖周期τ除以差DF,變換滯后時(shí)間,即差DF為速度時(shí)鐘CT的數(shù)目。乘積(TFD-TCD)/τ等效于時(shí)間延遲。調(diào)節(jié)器241從Δ時(shí)間寄存器203取Δ時(shí)間碼D4,并從Δ時(shí)間碼D4的值ND4減去數(shù)DN。
      接下來,調(diào)節(jié)器241檢查計(jì)算結(jié)果,看是否差{ND4-(TFD-TCD)/τ}是正數(shù)。當(dāng)回答是肯定的時(shí),調(diào)節(jié)器241把該差寫到寄存器203中。由Δ時(shí)間碼D3表示的時(shí)間間隔被縮短。調(diào)節(jié)器241將Δ時(shí)間碼D4提供給寄存器203,以便存儲(chǔ)在寄存器203中的Δ時(shí)間碼D3代表小于以前數(shù)的數(shù)。當(dāng)Δ時(shí)間碼D4在寄存器212中累加時(shí),發(fā)送控制230早于以前的方案發(fā)送事件碼或碼D3到緩沖器4a。這導(dǎo)致延遲被取消。兩部分通過自動(dòng)播放鋼琴15和揚(yáng)聲器7被同步地再現(xiàn)。
      另一方面,如果差是負(fù)數(shù),回答是否定的。在這種情況下,調(diào)節(jié)器241用正數(shù)α除以乘積(TFD-TCD)/τ,并且從Δ時(shí)間碼的值ND4中減去乘積(TFD-TCD)/τα。如果正數(shù)是2,給出差為{ND4-(TFD-TCD)/2τ}。調(diào)節(jié)器241檢查計(jì)算結(jié)果,看是否差是正數(shù)。當(dāng)回答是肯定的時(shí),調(diào)節(jié)器241寫差{ND4-(TFD-TCD)/2τ}到Δ時(shí)間寄存器203中,并保存另外一半,即(TFD-TCD)/2τ在內(nèi)部寄存器(未示出)中。調(diào)節(jié)器241將從下一個(gè)Δ時(shí)間的值中減去另外一半。因此,調(diào)節(jié)器241逐步地消除時(shí)間滯后,以便使兩部分彼此同步。如果差{ND4-(TFD-TCD)/2τ}仍然給出負(fù)的,調(diào)節(jié)器241增加除數(shù),并重復(fù)上述順序。
      圖5表示假設(shè)用戶指令控制器4在首部開始再現(xiàn)的合奏的再現(xiàn)。時(shí)間碼D2在0.25秒(見“來自CD的時(shí)間碼”)的間隔被插入,并且從k秒和k+1秒(見“來自C.D的音頻數(shù)據(jù)碼”)之間讀出音頻數(shù)據(jù)碼a[k](k=0、0.25、0.5、0.75、...)。數(shù)字信號處理器3引入250ms的時(shí)間延遲到音頻數(shù)據(jù)碼a[k],使得音頻數(shù)據(jù)碼a[k]在第二行和第三行之間延遲。另一方面,從軟盤(見“來自軟盤的MIDI碼”)讀出MIDI碼m[k](k=0、0.25、0.5、0.75、…)以及聲學(xué)鋼琴12產(chǎn)生鋼琴音m[k](k=0、0.25、0.5、0.75、…)。從讀出MIDI碼鋼琴音被延遲500ms(比較第四行與第五行)。
      現(xiàn)在假設(shè)用戶指令控制器4在時(shí)間t0再現(xiàn)合奏,控制器4立即指令軟盤驅(qū)動(dòng)器2從軟盤FD中讀出MIDI碼D3,并且MIDI碼從軟盤FD通過軟盤驅(qū)動(dòng)器2連續(xù)提供給控制器4。從時(shí)間t0和時(shí)間t1之間讀出MIDI碼m
      ,和從時(shí)間t1和時(shí)間t2之間讀出MIDI碼m
      。從軟盤FD在時(shí)間t5和時(shí)間t6之間讀出MIDI碼m[1.25],并且從軟盤FD在時(shí)間t6以后讀出MIDI碼m[1.5]。軟盤驅(qū)動(dòng)器2控制事件碼或碼D3傳送到控制器4的定時(shí)。但是,當(dāng)控制器4正等待事件碼D3a時(shí),任何時(shí)間碼D2不能到達(dá)軟盤驅(qū)動(dòng)器2,并因此軟盤驅(qū)動(dòng)器2在由Δ時(shí)間碼D4確定的定時(shí),傳送事件碼或碼D3到緩沖器4a。
      在MIDI碼讀出開始以后250ms,從軟盤FD提供事件碼D3a到控制器4。控制器4立即指令光盤驅(qū)動(dòng)器1從光盤CD讀出音頻數(shù)據(jù)碼D1和時(shí)間碼D2。在時(shí)間t1和時(shí)間t2之間從光盤CD讀出音頻數(shù)據(jù)碼a
      ,并且在時(shí)間t2和時(shí)間t3之間從光盤CD讀出音頻數(shù)據(jù)碼a
      。
      事件碼m
      通過自動(dòng)播放控制器9傳送到螺線管驅(qū)動(dòng)器11,并且螺線管驅(qū)動(dòng)器11加電與要移動(dòng)的鍵連接的螺線管操作的鍵致動(dòng)器14a。鍵提升音錘的旋轉(zhuǎn),并在時(shí)間t2和時(shí)間t3之間產(chǎn)生音m
      。音m
      從開始MIDI碼m
      讀出延遲500ms。
      另一方面,音頻數(shù)據(jù)碼a
      從光盤驅(qū)動(dòng)器1傳送到數(shù)字信號處理器3,并在接收后250ms提供給控制器4。當(dāng)數(shù)字信號處理器3正等待該時(shí)間周期期滿時(shí),數(shù)字信號處理器3分析該數(shù)據(jù)碼,并確定數(shù)據(jù)碼的種類。當(dāng)數(shù)字信號處理器3確定了數(shù)據(jù)碼的種類時(shí),數(shù)字信號處理器3通知控制器4該數(shù)據(jù)碼種類。在這個(gè)例子中,數(shù)字信號處理器3通知控制器4,該數(shù)據(jù)碼是音頻數(shù)據(jù)碼D1,沒有任何MIDI碼。一旦250ms期滿,數(shù)字信號處理器3提供音頻數(shù)據(jù)碼a
      、a
      、…到控制器4,并且音頻數(shù)據(jù)碼a
      、a
      、…被從數(shù)字音頻信號變換為模擬音頻信號。最后,揚(yáng)聲器7從模擬音頻信號產(chǎn)生電子音。
      時(shí)間碼
      、

      、…從控制器4傳送到軟盤驅(qū)動(dòng)器2的調(diào)節(jié)器241。雖然調(diào)節(jié)器241不根據(jù)第一時(shí)間碼
      進(jìn)行定時(shí)調(diào)節(jié)。但是,當(dāng)下一個(gè)時(shí)間碼
      到達(dá)調(diào)節(jié)器241時(shí),調(diào)節(jié)器241開始如上所述的定時(shí)調(diào)節(jié)。
      合奏在開始讀出音頻數(shù)據(jù)碼(見時(shí)間t2的a
      和m
      )后250ms開始。但是,正如波形所表示的那樣,在音頻數(shù)據(jù)碼D3讀出開始后500ms,音樂播放器通過自動(dòng)播放鋼琴15和揚(yáng)聲器7同步再現(xiàn)兩部分。換言之,音m
      通過自動(dòng)播放鋼琴15與音a
      同步地再現(xiàn)。
      用戶假設(shè)指令音樂播放器按一段樂曲結(jié)束的方式再現(xiàn)合奏。圖6表示該合奏的再現(xiàn)。音樂播放器已播放該段音樂。當(dāng)用戶指令控制器4停止播放時(shí),控制器4響應(yīng)該指令,并在內(nèi)部寄存器中暫時(shí)存儲(chǔ)當(dāng)前有效的時(shí)間碼D2。在這個(gè)例子中,用戶指令控制器4在時(shí)間[99.1]停止播放。時(shí)間碼[99.25]尚未到達(dá)控制器4,而有效時(shí)間碼是[99.0]??刂破?在內(nèi)部寄存器中暫時(shí)存儲(chǔ)時(shí)間碼[99.0]。
      當(dāng)用戶指令按合奏重新開始播放時(shí),控制器4加預(yù)定時(shí)間周期到時(shí)間碼[99.0]的值上,以便指定重新開始點(diǎn)PREP。在這個(gè)例子中,預(yù)定時(shí)間周期是1秒,于是音樂播放器在[100.0]重新開始合奏播放??刂破?連同與音頻數(shù)據(jù)碼D1同步地讀出MIDI碼的指令一起提供重新開始點(diǎn)PREP到軟盤驅(qū)動(dòng)器2。
      軟盤驅(qū)動(dòng)器2響應(yīng)于該指令,于是軟盤驅(qū)動(dòng)器2連續(xù)從軟盤FD中讀出事件碼或碼D3和Δ時(shí)間碼D4,并且累加讀出的Δ時(shí)間碼D2的值。事件碼或碼D3被存儲(chǔ)在事件緩沖器202中,并且,連同Δ時(shí)間碼D4一起被重新寫入。當(dāng)Δ時(shí)間碼D4的值在累加器211中累加時(shí),調(diào)節(jié)器241檢查累加總數(shù),看是否等效于累加總數(shù)的時(shí)間周期略超過重新開始點(diǎn)PREP。調(diào)節(jié)器241確定等效于累加總數(shù)的時(shí)間與重新開始點(diǎn)PREP之間的差,并且,變換該差為速度時(shí)鐘的數(shù)。調(diào)節(jié)器241寫速度時(shí)鐘數(shù)到寄存器222中。
      當(dāng)累加總數(shù)M達(dá)到早于重新開始點(diǎn)PREP 250ms的時(shí)間時(shí),發(fā)送控制230提供事件碼或碼D3到緩沖器4a,并且控制器4傳送事件碼或碼D3到自動(dòng)播放控制器9。在時(shí)間[100.25]產(chǎn)生音m[100]。另一方面,在指令軟盤驅(qū)動(dòng)器2后,控制器4指令光盤驅(qū)動(dòng)器1重新開始讀出音頻數(shù)據(jù)碼D1,并給出光盤驅(qū)動(dòng)器1重新開始點(diǎn)[100]。光盤驅(qū)動(dòng)器1到重新開始點(diǎn)PREP之前不傳送音頻數(shù)據(jù)碼D1到數(shù)字信號處理器3。光盤驅(qū)動(dòng)器1在時(shí)間PREP重新開始向數(shù)字信號處理器3的碼發(fā)送,并提供音頻數(shù)據(jù)碼[100]到數(shù)字信號處理器3。在接收后250ms,音頻數(shù)據(jù)碼[100]被傳送到控制器4,并且在時(shí)間[100.25]從揚(yáng)聲器7發(fā)出電子音a[100]。因此,音樂播放器通過自動(dòng)播放鋼琴15和揚(yáng)聲器7同步再現(xiàn)兩個(gè)部分。
      控制器4傳送時(shí)間碼[100]到軟盤驅(qū)動(dòng)器2的調(diào)節(jié)器241,并且調(diào)節(jié)器241開始定時(shí)調(diào)整。調(diào)節(jié)器241表現(xiàn)為類似于在樂曲的首部播放時(shí)的情況,并且通過自動(dòng)播放鋼琴15和揚(yáng)聲器7同步地播放電子音和聲學(xué)音。
      正如將從上述描述理解的那樣,按照本發(fā)明的音樂播放器裝備有定時(shí)調(diào)節(jié)器,并且定時(shí)調(diào)節(jié)器根據(jù)從開始讀出音頻數(shù)據(jù)碼D1/D2逝去的時(shí)間,改變各事件碼D3之間的時(shí)間間隔。結(jié)果,多種音樂數(shù)據(jù)同時(shí)到達(dá)多個(gè)聲音發(fā)生器6/7/8/10/13和15,并且多個(gè)聲音發(fā)生器6/7/8/10/13和15同步產(chǎn)生樂曲的多個(gè)部分。因此,定時(shí)調(diào)節(jié)器使多個(gè)部分通過多個(gè)聲音發(fā)生器同步地再現(xiàn)。
      在第一實(shí)施例中,事件緩沖器202、Δ時(shí)間寄存器203和發(fā)送控制230作為一個(gè)整體構(gòu)成音序器,并且累加器211用作數(shù)據(jù)變換器。累加器221和調(diào)節(jié)器241組合形成定時(shí)調(diào)節(jié)器。
      在第一實(shí)施例中,讀出首部,軟盤驅(qū)動(dòng)器2和光盤驅(qū)動(dòng)器1的事件緩沖器202和發(fā)送控制230分別作為第一數(shù)據(jù)源和第二數(shù)據(jù)源,并且MIDI碼和音頻數(shù)據(jù)/時(shí)間碼分別對應(yīng)于第一種音樂數(shù)據(jù)和第二種音樂數(shù)據(jù)。自動(dòng)播放鋼琴15用作第一聲源,并且數(shù)字信號處理器3、混合器13、放大器6和揚(yáng)聲器7作為一個(gè)整體構(gòu)成第二聲源。Δ時(shí)間寄存器203、累加器211/221、調(diào)節(jié)器614和控制器4作為一個(gè)整體構(gòu)成控制系統(tǒng)。
      第二實(shí)施例轉(zhuǎn)到圖7,在實(shí)施本發(fā)明的另一個(gè)音樂播放器中包含軟盤驅(qū)動(dòng)器610。軟盤驅(qū)動(dòng)器610也具有信息處理能力。實(shí)現(xiàn)第二實(shí)施例的音樂播放器也包括控制系統(tǒng)612和聲音源,并且該聲音源與第一實(shí)施例一樣具有多個(gè)聲音發(fā)生器??刂葡到y(tǒng)612除調(diào)節(jié)器614外類似于控制系統(tǒng)600。為此,其它部件標(biāo)注以與控制系統(tǒng)600對應(yīng)的部件相同的標(biāo)號,對此不予贅述。
      調(diào)節(jié)器614連接到寄存器222,但是不連接到Δ時(shí)間寄存器203。這意味著調(diào)節(jié)器614根據(jù)存儲(chǔ)在時(shí)間碼D2中的逝去時(shí)間,改變速度時(shí)鐘CT數(shù)。時(shí)間碼D2連續(xù)地從控制器4提供給調(diào)節(jié)器614。
      當(dāng)時(shí)間碼D2到達(dá)調(diào)節(jié)器614時(shí),調(diào)節(jié)器614檢查時(shí)間碼D2,看是否從讀出音頻數(shù)據(jù)碼D1逝去的時(shí)間等于0。第一時(shí)間碼D2指示0?;卮鹗强隙ǖ模⑶艺{(diào)節(jié)器614忽略第一時(shí)間碼D1。在第一時(shí)間碼以后的時(shí)間碼D2指示逝去時(shí)間的有限值,并且回答變?yōu)榉穸ǖ幕卮?。TCD是代表從開始讀出音頻數(shù)據(jù)碼逝去的時(shí)間。
      隨著否定的回答,調(diào)節(jié)器614訪問寄存器222,并且取得存儲(chǔ)在寄存器222中的速度時(shí)鐘CT數(shù)N。調(diào)節(jié)器614根據(jù)速度時(shí)鐘CT數(shù)N,按照TFD=N×τ-500,計(jì)算逝去時(shí)間TFD,并且比較逝去時(shí)間TFD與逝去時(shí)間TCD。調(diào)節(jié)器614計(jì)算TFD與TCD之間的差。根據(jù)比較的結(jié)果和差DF,調(diào)節(jié)器614前進(jìn)到一個(gè)步驟。
      情況1TFD=TCD或|DF|<MG調(diào)節(jié)器614設(shè)置時(shí)鐘,不提前也不滯后。Δ時(shí)間碼D4間歇地從軟盤FD提供給Δ時(shí)間寄存器203,并且在寄存器212中進(jìn)行累加。當(dāng)總的速度時(shí)鐘CT數(shù)N達(dá)到累加總數(shù)M時(shí),發(fā)送控制230改變使能信號和鎖存控制信號為有效電平。利用有效電平的使能信號,事件碼或碼D3被鎖存在緩沖器4a中,并且下一個(gè)Δ時(shí)間碼D3在累加器211中進(jìn)行累加。
      情況2TFD>TCD和|DF|>MG在這種情況下,通過自動(dòng)播放鋼琴15再現(xiàn)的部分提前于通過揚(yáng)聲器7再現(xiàn)的部分DF,即TFD-TCD。調(diào)節(jié)器614首先通過用脈沖周期τ除以差DF,變換時(shí)間差DF為速度時(shí)鐘CT的數(shù)DN。乘積(TFD-TCD)/τ等效于自動(dòng)播放鋼琴15再現(xiàn)的部分播放被提前的時(shí)間。調(diào)節(jié)器614從寄存器222取得總速度時(shí)鐘CT數(shù)N,并且從總速度時(shí)鐘CT數(shù)N減去數(shù)DN。調(diào)節(jié)器614在寄存器222中寫差{N-(TFD-TCD)/τ}。因此,當(dāng)前時(shí)間被設(shè)置得滯后,并且發(fā)送控制230延遲事件碼或碼D3的發(fā)送。這導(dǎo)致兩部分通過自動(dòng)播放鋼琴15和揚(yáng)聲器7同步地再現(xiàn)。
      情況3TFD<TCD和|DF|>MG通過自動(dòng)播放鋼琴15再現(xiàn)的部分延遲于通過揚(yáng)聲器7再現(xiàn)的部分。調(diào)節(jié)器614通過用脈沖周期τ除以差DF,也變換時(shí)間差DF為速度時(shí)鐘CT的數(shù)DN。乘積(TFD-TCD)/τ等效于時(shí)間延遲。調(diào)節(jié)器614從自寄存器222取得總速度時(shí)鐘CT數(shù)N,并將數(shù)DN加到總速度時(shí)鐘CT的數(shù)N上。調(diào)節(jié)器614寫該和到寄存器222。因此,當(dāng)前時(shí)間被設(shè)置提前,并且加速事件碼或D3的發(fā)送。這導(dǎo)致通過自動(dòng)播放鋼琴15和揚(yáng)聲器7同步再現(xiàn)兩部分。
      正如將從上述描述中所理解的那樣,定時(shí)調(diào)節(jié)器監(jiān)視時(shí)間碼D2,看是否事件碼D3的發(fā)送與音頻數(shù)據(jù)碼D1的發(fā)送是同步的。如果事件碼D3的發(fā)送相對音頻數(shù)據(jù)碼D1的發(fā)送提前或滯后,定時(shí)調(diào)節(jié)器設(shè)置時(shí)鐘,即N個(gè)滯后或提前,以便建立樂曲的多個(gè)部分之間的同步。
      第三實(shí)施例圖8表示實(shí)施本發(fā)明的再另一個(gè)音樂播放器。實(shí)現(xiàn)第三實(shí)施例的音樂播放器也包括控制系統(tǒng)620和聲音源622。聲音源622類似于聲音源602。但是,控制系統(tǒng)624在以下方案不同于控制系統(tǒng)600,即光盤驅(qū)動(dòng)器/數(shù)字信號處理器1/3和軟盤驅(qū)動(dòng)器2分別被小型盤驅(qū)動(dòng)器624和軟盤驅(qū)動(dòng)器626所代替。小型盤驅(qū)動(dòng)器624和軟盤驅(qū)動(dòng)器626分別具有信息處理能力。其它部件標(biāo)注以與對應(yīng)于第一實(shí)施例的部件的標(biāo)號,為了簡單的緣故這些部件的細(xì)節(jié)不再贅述。
      音頻數(shù)據(jù)碼和時(shí)間碼存儲(chǔ)在小型盤MD中,并且MIDI碼存儲(chǔ)在軟盤FD中。MD驅(qū)動(dòng)器624具有讀碼器101和數(shù)據(jù)變換器102,并且軟盤驅(qū)動(dòng)器626用作音序器和定時(shí)調(diào)節(jié)器。
      讀碼器101從小型盤MD讀出音頻數(shù)據(jù)碼和時(shí)間碼。讀碼器101檢查讀出的碼,看是用于小型盤的音頻數(shù)據(jù)碼還是時(shí)間碼。讀碼器101引入250ms的延遲到音頻數(shù)據(jù)碼到控制器4的傳播中。另外,讀碼器101從音頻數(shù)據(jù)碼D1產(chǎn)生模擬音頻信號。延遲的音頻數(shù)據(jù)碼被提供給控制器4,并且模擬音頻信號被提供給混合器13。
      用于小型盤的時(shí)間碼從讀碼器101傳送到數(shù)據(jù)變換器102。數(shù)據(jù)變換器102變換時(shí)間碼為代表要與通過自動(dòng)播放鋼琴再現(xiàn)的各個(gè)音同步的音之間的時(shí)間間隔的Δ時(shí)間碼MTC,并且引入250ms的延遲到Δ時(shí)間碼D3到控制器4的傳播中。
      軟盤驅(qū)動(dòng)器626間歇地接收Δ時(shí)間碼D3,并且,比較某些Δ時(shí)間碼D3與對應(yīng)的Δ時(shí)間碼MTC,看是否某些Δ時(shí)間碼D3之間的時(shí)間間隔等于對應(yīng)的各Δ時(shí)間碼MTC之間的時(shí)間間隔。如果回答是否定的,軟盤驅(qū)動(dòng)器626提供代表提前或滯后的狀態(tài)信號到控制器4??刂破?響應(yīng)該狀態(tài)信號,于是控制器4指令MD驅(qū)動(dòng)器624改變讀出速度或250ms的延遲。因此,兩部分彼此同步。
      軟盤驅(qū)動(dòng)器626可以改變?chǔ)r(shí)間或累加的速度時(shí)鐘CT數(shù),代替向控制器4提供狀態(tài)信號。
      正如從上述描述所看出的那樣,軟盤驅(qū)動(dòng)器626比較Δ時(shí)間碼D3的值與累加的速度時(shí)鐘CT數(shù),看對于對應(yīng)的MIDI碼音頻數(shù)據(jù)碼是否提前或滯后,并且讀碼器101改變音頻數(shù)據(jù)碼變換到模擬音頻信號的定時(shí)。結(jié)果,通過自動(dòng)播放鋼琴15產(chǎn)生的部分與通過揚(yáng)聲器7產(chǎn)生的部分同步地進(jìn)行再現(xiàn)。
      在第三實(shí)施例中,軟盤驅(qū)動(dòng)器626用作音序器,并且調(diào)節(jié)器241與讀碼器101組合形成定時(shí)調(diào)節(jié)器。
      音樂記錄器按照本發(fā)明的音樂記錄器包括第一數(shù)據(jù)源、第二數(shù)據(jù)源、記錄系統(tǒng)和控制系統(tǒng)。第一數(shù)據(jù)源和第二數(shù)據(jù)源連接到控制系統(tǒng)。第一數(shù)據(jù)源連續(xù)產(chǎn)生含有代表第一音的第一音樂數(shù)據(jù)信息段的第一種音樂數(shù)據(jù)。第一音樂數(shù)據(jù)信息段之間的時(shí)間間隔是由第一時(shí)間數(shù)據(jù)信息段定義的。第二數(shù)據(jù)源連續(xù)產(chǎn)生第二種音樂數(shù)據(jù),并且第二種音樂數(shù)據(jù)含有代表第二音的第二音樂數(shù)據(jù)信息段和代表逝去時(shí)間的第二時(shí)間數(shù)據(jù)信息段。第二音是在逝去時(shí)間期間產(chǎn)生的。如下所述,控制系統(tǒng)產(chǎn)生第一時(shí)間數(shù)據(jù)信息段,并提供第一音樂數(shù)據(jù)信息段和第一時(shí)間數(shù)據(jù)信息段到記錄系統(tǒng),以便存儲(chǔ)它們到信息存儲(chǔ)介質(zhì)。
      當(dāng)音樂記錄器指令第二數(shù)據(jù)源提供第二種音樂數(shù)據(jù)時(shí),第二數(shù)據(jù)源提供第二時(shí)間數(shù)據(jù)信息段到控制系統(tǒng)。第二音樂數(shù)據(jù)信息段可以被提供給聲音源以便產(chǎn)生第二音。
      控制系統(tǒng)測量根據(jù)根據(jù)它定義時(shí)間間隔的參考逝去時(shí)間??刂葡到y(tǒng)比較逝去時(shí)間與參考逝去時(shí)間,看是否之間的差可以忽略。如果回答是否定的,控制系統(tǒng)連續(xù)測量參考逝去時(shí)間。另一方面,如果回答是否定的,控制系統(tǒng)增加或減少參考逝去時(shí)間,以便最小化該差。當(dāng)每個(gè)第一音樂數(shù)據(jù)信息段到達(dá)控制系統(tǒng)時(shí),控制系統(tǒng)計(jì)算以前到達(dá)的第一音樂數(shù)據(jù)信息段與第一音樂數(shù)據(jù)信息段之間的時(shí)間間隔,并產(chǎn)生對應(yīng)的第一時(shí)間數(shù)據(jù)信息段。第一音樂數(shù)據(jù)信息段和對應(yīng)的時(shí)間數(shù)據(jù)信息段從控制系統(tǒng)提供給記錄系統(tǒng)。記錄系統(tǒng)寫第一音樂數(shù)據(jù)信息段和第一時(shí)間數(shù)據(jù)信息段到信息存儲(chǔ)介質(zhì)上。
      因此,第一種音樂數(shù)據(jù)與第二種音樂數(shù)據(jù)同步地記錄到信息存儲(chǔ)介質(zhì)上。
      第一實(shí)施例參照圖9,表示出實(shí)施本發(fā)明的音樂記錄器/播放器并且一般由700指示。音樂記錄器/播放器700基本上包括兩個(gè)音樂數(shù)據(jù)源1/10、同步音樂記錄器702、和音樂播放器704。在這個(gè)例子中,兩個(gè)音樂數(shù)據(jù)源之一是光盤驅(qū)動(dòng)器1,和另一個(gè)音樂數(shù)據(jù)源是電子鋼琴10。復(fù)合鍵盤樂器可以用帶有傳感器的自動(dòng)播放鋼琴代替。兩個(gè)音樂數(shù)據(jù)源1/10提供兩種音樂數(shù)據(jù)碼到同步音樂記錄器702和音樂播放器704,這些碼是根據(jù)不同標(biāo)準(zhǔn)編碼的。特別是,兩種音樂數(shù)據(jù)碼含有在含義上不同的時(shí)間碼。從音樂數(shù)據(jù)源1提供的音樂數(shù)據(jù)碼和從另一個(gè)音樂數(shù)據(jù)源10提供的音樂數(shù)據(jù)碼可以代表一段音樂的一部分和該音樂的另一部分。
      當(dāng)用戶指令同步音樂記錄器702記錄合奏時(shí),同步音樂記錄器702請求音樂數(shù)據(jù)源1/10向其發(fā)送兩種音樂數(shù)據(jù)碼。音樂數(shù)據(jù)源1/10連續(xù)提供含有時(shí)間碼的兩種音樂數(shù)據(jù)碼到同步音樂記錄器702。同步音樂記錄器702變換形成一種音樂數(shù)據(jù)碼的各部分的時(shí)間碼為在含義上與形成另一種音樂數(shù)據(jù)碼的各部分的時(shí)間碼相同的時(shí)間碼,并比較變換的時(shí)間碼與形成對應(yīng)于另一種音樂數(shù)據(jù)碼的各部分的時(shí)間碼,看這兩部分是否彼此同步。同步音樂記錄器702連續(xù)寫音樂數(shù)據(jù)碼到軟盤FD。當(dāng)回答是肯定的,同步音樂記錄器702在軟盤FD中存儲(chǔ)音樂數(shù)據(jù)碼。但是,如果回答是否定的,同步音樂記錄器702修改時(shí)間碼,并寫修改的時(shí)間碼到軟盤FD中。
      同步音樂記錄器702包括數(shù)字信號處理器2、控制器3、操縱板4和軟盤驅(qū)動(dòng)器8??刂破?具有信息處理能力。軟盤驅(qū)動(dòng)器8也具有信息處理能力。電子鋼琴10包括鍵盤11、用于黑/白鍵11a的鍵傳感器12、用于多個(gè)踏板的踏板傳感器13、MIDI碼發(fā)生器14和鋼琴音發(fā)生器15。音樂播放器704包括數(shù)字信號處理器2、控制器3、混合器5、放大器6、揚(yáng)聲器7和鋼琴音發(fā)生器15。在自動(dòng)播放鋼琴被用作數(shù)據(jù)源10的情況下,自動(dòng)播放鋼琴形成音樂播放器704的一部分。
      在這個(gè)例子中,存儲(chǔ)在光盤CD中的一種音樂數(shù)據(jù)碼代表時(shí)序音頻數(shù)據(jù),并且目錄數(shù)據(jù)也存儲(chǔ)在光盤CD中。時(shí)序音頻數(shù)據(jù)是由音頻數(shù)據(jù)碼D1和時(shí)間碼D2表示(見圖2A)。從電子鋼琴10提供的另一種音樂數(shù)據(jù)碼表示MIDI數(shù)據(jù)。MIDI數(shù)據(jù)是由事件碼D3和Δ時(shí)間碼D4表示的(見圖2B)。這些部件和光盤驅(qū)動(dòng)器1在下面更詳細(xì)地描述。
      光盤驅(qū)動(dòng)器1具有信號輸入端口和信號輸出端口。多個(gè)光盤CD裝在光盤驅(qū)動(dòng)器1中,并且用戶選擇多個(gè)光盤CD中的一個(gè)用于播放和記錄。光盤驅(qū)動(dòng)器1通過信號輸出端口連接到數(shù)字信號處理器2,并在信號輸入端口從控制器3接收控制信號??刂菩盘柋硎灸夸洈?shù)據(jù)和時(shí)序音頻數(shù)據(jù)的讀出開始。光盤驅(qū)動(dòng)器1通過信號輸出端口連接到數(shù)字信號處理器2,并提供音頻數(shù)據(jù)碼D1和時(shí)間碼D2到數(shù)字信號處理器2。要裝在光盤驅(qū)動(dòng)器1的光盤可以存儲(chǔ)另一種音樂數(shù)據(jù)。例如,光盤存儲(chǔ)時(shí)序音頻數(shù)據(jù)為左聲道和MIDI數(shù)據(jù)為右聲道,或反之依然。
      數(shù)字信號處理器2具有信號輸入端口和信號輸出端口。信號輸入端口連接到光盤驅(qū)動(dòng)器1的信號輸出端口,并且信號輸出端口分別連接到控制器3和混合器5。數(shù)字信號處理器2實(shí)現(xiàn)若干個(gè)主要任務(wù)。
      首先,數(shù)字信號處理器2引入到從光盤驅(qū)動(dòng)器1到控制器3的時(shí)間碼D2的傳播250ms的延遲。另一個(gè)主要任務(wù)是從音頻數(shù)據(jù)碼D1中產(chǎn)生模擬音頻信號,并提供該模擬音頻信號到混合器5。數(shù)字信號處理器2在音頻數(shù)據(jù)碼D1的接收與用于合奏的模擬音頻信號的對應(yīng)部分的發(fā)送之間引入250ms延遲。
      而再一個(gè)主要任務(wù)是確定從光盤驅(qū)動(dòng)器1提供的數(shù)據(jù)碼的種類,并且是在250ms的延遲內(nèi)進(jìn)行的。當(dāng)數(shù)據(jù)碼到達(dá)數(shù)字信號處理器2時(shí),數(shù)字信號處理器2分析該數(shù)據(jù)碼,并確定該數(shù)據(jù)碼的種類。當(dāng)數(shù)字信號處理器2作出該數(shù)據(jù)碼可用于音樂段的再現(xiàn)等的判斷時(shí),數(shù)字信號處理器2提供模擬音頻信號到混合器5。但是,如果數(shù)字信號處理器2作出另一個(gè)該數(shù)據(jù)碼僅是發(fā)出的噪聲的判斷,數(shù)字信號處理器2不提供模擬音頻信號到混合器5。數(shù)字信號處理器2向控制器3提供代表不適當(dāng)?shù)目刂菩盘枴?br> 還再一個(gè)主要任務(wù)是提供代表目錄數(shù)據(jù)的識別碼ID到控制器3。每個(gè)音樂光盤CD存儲(chǔ)用于鑒別各個(gè)光盤的盤識別碼C-ID和代表其中存儲(chǔ)的各段音樂的音樂識別碼M-ID。
      操縱板4連接到控制器3,并具有多個(gè)開關(guān)、指示燈和顯示窗。開關(guān)之一是電源開關(guān)。當(dāng)操作電源開關(guān)時(shí),音樂記錄器/播放器700被加電,或者從其去掉電源。另一個(gè)開關(guān)被用作指定操作模式,即,合奏模式或單音模式。用戶選擇性地操縱這些開關(guān),以便向音樂記錄器/播放器700給出他們的指令。音樂記錄器/播放器700通過指示燈和顯示窗通知用戶當(dāng)前的狀態(tài)、模式、和諸如要再現(xiàn)或者記錄的音樂的標(biāo)題的信息段。當(dāng)用戶指令音樂記錄器/播放器700播放時(shí),控制器3提供圖象傳送信號到面板,用于根據(jù)盤識別碼C-ID產(chǎn)生一些光盤CD的圖象。用戶假設(shè)選擇其中一個(gè)光盤CD,控制器3提供請求光盤驅(qū)動(dòng)器1傳送音樂識別碼的控制信號。數(shù)字信號處理器2從所選的光盤CD讀出音樂識別碼M-CD,并且數(shù)字信號處理器2傳送它們到控制器3。控制器3提供圖象傳送信號到操縱板4,并使操縱板4在顯示窗產(chǎn)生音樂成份的標(biāo)題。
      控制器3具有連接到數(shù)字信號處理器2、軟盤驅(qū)動(dòng)器8、操縱板4和MIDI碼發(fā)生器14的信號輸入端口。控制器3還具有連接到光盤驅(qū)動(dòng)器1、操縱板4、軟盤驅(qū)動(dòng)器8、混合器5和MIDI碼發(fā)生器14的信號輸出端口??刂破?與這些系統(tǒng)部件1、2、4、5、8和14進(jìn)行通信,并實(shí)現(xiàn)如下主要任務(wù)。
      第一主要任務(wù)是翻譯用戶的指令。用戶給出指令到操縱板4,并且這些指令信號從操縱板4提供給控制器3。控制器3分析指令信號,并確定要實(shí)現(xiàn)的主要任務(wù)。非常相關(guān)于本發(fā)明的指令是要求控制器3與從光盤的樂曲播放同步地記錄鍵盤11上的演奏。當(dāng)用戶指令控制器3與播放同步地記錄演奏時(shí),控制器3提供代表同步記錄的控制信號到光盤驅(qū)動(dòng)器1和軟盤驅(qū)動(dòng)器8。僅MIDI碼通過同步記錄存儲(chǔ)在軟盤FD上。這意味著音頻數(shù)據(jù)碼和時(shí)間碼D1/D2不記錄在軟盤FD上。
      第二主要任務(wù)是從MIDI碼發(fā)生器14傳送事件碼D3到軟盤驅(qū)動(dòng)器8和從數(shù)字信號處理器2傳送時(shí)間碼D2到軟盤驅(qū)動(dòng)器8。如上所述,每個(gè)時(shí)間碼D2的接收對時(shí)間碼D2的讀出延遲250ms。但是,事件碼D3延遲250ms到達(dá)軟盤驅(qū)動(dòng)器8用于產(chǎn)生對應(yīng)的鋼琴音。因此,事件碼D3與對應(yīng)的時(shí)間碼D2同時(shí)到達(dá)軟盤驅(qū)動(dòng)器8。
      鍵盤11具有黑/白鍵11a,并且鍵傳感器12設(shè)置在黑/白鍵11a的下面。鍵傳感器12分別監(jiān)視相連的黑/白鍵11a。鍵傳感器12產(chǎn)生代表相連的黑/白鍵11a的當(dāng)前位置的鍵位置信號。鍵位置信號從鍵傳感器12提供給MIDI碼發(fā)生器14。踏板(未示出)分別與踏板傳感器13相連,并產(chǎn)生代表當(dāng)前踏板位置的踏板位置信號。當(dāng)用戶選擇性地踏踏板時(shí),踏板傳感器13提供踏板位置信號到MIDI碼發(fā)生器14。
      MIDI碼發(fā)生器14在信號端口連接到鍵傳感器12和踏板傳感器13,并且周期地取得鍵位置信號和踏板位置信號。MIDI碼發(fā)生器14在內(nèi)部工作存儲(chǔ)器中存儲(chǔ)一系列每個(gè)黑/白鍵11a的當(dāng)前鍵位置和一系列每個(gè)踏板的當(dāng)前踏板位置,并分析存儲(chǔ)在工作存儲(chǔ)器中的數(shù)據(jù),看是否用戶移動(dòng)黑/白鍵11a的任何一個(gè)或各踏板的任何一個(gè),以及用戶是如何移動(dòng)黑/白鍵11a和踏板的。當(dāng)用戶既沒按下也沒釋放任何鍵/踏板,回答給出是否定的,并且MIDI碼發(fā)生器14繼續(xù)周期性取得鍵位置信號和踏板位置信號用于分析。當(dāng)MIDI碼發(fā)生器14發(fā)現(xiàn)用戶移動(dòng)黑/白鍵11a,MIDI碼發(fā)生器14確定分配給被移動(dòng)的黑/白鍵11a的音符號,并計(jì)算被移動(dòng)的黑/白鍵11a的速度。音符號對應(yīng)于一產(chǎn)生的音的調(diào),并且鍵的速度等效于該音的響度。MIDI碼發(fā)生器14產(chǎn)生對于移動(dòng)的鍵/踏板的MIDI碼。對于移動(dòng)的鍵11a的事件,即音符-通事件或音符-斷事件、鍵號和鍵速度以MIDI碼組被存儲(chǔ)。MIDI碼發(fā)生器14確定從以前事件逝去的時(shí)間,并且增加代表各事件之間的時(shí)間間隔的Δ時(shí)間碼。另一方面,當(dāng)MIDI碼發(fā)生器14發(fā)現(xiàn)用戶踏了各踏板中的一個(gè)時(shí),MIDI碼發(fā)生器14利用踏板號識別移動(dòng)的踏板,并確定移動(dòng)踏板的敲擊。如果需要,MIDI碼發(fā)生器14產(chǎn)生一組代表給予一個(gè)音或一些音的影響和從以前事件的時(shí)間間隔的MIDI碼。
      MIDI碼發(fā)生器14提供MIDI碼到鋼琴音發(fā)生器15和/或控制器3。在MIDI碼,即事件碼D3和Δ時(shí)間碼D4提供給鋼琴音發(fā)生器15的情況下,鋼琴音發(fā)生器15根據(jù)MIDI碼產(chǎn)生數(shù)字音信號,并變換數(shù)字音信號為模擬音頻信號。MIDI碼發(fā)生器14提供模擬音頻信號到混合器5。如果控制器3已指令MIDI碼發(fā)生器14發(fā)送MIDI碼到它那里,MIDI碼發(fā)生器14實(shí)時(shí)地提供事件碼D3到控制器3。
      混合器13具有連接到數(shù)字信號處理器2、控制器3和鋼琴音發(fā)生器15的信號輸入端口。數(shù)字信號處理器2提供已從音頻數(shù)據(jù)碼D1產(chǎn)生的模擬音頻信號到混合器5,并且鋼琴音發(fā)生器15提供已從事件碼D3產(chǎn)生的模擬音頻信號到混合器5?;旌掀?混合這些信號,并產(chǎn)生一個(gè)模擬音頻信號?;旌掀?提供該模擬音頻信號到放大器6。該模擬音頻信號被放大,并且然后被提供給揚(yáng)聲器7。該模擬信號通過揚(yáng)聲器7被變換為電子音。
      軟盤驅(qū)動(dòng)器8具有連接到控制器3的輸出/輸入端口的信號輸入/輸出端口。由軟盤驅(qū)動(dòng)器8實(shí)現(xiàn)的最重要的任務(wù)是同步記錄以便產(chǎn)生標(biāo)準(zhǔn)MIDI文件SMF。盤識別碼C-ID、音樂識別碼M-ID和MIDI碼MIDI都存儲(chǔ)在標(biāo)準(zhǔn)MIDI文件SMF中。圖10表示標(biāo)準(zhǔn)MIDI文件SMF的典型例子。標(biāo)準(zhǔn)MIDI文件SMF被分為首部塊HT和軌跡塊TT。諸如塊類型、盤識別碼C-ID和音樂識別碼M-ID之類的基本信息被存儲(chǔ)在首部塊HT中。另一方面,軌跡塊TT分配代表記錄在軟盤FD上的音樂段的MIDI碼MIDI。一組MIDI碼MIDI包括代表諸如系統(tǒng)的唯一事件、子事件等之類系統(tǒng)消息以及從MIDI碼發(fā)生器14提供的事件碼D3的事件碼。當(dāng)代表同步記錄開始的控制信號到達(dá)軟盤驅(qū)動(dòng)器8時(shí),軟盤驅(qū)動(dòng)器8開始一個(gè)時(shí)鐘。從接收到控制信號250ms時(shí),軟盤驅(qū)動(dòng)器8產(chǎn)生代表讀出音頻數(shù)據(jù)碼開始的事件碼D3a,并且存儲(chǔ)事件碼D3a到軌跡塊TT中。正如下面更詳細(xì)地描述的那樣,軟盤驅(qū)動(dòng)器8產(chǎn)生代表各個(gè)事件之間的時(shí)間間隔的Δ時(shí)間碼,并且作為軌跡塊的部分也存儲(chǔ)在軟盤FD中。控制器3可以產(chǎn)生代表系統(tǒng)消息的事件碼。
      由軟盤驅(qū)動(dòng)器8實(shí)現(xiàn)的另一個(gè)主要任務(wù)是改變存儲(chǔ)在每個(gè)Δ時(shí)間碼D4中的時(shí)間間隔。這意味著軟盤控制器8可以改變各事件碼D3之間的時(shí)間間隔。更詳細(xì)地,當(dāng)用戶在鍵盤上彈奏一段音樂時(shí),控制器3從MIDI碼發(fā)生器14傳送事件碼D3到軟盤驅(qū)動(dòng)器8。當(dāng)一個(gè)事件碼或一組事件碼D3到達(dá)軟盤驅(qū)動(dòng)器8時(shí),軟盤驅(qū)動(dòng)器8檢查時(shí)鐘,看該事件碼或一些事件碼D3離以前的事件碼或一些事件碼的距離有多長,并臨時(shí)確定事件之間的時(shí)間間隔。軟盤驅(qū)動(dòng)器8檢查通過控制器3傳送的時(shí)間碼D2,看在鍵盤上的彈奏與光盤CD的再現(xiàn)是否很好地同步。如果回答是肯定的,軟盤驅(qū)動(dòng)器8確定該時(shí)間間隔將被存儲(chǔ)在Δ時(shí)間碼D4中,并且寫Δ時(shí)間碼D4在軌跡塊TT中。另一方面,如果回答是否定的,軟盤驅(qū)動(dòng)器8改變時(shí)間間隔,并將其寫入Δ時(shí)間碼D4。因此,軟盤驅(qū)動(dòng)器8用作定時(shí)調(diào)節(jié)器。
      轉(zhuǎn)到圖11,軟盤驅(qū)動(dòng)器8包括控制器710。控制器710定義軟盤FD中的標(biāo)準(zhǔn)MIDI文件SMF,并且記錄上述碼在標(biāo)準(zhǔn)MIDI文件SMF中。再有,控制器710根據(jù)通過時(shí)鐘測量的逝去的時(shí)間與時(shí)間碼D2之間的差,修改Δ時(shí)間碼D4。時(shí)鐘發(fā)生器210包含在控制器3中,并且產(chǎn)生多個(gè)時(shí)鐘信號。時(shí)鐘信號之一是速度時(shí)鐘CT,并且速度時(shí)鐘CT被提供給控制器710和MIDI碼發(fā)生器14。MIDI碼發(fā)生器根據(jù)速度時(shí)鐘CT確定各事件之間的時(shí)間間隔。
      時(shí)鐘發(fā)生器210包括石英振蕩器、放大器和分頻器。石英振蕩器產(chǎn)生一個(gè)振蕩信號,并且該振蕩信號被放大器放大。放大的振蕩信號被提供給分頻器,并且分頻器從放大的振蕩信號中產(chǎn)生各時(shí)鐘信號。該各時(shí)鐘信號之一是速度時(shí)鐘CT。
      控制器710包括用作時(shí)鐘的累加器220、校正值計(jì)算器230、Δ時(shí)間計(jì)算器240和文件發(fā)生器250??刂破?連接到文件發(fā)生器250和校正值計(jì)算器230,并分別提供事件碼D3和Δ時(shí)間碼D4到文件發(fā)生器250和校正值計(jì)算器230。速度時(shí)鐘CT從時(shí)鐘發(fā)生器210提供給累加器220。
      累加器220包括加法器221和寄存器222。當(dāng)控制器3從數(shù)字信號處理器2接收到代表0的第一時(shí)間碼時(shí),控制器3寫0到寄存器222中,并且傳送該時(shí)間碼到校正值計(jì)算器230。接點(diǎn)[+1]的源連接到加法器221的各輸入結(jié)點(diǎn)之一,并且寄存器222連接到加法器221的另一個(gè)輸入結(jié)點(diǎn)。速度時(shí)鐘的總數(shù)N被提供給加法器221,并且加法器221對速度時(shí)鐘的總數(shù)N加1。加法器221的輸出結(jié)點(diǎn)連接到寄存器222,并且寄存器222響應(yīng)于速度時(shí)鐘CT鎖存加法器221的輸出信號。加法器221和寄存器222形成累加環(huán),并且響應(yīng)于速度時(shí)鐘CT對總數(shù)N加1。速度時(shí)鐘的總數(shù)N正比于從同步記錄開始以后250ms的逝去時(shí)間。因此,累加器用作時(shí)鐘。
      文件發(fā)生器250在控制器3的控制下。文件發(fā)生器250連接到Δ時(shí)間計(jì)算器240,并當(dāng)接收到一個(gè)事件碼或一組事件碼時(shí),提供代表Δ時(shí)間的計(jì)算的指令信號到Δ時(shí)間計(jì)算器240,以便Δ時(shí)間計(jì)算器240確定Δ時(shí)間,即以前事件與當(dāng)前接收的事件之間的時(shí)間間隔。Δ時(shí)間計(jì)算器240以Δ時(shí)間碼存儲(chǔ)Δ時(shí)間,并且提供Δ時(shí)間碼到文件發(fā)生器250。
      文件發(fā)生器250還通過驅(qū)動(dòng)電路(未示出)連接到寫入頭260??刂破?提供盤識別碼C-ID和音樂識別碼M-ID到文件發(fā)生器250,并且文件發(fā)生器250通過寫入頭260寫盤識別碼C-ID和音樂識別碼M-ID到軟盤FD中的首部塊HT中。文件發(fā)生器250產(chǎn)生代表從光盤CD讀出音頻碼的開始的事件碼D3a。文件發(fā)生器250在接收代表同步記錄開始的控制信號后250ms,產(chǎn)生事件碼D3a。當(dāng)用戶彈奏鍵盤11時(shí),控制器3從MIDI碼發(fā)生器14向文件發(fā)生器250間歇地傳送事件碼D3,并且傳送其它事件碼到文件發(fā)生器250。當(dāng)事件碼或各個(gè)事件碼到達(dá)文件發(fā)生器250時(shí),文件發(fā)生器250提供指令信號到Δ時(shí)間計(jì)算器240。Δ時(shí)間計(jì)算器240產(chǎn)生Δ時(shí)間碼,并如上所述提供Δ時(shí)間碼到文件發(fā)生器250。文件發(fā)生器250寫事件碼D3a、從控制器3提供的各事件碼和Δ時(shí)間碼到軟盤FD中的軌跡塊中。
      Δ時(shí)間計(jì)算器240連接到累加器220、校正值計(jì)算器230和文件發(fā)生器250,并且包括寄存器241和242。當(dāng)代表同步記錄開始的控制信號到達(dá)控制器710時(shí),寄存器241和242被初始化,并且在兩個(gè)寄存器241和242中寫0。Δ時(shí)間計(jì)算器240從文件發(fā)生器250接收指令信號的時(shí)間被存儲(chǔ)在寄存器241中。以前的指令時(shí)間作為速度時(shí)鐘數(shù)Nf存儲(chǔ)在寄存器241中。當(dāng)指令信號到達(dá)Δ時(shí)間計(jì)算器240時(shí),Δ時(shí)間計(jì)算器240從寄存器222讀出速度時(shí)鐘數(shù)N,并計(jì)算時(shí)間間隔(N-Nf)。Δ時(shí)間計(jì)算器240保持寄存器241中的速度時(shí)鐘數(shù)N作為以前指令的時(shí)間Nf。另一方面,另一個(gè)寄存器242被分配給也以速度時(shí)鐘數(shù)形式寫入的校正值R。校正值R代表時(shí)鐘,即累加器220與根據(jù)時(shí)間碼D2確定的逝去時(shí)間之間的差。校正值R是從校正值計(jì)算器230提供的,并且Δ時(shí)間計(jì)算器240加校正值R到時(shí)間間隔(N-Nf),以便確定Δ時(shí)間,即(N-Nf+R)。Δ時(shí)間計(jì)算器240以Δ時(shí)間碼存儲(chǔ)Δ時(shí)間,并提供Δ時(shí)間碼到文件發(fā)生器250。
      校正值計(jì)算器230連接到累加器220和Δ時(shí)間計(jì)算器240,并且確定校正值R。校正值R代表通過揚(yáng)聲器7再現(xiàn)的一段音樂的部分與通過電子鋼琴10產(chǎn)生的該段音樂的另一部分之間的時(shí)間差。校正值計(jì)算器230通過執(zhí)行如圖12所示的計(jì)算機(jī)程序確定校正值R。
      時(shí)間碼D2假設(shè)到達(dá)校正值計(jì)算器230。校正值計(jì)算器230在步驟S0開始計(jì)算機(jī)程序,并在內(nèi)部寄存器中(未示出)存儲(chǔ)時(shí)間碼D2。如通過步驟S1時(shí)間碼D2存儲(chǔ)從音頻碼的讀出開始的逝去時(shí)間TCD。
      接著,校正值計(jì)算器230從寄存器222讀出速度時(shí)鐘數(shù)N,并且如通過步驟S2變換數(shù)N為逝去時(shí)間TFD。速度時(shí)鐘CT具有脈沖周期τ,并且逝去時(shí)間TFD由(N×τ)給出。
      校正值計(jì)算器230確定逝去時(shí)間TCD與逝去時(shí)間TFD之間差的絕對值,并且如通過步驟S3比較絕對值|TCD-TFD|與余量Δ,看是否絕對值|TCD-TFD|小于余量Δ。當(dāng)絕對值|TCD-TFD|小于余量Δ時(shí),在步驟S3的回答為肯定,并且校正值計(jì)算器230確定校正值R為0。然后,如通過步驟S4校正值計(jì)算器230在寄存器242中寫0,并從計(jì)算機(jī)程序退出。
      另一方面,絕對值|TCD-TFD|大于余量Δ,在步驟S3的回答為否定,并且校正值計(jì)算器230檢查逝去時(shí)間TCD和逝去時(shí)間TFD,如通過步驟S5看是否通過電子鋼琴10產(chǎn)生的部分滯后于通過揚(yáng)聲器7再現(xiàn)的部分。
      通過電子鋼琴10產(chǎn)生的部分假設(shè)滯后于通過揚(yáng)聲器7再現(xiàn)的部分。逝去時(shí)間TCD大于逝去時(shí)間TFD,并且在步驟S5的回答為肯定。然后,校正值計(jì)算器230用脈沖周期τ除為負(fù)值的差TFD-TCD,并且寫其乘積,即(TCD-TFD)/τ到寄存器242中作為校正值R。因?yàn)楸怀龜?shù)(TCD-TFD)和除數(shù)τ一個(gè)是負(fù)值和一個(gè)是正值,乘積(TCD-TFD)/τ為負(fù)值。如通過步驟S6校正值計(jì)算器230在寄存器242中寫校正值(>0)。當(dāng)Δ時(shí)間計(jì)算器240加校正值R到時(shí)間間隔(N-Nf)用于確定Δ時(shí)間,即(N-Nf+R)時(shí),時(shí)間間隔(N-Nf)被縮短,并且Δ時(shí)間碼使下一個(gè)音符-通事件趕上通過揚(yáng)聲器7產(chǎn)生的音。
      另一方面,如果通過電子鋼琴10產(chǎn)生的部分提前于通過揚(yáng)聲器7再現(xiàn)的部分,在步驟S5的回答是否定的,校正值計(jì)算器230用脈沖周期τ除為正值的差TFD-TCD,并且寫乘積,即(TCD-TFD)/τ到寄存器242中作為校正值R。因?yàn)楸怀龜?shù)(TCD-TFD)和除數(shù)τ都是正的,乘積(TCD-TFD)/τ為正值。正如通過步驟S7校正值計(jì)算器230在寄存器242中寫校正值(<0)。當(dāng)Δ時(shí)間計(jì)算器240加校正值R到時(shí)間間隔(N-Nf)用于確定Δ時(shí)間時(shí),即(N-Nf+R),時(shí)間間隔(N-Nf)被延長,并且Δ時(shí)間碼使通過揚(yáng)聲器7產(chǎn)生的音趕上下一個(gè)音符-通事件。
      在步驟S6或S7,校正值計(jì)算器230寫校正值,校正值計(jì)算器230在步驟S8結(jié)束該任務(wù)。
      下面參照圖13對同步記錄作出描述。從光盤CD讀出的時(shí)間碼表示在第一行,并且在時(shí)間0、0.25秒、0.50秒、…讀出時(shí)間碼
      、
      、
      、…。因此,時(shí)間碼[k](k=0、0.25秒、0.50秒、…)按0.25秒、即250ms的間隔讀出。從光盤CD讀出的音頻數(shù)據(jù)表示為a
      、a
      、a
      、…,并且音頻數(shù)據(jù)碼a[k](k=0、0.25、0.50、…)代表時(shí)間[k]與時(shí)間[k+1]之間讀出的音頻數(shù)據(jù)碼。從光盤CD讀出的音頻數(shù)據(jù)碼a[k]表示在圖13的第二行。音頻數(shù)據(jù)碼a[k]被變換為模擬音頻信號,并且第三行中的a[k](k=0、0.25、0.50、…)代表對應(yīng)于模擬音頻信號部分的音頻數(shù)據(jù)碼。第四行被分配給存儲(chǔ)在寄存器222中的值。在同步記錄開始后250ms,控制器710在寄存器中寫0。為此,在指令以后0.25秒發(fā)生r
      。事件碼ME-1、ME-2、ME-3代表響應(yīng)于在鍵盤上彈奏從MIDI碼發(fā)生器14提供的各事件碼。
      現(xiàn)在假設(shè)用戶指令音樂記錄器/播放器同步地記錄他或者她在鍵盤上的演奏與在光盤CD中的一段音樂的播放。用戶裝入軟盤FD到軟盤驅(qū)動(dòng)器8。用戶選擇光盤CD,并指定要再現(xiàn)的一段音樂??刂破?對光盤驅(qū)動(dòng)器1給出準(zhǔn)備的指令。光盤驅(qū)動(dòng)器1從光盤CD中讀出盤識別碼C-ID和音樂識別碼M-ID,并將它們通過數(shù)字信號處理器2提供給控制器3??刂破?提供盤識別碼C-ID和音樂識別碼M-ID到文件發(fā)生器250。文件發(fā)生器250寫包含盤識別碼C-ID和音樂識別碼M-ID的控制數(shù)據(jù)信息段到標(biāo)準(zhǔn)MIDI文件SMF的首部塊HT中。
      當(dāng)完成首部塊HT時(shí),音樂記錄器/播放器作好同步記錄的準(zhǔn)備,并通知用戶就緒狀態(tài)。用戶通過操縱板4指令控制器3開始同步記錄。然后,控制器3向光盤驅(qū)動(dòng)器1給出代表同步記錄開始的控制信號,并且控制信號在時(shí)間碼
      到達(dá)光盤驅(qū)動(dòng)器1。首先在[k]和[k+1]之間的時(shí)間間隔從光盤CD讀出時(shí)間碼
      和音頻數(shù)據(jù)碼
      。數(shù)字信號處理器2檢查接收的碼a
      ,看接收的碼是否是音頻數(shù)據(jù)碼。隨著肯定的回答,數(shù)字信號處理器2向控制器3提供代表接收碼的種類即沒有任何MIDI碼的音頻數(shù)據(jù)碼的控制信號,并且控制器3允許數(shù)字信號處理器2連續(xù)給出的任務(wù)。
      數(shù)字信號處理器2變換音頻數(shù)據(jù)碼a
      為模擬音頻信號的開始部分,并在接收音頻數(shù)據(jù)碼a
      后250ms提供模擬音頻數(shù)據(jù)信號的開始部分到混合器5。數(shù)字信號處理器2在接收時(shí)間碼
      后也等待250ms。當(dāng)延遲時(shí)間過后,數(shù)字信號處理器2提供時(shí)間碼
      到控制器3。
      當(dāng)控制器3接收時(shí)間碼
      時(shí),控制器3產(chǎn)生同步記錄的指令信號給軟盤驅(qū)動(dòng)器8,并且寫r
      到寄存器222。累加器220立即遞增存儲(chǔ)在寄存器222中的值??刂破?同時(shí)傳送時(shí)間碼
      到校正值計(jì)算器230。校正值計(jì)算器230檢查時(shí)間碼
      ,看是否逝去時(shí)間等于0。第一時(shí)間碼k
      存儲(chǔ)0,并且給出肯定回答。校正值計(jì)算器230忽略第一時(shí)間碼
      ,并且不計(jì)算校正值R。
      光盤驅(qū)動(dòng)器1重復(fù)從光盤CD讀出數(shù)據(jù),引入延遲,產(chǎn)生模擬音頻信號并傳送時(shí)間碼[k]到控制器3。模擬音頻信號從混合器5通過放大器6傳到揚(yáng)聲器7,并且通過揚(yáng)聲器7產(chǎn)生各個(gè)電子音。
      當(dāng)數(shù)字信號處理器2通過控制器3傳送時(shí)間碼
      到校正值計(jì)算器230時(shí),校正值計(jì)算器230確定存儲(chǔ)在寄存器222中的值N,并根據(jù)值N和時(shí)間碼
      確定校正值R。如果差大于余量Δ,校正值計(jì)算器230在寄存器222中寫有限校正值R。光盤驅(qū)動(dòng)器1連續(xù)讀出音頻數(shù)據(jù)碼a[k],并且按250ms間隔間歇地讀出時(shí)間碼[k]。軟盤驅(qū)動(dòng)器8提供音頻數(shù)據(jù)碼a[k]和時(shí)間碼[k]到數(shù)字信號處理器2,并且數(shù)字信號處理器2重復(fù)上述任務(wù)。結(jié)果,形成一段音樂的一部分的電子音通過揚(yáng)聲器7產(chǎn)生,并且如果需要,校正值計(jì)算器在寄存器242中重寫校正值R。
      用戶開始彈奏,并且MIDI碼發(fā)生器14在[1.00]、[1.50]、[2.00]、…通過控制器3提供事件碼ME-1、ME-2、ME-3到軟盤驅(qū)動(dòng)器8。當(dāng)事件碼ME-1、ME-2、ME-3到達(dá)文件發(fā)生器250時(shí),并且文件發(fā)生器250請求Δ時(shí)間計(jì)算器240產(chǎn)生Δ時(shí)間碼。Δ時(shí)間計(jì)算器240確定Δ時(shí)間,并提供代表事件碼ME-1和ME-2、ME-2和ME-3、…之間的間隔的Δ時(shí)間碼到文件發(fā)生器250。文件發(fā)生器250借助于寫入頭260寫事件碼ME-1、ME-2、ME-3和Δ時(shí)間碼到標(biāo)準(zhǔn)MIDI文件SMF的軌跡塊TT。
      正如將從上述描述中理解的那樣,軟盤驅(qū)動(dòng)器8不根據(jù)各個(gè)事件之間的實(shí)際時(shí)間間隔,內(nèi)部產(chǎn)生Δ時(shí)間碼。軟盤驅(qū)動(dòng)器8周期性地檢查存儲(chǔ)在累加器222中的逝去時(shí)間和時(shí)間碼,看彈奏的與播放的一段音樂是否確實(shí)同步,并確定滯后或超前的量。因此,根據(jù)以系列時(shí)間碼存儲(chǔ)的逝去時(shí)間確定Δ時(shí)間碼。為此,當(dāng)與光盤CD同步地再現(xiàn)在鍵盤上的演奏時(shí),演奏很好地與樂曲的播放進(jìn)行合奏。
      再有,兩個(gè)聲道,即右和左聲道可用于音頻數(shù)據(jù)碼和時(shí)間碼。通過揚(yáng)聲器7再現(xiàn)立體聲,并且演奏的再現(xiàn)與播放之間的合奏給出音樂會(huì)大廳現(xiàn)場的效果。
      如果用戶希望播放他或她的演奏,音樂記錄器/播放器從存儲(chǔ)在軟盤FD中的MIDI碼再現(xiàn)其演奏。
      在標(biāo)準(zhǔn)MIDI文件SMF中存儲(chǔ)MIDI碼。如果用戶同步地執(zhí)行存儲(chǔ)在不同光盤CD上的多個(gè)樂節(jié),音樂記錄器/播放器利用存儲(chǔ)在首部塊TT中的盤識別碼C-ID,容易地選擇為每個(gè)樂節(jié)的各光盤CD之一。
      在這種情況下,電子鋼琴11和光盤驅(qū)動(dòng)器1分別用作第一數(shù)據(jù)源和第二數(shù)據(jù)源??刂破?、時(shí)鐘發(fā)生器210、累加器220、校正值計(jì)算器230和Δ時(shí)間計(jì)算器240作為一個(gè)整體構(gòu)成控制系統(tǒng)。文件發(fā)生器250和寫入頭260組合形成記錄系統(tǒng)。
      第二實(shí)施例實(shí)施本發(fā)明的另一種音樂記錄器/播放器包括與音樂記錄器/播放器700類似的兩個(gè)音樂數(shù)據(jù)源、同步音樂記錄器720和音樂播放器。音樂數(shù)據(jù)源和音樂播放器類似于音樂記錄器/播放器700,并且除軟盤驅(qū)動(dòng)器722外,同步音樂記錄器720類似于同步音樂記錄器702。為此,下面僅對軟盤驅(qū)動(dòng)器722進(jìn)行描述。當(dāng)我們在下面的描述中涉及到其它部件時(shí),這些部件標(biāo)以音樂記錄器/播放器700對應(yīng)的部件的標(biāo)號。
      軟盤驅(qū)動(dòng)器722也具有信息處理能力,并包括控制器724和寫入頭726??刂破?24連接到控制器3,并且根據(jù)時(shí)間碼內(nèi)部產(chǎn)生Δ時(shí)間碼。各個(gè)事件碼是通過控制器3從MIDI碼發(fā)生器14提供的,并且借助于寫入頭726將事件碼和Δ時(shí)間碼寫入軟盤。
      控制器724包括累加器730、Δ時(shí)間計(jì)算器732、文件發(fā)生器734和調(diào)節(jié)器736。文件發(fā)生器734類似于文件發(fā)生器250,并在下文不再進(jìn)一步描述以避免重復(fù)。
      累加器730也包括加法器221和寄存器222,并且與累加器220類似,遞增速度時(shí)鐘CT的總數(shù)N。總數(shù)N表示從同步記錄開始的逝去時(shí)間。累加器220與730之間的差別是調(diào)節(jié)器736可以重寫速度時(shí)鐘CT的總數(shù)N,正如將在下文更詳細(xì)地描述的那樣。
      Δ時(shí)間計(jì)算器732僅包括被分配以前的事件碼或一些事件碼到達(dá)文件發(fā)生器734時(shí)速度時(shí)鐘CT的總數(shù)Nf的寄存器241。Δ時(shí)間計(jì)算器732確定總數(shù)N與總數(shù)Nf之間的差,并以Δ時(shí)間碼存儲(chǔ)該差,即各事件之間的間隔。Δ時(shí)間計(jì)算器732提供Δ時(shí)間碼到文件發(fā)生器734。
      當(dāng)時(shí)間碼從控制器3傳送時(shí),調(diào)節(jié)器736比較根據(jù)總數(shù)N計(jì)算的逝去時(shí)間與以時(shí)間碼存儲(chǔ)的逝去時(shí)間,看是否逝去時(shí)間的差落在預(yù)定余量Δ內(nèi)。如果差值小于余量Δ,調(diào)節(jié)器736不進(jìn)行任何調(diào)節(jié)工作。另一方面,如果差大于余量Δ,調(diào)節(jié)器736重寫總數(shù)N,以便消除逝去時(shí)間之間的差。
      圖15表示調(diào)節(jié)器736執(zhí)行的計(jì)算機(jī)程序。假設(shè)時(shí)間碼D2到達(dá)調(diào)節(jié)器736。調(diào)節(jié)器736在步驟S10開始計(jì)算機(jī)程序,并在內(nèi)部寄存器(未示出)中存儲(chǔ)時(shí)間碼D2。如通過步驟S11時(shí)間碼D2存儲(chǔ)從讀出音頻碼開始的逝去時(shí)間TCD。
      接著,調(diào)節(jié)器736從寄存器222讀出速度時(shí)鐘的總數(shù)N,并如通過步驟S12變換數(shù)N為從同步記錄開始的逝去時(shí)間TFD。速度時(shí)鐘CT具有脈沖周期τ,并且逝去時(shí)間TFD按(N×τ)給出。
      調(diào)節(jié)器736確定逝去時(shí)間TCD與逝去時(shí)間TFD之間差的絕對值,并如通過步驟S13比較絕對值|TCD-TFD|與余量Δ,看是否絕對值|TCD-TFD|小于余量Δ。當(dāng)絕對值|TCD-TFD|小于余量Δ時(shí),如通過步驟S13給出肯定的回答,并如通過步驟S14調(diào)節(jié)器736退出計(jì)算機(jī)程序。
      另一方面,絕對值|TCD-TFD|大于余量Δ時(shí),如通過步驟S13給出否定的回答,如通過步驟S15,調(diào)節(jié)器736比較逝去時(shí)間TCD與逝去時(shí)間TFD,看是否內(nèi)部時(shí)鐘,即累加器730延遲于以時(shí)間碼存儲(chǔ)的時(shí)間。
      假設(shè)內(nèi)部時(shí)鐘延遲于以時(shí)間碼存儲(chǔ)的逝去時(shí)間。逝去時(shí)間TCD大于逝去時(shí)間TFD,并且如通過步驟S15給出肯定的回答。然后,調(diào)節(jié)器736用脈沖周期τ除絕對值|TFD-TCD|,并加乘積即|TCD-TFD|/τ到總數(shù)N。如通過步驟S16,和被寫入寄存器222中。因此,用時(shí)間碼設(shè)置內(nèi)部時(shí)鐘。調(diào)節(jié)器736在步驟S14退出計(jì)算機(jī)程序。
      另一方面,如果內(nèi)部時(shí)鐘提前,步驟S15的回答是否定的,校正值計(jì)算器230用脈沖周期τ除絕對值|TCD-TFD|,并從總數(shù)N減去乘積即|TCD-TFD|/τ。調(diào)節(jié)器736如步驟S17將差值(N-|TCD-TFD|/τ)寫入寄存器222中,這樣,用時(shí)間碼設(shè)置內(nèi)部時(shí)鐘。調(diào)節(jié)器736在步驟S14退出計(jì)算機(jī)程序。
      當(dāng)用戶指令控制器3與存儲(chǔ)在光盤CD中的一段音樂同步地記錄他或她的演奏時(shí),音樂記錄器/播放器根據(jù)總數(shù)N和Nf之間的差內(nèi)部產(chǎn)生Δ時(shí)間碼,并在標(biāo)準(zhǔn)MIDI文件SMF中存儲(chǔ)事件碼和Δ時(shí)間碼。調(diào)節(jié)器736周期檢查內(nèi)部時(shí)鐘,看是否逝去時(shí)間Nτ近似等于以時(shí)間碼存儲(chǔ)的逝去時(shí)間。當(dāng)逝去時(shí)間Nτ超前或滯后時(shí),調(diào)節(jié)器利用時(shí)間碼設(shè)置內(nèi)部時(shí)鐘。結(jié)果,以Δ時(shí)間碼存儲(chǔ)的時(shí)間間隔基于以時(shí)間碼存儲(chǔ)的逝去時(shí)間,并且從事件碼再現(xiàn)的各個(gè)音與從音頻碼再現(xiàn)的立體聲音很好地合奏。
      第三實(shí)施例圖16表示實(shí)施本發(fā)明的再另一種音樂記錄器/播放器800。音樂記錄器/播放器800大致包括兩個(gè)音樂數(shù)據(jù)源802/804、同步音樂記錄器806和同步音樂播放器808。在這個(gè)例子中,一個(gè)音樂數(shù)據(jù)源802是光盤驅(qū)動(dòng)器,并且另一個(gè)音樂數(shù)據(jù)源804是利用自動(dòng)播放鋼琴810實(shí)現(xiàn)的。光盤驅(qū)動(dòng)器802具有信息處理能力,并且自動(dòng)播放鋼琴810和光盤驅(qū)動(dòng)器802不僅用作音樂數(shù)據(jù)源802/804,而且還用作同步音樂播放器808的一部分。
      光盤驅(qū)動(dòng)器802和自動(dòng)播放鋼琴810都連接到同步音樂記錄器806,并且還都連接到同步音樂播放器808。當(dāng)用戶彈奏自動(dòng)播放鋼琴810時(shí),自動(dòng)播放鋼琴810產(chǎn)生一種音樂數(shù)據(jù)碼,并提供該種音樂數(shù)據(jù)碼到同步音樂記錄器806。另一種音樂數(shù)據(jù)碼是從光盤驅(qū)動(dòng)器802提供給同步音樂記錄器806的。雖然兩種音樂數(shù)據(jù)碼都要求時(shí)間碼,但是一種音樂數(shù)據(jù)碼要求的時(shí)間碼與形成另一種音樂數(shù)據(jù)碼的一部分要求的時(shí)間碼在含義上是不同的。同步音樂記錄器806根據(jù)內(nèi)部時(shí)鐘指示的時(shí)間,為一種音樂數(shù)據(jù)碼內(nèi)部產(chǎn)生時(shí)間碼,并且在信息存儲(chǔ)介質(zhì)上與一種音樂數(shù)據(jù)碼一起存儲(chǔ)該時(shí)間碼。
      當(dāng)同步音樂記錄器806在信息存儲(chǔ)介質(zhì)上正在記錄音樂數(shù)據(jù)碼和內(nèi)部產(chǎn)生的時(shí)間碼時(shí),同步音樂記錄器806周期檢查內(nèi)部時(shí)鐘,看是否時(shí)間基本與以從光盤驅(qū)動(dòng)器802提供的時(shí)間碼存儲(chǔ)的時(shí)間一樣。當(dāng)時(shí)間超前或滯后于與相應(yīng)的時(shí)間碼存儲(chǔ)的時(shí)間時(shí),同步音樂記錄器806利用相應(yīng)的時(shí)間碼設(shè)置內(nèi)部時(shí)鐘。因此,同步音樂記錄器806將一種音樂數(shù)據(jù)碼和內(nèi)部產(chǎn)生的時(shí)間碼與由另一種音樂數(shù)據(jù)碼表示的一段音樂的播放同步地記錄在信息存儲(chǔ)介質(zhì)上。同步音樂記錄器806的操作類似于同步音樂記錄器702。
      當(dāng)用戶指令音樂播放器播放合奏時(shí),同步音樂播放器808獨(dú)立地開始從信息存儲(chǔ)介質(zhì)讀出一種音樂數(shù)據(jù)碼和時(shí)間碼,并從另一種信息存儲(chǔ)介質(zhì)讀出另一種音樂數(shù)據(jù)碼和時(shí)間碼。同步音樂播放器808變換一種音樂數(shù)據(jù)碼的時(shí)間碼為含義上與另一種音樂數(shù)據(jù)碼的時(shí)間碼相同的時(shí)間碼,并且比較由變換的時(shí)間碼指示的時(shí)間與由相應(yīng)時(shí)間碼指示的時(shí)間,看兩個(gè)時(shí)間碼是否指示相同的時(shí)間。如果回答是否定的,同步音樂播放器808重寫以一種音樂數(shù)據(jù)碼的時(shí)間碼存儲(chǔ)的時(shí)間。結(jié)果,根據(jù)一種音樂數(shù)據(jù)碼再現(xiàn)的各音與根據(jù)另一種音樂數(shù)據(jù)碼再現(xiàn)的音同步地再現(xiàn)。在一種音樂數(shù)據(jù)碼與另一種音樂數(shù)據(jù)碼表示一段音樂的不同部分的情況下,同步音樂播放器按合奏方式播放該段音樂。
      自動(dòng)播放鋼琴810包括聲學(xué)鋼琴812、螺線管操作的鍵/踏板致動(dòng)器814、螺線管驅(qū)動(dòng)器816、鍵傳感器818、踏板傳感器820和控制器822。在這個(gè)例子中,聲學(xué)鋼琴812由標(biāo)準(zhǔn)大鋼琴實(shí)現(xiàn)。直立式鋼琴可以用作聲學(xué)鋼琴812。聲學(xué)鋼琴812包括鍵盤824和踏板826。用戶指定通過鍵盤824產(chǎn)生的音調(diào)名稱,并且通過踏踏板826延長和縮短各個(gè)音。
      鍵傳感器818設(shè)置在鍵盤824下,并連接到控制器822。鍵傳感器818分別監(jiān)視連著的各黑/白鍵。當(dāng)用戶按各黑/白鍵時(shí),連著的鍵傳感器818產(chǎn)生代表在所按鍵的軌跡上的當(dāng)前鍵位置的鍵位置信號,并提供鍵位置信號到控制器822。當(dāng)用戶釋放所按鍵時(shí),鍵傳感器818通過鍵位置信號通知控制器822該釋放。
      踏板傳感器820分別提供給各踏板826,并連接到控制器822。用戶假設(shè)踏踏板826之一。連著的踏板傳感器產(chǎn)生代表在其軌跡上的當(dāng)前踏板位置的踏板信號,并提供踏板信號到控制器822。
      控制器822包括MIDI碼發(fā)生器828??刂破?22周期取得存儲(chǔ)在鍵/踏板位置信號中的鍵/踏板位置數(shù)據(jù),并將其存儲(chǔ)在工作存儲(chǔ)器(未示出)??刂破?22周期檢查工作存儲(chǔ)器,看是否用戶按或踏了鍵/踏板824/826的任何之一。在用戶按了黑/白鍵的情況下,發(fā)生音符-通事件??刂破?22指定所按的鍵,并且計(jì)算鍵的速度??刂破?22通知MIDI碼發(fā)生器828分配給所按鍵的音符號和鍵速度,并指令MIDI碼發(fā)生器828產(chǎn)生代表音符-通事件、音符號和速度的各個(gè)事件碼。另一方面,如果用戶釋放了所按的鍵,發(fā)生音符-斷事件??刂破?指定分配給釋放鍵的音符號,并指令MIDI碼發(fā)生器828產(chǎn)生代表音符-斷事件和音符號的事件碼。
      當(dāng)用戶踏踏板826之一時(shí),發(fā)生踏板-通事件??刂破?22指定該踏板,并確定踏板下沉的深度??刂破?22指令MIDI碼發(fā)生器828產(chǎn)生事件碼或者一些事件碼。當(dāng)用戶釋放所踏的踏板時(shí),發(fā)生踏板-斷事件,并且控制器822指令MIDI碼發(fā)生器828產(chǎn)生事件碼。MIDI碼發(fā)生器828還產(chǎn)生每個(gè)代表一個(gè)事件與以前事件之間的時(shí)間間隔的Δ時(shí)間碼。
      螺線管操作的鍵/踏板致動(dòng)器被提供給黑/白鍵824和踏板826,并移動(dòng)相連的各個(gè)鍵/踏板??刂破?22累連接到驅(qū)動(dòng)器電路816,并且驅(qū)動(dòng)器電路816連接到螺線管操作的鍵/踏板致動(dòng)器814。當(dāng)同步音樂播放器806提供事件碼到控制器822時(shí),控制器822分析事件碼,并確定被按下或者釋放的黑/白鍵824和踏板826。當(dāng)音符-通事件的時(shí)間到來時(shí),控制器822通知驅(qū)動(dòng)器電路816分配的音符號的要按的黑/白鍵和鍵速度,并且指令驅(qū)動(dòng)器電路816用適當(dāng)驅(qū)動(dòng)電壓信號給相連的螺線管操作的鍵致動(dòng)器814加電。然后,驅(qū)動(dòng)器電路提供驅(qū)動(dòng)電壓信號到相連的螺線管操作的鍵致動(dòng)器814,并且螺線管操作的鍵致動(dòng)器814凸出活塞用于移動(dòng)相連的鍵。當(dāng)音符-斷事件的時(shí)間到來時(shí),控制器822指令驅(qū)動(dòng)器電路816從螺線管操作的鍵致動(dòng)器814去掉驅(qū)動(dòng)電壓信號。因此,控制器822指令驅(qū)動(dòng)器電路816選擇性地向黑/白鍵824和踏板826提供和從其去掉驅(qū)動(dòng)電壓信號。黑/白鍵824和踏板826被選擇性地移動(dòng)用于產(chǎn)生鋼琴音。
      同步音樂記錄器806包括數(shù)字信號處理器832、控制器834、操縱板836和軟盤驅(qū)動(dòng)器838。數(shù)字信號處理器832、控制器834和操縱板836在同步音樂記錄器806和同步音樂播放器808之間共享。數(shù)字信號處理器832、控制器834、操縱板836和軟盤驅(qū)動(dòng)器838與包含在同步音樂記錄器702中的2、3、4和8的操作相似。為此,為了簡化的緣故下文不再進(jìn)一步描述。
      如上所述,自動(dòng)播放鋼琴810形成同步音樂播放器808的一部分。同步音樂播放器808還包括與同步音樂記錄器806共享的光盤驅(qū)動(dòng)器802、數(shù)字信號處理器832、控制器834和操縱板836,。同步音樂播放器808的其他部件是軟盤驅(qū)動(dòng)器842、混合器844、放大器846、揚(yáng)聲器848、合奏音發(fā)生器850和鋼琴音發(fā)生器852。軟盤驅(qū)動(dòng)器842具有信息處理能力。在同步音樂播放器808中包含4個(gè)聲音源。第一聲音源是自動(dòng)播放鋼琴810,即聲學(xué)鋼琴812、螺線管操作的鍵致動(dòng)器814、驅(qū)動(dòng)器電路816和控制器822。數(shù)字信號處理器832、混合器844、放大器846和揚(yáng)聲器848組合形成第二聲音源,并且控制器834、合奏音發(fā)生器850、混合器844、放大器846和揚(yáng)聲器848作為一個(gè)整體構(gòu)成第三聲音源。第四聲音源是通過組合控制器822、鋼琴音發(fā)生器852、混合器844、放大器846和揚(yáng)聲器848實(shí)現(xiàn)的。鋼琴音發(fā)生器852或兩個(gè)樂音發(fā)生器850/852可以形成自動(dòng)播放鋼琴852的各個(gè)部分。
      合奏音發(fā)生器850根據(jù)事件碼產(chǎn)生數(shù)字音頻信號。各個(gè)事件碼被從控制器834提供給合奏音發(fā)生器850,于是合奏音發(fā)生器850根據(jù)各個(gè)事件碼產(chǎn)生數(shù)字音頻信號。數(shù)字音頻信號被反饋到控制器834,并且被變換為模擬音頻信號。模擬音頻信號被提供給混合器844,并到達(dá)揚(yáng)聲器前被放大器846放大。因?yàn)榛旌掀?44具有數(shù)字信號端口,數(shù)字音頻信號可以直接從合奏音發(fā)生器850提供給混合器844?;旌掀?44混合以數(shù)字和模擬形式提供給它的所有音樂數(shù)據(jù)段。
      可以指令控制器834通過控制器822提供事件碼到鋼琴音發(fā)生器852或驅(qū)動(dòng)器電路816。鋼琴音發(fā)生器852根據(jù)各個(gè)事件碼產(chǎn)生數(shù)字音頻信號,并提供數(shù)字音頻信號到混合器844的數(shù)字信號端口。鋼琴音發(fā)生器852可以具有數(shù)-模變換能力。在這個(gè)例子中,鋼琴音發(fā)生器852提供給混合器844一個(gè)模擬音頻信號,而不是數(shù)字音頻信號。另外,驅(qū)動(dòng)器電路816選擇性地提供驅(qū)動(dòng)電壓信號到螺線管操作的鍵/踏板致動(dòng)器814,并且螺線管操作的鍵/踏板致動(dòng)器814播放聲學(xué)鋼琴812。
      數(shù)字信號處理器832從通過光盤驅(qū)動(dòng)器802由光盤提供的音頻數(shù)據(jù)碼產(chǎn)生模擬音頻信號,并提供模擬音頻信號到混合器844。
      要使用的聲音源或各聲音源是要由用戶通過操縱板836指令的。在用戶選擇自動(dòng)播放鋼琴810的情況下,控制器834傳送事件碼到控制器822,并且控制器822指令驅(qū)動(dòng)器電路816加電與所選黑/白鍵824之一相連的螺線管操作的鍵/踏板致動(dòng)器814,用于通過音條振動(dòng)產(chǎn)生聲學(xué)音。信號傳播和機(jī)械作用延遲聲學(xué)音。在這個(gè)例子中,對于信號傳播和機(jī)械作用要求500ms。為了與通過揚(yáng)聲器848再現(xiàn)的電子音同步產(chǎn)生聲學(xué)音,同步音樂播放器808在讀出音頻數(shù)據(jù)碼與提供模擬音頻信號到混合器844之間引入500ms的延遲。聲音源832/844/846/848在讀出音頻數(shù)據(jù)碼后立即產(chǎn)生電子音。這意味著對于聲音源832/844/846/848與自動(dòng)播放鋼琴810之間的合奏要求500ms的延遲。
      在這個(gè)例子中,延遲是按如下引入的。光盤驅(qū)動(dòng)器802在軟盤驅(qū)動(dòng)器842的250ms后開始數(shù)據(jù)讀出,并且數(shù)字信號處理器832在接收音頻數(shù)據(jù)碼與產(chǎn)生模擬音頻信號之間引入250ms延遲。即,一半延遲是由控制器834引入的,而另一半延遲是由數(shù)字信號處理器832引入的。
      軟盤驅(qū)動(dòng)器842響應(yīng)于開始讀出MIDI碼的控制信號,使得MIDI碼可以間歇地提供給控制器834。當(dāng)從軟盤FD讀出Δ時(shí)間碼D4時(shí),軟盤驅(qū)動(dòng)器842對于由Δ時(shí)間碼D4指示的時(shí)間間隔保持空閑,并從軟盤FD讀出下一個(gè)事件碼或一些事件碼。軟盤驅(qū)動(dòng)器842重復(fù)空閑和數(shù)據(jù)讀出,直至該音樂結(jié)束。因此,軟盤驅(qū)動(dòng)器842起到音序器的作用。
      軟盤驅(qū)動(dòng)器842還期望用作定時(shí)調(diào)節(jié)器。圖17表示軟盤驅(qū)動(dòng)器842的電路組成。用于定時(shí)調(diào)節(jié)器作用的軟盤驅(qū)動(dòng)器842包括事件緩沖器848、Δ時(shí)間寄存器846、累加器848/850、發(fā)送控制852和調(diào)節(jié)器854。累加器848是由加法器856和寄存器858的組合實(shí)現(xiàn)的,并且加法器860和寄存器構(gòu)成另一個(gè)累加器850。
      事件碼或碼D3和Δ時(shí)間碼D4分別選擇性地從軟盤FD提供給事件緩沖器844和Δ時(shí)間寄存器846,并分別存儲(chǔ)在事件緩沖器844和Δ時(shí)間寄存器846中。Δ時(shí)間碼D4可以接著多于一個(gè)事件碼。事件緩沖器844具有大到足以存儲(chǔ)所有事件碼的存儲(chǔ)容量。Δ時(shí)間碼D4的值等于在一個(gè)事件與下一個(gè)事件之間計(jì)數(shù)的速度時(shí)鐘CT的數(shù)目。事件緩沖器844連接到控制器834的三態(tài)緩沖器,并且Δ時(shí)間寄存器846連接到累加器848和調(diào)節(jié)器854。
      發(fā)送控制852有兩個(gè)連接到累加器848和調(diào)節(jié)器854的輸入端口,并且比較代表傳送事件碼或碼D3的目標(biāo)時(shí)間的累加總數(shù)M與存儲(chǔ)在寄存器862中的數(shù)N′,看是否事件碼或碼D3要被傳送到控制器834。當(dāng)數(shù)N′達(dá)到累加總數(shù)M時(shí),給出肯定的回答,并且發(fā)送控制852改變使能信號和鎖存控制信號為有效電平,并提供有效的使能/鎖存控制信號到控制器834和Δ時(shí)間寄存器,和累加總數(shù)寄存器846/858。發(fā)送控制852可以向Δ時(shí)間寄存器846和寄存器858提供寫入時(shí)鐘信號而非鎖存控制信號。
      累加器848累加各時(shí)間間隔,即Δ時(shí)間碼D4的值,并提供累加總數(shù)M到發(fā)送控制852。每個(gè)Δ時(shí)間碼D4代表在事件與下一個(gè)事件之間計(jì)數(shù)的empo時(shí)鐘CT的數(shù)目,于是累加總數(shù)也由從MIDI碼讀出開始計(jì)數(shù)的empo時(shí)鐘總數(shù)代表。加法器856有分別連接到Δ時(shí)間寄存器846和累加總數(shù)的寄存器858的輸入端口,并且輸出端口連接到累加總數(shù)的寄存器858。因此,加法器856和寄存器858形成累加環(huán)。當(dāng)用戶指令控制器834開始同步播放時(shí),寄存器858被復(fù)位為0。當(dāng)軟盤驅(qū)動(dòng)器842讀出MIDI碼時(shí),軟盤FD間歇提供Δ時(shí)間碼D4到Δ時(shí)間寄存器846。當(dāng)數(shù)N′達(dá)到累加總數(shù)M時(shí),發(fā)送控制852改變鎖存控制信號為有效電平。利用有效鎖存控制信號,下一個(gè)Δ時(shí)間碼D4被存儲(chǔ)在Δ時(shí)間寄存器846中,并被立即傳送到加法器856用于累加。加法器856加Δ時(shí)間到累加總數(shù)M上,并在有效電平的鎖存控制信號出現(xiàn)時(shí),新的累加總數(shù)M被存儲(chǔ)在寄存器858中。
      另一個(gè)累加器850計(jì)數(shù)empo時(shí)鐘CT。加法器860具有分別連接到恒定值“+1”的源和寄存器862的兩個(gè)輸入端口,并且加法器860的輸出端口連接到寄存器862。加法器860寄存器862形成累加環(huán)。加法器860連接到寄存器862的輸入端口還連接到調(diào)節(jié)器854和發(fā)送控制852,并且empo時(shí)鐘CT被提供給寄存器862作為鎖存控制信號。當(dāng)用戶指令控制器834再現(xiàn)合奏時(shí),寄存器862被復(fù)位為0。加法器860加1,并響應(yīng)于empo時(shí)鐘CT在寄存器862中存儲(chǔ)總數(shù)。因此,empo時(shí)鐘CT的數(shù)N′被存儲(chǔ)在寄存器862中,并且被提供給調(diào)節(jié)器854和發(fā)送控制852。
      調(diào)節(jié)器854連接到控制器834、累加器850和Δ時(shí)間寄存器846。時(shí)間碼D2通過數(shù)字信號處理器832和控制器834從光盤CD傳送到調(diào)節(jié)器854,并且累加器850提供累加的empo時(shí)鐘CT數(shù)N′到調(diào)節(jié)器854。調(diào)節(jié)器854實(shí)現(xiàn)如下兩個(gè)主要任務(wù)。
      調(diào)節(jié)器854首先通過用empo時(shí)鐘CT的脈沖周期乘以N′數(shù),即(N′×τ′),計(jì)算從讀出MIDI碼開始的逝去時(shí)間。如上所述,對應(yīng)于MIDI碼的音頻數(shù)據(jù)/時(shí)間碼D1/D2被延遲500ms。為了使一個(gè)時(shí)鐘的標(biāo)度盤等于另一個(gè)時(shí)鐘的標(biāo)度盤,調(diào)節(jié)器854從逝去時(shí)間(N′×τ′)減500ms,并確定從第一音頻數(shù)據(jù)碼D1到達(dá)控制器834的逝去時(shí)間TFD′,即{(N′×τ′)-500}。
      由調(diào)節(jié)器854實(shí)現(xiàn)的第二任務(wù)是設(shè)置時(shí)鐘提前或滯后。由時(shí)間碼D2代表的逝去時(shí)間被標(biāo)注為“TCD”。首先,調(diào)節(jié)器854檢查時(shí)間碼D2,看逝去時(shí)間TCD′是否大于0。當(dāng)回答是否定時(shí),調(diào)節(jié)器854重復(fù)這種檢查。當(dāng)時(shí)間碼代表的逝去時(shí)間大于0時(shí),回答變?yōu)榭隙?。由于肯定的回答,調(diào)節(jié)器854比較逝去時(shí)間TFD′與逝去時(shí)間TCD′,看逝去時(shí)間TCD′是大于、等于、還是小于逝去時(shí)間TFD′。在逝去時(shí)間TFD′不同于逝去時(shí)間TCD′的情況下,調(diào)節(jié)器854進(jìn)一步檢查逝去時(shí)間的TFD′/TCD′,看是否其差DF落入預(yù)定余量MG內(nèi)。根據(jù)如下的回答,調(diào)節(jié)器854前進(jìn)到不同的步驟。
      情況1TFD′=TCD′或|DF|<MG調(diào)節(jié)器854設(shè)置既不超前也不滯后的時(shí)鐘。從軟盤FD間歇地提供Δ時(shí)間碼D4到Δ時(shí)間寄存器846,并在寄存器858中累加。當(dāng)速度時(shí)鐘CT總數(shù)N′達(dá)到累加總數(shù)M時(shí),發(fā)送控制852改變使能信號和鎖存控制信號為有效電平。利用有效電平的使能信號,事件碼或碼D3被鎖存在控制器834的三態(tài)緩沖器中,并且下一個(gè)Δ時(shí)間碼D4在累加器846中進(jìn)行累加。
      情況2TCD′>TFD′和|DF|>MG通過自動(dòng)播放鋼琴810再現(xiàn)的部分延遲于通過揚(yáng)聲器848產(chǎn)生的部分。通過用脈沖周期τ′除差DF,調(diào)節(jié)器854變換時(shí)間滯后,即差DF為速度時(shí)鐘CT的數(shù)DN。乘積(TCD′-TFD′)/τ′等效于延遲。調(diào)節(jié)器854從Δ時(shí)間寄存器846取Δ時(shí)間碼D4,并從Δ時(shí)間碼D4的值ND4減去數(shù)DN。
      接著,調(diào)節(jié)器854檢查計(jì)算結(jié)果,看是否差{ND4-(TCD′-TFD′)/τ′}是正數(shù)。當(dāng)回答是肯定時(shí),調(diào)節(jié)器854在Δ時(shí)間寄存器846中寫該差。由Δ時(shí)間碼D4代表的時(shí)間間隔被縮短。調(diào)節(jié)器854提供Δ時(shí)間碼D4到寄存器846,于是存儲(chǔ)在寄存器846中的Δ時(shí)間碼D4表示小于以前數(shù)的數(shù)。當(dāng)Δ時(shí)間碼D4在寄存器858中累加時(shí),發(fā)送控制852早于以前的時(shí)間安排發(fā)送事件碼或碼D3到控制器834。這個(gè)導(dǎo)致消除了延遲。兩部分通過自動(dòng)播放鋼琴810和揚(yáng)聲器848同步地再現(xiàn)。
      另一方面,如果差是負(fù)數(shù),給出否定的回答。在這種情況下,調(diào)節(jié)器241用正數(shù)α除以乘積(TCD′-TFD′)/τ′,并從Δ時(shí)間碼的值ND4減去(TCD′-TFD′)/τ′α。如果正數(shù)是2,則差給出為{ND4-(TCD′-TFD′)/2τ′}。調(diào)節(jié)器854檢查計(jì)算結(jié)果,看差是否是正數(shù)。當(dāng)回答是肯定的時(shí),調(diào)節(jié)器854寫差{ND4-(TCD′-TFD′)/2τ′}到Δ時(shí)間寄存器846中,并保持另一半即(TCD′-TFD′)/2τ′在內(nèi)部寄存器(未示出)中。調(diào)節(jié)器854將從下一個(gè)Δ時(shí)間中減去該另一半。因此,調(diào)節(jié)器854逐步消除時(shí)間延遲,以便使兩部分彼此同步。如果差{ND4-(TCD′-TFD′)/2τ′}仍然是負(fù)的。調(diào)節(jié)器854增加除數(shù),并且重復(fù)上述步驟。
      情況3TCD′<TFD′和|DF|>MG在這種情況下,通過自動(dòng)播放鋼琴810再現(xiàn)的部分提前于通過揚(yáng)聲器848再現(xiàn)的部分差DF,即TFD′-TCD′。調(diào)節(jié)器854首先通過用脈沖周期τ′除以差DF,變換該時(shí)間,即差DF為速度時(shí)鐘CT的數(shù)DN。乘積(TFD′-TCD′)/τ′等效于通過自動(dòng)播放鋼琴810再現(xiàn)部分提前的時(shí)間。調(diào)節(jié)器854從Δ時(shí)間寄存器846取Δ時(shí)間碼D4,并加DN到Δ時(shí)間碼D4的值ND4上。調(diào)節(jié)器854寫差{ND4+(TFD′-TCD′)/τ′}到Δ時(shí)間寄存器846中。由Δ時(shí)間碼D4代表的時(shí)間間隔被延長。調(diào)節(jié)器854提供Δ時(shí)間碼D4到寄存器846,使存儲(chǔ)在寄存器846中的Δ時(shí)間碼D4代表大于以前的數(shù)的數(shù)。當(dāng)Δ時(shí)間碼D4被在寄存器858中累加時(shí),發(fā)送控制852延遲事件碼或者碼D3的發(fā)送。這個(gè)導(dǎo)致通過自動(dòng)播放鋼琴810和揚(yáng)聲器848的同步再現(xiàn)兩部分。
      現(xiàn)在假設(shè)用戶指令同步音樂播放器808通過聲音源832/844/846/848和自動(dòng)播放鋼琴810播放合奏,控制器834提供代表同步播放的控制信號到軟盤驅(qū)動(dòng)器842。軟盤驅(qū)動(dòng)器842從軟盤FD中開始讀出MIDI碼,并立即提供該MIDI碼到控制器834。在開始讀出MIDI碼后250ms,音頻數(shù)據(jù)碼讀出開始的事件碼D3a達(dá)到控制器834,并且控制器834指令光盤驅(qū)動(dòng)器802利用控制信號開始讀出音頻數(shù)據(jù)碼和時(shí)間碼。因此,延遲的一半被控制器834取消。
      光盤驅(qū)動(dòng)器802從光盤CD讀出音頻數(shù)據(jù)碼D1和時(shí)間碼D2,并提供音頻數(shù)據(jù)碼D1和時(shí)間碼D2到數(shù)字信號處理器832。數(shù)字信號處理器832在音頻數(shù)據(jù)/時(shí)間碼D1/D2的接收與模擬音頻信號的產(chǎn)生/傳送到控制器834之間引入250ms的延遲。因此,另一半延遲由數(shù)字信號處理器832取消。數(shù)字信號處理器832分析接收的碼,看是否它們是音頻數(shù)據(jù)碼D1。如果回答是否定的,數(shù)字信號處理器832通知控制器834,接收的碼不適于產(chǎn)生模擬音頻信號??刂破?34通過顯示窗給用戶告警消息。當(dāng)給出肯定的回答時(shí),數(shù)字信號處理器832從音頻數(shù)據(jù)碼D1中產(chǎn)生模擬音頻信號,并提供時(shí)間碼D2到控制器834。
      控制器834傳送時(shí)間碼D2到調(diào)節(jié)器854,并且如果需要,調(diào)節(jié)器854改變以時(shí)間碼D4存儲(chǔ)的速度時(shí)鐘CT的數(shù)目。因此,軟盤驅(qū)動(dòng)器842調(diào)節(jié)事件碼D3的傳送為正確的定時(shí),在該定時(shí)要通過自動(dòng)播放鋼琴810再現(xiàn)的部分與要通過揚(yáng)聲器848產(chǎn)生的部分同步。
      模擬音頻信號通過混合器844和放大器846提供給揚(yáng)聲器,并且通過揚(yáng)聲器848產(chǎn)生電子音。另一方面,事件碼D3從控制器834傳送到控制器822,并且控制器834確定由活塞跟蹤的軌跡。控制器834指令驅(qū)動(dòng)電路816加電與所選各黑/白鍵和各踏板相連的螺線管操作的鍵/踏板致動(dòng)器814,使得螺線管操作的鍵/踏板致動(dòng)器814沿軌跡移動(dòng)活塞,并且通過聲學(xué)鋼琴812產(chǎn)生鋼琴音。
      圖18表示合奏的播放。用戶指令同步音樂播放器808在第一音或多個(gè)音開始一段音樂。間歇從光盤CD讀出的時(shí)間碼D2指示逝去時(shí)間,并且逝去時(shí)間是從0到0.25、0.50、0.75、1.00、1.25、…遞增的,如圖18的第一行所示。換言之,各個(gè)時(shí)間碼按250ms的間隔插入軟盤。從光盤讀出的音頻數(shù)據(jù)碼表示為a[k](k=0、0.25、0.50、0.75、1.00、1.25、…),并且如圖18的第二行所看到的那樣。從讀出音頻數(shù)據(jù)碼開始的逝去時(shí)間表示為[k]。從時(shí)間[k]和時(shí)間[k+1]從光盤CD讀出音頻數(shù)據(jù)碼a[k]。如上所述,數(shù)字信號處理器832在從接收到音頻數(shù)據(jù)碼a[k]250ms后,從音頻數(shù)據(jù)碼a[k]產(chǎn)生模擬音頻信號。為此,在第三行的音頻數(shù)據(jù)碼a[k]延遲于在第二行的音頻數(shù)據(jù)碼a[k]250ms。如圖18第四行所示,MIDI碼m[r]提前于對應(yīng)的音頻數(shù)據(jù)碼a[k]250ms。從讀出MIDI碼開始的逝去時(shí)間[r]由N′τ表示,并且MIDI碼ME-1、ME-2、ME-3的傳送按1.00秒、1.50秒和2.00秒安排。換言之,m[1.00]、m[1.50]和m[2.00]與ME-1、ME-2、ME-3相同。自動(dòng)播放鋼琴810根據(jù)事件碼m[r]產(chǎn)生鋼琴音,并且如第五行所示根據(jù)MIDI碼m[r]的鋼琴音延遲于對應(yīng)的MIDI碼m[r]500ms。時(shí)間[k]延遲于對應(yīng)的時(shí)間[r]250ms。
      用戶指令同步音樂播放器808通過第二聲音源832/844/846/848和自動(dòng)播放鋼琴810播放合奏。控制器834提供代表MIDI碼讀出開始的控制信號到軟盤驅(qū)動(dòng)器842。然后,軟盤驅(qū)動(dòng)器842立即從軟盤FD開始讀出MIDI碼,在圖18中被標(biāo)以“開始軟盤”,并且累加器850開始遞增empo時(shí)鐘CT的數(shù)N′。從軟盤FD讀出MIDI碼m
      、m
      、m
      、…,并且在0、0.25秒、0.50秒、…被傳送到控制器834。同步音樂播放要求500ms用于信號傳送和機(jī)械動(dòng)作。為此,第一鋼琴音在r=0.50秒產(chǎn)生,它對應(yīng)于K=0.25。
      光盤驅(qū)動(dòng)器802仍不動(dòng)作,并且不從光盤CD中讀出任何時(shí)間碼。調(diào)節(jié)器854也不進(jìn)行定時(shí)調(diào)節(jié)。
      從開始250ms后,事件碼D3a從軟盤驅(qū)動(dòng)器842傳送到控制器834,并且控制器842提供代表音頻碼讀出開始的控制信號到光盤驅(qū)動(dòng)器802。光盤驅(qū)動(dòng)器802開始讀出音頻碼和時(shí)間碼,如在圖18中標(biāo)以“開始C.D.”。
      在0與0.25秒之間從光盤CD中讀出音頻數(shù)據(jù)碼a
      ,并且被提供給數(shù)字信號處理器832。數(shù)字信號處理器直至250ms期滿后才產(chǎn)生模擬音頻信號,并檢查接收的碼,看是否它們是音頻數(shù)據(jù)碼。當(dāng)肯定回答時(shí),數(shù)字信號處理器832開始從音頻數(shù)據(jù)碼產(chǎn)生模擬音頻信號,并通過混合器844和放大器846提供模擬音頻信號到揚(yáng)聲器848。模擬音頻信號通過揚(yáng)聲器848變換為電子音,并且在K=0.25產(chǎn)生第一電子音。因此,第一電子音是與第一鋼琴音同時(shí)產(chǎn)生的。與對應(yīng)于a[1.00]和a[2.00]的電子音同時(shí)產(chǎn)生對應(yīng)于MIDI碼ME-1和ME-2的鋼琴音。
      當(dāng)從光盤CD中讀出時(shí)間碼(0.25)時(shí),時(shí)間碼(0.25)被提供給數(shù)字信號處理器832,并且數(shù)字信號處理器832在從光盤驅(qū)動(dòng)器802到控制器834的傳播中引入250ms的延遲。控制器834傳送時(shí)間碼(0.25)到軟盤驅(qū)動(dòng)器842,并且如上所述調(diào)節(jié)器854開始定時(shí)調(diào)節(jié)。每當(dāng)時(shí)間碼到達(dá),調(diào)節(jié)器854都重復(fù)定時(shí)調(diào)節(jié)。這意味著對應(yīng)于MIDI碼m
      、m
      …的鋼琴音是與對應(yīng)于音頻數(shù)據(jù)碼a
      、a
      、a
      …的電子音同步產(chǎn)生的。
      正如從上述描述所理解的,按照本發(fā)明的同步音樂記錄器/播放器根據(jù)用以時(shí)間碼D2存儲(chǔ)的逝去時(shí)間周期性調(diào)節(jié)的逝去時(shí)間Nτ,內(nèi)部產(chǎn)生Δ時(shí)間碼,并在信息存儲(chǔ)介質(zhì)上記錄事件碼和Δ時(shí)間碼。另外,同步音樂記錄器/播放器從信息存儲(chǔ)介質(zhì)和另一個(gè)信息存儲(chǔ)介質(zhì)讀出MIDI碼和音頻/時(shí)間碼,并且分別提供事件碼和音頻信號到聲音源832/844/846/848和聲音源810。
      雖然已對本發(fā)明的具體實(shí)施例進(jìn)行了表示和描述,對于本領(lǐng)域技術(shù)人員將十分清楚,在不脫離本發(fā)明的精神和范圍的情況下可以作出各種改變和修改。
      對于音樂播放器來說任何種類的復(fù)合樂器都是可用的。無聲小提琴,即聲學(xué)小提琴和電子音發(fā)生系統(tǒng)的組合是復(fù)合樂器的例子。另外一個(gè)例子是電子喇叭。裝備聲音發(fā)生器的個(gè)人計(jì)算機(jī)可以形成音樂播放器的一部分,并且音樂組成部分可以安裝在個(gè)人計(jì)算機(jī)上。
      雖然250ms的延遲對某些樂器是合適的,但另外有些樂器則引入短于或長于250ms的延遲。為此,根據(jù)樂器250ms的延遲是可變的。數(shù)字信號處理器引入對樂器適合的延遲到音頻/時(shí)間碼的傳播中。
      關(guān)于信息存儲(chǔ)介質(zhì)方案,光盤CD和軟盤FD不設(shè)置任何限制。任何種類的易失或非易失存儲(chǔ)器都可以用于按照本發(fā)明的音樂播放器。非易失存儲(chǔ)器的例子是磁光盤。硬盤、CD-ROM、RAM和諸如記憶棒和智能存儲(chǔ)器之類的可移動(dòng)存儲(chǔ)器都可用于按照本發(fā)明的音樂播放器和/或音樂再現(xiàn)器。音頻碼D1和時(shí)間碼D2可以存儲(chǔ)在軟盤中。音頻數(shù)據(jù)碼和時(shí)間碼D1/D2和/或MIDI碼可以通過個(gè)人/公用通信信道從數(shù)據(jù)庫提供。
      音樂播放器可以在工廠中與自動(dòng)播放鋼琴組合。制造商銷售作為合奏使用的自動(dòng)播放器。
      第三實(shí)施例的修改在小型盤驅(qū)動(dòng)器624與控制器4之間可以具有數(shù)字信號處理器3。在這個(gè)例子中,數(shù)字信號處理器引入延遲到向控制器的傳播中,并且從音頻數(shù)據(jù)碼產(chǎn)生模擬音頻信號。
      電子鋼琴可以用無聲鋼琴代替,即在聲學(xué)鋼琴、音錘制動(dòng)器和電子音系統(tǒng)之間的組合。按照本發(fā)明的音樂記錄器/播放器可以分為音樂播放器和音樂記錄器,其每個(gè)可以單獨(dú)出售和獨(dú)立使用。
      按照本發(fā)明的音樂記錄器可以與任何種類的組合樂器或裝有傳感器的聲學(xué)樂器相組合。電子弦樂器、電子管樂器、和電子打擊樂器是復(fù)合樂器的例子。當(dāng)使用聲學(xué)弦樂器時(shí),傳感器變換弦的振動(dòng)為數(shù)字碼。另外一種傳感器可以變換空氣的振動(dòng)為數(shù)字碼。另外,諸如活塞或鍵操縱的動(dòng)作可以變換為數(shù)字碼。
      個(gè)人計(jì)算機(jī)系統(tǒng)可以用作MIDI碼的源。用戶在合適的計(jì)算機(jī)程序的輔助下,在顯示單元上寫樂譜,并且個(gè)人計(jì)算機(jī)以MIDI碼形式表示一段樂譜。MIDI碼可以從個(gè)人計(jì)算機(jī)提供給按照本發(fā)明的音樂記錄器,并且該樂譜被與存儲(chǔ)在光盤上一段音樂的播放同步地記錄在外部存儲(chǔ)器上。
      按照本發(fā)明的同步音樂記錄器可以在工廠中連同諸如光盤驅(qū)動(dòng)器1和音樂播放器之類的其它數(shù)據(jù)源一起安裝在電子鋼琴10中。裝備同步音樂記錄器、其它數(shù)據(jù)源和音樂播放器的電子鋼琴可以作為用于合奏的電子鋼琴進(jìn)行銷售。
      代表讀出音頻數(shù)據(jù)碼開始的事件碼D3a對于自動(dòng)播放鋼琴與諸如數(shù)字信號處理器和聲音系統(tǒng)之類的聲音源之間的合奏是方便的。但是,事件碼D3a并不是本發(fā)明必不可少的特征。500ms延遲可以通過使用插入在從諸如軟盤驅(qū)動(dòng)器之類的數(shù)據(jù)源和揚(yáng)聲器之間的信號傳播路徑中的延遲電路來引入。同步音樂播放器如圖19所示。同步音樂播放器的系統(tǒng)部件標(biāo)以與上述對應(yīng)的系統(tǒng)部件相同的標(biāo)號。差別之一是MIDI碼是從控制器3′向音發(fā)生器15提供的。音發(fā)生器15變換MIDI碼為數(shù)字音信號,該信號又被變換為模擬音頻信號。另一個(gè)差別是控制器3′獨(dú)立地提供控制信號到光盤驅(qū)動(dòng)器1和軟盤驅(qū)動(dòng)器8。這意味著軟盤FD不存儲(chǔ)代表音頻數(shù)據(jù)碼讀出開始的事件碼D3a。而再一個(gè)差別是延遲時(shí)間是從0到一個(gè)有限值時(shí)間可變的。數(shù)字信號處理器2引入給定值的延遲到時(shí)間數(shù)據(jù)碼的傳播中,并且變換為模擬音頻信號。在這個(gè)例子中,兩個(gè)電子音都是通過揚(yáng)聲器9產(chǎn)生的。
      權(quán)利要求
      1.一種用于彼此同步地產(chǎn)生第一種聲音和第二種聲音的音樂播放器,包括第一數(shù)據(jù)源(2/FD),輸出第一種音樂數(shù)據(jù),該第一種音樂數(shù)據(jù)含有代表第一音的第一音樂數(shù)據(jù)信息段(D3)和第一時(shí)間數(shù)據(jù)信息段(D4),第一時(shí)間數(shù)據(jù)信息段的每段代表所述第一時(shí)間數(shù)據(jù)信息段之一與下一段第一時(shí)間數(shù)據(jù)信息之間的時(shí)間間隔;第二數(shù)據(jù)源(1/CD),輸出第二種音樂數(shù)據(jù),該第二種音樂數(shù)據(jù)含有代表第二音的第二音樂數(shù)據(jù)信息段(D1)和第二時(shí)間數(shù)據(jù)信息段(D2),第二時(shí)間數(shù)據(jù)信息段的每段代表從起點(diǎn)的逝去時(shí)間;第一聲音源(15),被提供所述第一音樂數(shù)據(jù)信息段(D3),用于產(chǎn)生所述第一音;和第二聲音源(3/13/6/7),被提供所述第二音樂數(shù)據(jù)信息段(D1),用于產(chǎn)生所述第二音,其特征在于還包括控制系統(tǒng)(2/4/5),連接到所述第一數(shù)據(jù)源(2/FD)、所述第二數(shù)據(jù)源(1/CD)、所述第一聲音源(15)和所述第二聲音源(3/13/6/7),所述控制系統(tǒng)(2/4/5)產(chǎn)生參考標(biāo)度,根據(jù)該參考標(biāo)度定義所述逝去時(shí)間和所述時(shí)間間隔中的一個(gè),所述參考標(biāo)度在含義上與所述逝去時(shí)間和所述時(shí)間間隔的另一個(gè)相同,所述控制系統(tǒng)(2/4/5)比較所述逝去時(shí)間和所述時(shí)間間隔的另一個(gè)和所述參考標(biāo)度,看其間的差是否可以忽略,當(dāng)回答是否定的時(shí),所述控制系統(tǒng)(2/4/5)改變所述逝去時(shí)間和所述時(shí)間間隔中的一個(gè)或所述參考標(biāo)度;在所述逝去時(shí)間和所述時(shí)間間隔的另一個(gè)和所述參考標(biāo)度比較之后,一旦改變的或未改變的所述逝去時(shí)間和所述時(shí)間間隔之一期滿,所述控制系統(tǒng)(2/4/5)輸出有關(guān)的第一音樂數(shù)據(jù)信息段和第二音樂數(shù)據(jù)信息段之一,以及所述控制系統(tǒng)(2/4/5)還輸出所述第一音樂數(shù)據(jù)信息段和第二音樂數(shù)據(jù)信息段的另一個(gè)。
      2.權(quán)利要求1所述的音樂播放器,其中,所述參考標(biāo)度代表從輸出所述第一種音樂數(shù)據(jù)的首部的參考逝去時(shí)間,于是所述控制部件比較所述逝去時(shí)間與所述參考逝去時(shí)間。
      3.權(quán)利要求2所述的音樂播放器,其中所述第一種音樂數(shù)據(jù)是由MIDI(樂器數(shù)字接口)標(biāo)準(zhǔn)定義的數(shù)字碼表示的,于是所述第一音樂數(shù)據(jù)信息段和所述第一時(shí)間數(shù)據(jù)信息段分別以事件碼(D3)和Δ時(shí)間碼(D4)被存儲(chǔ),并且所述第二種音樂數(shù)據(jù)由用于光盤(CD)定義的數(shù)字碼表示,于是所述第二音樂數(shù)據(jù)信息段和所述第二時(shí)間數(shù)據(jù)信息段分別以音頻數(shù)據(jù)碼(D1)和時(shí)間碼(D2)被存儲(chǔ)。
      4.權(quán)利要求3所述的音樂播放器,其中,所述第一聲音源包括具有多個(gè)用于指定所述第一音的音調(diào)的操縱器(14)和多個(gè)用于不用人彈奏的移動(dòng)操縱器的致動(dòng)器(14a)的聲學(xué)樂器(12),和被提供所述事件碼用于選擇性加電所述多個(gè)致動(dòng)器(14a)的控制器(9/11)。
      5.權(quán)利要求4所述的音樂播放器,其中,所述聲學(xué)樂器是鋼琴(12)。
      6.權(quán)利要求3所述的音樂播放器,其中,所述各事件碼的一個(gè)(D3a)代表輸出所述音頻數(shù)據(jù)碼(D1)和所述時(shí)間碼(D2)的開始,于是當(dāng)接收到所述事件碼的所述一個(gè)(D3a)時(shí),控制系統(tǒng)(2/3//4)指令所述第二數(shù)據(jù)源(1/CD)輸出所述音頻數(shù)據(jù)碼(D1)和所述時(shí)間碼(D2)。
      7.權(quán)利要求6所述的音樂播放器,其中,所述各事件碼的一個(gè)(D3a)被存儲(chǔ)在對應(yīng)于一個(gè)時(shí)間間隔的位置,以便取消直至產(chǎn)生相關(guān)的一個(gè)所述第一音而由每個(gè)所述事件碼(D3)消耗的第一時(shí)間周期,與直至產(chǎn)生相關(guān)的一個(gè)所述第二音而由每個(gè)所述音頻數(shù)據(jù)(D1)消耗的第二時(shí)間周期之間的時(shí)間差的一部分。
      8.權(quán)利要求3所述的音樂播放器,其中,所述第二聲音源(3/13/6/7)變換所述音頻數(shù)據(jù)碼(D1)為音頻信號,用于從所述音頻信號產(chǎn)生所述第二音。
      9.權(quán)利要求2所述的音樂播放器,其中,所述控制系統(tǒng)包括寄存器(203),連接到所述第一數(shù)據(jù)源(2/FD)并響應(yīng)控制信號,以便存儲(chǔ)從所述第一數(shù)據(jù)源(2/FD)提供的每個(gè)所述第一時(shí)間數(shù)據(jù)信息段(D4);緩沖器(202),連接到所述第一數(shù)據(jù)源(2/FD)并存儲(chǔ)所述每個(gè)第一時(shí)間數(shù)據(jù)信息段(D4)和下一個(gè)第一時(shí)間數(shù)據(jù)信息段(D4)之間的第一音樂數(shù)據(jù)信息段(D3);累加器(211),連接到所述寄存器(203)并響應(yīng)控制信號,以便連續(xù)累加所述第一時(shí)間數(shù)據(jù)信息段,用于更新傳送存儲(chǔ)在所述緩沖器(202)中的第一音樂數(shù)據(jù)信息段(D3)的定時(shí)(M);時(shí)鐘(221),連接到周期信號CT的源(201)并用該周期信號(CT)遞增所述參考逝去時(shí)間;調(diào)節(jié)器(241),連接到所述第二數(shù)據(jù)源(1/CD)、所述時(shí)鐘(221)和所述寄存器(203),被提供所述參考逝去時(shí)間(N)和每個(gè)所述第二時(shí)間數(shù)據(jù)信息段(D2),看是否所述逝去時(shí)間與所述參考逝去時(shí)間(N)之間的差可以忽略,并且當(dāng)給出的回答是否定時(shí),改變由每個(gè)所述第一時(shí)間數(shù)據(jù)信息段(D4)指示的值;和發(fā)送控制(230),連接到所述累加器(211)和所述時(shí)鐘(221),比較所述參考逝去時(shí)間(N)與所述定時(shí),看是否所述參考逝去時(shí)間(N)達(dá)到所述定時(shí)(M)并當(dāng)給出的回答是肯定的時(shí),傳送所述第一音樂數(shù)據(jù)信息段(D3)到所述第一聲音源(15)。
      10.權(quán)利要求9所述的音樂播放器,其中,所述周期信號是時(shí)鐘信號(CT),利用該時(shí)鐘信號定義所述時(shí)間間隔。
      11.權(quán)利要求2所述的音樂播放器,其中所述控制系統(tǒng)包括寄存器(203),連接到所述第一數(shù)據(jù)源(2/FD)并響應(yīng)控制信號,以便存儲(chǔ)從所述第一數(shù)據(jù)源(2/FD)提供的所述第一時(shí)間數(shù)據(jù)信息段(D3);緩沖器(202),連接到所述第一數(shù)據(jù)源(2/FD)并存儲(chǔ)每個(gè)所述第一時(shí)間數(shù)據(jù)信息段(D4)與下一個(gè)所述第一時(shí)間數(shù)據(jù)信息段(D4)之間的第一音樂數(shù)據(jù)信息段(D3);累加器(211),連接到所述寄存器(203)并響應(yīng)控制信號,以便連續(xù)累加所述第一時(shí)間數(shù)據(jù)信息段(D4),用于更新傳送存儲(chǔ)在所述緩沖器(202)中的第一音樂數(shù)據(jù)信息段(D3)到所述第一聲音源(15)的定時(shí)(M);時(shí)鐘(221),連接到周期信號(CT)的源(201)并且用所述周期信號(CT)遞增所述參考逝去時(shí)間(N);調(diào)節(jié)器(614),連接到所述第二數(shù)據(jù)源(1/CD)和所述時(shí)鐘(221),被提供所述參考逝去時(shí)間(N)和每個(gè)所述第二時(shí)間數(shù)據(jù)信息段(D2),看是否所述逝去時(shí)間與所述參考逝去時(shí)間之間的差可以忽略,并當(dāng)給出否定的回答時(shí)改變所述參考逝去時(shí)間(N);發(fā)送控制(230),連接到所述累加器(211)和所述時(shí)鐘(221),比較所述參考逝去時(shí)間(N)與所述定時(shí)(M),看是否所述參考逝去時(shí)間(N)達(dá)到所述定時(shí)(M),并當(dāng)給出的回答是肯定的時(shí),傳送所述第一音樂數(shù)據(jù)信息段(D3)到所述第一聲音源(15)。
      12.權(quán)利要求11所述的音樂播放器,其中,所述的周期信號是時(shí)鐘信號(CT),用該時(shí)鐘信號定義所述時(shí)間間隔。
      13.一種用于在信息存儲(chǔ)介質(zhì)(FD)上記錄第一種音樂數(shù)據(jù)的音樂記錄器,包括第一數(shù)據(jù)源(11/12/13/14;810),輸出含有代表第一音的第一音樂數(shù)據(jù)信息段(D3)的所述第一種音樂數(shù)據(jù),將被定義在第一時(shí)間數(shù)據(jù)信息段(D4)中的每個(gè)第一音樂數(shù)據(jù)信息段(D4)與下一個(gè)所述第一音樂數(shù)據(jù)信息(D3)之間的時(shí)間間隔;第二數(shù)據(jù)源(1/CD),輸出含有代表第二音的第二音樂數(shù)據(jù)信息段(D1)和每個(gè)代表從起點(diǎn)的逝去時(shí)間的第二時(shí)間數(shù)據(jù)信息段(D2)的第二種音樂數(shù)據(jù);和記錄系統(tǒng)(8/FD),在信息存儲(chǔ)介質(zhì)(FD)中記錄第一音樂數(shù)據(jù)信息段(D3)與相關(guān)的第一時(shí)間數(shù)據(jù)信息段(D4);其特征在于還包括控制系統(tǒng)(2/3/4/8),連接到所述第一數(shù)據(jù)源(11/12/13/14)、所述第二數(shù)據(jù)源(CD/1)和所述記錄系統(tǒng)(8),所述控制系統(tǒng)(2/3/4/8),測量將根據(jù)它定義時(shí)間間隔的參考逝去時(shí)間(N),當(dāng)每個(gè)第一音樂數(shù)據(jù)信息段(D3)到達(dá)時(shí),所述控制系統(tǒng)(2/3/4/8)保持所述參考逝去時(shí)間的值(Nf),當(dāng)所述下一個(gè)第一音樂數(shù)據(jù)信息段(D3)到達(dá)時(shí),所述控制系統(tǒng)(2/3/4/8)計(jì)算所述時(shí)間間隔,所述控制系統(tǒng)(2/3/4/8)比較所述逝去時(shí)間與所述參考逝去時(shí)間(N),看是否之間的差是可忽略的,當(dāng)上給出否定的回答時(shí),所述控制系統(tǒng)(2/3/4/8)改變所述參考逝去時(shí)間(N)和所述時(shí)間間隔之一,以便最小化所述差,和所述控制系統(tǒng)(2/3/4/8)輸出所述第一音樂數(shù)據(jù)信息段(D3)和相關(guān)的第一時(shí)間數(shù)據(jù)信息段(D4)到所述記錄系統(tǒng)(8/FD)。
      14.權(quán)利要求13所述的音樂記錄器,其中,第一種音樂數(shù)據(jù)由按MID1(樂器數(shù)字接口)標(biāo)準(zhǔn)定義的數(shù)字碼表示,于是所述第一音樂數(shù)據(jù)信息段和第一時(shí)間數(shù)據(jù)信息段分別以事件碼(D3)和Δ時(shí)間碼(D4)被存儲(chǔ),并且所述第二種音樂數(shù)據(jù)由用于光盤(CD)定義的數(shù)字碼表示,于是第二音樂數(shù)據(jù)信息段和第二時(shí)間數(shù)據(jù)信息段分別以音頻數(shù)據(jù)碼(D1)和時(shí)間碼(D2)被存儲(chǔ)。
      15.權(quán)利要求14所述的音樂記錄器,其中,從一組包含電子樂器(11/12/13/14)和聲學(xué)樂器(812)的樂器中選擇所述第一數(shù)據(jù)源,所述聲學(xué)樂器(812)具有多個(gè)用于指定所述第一音的音調(diào)的操縱器(824)和用于產(chǎn)生代表所述操縱器當(dāng)前位置的位置信號的多個(gè)傳感器(818/820)和被提供所述位置信號用于產(chǎn)生所述事件碼(D3)的控制器(822/828)。
      16.權(quán)利要求15所述的音樂記錄器,其中,所述聲學(xué)樂器是自動(dòng)播放鋼琴(810)。
      17.權(quán)利要求14所述的音樂記錄器,其中,所述事件碼之一(D3a)代表輸出所述音頻數(shù)據(jù)碼(D1)和所述時(shí)間碼(D2)的開始。
      18.權(quán)利要求17所述的音樂記錄器,其中,所述事件碼之一(D3a)被存儲(chǔ)在對應(yīng)于一個(gè)時(shí)間間隔的位置,以便抵消在播放中使用的各聲音源(832/844/846/848;810)之間的時(shí)間差。
      19.權(quán)利要求13所述的音樂記錄器,其中,所述控制系統(tǒng)包括文件發(fā)生器(250),連接到所述第一數(shù)據(jù)源(11/12/13/14)和所述記錄系統(tǒng)(260),并當(dāng)所述第一時(shí)間數(shù)據(jù)信息段(D3)之一到達(dá)時(shí),提供每個(gè)所述第一音樂數(shù)據(jù)信息段(D3)和相關(guān)的第一時(shí)間數(shù)據(jù)信息段(D4)到所述記錄系統(tǒng)(260);累加器(220),連接到周期信號(CT)的源(210),用于測量所述參考逝去時(shí)間(N);Δ時(shí)間計(jì)算器(240),連接到所述累加器(220)和所述文件發(fā)生器(250),具有用于存儲(chǔ)當(dāng)以前的第一音樂數(shù)據(jù)信息段(D3)到達(dá)時(shí)的所述參考逝去時(shí)間的以前值(Nf)的寄存器(241),和用于存儲(chǔ)校正值(R)的另一個(gè)寄存器(242),并根據(jù)所述參考逝去時(shí)間的所述以前值(Nf),存儲(chǔ)在所述累加器(220)中的所述參考逝去時(shí)間的當(dāng)前值,以及所述校正值(R)計(jì)算有關(guān)的一個(gè)所述第一時(shí)間數(shù)據(jù)信息段(D4),用于提供有關(guān)的一個(gè)所述第一時(shí)間數(shù)據(jù)信息段(D4)到所述文件發(fā)生器(250);和校正值計(jì)算器(230),連接到所述第二數(shù)據(jù)源(1/CD)、所述累加器(220)和所述Δ時(shí)間計(jì)算器(240),當(dāng)一個(gè)所述第二時(shí)間數(shù)據(jù)信息段(D2)到達(dá)時(shí),比較所述參考逝去時(shí)間的當(dāng)前值(N)與由到達(dá)的第二時(shí)間數(shù)據(jù)信息(D2)指示的逝去時(shí)間的值,看是否所述當(dāng)前值(N)與所述逝去時(shí)間的所述值之間的差可以忽略,并當(dāng)給出的回答是否定時(shí),確定所述校正值(R),用于提供該校正值(R)到Δ時(shí)間計(jì)算器(240)。
      20.權(quán)利要求19所述的音樂記錄器,其中,所述周期信號是用于確定所述時(shí)間間隔的時(shí)鐘信號(CT)。
      21.權(quán)利要求13所述的音樂記錄器,其中,所述控制系統(tǒng)包括文件發(fā)生器(734),連接到所述第一數(shù)據(jù)源(11/12/13/14)和所述記錄系統(tǒng)(726),并當(dāng)所述第一音樂數(shù)據(jù)信息段(D3)之一到達(dá)時(shí),提供每個(gè)所述第一音樂數(shù)據(jù)信息段(D3)和一個(gè)所述相關(guān)第一時(shí)間數(shù)據(jù)信息段(D4)到所述記錄系統(tǒng)(726);累加器(730),連接到周期信號(CT)的源(210),用于測量所述參考逝去時(shí)間(N);Δ時(shí)間計(jì)算器(732),連接到所述累加器(730)和所述文件發(fā)生器(734),具有用于存儲(chǔ)當(dāng)以前的第一音樂數(shù)據(jù)信息段(D3)到達(dá)時(shí)的所述參考逝去時(shí)間的以前值(Nf)的寄存器(241),并且根據(jù)所述參考逝去時(shí)間的所述以前值(Nf)和當(dāng)前存儲(chǔ)在所述累加器(730)中的所述逝去時(shí)間的當(dāng)前值(N),計(jì)算所述相關(guān)的一個(gè)第一時(shí)間數(shù)據(jù)信息段(D4),用于提供所述一個(gè)第一時(shí)間數(shù)據(jù)信息段(D4)到所述文件發(fā)生器(734);和調(diào)節(jié)器(736),連接到所述第二數(shù)據(jù)源(1/CD)和所述累加器(730),當(dāng)所述第二時(shí)間數(shù)據(jù)信息段(D2)之一到達(dá)時(shí),比較所述當(dāng)前值(N)與由剛到達(dá)的第二時(shí)間數(shù)據(jù)信息(D2)指示的所述逝去時(shí)間的值,看是否所述當(dāng)前值(N)與所述逝去時(shí)間的值之間的差可以忽略,并當(dāng)給出的回答是否定的時(shí),改變所述參考逝去時(shí)間的當(dāng)前值(N)。
      22.權(quán)利要求21所述的音樂記錄器,其中,所述周期信號是用于確定所述時(shí)間間隔的時(shí)鐘信號(CT)。
      全文摘要
      一種音樂播放器/記錄器,包括兩個(gè)數(shù)據(jù)源(1/CD、2/FD)、一個(gè)控制系統(tǒng)(2/3/4/5)和兩個(gè)聲音源(3/13/6/7;15)或一個(gè)記錄系統(tǒng);兩個(gè)數(shù)據(jù)源之一(2/FD)提供代表第一音的事件碼和代表按照MIDI標(biāo)準(zhǔn)定義的各事件碼之間的時(shí)間間隔的Δ時(shí)間碼到控制系統(tǒng),并且另一個(gè)數(shù)據(jù)源(1/CD)提供代表第二音的音頻數(shù)據(jù)碼和代表逝去時(shí)間的時(shí)間碼到控制系統(tǒng);控制系統(tǒng)(2/3/4/5)計(jì)數(shù)速度時(shí)鐘(CT),并且變換速度時(shí)鐘的數(shù)目為參考逝去時(shí)間,看是否逝去時(shí)間與參考逝去時(shí)間之間的差可以忽略;當(dāng)給出的回答是否定的時(shí),控制系統(tǒng)(2/3/4/5)改變所述時(shí)間間隔,于是第一音與相應(yīng)第二音同步地產(chǎn)生。
      文檔編號G10H1/00GK1427392SQ02139959
      公開日2003年7月2日 申請日期2002年11月30日 優(yōu)先權(quán)日2001年11月30日
      發(fā)明者古川令 申請人:雅馬哈株式會(huì)社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1