專利名稱:具有鍵驅(qū)動器的電子鍵盤設備的制作方法
技術領域:
本發(fā)明涉及一種具有鍵驅(qū)動器的電子鍵盤設備,特別是涉及一種具有音 樂鍵盤的電子鍵盤設備,該音樂鍵盤包括多個鍵和用以驅(qū)動與自動演奏數(shù)據(jù) 的再現(xiàn)(reproduction)聯(lián)鎖起來的每個鍵的鍵驅(qū)動器。
背景技術:
迄今而止, 一種裝備有樂音發(fā)生器和鍵盤的電子鍵盤設備已廣為人知, 其中該鍵盤包括多個鍵,該電子鍵盤設備通過基于自動演奏數(shù)據(jù)驅(qū)動該樂音 發(fā)生器執(zhí)行自動演奏,并驅(qū)動與再現(xiàn)的自動演奏數(shù)據(jù)聯(lián)鎖起來的每個鍵(例 如,參考日本提前公開專利H08-335079)。從將演奏(鍵驅(qū)動)事件(event)提供給鍵驅(qū)動電路直到鍵被驅(qū)動(處 于被按壓的情況)需要花費一段時間。當同時給鍵驅(qū)動電路和樂音發(fā)生器這 兩者提供演奏事件時,鍵動作的產(chǎn)生和聲音的產(chǎn)生不同步,而這會給人帶來 不舒適感。因此,在上述電子音樂裝置中,在給鍵盤驅(qū)動電路提供演奏事件 之后,經(jīng)過預定時間再給樂音發(fā)生器提供演奏事件,以此避免鍵動作的產(chǎn)生 和聲音產(chǎn)生的不同步。在現(xiàn)有的具有鍵驅(qū)動器的電子鍵盤設備中,在再現(xiàn)自動演奏數(shù)據(jù)時須執(zhí) 行時機(timing)調(diào)整處理,并且很難執(zhí)行所謂的快速啟動。當存在預定的 間隔或存在與初始設置有關的事件而不是與演奏事件(音符打開和關閉事 件)有關的事件時,該"快速啟動"是用以高速再現(xiàn)演奏數(shù)據(jù)的預定階段的 自動演奏的再現(xiàn)方法,其中該演奏事件(音符打開和關閉事件)與在演奏數(shù) 據(jù)開始和自首次演奏事件之后以正常速度啟動的再現(xiàn)的聲音有關。例如,當 存在具有多個音軌(track)的演奏數(shù)據(jù)時,以及當一部分音軌被用以鍵驅(qū)動時,演奏事件被高速再現(xiàn),直到該多個音軌的首次演奏事件出現(xiàn)。隨后,當 自該演奏事件之后以正常速度執(zhí)行再現(xiàn)時,以及當該演奏事件也被用以鍵驅(qū) 動時,將該演奏事件提供給鍵驅(qū)動電路,并在該演奏事件被提供給鍵驅(qū)動電 路之后經(jīng)過預定時間再提供給樂音發(fā)生器。然而,當演奏事件沒被用于鍵驅(qū) 動時,以及在經(jīng)過預定時間后向樂音發(fā)生器提供該演奏事件時,再現(xiàn)啟動將 會延遲預定時間,而這就不能被稱為"快速啟動"。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種具有鍵驅(qū)動器的電子鍵盤設備,在再現(xiàn)自動 演奏數(shù)據(jù)期間進行鍵驅(qū)動,能夠簡化再現(xiàn)處理。根據(jù)本發(fā)明的一個方面,提供一種電子鍵盤設備,包括存儲裝置,用 以存儲自動演奏數(shù)據(jù),該自動演奏數(shù)據(jù)包括用以生成樂音的第一事件和用以 定義該第一事件的再現(xiàn)時機的第一時機數(shù)據(jù);鍵驅(qū)動數(shù)據(jù)發(fā)生器,其用以產(chǎn) 生鍵驅(qū)動數(shù)據(jù),該鍵驅(qū)動數(shù)據(jù)包括第二事件和定義第二事件的再現(xiàn)時機的第 二時機數(shù)據(jù),其中該第二事件與在自動演奏數(shù)據(jù)中包括的第一事件相對應, 該第二時機數(shù)據(jù)領先于第一時機數(shù)據(jù)預定時間;鍵盤,具有多個鍵;鍵驅(qū)動 器,根據(jù)鍵驅(qū)動數(shù)據(jù)來驅(qū)動所述多個鍵中的每一個;再現(xiàn)裝置,其并行地再 現(xiàn)自動演奏數(shù)據(jù)和鍵驅(qū)動數(shù)據(jù),以及其中鍵驅(qū)動數(shù)據(jù)發(fā)生器在再現(xiàn)裝置啟動 再現(xiàn)之前產(chǎn)生鍵驅(qū)動數(shù)據(jù)。根據(jù)本發(fā)明,當與自動演奏數(shù)據(jù)的再現(xiàn)一起進行鍵驅(qū)動時,能夠簡化再 現(xiàn)處理。
圖1是示出根據(jù)本發(fā)明實施例的電子鍵盤設備1的基本結(jié)構(gòu)框圖。 圖2A和圖2B是示出根據(jù)本發(fā)明實施例的鍵盤22的結(jié)構(gòu)示意圖。 圖3是示出根據(jù)本發(fā)明實施例的演奏數(shù)據(jù)PD和基于演奏數(shù)據(jù)PD而形 成的驅(qū)動數(shù)據(jù)MD的結(jié)構(gòu)示意圖。圖4是示出根據(jù)本發(fā)明實施例的自動演奏處理的流程圖。圖5是示出在圖4的步驟SA4中執(zhí)行的驅(qū)動數(shù)據(jù)形成處理的流程圖。圖6是示出在圖5的步驟SB17中執(zhí)行的時機差值dT的計算處理的流程圖。圖7是示出用以解釋圖6所示的時機差值dT的計算處理的示意圖。 圖8是示出在圖4的步驟SA6中執(zhí)行的再現(xiàn)啟動處理的流程圖。 圖9A和圖9B是示出用以解釋圖8所示的再現(xiàn)啟動處理的示意圖。 圖10是示出在圖4的步驟SA10中執(zhí)行的用于處理僅靠暫停位置之前的鍵驅(qū)動事件的處理流程圖。圖IIA和圖IIB是示出用以解釋圖IO所示的緊靠于暫停位置之前的鍵驅(qū)動事件處理的示意圖。
具體實施方式
圖1是示出根據(jù)本發(fā)明實施例的電子鍵盤設備1的基本結(jié)構(gòu)的框圖。將RAM7、 ROM 8、 CPU 9、檢測器11、顯示電路13、外部存儲裝置 15、樂音發(fā)生器18、音效器(effecter) 19、通信接口 (I/F) 21和鍵驅(qū)動電 路23連接至總線6。RAM7具有CPU9的工作區(qū),用以存儲諸如再現(xiàn)緩沖器等的緩沖器區(qū)、 標記(flag)、寄存器(register)和各種參數(shù)。將不同的參數(shù)和控制程序、或用以實現(xiàn)本發(fā)明實施例的程序存儲在ROM 8中。在此情形下,不需要以備份形式在外部存儲裝置15中存儲程序等。CPU 9根據(jù)存儲在ROM 8或外部存儲裝置15中的控制程序或用以實現(xiàn) 本發(fā)明實施例的程序來執(zhí)行計算并控制電子鍵盤設備1。計時器10與CPU 9 連接并將標準時鐘信號及中斷時機(timing)提供給CPU9。通過使用連接至檢測器ll的設置操作裝置(operator) 12,用戶可以輸 入、設定和選擇各種設置。該設置操作裝置12可以是可以根據(jù)用戶的輸入 操作而輸出信號的任何類型的操作裝置,例如(x-數(shù)字鍵盤、鼠標、開關、焊 盤、音量控制器(fader)、滑塊、轉(zhuǎn)式編碼器、操縱桿、推進桿等。而且, 該設置操作裝置12可以是待顯示于顯示器14上的軟件開關,并通過使用諸 如鼠標等其它操作裝置來進行操作。顯示電路13被連接至顯示器14,并可在該顯示器14上顯示各種類型的 信息。用戶參考被顯示于顯示器14上的信息來執(zhí)行各種輸入和設置操作。 此外,還可以將顯示器14配置為連接到外部顯示器。將外部存儲裝置15配置為在硬盤、FD (軟磁盤或軟盤(商標))、CD (光盤)、DVD (數(shù)字通用光盤)及諸如半導體存儲器等的存儲介質(zhì)的至少 一種組合,該半導體存儲器例如為閃存等。該存儲介質(zhì)可以是可移動類型或 被內(nèi)置于電子鍵盤設備l中??梢栽谕獠看鎯ρb置15中存儲本發(fā)明實施例中所用到的多個自動演奏 數(shù)據(jù)PD (圖4)和驅(qū)動數(shù)據(jù)MD (圖4)等,還可以存儲用以實現(xiàn)本發(fā)明每 個實施例的程序和其它用以控制電子鍵盤設備l的程序。此外,當用以實現(xiàn) 本發(fā)明每個實施例的程序和其它用以控制電子鍵盤設備1的程序被存儲在外 部存儲裝置15中時,不需要在ROM8中存儲它們的備份。此外,還可以只 將某些程序存儲在外部存儲裝置15中,而將其它程序存儲在ROM 8中。樂音發(fā)生器18生成與存儲在外部存儲裝置15、 ROM 8或RAM 7中的 演奏數(shù)據(jù)PD相對應的樂音信號(musical tone signal)或者產(chǎn)生由鍵盤22或 與通信接口 21相連的外部裝置提供的演奏信號,并通過音效器19而將所產(chǎn) 生的信號提供給聲音系統(tǒng)20。音效器19給來自樂音發(fā)生器18的樂音信號添加不同類型的音樂效果。 聲音系統(tǒng)20包括D/A轉(zhuǎn)換器和揚聲器,并將數(shù)字樂音信號轉(zhuǎn)換為用于發(fā)聲 的模擬信號。鍵盤22是操作裝置,該操作裝置包括由用戶輸入音樂演奏的多個鍵220 、 與每個鍵對應的鍵驅(qū)動系統(tǒng)225 (圖2),并且在與由用戶操作的鍵對應的 音高(pitch)處,輸入由用戶針對鍵進行的操作啟動時機和操作結(jié)束時機, 作為鍵打開信號和鍵關閉信號。而且,根據(jù)在電子鍵盤設備l中待再現(xiàn)的自 動演奏數(shù)據(jù)PD (圖4)(例如,根據(jù)驅(qū)動數(shù)據(jù)MD (圖4)),由為每個鍵 220配備的鍵驅(qū)動系統(tǒng)225對鍵盤22的每個鍵220進行驅(qū)動。此外,將參考 圖2A和圖2B對鍵盤22的結(jié)構(gòu)進行解釋。在由后述的驅(qū)動數(shù)據(jù)MD (圖4)中包括的時機數(shù)據(jù)TD指定的時機處, 對應于鍵驅(qū)動事件MV指定的音高,鍵驅(qū)動電路23控制配備給每個鍵220 的鍵驅(qū)動系統(tǒng)225。通信接口 21是下述這樣的通信接口中的至少一種,即,諸如專用于音 樂的有線1/F(例如MIDI接口 )、有線通用短程1/F(例如USB接口 )、IEEE1394 接口等、通用網(wǎng)絡I/F (例如Ethernet (商標))等以及無線通用短程I/F (例如無線LAN、藍牙(商標)等)。通信I/F 21可被連接至諸如LAN (局域網(wǎng))和互聯(lián)網(wǎng)等的通信網(wǎng)絡3, 并且可以通過通信網(wǎng)絡3與服務器2和其它電子音樂裝置彼此連接。圖2A和圖2B是示出根據(jù)本發(fā)明實施例的鍵盤22的結(jié)構(gòu)示意圖。該視 圖示出多個鍵220中的一個白鍵220,以及與該白鍵220對應的外圍系統(tǒng), 除了白鍵和黑鍵的形狀不同之外,所有的鍵220都具有基本相同的結(jié)構(gòu)。圖 2A示出在沒有操作(釋放)鍵220及其外圍系統(tǒng)時的狀態(tài)。圖2B示出在操 作(按壓)鍵220及其外圍系統(tǒng)時的狀態(tài)。此外,圖中的箭頭A和C和白色 箭頭表示組件的移動方向。每個鍵220包括鍵支點(fUlcrum) 221、音錘(hammer) 222、位于鍵 和音錘22之間的接觸部件223、音錘支點224和鍵驅(qū)動系統(tǒng)225,作為外圍 系統(tǒng)。此外,每個鍵220均包括開關(圖中未示出),用以檢測每個鍵的開 啟/關閉(按壓/釋放)和鍵按壓速度。當用戶操作(按壓)鍵220時,鍵220的鍵自由端(末端(tip) ) 220m 圍繞該鍵支點221以方向C旋轉(zhuǎn)。隨后,音錘222的音錘接觸端222f圍繞 該音錘支點224以方向B旋轉(zhuǎn),而該音錘自由端222m繞該音錘支點224以 方向A旋轉(zhuǎn),其中該音錘接觸端222f經(jīng)由鍵自由端220m附近的接觸部件 223而與鍵220接觸。此時,鍵變?yōu)閳D2B所示的狀態(tài),并且通過音錘接觸 端222f與用以檢測鍵按壓速度等的開關(圖中未示出)相接觸,產(chǎn)生鍵打開 信號。此后,通過從鍵220上釋放用戶的手指,由于音錘222的重量,自然 地,鍵自由端220m、音錘接觸端222f和音錘自由端222m以與之前相反的 方向旋轉(zhuǎn),恢復至圖2A所示的原始狀態(tài)。鍵盤驅(qū)動系統(tǒng)225被配置為例如推進類型的螺線管(solenoid)或推拉 類型的螺線管。鍵盤驅(qū)動系統(tǒng)225由來自圖1中的鍵驅(qū)動電路23的控制信 號驅(qū)動。此外,在本說明書中,以圖中的白色箭頭方向驅(qū)動鍵(以使其處于 圖2B所示的狀態(tài))被稱為"正向驅(qū)動",而以回返(step-back)方向驅(qū)動 鍵以使其處于原始狀態(tài)(圖2A所示的狀態(tài))的鍵驅(qū)動被稱為"反(reverse) 向驅(qū)動"。術語"推動"或"驅(qū)動"表示正向驅(qū)動和反向驅(qū)動中的一個或兩 個。g卩,當驅(qū)動數(shù)據(jù)MD的驅(qū)動事件(鍵打開事件)MV被再現(xiàn)時,由鍵驅(qū) 動電路23輸入驅(qū)動控制信號(螺線管的線圈被通電),并且根據(jù)控制信號,以圖中白色箭頭所表示的正向方向驅(qū)動該驅(qū)動部件225m。由該驅(qū)動部件 225m推動音錘自由端222m,該音錘自由端222m以方向A旋轉(zhuǎn),以及音錘 222的音錘接觸端222f圍繞該音錘支點224以方向B旋轉(zhuǎn),其中該音錘接觸 端222f通過鍵自由端220m附近的接觸部件223與鍵220相接觸。隨后,因 為音錘接觸端222f通過鍵自由端220m附近的接觸部件223接觸鍵220,所 以鍵220的鍵自由端(末端)220m圍繞鍵支點221以方向C旋轉(zhuǎn)。如上所 述,通過以正向驅(qū)動鍵驅(qū)動系統(tǒng)225,就可以猶如上述由用戶進行的鍵按壓 操作那樣旋轉(zhuǎn)鍵220,而不必由用戶進行鍵按壓操作,就可以驅(qū)動該鍵220, 就好像用戶按壓了該鍵一樣。此外,當再現(xiàn)驅(qū)動數(shù)據(jù)MD、關閉所有音符或關閉所有聲音的驅(qū)動事件 (鍵關閉事件)MV時,由鍵驅(qū)動電路23輸入驅(qū)動釋放控制信號(螺線管 的線圈導通狀態(tài)被改變或電流被切換為返回電流),并且將驅(qū)動部件225m 驅(qū)動至反向,即與基于控制信號的白色箭頭方向相反的方向。此外,在上述實例中,鍵220具有音錘222;然而,鍵220也可以不配 備音錘222。在此情形下,將鍵驅(qū)動系統(tǒng)225配置為推壓類型的螺線管等, 而鍵220可以不使用音錘222而被直接驅(qū)動。此外,即使該鍵具有音錘222, 該鍵也可以被直接啟動。此外,在上述實例中,將螺線管用作鍵驅(qū)動系統(tǒng)225; 然而,鍵驅(qū)動系統(tǒng)225也可以是其它任何類型的驅(qū)動系統(tǒng),只要其能夠根據(jù) 來自鍵驅(qū)動電路23的控制信號快速上推或下壓音錘222即可。此外,鍵驅(qū)動系統(tǒng)225并不被局限于經(jīng)由電流的導通或切斷而進行開啟 /關閉,而且鍵220的旋轉(zhuǎn)角度和旋轉(zhuǎn)速度可以基于諸如速度等參數(shù)來進行控 制。圖3是示出根據(jù)本發(fā)明實施例的演奏數(shù)據(jù)PD和基于演奏數(shù)據(jù)PD形成 的驅(qū)動數(shù)據(jù)MD的結(jié)構(gòu)示意圖。演奏數(shù)據(jù)PD是諸如MIDI數(shù)據(jù)等的自動演奏數(shù)據(jù)。該演奏數(shù)據(jù)PD中包 括節(jié)拍音軌TTD (例如節(jié)拍音軌O)和多個演奏音軌PTD (例如演奏音軌l 到16)。此外,將演奏數(shù)據(jù)PD存儲在例如圖1的外部存儲裝置15或R0M 8中。此外,演奏數(shù)據(jù)PD不僅被存儲在電子鍵盤設備1中,而且還可以經(jīng) 由通信網(wǎng)絡3獲得。例如,可以由準流(quasi-streaming)方式(一種用以下 載MIDI數(shù)據(jù)和在再現(xiàn)該數(shù)據(jù)之后進行自動刪除的下載方法)自通信網(wǎng)絡3中的演奏數(shù)據(jù)的分布式(distribution)服務器(例如互聯(lián)網(wǎng))中下載數(shù)據(jù)。 此外,當再現(xiàn)演奏數(shù)據(jù)PD時,該演奏數(shù)據(jù)PD被存儲在圖1中的外部存儲 裝置15中,并存儲在諸如RAM7的再現(xiàn)緩沖器中。通過準流方式等暫時下 載的演奏數(shù)據(jù)PD被存儲在諸如RAM 7的再現(xiàn)緩沖器中,并于完成再現(xiàn)后被 刪除。演奏音軌PTD包括時機數(shù)據(jù)TD和在由該時機數(shù)據(jù)表示的時機處待再現(xiàn) 的各種事件EV。時機數(shù)據(jù)TD是由時次(tick)(或時鐘)表示的數(shù)據(jù),時次是由預定的 音符長度除以預定數(shù)(分辨率(resolution))的商(quotient)。作為實例, 當四分音符(crotchet)除以1920時,"分辨率=1920",并且1920個時 次的長度就等于四分音符的長度。此外,因為該時次是四分音符除以該分辨 率,因此該時次的時間長度會根據(jù)節(jié)拍而改變。時機數(shù)據(jù)TD可以由從預定 位置開始的絕對時機(時次數(shù))表示或由從之前的事件開始(時機數(shù)據(jù)TD) 的相對時機(時次數(shù))來表示,其中該預定位置例如為音軌(演奏數(shù)據(jù)PD) 開始之處。在本發(fā)明的實施例中,時機數(shù)據(jù)TD是由從演奏數(shù)據(jù)PD開始之 處的絕對時機來表示的。事件EV是在由時機數(shù)據(jù)TD表示的時機處待再現(xiàn)(輸出至圖1中的樂 音發(fā)生器18或音效器19)的數(shù)據(jù),例如,演奏音軌PTD包括下列事件EV, 即音符事件、程序改變、控制改變(所有音符關閉、所有聲音關閉等)、以 及系統(tǒng)高級事件。音符事件可以包含明顯的音符打開和音符關閉事件,或者 是音符打開事件和閘門時間(gate time)的組合。在本發(fā)明的實施例中,每 個音符事件均被記錄為音符打開事件和閘門時間的組合。節(jié)拍音軌TTD包含時機數(shù)據(jù)TD和節(jié)拍改變事件TP,該節(jié)拍改變事件 TP在由時機數(shù)據(jù)TD表示的時機處被再現(xiàn)。節(jié)拍改變事件TP用于設置演奏 數(shù)據(jù)PD的再現(xiàn)節(jié)拍。在稍后將述及的圖5中的驅(qū)動數(shù)據(jù)形成處理中,驅(qū)動數(shù)據(jù)MD是用于鍵 驅(qū)動的數(shù)據(jù),該鍵驅(qū)動數(shù)據(jù)是基于演奏數(shù)據(jù)PD形成的。該驅(qū)動數(shù)據(jù)MD具 有與演奏數(shù)據(jù)PD相同數(shù)量的鍵驅(qū)動音軌MTD (例如鍵驅(qū)動音軌1到16), 其中該驅(qū)動數(shù)據(jù)MD以該演奏數(shù)據(jù)PD為基礎。此外,鍵驅(qū)動音軌1到16 分別對應于演奏音軌1到16。每個鍵驅(qū)動音軌MTD均包括時機數(shù)據(jù)TD、在由時機數(shù)據(jù)TD表示的時機處待再現(xiàn)的鍵驅(qū)動事件MV、和時機差值dT。 鍵驅(qū)動事件MV是與在原始演奏數(shù)據(jù)PD中存儲的音符事件和待再現(xiàn)(輸出 至圖1中的鍵驅(qū)動電路23中)的數(shù)據(jù)相對應的音符事件。此外,如果有必 要,部分控制改變事件(所有音符關閉和所有聲音關閉)也可以被存儲為鍵 驅(qū)動事件MV。此外,鍵驅(qū)動音軌MTD中的音符事件(鍵驅(qū)動事件MV) 除了包括音高(音符標號)和閘門時間之外,還可以包括如下參數(shù),即,用 以控制鍵驅(qū)動速度的速度等以及鍵220的旋轉(zhuǎn)距離(角度)?;谂c演奏音軌PTD對應的事件而形成鍵驅(qū)動音軌MTD中的鍵驅(qū)動事 件MV。這些事件的所有內(nèi)容是相同的,但這兩種事件(事件EV和鍵驅(qū)動 事件MV)的再現(xiàn)時機不同。自鍵驅(qū)動系統(tǒng)225 (圖2)開始驅(qū)動(例如自電 流提供給螺線管時)直至鍵220被驅(qū)動至處于按壓狀態(tài)為止,鍵驅(qū)動花費預 定的時間(例如大約50兆秒(msec))。在領先于演奏音軌PTD中的相應 事件EV上述預定時間的時機處,再現(xiàn)該鍵驅(qū)動音軌MTD中的事件MV。時機差值dT對應于與上述預定時間相對應的時間區(qū)間,并用"時次" 表示。與預定時間(例如50兆秒)相對應的時次數(shù)根據(jù)演奏節(jié)拍而改變。 因此,時機差值dT的值與節(jié)拍相關。例如,當在演奏音軌1中的時機B處待再現(xiàn)的事件EV1為音符事件時, 在相應的鍵驅(qū)動音軌1中的事件MV1是相同的音符事件,并且它的時機是 由演奏音軌l中的時機B減去時機差值dT而獲得的值(時機B-dT)。此外,在本發(fā)明的實施例中,鍵驅(qū)動音軌MTD基于在原始演奏數(shù)據(jù)PD 中包含的所有演奏音軌PTD而形成。實際上,用于鍵驅(qū)動的音軌是演奏音軌 PTD中的一個或一部分。因此,用以形成一個或多個鍵驅(qū)動音軌的一個或多 個演奏音軌PTD可以由用戶任意選擇,或根據(jù)預定規(guī)則自動選擇。典型地, 選擇對應于例如鋼琴等鍵盤演奏的右手部分和左手部分的音軌。然而,其它 部分可以是由用戶任意選擇的驅(qū)動目標。圖4是示出根據(jù)本發(fā)明實施例的自動演奏處理的流程圖。例如,該處理 在電子鍵盤設備1上選定了演奏數(shù)據(jù)PD的自動演奏模式時被啟動,并由圖 1中的CPU9執(zhí)行。在步驟SA1中,開始自動演奏處理。在步驟SA2中,執(zhí)行對再現(xiàn)模式 的設置。再現(xiàn)模式的設置包括例如從正常啟動和快速啟動中選擇的設置(啟動模式),以及對鍵驅(qū)動的開啟/關閉的設置(鍵驅(qū)動模式),而且這個設置或這些設置作為一個標記或多個標記被存儲在圖1的RAM7中。在步驟SA3中,選擇在此自動演奏處理中待再現(xiàn)的演奏數(shù)據(jù)PD (曲目 選擇),并選擇驅(qū)動目標(與發(fā)送至鍵驅(qū)動電路23的驅(qū)動音軌MTD相對應 的演奏音軌PTD)。演奏數(shù)據(jù)PD不但可以從存儲于電子鍵盤設備1中的演 奏數(shù)據(jù)PD中選擇,而且還可以從互聯(lián)網(wǎng)等上的分布式服務器所發(fā)布的演奏 數(shù)據(jù)PD中選擇。此外,對于驅(qū)動音軌的選擇,用戶可以通過操作該操作裝 置12 (圖1)來選擇的一個或多個音軌,或者也可以根據(jù)事先確定的預定規(guī) 則而自動執(zhí)行對驅(qū)動音軌的選擇。例如,第一音軌(音軌1)和第二音軌(音 軌2)分別被定義為右手部分和左手部分,并被自動選擇為驅(qū)動目標。在步驟SA4中,執(zhí)行稍后將述及的圖5中的驅(qū)動數(shù)據(jù)形成處理。在此步 驟中,基于步驟SA3中所選擇的演奏數(shù)據(jù)形成驅(qū)動數(shù)據(jù)MD。在步驟SA5中,檢測是否由操作裝置12的用戶給出啟動再現(xiàn)的指令。 當檢測到啟動再現(xiàn)的指令時,就按照箭頭"是"的指示將該處理轉(zhuǎn)至步驟SA6。 當沒有檢測到啟動再現(xiàn)的指令時,就按照箭頭"否"的指示重復步驟SA5中 的處理,以等待該啟動再現(xiàn)指令。在步驟SA6中,執(zhí)行稍后在圖8中描述的再現(xiàn)啟動處理。在該再現(xiàn)啟動 處理中,根據(jù)在步驟SA2中設置的再現(xiàn)模式上的正常啟動或快速啟動的設 置,開始對在步驟SA3中選擇的演奏數(shù)據(jù)PD進行再現(xiàn)。隨后,該處理進行 至步驟SA7。在步驟SA7中,判斷是否由用戶對操作裝置12進行操作而給出暫停再 現(xiàn)的指令。當指示暫停時,就按照箭頭"是"的指示將該處理轉(zhuǎn)至步驟SA8。 當沒有指示暫停時,就按照箭頭"否"的指示將該處理轉(zhuǎn)至步驟SA12。在步驟SA8中,暫停對演奏數(shù)據(jù)PD和驅(qū)動數(shù)據(jù)MD的再現(xiàn),并將所有 音符關閉的信號提供給鍵驅(qū)動電路23和樂音發(fā)生器18。這樣,就終止了由 樂音發(fā)生器18基于演奏數(shù)據(jù)PD進行的樂音生成,并且鍵驅(qū)動系統(tǒng)225被恢 復至如圖2A所示的初始狀態(tài)(鍵釋放狀態(tài))。在步驟SA9中,判斷是否由用戶通過操作裝置12而給出重啟再現(xiàn)的指 令。當用戶指示重啟再現(xiàn)時,該處理進行至步驟SAIO。當用戶沒有指示重 啟再現(xiàn)時,重復步驟SA9中的處理以進行等待,直到用戶指示重啟再現(xiàn)。在步驟SA10中,執(zhí)行用以處理緊靠暫停位置之前的鍵驅(qū)動事件的處理。 下面將參考圖10對該處理的具體細節(jié)進行描述。當鍵驅(qū)動事件MV位于暫 停位置之前,而與鍵驅(qū)動事件MV相對應的演奏事件EV位于步驟SA8中的 暫停位置之后時,該處理確定用以對鍵驅(qū)動事件MV進行再現(xiàn)。之后,處理 進行至步驟SAll以重啟再現(xiàn)。此處的重啟再現(xiàn)用以釋放步驟SA8中的暫停 狀態(tài)。隨后,處理進行至步驟SA14。在步驟SA12中,執(zhí)行再現(xiàn)處理。在此再現(xiàn)處理中,并行地再現(xiàn)鍵驅(qū)動 音軌MTD和演奏音軌PTD。此外,當選擇多個鍵驅(qū)動音軌MTD和多個演 奏音軌PTD時,所有的音軌均被并行(in parallel)地再現(xiàn)。此外,通過從 鍵驅(qū)動音軌MTD中讀出音符事件MV (以及根據(jù)需要的其它事件),此步 驟中的再現(xiàn)用以驅(qū)動鍵驅(qū)動系統(tǒng)225和驅(qū)動鍵220,其中該鍵驅(qū)動音軌MTD 是提供給鍵驅(qū)動電路23的驅(qū)動目標。此外,從演奏PTD中將該音符事件和 其它事件提供給樂音發(fā)生器18和音效器19,以自聲音系統(tǒng)20等中發(fā)出與該 演奏數(shù)據(jù)PD相對應的樂音。此外,在步驟SA12的再現(xiàn)處理中,不必如現(xiàn)有技術那樣在鍵驅(qū)動音符 事件和演奏音符事件之間執(zhí)行時機調(diào)整,并且通過在它們的再現(xiàn)時機處并行 地簡單再現(xiàn)這兩種數(shù)據(jù),即可再現(xiàn)事件,因此,可以很簡便地執(zhí)行再現(xiàn)處理。在步驟SA13中,執(zhí)行其它處理(或其它多個處理)。在此步驟中,檢 測諸如與由用戶操作該操作裝置12進行的自動演奏相關的設置改變等指令, 并且執(zhí)行基于上述指令(諸如檢測到的設置改變等)而進行的處理。具體而 言,所述指令可以是驅(qū)動目標音軌的改變、鍵驅(qū)動的開啟/關閉切換等。當改 變驅(qū)動目標音軌時,也將改變在步驟SA12中要再現(xiàn)的驅(qū)動目標音軌(其可 在執(zhí)行步驟SA13中的處理之后被執(zhí)行)。當關閉該鍵驅(qū)動時,在步驟SA13 之后待執(zhí)行的步驟SA12中將停止驅(qū)動音軌的再現(xiàn)。當開啟該鍵驅(qū)動時,在 步驟SA13之后待執(zhí)行的步驟SA12中將啟動驅(qū)動音軌的再現(xiàn)。此外,還可 以改變節(jié)拍設置。當改變該節(jié)拍設置時,再次執(zhí)行在步驟SA4中的驅(qū)動數(shù)據(jù) 形成處理。此外,當改變該節(jié)拍時,可以通過乘以節(jié)拍改變比率來改變驅(qū)動 數(shù)據(jù)MD中的時機差值dT,取代再次執(zhí)行步驟SA4中的驅(qū)動數(shù)據(jù)形成處理, 并且還可以改變驅(qū)動數(shù)據(jù)MD中的每個驅(qū)動事件MV的時機。隨后,將該處 理轉(zhuǎn)至步驟SA14。在步驟SA14中,判斷是否由用戶對操作裝置12進行操作而給出終止再 現(xiàn)的指令,以及判斷該再現(xiàn)是否通過將該演奏數(shù)據(jù)再現(xiàn)至終點而結(jié)束。當結(jié) 束該再現(xiàn)時,即,當檢測到終止再現(xiàn)的指令或當所有的演奏數(shù)據(jù)PD已經(jīng)被 再現(xiàn)至終點時,就按照箭頭"是"的指示將該處理轉(zhuǎn)至步驟SA15,以結(jié)束 自動演奏處理。當該再現(xiàn)沒有結(jié)束時,就按照箭頭"否"的指示將該處理返 回步驟SA7,以在該處理之后重復處理。圖5是示出在圖4的步驟SA4中執(zhí)行的驅(qū)動數(shù)據(jù)形成處理的流程圖。在 該處理中,在開始圖4的步驟SA3中所選擇的演奏數(shù)據(jù)PD的再現(xiàn)之前,基 于演奏數(shù)據(jù)PD預先形成該驅(qū)動數(shù)據(jù)MD。在步驟SB1中,開始驅(qū)動數(shù)據(jù)形成處理。在步驟SB2中,節(jié)拍音軌TTD 的指針、以及所有的演奏音軌PTD (在下文中,全部音軌被統(tǒng)稱為在此驅(qū)動 數(shù)據(jù)形成處理中的處理目標音軌)均被設置在音軌開始之處,其中節(jié)拍音軌 TTD的指針被包括在圖4的步驟SA3中所選擇的演奏數(shù)據(jù)PD中。在步驟SB3中,讀出處理目標音軌的開始數(shù)據(jù)(開始時機數(shù)據(jù)TD), 并且將從音軌n中讀出的時機數(shù)據(jù)設置到對應的音軌時機寄存器(register) n (nK)至16)。在步驟SB4中,給每個處理目標音軌的指針加1。在步驟SB5中,將當 前時機寄存器cT設置為"0"以進行初始化。在步驟SB6中,將音軌數(shù)目寄 存器n設置為"0"。在步驟SB7中,將時機寄存器cT中當前設置的時機值(時次)與設置 音軌時機寄存器n中的時機值進行比較。當在當前時機寄存器cT中的時機 值(時次)和在音軌時機寄存器n中的時機值(時次)相同時,就按照箭頭 "是"的指示將該處理轉(zhuǎn)至步驟SB13。當所述時機值不相同時,就按照箭 頭"否"的指示將該處理轉(zhuǎn)至步驟SB8。在步驟SB8中,判斷在音軌數(shù)目寄存器n中設置的值是否小于"16"。 此外,在本發(fā)明的實施例中,假設具有一個節(jié)拍音軌"0"和16個演奏音軌 1-16。當音軌數(shù)目寄存器n的當前值超過"16"時,就認為在時機cT處對所 有音軌進行的處理都結(jié)束了;因此判斷在音軌數(shù)目寄存器n中設置的值是否 小于"16"。此外,使該值與包括在演奏數(shù)據(jù)PD中的所有演奏音軌的數(shù)相 同。例如,當在演奏數(shù)據(jù)PD中的音軌(包括節(jié)拍音軌)數(shù)是"9"時,該值被設置為"8"。當音軌數(shù)目寄存器n的當前值小于"16"時,就按照箭頭 "是"的指示將該處理轉(zhuǎn)至步驟SB9。當音軌數(shù)目寄存器n的當前值不小于 "16"時,就按照箭頭"否"的指示將該處理轉(zhuǎn)至步驟SBIO。在步驟SB9中,給音軌數(shù)目寄存器n的數(shù)值加"1" (n=n+l),并將該 處理轉(zhuǎn)至步驟SB7。這樣,在步驟SB9之后執(zhí)行的步驟SB7以后的處理中 的處理目標將是具有下一個音軌標號的音軌。在步驟SB10中,判斷指針是否到達處理目標音軌的終端。當指針到達 該終端時,就按照箭頭"是"的指示將該處理轉(zhuǎn)至步驟SBll,并在此后將 該處理轉(zhuǎn)至圖4中的步驟SA5。當指針沒有到達終端時,就按照箭頭"否" 的指示將該處理轉(zhuǎn)至步驟SB12。隨后,給當前的時機寄存器cT加"l"(給 當前時機cT加上l個時次),然后將該處理轉(zhuǎn)至步驟SB6。在步驟SB13中,讀出在音軌數(shù)目為n (音軌n)的音軌指針位置處的數(shù) 據(jù)。在步驟SB14中,判斷所讀出的數(shù)據(jù)是否是時機數(shù)據(jù)TD。當它是時機數(shù) 據(jù)TD時,就按照箭頭"是"的指示將該處理轉(zhuǎn)至步驟SB15。當它是其它數(shù) 據(jù)(事件數(shù)據(jù))時,就按照箭頭"否"的指示將該處理轉(zhuǎn)至步驟SB16。在步驟SB15中,將步驟SB13中讀出的時機數(shù)據(jù)TD的值(時次)設置 在音軌時機寄存器n中。隨后,將處理轉(zhuǎn)至步驟SB24。在步驟SB16中,判斷在步驟SB13中讀出的數(shù)據(jù)是否是鍵驅(qū)動音軌所 必需的音符事件EV或其它事件EV(所有音符關閉、所有聲音關閉等)。當 它是鍵驅(qū)動音軌所必需的音符事件EV或其它事件EV時,就按照箭頭"是" 的指示將該處理轉(zhuǎn)至步驟SB17。當它不是鍵驅(qū)動音軌所必需的音符事件EV 或其它事件EV時,就按照箭頭"否"的指示將該處理轉(zhuǎn)至步驟SB20。在步驟SB17中,執(zhí)行稍后將在圖6中述及的時機差值dT的計算處理。 如上所述,時機差值dT是用以再現(xiàn)鍵驅(qū)動事件MV的時機差值,該鍵驅(qū)動 事件MV提前于對應的演奏事件(音符事件)EV的再現(xiàn)大約預定時間(50 兆秒)。因為該時機差值dT根據(jù)當前的設置節(jié)拍和節(jié)拍改變時機而變化, 所以要在此處理中計算該時機差值dT。隨后,將該處理轉(zhuǎn)至步驟SB18。在步驟SB18中,通過從當前時機寄存器cT的值中減去步驟SB17中所 計算的該時機差值dT來計算驅(qū)動時機mT,其中該驅(qū)動時機mT是與步驟 SB17中讀出的音符事件相對應的鍵驅(qū)動事件MV的再現(xiàn)時機。在步驟SB19中,將步驟SB18中所計算的驅(qū)動時機mT定義為時機數(shù)據(jù) TD,而將步驟SB13中讀出的事件數(shù)據(jù)EV定義為驅(qū)動事件MV,并且將它 們與在步驟SB17中計算的時機差值dT —起寫入驅(qū)動音軌n。隨后,將該 處理轉(zhuǎn)至步驟SB24。此外,將步驟SB13中讀出的事件數(shù)據(jù)EV用作具有保 持相同內(nèi)容的驅(qū)動事件MV,或者通過僅僅使用諸如音高(音符標號)、閘 門時間等必要的參數(shù)而將其用作驅(qū)動事件MV。在步驟SB20中,判斷步驟SB13中讀出的事件數(shù)據(jù)是否為節(jié)拍事件TP。 當它是節(jié)拍事件TP時,就按照箭頭"是"的指示將該處理轉(zhuǎn)至步驟SB21。 當它是其它事件TP時(例如,是系統(tǒng)專用、程序改變等),因為其與驅(qū)動 數(shù)據(jù)無關,所以就按照箭頭"否"的指示將該處理轉(zhuǎn)至步驟SB24。在步驟SB21中,在先前的節(jié)拍寄存器中設置當前設置節(jié)拍(即節(jié)拍寄 存器中的當前值)。此外,進行如下定義,即,在開始此鍵驅(qū)動數(shù)據(jù)形成處 理之前由用戶設置的節(jié)拍或者在具有鍵驅(qū)動器的電子鍵盤設備1中的初始設 置值已被設置至當前節(jié)拍寄存器中。在步驟SB22中,將當前時機寄存器cT的值設置至先前的節(jié)拍改變時機 寄存器中。在步驟SB23中,將在步驟SB13中讀出的節(jié)拍事件TP的值設置 至當前節(jié)拍寄存器中。隨后,將該處理轉(zhuǎn)至步驟SB24。在步驟SB24中,給音軌n的指針加l。隨后,將該處理轉(zhuǎn)至步驟SB7, 以重復此后的步驟。如上所述,在本發(fā)明的實施例中,在步驟SA6之后執(zhí)行的演奏數(shù)據(jù)PD 的再現(xiàn)處理之前,從圖4的步驟SA4的演奏數(shù)據(jù)PD中形成具有預先調(diào)整的 時機數(shù)據(jù)的鍵驅(qū)動數(shù)據(jù)MD。因此,在步驟SA6之后的再現(xiàn)處理中,不需要 對在演奏事件和鍵驅(qū)動事件之間的時機進行調(diào)整。從而避免了再現(xiàn)處理變得 復雜化,并且,無須獲得現(xiàn)有的電子樂器中的再現(xiàn)處理,即可實現(xiàn)和制造出 具有鍵驅(qū)動器的電子鍵盤設備。圖6是示出在圖5的步驟SB7中執(zhí)行的時機差值dT的計算處理的流程圖。圖7是示出用以解釋圖6所示的時機差值dT的計算處理的示意圖。 時機差值dT是通過將從鍵驅(qū)動系統(tǒng)225 (圖2)啟動直到鍵220實際上 變成被按壓狀態(tài)為止的預定時間(本實施例中為50兆秒)轉(zhuǎn)換為時機值(時次數(shù))而獲得的值。預定時間(50兆秒)的時次數(shù)根據(jù)演奏節(jié)拍而變化。在步驟SB171中,開始時機差值dT的計算處理,并將經(jīng)由公式"60乘 以1000除以當前設置的分辨率(60X1000/當前設置的分辨率)"而計算出 的值設置在寄存器tmp中。此外,因為在本發(fā)明實施例中的分辨率為"1920", 所以這個值將是"60X1000/1920=31.25"。在步驟SB173中,經(jīng)由公式"預定時間(在本發(fā)明的實施例中為50兆 秒)乘以當前節(jié)拍寄存器中的值除以寄存器tpm中的值(50X當前節(jié)拍/tmp)" 來計算時機差值dT。這樣,就可以計算出在單個節(jié)拍中的預定時間的時次數(shù)。 例如,當分辨率是"1920",預定時間是"50兆秒",而當前節(jié)拍是"120" 時,該值(對應于預定時間的時次數(shù))將是"50X 120/31.25",因此,該時 機差值dT將是"192時次"。在步驟SB174中,判斷在圖5的步驟SB22中設置的先前節(jié)拍改變寄存 器的值是否超出如下值,即是否超出從當前時機寄存器cT中減去在步驟 SB173中計算出的時機差值dT而獲得的的值(cT-dT)。在步驟SB174中,當先前節(jié)拍改變寄存器的值小于值"cT-dT"時,對 應于圖7中的演奏事件EV1的鍵驅(qū)動事件MV1位于先前節(jié)拍改變事件TP1 之后;因此,很顯然在演奏事件EV1和鍵驅(qū)動事件MV1之間沒有節(jié)拍改變。 那么,在此情形下,就按照箭頭"否"的指示將此處理轉(zhuǎn)至步驟SB177,并 使用步驟SB173中計算出的該時機差值而不進行任何改變。隨后,將該處理 轉(zhuǎn)至圖5中的步驟SB18。在步驟SB174中,當先前節(jié)拍改變寄存器的值不小于該值"cT-dT"時, 先前節(jié)拍改變事件TP2處于圖7所示的演奏事件EV2和相應的鍵驅(qū)動事件 MV2之間;因此,需要重新計算與事件MV2和事件EV2之間的預定時間(50 兆秒)相對應的時機(時次數(shù))。那么,在此情形下,就按照箭頭"是"的 指示將此處理轉(zhuǎn)至步驟SB175,且基于改變前后的兩個節(jié)拍值而重新計算該 時機差值dT 。在步驟SB175中,將通過從當前寄存器cT的值中減去在圖5的步驟SB22 中設置的先前節(jié)拍改變寄存器的值而獲得的值設置至寄存器Xmsec中。由此 計算圖7所示的Xmsec的時機(時次數(shù))。在步驟SB176中,經(jīng)由公式"Xmsec+(50-XmsecX當前節(jié)拍寄存器值)X先前節(jié)拍寄存器值/tpm"計算時機差值dT。更具體地,當分辨率是"1920", 預定時間是"50兆秒",而先前節(jié)拍(TP1)是"120",先前節(jié)拍(TP2) 是"100",且在圖7中的事件TP2和事件EV2之間的時機差值Xmsec是"IOO 時次"時,該時機差值dT將是"172時次"(100+ (50-100X31.25/100) X 120/31.25)。隨后,將該處理轉(zhuǎn)至步驟SB177以返回至圖5中的步驟SB18。通過計算上述的時機差值dT,就可以設置用設置節(jié)拍更新的時機差值 dT。此外,即使在驅(qū)動事件MV和演奏事件EV之間的預定時間(50兆秒) 期間節(jié)拍有改變,也可以在驅(qū)動事件MV和演奏事件EV之間設置與預定時 間對應的時次數(shù)的時機差值dT。圖8是示出在圖4的步驟SA6中執(zhí)行的再現(xiàn)啟動處理的流程圖。在再現(xiàn) 啟動處理中,根據(jù)在啟動模式中所設置的正常啟動或快速啟動,啟動對在步 驟SA3中選擇的所選演奏數(shù)據(jù)PD的再現(xiàn),所述正常啟動或快速啟動的其中 之一在圖4的步驟SA2中已進行設置。在步驟SC1中,開始再現(xiàn)啟動處理,并判斷該再現(xiàn)模式(啟動模式)是 否快速啟動模式。此判斷是參考在圖4中的步驟SA2中設置的再現(xiàn)模式(啟 動模式)的標記而進行的。當再現(xiàn)模式(啟動模式)處在快速啟動模式上時, 就按照箭頭"是"的指示將此處理轉(zhuǎn)至步驟SC3。當再現(xiàn)模式處在正常啟動 模式上時,就按照箭頭"否"的指示將此處理轉(zhuǎn)至步驟SC7,并以正常速度 啟動再現(xiàn)。在步驟SC3中,判斷鍵驅(qū)動是否被開啟。此判斷是通過參考在圖4的步 驟SA2中設置的再現(xiàn)模式(鍵驅(qū)動模式)的標記而進行的。當再現(xiàn)模式是關 于鍵驅(qū)動模式(鍵驅(qū)動被開啟)時,就按照箭頭"是"的指示將此處理轉(zhuǎn)至 步驟SC4。當再現(xiàn)模式不是關于鍵驅(qū)動模式(鍵驅(qū)動被關閉)時,就按照箭 頭"否"的指示將此處理轉(zhuǎn)至步驟SC6。在步驟SC4中,檢測音符事件(演奏事件EV或鍵驅(qū)動事件MV),該 音符事件首次出現(xiàn)于圖4的步驟SA3中所選擇的演奏數(shù)據(jù)PD的所有演奏音 軌PTD以及驅(qū)動音軌(MTD)(其對應于在鍵驅(qū)動數(shù)據(jù)MD中被選為驅(qū)動 目標的演奏音軌PTD)中的數(shù)據(jù)的開始之處。此后,將該處理轉(zhuǎn)至步驟SC5。在步驟SC5中,從開始數(shù)據(jù)到在步驟SC4中檢測到的音符事件,高速 再現(xiàn)演奏數(shù)據(jù)PD的所有演奏音軌PTD,其中該演奏數(shù)據(jù)PD為在圖4的步驟SA3中選擇的演奏數(shù)據(jù)PD和在驅(qū)動音軌MTD中的演奏數(shù)據(jù)PD,其中該 驅(qū)動音軌MTD對應于在鍵驅(qū)動數(shù)據(jù)MD中選為驅(qū)動目標的演奏音軌PTD。 隨后將該處理轉(zhuǎn)至步驟SC8。此外,從數(shù)據(jù)的開始到經(jīng)過1或2次測量為止,將用以執(zhí)行初始化的事 件等存儲在正常演奏數(shù)據(jù)PD中。根據(jù)本發(fā)明實施例的高速再現(xiàn)被用以以盡 可能高的速度再現(xiàn)這些事件,而不考慮用于1或2次測量的數(shù)據(jù)的再現(xiàn)時機。例如,在具有鍵驅(qū)動器的電子鍵盤設備1中,可以讀出至少17個音軌 (包括節(jié)拍音軌)的事件,并在一個時機(1時次)中再現(xiàn)。此外,還可以 在一個時機(1時次)中再現(xiàn)一個音軌中的多個事件。當在此高速再現(xiàn)中的 分辨率是1920時,通過簡單的計算可以以四分音符的1/1920長度再現(xiàn)一個 或多個事件。換句話說,在一個四分音符的時間長度中,可以高速再現(xiàn)超過 1920個事件。在步驟SC6中,檢測音符事件(演奏事件EV),該音符事件首次出現(xiàn) 于圖4的步驟SA3中所選擇的演奏數(shù)據(jù)PD的所有演奏音軌PTD中的數(shù)據(jù) 的開始之處。因為鍵驅(qū)動被關閉,所以在步驟SC5中,不需要在鍵驅(qū)動數(shù)據(jù) MD中進行搜索。因此,將該處理轉(zhuǎn)至步驟SC7。在步驟SC7中,從開始數(shù)據(jù)到步驟SC6中檢測出的音符事件,高速再 現(xiàn)在圖4的步驟SA3中所選擇的演奏數(shù)據(jù)PD的所有演奏音軌PTD。隨后將 該處理轉(zhuǎn)至步驟SC8。在步驟SC8中,以正常速度啟動再現(xiàn)。根據(jù)設置節(jié)拍而再現(xiàn)正常速度下 的再現(xiàn)。隨后,將處理轉(zhuǎn)至步驟SC9,從而結(jié)束再現(xiàn)啟動處理。圖9A和圖9B是示出用以解釋圖8所示的再現(xiàn)啟動處理的示意圖。例如,如圖9A所示,將演奏數(shù)據(jù)PD中的演奏音軌1至4選擇為再現(xiàn) 目標。將演奏音軌1和2選擇為鍵驅(qū)動目標,并且再現(xiàn)對應于這些驅(qū)動目標 音軌的驅(qū)動音軌1和2。在此情形下,當開啟鍵驅(qū)動時,因為演奏音軌1至 4和驅(qū)動音軌1和2的第一音符事件是在步驟SC4中檢測的,因此在步驟SC4 中檢測驅(qū)動事件MV1。隨后,在步驟SC5中高速再現(xiàn)直到驅(qū)動事件MV1的 事件,至于此后的事件,則在步驟SC8中以正常速度開始再現(xiàn)。此外,當鍵 驅(qū)動被關閉時,因為只有演奏音軌1至4是第一音符事件的檢測目標,所以 在步驟SC6中檢測演奏事件EV1。隨后,在步驟SC7中高速再現(xiàn)直到事件EV1的事件,至于此后的事件,則在步驟SC8中以正常速度開始再現(xiàn)。此外,例如,如圖9B所示,將演奏數(shù)據(jù)PD中的演奏音軌1至4選擇 為再現(xiàn)目標,并且將演奏音軌1和2選擇為鍵驅(qū)動目標。隨后,將驅(qū)動音軌 1和2選擇為鍵驅(qū)動目標。隨后,再現(xiàn)對應于這些驅(qū)動目標音軌的驅(qū)動音軌 l和2。在如圖9B所示的演奏數(shù)據(jù)中,因為演奏事件EV4是在所有演奏音 軌和該驅(qū)動音軌中的第一音符事件,因此,無論鍵驅(qū)動開啟/關閉,都可持續(xù) 地高速再現(xiàn)直到演奏事件EV4的事件。此外,當將演奏音軌4選擇為驅(qū)動目 標音軌時,因為與演奏事件EV4對應的驅(qū)動事件將是用以再現(xiàn)的音符事件, 所以,以高速再現(xiàn)直到該驅(qū)動事件的事件。如上所述,在步驟SA6和此后執(zhí)行的演奏數(shù)據(jù)PD的再現(xiàn)處理之前,時 機被預先調(diào)整的鍵驅(qū)動數(shù)據(jù)MD通常基于圖4的步驟SA4中的演奏數(shù)據(jù)PD 而產(chǎn)生。因此,在從步驟SA6開始的再現(xiàn)處理中,不必對在演奏事件和鍵驅(qū) 動事件之間的時機進行調(diào)整。因此,由于對鍵驅(qū)動數(shù)據(jù)MD和演奏數(shù)據(jù)PD 這兩者都進行搜索以檢測第一音符,并且即使在鍵驅(qū)動被開啟時執(zhí)行快速啟 動的情況下,也只以高速再現(xiàn)直到檢測音符事件的事件,所以很容易地執(zhí)行 快速啟動處理。此外,因為在現(xiàn)有技術的鍵驅(qū)動方法中,鍵驅(qū)動數(shù)據(jù)MD并非預先產(chǎn)生 的,所以,在檢測演奏數(shù)據(jù)中的第一音符事件之后進行時機調(diào)整,且計算與 所檢測到的演奏音符事件對應的鍵驅(qū)動音符事件的再現(xiàn)時機,并以高速再現(xiàn) 該直到計算出的鍵驅(qū)動音符事件的時機;由此完成了當指示快速啟動時必須 執(zhí)行的處理。此外,根據(jù)本發(fā)明的具有上述結(jié)構(gòu)的實施例,可以從第一演奏事件開始 而對鍵盤的鍵進行確定驅(qū)動。此外,即使第一演奏事件不是用于鍵驅(qū)動,也 可以快速啟動再現(xiàn)。圖10是示出在圖4中步驟SA10執(zhí)行的用以處理緊靠于暫停位置之前的 鍵驅(qū)動事件的處理流程圖。當對應的演奏事件EV位于(被檢測到)暫停位 置之前時,該處理用以對位于(檢測到的)圖4的步驟SA8中暫停位置之后 的鍵驅(qū)動事件MV進行特定再現(xiàn)。在步驟SD1中開始用于處理緊靠于暫停位置之前的鍵驅(qū)動事件的處理。 在步驟SD2中,讀出緊靠于驅(qū)動音軌MTD的指針位置之前的驅(qū)動事件MV,其中該驅(qū)動音軌與從圖4的步驟SA3中選擇的演奏數(shù)據(jù)PD中被選作驅(qū)動目 標的演奏音軌PTD相對應(在下文中,僅被稱為目標驅(qū)動音軌MTD)。此 外,當存在多個目標驅(qū)動音軌MTD時,對每個目標驅(qū)動音軌MTD執(zhí)行從 步驟SD2到稍后將述及的步驟SD6中的處理。在步驟SD3中,判斷在步驟SD2中讀出的、加上時機差值dT的事件 MV的時機值是否小于預定時機cT。當加上時機差值dT的該值不小于當前 時機cT時,與在步驟SD2或步驟SD5中讀出的事件MV相對應的演奏事件 EV存在于當前時機cT之后。因此,如果再現(xiàn)從當前時機cT開始,對于與 所讀出的事件MV相對應的演奏事件EV來說,鍵驅(qū)動事件MV不被再現(xiàn), 因此沒有鍵被驅(qū)動。在此情形下,就按照箭頭"是"的指示將該處理轉(zhuǎn)至步 驟SD4,以改變再現(xiàn)的啟動時機,并且將在步驟SD2或步驟SD5中讀出的 事件MV設置至回返時機寄存器。此后,將處理轉(zhuǎn)至步驟SD5。當在步驟 SD5中讀出的事件MV被設置至回返時機寄存器時,該回返時機寄存器被重 寫。當在步驟SD2或步驟SD5中讀出的、加上預定時間差值dT的事件MV 的時機值小于當前時機cT時,無需改變啟動時機,就能夠進行再現(xiàn)而不存 在問題,并且按照箭頭"否"的指示將該處理轉(zhuǎn)至步驟SD6。在步驟SD5中,在步驟SD2中讀出緊靠于事件MV之前的事件。因為 與將要在當前時機cT之后再現(xiàn)的演奏事件EV相對應的驅(qū)動事件MV并不 局限于在步驟SD2中讀出的事件MV,因此步驟SD5是用以重復確認如下事 項的處理,即添加有預定時間差值dT的讀出事件MV的時機值變得小于當 前時機cT。因此,在讀出事件MV之后,將該處理返回步驟SD3,并且判 斷在步驟SD5中讀出的添加有時間差值dT的事件MV的時機值是否不小于 當前時機cT。在步驟SD6中,判斷回返再現(xiàn)是否是必需的。此判斷是通過核對回返時 機(在步驟SD2或步驟SD5中讀出的事件EV的時機)是否被設置至在步驟 SD7中設置的回返時機寄存器中而進行的。當己經(jīng)設置了回返時機時,就按 照箭頭"是"的指示將該處理轉(zhuǎn)至步驟SD7,因為該回返再現(xiàn)是必需的。當 未設置回返時機時,就按照箭頭"否"的指示將該處理轉(zhuǎn)至步驟SD8,因為 該回返再現(xiàn)不是必需的。在步驟SD7中,只有在設置于回返時機寄存器中的時機和當前時機CT之間的目標驅(qū)動音軌MTD被再現(xiàn)。此后,將該處理轉(zhuǎn)至步驟SD8以返回圖 4中的步驟SA11。如上所述,通過僅僅再現(xiàn)目標驅(qū)動音軌MTD,就可以選 擇性再現(xiàn)驅(qū)動事件MV,其中該驅(qū)動事件MV在當前時機cT之前并對應于 在當前時機cT之后將在圖4中的步驟SA11中再現(xiàn)的演奏事件EV。因此, 即使與在當前時機cT之后待再現(xiàn)的演奏事件EV相對應的驅(qū)動事件MV位 于當前時機cT之前,對于演奏事件EV也可以使鍵盤中的鍵被確定驅(qū)動。在上述本發(fā)明的實施例中,根據(jù)用于處理緊靠于暫停位置之前的鍵驅(qū)動 事件的處理,判斷與在暫停位置之后將要再現(xiàn)的演奏事件EV相對應的鍵驅(qū) 動事件MV是否存在于該暫停位置之前,當發(fā)現(xiàn)鍵驅(qū)動事件位于暫停位置之 前時,根據(jù)鍵驅(qū)動事件MV對鍵進行驅(qū)動;因此,在重新啟動再現(xiàn)之后,可 以從第一演奏事件EV開始對鍵進行確定驅(qū)動。此外,當在暫停位置之前沒 有發(fā)現(xiàn)相應的鍵驅(qū)動事件MV時,從暫停位置開始立即啟動再現(xiàn);因此避免 不必要的延遲。圖IIA和圖11B是示出用以解釋圖IO所示的用于處理緊靠于暫停位置 之前的鍵驅(qū)動事件的處理的示意圖。圖11A示出當回返再現(xiàn)為必需時的情形。在當前時機cTl處已暫停演奏 數(shù)據(jù)PD的再現(xiàn),并且驅(qū)動音軌的指針P1位于驅(qū)動事件MV3處。此外,圖 中的驅(qū)動事件MV1至MV3分別對應于演奏事件EV1至EV3。當在上述條件下執(zhí)行用以處理圖10所示的緊靠于暫停位置之前的鍵驅(qū) 動事件的處理時,讀出事件MV2,該事件MV2位于緊靠于當前指針所在的 事件MV3之前。加上時機差值dT的事件MV2的時機值(時次數(shù))是事件 EV2的位置;然而,它位于當前時機cTl之后(加上時機差值dT的事件MV2 的時機值的時次數(shù)大于當前時機cTl的時次數(shù))。g卩,因為當前時機cTl和 事件MV2之間的時間間隔(圖中的期間RT1)小于時機差值dT,該處理轉(zhuǎn) 至步驟SD4,并將事件MV2的時機設置至回返時機寄存器。此后,在步驟 SD5中讀出緊靠于事件MV2之前的事件MV1。因此,因為當前時機cTl和 事件MV1之間的時間間隔(圖中的期間RT2)大于時機差值dT,該處理至 步驟SD6。此后,在步驟SD7中從事件MV2再現(xiàn)驅(qū)動音軌,并在圖4的步 驟SAll中重啟位于當前時機cTl之后的再現(xiàn)。圖IIB示出當回返再現(xiàn)不是必需時的情形,并再現(xiàn)與圖IIA中相同的演 奏數(shù)據(jù)PD。在當前時機cT2處已暫停演奏數(shù)據(jù)PD的再現(xiàn),且將驅(qū)動音軌的 指針Pl置于驅(qū)動事件MV3處。此夕卜,圖中的驅(qū)動事件MV1至MV3分別對 應于演奏事件EV1至EV3。當在上述條件下執(zhí)行用以處理圖10所示的緊靠于暫停位置之前的鍵驅(qū) 動事件的處理時,讀出事件MV2,該事件MV2位于緊靠于當前指針P1所 在的事件MV3之前。加上時機差值dT的事件MV2的時機值(時次數(shù))是 事件EV2的位置,并且其位于當前時機cT2之前(加上時機差值dT的事件 MV2的時機值的時次數(shù)小于當前時機cT2的時次數(shù))。g卩,因為當前時機 cT2和事件MV2之間的時間間隔(圖中的期間RT1)大于時機差值dT,該 處理轉(zhuǎn)至步驟SD6,而無須設置回返差值寄存器。因為沒有設置該回返時機 寄存器,因此在步驟SD8中結(jié)束處理,并在圖4的步驟SA11中重啟當前時 機cT2之后的再現(xiàn)。此外,在此情形下,驅(qū)動事件MV1不被讀出。此外,雖然在上述實施例中,基于演奏數(shù)據(jù)PD形成的驅(qū)動音軌MTD 被整體地記錄為驅(qū)動數(shù)據(jù)MD,然而,所形成的驅(qū)動音軌MTD也可以與演 奏音軌PTD —起被記錄為演奏數(shù)據(jù)PD中的一部分音軌。前面對本發(fā)明的描述是聯(lián)系優(yōu)選實施例而進行的。本發(fā)明并不僅僅局限 于上述實施例。很顯然,本領域的普通技術人員完全可以進行不同的改型、 改進和合并等。
權(quán)利要求
1.一種電子鍵盤設備,包括存儲裝置,其用以存儲自動演奏數(shù)據(jù),該自動演奏數(shù)據(jù)包括用以生成樂音的第一事件和用以定義該第一事件的再現(xiàn)時機的第一時機數(shù)據(jù);鍵驅(qū)動數(shù)據(jù)發(fā)生器,其用以產(chǎn)生鍵驅(qū)動數(shù)據(jù),該鍵驅(qū)動數(shù)據(jù)包括第二事件和第二時機數(shù)據(jù),其中該第二事件與在該自動演奏數(shù)據(jù)中包括的第一事件相對應,該第二時機數(shù)據(jù)定義該第二事件的再現(xiàn)時機并領先于該第一時機數(shù)據(jù)預定時間;鍵盤,其具有多個鍵;鍵驅(qū)動器,其用以根據(jù)該鍵驅(qū)動數(shù)據(jù)驅(qū)動所述多個鍵中的每個鍵;以及再現(xiàn)裝置,其用以并行地再現(xiàn)該自動演奏數(shù)據(jù)和該鍵驅(qū)動數(shù)據(jù),以及其中,該鍵驅(qū)動數(shù)據(jù)發(fā)生器在該再現(xiàn)裝置開始再現(xiàn)之前產(chǎn)生該鍵驅(qū)動數(shù)據(jù)。
2. 如權(quán)利要求l所述的電子鍵盤設備,其中 該自動演奏數(shù)據(jù)包括多個音軌,以及該鍵驅(qū)動數(shù)據(jù)發(fā)生器為所有的所述多個音軌產(chǎn)生鍵驅(qū)動數(shù)據(jù)。
3. 如權(quán)利要求2所述的電子鍵盤設備,還包括音軌選擇器,其用以選 擇所述多個音軌中的一個或多個作為用于鍵驅(qū)動的一個音軌或多個音軌,以 及其中該鍵驅(qū)動器根據(jù)所選擇的一個音軌或多個音軌的鍵驅(qū)動數(shù)據(jù)來驅(qū) 動所述多個鍵中的每個鍵。
4. 如權(quán)利要求1所述的電子鍵盤設備,還包括時機確定裝置,其用以 確定領先預定時間的時機,其中即使用以再現(xiàn)該自動演奏數(shù)據(jù)的節(jié)拍發(fā)生變 化,也不改變該預定時間。
5. 如權(quán)利要求4所述的電子鍵盤設備,其中該自動演奏數(shù)據(jù)還包括表 示節(jié)拍變化的節(jié)拍音軌,以及通過基于該節(jié)拍音軌中的節(jié)拍變化而進行的計算,該時機確定裝置確定 領先預定時間的時機。
6. —種由電子鍵盤設備執(zhí)行的程序,該電子鍵盤設備包括用以存儲自動演奏數(shù)據(jù)的存儲裝置,該自動演奏數(shù)據(jù)包括用以生成樂音的第一事件和 用以定義該第一事件的再現(xiàn)時機的第一時機數(shù)據(jù);具有多個鍵的鍵盤;以及 根據(jù)鍵驅(qū)動數(shù)據(jù)來驅(qū)動所述多個鍵中的每個鍵的鍵驅(qū)動器,該程序包括如下 指令-用于產(chǎn)生鍵驅(qū)動數(shù)據(jù)的指令(a),該鍵驅(qū)動數(shù)據(jù)包括第二事件和第二 時機數(shù)據(jù),其中該第二事件與包括在該自動演奏數(shù)據(jù)中的該第一事件相對 應,該第二時機數(shù)據(jù)定義該第二事件的再現(xiàn)時機并領先于該第一時機數(shù)據(jù)預 定時間;以及用于在該指令(a)之后并行地再現(xiàn)該自動演奏數(shù)據(jù)和該鍵驅(qū)動數(shù)據(jù)的 指令(c)。
全文摘要
一種電子鍵盤設備,包括存儲裝置,用以存儲自動演奏數(shù)據(jù),該自動演奏數(shù)據(jù)包括用以生成樂音的第一事件和定義該第一事件的再現(xiàn)時機的第一時機數(shù)據(jù);鍵驅(qū)動數(shù)據(jù)發(fā)生器,其產(chǎn)生鍵驅(qū)動數(shù)據(jù),該鍵驅(qū)動數(shù)據(jù)包括第二事件和定義該第二事件的再現(xiàn)時機的第二時機數(shù)據(jù),且該第二時機數(shù)據(jù)以預定時間領先于該第一時機數(shù)據(jù),其中該第二事件與包括在該自動演奏數(shù)據(jù)中的該第一事件相對應;鍵盤,其具有多個鍵;鍵驅(qū)動器,其根據(jù)該鍵驅(qū)動數(shù)據(jù)來驅(qū)動所述多個鍵中的每一個;再現(xiàn)裝置,其并行地再現(xiàn)該自動演奏數(shù)據(jù)和該鍵驅(qū)動數(shù)據(jù)。該鍵驅(qū)動數(shù)據(jù)發(fā)生器在該再現(xiàn)裝置啟動再現(xiàn)之前產(chǎn)生該鍵驅(qū)動數(shù)據(jù)。即使鍵驅(qū)動是與再現(xiàn)一起進行的,也可以簡化再現(xiàn)處理。
文檔編號G10G1/00GK101271681SQ200810087330
公開日2008年9月24日 申請日期2008年3月21日 優(yōu)先權(quán)日2007年3月23日
發(fā)明者池田隆志, 清水元英 申請人:雅馬哈株式會社