JP3757712B2 - Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program - Google Patents

Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program Download PDF

Info

Publication number
JP3757712B2
JP3757712B2 JP31047399A JP31047399A JP3757712B2 JP 3757712 B2 JP3757712 B2 JP 3757712B2 JP 31047399 A JP31047399 A JP 31047399A JP 31047399 A JP31047399 A JP 31047399A JP 3757712 B2 JP3757712 B2 JP 3757712B2
Authority
JP
Japan
Prior art keywords
channel
data
event
value
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP31047399A
Other languages
Japanese (ja)
Other versions
JP2001134267A (en
Inventor
仁嗣 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP31047399A priority Critical patent/JP3757712B2/en
Publication of JP2001134267A publication Critical patent/JP2001134267A/en
Application granted granted Critical
Publication of JP3757712B2 publication Critical patent/JP3757712B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子鍵盤楽器に接続して演奏を教習する演奏教習データを送信する演奏教習装置及び演奏教習処理プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
電子鍵盤楽器の中には、鍵盤の各鍵に対応してLED等の発光素子を設けて、曲データの進行に合わせて押鍵すべき鍵に対応する発光素子を点灯させ、曲の演奏練習を可能にする演奏教習の機能、すなわちナビゲーション(以下「ナビ」と称する)の機能をもったものがある。練習する曲データは内部のROM等のメモリにあらかじめ格納することができるが、MIDI規格の電子鍵盤楽器では、フロッピーディスク等の外部記録媒体に記録された曲データや外部のMIDI装置から受信した曲データによって演奏教習を行うことが多い。曲データは通常、メロディパート、リズムパート、コードパート等の複数のパートで構成され、各パートに対応する所定数の入力チャンネルから曲データを入力して、ナビチャンネルとして指定された入力チャンネルのパートについて演奏教習を行う。
【0003】
【発明が解決しようとする課題】
しかしながら、MIDI規格における電子鍵盤楽器においては、ナビチャンネルとして指定された入力チャンネルは固定されているため、その指定された入力チャンネルから入力するパート以外のパートについてはナビ機能が使えない。また、MIDI形式の曲データの中には、特定のパートがナビチャンネルに指定されている場合がある。このため、そのような曲データを入力した場合には、そのナビチャンネルと同じ入力チャンネルがナビチャンネルとして指定されている電子鍵盤楽器でしかナビ機能が使えない。
本発明の課題は、複数のパートからなる曲データを入力した場合に、任意のパートについてナビ機能による演奏練習ができるようにすることである。
【0004】
【課題を解決するための手段】
請求項1に記載の演奏教習装置は、複数のパートからなる曲データを入力するデータ入力手段と、このデータ入力手段によって入力された前記曲データパート数に対応する所定数の出力チャンネルから、任意のパートに対応する出力チャンネルを演奏教習用のガイドパートチャンネルとして選択するパート選択手段と、所定数の入力チャンネルを有する電子鍵盤楽器において演奏教習用のチャンネルとして指定されている入力チャンネルと一致する出力チャンネルをナビチャンネルとして設定するナビチャンネル設定手段と、このナビチャンネル設定手段にてナビチャンネルとして設定された出力チャンネルに前記パート選択手段によって選択されたガイドパートチャンネルとして選択された出力チャンネルに対応するパートの曲データを割り当てるとともに、前記ガイドパートチャンネルとして選択された出力チャンネルに前記設定されたナビチャンネルに対応するパートの曲データを割り当てるチャンネル割当手段と、前記データ入力手段によって入力された前記曲データのパート数に対応する所定数の出力チャンネルから、前記電子鍵盤楽器に対して、前記曲データを送信するデータ送信手段と、を備えた構成になっている。
なおこの場合において、請求項2に記載のように、チャンネル割当手段によって前記選択されたガイドパートチャンネルに対応するパートの曲データが割り当てられた出力チャンネルから、前記電子鍵盤楽器の各鍵に対応して設けられた発光素子を発光させる演奏教習データを前記データ送信手段に送信させる送信制御手段をさらに備える構成にしてもよい。
【0005】
請求項に記載のコンピュータ読み取り可能な記憶媒体は、コンピュータに、複数のパートからなる曲データを入力するデータ入力手順と、このデータ入力手順によって入力された前記曲データパート数に対応する所定数の出力チャンネルから、任意のパートに対応する出力チャンネルを演奏教習用のガイドパートチャンネルとして選択するパート選択手順と、所定数の入力チャンネルを有する電子鍵盤楽器において演奏教習用のチャンネルとして指定されている入力チャンネルと一致する出力チャンネルをナビチャンネルとして設定するナビチャンネル設定手順と、このナビチャンネル設定手順にてナビチャンネルとして設定された出力チャンネルに前記パート選択手順によってガイドパートチャンネルとして選択された出力チャンネルに対応するパートの曲データを割り当てるとともに、前記ガイドパートチャンネルとして選択された出力チャンネルに前記設定されたナビチャンネルに対応するパートの曲データを割り当てるチャンネル割当手順と、前記データ入力手順によって入力された前記曲データのパート数に対応する所定数の出力チャンネルから、前記電子鍵盤楽器に対して、前記曲データを送信するデータ送信手順と、を実行させるための演奏教習データ送信処理プログラムを記録している。
【0006】
請求項1に記載の演奏教習装置の発明又は請求項に記載の記録媒体の発明によれば、複数のパートからなる曲データを入力して、任意のパートを演習教習用のパートに指定し、電子鍵盤楽器において指定されている演奏教習用の入力チャンネルに対応する出力チャンネルにこの演習教習用のパートを割り当てて、その出力チャンネルから演習教習用のパートを電子鍵盤楽器に送信する。
【0007】
【発明の実施の形態】
以下、図1〜図42を参照して本発明の演奏教習装置の実施形態について説明する。この演奏教習装置では、複数のパートで構成された曲データにおいて、特定の1つのパート例えばメロディパートを指定して、そのパートだけを自動演奏から除くマイナスワンのパートに設定する。演奏者は、他のパートの自動演奏に合わせてそのマイナスワンのパートを演奏練習する。この場合において、演奏者の押鍵を待たないモード、すなわち演奏結果に関係なく他のパートの自動演奏を行う「ノーマルレッスンモード」、いずれかの鍵の押鍵を待って次の自動演奏を開始する「イージー(1)レッスンモード」、正しい鍵の押鍵を待って次の自動演奏を開始する「イージー(2)レッスンモード」が選択できる。その他、演奏練習のパートだけを模範演奏として聞くソロ演奏モードを設定することもできる。
【0008】
図1は、演奏教習装置を用いたシステム構成を示している。演奏教習装置10及び電子鍵盤楽器20は、MIDIケーブル30を介して接続されている。演奏教習装置10において、CPU11は、システムバスに接続されている下記の各部に対して制御信号を送出してデータの授受を行ってこの装置全体を制御する。また、CPU11には、演奏教習処理の制御プログラムを格納するROMが内蔵されている。
【0009】
スイッチ部12は、スキャン制御信号に応じて各スイッチのオン・オフ状態のデータを入力する。FDDC(フロッピーディスク・ドライブ・コントローラ)13は、ドライブ制御信号に応じてFDD(フロッピーディスク・ドライバ)14を制御して、装着されたFD(フロッピーディスク)15を駆動させ、FD15の曲データを入力する。曲データについては後述する。RAM16は、スイッチ部12、FDDC13から入力されたデータや、電子鍵盤楽器20との間で送受信するデータ、その他のデータを記憶するためのエリアを備えている。RAM16のエリアのデータ構成については後述する。
【0010】
MIDIインターフェース17は、MIDI出力制御信号に応じてRAM16から読み出されたMIDIデータを電子鍵盤楽器20に送信し、電子鍵盤楽器20から受信したMIDIデータをMIDI入力制御信号に応じてRAM16にストアする。LCDC(LCDコントローラ)18は、表示制御信号とともにCPU11から与えられる表示データをLCD表示部18に送出して表示させる。
【0011】
電子鍵盤楽器20においては、CPU21は、システムバスに接続されている下記の各部に対して制御信号を送出してデータの授受を行ってこの装置全体を制御する。ROM22は、CPU21によって実行される楽音制御処理のプログラムを記憶している。MIDIインターフェース23は、MIDI出力制御信号に応じてMIDIデータを演奏教習装置10に送信し、演奏教習装置10から受信したMIDIデータをMIDI入力制御信号に応じて入力する。インターフェース24は、鍵盤、スイッチ部及び表示部からなる操作・表示部25と、CPU21との間において、押鍵データ、離鍵データ、スイッチオン・オフデータ、表示データの授受を中継する。鍵盤には、各鍵ごとにLED等の発光素子が設けられ、演奏教習装置10からのMIDIデータに応じて点灯又は点滅する。
【0012】
RAM26は、MIDIインターフェース23を介して送受信されるMIDIデータ、インターフェース23を介して授受される押鍵データ、離鍵データ、スイッチオン・オフデータ、表示データを記憶する。音源部27は、CPU21からの発音制御信号及び楽音データに応じて、波形ROM28の波形データを読み出して楽音信号を生成し、その楽音信号をサウンドシステム29に送出して発音させる。
【0013】
図2は、演奏教習装置10の外観図であり、複数のスイッチからなるスイッチ部12、LCD表示部19が正面の操作部に設けられ、側面にはFDD14のFD挿入口が設けられている。図3にスイッチ部の詳細を示す。パワースイッチ31は、この装置の電源をオン・オフするスイッチであり、電源をオンにするとCPU11の制御プログラムが起動する。ファンクションスイッチ32は、演奏モード又は設定モードを選択するためのモード切替スイッチである。ガイドパートスイッチ33は、1つのガイドパートをソロ演奏するガイドパートモード状態又は通常演奏の通常ソング状態を切り替える状態切替スイッチである。セレクトスイッチ34は、「←」マークの左セレクトスイッチ及び「→」マークの右セレクトスイッチからなり、モードに応じて異なる選択機能をもっている。
【0014】
レッスンスイッチ35は、イージー(1)スイッチ、イージー(2)スイッチ、及びノーマルスイッチからなり、レッスン演奏のステップ(段階)を設定する。プレイスイッチ36は、ソロ演奏又は通常演奏を開始する演奏開始スイッチである。ストップスイッチ37は、ソロ演奏、通常演奏、又はレッスン演奏を停止する演奏停止開始スイッチである。ソングセレクトスイッチ38は、演奏する曲を選択するための曲選択スイッチである。バリュースイッチ39は、モードに応じて鍵域又はナビチャンネルを選択するスイッチである。
なお、上記各スイッチの詳細な働きについてはさらに後述する。
【0015】
図4は、LCD表示部19の表示内容のエリアを示している。エリア41は、鍵盤を示し、最大88鍵に対応している。エリア42は、曲の鍵域が電子鍵盤楽器20の高音域側の鍵域を超えたときに点滅するUPセグメントである。エリア43は、曲の鍵域が電子鍵盤楽器20の低音域側の鍵域を超えたときに点滅するDOWNセグメントである。エリア42及び43の間には、1〜16の数字等からなるエリアが設けられている。このエリアは、16個のチャンネルの状態を表している。拡大図に示すように、チャンネル数のエリア44は自動演奏のチャンネルか又は手動演奏のチャンネルであるかを示し、バー表示のエリア45は発音中のチャンネルであるか否かを示している。エリア46は、現在の演奏状態例えばノーマルレッスンモードの状態を表している。その他のエリアについては、本発明には直接関係しないので説明は省略する。
【0016】
図5は、FD(フロッピーディスク)15に記憶されている曲データの構成、及びその曲データを記憶するRAM16の記憶エリアを示している。FD15の曲データは、イベントのデータ及び次イベント開始までのデルタタイムのデータで構成され、アドレスAPによって各データが指定される。イベントには、発音及び音量を示すノートオンイベント、消音を示すノートオフイベントの他、音色を切り替えるプログラムチェンジ、エフェクトを制御するコントロールチェンジのイベント等で構成されている。例えば、ノートオンイベントの場合には、RAM16のレジスタEVENTにはノートオンの音高(鍵番号)がセットされ、ベロシティ用のレジスタにはベロシティがセットされ、レジスタΔTにはデルタタイムがセットされる。また、アドレスポインタのレジスタAPにはイベント又はデルタタイムのアドレスがセットされる。
【0017】
図6は、RAM16の他の記憶エリアを示している。バッファエリア51は、発音処理バッファ、予告点滅バッファ、MIDI押鍵要求バッファ、MIDI・NewONバッファ、MIDI出力バッファ、MIDI入力バッファで構成されている。発音処理バッファは、発音する音高及びベロシティの発音データを記憶する。予告点滅バッファは、次に押鍵すべき電子鍵盤楽器20の鍵に対応する発光素子を点滅するための予告点滅データを記憶する。MIDI押鍵要求バッファは、電子鍵盤楽器20に対して送信した予告点滅データに対応して押鍵すべき鍵の鍵番号を示す押鍵要求データを記憶する。MIDI・NewONバッファは、送信した押鍵指示に応答して電子鍵盤楽器20において新たに押鍵されて送信された鍵番号データを記憶する。MIDI出力バッファ及びMIDI入力バッファは、上記各MIDIデータを含むすべてのMIDIデータについて、電子鍵盤楽器20に送信する送信MIDIデータ、及び電子鍵盤楽器20から受信する受信MIDIデータを記憶する。
【0018】
カウンタエリア52は、再生カウンタ及び予告点滅カウンタで構成されている。再生カウンタは、演奏状態において設定された時間からタイマインタラプトごとにインクリメントされるカウンタである。予告点滅カウンタは、次に押鍵すべき電子鍵盤楽器20の鍵に対応する発光素子を点滅する点滅実時間をデルタタイムの値に応じて累算するカウンタである。
【0019】
レジスタエリア53は、TIME、ガイドパートチャンネル、ナビチャンネル、STEP、発音数、YAP、RANGEの複数のレジスタで構成されている。TIMEレジスタは、デルタタイムによって更新される時間データをセットする。ガイドパートチャンネルのレジスタは、ソロ演奏のチャンネル番号をセットする。ナビチャンネルのレジスタは、演奏教習のパートのチャンネル番号をセットする。STEPレジスタは、いずれかの鍵の押鍵を待って次の自動演奏を開始する「イージー(1)レッスンモード」、正しい鍵の押鍵を待って次の自動演奏を開始する「イージー(2)レッスンモード」、演奏結果に関係なく他のパートの自動演奏を行う「ノーマルレッスンモード」、又は通常の自動演奏モードの設定モードに応じて、それぞれ「1」、「2」、「3」、及び「0」の値をセットする。発音数レジスタは、同時に発音する発音の数をセットする。YAPレジスタは、次に演奏するイベントのアドレスをセットする。RANGEレジスタは、電子鍵盤楽器20の鍵域をセットする。
【0020】
フラグエリア54は、ファンクションフラグ、ガイドパートフラグ、STF(スタートフラグ)、UPオーバーフラグ、DOWNオーバーフラグ、早送りモードフラグ、ウェイトフラグ、点滅フラグで構成され、「0」又は「1」の値に応じて状態を表す。ファンクションフラグは、「0」のとき演奏モード「1」のときファンクションモードを表している。ガイドパートフラグは、「1」のときソロ演奏モードを表している。STF(スタートフラグ)は、「0」のとき自動演奏停止「1」のとき自動演奏を表している。UPオーバーフラグは、「1」のとき高音域側の鍵域オーバーを表している。DOWNオーバーフラグは、「1」のとき低音域側の鍵域オーバーを表している。早送りモードフラグは、「1」のとき早送りモードを表している。ウェイトフラグは、「1」のとき押鍵待ち状態を表している。点滅フラグは、電子鍵盤楽器20の発光素子を点滅するときに点滅周期ごとに値を反転するフラグである。
【0021】
次に、実施形態における演奏教習装置10の動作について、CPU11のフローチャート及びLCD表示部19の表示画面を参照して説明する。
図7はメインフローであり、所定のイニシャライズ処理(ステップA1)の後、スイッチ処理(ステップA2)、表示処理(ステップA3)、FD読込処理(ステップA4)、シーケンス処理(ステップA5)、送信データ作成処理(ステップA6)、予告点滅処理(ステップA7)、MIDI処理(ステップA8)を実行し、パワーオフであるか否かを判別する(ステップA9)。パワーオフでない場合には、上記ステップA2〜ステップA9の各処理を繰り返し実行する。ステップA9においてパワーオフになったときは、パワーオフ処理(ステップA10)を行ってメインフローを終了する。
【0022】
メインフローの実行中において、MIDI出力のタイマインタラプトが入ると、図8に示すMIDI出力割込処理を実行し、MIDI出力バッファの内容を電子鍵盤楽器20に出力して(ステップA11)、メインフローに戻る。また、MIDI入力のタイマインタラプトが入ると、図8に示すMIDI入力割込処理を実行し、電子鍵盤楽器20から受信したMIDIデータをMIDI入力バッファにストアして(ステップA12)、メインフローに戻る。
【0023】
図9は、メインフローにおけるスイッチ処理のフローである。このフローでは、各スイッチのオン・オフ状態を検出する。すなわち、ファンクションスイッチ処理(ステップB1)、イージー(1)スイッチ処理(ステップB2)、イージー(2)スイッチ処理(ステップB3)、ノーマルスイッチ処理(ステップB4)、プレイスイッチ処理(ステップB5)、ストップスイッチ処理(ステップB6)、ガイドパートスイッチ処理(ステップB7)、セレクトスイッチ処理(ステップB8)、バリュースイッチ処理(ステップB9)、その他のスイッチ処理(ステップB10)を実行して、メインフローに戻る。
【0024】
図10は、図9のステップB1におけるファンクションスイッチ処理のフローである。ファンクションスイッチがオンされたか否かを判別し(ステップB11)、オンされたときはファンクションフラグを反転する(ステップB12)。そして、図9のフローに戻る。図11は、図9のステップB7におけるガイドパートスイッチ処理のフローである。このフローでは、ファンクションフラグが0(演奏モード)であるか否かを判別し(ステップB13)、このフラグが1(ファンクションモード)である場合にはこのフローを終了する。このフラグが0である場合には、ガイドスイッチがオンされたか否かを判別する(ステップB14)。オンされていない場合にはこのフローを終了するが、オンされたときはガイドパートフラグを反転する(ステップB15)。そして、図9のフローに戻る。
【0025】
図12は図9のステップB2におけるイージー(1)スイッチ処理のフローである。この処理ではファンクションフラグが0(演奏モード)であるか否かを判別し(ステップB16)、このフラグが1(ファンクションモード)である場合にはこのフローを終了する。このフラグが0である場合には、イージー(1)スイッチがオンであるか否かを判別する(ステップB17)。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンされたときは、レジスタSTEPに1(いずれかの鍵の押鍵を待つイージー(1)モード)をセットする(ステップB18)。また、STFに1(自動演奏)をセットする(ステップB19)。次に、再生カウンタに0をセットしてクリアし(ステップB20)、予告点滅カウンタに0をセットしてクリアする(ステップB21)。次に、アドレスポインタAP及び予告アドレスポインタYAPに初期値0をセットする(ステップB22)。そして、レジスタTIMEに0をセットして(ステップB23)、このフローを終了する。
【0026】
図13は図9のステップB3におけるイージー(2)スイッチ処理のフローである。この処理ではファンクションフラグが0(演奏モード)であるか否かを判別し(ステップB24)、このフラグが1(ファンクションモード)である場合にはこのフローを終了する。このフラグが0である場合には、イージー(2)スイッチがオンであるか否かを判別する(ステップB25)。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンでされたときは、レジスタSTEPに2(正しい鍵の押鍵を待つイージー(2)モード)をセットする(ステップB26)。また、STFに1(自動演奏)をセットする(ステップB27)。次に、再生カウンタに0をセットしてクリアし(ステップB28)、予告点滅カウンタに0をセットしてクリアする(ステップB29)。次に、アドレスポインタAP及び予告アドレスポインタYAPに初期値0をセットする(ステップB30)。そして、レジスタTIMEに0をセットして(ステップB31)、このフローを終了する。
【0027】
図14は図9のステップB4におけるノーマルスイッチ処理のフローである。この処理ではファンクションフラグが0(演奏モード)であるか否かを判別し(ステップB32)、このフラグが1(ファンクションモード)である場合にはこのフローを終了する。このフラグが0である場合には、ノーマルスイッチがオンであるか否かを判別する(ステップB33)。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンでされたときは、レジスタSTEPに3(押鍵を待たないノーマルモード)をセットする(ステップB34)。また、STFに1(自動演奏)をセットする(ステップB35)。次に、再生カウンタに0をセットしてクリアし(ステップB36)、予告点滅カウンタに0をセットしてクリアする(ステップB37)。次に、アドレスポインタAP及び予告アドレスポインタYAPに初期値0をセットする(ステップB38)。そして、レジスタTIMEに0をセットして(ステップB39)、このフローを終了する。
【0028】
図15は図9のステップB5におけるプレイスイッチ処理のフローである。この処理ではファンクションフラグが0(演奏モード)であるか否かを判別し(ステップB40)、このフラグが1(ファンクションモード)である場合にはこのフローを終了する。このフラグが0である場合には、プレイスイッチがオンであるか否かを判別する(ステップB41)。このスイッチがオフである場合にはこのフローを終了するが、このスイッチがオンでされたときは、レジスタSTEPに0(自動演奏モード)をセットする(ステップB42)。また、STFに1(自動演奏)をセットする(ステップB43)。次に、再生カウンタに0をセットしてクリアし(ステップB44)、アドレスポインタAP及び予告アドレスポインタYAPに初期値0をセットする(ステップB45)。そして、レジスタTIMEに0をセットして(ステップB46)、このフローを終了する。
【0029】
図16は、図9のステップB6におけるストップスイッチ処理のフローである。このフローでは、STFに0(自動演奏停止)をセットし(ステップB47)、音源部に対して消音を指示する(ステップB48)。そしてこのフローを終了する。
図17は、図9のステップB8におけるセレクトスイッチ処理のフローである。まず、ファンクションフラグが0(演奏モード)であるか否かを判別する(ステップB49)。このフラグが0である場合には、左セレクトスイッチがオンされたか否かを判別し(ステップB50)、このスイッチがオンされたときは、ガイドパートチャンネルの番号をデクリメントする(ステップB51)。デクリメントしたチャンネル番号が0になったときは、チャンネル番号を16(最大チャンネル番号)に変更する。ステップB50において左セレクトスイッチがオンでない場合には、右セレクトスイッチがオンされたか否かを判別する(ステップB52)。このスイッチがオンされたときは、ガイドパートチャンネルの番号をインクリメントする(ステップB53)。インクリメントしたチャンネル番号が17になったときは、チャンネル番号を1(最小チャンネル番号)に変更する。
【0030】
ステップB49においてファンクションフラグが1(ファンクションモード)である場合には、左セレクトスイッチ又は右セレクトスイッチのいずれか一方がオンされたか否かを判別する(ステップB54)。いずれのスイッチもオンされない場合にはこのフローを終了するが、いずれか一方がオンされたときはファンクションモードのメニューを変更する。すなわち、現在のファンクションモードが鍵域設定モードであるか否かを判別し(ステップB55)、鍵域設定モードである場合にはナビチャンネル設定モードに変更する(ステップB56)。一方、現在のファンクションモードがナビチャンネル設定モードである場合には、鍵域設定モードに変更する(ステップB57)。設定モードを変更した後はこのフロー終了して図9のフローに戻る。
【0031】
図18は、図9のステップB9におけるバリュースイッチ処理のフローである。このフローにおいては、ファンクションモードのメニューに応じた処理を行う。現在のファンクションモードが鍵域設定モードであるか否かを判別し(ステップB58)、このモードである場合には「+」スイッチがオンされたか否かを判別する(ステップB59)。このスイッチがオンされたときは、レジスタRANGEの値をインクリメントする(ステップB60)。「+」スイッチがオンでない場合には、「−」スイッチがオンされたか否かを判別する(ステップB61)。このスイッチがオンされたときは、RANGEの値をデクリメントする(ステップB62)。すなわち,接続されている電子鍵盤楽器20の鍵数に応じた値がRANGEにセットされる。
【0032】
ステップB58において現在のファンクションモードが鍵域設定モードでない場合には、ナビチャンネル設定モードであるか否かを判別する(ステップB63)。このモードである場合には、「+」スイッチがオンされたか否かを判別する(ステップB64)。このスイッチがオンされたときは、ナビチャンネルの番号をインクリメントする(ステップB65)。インクリメントしたチャンネル番号が17になったときはチャンネル番号を1にする。「+」スイッチがオンでない場合には、「−」スイッチがオンされたか否かを判別する(ステップB66)。このスイッチがオンされたときは、ナビチャンネルの番号をデクリメントする(ステップB67)。デクリメントしたチャンネル番号が0になったときは、チャンネル番号を16にする。
ステップB58において鍵域設定モードでなく、ステップB63においてナビチャンネル設定モードでもない場合には、その他の設定処理を行う(ステップB68)。各設定モードに応じた処理の後は、このフローを終了する。
【0033】
図19及び図20は、図7のメインフローにおけるステップA3の表示処理のフローであり、図21〜図23は、表示画面の例を示している。図19において、ファンクションフラグが1(ファンクションモード)であるか否かを判別し(ステップC1)、このフラグが1である場合には、鍵域設定モードであるか否かを判別する(ステップC2)。このモードである場合には、図21(1)〜(5)に示すような鍵域設定画面を表示し(ステップC3)、RANGEに対応する鍵域数を表示する(ステップC4)。電子鍵盤楽器20の鍵数が88鍵である場合には、図18のバリュースイッチ処理においてRANGEの値が88に設定されているので、図21(1)に示すように、鍵盤表示エリアのすべての鍵が点滅し、「88Keys」が表示される。RANGEの値が76である場合には、図21(2)に示すように、鍵盤表示エリアのうち76鍵が点滅し、「76Keys」が表示される。RANGEの値が73、61、49である場合も同様に、図21(3)、(4)、(5)に示す表示画面となる。
【0034】
図19のフローのステップC2において鍵域設定モードでない場合には、ナビチャンネル設定モードであるか否かを判別する(ステップC5)。このモードである場合には、図22に示すようなナビチャンネル設定画面を表示し(ステップC6)、ナビチャンネルを表示する(ステップC7)。図22の例は、ナビチャンネルが4チャンネルの場合である。したがって、「4 Navi.ch」と表示されている。
【0035】
図19のフローのステップC1において、ファンクションフラグが0(演奏モード)である場合には、図20のフローにおいて、図23(1)〜(5)に示すように、演奏状態に対応した演奏画面を表示する(ステップC8)。例えば、通常再生の場合には、チャンネル1からチャンネル16までが自動演奏のチャンネルに設定されるので、図23(1)に示すように、全部のチャンネル番号マークを強調表示し、発音中のチャンネルのチャンネル番号(この例では、1及び4)に対応する位置のマークを点灯する。
【0036】
図20のフローにおいて、ガイドパートフラグが1であるか否かを判別し(ステップC9)、このフラグが1である場合には、ガイドパートチャンネルを表示する(ステップC10)。すなわち、ガイドパート再生の場合には、図23(2)に示すように、自動演奏するソロパートのチャンネル(この例では、4)のチャンネル番号マークのみを強調表示し、発音中のチャンネルのチャンネル番号に対応する位置のマークを点灯する。イージー(1)、イージー(2)及びノーマルのレッスンモードの場合には、マイナスワン演奏であるので図23(3)、(4)に示すように、練習演奏するパートのチャンネル以外の他のチャンネルの番号を強調表示する。演奏停止状態の場合には、発音中のチャンネルは全くないので、図23(5)に示すように、いずれのチャンネル番号のマークも消灯する。
【0037】
また、図20のフローにおいて、STFが1(自動演奏)であるか否かを判別し(ステップC11)、このフラグが1である場合には、MIDI出力バッファ内のノートイベントに基づき鍵表示を行う(ステップC12)。次に、UPオーバーフラグが1(高音域オーバー)であるか否かを判別し(ステップC13)、このフラグが1である場合には、図23(1)、(3)、(4)、(5)に示すように、UPセグメントを点滅する(ステップC14)。また、DOWNオーバーフラグが1(低音域オーバー)であるか否かを判別し(ステップC15)、このフラグが1である場合には、図23(2)に示すように、DOWNセグメントを点滅する(ステップC16)。
【0038】
図24〜図33は、図7のステップA5におけるシーケンス処理のフローである。まず、STFが1(自動演奏)であるか否かを判別し(ステップD1)、このフラグが1である場合には、最小分解能時間が経過したか否かを判別する(ステップD2)。最小分解能時間とは、4分音符の時間長の整数(例えば24)分の1で表される。したがって、テンポが120の場合で4分音符の時間長が500msのときは、最小分解能時間は約21msとなる。最小分解能時間が経過しないときは、ウェイトフラグが0であるか否かを判別し(ステップD3)、このフラグが0で押鍵待ちでない場合には、このフローを終了する。
【0039】
一方、最小分解能時間が経過したときは、レジスタSTEPの値が0(通常自動演奏モード)又は3(押鍵を待たないノーマルレッスンモード)であるか否かを判別する(ステップD4)。STEPの値が0又は3である場合には、経過した最小分解能時間だけ再生カウンタの値をインクリメントする(ステップD5)。そして、STEPの値が0であるか否かを判別する(ステップD6)。この値が0である場合には、通常再生処理を実行する(ステップD7)。そして、メインフローに戻る。
【0040】
図25に通常再生処理のフローを示す。このフローにおいては、指定した曲データがFD(フロッピーディスク)にあるか否かを判別し(ステップD8)、データがない場合にはこのフローを終了する。データがある場合には、FDのアドレスAPのデルタタイムのデータであるMEM[AP]をレジスタΔTにセットする(ステップD9)。すなわち、次のイベントの開始時間をΔTにセットする。そして、再生カウンタの値が、TIMEの値及びΔTの値の加算値以上であるか否かを判別する(ステップD10)。上記したように、再生カウンタの値は最小分解能時間の経過ごとに累積する時間データであるので、再生カウンタの値が小さい場合には、次のイベントの開始時間にまだ達していないので、このフローを終了する。
【0041】
再生カウンタの値が、TIMEの値及びΔTの値の加算値以上である場合、すなわち、再生カウンタの値が次のイベントの開始時間に達している場合には、TIMEの値にΔTの値を加算し(ステップD11)、曲データのアドレスポインタAPの値をインクリメントして(ステップD12)、イベントデータを指定する。そして、そのイベントデータMEM[AP]をレジスタEVENTにセットする(ステップD13)。次に、ガイドパートフラグが1(ソロパート自動演奏)であるか否かを判別する(ステップD14)。このフラグが1である場合には、EVENTのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップD15)。
【0042】
ガイドパートフラグが0である場合、又はEVENTのチャンネルとガイドパートのチャンネルとが同一である場合には、EVENTのデータを発音処理バッファにストアする(ステップD16)。データをストアした後、又はステップD15においてEVENTのチャンネルとガイドパートのチャンネルとが異なる場合には、APの値をインクリメントして(ステップD17)、ステップD8に移行して、ステップD17までの処理を繰り返す。そして、再生カウンタの値がイベントデータの開始時間に達するたびに、そのイベントデータを発音処理バッファにストアする。ステップD8において読み出すべき曲データがなく、曲が終了したときは、メインフローに戻る。
【0043】
図24のフローのステップD6において、STEPの値が0でなく3(押鍵を待たないレッスンモード)である場合には、図26のフローにおいて、再生カウンタの値が予告点滅カウンタの値に達したか否かを判別する(ステップD18)。予告点滅カウンタには、電子鍵盤楽器20の押鍵を教習するために発光素子を点滅させる時間データがセットされている。したがって、最小分解能時間ごとに値が累算される再生カウンタの値が予告点滅カウンタの値に達したときは、現在時間が押鍵タイミング時間に達したときである。そこで、その発光素子を点滅から点灯に変える必要がある。このため、予告点滅カウンタをクリアする(ステップD19)。このカウンタをクリアした後、又は再生カウンタの値が予告点滅カウンタの値にまだ達していない場合には、STEPの値が3(押鍵を待たないレッスンモード)における予告ノート検出処理を実行する(ステップD20)。すなわち、データの先読みを行う。次に、曲データ読込み処理を実行する(ステップD21)。そして、メインフローに戻る。
【0044】
図27は、図26のステップD20における予告ノート検出処理(STEP3)のフローである。FD内にまだ曲データがあるか否かを判別し(ステップD22)、データがない場合すなわち曲が終了したときはこのフローを終了する。まだデータがある場合には、予告アドレスポインタYAPのデルタタイムのデータMEM[YAP]をΔTにセットし(ステップD23)、次の予告アドレスポインタ(YAP+1)のイベントデータをEVENTにセットする(ステップD24)。次に、EVENTのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップD25)。
【0045】
同一でない場合には、予告点滅カウンタの値にΔTの値を加算し(ステップD26A)、 YAPの値に2を加算する(ステップD26B)。すなわち、次の予告ノートのデータを指定する。次に、ステップD22に移行して指定したデータがあるか否かを判別する。そして、ガイドパートのチャンネルと同一のチャンネルのEVENTを検出するまで、ステップD22〜ステップD26Bのループを繰り返す。ステップD25において同一のチャンネルのEVENTを検出したときは、そのEVENTのノートのRANGEは鍵域内であるか否かを判別する(ステップD27)。
【0046】
鍵域内である場合には、EVENTのノートを予告点滅バッファにストアする(ステップD28)。すなわち、押鍵すべき鍵に対応する発光素子を予告点滅させるデータとしてストアする。EVENTのノートのRANGEが鍵域内でない場合には、予告点滅バッファをクリアする(ステップD29)。予告点滅バッファにノートをストアした後、又は、予告点滅バッファをクリアした後は、予告点滅カウンタの値にΔTの値を加算し(ステップD30)、YAPの値に2を加算する(ステップD31)。すなわち、次の予告ノートのデータを指定する。そして、図26のフローのステップD21に移行する。
【0047】
図28は、図26のステップD21における曲データ読込み処理のフローである。指定した曲データがFDにあるか否かを判別し(ステップD32A)、データがない場合にはこのフローを終了する。データがある場合には、FDのアドレスAPのデルタタイムのデータであるMEM[AP]をレジスタΔTにセットする(ステップD32B)。そして、再生カウンタの値が、TIMEの値及びΔTの値の加算値以上であるか否かを判別する(ステップD33)。再生カウンタの値が小さい場合には、次のイベントの開始時間にまだ達していないので、このフローを終了する。
【0048】
再生カウンタの値が、TIMEの値及びΔTの値の加算値以上である場合、すなわち、再生カウンタの値が次のイベントの開始時間に達している場合には、TIMEの値にΔTの値を加算し(ステップD34)、曲データのアドレスポインタAPの値をインクリメントして(ステップD35)、イベントデータを指定する。そして、そのイベントデータMEM[AP]をレジスタEVENTにセットする(ステップD36)。そして、EVENTのデータを発音処理バッファにストアする(ステップD37)。次に、APの値をインクリメントして(ステップD38)、ステップD32Aに移行して、ステップD38までの処理を繰り返す。そして、再生カウンタの値がイベントデータの開始時間に達するたびに、そのイベントデータを発音処理バッファにストアする。ステップD32Aにおいて読み出すべき曲データがなく、曲が終了したときは、メインフローに戻る。
【0049】
図24のシーケンス処理のステップD4において、STEPの値が1(イージー(1)レッスン)又は2(イージー(2)レッスン)である場合には、図29のフローにおいて、予告点滅カウンタの値が再生カウンタの値と同じでないか否かを判別する(ステップD39)。これらの値が同じでない場合、すなわち、電子鍵盤楽器20の発光素子が点滅中で次の押鍵予告を行っているが、再生カウンタの値(時間)が予告点滅カウンタの値(点滅終了時間)に達しておらず、まだ押鍵開始時間に達していない場合には、MIDI押鍵要求バッファにデータがあるか否かを判別する(ステップD40)。
【0050】
このバッファにデータがある場合、すなわち電子鍵盤楽器20側に押鍵すべきノートデータがある場合には、MIDINewONバッファにデータがあるか否かを判別する(ステップD41)。このバッファにデータがある場合、すなわち電子鍵盤楽器20において、まだ押鍵開始時間に達していないにもかかわらず、押鍵がされた場合には、MIDINewONバッファにその押鍵によるノートデータがストアされる。この場合には、STEPの値が2(イージー(2)レッスン)であるか否かを判別する(ステップD42)。STEPの値が2で、正しい押鍵待ちレッスンモードである場合には、MIDI押鍵要求バッファのノートデータとMIDINewONバッファのノートデータとが一致するか否かを判別する(ステップD43)。すなわち、押鍵要求のノートデータと実際の押鍵のノートデータとが一致するか否かを判別する。
【0051】
両バッファのノートデータが一致しない場合には押鍵とは認めず、経過した最小分解能時間(図24のステップD2)だけ再生カウンタの値をインクリメントする(ステップD44)。ステップD40においてMIDI押鍵要求バッファにデータがない場合すなわち鍵域がオーバーしている場合、又は、ステップD41においてMIDINewONバッファにデータがない場合すなわち押鍵がされていない場合にも、ステップD44において再生カウンタの値をインクリメントする。次に、予告点滅バッファはクリアされているか否かを判別する(ステップD45)。このバッファがクリアされている場合には、イージー(1)レッスン及びイージー(2)レッスンにおける予告ノート検出処理を実行する(ステップD46)。すなわち、データの先読みを行う。予告ノート検出処理(STEP1,2)の後、又は、ステップD45において予告点滅バッファにデータがある場合には、図28のフローに示した曲データ読込み処理を実行する(ステップD47)。そして、メインフローに戻る。
【0052】
ステップD42においてSTEPの値が1で、いずれかの鍵の押鍵待ちレッスンモードである場合、又は、ステップD43において、MIDI押鍵要求バッファのノートデータとMIDINewONバッファのノートデータとが一致する場合には、まだ押鍵開始時間に達していないにもかかわらず押鍵がされた場合である。この場合には、図30のフローにおいて、再生カウンタの値を予告点滅カウンタの値に更新する(ステップD48)。すなわち、再生カウンタの値である現在時間を押鍵開始時間に先送りして進めるために、予告点滅カウンタの値に変更する。そして、早送りモードフラグに1(早送りモード)をセットする(ステップD49)。次に、図28のフローに示した曲データ読込み処理を実行する(ステップD50)。すなわちこの場合には、現在時間を進めたその時間差分の曲データを早送りモードで読み込む。
【0053】
また、図29のステップD39において、予告点滅カウンタの値が再生カウンタの値に一致した場合、すなわち、鍵域内のノートの押鍵開始時間に達したとき又は鍵域外のノートの発音時間に達したときは、図30のステップD51において、MIDI押鍵要求バッファにデータがあるか否かを判別する(ステップD51)。このバッファにデータがない場合には、鍵域外であるので、図28のフローに示した曲データ読込み処理を実行する(ステップD50)。すなわちこの場合には、押鍵指示ができないので発音のみを行うために曲データを読み込む。
【0054】
ステップD50における曲データ読込み処理が終了すると、MIDI押鍵要求バッファをクリアし(ステップD52)、予告点滅バッファをクリアする(ステップD53)。そして、イージー(1)レッスン及びイージー(2)レッスンにおける予告ノート検出処理を実行する(ステップD54)。次に、早送りモードフラグが0であるか否かを判別する(ステップD55)。このフラグが0である場合には、経過した最小分解能時間(図24のステップD2)だけ再生カウンタの値をインクリメントする(ステップD56)。そして、メインフローに戻る。早送りモードフラグが1の場合には、ステップD48において再生カウンタの値を予告点滅カウンタの値に更新しているので、再生カウンタのインクリメントをすることなく、メインフローに戻る。
【0055】
図30のステップD51において、MIDI押鍵要求バッファにデータがある場合、すなわち、電子鍵盤楽器20において点滅している発光素子に対応する鍵の押鍵開始時間に達したときは、図31のフローにおいて、ウェイトフラグが0であるか否かを判別する(ステップD57)。このフラグが0である場合には、図28に示した曲データ読込み処理を実行し(ステップD58)、ウェイトフラグに1(押鍵待ちモード)をセットする(ステップD59)。次に、予告点滅バッファをクリアする(ステップD60)。バッファをクリアした後、又は、ステップD57若しくは図24のステップD3においてウェイトフラグが1である場合には、MIDINewONバッファにデータがあるか否かを判別する(ステップD61)。データがない場合には鍵域オーバーであるので、押鍵を待つ必要がないのでメインフローに戻る。
【0056】
MIDINewONバッファにデータがある場合には、STEPの値が2(イージー(2)レッスンモード)であるか否かを判別する(ステップD62)。この値が2で、正しい押鍵待ちモードである場合には、MIDI押鍵要求バッファのノートとMIDINewONバッファのノートとが一致しているか否かを判別する(ステップD63)。両バッファのノートが一致しない場合、すなわち押鍵要求のノートと実際の押鍵されたノートとが異なる場合には、メインフローに戻る。ステップD62においてSTEPの値が1で、いずれかの鍵の押鍵待ちモードである場合、又は、ステップD63において両バッファのノートが一致した場合は、ウェイトフラグに0をセットし(ステップD64)、MIDI押鍵要求バッファをクリアする(ステップD65)。そして、図30のステップD54に移行して、予告ノート検出処理(STEP1,2)を実行する。
【0057】
図32及び図33は、図29のステップD46及び図39のステップD54における予告ノート検出処理(STEP1,2)のフローである。このフローでは、FD(フロッピーディスク)の曲データを検索して予告ノートを先読みする。FD内に曲データがあるか否かを判別し(ステップD66)、データがない場合すなわち曲が終了したときはこのフローを終了する。データがある場合には、予告アドレスポインタYAPのデルタタイムのデータMEM[YAP]をΔTにセットし(ステップD67)、次の予告アドレスポインタ(YAP+1)のイベントデータをEVENTにセットする(ステップD68)。次に、EVENTのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップD69)。
【0058】
同一でない場合には、予告点滅カウンタの値にΔTの値を加算し(ステップD70)、YAPの値に2を加算する(ステップD71)。すなわち、次の予告ノートのデータを指定する。次に、ステップD66に移行して指定したデータがあるか否かを判別する。そして、ガイドパートのチャンネルと同一のチャンネルのEVENTを検出するまで、ステップD66〜ステップD71のループを繰り返す。ステップD69において同一のチャンネルのEVENTを検出したときは、そのEVENTのノートのRANGEは鍵域内であるか否かを判別する(ステップD72)。
【0059】
鍵域内である場合には、EVENTのノートを予告点滅バッファにストアする(ステップD73A)。すなわち、押鍵すべき鍵に対応する発光素子を予告点滅させるデータとしてストアする。また、EVENTのノートをMIDI押鍵要求バッファにストアする(ステップD73B)。ステップD72においてEVENTのノートのRANGEが鍵域外である場合には、予告点滅バッファをクリアする(ステップD74)。予告点滅バッファをクリアした後、又は、ステップD73BにおいてMIDI押鍵要求バッファにノートをストアした後は、予告点滅カウンタの値にΔTの値を加算し(ステップD75)、YAPの値に2を加算する(ステップD76)。すなわち、次の予告ノートのデータを指定する。そして、発音数のレジスタに1をセットする(ステップD77)。
【0060】
次に、YAPで指定したアドレスのデータがあるか否かを判別し(ステップD78)、データがない場合にはこのフローを終了する。データがある場合には、予告アドレスポインタYAPのデルタタイムのデータMEM[YAP]をΔTにセットし(ステップD79)、次の予告アドレスポインタ(YAP+1)のイベントデータをEVENTにセットする(ステップD80)。次に、予告点滅カウンタの値にΔTの値を加算した値が、予告点滅カウンタの値に所定値αを加算した値以内であるか否かを判別する(ステップD81)。所定値αは、シーケンスデータ構成の曲データにおいて、先読みしてEVENTにセットしたノートが、前に読み出したノートと同時に発音すべき和音のノートであるかどうかを判別する閾値である。予告点滅カウンタの値にΔTの値を加算した値が、予告点滅カウンタの値に所定値αを加算した値を超えている場合には、EVENTのノートは前のノートと和音を構成しないので、このフローを終了する。
【0061】
予告点滅カウンタの値にΔTの値を加算した値が、予告点滅カウンタの値に所定値αを加算した値以内である場合には、EVENTのノートは前に読み出したノートと和音を構成するノートであるので、図33のフローにおいて、EVENTのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップD82)。チャンネルが同一でない場合にはこのフローを終了する。チャンネルが同一の場合には、発音数レジスタにセットされている現在の発音数に1を加算した発音数が、最大発音数以内であるか否かを判別する(ステップD83)。現在の発音数に1を加算した発音数が最大発音数(指数)を超えている場合には、図32のステップD80においてEVENTにセットした最新のノートを前の複数のノートと同時に押鍵して発音できないので、このフローを終了する。
【0062】
現在の発音数に1を加算した発音数が、最大発音数以内である場合には、EVENTにセットした最新のノートを前の複数のノートと同時に押鍵して発音できるので、発音数レジスタの値を1だけインクリメントする(ステップD84)。次に、そのノートのRANGEは鍵域内か否かを判別し(ステップD85)、鍵域内である場合には、EVENTのノートを予告点滅バッファにストアし(ステップD86)、EVENTのノートをMIDI押鍵要求バッファにストアする(ステップD87)。次に、予告点滅カウンタの値にΔTの値を加算する(ステップD88)。そして、YAPのアドレスを2だけ加算して(ステップD89)、次のイベントデータを指定する。そして、図32のステップD78に移行して、その指定したデータがあるか否かを判別する。データがある場合には、ステップD78〜ステップD89のループを繰り返す。
【0063】
図34は、図7のメインフローのステップA6における送信データ作成処理のフローである。発音処理バッファにデータがあるか否かを判別し(ステップE1)、データがある場合には、そのデータはノートオン又はノートオフのイベントであるか否かを判別する(ステップE2)。ノートイベントである場合には、STEPの値が0(通常自動演奏)であるか否かを判別する(ステップE3)。STEPの値が0である場合、又は、発音処理バッファのデータがノートイベントでない場合には、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップE4)。
【0064】
この2つのチャンネルが同一である場合には、イベントのチャンネルをナビチャンネルに変更する(ステップE5)。2つのチャンネルが異なる場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する(ステップE6)。この2つのチャンネルが同一である場合には、イベントのチャンネルをガイドパートのチャンネルに変更する(ステップE7)。そして、イベントをMIDI出力バッファに転送する(ステップE8)。例えば、図35に示すように、FDに記憶されている曲データのガイドパートチャンネルが8チャンネルで、ナビチャンネルが4チャンネルの場合、4チャンネルのイベントをMIDI出力バッファの8チャンネルに転送し、8チャンネルのイベントをMIDI出力バッファの4チャンネルに転送する。ステップE4、ステップE6において、イベントがガイドパートチャンネルでもなく、ナビチャンネルでもない場合には、図35に示すように、そのイベントをMIDI出力バッファの同じチャンネルに転送する。
【0065】
ステップE3において、STEPの値が0でない場合には、STEPの値が3であるか否か、すなわち押鍵を待たないレッスンモードであるか否かを判別する(ステップE9)。この値が3である場合には、STEP(3)再生処理を実行する(ステップE10)。この値が3でない場合、すなわち1又は2である場合には、STEP(1,2)再生処理を実行する(ステップE11)。ステップE8においてイベントをMIDI出力バッファに転送した後、又は、ステップE10若しくはE11において再生処理を実行した後は、ステップE1に移行して発音処理バッファのデータの有無を判別する。データがある場合には上記各ステップを繰り返し、発音処理バッファのすべてのデータを処理してデータがなくなったときは、1にセットされている早送りモードフラグを0にして(ステップE12)、メインフローに戻る。
【0066】
図36〜図38は、図34のステップE11におけるSTEP(1,2)再生処理のフローである。図36において、イベントのノートはRANGEの鍵域内か否かを判別し(ステップE13)、RANGEの鍵域内である場合には、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップE14)。チャンネルが同一である場合には、イベントはノートオンイベントであるか否かを判別する(ステップE15)。ノートオンイベントである場合には、早送りモードフラグが0であるか否かを判別する(ステップE16)。このフラグが0で早送りモードでない場合には、イベントのベロシティ値を1(最小値)に変更する(ステップE17)。
【0067】
ベロシティ値を変更した後、又は、ステップE15においてイベントがノートオンイベントでない場合すなわちノートオフイベントである場合には、イベントのチャンネルをナビチャンネルに変更する(ステップE18)。そして、イベントをMIDI出力バッファに転送する(ステップE19)。イベントを転送した後、又は、ステップE16において早送りモードフラグが1(早送りモード)である場合には、図34のフローのステップE1に戻る。
【0068】
図36のステップE13において、イベントのノートがRANGEの鍵域内でない場合には、そのノートがRANGEの高音域側の鍵域外であるか否かを判別する(ステップE20)。高音域側である場合には、UPオーバーフラグに1をセットする(ステップE21)。高音域側でない場合すなわち低音域側である場合には、DOWNオーバーフラグに1をセットする(ステップE22)。
【0069】
ステップE14においてイベントのチャンネルとガイドパートのチャンネルおとが同一でない場合には、図37のフローにおいて、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する(ステップE23)。チャンネルが同一である場合には、早送りモードフラグが0であるか否かを判別する(ステップE24)。このフラグが0である場合には、イベントのチャンネルをガイドパートのチャンネルに変更し(ステップE25)、イベントをMIDI出力バッファに転送する(ステップE26)。イベントを転送した後、又は、ステップE24において早送りモードフラグが1(早送りモード)である場合には、図34のフローのステップE1に戻る。
【0070】
ステップE23において、イベントのチャンネルとガイドパートのチャンネルとが同一でない場合、すなわち、イベントのチャンネルがナビチャンネルともガイドパートチャンネルとも異なる場合には、早送りモードフラグが0であるか否かを判別する(ステップE27)。このフラグが0である場合には、イベントをMIDI出力バッファに転送する(ステップE28)。イベントを転送した後、又は、ステップE27において早送りモードフラグが1(早送りモード)である場合には、図34のフローのステップE1に戻る。
【0071】
図36のステップE21又はステップE22において、UPオーバーフラグ又はDOWNオーバーフラグに1をセットした後は、図38のフローにおいて、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップE29)。チャンネルが同一である場合には、早送りモードフラグが0であるか否かを判別する(ステップE30)。このフラグが0で早送りモードでない場合には、イベントのチャンネルをナビチャンネルに変更する(ステップE31)。そして、イベントをMIDI出力バッファに転送する(ステップE32)。イベントを転送した後、又は、ステップE30において早送りモードフラグが1(早送りモード)である場合には、図34のフローのステップE1に戻る。
【0072】
ステップE29において、イベントのチャンネルとガイドパートのチャンネルとが異なる場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する(ステップE33)。チャンネルが同一である場合には、早送りモードフラグが0であるか否かを判別する(ステップE34)。このフラグが0である場合には、イベントのチャンネルをガイドパートのチャンネルに変更し(ステップE35)、イベントをMIDI出力バッファに転送する(ステップE36)。イベントを転送した後、又は、ステップE34において早送りモードフラグが1(早送りモード)である場合には、図34のフローのステップE1に戻る。
【0073】
ステップE33において、イベントのチャンネルとガイドパートのチャンネルとが同一でない場合、すなわち、イベントのチャンネルがナビチャンネルともガイドパートチャンネルとも異なる場合には、早送りモードフラグが0であるか否かを判別する(ステップE37)。このフラグが0である場合には、イベントをMIDI出力バッファに転送する(ステップE38)。イベントを転送した後、又は、ステップE37において早送りモードフラグが1(早送りモード)である場合には、図34のフローのステップE1に戻る。
【0074】
図39及び図40は、図34のフローのステップE10におけるSTEP(3)再生処理のフローである。図39において、イベントのノートはRANGEの鍵域内か否かを判別し(ステップE39)、RANGEの鍵域内である場合には、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップE40)。チャンネルが同一である場合には、イベントはノートオンイベント又はノートオフイベントであるか否かを判別する(ステップE41)。ノートオンイベント又はノートオフイベントである場合には、イベントのチャンネルをナビチャンネルに変更する(ステップE42)。
【0075】
次に、イベントはノートオンイベントであるか否かを判別する(ステップE43)。ノートオンイベントである場合には、イベントのベロシティ値を1(最小値)に変更する(ステップE44)。ベロシティ値を変更した後、又は、ステップE43においてイベントがノートオンイベントでない場合すなわちノートオフイベントである場合には、イベントをMIDI出力バッファに転送する(ステップE45)。ステップE41においてイベントがノートイベントでない場合には、イベントのチャンネルをナビチャンネルに変更し(ステップE46)、イベントをMIDI出力バッファに転送する(ステップE45)。イベントを転送した後は、図34のフローのステップE1に戻る。
【0076】
ステップE40において、イベントのチャンネルとガイドパートのチャンネルとが同一でない場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する(ステップE47)。チャンネルが同一である場合には、イベントのチャンネルをガイドパートのチャンネルに変更する(ステップE48)。チャンネルを変更した後、又は、ステップE47においてイベントのチャンネルとガイドパートのチャンネルとが同一でない場合、すなわちイベントのチャンネルがガイドパートのチャンネルともナビチャンネルとも異なる場合には、イベントをMIDI出力バッファに転送する(ステップE49)。イベントを転送した後は、図34のフローのステップE1に戻る。
【0077】
図39のステップE39において、イベントがRANGEの鍵域内でない場合には、図40のフローにおいて、イベントのノートがRANGEの高音域側の鍵域外すなわち上限オーバーであるか否かを判別する(ステップE50)。上限オーバーである場合には、UPオーバーフラグに1をセットする(ステップE51)。上限オーバーでない場合すなわち低音域側の下限オーバーである場合には、DOWNオーバーフラグに1をセットする(ステップE52)。UPオーバーフラグ又はDOWNオーバーフラグに1をセットした後は、イベントのチャンネルとガイドパートのチャンネルとが同一であるか否かを判別する(ステップE53)。チャンネルが同一である場合には、イベントのチャンネルをナビチャンネルに変更する(ステップE54)。
【0078】
ステップE53においてイベントのチャンネルとガイドパートのチャンネルとが同一でない場合には、イベントのチャンネルとナビチャンネルとが同一であるか否かを判別する(ステップE55)。チャンネルが同一である場合には、イベントのチャンネルをガイドパートのチャンネルに変更する(ステップE56)。ステップE54若しくはステップE56において、チャンネルを変更した後、又は、ステップE53若しくはステップE55において、イベントのチャンネルがガイドパートのチャンネルともナビチャンネルとも異なる場合には、イベントをMIDI出力バッファに転送する(ステップE57)。イベントを転送した後は、図34のフローのステップE1に戻る。
【0079】
図41は、図7のメインフローのステップA7における予告点滅処理のフローである。このフローでは、電子鍵盤楽器20の発光素子を点滅させるために、点滅周期時間ごとに、点灯データ及び消灯データを交互に送信する。すなわち、点滅周期時間が経過したか否かを判別し(ステップF1)、経過していない場合にはメインフローに戻る。経過したときは、点滅フラグを反転する(ステップF2)。そして、点滅フラグが1であるか否かを判別する(ステップF3)。このフラグが1である場合には、予告点滅バッファ内のノートでノートオンデータを作成する(ステップF4)。また、イベントのベロシティ値を1すなわち最小値に変更する(ステップF5)。そして、イベントをMIDI出力バッファに転送する(ステップF6)。
【0080】
ステップF3において点滅フラグが0である場合には、予告点滅バッファ内のノートでノートオフデータを作成し(ステップF7)、そのノートオフデータのイベントをMIDI出力バッファに転送する(ステップF6)。イベントを転送した後、予告点滅バッファにまだノートデータがあるか否かを判別する(ステップF8)。まだノートデータがある場合には、ステップF3〜ステップF8の処理を繰り返し、予告点滅バッファの処理すべきノートデータがなくなったときは、メインフローに戻る。
【0081】
図42は、図7のメインフローのステップA8におけるMIDI処理のフローである。MIDI入力バッファに新たなイベントの入力があるか否かを判別し(ステップG1)、新たな入力があったときはそのイベントがノートオンデータであるか否かを判別する(ステップG2)。すなわち、電子鍵盤楽器20において押鍵されたノートオンデータであるか否かを判別する。入力されたイベントがノートオンデータでない場合、又は、MIDI入力バッファに新たなイベントの入力がない場合には、メインフローに戻る。入力されたイベントがノートオンデータである場合には、そのイベントのノートをMIDINewONバッファにストアする(ステップG3)。そして、メインフローに戻る。
【0082】
このように上記実施形態によれば、FD15から読み出した複数のパートからなる曲データを入力して、任意のパートを演習教習用のパートに指定し、電子鍵盤楽器20において指定されている演奏教習用の入力チャンネル(ナビチャンネル)に対応する出力チャンネルにこの演習教習用のパートを割り当てて、その出力チャンネルから演習教習用のパートを電子鍵盤楽器20に送信する。
したがって、複数のパートからなる曲データを入力した場合に、任意のパートについてナビ機能による演奏練習ができる。
【0083】
この場合において、演奏教習用のパートに割り当てられた出力チャンネルから、電子鍵盤楽器20の各鍵に対応して設けられた発光素子を発光させる演奏教習データを送信させる。
したがって、任意のパートについて押鍵すべき鍵の練習をすることができる。
【0084】
また、入力された曲データにおいて演奏教習用のパートが指定されている場合には、その指定されているパートが選択されたガイドパートと異なるパートであるときは、その演奏教習用として指定されているパートをガイドパートに割り当てた出力チャンネルとは異なる他の出力チャンネルに割り当てる。
したがって、入力された曲データにおいて演奏教習用のパートが指定されている場合でも、そのパートを演奏教習を行わないチャンネル、すなわち発音するチャンネルに割り当てることができる。
【0085】
なお、上記実施形態においては、電子鍵盤楽器20と専用の演奏教習装置10とを接続するシステム構成について説明したが、パソコン等の汎用のコンピュータと電子鍵盤楽器とを接続して、コンピュータによる演奏教習処理を行うシステム構成も可能である。
この場合には、フロッピーディスク等の記録媒体に、複数のパートからなる曲データを入力するデータ入力手順と、このデータ入力手順によって入力された前記曲データのパート数に対応する所定数の出力チャンネルから、当該所定数の入力チャンネルを有する電子鍵盤楽器に対して、所定の通信手段を介して前記曲データを送信するデータ送信手順と、前記データ入力手順によって入力された前記曲データの任意のパートを演奏教習用のガイドパートとして選択するパート選択手順と、前記電子鍵盤楽器において演奏教習用のチャンネルとして指定されている入力チャンネルに対応する出力チャンネルに前記パート選択手順によって選択されたガイドパートを割り当てるチャンネル割当手順と、を実行する演奏教習処理プログラムを記録して、このプログラムをコンピュータにロードして、上記実施形態に示した演奏教習処理を実行させる。
【0086】
【発明の効果】
本発明によれば、複数のパートからなる曲データを入力して、任意のパートを演習教習用のパートに指定し、電子鍵盤楽器において指定されている演奏教習用の入力チャンネルに対応する出力チャンネルにこの演習教習用のパートを割り当てて、その出力チャンネルから演習教習用のパートを電子鍵盤楽器に送信する。したがって、複数のパートからなる曲データを入力した場合に、任意のパートについてナビ機能による演奏練習ができる。
【図面の簡単な説明】
【図1】本発明の演奏教習装置を用いた実施形態のシステム構成を示すブロック図。
【図2】図1における演奏教習装置の外観を示す斜視図。
【図3】図2におけるスイッチ部の詳細図。
【図4】図2におけるLCD表示部の表示内容を示す図。
【図5】図1におけるFDに記憶されている曲データの構成を示す図。
【図6】図1におけるRAMの記憶エリアの構成を示す図。
【図7】図1における演奏教習装置のCPUのメインフローチャート。
【図8】CPUのMIDI割込処理のフローチャート。
【図9】図7におけるスイッチ処理のフローチャート。
【図10】図9におけるファンクションスイッチ処理のフローチャート。
【図11】図9におけるガイドパートスイッチ処理のフローチャート。
【図12】図9におけるイージー(1)スイッチ処理のフローチャート。
【図13】図9におけるイージー(2)スイッチ処理のフローチャート。
【図14】図9におけるノーマルスイッチ処理のフローチャート。
【図15】図9におけるプレイスイッチ処理のフローチャート。
【図16】図9におけるストップスイッチ処理のフローチャート。
【図17】図9におけるセレクトスイッチ処理のフローチャート。
【図18】図9におけるバリュースイッチ処理のフローチャート。
【図19】図7における表示処理のフローチャート。
【図20】図19に続く表示処理のフローチャート。
【図21】LCD表示部における鍵域設定画面を示す図。
【図22】LCD表示部におけるナビチャンネル設定画面を示す図。
【図23】LCD表示部における鍵域オーバーの画面を示す図。
【図24】図7におけるシーケンス処理のフローチャート。
【図25】図24における通常再生処理のフローチャート。
【図26】図24に続くシーケンス処理のフローチャート。
【図27】図26における予告ノート検出処理STEP(3)のフローチャート。
【図28】図26、図29、図30、及び図31における曲データ読込み処理のフローチャート。
【図29】図24に続くシーケンス処理のフローチャート。
【図30】図29に続くシーケンス処理のフローチャート。
【図31】図30に続くシーケンス処理のフローチャート。
【図32】図29及び図30における予告ノート検出処理STEP(1,2)のフローチャート。
【図33】図32に続く予告ノート検出処理STEP(1,2)のフローチャート。
【図34】図7における送信データ作成処理のフローチャート。
【図35】送信データ作成処理におけるチャンネル変更の様子を示す図。
【図36】図34におけるSTEP(1,2)再生処理のフローチャート。
【図37】図36に続くSTEP(1,2)再生処理のフローチャート。
【図38】図36に続くSTEP(1,2)再生処理のフローチャート。
【図39】図34におけるSTEP(3)再生処理のフローチャート。
【図40】図39に続くSTEP(3)再生処理のフローチャート。
【図41】図7における予告点滅処理のフローチャート。
【図42】図7におけるMIDI処理のフローチャート。
【符号の説明】
11 CPU
12 スイッチ部
13 FDDC
14 FDD
15 FD
16 RAM
17 MIDIインターフェース
18 LCDD
19 LCD表示部
20 電子鍵盤楽器
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a performance learning apparatus that transmits performance learning data that is connected to an electronic keyboard instrument to learn a performance, and a recording medium that records a performance learning processing program.
[0002]
[Prior art]
Some electronic keyboard instruments are equipped with light-emitting elements such as LEDs corresponding to each key on the keyboard, and the light-emitting elements corresponding to the keys to be pressed are turned on in accordance with the progress of the song data, so that the music can be practiced. There is a performance learning function that makes it possible, that is, a navigation function (hereinafter referred to as “navigation”). The music data to be practiced can be stored in advance in a memory such as an internal ROM. However, with MIDI standard electronic keyboard instruments, music data recorded on an external recording medium such as a floppy disk or music received from an external MIDI device. There are many performance lessons based on data. Song data is usually composed of multiple parts such as a melody part, rhythm part, and chord part. The song data is input from a predetermined number of input channels corresponding to each part, and the part of the input channel designated as the navigation channel. Performing performance lessons.
[0003]
[Problems to be solved by the invention]
However, in the electronic keyboard instrument in the MIDI standard, the input channel designated as the navigation channel is fixed, and therefore the navigation function cannot be used for parts other than the part input from the designated input channel. In addition, there is a case where a specific part is designated as a navigation channel in the music data in the MIDI format. Therefore, when such song data is input, the navigation function can be used only with an electronic keyboard instrument in which the same input channel as the navigation channel is designated as the navigation channel.
An object of the present invention is to enable performance practice by a navigation function for an arbitrary part when music data composed of a plurality of parts is input.
[0004]
[Means for Solving the Problems]
The performance learning apparatus according to claim 1 is an arbitrary one of data input means for inputting music data composed of a plurality of parts and a predetermined number of output channels corresponding to the number of music data parts input by the data input means. Part selection means for selecting an output channel corresponding to the part as a guide part channel for performance learning, and an output that matches an input channel designated as a performance training channel in an electronic keyboard instrument having a predetermined number of input channels A navigation channel setting means for setting the channel as a navigation channel, and a part corresponding to the output channel selected as the guide part channel selected by the part selection means for the output channel set as the navigation channel by the navigation channel setting means Divide the song data of Corresponding to the number of parts of the song data input by the data input means, channel assigning means for assigning the song data of the part corresponding to the set navigation channel to the output channel selected as the guide part channel Data transmission means for transmitting the music data to the electronic keyboard instrument from a predetermined number of output channels .
In this case, as described in claim 2, the channel assignment means corresponds to each key of the electronic keyboard instrument from the output channel to which the song data of the part corresponding to the selected guide part channel is assigned. A transmission control unit for transmitting performance learning data for causing the light emitting element provided to emit light to the data transmission unit may be further provided.
[0005]
A computer-readable storage medium according to claim 3 is a data input procedure for inputting music data consisting of a plurality of parts to a computer, and a predetermined number corresponding to the number of music data parts input by the data input procedure. Part selection procedure for selecting an output channel corresponding to an arbitrary part as a guide part channel for performance learning from the output channels, and an electronic keyboard instrument having a predetermined number of input channels is designated as a performance training channel The navigation channel setting procedure for setting the output channel that matches the input channel as the navigation channel, and the output channel set as the navigation channel in this navigation channel setting procedure to the output channel selected as the guide part channel by the part selection procedure A channel allocating procedure for allocating the song data of the corresponding part and allocating the song data of the part corresponding to the set navigation channel to the output channel selected as the guide part channel, and the data input procedure A performance training data transmission processing program for executing a data transmission procedure for transmitting the music data to the electronic keyboard instrument from a predetermined number of output channels corresponding to the number of parts of the music data is recorded. .
[0006]
According to the performance learning device invention of claim 1 or the recording medium invention of claim 3 , a song data consisting of a plurality of parts is input and an arbitrary part is designated as a part for exercise training. The exercise training part is assigned to the output channel corresponding to the performance training input channel specified in the electronic keyboard instrument, and the exercise training part is transmitted from the output channel to the electronic keyboard instrument.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the performance learning apparatus of the present invention will be described with reference to FIGS. In this performance learning device, a specific one part, for example, a melody part is specified in music data composed of a plurality of parts, and only that part is set as a minus one part that is excluded from automatic performance. The performer will practice playing the minus one part in time with the automatic performance of the other parts. In this case, the mode that does not wait for the player to press the key, that is, the “normal lesson mode” in which the other parts are automatically played regardless of the performance result, and the next automatic performance is started after the key is pressed. "Easy (1) lesson mode" can be selected, and "Easy (2) lesson mode" in which the next automatic performance is started after the correct key is pressed can be selected. In addition, it is possible to set a solo performance mode in which only performance practice parts are heard as model performances.
[0008]
FIG. 1 shows a system configuration using a performance learning apparatus. The performance learning device 10 and the electronic keyboard instrument 20 are connected via a MIDI cable 30. In the performance learning apparatus 10, the CPU 11 sends control signals to the following units connected to the system bus to exchange data to control the entire apparatus. The CPU 11 has a built-in ROM that stores a control program for performance learning processing.
[0009]
The switch unit 12 inputs ON / OFF state data of each switch according to the scan control signal. The FDDC (floppy disk drive controller) 13 controls the FDD (floppy disk driver) 14 according to the drive control signal, drives the mounted FD (floppy disk) 15, and inputs the music data of the FD 15 To do. The song data will be described later. The RAM 16 includes an area for storing data input from the switch unit 12 and the FDDC 13, data transmitted to and received from the electronic keyboard instrument 20, and other data. The data structure of the RAM 16 area will be described later.
[0010]
The MIDI interface 17 transmits the MIDI data read from the RAM 16 according to the MIDI output control signal to the electronic keyboard instrument 20 and stores the MIDI data received from the electronic keyboard instrument 20 in the RAM 16 according to the MIDI input control signal. . An LCDC (LCD controller) 18 sends display data given from the CPU 11 together with a display control signal to the LCD display unit 18 for display.
[0011]
In the electronic keyboard instrument 20, the CPU 21 sends control signals to the following units connected to the system bus to exchange data and control the entire apparatus. The ROM 22 stores a program for musical tone control processing executed by the CPU 21. The MIDI interface 23 transmits MIDI data to the performance learning apparatus 10 according to the MIDI output control signal, and inputs the MIDI data received from the performance learning apparatus 10 according to the MIDI input control signal. The interface 24 relays exchange of key press data, key release data, switch on / off data, and display data between the CPU 21 with an operation / display unit 25 including a keyboard, a switch unit, and a display unit. The keyboard is provided with a light emitting element such as an LED for each key, and lights or blinks in accordance with MIDI data from the performance learning apparatus 10.
[0012]
The RAM 26 stores MIDI data transmitted / received via the MIDI interface 23, key pressing data exchanged via the interface 23, key release data, switch on / off data, and display data. The sound source unit 27 reads the waveform data in the waveform ROM 28 in accordance with the tone generation control signal and tone data from the CPU 21 to generate a tone signal, and sends the tone signal to the sound system 29 for sound generation.
[0013]
FIG. 2 is an external view of the performance learning apparatus 10, in which a switch unit 12 including a plurality of switches and an LCD display unit 19 are provided in a front operation unit, and an FD insertion port of the FDD 14 is provided on a side surface. FIG. 3 shows details of the switch unit. The power switch 31 is a switch for turning on / off the power of the apparatus. When the power is turned on, the control program of the CPU 11 is activated. The function switch 32 is a mode changeover switch for selecting a performance mode or a setting mode. The guide part switch 33 is a state changeover switch for switching between a guide part mode state in which one guide part is played solo or a normal song state in normal performance. The select switch 34 includes a left select switch with a “←” mark and a right select switch with a “→” mark, and has different selection functions depending on the mode.
[0014]
The lesson switch 35 includes an easy (1) switch, an easy (2) switch, and a normal switch, and sets the step of the lesson performance. The play switch 36 is a performance start switch for starting solo performance or normal performance. The stop switch 37 is a performance stop start switch that stops solo performance, normal performance, or lesson performance. The song selection switch 38 is a song selection switch for selecting a song to be played. The value switch 39 is a switch for selecting a key range or a navigation channel according to a mode.
The detailed function of each switch will be described later.
[0015]
FIG. 4 shows an area of display contents of the LCD display unit 19. Area 41 shows a keyboard and corresponds to a maximum of 88 keys. The area 42 is an UP segment that blinks when the key range of the song exceeds the high-frequency range of the electronic keyboard instrument 20. The area 43 is a DOWN segment that flashes when the key range of the song exceeds the low-frequency range of the electronic keyboard instrument 20. Between the areas 42 and 43, an area composed of numbers 1 to 16 is provided. This area represents the status of 16 channels. As shown in the enlarged view, the channel number area 44 indicates whether the channel is an automatic performance channel or a manual performance channel, and the bar display area 45 indicates whether the channel is sounding. An area 46 represents the current performance state, for example, the normal lesson mode state. Since other areas are not directly related to the present invention, the description thereof is omitted.
[0016]
FIG. 5 shows the composition of music data stored in an FD (floppy disk) 15 and the storage area of the RAM 16 for storing the music data. The music data of the FD 15 includes event data and delta time data until the start of the next event, and each data is designated by an address AP. The event includes a note-on event indicating sound generation and volume, a note-off event indicating mute, a program change for switching timbres, a control change event for controlling effects, and the like. For example, in the case of a note-on event, note-on pitch (key number) is set in the register EVENT of the RAM 16, velocity is set in the velocity register, and delta time is set in the register ΔT. . In addition, the address of the event or delta time is set in the register AP of the address pointer.
[0017]
FIG. 6 shows another storage area of the RAM 16. The buffer area 51 includes a sound generation processing buffer, a notice flashing buffer, a MIDI key press request buffer, a MIDI / NewON buffer, a MIDI output buffer, and a MIDI input buffer. The tone generation buffer stores tone pitch and velocity tone generation data. The notice blinking buffer stores notice blink data for blinking the light emitting element corresponding to the key of the electronic keyboard instrument 20 to be pressed next. The MIDI key press request buffer stores key press request data indicating the key number of the key to be pressed corresponding to the notice flashing data transmitted to the electronic keyboard instrument 20. The MIDI / NewON buffer stores key number data newly transmitted and transmitted by the electronic keyboard instrument 20 in response to the transmitted key pressing instruction. The MIDI output buffer and the MIDI input buffer store transmission MIDI data to be transmitted to the electronic keyboard instrument 20 and reception MIDI data to be received from the electronic keyboard instrument 20 for all the MIDI data including the respective MIDI data.
[0018]
The counter area 52 includes a reproduction counter and a notice flashing counter. The playback counter is a counter that is incremented for each timer interrupt from the time set in the performance state. The notice blinking counter is a counter that accumulates the blinking actual time for blinking the light emitting element corresponding to the key of the electronic keyboard instrument 20 to be depressed next according to the value of the delta time.
[0019]
The register area 53 includes a plurality of registers of TIME, guide part channel, navigation channel, STEP, number of sound generations, YAP, and RANGE. The TIME register sets time data updated by delta time. The guide part channel register sets the channel number of the solo performance. The navigation channel register sets the channel number of the performance learning part. The STEP register waits for one of the keys to be pressed to start the next automatic performance “Easy (1) Lesson Mode”, and waits for the correct key to be pressed to start the next automatic performance “Easy (2)” “1”, “2”, “3”, and “lesson mode”, “normal lesson mode” in which other parts are automatically played regardless of the performance result, and normal automatic performance mode setting mode, respectively. Set the value of “0”. The pronunciation number register sets the number of pronunciations to be pronounced simultaneously. The YAP register sets the address of the next event to be played. The RANGE register sets the key range of the electronic keyboard instrument 20.
[0020]
The flag area 54 is composed of a function flag, a guide part flag, an STF (start flag), an UP over flag, a DOWN over flag, a fast-forward mode flag, a wait flag, and a flashing flag, depending on the value of “0” or “1”. State. The function flag indicates the function mode when the performance mode is “1” when “0”. When the guide part flag is “1”, it represents the solo performance mode. STF (start flag) indicates automatic performance stop when “0” and automatic performance when “1”. When the UP over flag is “1”, it indicates that the upper key range is over. When the DOWN over flag is “1”, it represents a key range over on the low sound side. The fast-forward mode flag indicates the fast-forward mode when “1”. When the wait flag is “1”, it represents a key press waiting state. The blinking flag is a flag that inverts the value every blinking cycle when the light emitting element of the electronic keyboard instrument 20 blinks.
[0021]
Next, operation | movement of the performance learning apparatus 10 in embodiment is demonstrated with reference to the flowchart of CPU11, and the display screen of the LCD display part 19. FIG.
FIG. 7 shows a main flow. After predetermined initialization processing (step A1), switch processing (step A2), display processing (step A3), FD reading processing (step A4), sequence processing (step A5), transmission data A creation process (step A6), a notice flashing process (step A7), and a MIDI process (step A8) are executed to determine whether the power is off (step A9). If the power is not off, the processes in steps A2 to A9 are repeated. When the power is turned off in step A9, a power-off process (step A10) is performed and the main flow is terminated.
[0022]
When a MIDI output timer interrupt is entered during execution of the main flow, the MIDI output interrupt processing shown in FIG. 8 is executed, and the contents of the MIDI output buffer are output to the electronic keyboard instrument 20 (step A11). Return to. When the MIDI input timer interrupt is entered, the MIDI input interrupt process shown in FIG. 8 is executed, the MIDI data received from the electronic keyboard instrument 20 is stored in the MIDI input buffer (step A12), and the process returns to the main flow. .
[0023]
FIG. 9 is a flow of switch processing in the main flow. In this flow, the on / off state of each switch is detected. That is, function switch processing (step B1), easy (1) switch processing (step B2), easy (2) switch processing (step B3), normal switch processing (step B4), play switch processing (step B5), stop switch Processing (step B6), guide part switch processing (step B7), select switch processing (step B8), value switch processing (step B9), and other switch processing (step B10) are executed, and the process returns to the main flow.
[0024]
FIG. 10 is a flow of function switch processing in step B1 of FIG. It is determined whether or not the function switch is turned on (step B11). When the function switch is turned on, the function flag is inverted (step B12). And it returns to the flow of FIG. FIG. 11 is a flow of guide part switch processing in step B7 of FIG. In this flow, it is determined whether or not the function flag is 0 (performance mode) (step B13). If this flag is 1 (function mode), this flow is terminated. If this flag is 0, it is determined whether or not the guide switch is turned on (step B14). If it is not turned on, this flow is terminated. If it is turned on, the guide part flag is reversed (step B15). And it returns to the flow of FIG.
[0025]
FIG. 12 is an easy (1) switch process flow in step B2 of FIG. In this process, it is determined whether or not the function flag is 0 (performance mode) (step B16). If this flag is 1 (function mode), this flow is terminated. If this flag is 0, it is determined whether or not the easy (1) switch is on (step B17). If this switch is off, this flow is terminated, but when this switch is turned on, 1 (easy (1) mode waiting for pressing any key) is set in the register STEP (step) B18). Further, 1 (automatic performance) is set in the STF (step B19). Next, the reproduction counter is cleared by setting 0 (step B20), and the notice flashing counter is cleared by setting 0 (step B21). Next, the initial value 0 is set to the address pointer AP and the notice address pointer YAP (step B22). Then, 0 is set in the register TIME (step B23), and this flow is finished.
[0026]
FIG. 13 is an easy (2) switch process flow in step B3 of FIG. In this process, it is determined whether or not the function flag is 0 (performance mode) (step B24). If this flag is 1 (function mode), this flow is terminated. If this flag is 0, it is determined whether or not the easy (2) switch is on (step B25). If this switch is off, this flow is terminated. If this switch is turned on, 2 (easy (2) mode waiting for the correct key pressing) is set in the register STEP (step B26). ). Further, 1 (automatic performance) is set in the STF (step B27). Next, the reproduction counter is cleared by setting 0 (step B28), and the notice flashing counter is cleared by setting 0 (step B29). Next, the initial value 0 is set to the address pointer AP and the notice address pointer YAP (step B30). Then, 0 is set in the register TIME (step B31), and this flow is finished.
[0027]
FIG. 14 is a flowchart of normal switch processing in step B4 of FIG. In this process, it is determined whether or not the function flag is 0 (performance mode) (step B32). If this flag is 1 (function mode), this flow is terminated. If this flag is 0, it is determined whether or not the normal switch is on (step B33). If this switch is off, this flow is terminated, but if this switch is on, 3 (normal mode in which no key is pressed) is set in the register STEP (step B34). Further, 1 (automatic performance) is set in the STF (step B35). Next, the reproduction counter is cleared by setting 0 (step B36), and the notice flashing counter is cleared by setting 0 (step B37). Next, the initial value 0 is set to the address pointer AP and the notice address pointer YAP (step B38). Then, 0 is set in the register TIME (step B39), and this flow is finished.
[0028]
FIG. 15 is a flow of play switch processing in step B5 of FIG. In this process, it is determined whether or not the function flag is 0 (performance mode) (step B40). If this flag is 1 (function mode), this flow is terminated. If this flag is 0, it is determined whether or not the play switch is on (step B41). If this switch is off, this flow is terminated. If this switch is on, 0 (automatic performance mode) is set in the register STEP (step B42). Further, 1 (automatic performance) is set in the STF (step B43). Next, 0 is set to the reproduction counter to clear it (step B44), and an initial value 0 is set to the address pointer AP and the notice address pointer YAP (step B45). Then, 0 is set in the register TIME (step B46), and this flow is finished.
[0029]
FIG. 16 is a flowchart of the stop switch process in step B6 of FIG. In this flow, 0 (automatic performance stop) is set in the STF (step B47), and the sound source unit is instructed to mute (step B48). Then, this flow ends.
FIG. 17 is a flowchart of the select switch process in step B8 of FIG. First, it is determined whether or not the function flag is 0 (performance mode) (step B49). If this flag is 0, it is determined whether or not the left select switch is turned on (step B50). If this switch is turned on, the guide part channel number is decremented (step B51). When the decremented channel number becomes 0, the channel number is changed to 16 (maximum channel number). If the left select switch is not on in step B50, it is determined whether or not the right select switch is turned on (step B52). When this switch is turned on, the guide part channel number is incremented (step B53). When the incremented channel number becomes 17, the channel number is changed to 1 (minimum channel number).
[0030]
If the function flag is 1 (function mode) in step B49, it is determined whether either the left select switch or the right select switch is turned on (step B54). If none of the switches are turned on, this flow is terminated, but if either one is turned on, the function mode menu is changed. That is, it is determined whether or not the current function mode is the key range setting mode (step B55). If it is the key range setting mode, the mode is changed to the navigation channel setting mode (step B56). On the other hand, if the current function mode is the navigation channel setting mode, the mode is changed to the key range setting mode (step B57). After changing the setting mode, this flow ends and the flow returns to the flow of FIG.
[0031]
FIG. 18 is a flow of value switch processing in step B9 of FIG. In this flow, processing according to the function mode menu is performed. It is determined whether or not the current function mode is the key range setting mode (step B58). If it is this mode, it is determined whether or not the “+” switch is turned on (step B59). When this switch is turned on, the value of the register RANGE is incremented (step B60). If the “+” switch is not on, it is determined whether or not the “−” switch is on (step B61). When this switch is turned on, the value of RANGE is decremented (step B62). That is, a value corresponding to the number of keys of the connected electronic keyboard instrument 20 is set in RANGE.
[0032]
If the current function mode is not the key range setting mode in step B58, it is determined whether or not it is the navigation channel setting mode (step B63). In this mode, it is determined whether or not the “+” switch has been turned on (step B64). When this switch is turned on, the navigation channel number is incremented (step B65). When the incremented channel number becomes 17, the channel number is set to 1. If the "+" switch is not on, it is determined whether or not the "-" switch is on (step B66). When this switch is turned on, the navigation channel number is decremented (step B67). When the decremented channel number becomes 0, the channel number is set to 16.
If the key range setting mode is not set in step B58 and the navigation channel setting mode is not set in step B63, other setting processing is performed (step B68). After the processing corresponding to each setting mode, this flow is finished.
[0033]
19 and 20 are flowcharts of the display process at step A3 in the main flow of FIG. 7, and FIGS. 21 to 23 show examples of display screens. In FIG. 19, it is determined whether or not the function flag is 1 (function mode) (step C1). If this flag is 1, it is determined whether or not the key range setting mode is set (step C2). ). In this mode, a key range setting screen as shown in FIGS. 21 (1) to 21 (5) is displayed (step C3), and the number of key ranges corresponding to RANGE is displayed (step C4). When the number of keys of the electronic keyboard instrument 20 is 88, the value of RANGE is set to 88 in the value switch process of FIG. 18, and therefore, as shown in FIG. The key flashes and “88 Keys” is displayed. When the value of RANGE is 76, as shown in FIG. 21 (2), 76 keys in the keyboard display area blink, and “76 Keys” is displayed. Similarly, when the RANGE values are 73, 61, and 49, the display screen shown in FIGS. 21 (3), (4), and (5) is obtained.
[0034]
If it is not the key range setting mode in step C2 of the flow of FIG. 19, it is determined whether or not it is the navigation channel setting mode (step C5). In this mode, a navigation channel setting screen as shown in FIG. 22 is displayed (step C6), and a navigation channel is displayed (step C7). The example of FIG. 22 is a case where there are four navigation channels. Therefore, “4 Navi.ch” is displayed.
[0035]
When the function flag is 0 (performance mode) in step C1 of the flow of FIG. 19, in the flow of FIG. 20, as shown in FIGS. 23 (1) to (5), the performance screen corresponding to the performance state is shown. Is displayed (step C8). For example, in the case of normal playback, since channels 1 to 16 are set as channels for automatic performance, as shown in FIG. 23 (1), all channel number marks are highlighted and the channel that is sounding. The mark at the position corresponding to the channel number (1 and 4 in this example) is lit.
[0036]
In the flow of FIG. 20, it is determined whether or not the guide part flag is 1 (step C9). If this flag is 1, the guide part channel is displayed (step C10). That is, in the case of guide part playback, as shown in FIG. 23 (2), only the channel number mark of the channel of the solo part to be automatically played (in this example, 4) is highlighted, and the channel number of the channel that is sounding is displayed. The mark corresponding to is lit. In Easy (1), Easy (2), and Normal lesson modes, since it is minus one performance, as shown in FIGS. 23 (3) and (4), channels other than the part channel for practice performance are used. Highlight the number. In the performance stop state, since there is no channel that is sounding, any channel number mark is turned off as shown in FIG.
[0037]
In the flow of FIG. 20, it is determined whether or not STF is 1 (automatic performance) (step C11). If this flag is 1, the key display is based on the note event in the MIDI output buffer. Perform (Step C12). Next, it is determined whether or not the UP over flag is 1 (high range over) (step C13). If this flag is 1, FIG. 23 (1), (3), (4), As shown in (5), the UP segment blinks (step C14). Further, it is determined whether or not the DOWN over flag is 1 (low range over) (step C15). If this flag is 1, the DOWN segment is blinked as shown in FIG. 23 (2). (Step C16).
[0038]
24 to 33 are flowcharts of the sequence process in step A5 of FIG. First, it is determined whether or not the STF is 1 (automatic performance) (step D1). If this flag is 1, it is determined whether or not the minimum resolution time has elapsed (step D2). The minimum resolution time is expressed by an integer (for example, 24) of the time length of a quarter note. Therefore, when the tempo is 120 and the time length of the quarter note is 500 ms, the minimum resolution time is about 21 ms. If the minimum resolution time has not elapsed, it is determined whether or not the wait flag is 0 (step D3). If this flag is 0 and the key is not waiting for key depression, this flow is terminated.
[0039]
On the other hand, when the minimum resolution time has elapsed, it is determined whether or not the value of the register STEP is 0 (normal automatic performance mode) or 3 (normal lesson mode without waiting for key depression) (step D4). When the STEP value is 0 or 3, the value of the reproduction counter is incremented by the elapsed minimum resolution time (step D5). Then, it is determined whether or not the STEP value is 0 (step D6). If this value is 0, normal playback processing is executed (step D7). Then, the process returns to the main flow.
[0040]
FIG. 25 shows a flow of normal reproduction processing. In this flow, it is determined whether or not the designated music data is on the FD (floppy disk) (step D8). If there is no data, this flow is terminated. If there is data, MEM [AP], which is delta time data of the address AP of the FD, is set in the register ΔT (step D9). That is, the start time of the next event is set to ΔT. Then, it is determined whether or not the value of the reproduction counter is equal to or greater than the addition value of the value of TIME and the value of ΔT (step D10). As described above, since the value of the playback counter is time data that accumulates every time the minimum resolution time elapses, if the value of the playback counter is small, the start time of the next event has not yet been reached. Exit.
[0041]
If the value of the playback counter is equal to or greater than the sum of the value of TIME and the value of ΔT, that is, if the value of the playback counter has reached the start time of the next event, the value of ΔT is added to the value of TIME. The value is added (step D11), the value of the address pointer AP of the music data is incremented (step D12), and event data is designated. Then, the event data MEM [AP] is set in the register EVENT (step D13). Next, it is determined whether or not the guide part flag is 1 (solo part automatic performance) (step D14). If this flag is 1, it is determined whether or not the EVENT channel and the guide part channel are the same (step D15).
[0042]
If the guide part flag is 0, or if the EVENT channel and the guide part channel are the same, the EVENT data is stored in the tone generation buffer (step D16). After the data is stored, or when the EVENT channel and the guide part channel are different in step D15, the AP value is incremented (step D17), the process proceeds to step D8, and the processes up to step D17 are performed. repeat. Each time the reproduction counter value reaches the start time of the event data, the event data is stored in the sound generation processing buffer. If there is no music data to be read out in step D8 and the music is finished, the process returns to the main flow.
[0043]
In step D6 of the flow of FIG. 24, when the value of STEP is not 0 but 3 (lesson mode without waiting for key depression), the value of the playback counter reaches the value of the notice flashing counter in the flow of FIG. It is determined whether or not (step D18). In the notice blinking counter, time data for blinking the light emitting element in order to learn to press the electronic keyboard instrument 20 is set. Therefore, when the value of the reproduction counter that accumulates the value every minimum resolution time reaches the value of the notice flashing counter, it is when the current time reaches the key pressing timing time. Therefore, it is necessary to change the light emitting element from blinking to lighting. For this reason, the notice flashing counter is cleared (step D19). After clearing this counter, or when the value of the playback counter has not yet reached the value of the notice flashing counter, the notice note detection process is executed when the STEP value is 3 (lesson mode not waiting for key depression) ( Step D20). That is, prefetching of data is performed. Next, a music data reading process is executed (step D21). Then, the process returns to the main flow.
[0044]
FIG. 27 is a flow of notice note detection processing (STEP 3) in step D20 of FIG. It is determined whether or not song data still exists in the FD (step D22). If there is no data, that is, when the song is finished, this flow is finished. If there is still data, the delta time data MEM [YAP] of the notice address pointer YAP is set to ΔT (step D23), and the event data of the next notice address pointer (YAP + 1) is set to EVENT (step D24). ). Next, it is determined whether or not the EVENT channel and the guide part channel are the same (step D25).
[0045]
If they are not the same, the value of ΔT is added to the value of the notice flashing counter (step D26A), and 2 is added to the value of YAP (step D26B). That is, the next notice note data is designated. Next, the process proceeds to step D22 to determine whether there is designated data. The loop from step D22 to step D26B is repeated until EVENT of the same channel as the channel of the guide part is detected. When EVENT of the same channel is detected in step D25, it is determined whether or not the RANGE of the note of the EVENT is within the key range (step D27).
[0046]
If it is within the key range, the EVENT note is stored in the notice flashing buffer (step D28). That is, the light emitting element corresponding to the key to be pressed is stored as data for blinking in advance. If the RANGE of the EVENT note is not within the key range, the notice flashing buffer is cleared (step D29). After storing the note in the warning flashing buffer or after clearing the warning flashing buffer, the value of ΔT is added to the value of the warning flashing counter (step D30), and 2 is added to the value of YAP (step D31). . That is, the next notice note data is designated. And it transfers to step D21 of the flow of FIG.
[0047]
FIG. 28 is a flowchart of the music data reading process in step D21 of FIG. It is determined whether or not the designated music data is in the FD (step D32A). If there is no data, this flow is terminated. If there is data, MEM [AP], which is delta time data of the address AP of the FD, is set in the register ΔT (step D32B). Then, it is determined whether or not the value of the reproduction counter is equal to or greater than the addition value of the value of TIME and the value of ΔT (step D33). When the value of the reproduction counter is small, since the start time of the next event has not been reached yet, this flow is ended.
[0048]
If the value of the playback counter is equal to or greater than the sum of the value of TIME and the value of ΔT, that is, if the value of the playback counter has reached the start time of the next event, the value of ΔT is added to the value of TIME. The value is added (step D34), the value of the address pointer AP of the music data is incremented (step D35), and event data is designated. Then, the event data MEM [AP] is set in the register EVENT (step D36). Then, the EVENT data is stored in the sound generation processing buffer (step D37). Next, the value of AP is incremented (step D38), the process proceeds to step D32A, and the process up to step D38 is repeated. Each time the reproduction counter value reaches the start time of the event data, the event data is stored in the sound generation processing buffer. If there is no music data to be read in step D32A and the music is finished, the process returns to the main flow.
[0049]
If the STEP value is 1 (easy (1) lesson) or 2 (easy (2) lesson) in step D4 of the sequence processing in FIG. 24, the notice flashing counter value is reproduced in the flow of FIG. It is determined whether or not the counter value is the same (step D39). When these values are not the same, that is, when the light emitting element of the electronic keyboard instrument 20 is blinking, the next key depression notice is performed, but the value (time) of the reproduction counter is the value of the notice blink counter (flashing end time). If the key press start time has not yet been reached, it is determined whether or not there is data in the MIDI key press request buffer (step D40).
[0050]
If there is data in this buffer, that is, if there is note data to be pressed on the electronic keyboard instrument 20 side, it is determined whether or not there is data in the MIDInewON buffer (step D41). When there is data in this buffer, that is, in the electronic keyboard instrument 20, when the key is pressed even if the key pressing start time has not yet been reached, the note data by the key pressing is stored in the MIDInewON buffer. The In this case, it is determined whether or not the STEP value is 2 (easy (2) lesson) (step D42). If the STEP value is 2 and the key-press waiting lesson mode is set, it is determined whether or not the note data in the MIDI key-request buffer matches the note data in the MIDInewON buffer (step D43). That is, it is determined whether or not the note data of the key press request matches the note data of the actual key press.
[0051]
If the note data in both buffers do not match, it is not recognized as a key depression, and the value of the reproduction counter is incremented by the minimum resolution time that has elapsed (step D2 in FIG. 24) (step D44). If there is no data in the MIDI key press request buffer in step D40, that is, the key range is over, or if there is no data in the MIDInewON buffer in step D41, that is, no key is pressed, playback is performed in step D44. Increment the counter value. Next, it is determined whether or not the notice flashing buffer has been cleared (step D45). If this buffer is cleared, the notice note detection process in the easy (1) lesson and the easy (2) lesson is executed (step D46). That is, prefetching of data is performed. After the advance note detection process (STEP 1 and 2) or when there is data in the advance blink buffer in step D45, the music data reading process shown in the flow of FIG. 28 is executed (step D47). Then, the process returns to the main flow.
[0052]
If the STEP value is 1 in step D42 and the key is in the key-waiting lesson mode, or if the note data in the MIDI key press request buffer matches the note data in the MIDInewON buffer in step D43. Is a case where the key is pressed even though the key pressing start time has not yet been reached. In this case, in the flow of FIG. 30, the value of the reproduction counter is updated to the value of the notice flashing counter (step D48). That is, in order to advance the current time, which is the value of the reproduction counter, to the key pressing start time, the value is changed to the value of the notice flashing counter. Then, 1 (fast forward mode) is set in the fast forward mode flag (step D49). Next, the music data reading process shown in the flow of FIG. 28 is executed (step D50). That is, in this case, the music data of the time difference obtained by advancing the current time is read in the fast-forward mode.
[0053]
In step D39 of FIG. 29, when the value of the notice flashing counter matches the value of the reproduction counter, that is, when the key pressing start time of the note in the key range is reached or the sounding time of the note outside the key range is reached. In step D51 of FIG. 30, it is determined whether or not there is data in the MIDI key press request buffer (step D51). If there is no data in this buffer, it is out of the key range, so the music data reading process shown in the flow of FIG. 28 is executed (step D50). That is, in this case, since the key depression instruction cannot be given, the song data is read in order to perform only the sound generation.
[0054]
When the music data reading process in step D50 is completed, the MIDI key press request buffer is cleared (step D52), and the notice flashing buffer is cleared (step D53). Then, the notice note detection process in the easy (1) lesson and the easy (2) lesson is executed (step D54). Next, it is determined whether or not the fast-forward mode flag is 0 (step D55). If this flag is 0, the value of the reproduction counter is incremented by the elapsed minimum resolution time (step D2 in FIG. 24) (step D56). Then, the process returns to the main flow. When the fast-forward mode flag is 1, since the value of the reproduction counter is updated to the value of the notice flashing counter in step D48, the process returns to the main flow without incrementing the reproduction counter.
[0055]
In step D51 of FIG. 30, when there is data in the MIDI key press request buffer, that is, when the key pressing start time corresponding to the flashing light emitting element in the electronic keyboard instrument 20 is reached, the flow of FIG. Then, it is determined whether or not the wait flag is 0 (step D57). If this flag is 0, the music data reading process shown in FIG. 28 is executed (step D58), and 1 (key press waiting mode) is set to the wait flag (step D59). Next, the notice flashing buffer is cleared (step D60). After the buffer is cleared or when the wait flag is 1 in step D57 or step D3 in FIG. 24, it is determined whether or not there is data in the MIDInewON buffer (step D61). If there is no data, the key range is over, so there is no need to wait for a key press and the process returns to the main flow.
[0056]
If there is data in the MIDInewON buffer, it is determined whether or not the STEP value is 2 (easy (2) lesson mode) (step D62). If this value is 2 and the key pressing waiting mode is correct, it is determined whether or not the note in the MIDI key press request buffer matches the note in the MIDInewON buffer (step D63). If the notes in the two buffers do not match, that is, if the note of the key press request is different from the actually pressed note, the process returns to the main flow. If the STEP value is 1 in step D62 and the key is in the key press waiting mode, or if the notes in both buffers match in step D63, the wait flag is set to 0 (step D64), The MIDI key press request buffer is cleared (step D65). Then, the process proceeds to step D54 in FIG. 30 to execute the notice note detection process (STEP 1 and 2).
[0057]
32 and 33 are flowcharts of the notice note detection processing (STEP 1 and 2) in step D46 of FIG. 29 and step D54 of FIG. In this flow, the song data of the FD (floppy disk) is searched to pre-read the notice note. It is determined whether or not there is song data in the FD (step D66), and if there is no data, that is, when the song is finished, this flow is finished. If there is data, the delta time data MEM [YAP] of the notice address pointer YAP is set to ΔT (step D67), and the event data of the next notice address pointer (YAP + 1) is set to EVENT (step D68). . Next, it is determined whether or not the EVENT channel and the guide part channel are the same (step D69).
[0058]
If they are not the same, the value of ΔT is added to the value of the notice flashing counter (step D70), and 2 is added to the value of YAP (step D71). That is, the next notice note data is designated. Next, the process proceeds to step D66 to determine whether or not there is designated data. Then, the loop of step D66 to step D71 is repeated until EVENT of the same channel as the channel of the guide part is detected. When EVENT of the same channel is detected in step D69, it is determined whether or not RANGE of the note of the EVENT is within the key range (step D72).
[0059]
If it is within the key range, the EVENT note is stored in the notice flashing buffer (step D73A). That is, the light emitting element corresponding to the key to be pressed is stored as data for blinking in advance. Also, the EVENT note is stored in the MIDI key press request buffer (step D73B). If the RANGE of the EVENT note is out of the key range in step D72, the notice flashing buffer is cleared (step D74). After clearing the warning flashing buffer or storing a note in the MIDI key press request buffer in step D73B, add ΔT to the warning flashing counter value (step D75) and add 2 to the YAP value. (Step D76). That is, the next notice note data is designated. Then, 1 is set in the register of the number of pronunciations (step D77).
[0060]
Next, it is determined whether or not there is data at the address designated by YAP (step D78). If there is no data, this flow is terminated. If there is data, the delta time data MEM [YAP] of the notice address pointer YAP is set to ΔT (step D79), and the event data of the next notice address pointer (YAP + 1) is set to EVENT (step D80). . Next, it is determined whether or not the value obtained by adding the value of ΔT to the value of the notice flashing counter is within the value obtained by adding the predetermined value α to the value of the notice flashing counter (step D81). The predetermined value α is a threshold value for determining whether or not the note pre-read and set to EVENT in the music data having the sequence data structure is a chord note to be pronounced at the same time as the previously read note. If the value obtained by adding the value of ΔT to the value of the warning flashing counter exceeds the value obtained by adding the predetermined value α to the value of the warning flashing counter, the EVENT note does not constitute a chord with the previous note. This flow is finished.
[0061]
If the value obtained by adding the value of ΔT to the value of the notice flashing counter is within the value obtained by adding the predetermined value α to the value of the notice flashing counter, the note of EVENT is the note that composes the previously read note and the chord. Therefore, in the flow of FIG. 33, it is determined whether or not the EVENT channel and the guide part channel are the same (step D82). If the channels are not the same, this flow ends. If the channels are the same, it is determined whether or not the number of sounds obtained by adding 1 to the current number of sounds set in the sound number register is within the maximum number of sounds (step D83). If the number of pronunciations obtained by adding 1 to the current number of pronunciations exceeds the maximum number of pronunciations (index), the latest note set in EVENT at step D80 in FIG. 32 is pressed simultaneously with the previous plurality of notes. This flow is finished because it cannot be pronounced.
[0062]
If the current number of pronunciations plus one is within the maximum number of pronunciations, the latest note set in EVENT can be pressed simultaneously with multiple previous notes, so that the pronunciation number register The value is incremented by 1 (step D84). Next, it is determined whether or not the RANGE of the note is within the key range (step D85), and if it is within the key range, the EVENT note is stored in the notice flashing buffer (step D86), and the EVENT note is pressed by MIDI. Store in the key request buffer (step D87). Next, the value of ΔT is added to the value of the notice flashing counter (step D88). Then, the YAP address is incremented by 2 (step D89), and the next event data is designated. Then, the process proceeds to step D78 in FIG. 32 to determine whether there is the designated data. If there is data, the loop from step D78 to step D89 is repeated.
[0063]
FIG. 34 is a flow of transmission data creation processing in step A6 of the main flow of FIG. It is determined whether or not there is data in the pronunciation processing buffer (step E1). If there is data, it is determined whether or not the data is a note-on or note-off event (step E2). If it is a note event, it is determined whether or not the STEP value is 0 (normal automatic performance) (step E3). If the value of STEP is 0, or if the data in the sound generation processing buffer is not a note event, it is determined whether or not the event channel and the guide part channel are the same (step E4).
[0064]
If the two channels are the same, the event channel is changed to the navigation channel (step E5). If the two channels are different, it is determined whether or not the event channel and the navigation channel are the same (step E6). If the two channels are the same, the event channel is changed to the guide part channel (step E7). Then, the event is transferred to the MIDI output buffer (step E8). For example, as shown in FIG. 35, when the guide part channel of the song data stored in the FD is 8 channels and the navigation channel is 4 channels, events of 4 channels are transferred to 8 channels of the MIDI output buffer, and 8 Channel events are transferred to the 4 channels of the MIDI output buffer. In step E4 and step E6, if the event is neither a guide part channel nor a navigation channel, the event is transferred to the same channel of the MIDI output buffer as shown in FIG.
[0065]
In step E3, if the STEP value is not 0, it is determined whether or not the STEP value is 3, that is, whether or not the lesson mode does not wait for key depression (step E9). If this value is 3, STEP (3) reproduction processing is executed (step E10). If this value is not 3, that is, 1 or 2, STEP (1, 2) reproduction processing is executed (step E11). After the event is transferred to the MIDI output buffer in step E8, or after the reproduction process is executed in step E10 or E11, the process proceeds to step E1 to determine the presence / absence of data in the sound generation process buffer. When there is data, the above steps are repeated. When all the data in the sound generation processing buffer is processed and there is no data, the fast-forward mode flag set to 1 is set to 0 (step E12), and the main flow is performed. Return to.
[0066]
36 to 38 show the flow of STEP (1, 2) reproduction processing in step E11 of FIG. In FIG. 36, it is determined whether or not the event note is within the RANGE key range (step E13). If the event note is within the RANGE key range, it is determined whether or not the event channel and the guide part channel are the same. A determination is made (step E14). If the channels are the same, it is determined whether or not the event is a note-on event (step E15). If it is a note-on event, it is determined whether or not the fast-forward mode flag is 0 (step E16). If this flag is 0 and the fast-forward mode is not set, the velocity value of the event is changed to 1 (minimum value) (step E17).
[0067]
After changing the velocity value, or when the event is not a note-on event in step E15, that is, a note-off event, the channel of the event is changed to a navigation channel (step E18). Then, the event is transferred to the MIDI output buffer (step E19). After the event is transferred or when the fast-forward mode flag is 1 (fast-forward mode) in step E16, the process returns to step E1 in the flow of FIG.
[0068]
In step E13 of FIG. 36, if the note of the event is not within the RANGE key range, it is determined whether or not the note is outside the RANGE high-frequency range (step E20). If it is on the high sound range side, 1 is set to the UP over flag (step E21). If it is not the high sound range side, that is, if it is the low sound range side, 1 is set to the DOWN over flag (step E22).
[0069]
If the event channel and the guide part channel are not the same in step E14, it is determined in the flow of FIG. 37 whether or not the event channel and the navigation channel are the same (step E23). If the channels are the same, it is determined whether or not the fast-forward mode flag is 0 (step E24). If this flag is 0, the event channel is changed to the guide part channel (step E25), and the event is transferred to the MIDI output buffer (step E26). After the event is transferred or when the fast-forward mode flag is 1 (fast-forward mode) in step E24, the process returns to step E1 in the flow of FIG.
[0070]
In step E23, if the event channel and the guide part channel are not the same, that is, if the event channel is different from the navigation channel and the guide part channel, it is determined whether or not the fast-forward mode flag is 0 ( Step E27). If this flag is 0, the event is transferred to the MIDI output buffer (step E28). After the event is transferred or when the fast-forward mode flag is 1 (fast-forward mode) in step E27, the process returns to step E1 in the flow of FIG.
[0071]
After the UP over flag or the DOWN over flag is set to 1 in step E21 or step E22 in FIG. 36, it is determined in the flow in FIG. 38 whether the event channel and the guide part channel are the same. (Step E29). If the channels are the same, it is determined whether or not the fast-forward mode flag is 0 (step E30). If this flag is 0 and the fast-forward mode is not set, the event channel is changed to the navigation channel (step E31). Then, the event is transferred to the MIDI output buffer (step E32). After the event is transferred or when the fast-forward mode flag is 1 (fast-forward mode) in step E30, the process returns to step E1 in the flow of FIG.
[0072]
If the event channel and the guide part channel are different in step E29, it is determined whether or not the event channel and the navigation channel are the same (step E33). If the channels are the same, it is determined whether or not the fast-forward mode flag is 0 (step E34). If this flag is 0, the channel of the event is changed to the channel of the guide part (step E35), and the event is transferred to the MIDI output buffer (step E36). After transferring the event, or when the fast-forward mode flag is 1 (fast-forward mode) in step E34, the process returns to step E1 in the flow of FIG.
[0073]
In step E33, if the event channel and the guide part channel are not the same, that is, if the event channel is different from the navigation channel and the guide part channel, it is determined whether or not the fast-forward mode flag is 0 ( Step E37). If this flag is 0, the event is transferred to the MIDI output buffer (step E38). After the event is transferred or when the fast-forward mode flag is 1 (fast-forward mode) in step E37, the process returns to step E1 in the flow of FIG.
[0074]
39 and 40 are a flow of STEP (3) reproduction processing in step E10 of the flow of FIG. In FIG. 39, it is determined whether or not the event note is within the RANGE key range (step E39). If the event note is within the RANGE key range, it is determined whether or not the event channel and the guide part channel are the same. A determination is made (step E40). If the channels are the same, it is determined whether the event is a note-on event or a note-off event (step E41). If it is a note-on event or a note-off event, the channel of the event is changed to a navigation channel (step E42).
[0075]
Next, it is determined whether or not the event is a note-on event (step E43). If it is a note-on event, the event velocity value is changed to 1 (minimum value) (step E44). After changing the velocity value or when the event is not a note-on event in step E43, that is, a note-off event, the event is transferred to the MIDI output buffer (step E45). If the event is not a note event in step E41, the channel of the event is changed to the navigation channel (step E46), and the event is transferred to the MIDI output buffer (step E45). After transferring the event, the process returns to step E1 in the flow of FIG.
[0076]
If the event channel and the guide part channel are not the same in step E40, it is determined whether or not the event channel and the navigation channel are the same (step E47). If the channels are the same, the event channel is changed to the guide part channel (step E48). After changing the channel, or if the event channel and the guide part channel are not the same in step E47, that is, if the event channel is different from the guide part channel or the navigation channel, the event is transferred to the MIDI output buffer. (Step E49). After transferring the event, the process returns to step E1 in the flow of FIG.
[0077]
In step E39 of FIG. 39, if the event is not within the RANGE key range, it is determined in the flow of FIG. 40 whether or not the event note is outside the RANGE treble side key range, that is, the upper limit is exceeded (step E50). ). If the upper limit is exceeded, 1 is set to the UP over flag (step E51). When the upper limit is not exceeded, that is, when the lower limit is exceeded on the low sound range side, 1 is set in the DOWN over flag (step E52). After the UP over flag or the DOWN over flag is set to 1, it is determined whether or not the event channel and the guide part channel are the same (step E53). If the channels are the same, the event channel is changed to the navigation channel (step E54).
[0078]
If the event channel and the guide part channel are not the same in step E53, it is determined whether or not the event channel and the navigation channel are the same (step E55). If the channels are the same, the event channel is changed to the guide part channel (step E56). After the channel is changed in step E54 or step E56, or when the channel of the event is different from the channel of the guide part or the navigation channel in step E53 or step E55, the event is transferred to the MIDI output buffer (step E57). ). After transferring the event, the process returns to step E1 in the flow of FIG.
[0079]
FIG. 41 is a flowchart of the notice flashing process in step A7 of the main flow of FIG. In this flow, in order to blink the light emitting element of the electronic keyboard instrument 20, lighting data and extinguishing data are alternately transmitted at every blinking cycle time. That is, it is determined whether or not the blinking cycle time has elapsed (step F1), and if not, the process returns to the main flow. When the time has elapsed, the blinking flag is reversed (step F2). Then, it is determined whether or not the blink flag is 1 (step F3). If this flag is 1, note-on data is created with the notes in the notice flashing buffer (step F4). Further, the velocity value of the event is changed to 1, that is, the minimum value (step F5). Then, the event is transferred to the MIDI output buffer (step F6).
[0080]
If the blink flag is 0 in step F3, note-off data is created with the note in the notice blink buffer (step F7), and the event of the note-off data is transferred to the MIDI output buffer (step F6). After transferring the event, it is determined whether or not there is still note data in the notice flashing buffer (step F8). If there is still note data, the processes in steps F3 to F8 are repeated, and when there is no more note data to be processed in the notice flashing buffer, the process returns to the main flow.
[0081]
FIG. 42 is a MIDI processing flow in step A8 of the main flow of FIG. It is determined whether or not there is a new event input in the MIDI input buffer (step G1). If there is a new input, it is determined whether or not the event is note-on data (step G2). That is, it is determined whether or not the note-on data is pressed by the electronic keyboard instrument 20. If the input event is not note-on data, or if no new event is input in the MIDI input buffer, the process returns to the main flow. If the input event is note-on data, the note of the event is stored in the MIDInewON buffer (step G3). Then, the process returns to the main flow.
[0082]
As described above, according to the above embodiment, music data including a plurality of parts read from the FD 15 is input, an arbitrary part is designated as a part for exercise training, and the performance lesson designated in the electronic keyboard instrument 20 is performed. The exercise training part is assigned to the output channel corresponding to the input channel (navigation channel), and the exercise training part is transmitted from the output channel to the electronic keyboard instrument 20.
Therefore, when music data composed of a plurality of parts is input, it is possible to practice performance by using the navigation function for any part.
[0083]
In this case, performance training data for causing a light emitting element provided corresponding to each key of the electronic keyboard instrument 20 to be transmitted is transmitted from the output channel assigned to the performance training part.
Therefore, it is possible to practice a key to be pressed for an arbitrary part.
[0084]
Also, if a part for performance learning is specified in the input song data, if the specified part is different from the selected guide part, it is specified for performance learning. Assign a part to another output channel different from the output channel assigned to the guide part.
Therefore, even when a performance learning part is specified in the input music data, it is possible to assign the part to a channel that does not perform performance learning, that is, a sounding channel.
[0085]
In the above embodiment, the system configuration in which the electronic keyboard instrument 20 and the dedicated performance learning apparatus 10 are connected has been described. However, a general-purpose computer such as a personal computer and an electronic keyboard instrument are connected to perform performance learning by the computer. A system configuration that performs processing is also possible.
In this case, a data input procedure for inputting music data consisting of a plurality of parts to a recording medium such as a floppy disk, and a predetermined number of output channels corresponding to the number of parts of the music data input by this data input procedure To the electronic keyboard instrument having the predetermined number of input channels, a data transmission procedure for transmitting the song data via a predetermined communication means, and an arbitrary part of the song data input by the data input procedure. Selecting a part as a guide part for performance learning and assigning the guide part selected by the part selection procedure to an output channel corresponding to an input channel designated as a channel for performance learning in the electronic keyboard instrument Record the channel assignment procedure and the performance training processing program to perform , By loading the program into the computer, to execute the musical performance training process described in the above embodiments.
[0086]
【The invention's effect】
According to the present invention, music data consisting of a plurality of parts is input, an arbitrary part is designated as a part for exercise training, and an output channel corresponding to an input channel for performance training specified in an electronic keyboard instrument The part for exercise lesson is assigned to and the part for exercise lesson is transmitted from the output channel to the electronic keyboard instrument. Therefore, when music data composed of a plurality of parts is input, it is possible to practice performance by using the navigation function for any part.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system configuration of an embodiment using a performance learning apparatus of the present invention.
FIG. 2 is a perspective view showing an appearance of the performance learning apparatus in FIG.
FIG. 3 is a detailed view of a switch unit in FIG. 2;
4 is a diagram showing display contents on an LCD display unit in FIG. 2;
FIG. 5 is a view showing the structure of song data stored in the FD in FIG. 1;
6 is a diagram showing a configuration of a storage area of a RAM in FIG.
7 is a main flowchart of the CPU of the performance learning apparatus in FIG. 1;
FIG. 8 is a flowchart of a CPU MIDI interrupt process;
9 is a flowchart of switch processing in FIG. 7;
10 is a flowchart of function switch processing in FIG. 9;
FIG. 11 is a flowchart of guide part switch processing in FIG. 9;
12 is a flowchart of easy (1) switch processing in FIG. 9;
13 is a flowchart of easy (2) switch processing in FIG. 9;
14 is a flowchart of normal switch processing in FIG. 9;
15 is a flowchart of the play switch process in FIG. 9;
16 is a flowchart of stop switch processing in FIG. 9;
FIG. 17 is a flowchart of select switch processing in FIG. 9;
18 is a flowchart of value switch processing in FIG. 9;
19 is a flowchart of the display process in FIG.
FIG. 20 is a flowchart of display processing following FIG.
FIG. 21 is a diagram showing a key range setting screen on the LCD display unit.
FIG. 22 is a diagram showing a navigation channel setting screen on the LCD display unit.
FIG. 23 is a diagram showing a key range over screen on the LCD display unit.
24 is a flowchart of the sequence process in FIG.
FIG. 25 is a flowchart of normal playback processing in FIG. 24;
FIG. 26 is a flowchart of sequence processing following FIG. 24;
FIG. 27 is a flowchart of notice note detection processing STEP (3) in FIG. 26;
28 is a flowchart of song data reading processing in FIGS. 26, 29, 30, and 31. FIG.
FIG. 29 is a flowchart of sequence processing following FIG. 24;
FIG. 30 is a flowchart of sequence processing following FIG. 29;
FIG. 31 is a flowchart of sequence processing following FIG. 30;
FIG. 32 is a flowchart of notice note detection processing STEP (1, 2) in FIGS. 29 and 30;
FIG. 33 is a flowchart of notice note detection processing STEP (1, 2) following FIG. 32;
34 is a flowchart of transmission data creation processing in FIG. 7;
FIG. 35 is a diagram showing a state of channel change in transmission data creation processing.
FIG. 36 is a flowchart of the STEP (1, 2) reproduction process in FIG. 34;
FIG. 37 is a flowchart of STEP (1, 2) reproduction processing following FIG.
FIG. 38 is a flowchart of STEP (1, 2) reproduction processing following FIG.
FIG. 39 is a flowchart of STEP (3) reproduction processing in FIG. 34;
FIG. 40 is a flowchart of STEP (3) reproduction processing following FIG. 39;
41 is a flowchart of notice flashing processing in FIG. 7;
42 is a flowchart of the MIDI processing in FIG.
[Explanation of symbols]
11 CPU
12 Switch section 13 FDDC
14 FDD
15 FD
16 RAM
17 MIDI interface 18 LCDD
19 LCD display 20 Electronic keyboard instrument

Claims (3)

複数のパートからなる曲データを入力するデータ入力手段と、
このデータ入力手段によって入力された前記曲データパート数に対応する所定数の出力チャンネルから、任意のパートに対応する出力チャンネルを演奏教習用のガイドパートチャンネルとして選択するパート選択手段と、
所定数の入力チャンネルを有する電子鍵盤楽器において演奏教習用のチャンネルとして指定されている入力チャンネルと一致する出力チャンネルをナビチャンネルとして設定するナビチャンネル設定手段と、
このナビチャンネル設定手段にてナビチャンネルとして設定された出力チャンネルに前記パート選択手段によって選択されたガイドパートチャンネルとして選択された出力チャンネルに対応するパートの曲データを割り当てるとともに、前記ガイドパートチャンネルとして選択された出力チャンネルに前記設定されたナビチャンネルに対応するパートの曲データを割り当てるチャンネル割当手段と、
前記データ入力手段によって入力された前記曲データのパート数に対応する所定数の出力チャンネルから、前記電子鍵盤楽器に対して、前記曲データを送信するデータ送信手段と、
を備えたことを特徴とする演奏教習データ送信装置。
Data input means for inputting song data consisting of a plurality of parts;
Part selection means for selecting an output channel corresponding to an arbitrary part as a guide part channel for performance learning from a predetermined number of output channels corresponding to the number of music data parts input by the data input means ;
A navigation channel setting means for setting, as a navigation channel, an output channel that matches an input channel designated as a channel for performance learning in an electronic keyboard instrument having a predetermined number of input channels;
The music data of the part corresponding to the output channel selected as the guide part channel selected by the part selection means is assigned to the output channel set as the navigation channel by the navigation channel setting means, and is selected as the guide part channel. Channel allocating means for allocating song data of a part corresponding to the set navigation channel to the set output channel;
Data transmitting means for transmitting the song data to the electronic keyboard instrument from a predetermined number of output channels corresponding to the number of parts of the song data input by the data input means;
A performance training data transmission device characterized by comprising:
前記チャンネル割当手段によって前記選択されたガイドパートチャンネルに対応するパートの曲データが割り当てられた出力チャンネルから、前記電子鍵盤楽器の各鍵に対応して設けられた発光素子を発光させる演奏教習データを前記データ送信手段に送信させる送信制御手段をさらに備えたことを特徴とする請求項1に記載の演奏教習データ送信装置。Performance learning data for causing a light emitting element provided corresponding to each key of the electronic keyboard instrument to emit light from an output channel to which the song data of the part corresponding to the selected guide part channel is assigned by the channel assigning means. The performance training data transmission apparatus according to claim 1, further comprising transmission control means for transmitting the data to the data transmission means. コンピュータに、
複数のパートからなる曲データを入力するデータ入力手順と、
このデータ入力手順によって入力された前記曲データパート数に対応する所定数の出力チャンネルから、任意のパートに対応する出力チャンネルを演奏教習用のガイドパートチャンネルとして選択するパート選択手順と、
所定数の入力チャンネルを有する電子鍵盤楽器において演奏教習用のチャンネルとして指定されている入力チャンネルと一致する出力チャンネルをナビチャンネルとして設定するナビチャンネル設定手順と、
このナビチャンネル設定手順にてナビチャンネルとして設定された出力チャンネルに前記パート選択手順によってガイドパートチャンネルとして選択された出力チャンネルに対応するパートの曲データを割り当てるとともに、前記ガイドパートチャンネルとして選択された出力チャンネルに前記設定されたナビチャンネルに対応するパートの曲データを割り当てるチャンネル割当手順と、
前記データ入力手順によって入力された前記曲データのパート数に対応する所定数の出力チャンネルから、前記電子鍵盤楽器に対して、前記曲データを送信するデータ送信手順と、
を実行させるための演奏教習データ送信処理のプログラムを記録したコンピュータ読み取り可能な記録媒体
On the computer,
A data entry procedure for entering song data consisting of multiple parts,
Part selection procedure for selecting an output channel corresponding to an arbitrary part as a guide part channel for performance learning from a predetermined number of output channels corresponding to the number of music data parts input by this data input procedure;
A navigation channel setting procedure for setting, as a navigation channel, an output channel that matches an input channel designated as a channel for performance learning in an electronic keyboard instrument having a predetermined number of input channels;
The song data of the part corresponding to the output channel selected as the guide part channel by the part selection procedure is assigned to the output channel set as the navigation channel in the navigation channel setting procedure, and the output selected as the guide part channel. A channel assignment procedure for assigning song data of a part corresponding to the set navigation channel to the channel;
A data transmission procedure for transmitting the song data to the electronic keyboard instrument from a predetermined number of output channels corresponding to the number of parts of the song data input by the data input procedure;
The computer-readable recording medium which recorded the program of the performance training data transmission process for performing this.
JP31047399A 1999-11-01 1999-11-01 Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program Expired - Fee Related JP3757712B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31047399A JP3757712B2 (en) 1999-11-01 1999-11-01 Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31047399A JP3757712B2 (en) 1999-11-01 1999-11-01 Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program

Publications (2)

Publication Number Publication Date
JP2001134267A JP2001134267A (en) 2001-05-18
JP3757712B2 true JP3757712B2 (en) 2006-03-22

Family

ID=18005678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31047399A Expired - Fee Related JP3757712B2 (en) 1999-11-01 1999-11-01 Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program

Country Status (1)

Country Link
JP (1) JP3757712B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108126A (en) * 2001-09-28 2003-04-11 Kawai Musical Instr Mfg Co Ltd Electronic musical instrument
JP4816756B2 (en) * 2009-04-10 2011-11-16 ヤマハ株式会社 Drum type electronic musical instrument
JP2009294678A (en) * 2009-09-18 2009-12-17 Casio Comput Co Ltd Musical performance training apparatus and musical performance training program

Also Published As

Publication number Publication date
JP2001134267A (en) 2001-05-18

Similar Documents

Publication Publication Date Title
US7880078B2 (en) Electronic keyboard instrument
US10403254B2 (en) Electronic musical instrument, and control method of electronic musical instrument
JPH11513811A (en) Real-time music creation system
CN1841495A (en) Electronic musical instrument
JP2004264501A (en) Keyboard musical instrument
JP2002229559A (en) Device and method for music display, music display program actualizing the method on computer, device and method for assisting musical performance, and musical performance assisting program actualizing the musical performance assisting method on computer
US20190251936A1 (en) Keyboard instrument
JP3858899B2 (en) Stringed electronic musical instrument
JP3757712B2 (en) Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program
JP3757709B2 (en) Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program
JP3743878B2 (en) Performance learning data transmission device and recording medium recording performance learning data transmission processing program
JP3757711B2 (en) Performance learning data transmission apparatus and computer-readable recording medium recording performance learning data transmission processing program
JPH07319458A (en) Electronic musical instrument
CN1070502A (en) Electronic musical instrument
JP4189568B2 (en) Performance learning apparatus and performance learning processing program
JP2001125566A (en) Playing practice device and recording medium which records playing practice processing program
JPH0869282A (en) Automatic playing device
JP2985717B2 (en) Key press indicating device
CN1030270C (en) Computerized electric organ with instruction system
JP4211854B2 (en) Ensemble system, controller, and program
JP3620366B2 (en) Electronic keyboard instrument
JP3787642B2 (en) Performance instruction device and recording medium on which performance instruction program is recorded
JP2006039262A (en) Effect imparting apparatus and method therefor
JP2006031056A (en) Automatic music player
JP2006189515A (en) Electronic keyboard instrument

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100113

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120113

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130113

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130113

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees