JP2001125566A - 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体 - Google Patents
演奏教習装置及び演奏教習処理プログラムを記録した記録媒体Info
- Publication number
- JP2001125566A JP2001125566A JP30502899A JP30502899A JP2001125566A JP 2001125566 A JP2001125566 A JP 2001125566A JP 30502899 A JP30502899 A JP 30502899A JP 30502899 A JP30502899 A JP 30502899A JP 2001125566 A JP2001125566 A JP 2001125566A
- Authority
- JP
- Japan
- Prior art keywords
- data
- event
- performance
- value
- time
- 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.)
- Abandoned
Links
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【課題】 読み込んだ和音の発音データの発音開始時間
に時間差が生じている場合でも、同時に演奏開始できる
ように教習する。 【解決手段】 CPU11は、スイッチ部12の曲選択
によって、FD15に記憶されている曲データをFDD
14及びFDDC13を介して読み込んでRAM16に
ストアし、発音開始時間に時間差のある複数の発音デー
タをストアした場合は、その時間差が所定時間以内であ
るときは、これらを和音の発音データと判断して、各発
音データに応じた複数の演奏教習データを、MIDIイ
ンターフェース17を介して電子鍵盤楽器20に同時に
送信する。
に時間差が生じている場合でも、同時に演奏開始できる
ように教習する。 【解決手段】 CPU11は、スイッチ部12の曲選択
によって、FD15に記憶されている曲データをFDD
14及びFDDC13を介して読み込んでRAM16に
ストアし、発音開始時間に時間差のある複数の発音デー
タをストアした場合は、その時間差が所定時間以内であ
るときは、これらを和音の発音データと判断して、各発
音データに応じた複数の演奏教習データを、MIDIイ
ンターフェース17を介して電子鍵盤楽器20に同時に
送信する。
Description
【0001】
【発明の属する技術分野】本発明は、電子鍵盤楽器やそ
の他の演奏装置に接続して演奏を教習する演奏教習デー
タを送信する演奏教習装置及び演奏教習処理プログラム
を記録した記録媒体に関する。
の他の演奏装置に接続して演奏を教習する演奏教習デー
タを送信する演奏教習装置及び演奏教習処理プログラム
を記録した記録媒体に関する。
【0002】
【従来の技術】従来の演奏装置において、例えば電子鍵
盤楽器の中には、鍵盤の各鍵に対応してLED等の発光
素子を設けて、発音データに応じた演奏教習データによ
って、対応する鍵の発光素子を点灯させ、曲の演奏練習
を可能にするナビゲーション(以下「ナビ」と称する)
の機能をもったものがある。練習する曲データは内部の
ROM等のメモリにあらかじめ格納することができる
が、MIDI規格の電子鍵盤楽器では、フロッピーディ
スク等の外部記録媒体や外部装置からMIDI形式の曲
データ、すなわち、楽音の複数のイベントデータが各イ
ベントデータごとにシリアルデータ形式で構成された曲
データを読み込んで、このようなナビ機能を行うことが
できる。例えば、音楽教室等の教習所の先生が、実際に
演奏した曲データをフロッピーディスクに記録して、そ
のフロッピーディスクから曲データを読み込む。したが
って、練習生は自宅等のように教習所以外の場所でも演
奏練習をすることができる。
盤楽器の中には、鍵盤の各鍵に対応してLED等の発光
素子を設けて、発音データに応じた演奏教習データによ
って、対応する鍵の発光素子を点灯させ、曲の演奏練習
を可能にするナビゲーション(以下「ナビ」と称する)
の機能をもったものがある。練習する曲データは内部の
ROM等のメモリにあらかじめ格納することができる
が、MIDI規格の電子鍵盤楽器では、フロッピーディ
スク等の外部記録媒体や外部装置からMIDI形式の曲
データ、すなわち、楽音の複数のイベントデータが各イ
ベントデータごとにシリアルデータ形式で構成された曲
データを読み込んで、このようなナビ機能を行うことが
できる。例えば、音楽教室等の教習所の先生が、実際に
演奏した曲データをフロッピーディスクに記録して、そ
のフロッピーディスクから曲データを読み込む。したが
って、練習生は自宅等のように教習所以外の場所でも演
奏練習をすることができる。
【0003】
【発明が解決しようとする課題】しかしながら、和音を
演奏した場合には、各指の動きに若干のずれがあるた
め、フロッピーディスクに記録された和音の発音データ
の発音開始時間に時間差が生じてしまう。したがって、
フロッピーディスクから曲データを読み込んで、発音デ
ータに応じた演奏教習データによって、対応する鍵の発
光素子を点灯させた場合には、和音の複数の発音データ
によって点灯のタイミングがずれてしまうので、練習生
は、和音であることを認識することができない。本発明
の課題は、読み込んだ和音の発音データの発音開始時間
に時間差が生じている場合でも、同時に演奏開始できる
ように教習することである。
演奏した場合には、各指の動きに若干のずれがあるた
め、フロッピーディスクに記録された和音の発音データ
の発音開始時間に時間差が生じてしまう。したがって、
フロッピーディスクから曲データを読み込んで、発音デ
ータに応じた演奏教習データによって、対応する鍵の発
光素子を点灯させた場合には、和音の複数の発音データ
によって点灯のタイミングがずれてしまうので、練習生
は、和音であることを認識することができない。本発明
の課題は、読み込んだ和音の発音データの発音開始時間
に時間差が生じている場合でも、同時に演奏開始できる
ように教習することである。
【0004】
【課題を解決するための手段】請求項1に記載の演奏教
習装置は、楽音の複数のイベントデータが各イベントデ
ータごとにシリアルデータ形式で構成された曲データを
読み込むデータ読込手段(実施形態においては、図1の
CPU11、FDDC13、FDD14に対応する)
と、このデータ読込手段によって読み込まれたイベント
データの中の発音データに応じて、所定の通信手段(実
施形態においては、図1のMIDIケーブル30に対応
する)を介して接続された演奏装置(実施形態において
は、図1の電子鍵盤楽器20に対応する)に演奏を教習
する演奏教習データを送信するデータ送信手段(実施形
態においては、図1のCPU11、MIDIインターフ
ェース17)と、前記データ読込手段によって読み込ま
れた任意の発音データの発音開始時間とこの任意の発音
データの後に読み込まれた他の発音データの発音開始時
間との時間差を検出する時間検出手段(実施形態におい
ては、図1のCPU11に対応する)と、この時間検出
手段によって検出された時間差があらかじめ設定された
所定時間以内である場合には、前記任意の発音データ及
び前記他の発音データを和音の発音データと判断して、
各発音データに応じた複数の演奏教習データを前記デー
タ送信手段により前記演奏装置に同時に送信させる送信
制御手段(実施形態においては、図1のCPU11に対
応する)と、を備えた構成になっている。
習装置は、楽音の複数のイベントデータが各イベントデ
ータごとにシリアルデータ形式で構成された曲データを
読み込むデータ読込手段(実施形態においては、図1の
CPU11、FDDC13、FDD14に対応する)
と、このデータ読込手段によって読み込まれたイベント
データの中の発音データに応じて、所定の通信手段(実
施形態においては、図1のMIDIケーブル30に対応
する)を介して接続された演奏装置(実施形態において
は、図1の電子鍵盤楽器20に対応する)に演奏を教習
する演奏教習データを送信するデータ送信手段(実施形
態においては、図1のCPU11、MIDIインターフ
ェース17)と、前記データ読込手段によって読み込ま
れた任意の発音データの発音開始時間とこの任意の発音
データの後に読み込まれた他の発音データの発音開始時
間との時間差を検出する時間検出手段(実施形態におい
ては、図1のCPU11に対応する)と、この時間検出
手段によって検出された時間差があらかじめ設定された
所定時間以内である場合には、前記任意の発音データ及
び前記他の発音データを和音の発音データと判断して、
各発音データに応じた複数の演奏教習データを前記デー
タ送信手段により前記演奏装置に同時に送信させる送信
制御手段(実施形態においては、図1のCPU11に対
応する)と、を備えた構成になっている。
【0005】請求項4に記載の記録媒体は、楽音の複数
のイベントデータが各イベントデータごとにシリアルデ
ータ形式で構成された曲データを読み込むデータ読込手
順と、このデータ読込手順によって読み込まれたイベン
トデータの中の発音データに応じて、所定の通信手段を
介して接続された演奏装置に演奏を教習する演奏教習デ
ータを送信するデータ送信手順と、前記データ読込手順
によって読み込まれた任意の発音データの発音開始時間
とこの任意の発音データの後に読み込まれた他の発音デ
ータの発音開始時間との時間差を検出する時間検出手順
と、この時間検出手順によって検出された時間差があら
かじめ設定された所定時間以内である場合には、前記任
意の発音データ及び前記他の発音データを和音の発音デ
ータと判断して、各発音データに応じた複数の演奏教習
データを前記データ送信手順により前記演奏装置に同時
に送信させる送信制御手順と、を実行する演奏教習処理
プログラムを記録している。
のイベントデータが各イベントデータごとにシリアルデ
ータ形式で構成された曲データを読み込むデータ読込手
順と、このデータ読込手順によって読み込まれたイベン
トデータの中の発音データに応じて、所定の通信手段を
介して接続された演奏装置に演奏を教習する演奏教習デ
ータを送信するデータ送信手順と、前記データ読込手順
によって読み込まれた任意の発音データの発音開始時間
とこの任意の発音データの後に読み込まれた他の発音デ
ータの発音開始時間との時間差を検出する時間検出手順
と、この時間検出手順によって検出された時間差があら
かじめ設定された所定時間以内である場合には、前記任
意の発音データ及び前記他の発音データを和音の発音デ
ータと判断して、各発音データに応じた複数の演奏教習
データを前記データ送信手順により前記演奏装置に同時
に送信させる送信制御手順と、を実行する演奏教習処理
プログラムを記録している。
【0006】請求項1に記載の演奏教習装置又は請求項
4に記載の記録媒体の発明によれば、読み込んだ曲デー
タにおいて、任意の発音データの発音開始時間とこの任
意の発音データの後に読み込まれた他の発音データの発
音開始時間との時間差を検出し、その時間差が所定時間
以内である場合には、任意の発音データ及び他の発音デ
ータを和音の発音データと判断して、各発音データに応
じた複数の演奏教習データを演奏装置に同時に送信す
る。
4に記載の記録媒体の発明によれば、読み込んだ曲デー
タにおいて、任意の発音データの発音開始時間とこの任
意の発音データの後に読み込まれた他の発音データの発
音開始時間との時間差を検出し、その時間差が所定時間
以内である場合には、任意の発音データ及び他の発音デ
ータを和音の発音データと判断して、各発音データに応
じた複数の演奏教習データを演奏装置に同時に送信す
る。
【0007】
【発明の実施の形態】以下、図1〜図42を参照して本
発明の演奏教習装置の実施形態について説明する。この
演奏教習装置では、複数のパートで構成された曲データ
において、特定の1つのパート例えばメロディパートを
指定して、そのパートだけを自動演奏から除くマイナス
ワンのパートに設定する。演奏者は、他のパートの自動
演奏に合わせてそのマイナスワンのパートを演奏練習す
る。この場合において、演奏者の押鍵を待たないモー
ド、すなわち演奏結果に関係なく他のパートの自動演奏
を行う「ノーマルレッスンモード」、いずれかの鍵の押
鍵を待って次の自動演奏を開始する「イージー(1)レ
ッスンモード」、正しい鍵の押鍵を待って次の自動演奏
を開始する「イージー(2)レッスンモード」が選択で
きる。その他、演奏練習のパートだけを模範演奏として
聞くソロ演奏モードを設定することもできる。
発明の演奏教習装置の実施形態について説明する。この
演奏教習装置では、複数のパートで構成された曲データ
において、特定の1つのパート例えばメロディパートを
指定して、そのパートだけを自動演奏から除くマイナス
ワンのパートに設定する。演奏者は、他のパートの自動
演奏に合わせてそのマイナスワンのパートを演奏練習す
る。この場合において、演奏者の押鍵を待たないモー
ド、すなわち演奏結果に関係なく他のパートの自動演奏
を行う「ノーマルレッスンモード」、いずれかの鍵の押
鍵を待って次の自動演奏を開始する「イージー(1)レ
ッスンモード」、正しい鍵の押鍵を待って次の自動演奏
を開始する「イージー(2)レッスンモード」が選択で
きる。その他、演奏練習のパートだけを模範演奏として
聞くソロ演奏モードを設定することもできる。
【0008】図1は、演奏教習装置を用いたシステム構
成を示している。演奏教習装置10及び電子鍵盤楽器2
0は、MIDIケーブル30を介して接続されている。
演奏教習装置10において、CPU11は、システムバ
スに接続されている下記の各部に対して制御信号を送出
してデータの授受を行ってこの装置全体を制御する。ま
た、CPU11には、演奏教習処理の制御プログラムを
格納するROMが内蔵されている。
成を示している。演奏教習装置10及び電子鍵盤楽器2
0は、MIDIケーブル30を介して接続されている。
演奏教習装置10において、CPU11は、システムバ
スに接続されている下記の各部に対して制御信号を送出
してデータの授受を行ってこの装置全体を制御する。ま
た、CPU11には、演奏教習処理の制御プログラムを
格納するROMが内蔵されている。
【0009】スイッチ部12は、スキャン制御信号に応
じて各スイッチのオン・オフ状態のデータを入力する。
FDDC(フロッピーディスク・ドライブ・コントロー
ラ)13は、ドライブ制御信号に応じてFDD(フロッ
ピーディスク・ドライバ)14を制御して、装着された
FD(フロッピーディスク)15を駆動させ、FD15
の曲データを入力する。曲データについては後述する。
RAM16は、スイッチ部12、FDDC13から入力
されたデータや、電子鍵盤楽器20との間で送受信する
データ、その他のデータを記憶するためのエリアを備え
ている。RAM16のエリアのデータ構成については後
述する。
じて各スイッチのオン・オフ状態のデータを入力する。
FDDC(フロッピーディスク・ドライブ・コントロー
ラ)13は、ドライブ制御信号に応じてFDD(フロッ
ピーディスク・ドライバ)14を制御して、装着された
FD(フロッピーディスク)15を駆動させ、FD15
の曲データを入力する。曲データについては後述する。
RAM16は、スイッチ部12、FDDC13から入力
されたデータや、電子鍵盤楽器20との間で送受信する
データ、その他のデータを記憶するためのエリアを備え
ている。RAM16のエリアのデータ構成については後
述する。
【0010】MIDIインターフェース17は、MID
I出力制御信号に応じてRAM16から読み出されたM
IDIデータを電子鍵盤楽器20に送信し、電子鍵盤楽
器20から受信したMIDIデータをMIDI入力制御
信号に応じてRAM16にストアする。LCDC(LC
Dコントローラ)18は、表示制御信号とともにCPU
11から与えられる表示データをLCD表示部18に送
出して表示させる。
I出力制御信号に応じてRAM16から読み出されたM
IDIデータを電子鍵盤楽器20に送信し、電子鍵盤楽
器20から受信したMIDIデータをMIDI入力制御
信号に応じてRAM16にストアする。LCDC(LC
Dコントローラ)18は、表示制御信号とともにCPU
11から与えられる表示データをLCD表示部18に送
出して表示させる。
【0011】電子鍵盤楽器20においては、CPU21
は、システムバスに接続されている下記の各部に対して
制御信号を送出してデータの授受を行ってこの装置全体
を制御する。ROM22は、CPU21によって実行さ
れる楽音制御処理のプログラムを記憶している。MID
Iインターフェース23は、MIDI出力制御信号に応
じてMIDIデータを演奏教習装置10に送信し、演奏
教習装置10から受信したMIDIデータをMIDI入
力制御信号に応じて入力する。インターフェース24
は、鍵盤、スイッチ部及び表示部からなる操作・表示部
25と、CPU21との間において、押鍵データ、離鍵
データ、スイッチオン・オフデータ、表示データの授受
を中継する。鍵盤には、各鍵ごとにLED等の発光素子
が設けられ、演奏教習装置10からのMIDIデータに
応じて点灯又は点滅する。
は、システムバスに接続されている下記の各部に対して
制御信号を送出してデータの授受を行ってこの装置全体
を制御する。ROM22は、CPU21によって実行さ
れる楽音制御処理のプログラムを記憶している。MID
Iインターフェース23は、MIDI出力制御信号に応
じてMIDIデータを演奏教習装置10に送信し、演奏
教習装置10から受信したMIDIデータをMIDI入
力制御信号に応じて入力する。インターフェース24
は、鍵盤、スイッチ部及び表示部からなる操作・表示部
25と、CPU21との間において、押鍵データ、離鍵
データ、スイッチオン・オフデータ、表示データの授受
を中継する。鍵盤には、各鍵ごとにLED等の発光素子
が設けられ、演奏教習装置10からのMIDIデータに
応じて点灯又は点滅する。
【0012】RAM26は、MIDIインターフェース
23を介して送受信されるMIDIデータ、インターフ
ェース23を介して授受される押鍵データ、離鍵デー
タ、スイッチオン・オフデータ、表示データを記憶す
る。音源部27は、CPU21からの発音制御信号及び
楽音データに応じて、波形ROM28の波形データを読
み出して楽音信号を生成し、その楽音信号をサウンドシ
ステム29に送出して発音させる。
23を介して送受信されるMIDIデータ、インターフ
ェース23を介して授受される押鍵データ、離鍵デー
タ、スイッチオン・オフデータ、表示データを記憶す
る。音源部27は、CPU21からの発音制御信号及び
楽音データに応じて、波形ROM28の波形データを読
み出して楽音信号を生成し、その楽音信号をサウンドシ
ステム29に送出して発音させる。
【0013】図2は、演奏教習装置10の外観図であ
り、複数のスイッチからなるスイッチ部12、LCD表
示部19が正面の操作部に設けられ、側面にはFDD1
4のFD挿入口が設けられている。図3にスイッチ部の
詳細を示す。パワースイッチ31は、この装置の電源を
オン・オフするスイッチであり、電源をオンにするとC
PU11の制御プログラムが起動する。ファンクション
スイッチ32は、演奏モード又は設定モードを選択する
ためのモード切替スイッチである。ガイドパートスイッ
チ33は、1つのガイドパートをソロ演奏するガイドパ
ートモード状態又は通常演奏の通常ソング状態を切り替
える状態切替スイッチである。セレクトスイッチ34
は、「←」マークの左セレクトスイッチ及び「→」マー
クの右セレクトスイッチからなり、モードに応じて異な
る選択機能をもっている。
り、複数のスイッチからなるスイッチ部12、LCD表
示部19が正面の操作部に設けられ、側面にはFDD1
4のFD挿入口が設けられている。図3にスイッチ部の
詳細を示す。パワースイッチ31は、この装置の電源を
オン・オフするスイッチであり、電源をオンにするとC
PU11の制御プログラムが起動する。ファンクション
スイッチ32は、演奏モード又は設定モードを選択する
ためのモード切替スイッチである。ガイドパートスイッ
チ33は、1つのガイドパートをソロ演奏するガイドパ
ートモード状態又は通常演奏の通常ソング状態を切り替
える状態切替スイッチである。セレクトスイッチ34
は、「←」マークの左セレクトスイッチ及び「→」マー
クの右セレクトスイッチからなり、モードに応じて異な
る選択機能をもっている。
【0014】レッスンスイッチ35は、イージー(1)
スイッチ、イージー(2)スイッチ、及びノーマルスイ
ッチからなり、レッスン演奏のステップ(段階)を設定
する。プレイスイッチ36は、ソロ演奏又は通常演奏を
開始する演奏開始スイッチである。ストップスイッチ3
7は、ソロ演奏、通常演奏、又はレッスン演奏を停止す
る演奏停止開始スイッチである。ソングセレクトスイッ
チ38は、演奏する曲を選択するための曲選択スイッチ
である。バリュースイッチ39は、モードに応じて鍵域
又はナビチャンネルを選択するスイッチである。なお、
上記各スイッチの詳細な働きについてはさらに後述す
る。
スイッチ、イージー(2)スイッチ、及びノーマルスイ
ッチからなり、レッスン演奏のステップ(段階)を設定
する。プレイスイッチ36は、ソロ演奏又は通常演奏を
開始する演奏開始スイッチである。ストップスイッチ3
7は、ソロ演奏、通常演奏、又はレッスン演奏を停止す
る演奏停止開始スイッチである。ソングセレクトスイッ
チ38は、演奏する曲を選択するための曲選択スイッチ
である。バリュースイッチ39は、モードに応じて鍵域
又はナビチャンネルを選択するスイッチである。なお、
上記各スイッチの詳細な働きについてはさらに後述す
る。
【0015】図4は、LCD表示部19の表示内容のエ
リアを示している。エリア41は、鍵盤を示し、最大8
8鍵に対応している。エリア42は、曲の鍵域が電子鍵
盤楽器20の高音域側の鍵域を超えたときに点滅するU
Pセグメントである。エリア43は、曲の鍵域が電子鍵
盤楽器20の低音域側の鍵域を超えたときに点滅するD
OWNセグメントである。エリア42及び43の間に
は、1〜16の数字等からなるエリアが設けられてい
る。このエリアは、16個のチャンネルの状態を表して
いる。拡大図に示すように、チャンネル数のエリア44
は自動演奏のチャンネルか又は手動演奏のチャンネルで
あるかを示し、バー表示のエリア45は発音中のチャン
ネルであるか否かを示している。エリア46は、現在の
演奏状態例えばノーマルレッスンモードの状態を表して
いる。その他のエリアについては、本発明には直接関係
しないので説明は省略する。
リアを示している。エリア41は、鍵盤を示し、最大8
8鍵に対応している。エリア42は、曲の鍵域が電子鍵
盤楽器20の高音域側の鍵域を超えたときに点滅するU
Pセグメントである。エリア43は、曲の鍵域が電子鍵
盤楽器20の低音域側の鍵域を超えたときに点滅するD
OWNセグメントである。エリア42及び43の間に
は、1〜16の数字等からなるエリアが設けられてい
る。このエリアは、16個のチャンネルの状態を表して
いる。拡大図に示すように、チャンネル数のエリア44
は自動演奏のチャンネルか又は手動演奏のチャンネルで
あるかを示し、バー表示のエリア45は発音中のチャン
ネルであるか否かを示している。エリア46は、現在の
演奏状態例えばノーマルレッスンモードの状態を表して
いる。その他のエリアについては、本発明には直接関係
しないので説明は省略する。
【0016】図5は、FD(フロッピーディスク)15
に記憶されている曲データの構成、及びその曲データを
記憶するRAM16の記憶エリアを示している。FD1
5の曲データは、イベントのデータ及び次イベント開始
までのデルタタイムのデータで構成され、アドレスAP
によって各データが指定される。イベントには、発音及
び音量を示すノートオンイベント、消音を示すノートオ
フイベントの他、音色を切り替えるプログラムチェン
ジ、エフェクトを制御するコントロールチェンジのイベ
ント等で構成されている。例えば、ノートオンイベント
の場合には、RAM16のレジスタEVENTにはノー
トオンの音高(鍵番号)がセットされ、ベロシティ用の
レジスタにはベロシティがセットされ、レジスタΔTに
はデルタタイムがセットされる。また、アドレスポイン
タのレジスタAPにはイベント又はデルタタイムのアド
レスがセットされる。
に記憶されている曲データの構成、及びその曲データを
記憶するRAM16の記憶エリアを示している。FD1
5の曲データは、イベントのデータ及び次イベント開始
までのデルタタイムのデータで構成され、アドレスAP
によって各データが指定される。イベントには、発音及
び音量を示すノートオンイベント、消音を示すノートオ
フイベントの他、音色を切り替えるプログラムチェン
ジ、エフェクトを制御するコントロールチェンジのイベ
ント等で構成されている。例えば、ノートオンイベント
の場合には、RAM16のレジスタEVENTにはノー
トオンの音高(鍵番号)がセットされ、ベロシティ用の
レジスタにはベロシティがセットされ、レジスタΔTに
はデルタタイムがセットされる。また、アドレスポイン
タのレジスタAPにはイベント又はデルタタイムのアド
レスがセットされる。
【0017】図6は、RAM16の他の記憶エリアを示
している。バッファエリア51は、発音処理バッファ、
予告点滅バッファ、MIDI押鍵要求バッファ、MID
I・NewONバッファ、MIDI出力バッファ、MI
DI入力バッファで構成されている。発音処理バッファ
は、発音する音高及びベロシティの発音データを記憶す
る。予告点滅バッファは、次に押鍵すべき電子鍵盤楽器
20の鍵に対応する発光素子を点滅するための予告点滅
データを記憶する。MIDI押鍵要求バッファは、電子
鍵盤楽器20に対して送信した予告点滅データに対応し
て押鍵すべき鍵の鍵番号を示す押鍵要求データを記憶す
る。MIDI・NewONバッファは、送信した押鍵指
示に応答して電子鍵盤楽器20において新たに押鍵され
て送信された鍵番号データを記憶する。MIDI出力バ
ッファ及びMIDI入力バッファは、上記各MIDIデ
ータを含むすべてのMIDIデータについて、電子鍵盤
楽器20に送信する送信MIDIデータ、及び電子鍵盤
楽器20から受信する受信MIDIデータを記憶する。
している。バッファエリア51は、発音処理バッファ、
予告点滅バッファ、MIDI押鍵要求バッファ、MID
I・NewONバッファ、MIDI出力バッファ、MI
DI入力バッファで構成されている。発音処理バッファ
は、発音する音高及びベロシティの発音データを記憶す
る。予告点滅バッファは、次に押鍵すべき電子鍵盤楽器
20の鍵に対応する発光素子を点滅するための予告点滅
データを記憶する。MIDI押鍵要求バッファは、電子
鍵盤楽器20に対して送信した予告点滅データに対応し
て押鍵すべき鍵の鍵番号を示す押鍵要求データを記憶す
る。MIDI・NewONバッファは、送信した押鍵指
示に応答して電子鍵盤楽器20において新たに押鍵され
て送信された鍵番号データを記憶する。MIDI出力バ
ッファ及びMIDI入力バッファは、上記各MIDIデ
ータを含むすべてのMIDIデータについて、電子鍵盤
楽器20に送信する送信MIDIデータ、及び電子鍵盤
楽器20から受信する受信MIDIデータを記憶する。
【0018】カウンタエリア52は、再生カウンタ及び
予告点滅カウンタで構成されている。再生カウンタは、
演奏状態において設定された時間からタイマインタラプ
トごとにインクリメントされるカウンタである。予告点
滅カウンタは、次に押鍵すべき電子鍵盤楽器20の鍵に
対応する発光素子を点滅する点滅実時間をデルタタイム
の値に応じて累算するカウンタである。
予告点滅カウンタで構成されている。再生カウンタは、
演奏状態において設定された時間からタイマインタラプ
トごとにインクリメントされるカウンタである。予告点
滅カウンタは、次に押鍵すべき電子鍵盤楽器20の鍵に
対応する発光素子を点滅する点滅実時間をデルタタイム
の値に応じて累算するカウンタである。
【0019】レジスタエリア53は、TIME、ガイド
パートチャンネル、ナビチャンネル、STEP、発音
数、YAP、RANGEの複数のレジスタで構成されて
いる。TIMEレジスタは、デルタタイムによって更新
される時間データをセットする。ガイドパートチャンネ
ルのレジスタは、ソロ演奏のチャンネル番号をセットす
る。ナビチャンネルのレジスタは、演奏教習のパートの
チャンネル番号をセットする。STEPレジスタは、い
ずれかの鍵の押鍵を待って次の自動演奏を開始する「イ
ージー(1)レッスンモード」、正しい鍵の押鍵を待っ
て次の自動演奏を開始する「イージー(2)レッスンモ
ード」、演奏結果に関係なく他のパートの自動演奏を行
う「ノーマルレッスンモード」、又は通常の自動演奏モ
ードの設定モードに応じて、それぞれ「1」、「2」、
「3」、及び「0」の値をセットする。発音数レジスタ
は、同時に発音する発音の数をセットする。YAPレジ
スタは、次に演奏するイベントのアドレスをセットす
る。RANGEレジスタは、電子鍵盤楽器20の鍵域を
セットする。
パートチャンネル、ナビチャンネル、STEP、発音
数、YAP、RANGEの複数のレジスタで構成されて
いる。TIMEレジスタは、デルタタイムによって更新
される時間データをセットする。ガイドパートチャンネ
ルのレジスタは、ソロ演奏のチャンネル番号をセットす
る。ナビチャンネルのレジスタは、演奏教習のパートの
チャンネル番号をセットする。STEPレジスタは、い
ずれかの鍵の押鍵を待って次の自動演奏を開始する「イ
ージー(1)レッスンモード」、正しい鍵の押鍵を待っ
て次の自動演奏を開始する「イージー(2)レッスンモ
ード」、演奏結果に関係なく他のパートの自動演奏を行
う「ノーマルレッスンモード」、又は通常の自動演奏モ
ードの設定モードに応じて、それぞれ「1」、「2」、
「3」、及び「0」の値をセットする。発音数レジスタ
は、同時に発音する発音の数をセットする。YAPレジ
スタは、次に演奏するイベントのアドレスをセットす
る。RANGEレジスタは、電子鍵盤楽器20の鍵域を
セットする。
【0020】フラグエリア54は、ファンクションフラ
グ、ガイドパートフラグ、STF(スタートフラグ)、
UPオーバーフラグ、DOWNオーバーフラグ、早送り
モードフラグ、ウェイトフラグ、点滅フラグで構成さ
れ、「0」又は「1」の値に応じて状態を表す。ファン
クションフラグは、「0」のとき演奏モード「1」のと
きファンクションモードを表している。ガイドパートフ
ラグは、「1」のときソロ演奏モードを表している。S
TF(スタートフラグ)は、「0」のとき自動演奏停止
「1」のとき自動演奏を表している。UPオーバーフラ
グは、「1」のとき高音域側の鍵域オーバーを表してい
る。DOWNオーバーフラグは、「1」のとき低音域側
の鍵域オーバーを表している。早送りモードフラグは、
「1」のとき早送りモードを表している。ウェイトフラ
グは、「1」のとき押鍵待ち状態を表している。点滅フ
ラグは、電子鍵盤楽器20の発光素子を点滅するときに
点滅周期ごとに値を反転するフラグである。
グ、ガイドパートフラグ、STF(スタートフラグ)、
UPオーバーフラグ、DOWNオーバーフラグ、早送り
モードフラグ、ウェイトフラグ、点滅フラグで構成さ
れ、「0」又は「1」の値に応じて状態を表す。ファン
クションフラグは、「0」のとき演奏モード「1」のと
きファンクションモードを表している。ガイドパートフ
ラグは、「1」のときソロ演奏モードを表している。S
TF(スタートフラグ)は、「0」のとき自動演奏停止
「1」のとき自動演奏を表している。UPオーバーフラ
グは、「1」のとき高音域側の鍵域オーバーを表してい
る。DOWNオーバーフラグは、「1」のとき低音域側
の鍵域オーバーを表している。早送りモードフラグは、
「1」のとき早送りモードを表している。ウェイトフラ
グは、「1」のとき押鍵待ち状態を表している。点滅フ
ラグは、電子鍵盤楽器20の発光素子を点滅するときに
点滅周期ごとに値を反転するフラグである。
【0021】次に、実施形態における演奏教習装置10
の動作について、CPU11のフローチャート及びLC
D表示部19の表示画面を参照して説明する。図7はメ
インフローであり、所定のイニシャライズ処理(ステッ
プA1)の後、スイッチ処理(ステップA2)、表示処
理(ステップA3)、FD読込処理(ステップA4)、
シーケンス処理(ステップA5)、送信データ作成処理
(ステップA6)、予告点滅処理(ステップA7)、M
IDI処理(ステップA8)を実行し、パワーオフであ
るか否かを判別する(ステップA9)。パワーオフでな
い場合には、上記ステップA2〜ステップA9の各処理
を繰り返し実行する。ステップA9においてパワーオフ
になったときは、パワーオフ処理(ステップA10)を
行ってメインフローを終了する。
の動作について、CPU11のフローチャート及びLC
D表示部19の表示画面を参照して説明する。図7はメ
インフローであり、所定のイニシャライズ処理(ステッ
プA1)の後、スイッチ処理(ステップA2)、表示処
理(ステップA3)、FD読込処理(ステップA4)、
シーケンス処理(ステップA5)、送信データ作成処理
(ステップA6)、予告点滅処理(ステップA7)、M
IDI処理(ステップA8)を実行し、パワーオフであ
るか否かを判別する(ステップA9)。パワーオフでな
い場合には、上記ステップA2〜ステップA9の各処理
を繰り返し実行する。ステップA9においてパワーオフ
になったときは、パワーオフ処理(ステップA10)を
行ってメインフローを終了する。
【0022】メインフローの実行中において、MIDI
出力のタイマインタラプトが入ると、図8に示すMID
I出力割込処理を実行し、MIDI出力バッファの内容
を電子鍵盤楽器20に出力して(ステップA11)、メ
インフローに戻る。また、MIDI入力のタイマインタ
ラプトが入ると、図8に示すMIDI入力割込処理を実
行し、電子鍵盤楽器20から受信したMIDIデータを
MIDI入力バッファにストアして(ステップA1
2)、メインフローに戻る。
出力のタイマインタラプトが入ると、図8に示すMID
I出力割込処理を実行し、MIDI出力バッファの内容
を電子鍵盤楽器20に出力して(ステップA11)、メ
インフローに戻る。また、MIDI入力のタイマインタ
ラプトが入ると、図8に示すMIDI入力割込処理を実
行し、電子鍵盤楽器20から受信したMIDIデータを
MIDI入力バッファにストアして(ステップA1
2)、メインフローに戻る。
【0023】図9は、メインフローにおけるスイッチ処
理のフローである。このフローでは、各スイッチのオン
・オフ状態を検出する。すなわち、ファンクションスイ
ッチ処理(ステップB1)、イージー(1)スイッチ処
理(ステップB2)、イージー(2)スイッチ処理(ス
テップB3)、ノーマルスイッチ処理(ステップB
4)、プレイスイッチ処理(ステップB5)、ストップ
スイッチ処理(ステップB6)、ガイドパートスイッチ
処理(ステップB7)、セレクトスイッチ処理(ステッ
プB8)、バリュースイッチ処理(ステップB9)、そ
の他のスイッチ処理(ステップB10)を実行して、メ
インフローに戻る。
理のフローである。このフローでは、各スイッチのオン
・オフ状態を検出する。すなわち、ファンクションスイ
ッチ処理(ステップB1)、イージー(1)スイッチ処
理(ステップB2)、イージー(2)スイッチ処理(ス
テップB3)、ノーマルスイッチ処理(ステップB
4)、プレイスイッチ処理(ステップB5)、ストップ
スイッチ処理(ステップB6)、ガイドパートスイッチ
処理(ステップB7)、セレクトスイッチ処理(ステッ
プB8)、バリュースイッチ処理(ステップB9)、そ
の他のスイッチ処理(ステップB10)を実行して、メ
インフローに戻る。
【0024】図10は、図9のステップB1におけるフ
ァンクションスイッチ処理のフローである。ファンクシ
ョンスイッチがオンされたか否かを判別し(ステップB
11)、オンされたときはファンクションフラグを反転
する(ステップB12)。そして、図9のフローに戻
る。図11は、図9のステップB7におけるガイドパー
トスイッチ処理のフローである。このフローでは、ファ
ンクションフラグが0(演奏モード)であるか否かを判
別し(ステップB13)、このフラグが1(ファンクシ
ョンモード)である場合にはこのフローを終了する。こ
のフラグが0である場合には、ガイドスイッチがオンさ
れたか否かを判別する(ステップB14)。オンされて
いない場合にはこのフローを終了するが、オンされたと
きはガイドパートフラグを反転する(ステップB1
5)。そして、図9のフローに戻る。
ァンクションスイッチ処理のフローである。ファンクシ
ョンスイッチがオンされたか否かを判別し(ステップB
11)、オンされたときはファンクションフラグを反転
する(ステップB12)。そして、図9のフローに戻
る。図11は、図9のステップB7におけるガイドパー
トスイッチ処理のフローである。このフローでは、ファ
ンクションフラグが0(演奏モード)であるか否かを判
別し(ステップB13)、このフラグが1(ファンクシ
ョンモード)である場合にはこのフローを終了する。こ
のフラグが0である場合には、ガイドスイッチがオンさ
れたか否かを判別する(ステップB14)。オンされて
いない場合にはこのフローを終了するが、オンされたと
きはガイドパートフラグを反転する(ステップB1
5)。そして、図9のフローに戻る。
【0025】図12は図9のステップB2におけるイー
ジー(1)スイッチ処理のフローである。この処理では
ファンクションフラグが0(演奏モード)であるか否か
を判別し(ステップB16)、このフラグが1(ファン
クションモード)である場合にはこのフローを終了す
る。このフラグが0である場合には、イージー(1)ス
イッチがオンであるか否かを判別する(ステップB1
7)。このスイッチがオフである場合にはこのフローを
終了するが、このスイッチがオンされたときは、レジス
タSTEPに1(いずれかの鍵の押鍵を待つイージー
(1)モード)をセットする(ステップB18)。ま
た、STFに1(自動演奏)をセットする(ステップB
19)。次に、再生カウンタに0をセットしてクリアし
(ステップB20)、予告点滅カウンタに0をセットし
てクリアする(ステップB21)。次に、アドレスポイ
ンタAP及び予告アドレスポインタYAPに初期値0を
セットする(ステップB22)。そして、レジスタTI
MEに0をセットして(ステップB23)、このフロー
を終了する。
ジー(1)スイッチ処理のフローである。この処理では
ファンクションフラグが0(演奏モード)であるか否か
を判別し(ステップB16)、このフラグが1(ファン
クションモード)である場合にはこのフローを終了す
る。このフラグが0である場合には、イージー(1)ス
イッチがオンであるか否かを判別する(ステップB1
7)。このスイッチがオフである場合にはこのフローを
終了するが、このスイッチがオンされたときは、レジス
タSTEPに1(いずれかの鍵の押鍵を待つイージー
(1)モード)をセットする(ステップB18)。ま
た、STFに1(自動演奏)をセットする(ステップB
19)。次に、再生カウンタに0をセットしてクリアし
(ステップB20)、予告点滅カウンタに0をセットし
てクリアする(ステップB21)。次に、アドレスポイ
ンタAP及び予告アドレスポインタYAPに初期値0を
セットする(ステップB22)。そして、レジスタTI
MEに0をセットして(ステップB23)、このフロー
を終了する。
【0026】図13は図9のステップB3におけるイー
ジー(2)スイッチ処理のフローである。この処理では
ファンクションフラグが0(演奏モード)であるか否か
を判別し(ステップB24)、このフラグが1(ファン
クションモード)である場合にはこのフローを終了す
る。このフラグが0である場合には、イージー(2)ス
イッチがオンであるか否かを判別する(ステップB2
5)。このスイッチがオフである場合にはこのフローを
終了するが、このスイッチがオンでされたときは、レジ
スタSTEPに2(正しい鍵の押鍵を待つイージー
(2)モード)をセットする(ステップB26)。ま
た、STFに1(自動演奏)をセットする(ステップB
27)。次に、再生カウンタに0をセットしてクリアし
(ステップB28)、予告点滅カウンタに0をセットし
てクリアする(ステップB29)。次に、アドレスポイ
ンタAP及び予告アドレスポインタYAPに初期値0を
セットする(ステップB30)。そして、レジスタTI
MEに0をセットして(ステップB31)、このフロー
を終了する。
ジー(2)スイッチ処理のフローである。この処理では
ファンクションフラグが0(演奏モード)であるか否か
を判別し(ステップB24)、このフラグが1(ファン
クションモード)である場合にはこのフローを終了す
る。このフラグが0である場合には、イージー(2)ス
イッチがオンであるか否かを判別する(ステップB2
5)。このスイッチがオフである場合にはこのフローを
終了するが、このスイッチがオンでされたときは、レジ
スタSTEPに2(正しい鍵の押鍵を待つイージー
(2)モード)をセットする(ステップB26)。ま
た、STFに1(自動演奏)をセットする(ステップB
27)。次に、再生カウンタに0をセットしてクリアし
(ステップB28)、予告点滅カウンタに0をセットし
てクリアする(ステップB29)。次に、アドレスポイ
ンタAP及び予告アドレスポインタYAPに初期値0を
セットする(ステップB30)。そして、レジスタTI
MEに0をセットして(ステップB31)、このフロー
を終了する。
【0027】図14は図9のステップB4におけるノー
マルスイッチ処理のフローである。この処理ではファン
クションフラグが0(演奏モード)であるか否かを判別
し(ステップB32)、このフラグが1(ファンクショ
ンモード)である場合にはこのフローを終了する。この
フラグが0である場合には、ノーマルスイッチがオンで
あるか否かを判別する(ステップB33)。このスイッ
チがオフである場合にはこのフローを終了するが、この
スイッチがオンでされたときは、レジスタSTEPに3
(押鍵を待たないノーマルモード)をセットする(ステ
ップB34)。また、STFに1(自動演奏)をセット
する(ステップB35)。次に、再生カウンタに0をセ
ットしてクリアし(ステップB36)、予告点滅カウン
タに0をセットしてクリアする(ステップB37)。次
に、アドレスポインタAP及び予告アドレスポインタY
APに初期値0をセットする(ステップB38)。そし
て、レジスタTIMEに0をセットして(ステップB3
9)、このフローを終了する。
マルスイッチ処理のフローである。この処理ではファン
クションフラグが0(演奏モード)であるか否かを判別
し(ステップB32)、このフラグが1(ファンクショ
ンモード)である場合にはこのフローを終了する。この
フラグが0である場合には、ノーマルスイッチがオンで
あるか否かを判別する(ステップB33)。このスイッ
チがオフである場合にはこのフローを終了するが、この
スイッチがオンでされたときは、レジスタSTEPに3
(押鍵を待たないノーマルモード)をセットする(ステ
ップB34)。また、STFに1(自動演奏)をセット
する(ステップB35)。次に、再生カウンタに0をセ
ットしてクリアし(ステップB36)、予告点滅カウン
タに0をセットしてクリアする(ステップB37)。次
に、アドレスポインタAP及び予告アドレスポインタY
APに初期値0をセットする(ステップB38)。そし
て、レジスタTIMEに0をセットして(ステップB3
9)、このフローを終了する。
【0028】図15は図9のステップB5におけるプレ
イスイッチ処理のフローである。この処理ではファンク
ションフラグが0(演奏モード)であるか否かを判別し
(ステップB40)、このフラグが1(ファンクション
モード)である場合にはこのフローを終了する。このフ
ラグが0である場合には、プレイスイッチがオンである
か否かを判別する(ステップB41)。このスイッチが
オフである場合にはこのフローを終了するが、このスイ
ッチがオンでされたときは、レジスタSTEPに0(自
動演奏モード)をセットする(ステップB42)。ま
た、STFに1(自動演奏)をセットする(ステップB
43)。次に、再生カウンタに0をセットしてクリアし
(ステップB44)、アドレスポインタAP及び予告ア
ドレスポインタYAPに初期値0をセットする(ステッ
プB45)。そして、レジスタTIMEに0をセットし
て(ステップB46)、このフローを終了する。
イスイッチ処理のフローである。この処理ではファンク
ションフラグが0(演奏モード)であるか否かを判別し
(ステップB40)、このフラグが1(ファンクション
モード)である場合にはこのフローを終了する。このフ
ラグが0である場合には、プレイスイッチがオンである
か否かを判別する(ステップB41)。このスイッチが
オフである場合にはこのフローを終了するが、このスイ
ッチがオンでされたときは、レジスタSTEPに0(自
動演奏モード)をセットする(ステップB42)。ま
た、STFに1(自動演奏)をセットする(ステップB
43)。次に、再生カウンタに0をセットしてクリアし
(ステップB44)、アドレスポインタAP及び予告ア
ドレスポインタYAPに初期値0をセットする(ステッ
プB45)。そして、レジスタTIMEに0をセットし
て(ステップB46)、このフローを終了する。
【0029】図16は、図9のステップB6におけるス
トップスイッチ処理のフローである。このフローでは、
STFに0(自動演奏停止)をセットし(ステップB4
7)、音源部に対して消音を指示する(ステップB4
8)。そしてこのフローを終了する。図17は、図9の
ステップB8におけるセレクトスイッチ処理のフローで
ある。まず、ファンクションフラグが0(演奏モード)
であるか否かを判別する(ステップB49)。このフラ
グが0である場合には、左セレクトスイッチがオンされ
たか否かを判別し(ステップB50)、このスイッチが
オンされたときは、ガイドパートチャンネルの番号をデ
クリメントする(ステップB51)。デクリメントした
チャンネル番号が0になったときは、チャンネル番号を
16(最大チャンネル番号)に変更する。ステップB5
0において左セレクトスイッチがオンでない場合には、
右セレクトスイッチがオンされたか否かを判別する(ス
テップB52)。このスイッチがオンされたときは、ガ
イドパートチャンネルの番号をインクリメントする(ス
テップB53)。インクリメントしたチャンネル番号が
17になったときは、チャンネル番号を1(最小チャン
ネル番号)に変更する。
トップスイッチ処理のフローである。このフローでは、
STFに0(自動演奏停止)をセットし(ステップB4
7)、音源部に対して消音を指示する(ステップB4
8)。そしてこのフローを終了する。図17は、図9の
ステップB8におけるセレクトスイッチ処理のフローで
ある。まず、ファンクションフラグが0(演奏モード)
であるか否かを判別する(ステップB49)。このフラ
グが0である場合には、左セレクトスイッチがオンされ
たか否かを判別し(ステップB50)、このスイッチが
オンされたときは、ガイドパートチャンネルの番号をデ
クリメントする(ステップB51)。デクリメントした
チャンネル番号が0になったときは、チャンネル番号を
16(最大チャンネル番号)に変更する。ステップB5
0において左セレクトスイッチがオンでない場合には、
右セレクトスイッチがオンされたか否かを判別する(ス
テップB52)。このスイッチがオンされたときは、ガ
イドパートチャンネルの番号をインクリメントする(ス
テップB53)。インクリメントしたチャンネル番号が
17になったときは、チャンネル番号を1(最小チャン
ネル番号)に変更する。
【0030】ステップB49においてファンクションフ
ラグが1(ファンクションモード)である場合には、左
セレクトスイッチ又は右セレクトスイッチのいずれか一
方がオンされたか否かを判別する(ステップB54)。
いずれのスイッチもオンされない場合にはこのフローを
終了するが、いずれか一方がオンされたときはファンク
ションモードのメニューを変更する。すなわち、現在の
ファンクションモードが鍵域設定モードであるか否かを
判別し(ステップB55)、鍵域設定モードである場合
にはナビチャンネル設定モードに変更する(ステップB
56)。一方、現在のファンクションモードがナビチャ
ンネル設定モードである場合には、鍵域設定モードに変
更する(ステップB57)。設定モードを変更した後は
このフロー終了して図9のフローに戻る。
ラグが1(ファンクションモード)である場合には、左
セレクトスイッチ又は右セレクトスイッチのいずれか一
方がオンされたか否かを判別する(ステップB54)。
いずれのスイッチもオンされない場合にはこのフローを
終了するが、いずれか一方がオンされたときはファンク
ションモードのメニューを変更する。すなわち、現在の
ファンクションモードが鍵域設定モードであるか否かを
判別し(ステップB55)、鍵域設定モードである場合
にはナビチャンネル設定モードに変更する(ステップB
56)。一方、現在のファンクションモードがナビチャ
ンネル設定モードである場合には、鍵域設定モードに変
更する(ステップB57)。設定モードを変更した後は
このフロー終了して図9のフローに戻る。
【0031】図18は、図9のステップB9におけるバ
リュースイッチ処理のフローである。このフローにおい
ては、ファンクションモードのメニューに応じた処理を
行う。現在のファンクションモードが鍵域設定モードで
あるか否かを判別し(ステップB58)、このモードで
ある場合には「+」スイッチがオンされたか否かを判別
する(ステップB59)。このスイッチがオンされたと
きは、レジスタRANGEの値をインクリメントする
(ステップB60)。「+」スイッチがオンでない場合
には、「−」スイッチがオンされたか否かを判別する
(ステップB61)。このスイッチがオンされたとき
は、RANGEの値をデクリメントする(ステップB6
2)。すなわち,接続されている電子鍵盤楽器20の鍵
数に応じた値がRANGEにセットされる。
リュースイッチ処理のフローである。このフローにおい
ては、ファンクションモードのメニューに応じた処理を
行う。現在のファンクションモードが鍵域設定モードで
あるか否かを判別し(ステップB58)、このモードで
ある場合には「+」スイッチがオンされたか否かを判別
する(ステップB59)。このスイッチがオンされたと
きは、レジスタRANGEの値をインクリメントする
(ステップB60)。「+」スイッチがオンでない場合
には、「−」スイッチがオンされたか否かを判別する
(ステップB61)。このスイッチがオンされたとき
は、RANGEの値をデクリメントする(ステップB6
2)。すなわち,接続されている電子鍵盤楽器20の鍵
数に応じた値がRANGEにセットされる。
【0032】ステップB58において現在のファンクシ
ョンモードが鍵域設定モードでない場合には、ナビチャ
ンネル設定モードであるか否かを判別する(ステップB
63)。このモードである場合には、「+」スイッチが
オンされたか否かを判別する(ステップB64)。この
スイッチがオンされたときは、ナビチャンネルの番号を
インクリメントする(ステップB65)。インクリメン
トしたチャンネル番号が17になったときはチャンネル
番号を1にする。「+」スイッチがオンでない場合に
は、「−」スイッチがオンされたか否かを判別する(ス
テップB66)。このスイッチがオンされたときは、ナ
ビチャンネルの番号をデクリメントする(ステップB6
7)。デクリメントしたチャンネル番号が0になったと
きは、チャンネル番号を16にする。ステップB58に
おいて鍵域設定モードでなく、ステップB63において
ナビチャンネル設定モードでもない場合には、その他の
設定処理を行う(ステップB68)。各設定モードに応
じた処理の後は、このフローを終了する。
ョンモードが鍵域設定モードでない場合には、ナビチャ
ンネル設定モードであるか否かを判別する(ステップB
63)。このモードである場合には、「+」スイッチが
オンされたか否かを判別する(ステップB64)。この
スイッチがオンされたときは、ナビチャンネルの番号を
インクリメントする(ステップB65)。インクリメン
トしたチャンネル番号が17になったときはチャンネル
番号を1にする。「+」スイッチがオンでない場合に
は、「−」スイッチがオンされたか否かを判別する(ス
テップB66)。このスイッチがオンされたときは、ナ
ビチャンネルの番号をデクリメントする(ステップB6
7)。デクリメントしたチャンネル番号が0になったと
きは、チャンネル番号を16にする。ステップB58に
おいて鍵域設定モードでなく、ステップB63において
ナビチャンネル設定モードでもない場合には、その他の
設定処理を行う(ステップB68)。各設定モードに応
じた処理の後は、このフローを終了する。
【0033】図19及び図20は、図7のメインフロー
におけるステップA3の表示処理のフローであり、図2
1〜図23は、表示画面の例を示している。図19にお
いて、ファンクションフラグが1(ファンクションモー
ド)であるか否かを判別し(ステップC1)、このフラ
グが1である場合には、鍵域設定モードであるか否かを
判別する(ステップC2)。このモードである場合に
は、図21(1)〜(5)に示すような鍵域設定画面を
表示し(ステップC3)、RANGEに対応する鍵域数
を表示する(ステップC4)。電子鍵盤楽器20の鍵数
が88鍵である場合には、図18のバリュースイッチ処
理においてRANGEの値が88に設定されているの
で、図21(1)に示すように、鍵盤表示エリアのすべ
ての鍵が点滅し、「88Keys」が表示される。RA
NGEの値が76である場合には、図21(2)に示す
ように、鍵盤表示エリアのうち76鍵が点滅し、「76
Keys」が表示される。RANGEの値が73、6
1、49である場合も同様に、図21(3)、(4)、
(5)に示す表示画面となる。
におけるステップA3の表示処理のフローであり、図2
1〜図23は、表示画面の例を示している。図19にお
いて、ファンクションフラグが1(ファンクションモー
ド)であるか否かを判別し(ステップC1)、このフラ
グが1である場合には、鍵域設定モードであるか否かを
判別する(ステップC2)。このモードである場合に
は、図21(1)〜(5)に示すような鍵域設定画面を
表示し(ステップC3)、RANGEに対応する鍵域数
を表示する(ステップC4)。電子鍵盤楽器20の鍵数
が88鍵である場合には、図18のバリュースイッチ処
理においてRANGEの値が88に設定されているの
で、図21(1)に示すように、鍵盤表示エリアのすべ
ての鍵が点滅し、「88Keys」が表示される。RA
NGEの値が76である場合には、図21(2)に示す
ように、鍵盤表示エリアのうち76鍵が点滅し、「76
Keys」が表示される。RANGEの値が73、6
1、49である場合も同様に、図21(3)、(4)、
(5)に示す表示画面となる。
【0034】図19のフローのステップC2において鍵
域設定モードでない場合には、ナビチャンネル設定モー
ドであるか否かを判別する(ステップC5)。このモー
ドである場合には、図22に示すようなナビチャンネル
設定画面を表示し(ステップC6)、ナビチャンネルを
表示する(ステップC7)。図22の例は、ナビチャン
ネルが4チャンネルの場合である。したがって、「4
Navi.ch」と表示されている。
域設定モードでない場合には、ナビチャンネル設定モー
ドであるか否かを判別する(ステップC5)。このモー
ドである場合には、図22に示すようなナビチャンネル
設定画面を表示し(ステップC6)、ナビチャンネルを
表示する(ステップC7)。図22の例は、ナビチャン
ネルが4チャンネルの場合である。したがって、「4
Navi.ch」と表示されている。
【0035】図19のフローのステップC1において、
ファンクションフラグが0(演奏モード)である場合に
は、図20のフローにおいて、図23(1)〜(5)に
示すように、演奏状態に対応した演奏画面を表示する
(ステップC8)。例えば、通常再生の場合には、チャ
ンネル1からチャンネル16までが自動演奏のチャンネ
ルに設定されるので、図23(1)に示すように、全部
のチャンネル番号マークを強調表示し、発音中のチャン
ネルのチャンネル番号(この例では、1及び4)に対応
する位置のマークを点灯する。
ファンクションフラグが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)に示すように、いずれのチ
ャンネル番号のマークも消灯する。
ラグが1であるか否かを判別し(ステップC9)、この
フラグが1である場合には、ガイドパートチャンネルを
表示する(ステップC10)。すなわち、ガイドパート
再生の場合には、図23(2)に示すように、自動演奏
するソロパートのチャンネル(この例では、4)のチャ
ンネル番号マークのみを強調表示し、発音中のチャンネ
ルのチャンネル番号に対応する位置のマークを点灯す
る。イージー(1)、イージー(2)及びノーマルのレ
ッスンモードの場合には、マイナスワン演奏であるので
図23(3)、(4)に示すように、練習演奏するパー
トのチャンネル以外の他のチャンネルの番号を強調表示
する。演奏停止状態の場合には、発音中のチャンネルは
全くないので、図23(5)に示すように、いずれのチ
ャンネル番号のマークも消灯する。
【0037】また、図20のフローにおいて、STFが
1(自動演奏)であるか否かを判別し(ステップC1
1)、このフラグが1である場合には、MIDI出力バ
ッファ内のノートイベントに基づき鍵表示を行う(ステ
ップC12)。次に、UPオーバーフラグが1(高音域
オーバー)であるか否かを判別し(ステップC13)、
このフラグが1である場合には、図23(1)、
(3)、(4)、(5)に示すように、UPセグメント
を点滅する(ステップC14)。また、DOWNオーバ
ーフラグが1(低音域オーバー)であるか否かを判別し
(ステップC15)、このフラグが1である場合には、
図23(2)に示すように、DOWNセグメントを点滅
する(ステップC16)。
1(自動演奏)であるか否かを判別し(ステップC1
1)、このフラグが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(自動演奏)であるか否かを判別し(ステップD
1)、このフラグが1である場合には、最小分解能時間
が経過したか否かを判別する(ステップD2)。最小分
解能時間とは、4分音符の時間長の整数(例えば24)
分の1で表される。したがって、テンポが120の場合
で4分音符の時間長が500msのときは、最小分解能
時間は約21msとなる。最小分解能時間が経過しない
ときは、ウェイトフラグが0であるか否かを判別し(ス
テップD3)、このフラグが0で押鍵待ちでない場合に
は、このフローを終了する。
おけるシーケンス処理のフローである。まず、STFが
1(自動演奏)であるか否かを判別し(ステップD
1)、このフラグが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)。そして、メインフロー
に戻る。
レジスタSTEPの値が0(通常自動演奏モード)又は
3(押鍵を待たないノーマルレッスンモード)であるか
否かを判別する(ステップD4)。STEPの値が0又
は3である場合には、経過した最小分解能時間だけ再生
カウンタの値をインクリメントする(ステップD5)。
そして、STEPの値が0であるか否かを判別する(ス
テップD6)。この値が0である場合には、通常再生処
理を実行する(ステップD7)。そして、メインフロー
に戻る。
【0040】図25に通常再生処理のフローを示す。こ
のフローにおいては、指定した曲データがFD(フロッ
ピーディスク)にあるか否かを判別し(ステップD
8)、データがない場合にはこのフローを終了する。デ
ータがある場合には、FDのアドレスAPのデルタタイ
ムのデータであるMEM[AP]をレジスタΔTにセッ
トする(ステップD9)。すなわち、次のイベントの開
始時間をΔTにセットする。そして、再生カウンタの値
が、TIMEの値及びΔTの値の加算値以上であるか否
かを判別する(ステップD10)。上記したように、再
生カウンタの値は最小分解能時間の経過ごとに累積する
時間データであるので、再生カウンタの値が小さい場合
には、次のイベントの開始時間にまだ達していないの
で、このフローを終了する。
のフローにおいては、指定した曲データがFD(フロッ
ピーディスク)にあるか否かを判別し(ステップD
8)、データがない場合にはこのフローを終了する。デ
ータがある場合には、FDのアドレスAPのデルタタイ
ムのデータであるMEM[AP]をレジスタΔTにセッ
トする(ステップD9)。すなわち、次のイベントの開
始時間をΔTにセットする。そして、再生カウンタの値
が、TIMEの値及びΔTの値の加算値以上であるか否
かを判別する(ステップD10)。上記したように、再
生カウンタの値は最小分解能時間の経過ごとに累積する
時間データであるので、再生カウンタの値が小さい場合
には、次のイベントの開始時間にまだ達していないの
で、このフローを終了する。
【0041】再生カウンタの値が、TIMEの値及びΔ
Tの値の加算値以上である場合、すなわち、再生カウン
タの値が次のイベントの開始時間に達している場合に
は、TIMEの値にΔTの値を加算し(ステップD1
1)、曲データのアドレスポインタAPの値をインクリ
メントして(ステップD12)、イベントデータを指定
する。そして、そのイベントデータMEM[AP]をレ
ジスタEVENTにセットする(ステップD13)。次
に、ガイドパートフラグが1(ソロパート自動演奏)で
あるか否かを判別する(ステップD14)。このフラグ
が1である場合には、EVENTのチャンネルとガイド
パートのチャンネルとが同一であるか否かを判別する
(ステップD15)。
Tの値の加算値以上である場合、すなわち、再生カウン
タの値が次のイベントの開始時間に達している場合に
は、TIMEの値にΔTの値を加算し(ステップD1
1)、曲データのアドレスポインタAPの値をインクリ
メントして(ステップD12)、イベントデータを指定
する。そして、そのイベントデータMEM[AP]をレ
ジスタEVENTにセットする(ステップD13)。次
に、ガイドパートフラグが1(ソロパート自動演奏)で
あるか否かを判別する(ステップD14)。このフラグ
が1である場合には、EVENTのチャンネルとガイド
パートのチャンネルとが同一であるか否かを判別する
(ステップD15)。
【0042】ガイドパートフラグが0である場合、又は
EVENTのチャンネルとガイドパートのチャンネルと
が同一である場合には、EVENTのデータを発音処理
バッファにストアする(ステップD16)。データをス
トアした後、又はステップD15においてEVENTの
チャンネルとガイドパートのチャンネルとが異なる場合
には、APの値をインクリメントして(ステップD1
7)、ステップD8に移行して、ステップD17までの
処理を繰り返す。そして、再生カウンタの値がイベント
データの開始時間に達するたびに、そのイベントデータ
を発音処理バッファにストアする。ステップD8におい
て読み出すべき曲データがなく、曲が終了したときは、
メインフローに戻る。
EVENTのチャンネルとガイドパートのチャンネルと
が同一である場合には、EVENTのデータを発音処理
バッファにストアする(ステップD16)。データをス
トアした後、又はステップD15においてEVENTの
チャンネルとガイドパートのチャンネルとが異なる場合
には、APの値をインクリメントして(ステップD1
7)、ステップD8に移行して、ステップD17までの
処理を繰り返す。そして、再生カウンタの値がイベント
データの開始時間に達するたびに、そのイベントデータ
を発音処理バッファにストアする。ステップD8におい
て読み出すべき曲データがなく、曲が終了したときは、
メインフローに戻る。
【0043】図24のフローのステップD6において、
STEPの値が0でなく3(押鍵を待たないレッスンモ
ード)である場合には、図26のフローにおいて、再生
カウンタの値が予告点滅カウンタの値に達したか否かを
判別する(ステップD18)。予告点滅カウンタには、
電子鍵盤楽器20の押鍵を教習するために発光素子を点
滅させる時間データがセットされている。したがって、
最小分解能時間ごとに値が累算される再生カウンタの値
が予告点滅カウンタの値に達したときは、現在時間が押
鍵タイミング時間に達したときである。そこで、その発
光素子を点滅から点灯に変える必要がある。このため、
予告点滅カウンタをクリアする(ステップD19)。こ
のカウンタをクリアした後、又は再生カウンタの値が予
告点滅カウンタの値にまだ達していない場合には、ST
EPの値が3(押鍵を待たないレッスンモード)におけ
る予告ノート検出処理を実行する(ステップD20)。
すなわち、データの先読みを行う。次に、曲データ読込
み処理を実行する(ステップD21)。そして、メイン
フローに戻る。
STEPの値が0でなく3(押鍵を待たないレッスンモ
ード)である場合には、図26のフローにおいて、再生
カウンタの値が予告点滅カウンタの値に達したか否かを
判別する(ステップD18)。予告点滅カウンタには、
電子鍵盤楽器20の押鍵を教習するために発光素子を点
滅させる時間データがセットされている。したがって、
最小分解能時間ごとに値が累算される再生カウンタの値
が予告点滅カウンタの値に達したときは、現在時間が押
鍵タイミング時間に達したときである。そこで、その発
光素子を点滅から点灯に変える必要がある。このため、
予告点滅カウンタをクリアする(ステップD19)。こ
のカウンタをクリアした後、又は再生カウンタの値が予
告点滅カウンタの値にまだ達していない場合には、ST
EPの値が3(押鍵を待たないレッスンモード)におけ
る予告ノート検出処理を実行する(ステップD20)。
すなわち、データの先読みを行う。次に、曲データ読込
み処理を実行する(ステップD21)。そして、メイン
フローに戻る。
【0044】図27は、図26のステップD20におけ
る予告ノート検出処理(STEP3)のフローである。
FD内にまだ曲データがあるか否かを判別し(ステップ
D22)、データがない場合すなわち曲が終了したとき
はこのフローを終了する。まだデータがある場合には、
予告アドレスポインタYAPのデルタタイムのデータM
EM[YAP]をΔTにセットし(ステップD23)、
次の予告アドレスポインタ(YAP+1)のイベントデ
ータをEVENTにセットする(ステップD24)。次
に、EVENTのチャンネルとガイドパートのチャンネ
ルとが同一であるか否かを判別する(ステップD2
5)。
る予告ノート検出処理(STEP3)のフローである。
FD内にまだ曲データがあるか否かを判別し(ステップ
D22)、データがない場合すなわち曲が終了したとき
はこのフローを終了する。まだデータがある場合には、
予告アドレスポインタYAPのデルタタイムのデータM
EM[YAP]をΔTにセットし(ステップD23)、
次の予告アドレスポインタ(YAP+1)のイベントデ
ータをEVENTにセットする(ステップD24)。次
に、EVENTのチャンネルとガイドパートのチャンネ
ルとが同一であるか否かを判別する(ステップD2
5)。
【0045】同一でない場合には、予告点滅カウンタの
値にΔTの値を加算し(ステップD26A)、 YAP
の値に2を加算する(ステップD26B)。すなわち、
次の予告ノートのデータを指定する。次に、ステップD
22に移行して指定したデータがあるか否かを判別す
る。そして、ガイドパートのチャンネルと同一のチャン
ネルのEVENTを検出するまで、ステップD22〜ス
テップD26Bのループを繰り返す。ステップD25に
おいて同一のチャンネルのEVENTを検出したとき
は、そのEVENTのノートのRANGEは鍵域内であ
るか否かを判別する(ステップD27)。
値にΔTの値を加算し(ステップD26A)、 YAP
の値に2を加算する(ステップD26B)。すなわち、
次の予告ノートのデータを指定する。次に、ステップD
22に移行して指定したデータがあるか否かを判別す
る。そして、ガイドパートのチャンネルと同一のチャン
ネルのEVENTを検出するまで、ステップD22〜ス
テップD26Bのループを繰り返す。ステップD25に
おいて同一のチャンネルのEVENTを検出したとき
は、そのEVENTのノートのRANGEは鍵域内であ
るか否かを判別する(ステップD27)。
【0046】鍵域内である場合には、EVENTのノー
トを予告点滅バッファにストアする(ステップD2
8)。すなわち、押鍵すべき鍵に対応する発光素子を予
告点滅させるデータとしてストアする。EVENTのノ
ートのRANGEが鍵域内でない場合には、予告点滅バ
ッファをクリアする(ステップD29)。予告点滅バッ
ファにノートをストアした後、又は、予告点滅バッファ
をクリアした後は、予告点滅カウンタの値にΔTの値を
加算し(ステップD30)、YAPの値に2を加算する
(ステップD31)。すなわち、次の予告ノートのデー
タを指定する。そして、図26のフローのステップD2
1に移行する。
トを予告点滅バッファにストアする(ステップD2
8)。すなわち、押鍵すべき鍵に対応する発光素子を予
告点滅させるデータとしてストアする。EVENTのノ
ートのRANGEが鍵域内でない場合には、予告点滅バ
ッファをクリアする(ステップD29)。予告点滅バッ
ファにノートをストアした後、又は、予告点滅バッファ
をクリアした後は、予告点滅カウンタの値にΔTの値を
加算し(ステップD30)、YAPの値に2を加算する
(ステップD31)。すなわち、次の予告ノートのデー
タを指定する。そして、図26のフローのステップD2
1に移行する。
【0047】図28は、図26のステップD21におけ
る曲データ読込み処理のフローである。指定した曲デー
タがFDにあるか否かを判別し(ステップD32A)、
データがない場合にはこのフローを終了する。データが
ある場合には、FDのアドレスAPのデルタタイムのデ
ータであるMEM[AP]をレジスタΔTにセットする
(ステップD32B)。そして、再生カウンタの値が、
TIMEの値及びΔTの値の加算値以上であるか否かを
判別する(ステップD33)。再生カウンタの値が小さ
い場合には、次のイベントの開始時間にまだ達していな
いので、このフローを終了する。
る曲データ読込み処理のフローである。指定した曲デー
タがFDにあるか否かを判別し(ステップD32A)、
データがない場合にはこのフローを終了する。データが
ある場合には、FDのアドレスAPのデルタタイムのデ
ータであるMEM[AP]をレジスタΔTにセットする
(ステップD32B)。そして、再生カウンタの値が、
TIMEの値及びΔTの値の加算値以上であるか否かを
判別する(ステップD33)。再生カウンタの値が小さ
い場合には、次のイベントの開始時間にまだ達していな
いので、このフローを終了する。
【0048】再生カウンタの値が、TIMEの値及びΔ
Tの値の加算値以上である場合、すなわち、再生カウン
タの値が次のイベントの開始時間に達している場合に
は、TIMEの値にΔTの値を加算し(ステップD3
4)、曲データのアドレスポインタAPの値をインクリ
メントして(ステップD35)、イベントデータを指定
する。そして、そのイベントデータMEM[AP]をレ
ジスタEVENTにセットする(ステップD36)。そ
して、EVENTのデータを発音処理バッファにストア
する(ステップD37)。次に、APの値をインクリメ
ントして(ステップD38)、ステップD32Aに移行
して、ステップD38までの処理を繰り返す。そして、
再生カウンタの値がイベントデータの開始時間に達する
たびに、そのイベントデータを発音処理バッファにスト
アする。ステップD32Aにおいて読み出すべき曲デー
タがなく、曲が終了したときは、メインフローに戻る。
Tの値の加算値以上である場合、すなわち、再生カウン
タの値が次のイベントの開始時間に達している場合に
は、TIMEの値にΔTの値を加算し(ステップD3
4)、曲データのアドレスポインタAPの値をインクリ
メントして(ステップD35)、イベントデータを指定
する。そして、そのイベントデータMEM[AP]をレ
ジスタEVENTにセットする(ステップD36)。そ
して、EVENTのデータを発音処理バッファにストア
する(ステップD37)。次に、APの値をインクリメ
ントして(ステップD38)、ステップD32Aに移行
して、ステップD38までの処理を繰り返す。そして、
再生カウンタの値がイベントデータの開始時間に達する
たびに、そのイベントデータを発音処理バッファにスト
アする。ステップD32Aにおいて読み出すべき曲デー
タがなく、曲が終了したときは、メインフローに戻る。
【0049】図24のシーケンス処理のステップD4に
おいて、STEPの値が1(イージー(1)レッスン)
又は2(イージー(2)レッスン)である場合には、図
29のフローにおいて、予告点滅カウンタの値が再生カ
ウンタの値と同じでないか否かを判別する(ステップD
39)。これらの値が同じでない場合、すなわち、電子
鍵盤楽器20の発光素子が点滅中で次の押鍵予告を行っ
ているが、再生カウンタの値(時間)が予告点滅カウン
タの値(点滅終了時間)に達しておらず、まだ押鍵開始
時間に達していない場合には、MIDI押鍵要求バッフ
ァにデータがあるか否かを判別する(ステップD4
0)。
おいて、STEPの値が1(イージー(1)レッスン)
又は2(イージー(2)レッスン)である場合には、図
29のフローにおいて、予告点滅カウンタの値が再生カ
ウンタの値と同じでないか否かを判別する(ステップD
39)。これらの値が同じでない場合、すなわち、電子
鍵盤楽器20の発光素子が点滅中で次の押鍵予告を行っ
ているが、再生カウンタの値(時間)が予告点滅カウン
タの値(点滅終了時間)に達しておらず、まだ押鍵開始
時間に達していない場合には、MIDI押鍵要求バッフ
ァにデータがあるか否かを判別する(ステップD4
0)。
【0050】このバッファにデータがある場合、すなわ
ち電子鍵盤楽器20側に押鍵すべきノートデータがある
場合には、MIDINewONバッファにデータがある
か否かを判別する(ステップD41)。このバッファに
データがある場合、すなわち電子鍵盤楽器20におい
て、まだ押鍵開始時間に達していないにもかかわらず、
押鍵がされた場合には、MIDINewONバッファに
その押鍵によるノートデータがストアされる。この場合
には、STEPの値が2(イージー(2)レッスン)で
あるか否かを判別する(ステップD42)。STEPの
値が2で、正しい押鍵待ちレッスンモードである場合に
は、MIDI押鍵要求バッファのノートデータとMID
INewONバッファのノートデータとが一致するか否
かを判別する(ステップD43)。すなわち、押鍵要求
のノートデータと実際の押鍵のノートデータとが一致す
るか否かを判別する。
ち電子鍵盤楽器20側に押鍵すべきノートデータがある
場合には、MIDINewONバッファにデータがある
か否かを判別する(ステップD41)。このバッファに
データがある場合、すなわち電子鍵盤楽器20におい
て、まだ押鍵開始時間に達していないにもかかわらず、
押鍵がされた場合には、MIDINewONバッファに
その押鍵によるノートデータがストアされる。この場合
には、STEPの値が2(イージー(2)レッスン)で
あるか否かを判別する(ステップD42)。STEPの
値が2で、正しい押鍵待ちレッスンモードである場合に
は、MIDI押鍵要求バッファのノートデータとMID
INewONバッファのノートデータとが一致するか否
かを判別する(ステップD43)。すなわち、押鍵要求
のノートデータと実際の押鍵のノートデータとが一致す
るか否かを判別する。
【0051】両バッファのノートデータが一致しない場
合には押鍵とは認めず、経過した最小分解能時間(図2
4のステップD2)だけ再生カウンタの値をインクリメ
ントする(ステップD44)。ステップD40において
MIDI押鍵要求バッファにデータがない場合すなわち
鍵域がオーバーしている場合、又は、ステップD41に
おいてMIDINewONバッファにデータがない場合
すなわち押鍵がされていない場合にも、ステップD44
において再生カウンタの値をインクリメントする。次
に、予告点滅バッファはクリアされているか否かを判別
する(ステップD45)。このバッファがクリアされて
いる場合には、イージー(1)レッスン及びイージー
(2)レッスンにおける予告ノート検出処理を実行する
(ステップD46)。すなわち、データの先読みを行
う。予告ノート検出処理(STEP1,2)の後、又
は、ステップD45において予告点滅バッファにデータ
がある場合には、図28のフローに示した曲データ読込
み処理を実行する(ステップD47)。そして、メイン
フローに戻る。
合には押鍵とは認めず、経過した最小分解能時間(図2
4のステップ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)。すなわちこの場合には、現
在時間を進めたその時間差分の曲データを早送りモード
で読み込む。
で、いずれかの鍵の押鍵待ちレッスンモードである場
合、又は、ステップD43において、MIDI押鍵要求
バッファのノートデータとMIDINewONバッファ
のノートデータとが一致する場合には、まだ押鍵開始時
間に達していないにもかかわらず押鍵がされた場合であ
る。この場合には、図30のフローにおいて、再生カウ
ンタの値を予告点滅カウンタの値に更新する(ステップ
D48)。すなわち、再生カウンタの値である現在時間
を押鍵開始時間に先送りして進めるために、予告点滅カ
ウンタの値に変更する。そして、早送りモードフラグに
1(早送りモード)をセットする(ステップD49)。
次に、図28のフローに示した曲データ読込み処理を実
行する(ステップD50)。すなわちこの場合には、現
在時間を進めたその時間差分の曲データを早送りモード
で読み込む。
【0053】また、図29のステップD39において、
予告点滅カウンタの値が再生カウンタの値に一致した場
合、すなわち、鍵域内のノートの押鍵開始時間に達した
とき又は鍵域外のノートの発音時間に達したときは、図
30のステップD51において、MIDI押鍵要求バッ
ファにデータがあるか否かを判別する(ステップD5
1)。このバッファにデータがない場合には、鍵域外で
あるので、図28のフローに示した曲データ読込み処理
を実行する(ステップD50)。すなわちこの場合に
は、押鍵指示ができないので発音のみを行うために曲デ
ータを読み込む。
予告点滅カウンタの値が再生カウンタの値に一致した場
合、すなわち、鍵域内のノートの押鍵開始時間に達した
とき又は鍵域外のノートの発音時間に達したときは、図
30のステップD51において、MIDI押鍵要求バッ
ファにデータがあるか否かを判別する(ステップD5
1)。このバッファにデータがない場合には、鍵域外で
あるので、図28のフローに示した曲データ読込み処理
を実行する(ステップD50)。すなわちこの場合に
は、押鍵指示ができないので発音のみを行うために曲デ
ータを読み込む。
【0054】ステップD50における曲データ読込み処
理が終了すると、MIDI押鍵要求バッファをクリアし
(ステップD52)、予告点滅バッファをクリアする
(ステップD53)。そして、イージー(1)レッスン
及びイージー(2)レッスンにおける予告ノート検出処
理を実行する(ステップD54)。次に、早送りモード
フラグが0であるか否かを判別する(ステップD5
5)。このフラグが0である場合には、経過した最小分
解能時間(図24のステップD2)だけ再生カウンタの
値をインクリメントする(ステップD56)。そして、
メインフローに戻る。早送りモードフラグが1の場合に
は、ステップD48において再生カウンタの値を予告点
滅カウンタの値に更新しているので、再生カウンタのイ
ンクリメントをすることなく、メインフローに戻る。
理が終了すると、MIDI押鍵要求バッファをクリアし
(ステップD52)、予告点滅バッファをクリアする
(ステップD53)。そして、イージー(1)レッスン
及びイージー(2)レッスンにおける予告ノート検出処
理を実行する(ステップD54)。次に、早送りモード
フラグが0であるか否かを判別する(ステップD5
5)。このフラグが0である場合には、経過した最小分
解能時間(図24のステップD2)だけ再生カウンタの
値をインクリメントする(ステップD56)。そして、
メインフローに戻る。早送りモードフラグが1の場合に
は、ステップD48において再生カウンタの値を予告点
滅カウンタの値に更新しているので、再生カウンタのイ
ンクリメントをすることなく、メインフローに戻る。
【0055】図30のステップD51において、MID
I押鍵要求バッファにデータがある場合、すなわち、電
子鍵盤楽器20において点滅している発光素子に対応す
る鍵の押鍵開始時間に達したときは、図31のフローに
おいて、ウェイトフラグが0であるか否かを判別する
(ステップD57)。このフラグが0である場合には、
図28に示した曲データ読込み処理を実行し(ステップ
D58)、ウェイトフラグに1(押鍵待ちモード)をセ
ットする(ステップD59)。次に、予告点滅バッファ
をクリアする(ステップD60)。バッファをクリアし
た後、又は、ステップD57若しくは図24のステップ
D3においてウェイトフラグが1である場合には、MI
DINewONバッファにデータがあるか否かを判別す
る(ステップD61)。データがない場合には鍵域オー
バーであるので、押鍵を待つ必要がないのでメインフロ
ーに戻る。
I押鍵要求バッファにデータがある場合、すなわち、電
子鍵盤楽器20において点滅している発光素子に対応す
る鍵の押鍵開始時間に達したときは、図31のフローに
おいて、ウェイトフラグが0であるか否かを判別する
(ステップD57)。このフラグが0である場合には、
図28に示した曲データ読込み処理を実行し(ステップ
D58)、ウェイトフラグに1(押鍵待ちモード)をセ
ットする(ステップD59)。次に、予告点滅バッファ
をクリアする(ステップD60)。バッファをクリアし
た後、又は、ステップD57若しくは図24のステップ
D3においてウェイトフラグが1である場合には、MI
DINewONバッファにデータがあるか否かを判別す
る(ステップD61)。データがない場合には鍵域オー
バーであるので、押鍵を待つ必要がないのでメインフロ
ーに戻る。
【0056】MIDINewONバッファにデータがあ
る場合には、STEPの値が2(イージー(2)レッス
ンモード)であるか否かを判別する(ステップD6
2)。この値が2で、正しい押鍵待ちモードである場合
には、MIDI押鍵要求バッファのノートとMIDIN
ewONバッファのノートとが一致しているか否かを判
別する(ステップD63)。両バッファのノートが一致
しない場合、すなわち押鍵要求のノートと実際の押鍵さ
れたノートとが異なる場合には、メインフローに戻る。
ステップD62においてSTEPの値が1で、いずれか
の鍵の押鍵待ちモードである場合、又は、ステップD6
3において両バッファのノートが一致した場合は、ウェ
イトフラグに0をセットし(ステップD64)、MID
I押鍵要求バッファをクリアする(ステップD65)。
そして、図30のステップD54に移行して、予告ノー
ト検出処理(STEP1,2)を実行する。
る場合には、STEPの値が2(イージー(2)レッス
ンモード)であるか否かを判別する(ステップD6
2)。この値が2で、正しい押鍵待ちモードである場合
には、MIDI押鍵要求バッファのノートとMIDIN
ewONバッファのノートとが一致しているか否かを判
別する(ステップD63)。両バッファのノートが一致
しない場合、すなわち押鍵要求のノートと実際の押鍵さ
れたノートとが異なる場合には、メインフローに戻る。
ステップD62においてSTEPの値が1で、いずれか
の鍵の押鍵待ちモードである場合、又は、ステップD6
3において両バッファのノートが一致した場合は、ウェ
イトフラグに0をセットし(ステップD64)、MID
I押鍵要求バッファをクリアする(ステップD65)。
そして、図30のステップD54に移行して、予告ノー
ト検出処理(STEP1,2)を実行する。
【0057】図32及び図33は、図29のステップD
46及び図39のステップD54における予告ノート検
出処理(STEP1,2)のフローである。このフロー
では、FD(フロッピーディスク)の曲データを検索し
て予告ノートを先読みする。FD内に曲データがあるか
否かを判別し(ステップD66)、データがない場合す
なわち曲が終了したときはこのフローを終了する。デー
タがある場合には、予告アドレスポインタYAPのデル
タタイムのデータMEM[YAP]をΔTにセットし
(ステップD67)、次の予告アドレスポインタ(YA
P+1)のイベントデータをEVENTにセットする
(ステップD68)。次に、EVENTのチャンネルと
ガイドパートのチャンネルとが同一であるか否かを判別
する(ステップD69)。
46及び図39のステップD54における予告ノート検
出処理(STEP1,2)のフローである。このフロー
では、FD(フロッピーディスク)の曲データを検索し
て予告ノートを先読みする。FD内に曲データがあるか
否かを判別し(ステップD66)、データがない場合す
なわち曲が終了したときはこのフローを終了する。デー
タがある場合には、予告アドレスポインタYAPのデル
タタイムのデータMEM[YAP]をΔTにセットし
(ステップD67)、次の予告アドレスポインタ(YA
P+1)のイベントデータをEVENTにセットする
(ステップD68)。次に、EVENTのチャンネルと
ガイドパートのチャンネルとが同一であるか否かを判別
する(ステップD69)。
【0058】同一でない場合には、予告点滅カウンタの
値にΔTの値を加算し(ステップD70)、YAPの値
に2を加算する(ステップD71)。すなわち、次の予
告ノートのデータを指定する。次に、ステップD66に
移行して指定したデータがあるか否かを判別する。そし
て、ガイドパートのチャンネルと同一のチャンネルのE
VENTを検出するまで、ステップD66〜ステップD
71のループを繰り返す。ステップD69において同一
のチャンネルのEVENTを検出したときは、そのEV
ENTのノートのRANGEは鍵域内であるか否かを判
別する(ステップD72)。
値にΔTの値を加算し(ステップD70)、YAPの値
に2を加算する(ステップD71)。すなわち、次の予
告ノートのデータを指定する。次に、ステップD66に
移行して指定したデータがあるか否かを判別する。そし
て、ガイドパートのチャンネルと同一のチャンネルのE
VENTを検出するまで、ステップD66〜ステップD
71のループを繰り返す。ステップD69において同一
のチャンネルのEVENTを検出したときは、そのEV
ENTのノートのRANGEは鍵域内であるか否かを判
別する(ステップD72)。
【0059】鍵域内である場合には、EVENTのノー
トを予告点滅バッファにストアする(ステップD73
A)。すなわち、押鍵すべき鍵に対応する発光素子を予
告点滅させるデータとしてストアする。また、EVEN
TのノートをMIDI押鍵要求バッファにストアする
(ステップD73B)。ステップD72においてEVE
NTのノートのRANGEが鍵域外である場合には、予
告点滅バッファをクリアする(ステップD74)。予告
点滅バッファをクリアした後、又は、ステップD73B
においてMIDI押鍵要求バッファにノートをストアし
た後は、予告点滅カウンタの値にΔTの値を加算し(ス
テップD75)、YAPの値に2を加算する(ステップ
D76)。すなわち、次の予告ノートのデータを指定す
る。そして、発音数のレジスタに1をセットする(ステ
ップD77)。
トを予告点滅バッファにストアする(ステップD73
A)。すなわち、押鍵すべき鍵に対応する発光素子を予
告点滅させるデータとしてストアする。また、EVEN
TのノートをMIDI押鍵要求バッファにストアする
(ステップD73B)。ステップD72においてEVE
NTのノートのRANGEが鍵域外である場合には、予
告点滅バッファをクリアする(ステップD74)。予告
点滅バッファをクリアした後、又は、ステップD73B
においてMIDI押鍵要求バッファにノートをストアし
た後は、予告点滅カウンタの値にΔTの値を加算し(ス
テップD75)、YAPの値に2を加算する(ステップ
D76)。すなわち、次の予告ノートのデータを指定す
る。そして、発音数のレジスタに1をセットする(ステ
ップD77)。
【0060】次に、YAPで指定したアドレスのデータ
があるか否かを判別し(ステップD78)、データがな
い場合にはこのフローを終了する。データがある場合に
は、予告アドレスポインタYAPのデルタタイムのデー
タMEM[YAP]をΔTにセットし(ステップD7
9)、次の予告アドレスポインタ(YAP+1)のイベ
ントデータをEVENTにセットする(ステップD8
0)。次に、予告点滅カウンタの値にΔTの値を加算し
た値が、予告点滅カウンタの値に所定値αを加算した値
以内であるか否かを判別する(ステップD81)。所定
値αは、シーケンスデータ構成の曲データにおいて、先
読みしてEVENTにセットしたノートが、前に読み出
したノートと同時に発音すべき和音のノートであるかど
うかを判別する閾値である。予告点滅カウンタの値にΔ
Tの値を加算した値が、予告点滅カウンタの値に所定値
αを加算した値を超えている場合には、EVENTのノ
ートは前のノートと和音を構成しないので、このフロー
を終了する。
があるか否かを判別し(ステップD78)、データがな
い場合にはこのフローを終了する。データがある場合に
は、予告アドレスポインタYAPのデルタタイムのデー
タMEM[YAP]をΔTにセットし(ステップD7
9)、次の予告アドレスポインタ(YAP+1)のイベ
ントデータをEVENTにセットする(ステップD8
0)。次に、予告点滅カウンタの値にΔTの値を加算し
た値が、予告点滅カウンタの値に所定値αを加算した値
以内であるか否かを判別する(ステップD81)。所定
値αは、シーケンスデータ構成の曲データにおいて、先
読みしてEVENTにセットしたノートが、前に読み出
したノートと同時に発音すべき和音のノートであるかど
うかを判別する閾値である。予告点滅カウンタの値にΔ
Tの値を加算した値が、予告点滅カウンタの値に所定値
αを加算した値を超えている場合には、EVENTのノ
ートは前のノートと和音を構成しないので、このフロー
を終了する。
【0061】予告点滅カウンタの値にΔTの値を加算し
た値が、予告点滅カウンタの値に所定値αを加算した値
以内である場合には、EVENTのノートは前に読み出
したノートと和音を構成するノートであるので、図33
のフローにおいて、EVENTのチャンネルとガイドパ
ートのチャンネルとが同一であるか否かを判別する(ス
テップD82)。チャンネルが同一でない場合にはこの
フローを終了する。チャンネルが同一の場合には、発音
数レジスタにセットされている現在の発音数に1を加算
した発音数が、最大発音数以内であるか否かを判別する
(ステップD83)。現在の発音数に1を加算した発音
数が最大発音数(指数)を超えている場合には、図32
のステップD80においてEVENTにセットした最新
のノートを前の複数のノートと同時に押鍵して発音でき
ないので、このフローを終了する。
た値が、予告点滅カウンタの値に所定値αを加算した値
以内である場合には、EVENTのノートは前に読み出
したノートと和音を構成するノートであるので、図33
のフローにおいて、EVENTのチャンネルとガイドパ
ートのチャンネルとが同一であるか否かを判別する(ス
テップD82)。チャンネルが同一でない場合にはこの
フローを終了する。チャンネルが同一の場合には、発音
数レジスタにセットされている現在の発音数に1を加算
した発音数が、最大発音数以内であるか否かを判別する
(ステップD83)。現在の発音数に1を加算した発音
数が最大発音数(指数)を超えている場合には、図32
のステップD80においてEVENTにセットした最新
のノートを前の複数のノートと同時に押鍵して発音でき
ないので、このフローを終了する。
【0062】現在の発音数に1を加算した発音数が、最
大発音数以内である場合には、EVENTにセットした
最新のノートを前の複数のノートと同時に押鍵して発音
できるので、発音数レジスタの値を1だけインクリメン
トする(ステップD84)。次に、そのノートのRAN
GEは鍵域内か否かを判別し(ステップD85)、鍵域
内である場合には、EVENTのノートを予告点滅バッ
ファにストアし(ステップD86)、EVENTのノー
トをMIDI押鍵要求バッファにストアする(ステップ
D87)。次に、予告点滅カウンタの値にΔTの値を加
算する(ステップD88)。そして、YAPのアドレス
を2だけ加算して(ステップD89)、次のイベントデ
ータを指定する。そして、図32のステップD78に移
行して、その指定したデータがあるか否かを判別する。
データがある場合には、ステップD78〜ステップD8
9のループを繰り返す。
大発音数以内である場合には、EVENTにセットした
最新のノートを前の複数のノートと同時に押鍵して発音
できるので、発音数レジスタの値を1だけインクリメン
トする(ステップD84)。次に、そのノートのRAN
GEは鍵域内か否かを判別し(ステップD85)、鍵域
内である場合には、EVENTのノートを予告点滅バッ
ファにストアし(ステップD86)、EVENTのノー
トをMIDI押鍵要求バッファにストアする(ステップ
D87)。次に、予告点滅カウンタの値にΔTの値を加
算する(ステップD88)。そして、YAPのアドレス
を2だけ加算して(ステップD89)、次のイベントデ
ータを指定する。そして、図32のステップD78に移
行して、その指定したデータがあるか否かを判別する。
データがある場合には、ステップD78〜ステップD8
9のループを繰り返す。
【0063】図34は、図7のメインフローのステップ
A6における送信データ作成処理のフローである。発音
処理バッファにデータがあるか否かを判別し(ステップ
E1)、データがある場合には、そのデータはノートオ
ン又はノートオフのイベントであるか否かを判別する
(ステップE2)。ノートイベントである場合には、S
TEPの値が0(通常自動演奏)であるか否かを判別す
る(ステップE3)。STEPの値が0である場合、又
は、発音処理バッファのデータがノートイベントでない
場合には、イベントのチャンネルとガイドパートのチャ
ンネルとが同一であるか否かを判別する(ステップE
4)。
A6における送信データ作成処理のフローである。発音
処理バッファにデータがあるか否かを判別し(ステップ
E1)、データがある場合には、そのデータはノートオ
ン又はノートオフのイベントであるか否かを判別する
(ステップE2)。ノートイベントである場合には、S
TEPの値が0(通常自動演奏)であるか否かを判別す
る(ステップE3)。STEPの値が0である場合、又
は、発音処理バッファのデータがノートイベントでない
場合には、イベントのチャンネルとガイドパートのチャ
ンネルとが同一であるか否かを判別する(ステップE
4)。
【0064】この2つのチャンネルが同一である場合に
は、イベントのチャンネルをナビチャンネルに変更する
(ステップE5)。2つのチャンネルが異なる場合に
は、イベントのチャンネルとナビチャンネルとが同一で
あるか否かを判別する(ステップE6)。この2つのチ
ャンネルが同一である場合には、イベントのチャンネル
をガイドパートのチャンネルに変更する(ステップE
7)。そして、イベントをMIDI出力バッファに転送
する(ステップE8)。例えば、図35に示すように、
FDに記憶されている曲データのガイドパートチャンネ
ルが8チャンネルで、ナビチャンネルが4チャンネルの
場合、4チャンネルのイベントをMIDI出力バッファ
の8チャンネルに転送し、8チャンネルのイベントをM
IDI出力バッファの4チャンネルに転送する。ステッ
プE4、ステップE6において、イベントがガイドパー
トチャンネルでもなく、ナビチャンネルでもない場合に
は、図35に示すように、そのイベントをMIDI出力
バッファの同じチャンネルに転送する。
は、イベントのチャンネルをナビチャンネルに変更する
(ステップE5)。2つのチャンネルが異なる場合に
は、イベントのチャンネルとナビチャンネルとが同一で
あるか否かを判別する(ステップE6)。この2つのチ
ャンネルが同一である場合には、イベントのチャンネル
をガイドパートのチャンネルに変更する(ステップE
7)。そして、イベントをMIDI出力バッファに転送
する(ステップE8)。例えば、図35に示すように、
FDに記憶されている曲データのガイドパートチャンネ
ルが8チャンネルで、ナビチャンネルが4チャンネルの
場合、4チャンネルのイベントをMIDI出力バッファ
の8チャンネルに転送し、8チャンネルのイベントをM
IDI出力バッファの4チャンネルに転送する。ステッ
プE4、ステップE6において、イベントがガイドパー
トチャンネルでもなく、ナビチャンネルでもない場合に
は、図35に示すように、そのイベントをMIDI出力
バッファの同じチャンネルに転送する。
【0065】ステップE3において、STEPの値が0
でない場合には、STEPの値が3であるか否か、すな
わち押鍵を待たないレッスンモードであるか否かを判別
する(ステップE9)。この値が3である場合には、S
TEP(3)再生処理を実行する(ステップE10)。
この値が3でない場合、すなわち1又は2である場合に
は、STEP(1,2)再生処理を実行する(ステップ
E11)。ステップE8においてイベントをMIDI出
力バッファに転送した後、又は、ステップE10若しく
はE11において再生処理を実行した後は、ステップE
1に移行して発音処理バッファのデータの有無を判別す
る。データがある場合には上記各ステップを繰り返し、
発音処理バッファのすべてのデータを処理してデータが
なくなったときは、1にセットされている早送りモード
フラグを0にして(ステップE12)、メインフローに
戻る。
でない場合には、STEPの値が3であるか否か、すな
わち押鍵を待たないレッスンモードであるか否かを判別
する(ステップE9)。この値が3である場合には、S
TEP(3)再生処理を実行する(ステップE10)。
この値が3でない場合、すなわち1又は2である場合に
は、STEP(1,2)再生処理を実行する(ステップ
E11)。ステップE8においてイベントをMIDI出
力バッファに転送した後、又は、ステップE10若しく
はE11において再生処理を実行した後は、ステップE
1に移行して発音処理バッファのデータの有無を判別す
る。データがある場合には上記各ステップを繰り返し、
発音処理バッファのすべてのデータを処理してデータが
なくなったときは、1にセットされている早送りモード
フラグを0にして(ステップE12)、メインフローに
戻る。
【0066】図36〜図38は、図34のステップE1
1におけるSTEP(1,2)再生処理のフローであ
る。図36において、イベントのノートはRANGEの
鍵域内か否かを判別し(ステップE13)、RANGE
の鍵域内である場合には、イベントのチャンネルとガイ
ドパートのチャンネルとが同一であるか否かを判別する
(ステップE14)。チャンネルが同一である場合に
は、イベントはノートオンイベントであるか否かを判別
する(ステップE15)。ノートオンイベントである場
合には、早送りモードフラグが0であるか否かを判別す
る(ステップE16)。このフラグが0で早送りモード
でない場合には、イベントのベロシティ値を1(最小
値)に変更する(ステップE17)。
1におけるSTEP(1,2)再生処理のフローであ
る。図36において、イベントのノートはRANGEの
鍵域内か否かを判別し(ステップE13)、RANGE
の鍵域内である場合には、イベントのチャンネルとガイ
ドパートのチャンネルとが同一であるか否かを判別する
(ステップE14)。チャンネルが同一である場合に
は、イベントはノートオンイベントであるか否かを判別
する(ステップE15)。ノートオンイベントである場
合には、早送りモードフラグが0であるか否かを判別す
る(ステップE16)。このフラグが0で早送りモード
でない場合には、イベントのベロシティ値を1(最小
値)に変更する(ステップE17)。
【0067】ベロシティ値を変更した後、又は、ステッ
プE15においてイベントがノートオンイベントでない
場合すなわちノートオフイベントである場合には、イベ
ントのチャンネルをナビチャンネルに変更する(ステッ
プE18)。そして、イベントをMIDI出力バッファ
に転送する(ステップE19)。イベントを転送した
後、又は、ステップE16において早送りモードフラグ
が1(早送りモード)である場合には、図34のフロー
のステップE1に戻る。
プE15においてイベントがノートオンイベントでない
場合すなわちノートオフイベントである場合には、イベ
ントのチャンネルをナビチャンネルに変更する(ステッ
プE18)。そして、イベントをMIDI出力バッファ
に転送する(ステップE19)。イベントを転送した
後、又は、ステップE16において早送りモードフラグ
が1(早送りモード)である場合には、図34のフロー
のステップE1に戻る。
【0068】図36のステップE13において、イベン
トのノートがRANGEの鍵域内でない場合には、その
ノートがRANGEの高音域側の鍵域外であるか否かを
判別する(ステップE20)。高音域側である場合に
は、UPオーバーフラグに1をセットする(ステップE
21)。高音域側でない場合すなわち低音域側である場
合には、DOWNオーバーフラグに1をセットする(ス
テップE22)。
トのノートがRANGEの鍵域内でない場合には、その
ノートがRANGEの高音域側の鍵域外であるか否かを
判別する(ステップE20)。高音域側である場合に
は、UPオーバーフラグに1をセットする(ステップE
21)。高音域側でない場合すなわち低音域側である場
合には、DOWNオーバーフラグに1をセットする(ス
テップE22)。
【0069】ステップE14においてイベントのチャン
ネルとガイドパートのチャンネルおとが同一でない場合
には、図37のフローにおいて、イベントのチャンネル
とナビチャンネルとが同一であるか否かを判別する(ス
テップE23)。チャンネルが同一である場合には、早
送りモードフラグが0であるか否かを判別する(ステッ
プE24)。このフラグが0である場合には、イベント
のチャンネルをガイドパートのチャンネルに変更し(ス
テップE25)、イベントをMIDI出力バッファに転
送する(ステップE26)。イベントを転送した後、又
は、ステップE24において早送りモードフラグが1
(早送りモード)である場合には、図34のフローのス
テップE1に戻る。
ネルとガイドパートのチャンネルおとが同一でない場合
には、図37のフローにおいて、イベントのチャンネル
とナビチャンネルとが同一であるか否かを判別する(ス
テップE23)。チャンネルが同一である場合には、早
送りモードフラグが0であるか否かを判別する(ステッ
プE24)。このフラグが0である場合には、イベント
のチャンネルをガイドパートのチャンネルに変更し(ス
テップE25)、イベントをMIDI出力バッファに転
送する(ステップE26)。イベントを転送した後、又
は、ステップE24において早送りモードフラグが1
(早送りモード)である場合には、図34のフローのス
テップE1に戻る。
【0070】ステップE23において、イベントのチャ
ンネルとガイドパートのチャンネルとが同一でない場
合、すなわち、イベントのチャンネルがナビチャンネル
ともガイドパートチャンネルとも異なる場合には、早送
りモードフラグが0であるか否かを判別する(ステップ
E27)。このフラグが0である場合には、イベントを
MIDI出力バッファに転送する(ステップE28)。
イベントを転送した後、又は、ステップE27において
早送りモードフラグが1(早送りモード)である場合に
は、図34のフローのステップE1に戻る。
ンネルとガイドパートのチャンネルとが同一でない場
合、すなわち、イベントのチャンネルがナビチャンネル
ともガイドパートチャンネルとも異なる場合には、早送
りモードフラグが0であるか否かを判別する(ステップ
E27)。このフラグが0である場合には、イベントを
MIDI出力バッファに転送する(ステップE28)。
イベントを転送した後、又は、ステップE27において
早送りモードフラグが1(早送りモード)である場合に
は、図34のフローのステップE1に戻る。
【0071】図36のステップE21又はステップE2
2において、UPオーバーフラグ又はDOWNオーバー
フラグに1をセットした後は、図38のフローにおい
て、イベントのチャンネルとガイドパートのチャンネル
とが同一であるか否かを判別する(ステップE29)。
チャンネルが同一である場合には、早送りモードフラグ
が0であるか否かを判別する(ステップE30)。この
フラグが0で早送りモードでない場合には、イベントの
チャンネルをナビチャンネルに変更する(ステップE3
1)。そして、イベントをMIDI出力バッファに転送
する(ステップE32)。イベントを転送した後、又
は、ステップE30において早送りモードフラグが1
(早送りモード)である場合には、図34のフローのス
テップE1に戻る。
2において、UPオーバーフラグ又はDOWNオーバー
フラグに1をセットした後は、図38のフローにおい
て、イベントのチャンネルとガイドパートのチャンネル
とが同一であるか否かを判別する(ステップE29)。
チャンネルが同一である場合には、早送りモードフラグ
が0であるか否かを判別する(ステップE30)。この
フラグが0で早送りモードでない場合には、イベントの
チャンネルをナビチャンネルに変更する(ステップE3
1)。そして、イベントをMIDI出力バッファに転送
する(ステップE32)。イベントを転送した後、又
は、ステップE30において早送りモードフラグが1
(早送りモード)である場合には、図34のフローのス
テップE1に戻る。
【0072】ステップE29において、イベントのチャ
ンネルとガイドパートのチャンネルとが異なる場合に
は、イベントのチャンネルとナビチャンネルとが同一で
あるか否かを判別する(ステップE33)。チャンネル
が同一である場合には、早送りモードフラグが0である
か否かを判別する(ステップE34)。このフラグが0
である場合には、イベントのチャンネルをガイドパート
のチャンネルに変更し(ステップE35)、イベントを
MIDI出力バッファに転送する(ステップE36)。
イベントを転送した後、又は、ステップE34において
早送りモードフラグが1(早送りモード)である場合に
は、図34のフローのステップE1に戻る。
ンネルとガイドパートのチャンネルとが異なる場合に
は、イベントのチャンネルとナビチャンネルとが同一で
あるか否かを判別する(ステップE33)。チャンネル
が同一である場合には、早送りモードフラグが0である
か否かを判別する(ステップE34)。このフラグが0
である場合には、イベントのチャンネルをガイドパート
のチャンネルに変更し(ステップE35)、イベントを
MIDI出力バッファに転送する(ステップE36)。
イベントを転送した後、又は、ステップE34において
早送りモードフラグが1(早送りモード)である場合に
は、図34のフローのステップE1に戻る。
【0073】ステップE33において、イベントのチャ
ンネルとガイドパートのチャンネルとが同一でない場
合、すなわち、イベントのチャンネルがナビチャンネル
ともガイドパートチャンネルとも異なる場合には、早送
りモードフラグが0であるか否かを判別する(ステップ
E37)。このフラグが0である場合には、イベントを
MIDI出力バッファに転送する(ステップE38)。
イベントを転送した後、又は、ステップE37において
早送りモードフラグが1(早送りモード)である場合に
は、図34のフローのステップE1に戻る。
ンネルとガイドパートのチャンネルとが同一でない場
合、すなわち、イベントのチャンネルがナビチャンネル
ともガイドパートチャンネルとも異なる場合には、早送
りモードフラグが0であるか否かを判別する(ステップ
E37)。このフラグが0である場合には、イベントを
MIDI出力バッファに転送する(ステップE38)。
イベントを転送した後、又は、ステップE37において
早送りモードフラグが1(早送りモード)である場合に
は、図34のフローのステップE1に戻る。
【0074】図39及び図40は、図34のフローのス
テップE10におけるSTEP(3)再生処理のフロー
である。図39において、イベントのノートはRANG
Eの鍵域内か否かを判別し(ステップE39)、RAN
GEの鍵域内である場合には、イベントのチャンネルと
ガイドパートのチャンネルとが同一であるか否かを判別
する(ステップE40)。チャンネルが同一である場合
には、イベントはノートオンイベント又はノートオフイ
ベントであるか否かを判別する(ステップE41)。ノ
ートオンイベント又はノートオフイベントである場合に
は、イベントのチャンネルをナビチャンネルに変更する
(ステップE42)。
テップE10におけるSTEP(3)再生処理のフロー
である。図39において、イベントのノートはRANG
Eの鍵域内か否かを判別し(ステップE39)、RAN
GEの鍵域内である場合には、イベントのチャンネルと
ガイドパートのチャンネルとが同一であるか否かを判別
する(ステップE40)。チャンネルが同一である場合
には、イベントはノートオンイベント又はノートオフイ
ベントであるか否かを判別する(ステップE41)。ノ
ートオンイベント又はノートオフイベントである場合に
は、イベントのチャンネルをナビチャンネルに変更する
(ステップE42)。
【0075】次に、イベントはノートオンイベントであ
るか否かを判別する(ステップE43)。ノートオンイ
ベントである場合には、イベントのベロシティ値を1
(最小値)に変更する(ステップE44)。ベロシティ
値を変更した後、又は、ステップE43においてイベン
トがノートオンイベントでない場合すなわちノートオフ
イベントである場合には、イベントをMIDI出力バッ
ファに転送する(ステップE45)。ステップE41に
おいてイベントがノートイベントでない場合には、イベ
ントのチャンネルをナビチャンネルに変更し(ステップ
E46)、イベントをMIDI出力バッファに転送する
(ステップE45)。イベントを転送した後は、図34
のフローのステップE1に戻る。
るか否かを判別する(ステップE43)。ノートオンイ
ベントである場合には、イベントのベロシティ値を1
(最小値)に変更する(ステップE44)。ベロシティ
値を変更した後、又は、ステップE43においてイベン
トがノートオンイベントでない場合すなわちノートオフ
イベントである場合には、イベントをMIDI出力バッ
ファに転送する(ステップE45)。ステップE41に
おいてイベントがノートイベントでない場合には、イベ
ントのチャンネルをナビチャンネルに変更し(ステップ
E46)、イベントをMIDI出力バッファに転送する
(ステップE45)。イベントを転送した後は、図34
のフローのステップE1に戻る。
【0076】ステップE40において、イベントのチャ
ンネルとガイドパートのチャンネルとが同一でない場合
には、イベントのチャンネルとナビチャンネルとが同一
であるか否かを判別する(ステップE47)。チャンネ
ルが同一である場合には、イベントのチャンネルをガイ
ドパートのチャンネルに変更する(ステップE48)。
チャンネルを変更した後、又は、ステップE47におい
てイベントのチャンネルとガイドパートのチャンネルと
が同一でない場合、すなわちイベントのチャンネルがガ
イドパートのチャンネルともナビチャンネルとも異なる
場合には、イベントをMIDI出力バッファに転送する
(ステップE49)。イベントを転送した後は、図34
のフローのステップE1に戻る。
ンネルとガイドパートのチャンネルとが同一でない場合
には、イベントのチャンネルとナビチャンネルとが同一
であるか否かを判別する(ステップE47)。チャンネ
ルが同一である場合には、イベントのチャンネルをガイ
ドパートのチャンネルに変更する(ステップE48)。
チャンネルを変更した後、又は、ステップE47におい
てイベントのチャンネルとガイドパートのチャンネルと
が同一でない場合、すなわちイベントのチャンネルがガ
イドパートのチャンネルともナビチャンネルとも異なる
場合には、イベントをMIDI出力バッファに転送する
(ステップE49)。イベントを転送した後は、図34
のフローのステップE1に戻る。
【0077】図39のステップE39において、イベン
トがRANGEの鍵域内でない場合には、図40のフロ
ーにおいて、イベントのノートがRANGEの高音域側
の鍵域外すなわち上限オーバーであるか否かを判別する
(ステップE50)。上限オーバーである場合には、U
Pオーバーフラグに1をセットする(ステップE5
1)。上限オーバーでない場合すなわち低音域側の下限
オーバーである場合には、DOWNオーバーフラグに1
をセットする(ステップE52)。UPオーバーフラグ
又はDOWNオーバーフラグに1をセットした後は、イ
ベントのチャンネルとガイドパートのチャンネルとが同
一であるか否かを判別する(ステップE53)。チャン
ネルが同一である場合には、イベントのチャンネルをナ
ビチャンネルに変更する(ステップE54)。
トがRANGEの鍵域内でない場合には、図40のフロ
ーにおいて、イベントのノートがRANGEの高音域側
の鍵域外すなわち上限オーバーであるか否かを判別する
(ステップE50)。上限オーバーである場合には、U
Pオーバーフラグに1をセットする(ステップE5
1)。上限オーバーでない場合すなわち低音域側の下限
オーバーである場合には、DOWNオーバーフラグに1
をセットする(ステップE52)。UPオーバーフラグ
又はDOWNオーバーフラグに1をセットした後は、イ
ベントのチャンネルとガイドパートのチャンネルとが同
一であるか否かを判別する(ステップE53)。チャン
ネルが同一である場合には、イベントのチャンネルをナ
ビチャンネルに変更する(ステップE54)。
【0078】ステップE53においてイベントのチャン
ネルとガイドパートのチャンネルとが同一でない場合に
は、イベントのチャンネルとナビチャンネルとが同一で
あるか否かを判別する(ステップE55)。チャンネル
が同一である場合には、イベントのチャンネルをガイド
パートのチャンネルに変更する(ステップE56)。ス
テップE54若しくはステップE56において、チャン
ネルを変更した後、又は、ステップE53若しくはステ
ップE55において、イベントのチャンネルがガイドパ
ートのチャンネルともナビチャンネルとも異なる場合に
は、イベントをMIDI出力バッファに転送する(ステ
ップE57)。イベントを転送した後は、図34のフロ
ーのステップE1に戻る。
ネルとガイドパートのチャンネルとが同一でない場合に
は、イベントのチャンネルとナビチャンネルとが同一で
あるか否かを判別する(ステップ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)。
A7における予告点滅処理のフローである。このフロー
では、電子鍵盤楽器20の発光素子を点滅させるため
に、点滅周期時間ごとに、点灯データ及び消灯データを
交互に送信する。すなわち、点滅周期時間が経過したか
否かを判別し(ステップF1)、経過していない場合に
はメインフローに戻る。経過したときは、点滅フラグを
反転する(ステップF2)。そして、点滅フラグが1で
あるか否かを判別する(ステップF3)。このフラグが
1である場合には、予告点滅バッファ内のノートでノー
トオンデータを作成する(ステップF4)。また、イベ
ントのベロシティ値を1すなわち最小値に変更する(ス
テップF5)。そして、イベントをMIDI出力バッフ
ァに転送する(ステップF6)。
【0080】ステップF3において点滅フラグが0であ
る場合には、予告点滅バッファ内のノートでノートオフ
データを作成し(ステップF7)、そのノートオフデー
タのイベントをMIDI出力バッファに転送する(ステ
ップF6)。イベントを転送した後、予告点滅バッファ
にまだノートデータがあるか否かを判別する(ステップ
F8)。まだノートデータがある場合には、ステップF
3〜ステップF8の処理を繰り返し、予告点滅バッファ
の処理すべきノートデータがなくなったときは、メイン
フローに戻る。
る場合には、予告点滅バッファ内のノートでノートオフ
データを作成し(ステップF7)、そのノートオフデー
タのイベントをMIDI出力バッファに転送する(ステ
ップF6)。イベントを転送した後、予告点滅バッファ
にまだノートデータがあるか否かを判別する(ステップ
F8)。まだノートデータがある場合には、ステップF
3〜ステップF8の処理を繰り返し、予告点滅バッファ
の処理すべきノートデータがなくなったときは、メイン
フローに戻る。
【0081】図42は、図7のメインフローのステップ
A8におけるMIDI処理のフローである。MIDI入
力バッファに新たなイベントの入力があるか否かを判別
し(ステップG1)、新たな入力があったときはそのイ
ベントがノートオンデータであるか否かを判別する(ス
テップG2)。すなわち、電子鍵盤楽器20において押
鍵されたノートオンデータであるか否かを判別する。入
力されたイベントがノートオンデータでない場合、又
は、MIDI入力バッファに新たなイベントの入力がな
い場合には、メインフローに戻る。入力されたイベント
がノートオンデータである場合には、そのイベントのノ
ートをMIDINewONバッファにストアする(ステ
ップG3)。そして、メインフローに戻る。
A8におけるMIDI処理のフローである。MIDI入
力バッファに新たなイベントの入力があるか否かを判別
し(ステップG1)、新たな入力があったときはそのイ
ベントがノートオンデータであるか否かを判別する(ス
テップG2)。すなわち、電子鍵盤楽器20において押
鍵されたノートオンデータであるか否かを判別する。入
力されたイベントがノートオンデータでない場合、又
は、MIDI入力バッファに新たなイベントの入力がな
い場合には、メインフローに戻る。入力されたイベント
がノートオンデータである場合には、そのイベントのノ
ートをMIDINewONバッファにストアする(ステ
ップG3)。そして、メインフローに戻る。
【0082】このように上記実施形態によれば、FD1
5から読み込んだ曲データにおいて、任意の発音データ
の発音開始時間とこの任意の発音データの後に読み込ま
れた他の発音データの発音開始時間との時間差を検出
し、その時間差が所定時間α以内である場合には、任意
の発音データ及び他の発音データを和音の発音データと
判断して、各発音データに応じた複数の演奏教習データ
を電子鍵盤楽器20に同時に送信する。したがって、読
み込んだ和音の発音データの発音開始時間に時間差が生
じている場合でも、同時に演奏開始できるように教習す
ることが可能になる。
5から読み込んだ曲データにおいて、任意の発音データ
の発音開始時間とこの任意の発音データの後に読み込ま
れた他の発音データの発音開始時間との時間差を検出
し、その時間差が所定時間α以内である場合には、任意
の発音データ及び他の発音データを和音の発音データと
判断して、各発音データに応じた複数の演奏教習データ
を電子鍵盤楽器20に同時に送信する。したがって、読
み込んだ和音の発音データの発音開始時間に時間差が生
じている場合でも、同時に演奏開始できるように教習す
ることが可能になる。
【0083】この場合において、FD15に記録されて
いる曲データは実際の演奏を記録した記録データであ
り、時間αは、その実際の演奏において和音の演奏の際
に、各音の演奏開始時間の時間差を許容する値に設定さ
れている。したがって、読み込んだ曲データの和音の発
音データを確実に判断することができる。
いる曲データは実際の演奏を記録した記録データであ
り、時間αは、その実際の演奏において和音の演奏の際
に、各音の演奏開始時間の時間差を許容する値に設定さ
れている。したがって、読み込んだ曲データの和音の発
音データを確実に判断することができる。
【0084】また、演奏教習データは、電子鍵盤楽器2
0における複数の鍵の各鍵に対応して設けられた発光素
子を発光させるデータである。したがって、和音の発音
データの場合には、複数の発光素子が同時に発光するの
で、練習生は容易に和音であることを認識できる。
0における複数の鍵の各鍵に対応して設けられた発光素
子を発光させるデータである。したがって、和音の発音
データの場合には、複数の発光素子が同時に発光するの
で、練習生は容易に和音であることを認識できる。
【0085】なお、上記実施形態においては、演奏装置
として電子鍵盤楽器を例に採って説明したが、電子弦楽
器にも本発明を適用することができる。例えば、操作子
である各弦の複数のフレットに発光素子を設けて、和音
(コード)の演奏の際には、押弦する各弦の位置の発光
素子を同時に発光させることにより、容易に弦楽器のコ
ード練習をすることができる。
として電子鍵盤楽器を例に採って説明したが、電子弦楽
器にも本発明を適用することができる。例えば、操作子
である各弦の複数のフレットに発光素子を設けて、和音
(コード)の演奏の際には、押弦する各弦の位置の発光
素子を同時に発光させることにより、容易に弦楽器のコ
ード練習をすることができる。
【0086】また、上記実施形態においては、電子鍵盤
楽器20と専用の演奏教習装置10とを接続するシステ
ム構成について説明したが、パソコン等の汎用のコンピ
ュータと電子鍵盤楽器とを接続して、コンピュータによ
る演奏教習処理を行うシステム構成も可能である。この
場合には、フロッピーディスク等の記録媒体に、楽音の
複数のイベントデータが各イベントデータごとにシリア
ルデータ形式で構成された曲データを読み込むデータ読
込手順と、このデータ読込手順によって読み込まれたイ
ベントデータの中の発音データに応じて、所定の通信手
段を介して接続された演奏装置に演奏を教習する演奏教
習データを送信するデータ送信手順と、前記データ読込
手順によって読み込まれた任意の発音データの発音開始
時間とこの任意の発音データの後に読み込まれた他の発
音データの発音開始時間との時間差を検出する時間検出
手順と、この時間検出手順によって検出された時間差が
あらかじめ設定された所定時間以内である場合には、前
記任意の発音データ及び前記他の発音データを和音の発
音データと判断して、各発音データに応じた複数の演奏
教習データを前記データ送信手順により前記演奏装置に
同時に送信させる送信制御手順と、を実行する演奏教習
処理プログラムを記録して、このプログラムをコンピュ
ータにロードして、上記実施形態に示した演奏教習処理
を実行させる。
楽器20と専用の演奏教習装置10とを接続するシステ
ム構成について説明したが、パソコン等の汎用のコンピ
ュータと電子鍵盤楽器とを接続して、コンピュータによ
る演奏教習処理を行うシステム構成も可能である。この
場合には、フロッピーディスク等の記録媒体に、楽音の
複数のイベントデータが各イベントデータごとにシリア
ルデータ形式で構成された曲データを読み込むデータ読
込手順と、このデータ読込手順によって読み込まれたイ
ベントデータの中の発音データに応じて、所定の通信手
段を介して接続された演奏装置に演奏を教習する演奏教
習データを送信するデータ送信手順と、前記データ読込
手順によって読み込まれた任意の発音データの発音開始
時間とこの任意の発音データの後に読み込まれた他の発
音データの発音開始時間との時間差を検出する時間検出
手順と、この時間検出手順によって検出された時間差が
あらかじめ設定された所定時間以内である場合には、前
記任意の発音データ及び前記他の発音データを和音の発
音データと判断して、各発音データに応じた複数の演奏
教習データを前記データ送信手順により前記演奏装置に
同時に送信させる送信制御手順と、を実行する演奏教習
処理プログラムを記録して、このプログラムをコンピュ
ータにロードして、上記実施形態に示した演奏教習処理
を実行させる。
【0087】
【発明の効果】本発明によれば、読み込んだ曲データに
おいて、任意の発音データの発音開始時間とこの任意の
発音データの後に読み込まれた他の発音データの発音開
始時間との時間差を検出し、その時間差が所定時間以内
である場合には、任意の発音データ及び他の発音データ
を和音の発音データと判断して、各発音データに応じた
複数の演奏教習データを演奏装置に同時に送信する。し
たがって、読み込んだ和音の発音データの発音開始時間
に時間差が生じている場合でも、同時に演奏開始できる
ように教習することが可能になる。
おいて、任意の発音データの発音開始時間とこの任意の
発音データの後に読み込まれた他の発音データの発音開
始時間との時間差を検出し、その時間差が所定時間以内
である場合には、任意の発音データ及び他の発音データ
を和音の発音データと判断して、各発音データに応じた
複数の演奏教習データを演奏装置に同時に送信する。し
たがって、読み込んだ和音の発音データの発音開始時間
に時間差が生じている場合でも、同時に演奏開始できる
ように教習することが可能になる。
【図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)のフローチャート。
(3)のフローチャート。
【図28】図26、図29、図30、及び図31におけ
る曲データ読込み処理のフローチャート。
る曲データ読込み処理のフローチャート。
【図29】図24に続くシーケンス処理のフローチャー
ト。
ト。
【図30】図29に続くシーケンス処理のフローチャー
ト。
ト。
【図31】図30に続くシーケンス処理のフローチャー
ト。
ト。
【図32】図29及び図30における予告ノート検出処
理STEP(1,2)のフローチャート。
理STEP(1,2)のフローチャート。
【図33】図32に続く予告ノート検出処理STEP
(1,2)のフローチャート。
(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 電子鍵盤楽器
Claims (4)
- 【請求項1】 楽音の複数のイベントデータが各イベン
トデータごとにシリアルデータ形式で構成された曲デー
タを読み込むデータ読込手段と、 このデータ読込手段によって読み込まれたイベントデー
タの中の発音データに応じて、所定の通信手段を介して
接続された演奏装置に演奏を教習する演奏教習データを
送信するデータ送信手段と、 前記データ読込手段によって読み込まれた任意の発音デ
ータの発音開始時間とこの任意の発音データの後に読み
込まれた他の発音データの発音開始時間との時間差を検
出する時間検出手段と、 この時間検出手段によって検出された時間差があらかじ
め設定された所定時間以内である場合には、前記任意の
発音データ及び前記他の発音データを和音の発音データ
であると判断して、各発音データに応じた複数の演奏教
習データを前記データ送信手段により前記演奏装置に同
時に送信させる送信制御手段と、 を備えたことを特徴とする演奏教習装置。 - 【請求項2】 前記曲データは実際の演奏を記録したデ
ータであり、前記所定時間は、当該実際の演奏において
和音の演奏の際に各音の演奏開始時間の時間差を許容す
る値に設定されていることを特徴とする請求項1に記載
の演奏教習装置。 - 【請求項3】 前記演奏教習データは、前記演奏装置に
おける複数の操作子の各操作子に対応して設けられた発
光手段を発光させるデータであることを特徴とする請求
項1又は2に記載の演奏教習装置。 - 【請求項4】 楽音の複数のイベントデータが各イベン
トデータごとにシリアルデータ形式で構成された曲デー
タを読み込むデータ読込手順と、 このデータ読込手順によって読み込まれたイベントデー
タの中の発音データに応じて、所定の通信手段を介して
接続された演奏装置に演奏を教習する演奏教習データを
送信するデータ送信手順と、 前記データ読込手順によって読み込まれた任意の発音デ
ータの発音開始時間とこの任意の発音データの後に読み
込まれた他の発音データの発音開始時間との時間差を検
出する時間検出手順と、 この時間検出手順によって検出された時間差があらかじ
め設定された所定時間以内である場合には、前記任意の
発音データ及び前記他の発音データを和音の発音データ
と判断して、各発音データに応じた複数の演奏教習デー
タを前記データ送信手順によって前記演奏装置に同時に
送信させる送信制御手順と、 を実行する演奏教習処理プログラムを記録した記録媒
体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30502899A JP2001125566A (ja) | 1999-10-27 | 1999-10-27 | 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体 |
US09/695,664 US6342663B1 (en) | 1999-10-27 | 2000-10-24 | Musical performance training apparatus and record medium with musical performance training program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30502899A JP2001125566A (ja) | 1999-10-27 | 1999-10-27 | 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001125566A true JP2001125566A (ja) | 2001-05-11 |
Family
ID=17940234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30502899A Abandoned JP2001125566A (ja) | 1999-10-27 | 1999-10-27 | 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001125566A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007171448A (ja) * | 2005-12-21 | 2007-07-05 | Casio Comput Co Ltd | 演奏装置および演奏処理のプログラム |
JP2007187950A (ja) * | 2006-01-16 | 2007-07-26 | Casio Comput Co Ltd | 楽音編集装置および楽音編集処理のプログラム |
-
1999
- 1999-10-27 JP JP30502899A patent/JP2001125566A/ja not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007171448A (ja) * | 2005-12-21 | 2007-07-05 | Casio Comput Co Ltd | 演奏装置および演奏処理のプログラム |
JP4513738B2 (ja) * | 2005-12-21 | 2010-07-28 | カシオ計算機株式会社 | 演奏装置および演奏処理のプログラム |
JP2007187950A (ja) * | 2006-01-16 | 2007-07-26 | Casio Comput Co Ltd | 楽音編集装置および楽音編集処理のプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10403254B2 (en) | Electronic musical instrument, and control method of electronic musical instrument | |
WO1997026645A1 (fr) | Instrument musical a clavier, pourvu d'un affichage du clavier | |
JPH11513811A (ja) | リアルタイム音楽作成システム | |
JPH07146640A (ja) | 電子鍵盤楽器の演奏練習装置及びその制御方法 | |
US20190251936A1 (en) | Keyboard instrument | |
JP3858899B2 (ja) | 弦楽器型の電子楽器 | |
JPH08123416A (ja) | 楽譜表示装置 | |
JP4626551B2 (ja) | 楽器のペダル操作表示装置 | |
JP3757712B2 (ja) | 演奏教習データ送信装置及び演奏教習データ送信処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2001125566A (ja) | 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体 | |
JP3757709B2 (ja) | 演奏教習データ送信装置及び演奏教習データ送信処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3743878B2 (ja) | 演奏教習データ送信装置及び演奏教習データ送信処理のプログラムを記録した記録媒体 | |
JP3757711B2 (ja) | 演奏教習データ送信装置及び演奏教習データ送信処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4189568B2 (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JP2003108126A (ja) | 電子楽器 | |
CN2812170Y (zh) | 乐器光引导演奏装置 | |
CN1030270C (zh) | 具有指导系统的电脑电子琴 | |
JP2586226B2 (ja) | 電子楽器 | |
JP2003280641A (ja) | 楽器の運指ガイド装置 | |
JPH06230773A (ja) | 電子楽器 | |
US20220310046A1 (en) | Methods, information processing device, performance data display system, and storage media for electronic musical instrument | |
JP2001184063A (ja) | 電子楽器 | |
JPH09269776A (ja) | 機器制御装置 | |
CN1085678A (zh) | 多功能音乐发生器 | |
JP2006189515A (ja) | 電子鍵盤楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040107 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20050725 |