JP3158944B2 - フレーズ分割装置 - Google Patents
フレーズ分割装置Info
- Publication number
- JP3158944B2 JP3158944B2 JP07737395A JP7737395A JP3158944B2 JP 3158944 B2 JP3158944 B2 JP 3158944B2 JP 07737395 A JP07737395 A JP 07737395A JP 7737395 A JP7737395 A JP 7737395A JP 3158944 B2 JP3158944 B2 JP 3158944B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- data
- register
- phrase
- performance information
- 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
Links
Classifications
-
- C—CHEMISTRY; METALLURGY
- C04—CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
- C04B—LIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
- C04B28/00—Compositions of mortars, concrete or artificial stone, containing inorganic binders or the reaction product of an inorganic and an organic binder, e.g. polycarboxylate cements
- C04B28/18—Compositions of mortars, concrete or artificial stone, containing inorganic binders or the reaction product of an inorganic and an organic binder, e.g. polycarboxylate cements containing mixtures of the silica-lime type
Landscapes
- Chemical & Material Sciences (AREA)
- Engineering & Computer Science (AREA)
- Ceramic Engineering (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Inorganic Chemistry (AREA)
- Materials Engineering (AREA)
- Structural Engineering (AREA)
- Organic Chemistry (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
に従って複数の時間区間(フレーズ)に分割するフレー
ズ分割装置に関する。
者に押鍵すべき鍵を指示する機能を備えた電子楽器があ
る。これは、鍵盤の各鍵の上側近傍に発光ダイオード
(LED)を備え、演奏情報に従って現在押鍵すべき鍵
に対応したLEDを順次点灯させて、押鍵すべき鍵を演
奏者に指示するものである。このような押鍵指示機能を
備えた電子楽器には、現在押鍵すべき鍵に対応したLE
Dだけを点灯表示するものやフレーズ単位で押鍵すべき
鍵に対応したLEDを一括して点灯表示するものがあ
る。フレーズ単位でLEDを一括点灯するものは、押鍵
すべき鍵に対応したLEDだけを点灯表示するものに比
べて演奏者が手指を配置すべき位置を容易に認識するこ
とができるという利点がある。
位でLEDを一括点灯するものにおいては、演奏情報の
中にフレーズの区切りを示すデータが予め書き込まれて
おり、フレーズ単位に分割されていなければならない。
従って、フレーズ単位に分割されていない演奏情報に関
してはフレーズ単位でLEDを一括点灯することができ
ないので、演奏者自身が演奏情報を予め読み出してフレ
ーズ単位に分割するという作業を行わなければならない
という問題があった。
のであり、フレーズ単位に分割されていない楽曲の演奏
情報を自動的にフレーズ単位に分割することのできるフ
レーズ分割装置を提供することを目的とする。
ズ分割装置は、少なくとも音高を示す音高情報を含む演
奏情報を供給する演奏情報供給手段と、この演奏情報供
給手段から供給される前記音高情報に対応する鍵を押す
べき指が指くぐり又は指越えをする箇所を検出する検出
手段と、この検出手段によって検出された前記指くぐり
又は指越えの箇所で前記演奏情報を複数の時間区間に分
割する分割手段とを具備するものである。
なくとも音高を示す音高情報を含む演奏情報を供給する
演奏情報供給手段と、少なくとも足操作子の操作状態を
示す足操作子情報を供給する足操作子情報供給手段と、
前記足操作子情報供給手段から供給される足操作子情報
に応じて前記演奏情報を複数の時間区間に分割する分割
手段とを具備するものである。
なくとも押鍵状態を示す押鍵情報を含む演奏情報を供給
する演奏情報供給手段と、この演奏情報供給手段から供
給される前記押鍵状態に基づいて所定時間離鍵されてい
ることを検出する検出手段と、この検出手段によって検
出された前記所定時間離鍵されている箇所で前記演奏情
報を複数の時間区間に分割する分割手段とを具備するも
のである。
なくとも音高を示す音高情報を含む演奏情報を供給する
演奏情報供給手段と、この演奏情報供給手段から供給さ
れる前記音高情報の音域に応じて前記演奏情報を複数の
時間区間に分割する分割手段とを具備するものである。
なくとも音高を示す音高情報を含む演奏情報を供給する
演奏情報供給手段と、この演奏情報供給手段から供給さ
れる前記演奏情報を所定の方法で複数の時間区間に分割
し、かつ分割された時間区間に属する前記音高情報の種
類が所定数以下含まれるようにする分割手段とを具備す
るものである。
なくとも音高を示す音高情報を含む演奏情報を供給する
演奏情報供給手段と、この演奏情報供給手段から供給さ
れる前記演奏情報を所定の方法で複数の時間区間に分割
し、かつ分割された時間区間に属する前記音高情報の種
類が所定数以上含まれるようにする分割手段とを具備す
るものである。
なくとも音高を示す音高情報を含む演奏情報を供給する
演奏情報供給手段と、この演奏情報供給手段から供給さ
れる前記音高情報の数に応じて前記演奏情報を複数の時
間区間に分割する分割手段とを具備するものである。
ーオンデータやデュレーションデータなどで構成されて
いるので、フレーズ分割装置は演奏情報供給手段からこ
れらのデータを供給してもらい、その内容に従って演奏
情報を複数の時間区間に分割する。第1の発明に係るフ
レーズ分割装置では、検出手段が演奏情報供給手段から
供給される音高情報に対応する鍵を押すべき指が指くぐ
り又は指越えをする箇所を検出し、分割手段が検出され
た指くぐり又は指越えの箇所で演奏情報を複数の時間区
間に分割している。すなわち、演奏情報の中には音高情
報の他にその音高情報に対応する鍵を押すべき指を示す
指番号を有するものがある。従って、検出手段はその指
番号と音高情報に基づいて指くぐり又は指越えとなる箇
所を検出する。そして、分割手段はその指くぐり又は指
越えとなる箇所に分割点を示すデータを挿入することに
よってフレーズ分割する。このようにして分割された演
奏情報に基づいてフレーズ単位の押鍵指示を行うと、指
くぐり又は指越えの箇所でフレーズ単位の押鍵指示が変
化することになり、演奏者に対して指使いに即した明確
な押鍵指示を行うことができるようになる。
演奏情報供給手段の他に足操作子情報供給手段を有す
る。足操作子情報供給手段は足操作子すなわちダンパー
ペダルの操作状態(オン・オフ)を示す足操作子情報を
供給するものである。分割手段は足操作子情報がペダル
オフの場合にそこに分割点を示すデータを挿入すること
によってフレーズ分割する。この足操作子情報がペダル
オフの場合には一連の演奏の区切りを示すので、このよ
うにして分割された演奏情報に基づいてフレーズ単位の
押鍵指示を行うことによって、一連の演奏の流れに即し
た形で押鍵指示を行うことができるようになる。
分割手段が演奏情報供給手段から供給される押鍵情報に
基づいて所定時間離鍵されていることを検出し、検出さ
れた箇所で演奏情報を複数の時間区間に分割している。
すなわち、検出手段は押鍵情報を解析し、楽曲の演奏過
程において所定時間以上発音を行わない離鍵箇所を検出
し、分割手段はその箇所に分割点を示すデータを挿入す
ることによってフレーズ分割する。この所定時間離鍵さ
れているということはそこで一連の演奏の区切りが発生
したことを示すので、このようにして分割された演奏情
報に基づいてフレーズ単位の押鍵指示を行うことによっ
て、一連の演奏の流れに即した形で押鍵指示を行うこと
ができるようになる。
演奏情報供給手段から供給される音高情報によって形成
される音域に応じて演奏情報を複数の時間区間に分割し
ている。すなわち、分割手段は供給される音高情報を順
次解析し、その音高情報の最低音から最高音までの範囲
すなわち音域が所定範囲(例えば1オクターブ)を越え
た場合には、越えることとなった音高情報の箇所に分割
点を示すデータを挿入することによってフレーズ分割す
る。音域の範囲が所定範囲内となるように分割された演
奏情報に基づいてフレーズ単位の押鍵指示を行うことに
よって、演奏者の押鍵可能な範囲内における的確な押鍵
指示を行うことができるようになる。
分割手段が演奏情報を所定の方法、例えば前述の第1、
第2、第3又は第4の発明に示すような方法(これ以外
の方法でもよい)で複数の時間区間に分割する。分割さ
れた時間区間内には1又は複数の音高情報が属すること
となる。ある1つの時間区間に属する音高情報の種類が
演奏者の一連の指使いによって演奏可能な数であれば、
フレーズ単位で押鍵指示しても的確な押鍵指示を行うこ
とができる。ところが、分割の仕方によっては1つの時
間区間内に属する音高情報の種類が演奏者の一連の指使
いによって演奏可能な数を大幅に越え、フレーズ単位で
の押鍵指示に適しない場合がある。そこで、第5の発明
の分割手段は分割された時間区間に属する音高情報の種
類が所定数以下含まれるようにしている。これによっ
て、分割された演奏情報に基づいてフレーズ単位の押鍵
指示を行っても、その押鍵指示の数が所定数以下なので
演奏者の押鍵可能な範囲内における的確な押鍵指示を行
うことができるようになる。
分割手段が演奏情報を所定の方法、例えば前述の第1、
第2、第3、第4又は第5の発明に示すような方法(こ
れ以外の方法でもよい)で複数の時間区間に分割する。
分割された時間区間内には1又は複数の音高情報が属す
ることとなる。ある1つの時間区間に属する音高情報の
種類が演奏者の一連の指使いに即した適切な数であれ
ば、フレーズ単位で押鍵指示しても的確な押鍵指示を行
うことができる。ところが、分割の仕方によっては1つ
の時間区間内に属する音高情報の種類が1又は2個と極
端に少なく、フレーズ単位での押鍵指示に適しない場合
がある。そこで、第6の発明の分割手段は分割された時
間区間に属する音高情報の種類が所定数以上含まれるよ
うにしている。これによって、分割された演奏情報に基
づいてフレーズ単位の押鍵指示を行っても、その指示す
る数が所定数以上なので演奏者の演奏に即した的確な押
鍵指示を行うことができるようになる。
演奏情報供給手段から供給される音高情報の数に応じて
演奏情報を複数の時間区間に分割している。すなわち、
分割手段は供給される音高情報の数を計数し、所定数に
なった時点でその音高情報の箇所に分割点を示すデータ
を挿入することによってフレーズ分割する。音高情報の
数が所定数以下となるように分割された演奏情報に基づ
いてフレーズ単位の押鍵指示を行うことによって、押鍵
指示の方式や演奏者の演奏習熟度に応じた的確な押鍵指
示を行うことができるようになる。
た電子楽器を例に説明する。なお、この電子楽器は押鍵
指示機能及び自動演奏機能をも有するものである。図2
はこの発明の一実施例に係るフレーズ分割装置内蔵の電
子楽器のハードウェア構成例を示すブロック図である。
このフレーズ分割装置内蔵の電子楽器は鍵盤の各鍵の上
側近傍に押鍵指示用の発光ダイオード(LED)や液晶
ディスプレイ(LCD)を有し、演奏データに従って鍵
盤のどの付近に手指を配置すればよいかをLEDやLC
D上に表示すると共に現在押鍵すべき鍵と次に押鍵すべ
き鍵を同時にLEDやLCDで表示するものである。
プロセッサユニット(CPU)1、プログラムメモリ
(ROM)2、ワーキングメモリ(RAM)3を含んで
構成されるマイクロコンピュータの制御の下に各種の処
理を実行するようになっている。CPU1はこの電子楽
器全体の動作を制御するものである。このCPU1に対
して、データ及びアドレスバス18を介してプログラム
メモリ2、ワーキングメモリ3、演奏情報メモリ4、押
鍵検出回路5、表示回路6、スイッチ検出回路7、イン
ターフェイス8及び音源回路9が接続されている。
プログラム、楽音に関する各種パラメータや各種データ
等を格納しているものであり、リードオンリーメモリ
(ROM)で構成されている。ワーキングメモリ3はC
PU1がプログラムを実行する際に発生する各種のデー
タやフラグを一時的に記憶するものであり、ランダムア
クセスメモリ(RAM)の所定のアドレス領域がそれぞ
れ割り当てられる。
する演奏曲に関する演奏データと、その演奏曲に付随し
た伴奏音(和音やベース音やリズム音)に関する演奏デ
ータをそれぞれの演奏曲毎に複数トラックに記憶してい
る。この実施例ではトラック数は9とする。演奏データ
は通常の自動伴奏で使用されるようなものであり、キー
データ、デュレーションデータ、音色データ、エフェク
トデータなどで構成される。
るための複数の鍵を備えており、各鍵に対応したキース
イッチを有しており、また必要に応じて押圧力検出装置
等のタッチ検出手段を有している。鍵盤11は音楽演奏
のための基本的な操作子であり、これ以外の演奏操作子
でもよいことはいうまでもない。押鍵検出回路5は発生
すべき楽音の音高を指定する鍵盤11のそれぞれの鍵に
対応して設けられたキースイッチ回路を含むものであ
る。この押鍵検出回路5は鍵盤11の離鍵状態から押鍵
状態への変化を検出してキーオンイベントを出力し、押
鍵状態から離鍵状態への変化を検出してキーオフイベン
トを出力すると共にそれぞれのキーオンイベント及びキ
ーオフイベントに関する鍵の音高を示すキーコード(ノ
ートナンバ)を出力する。押鍵検出回路5はこの他にも
鍵押し下げ時の押鍵操作速度や押圧力等を検出してベロ
シティデータやアフタタッチデータとして出力する。
けられた複数の発光ダイオード(LED群)や液晶ディ
スプレイ(LCD)などで構成される。表示部12は赤
色を発光するものであり、各鍵毎に赤色LEDで構成さ
れている。表示回路6は演奏情報メモリ4に記憶されて
いる演奏データに従ってLEDを発光させたり、LCD
に所定の図記号を表示したりするものである。
3に対応して設けられており、各々のスイッチ群の操作
状況に応じた操作データをイベント情報として出力す
る。スイッチ群13はディスク14からデータの読み出
しを制御するためのロードスイッチや自動演奏及び押鍵
指示のスタート/ストップを制御するためのスタート/
ストップスイッチや、発生すべき楽音の音色、音量、音
高、効果等を選択、設定、制御するための各種の操作子
を含むものである。ディスク14はフロッピーディスク
などの記憶媒体であり、演奏曲に対応した各種の演奏デ
ータを記憶しているものである。インターフェイス8は
ディスク14に記憶されている演奏データをマイクロコ
ンピュータ内で処理可能なデータに変換するものであ
る。
の同時発生が可能であり、データ及びアドレスバス18
を経由して与えられる演奏データに基づいた楽音信号を
発生する。音源回路9における楽音信号発生方式はいか
なるものを用いてもよい。例えば、発生すべき楽音の音
高に対応して変化するアドレスデータに応じて波形メモ
リに記憶した楽音波形サンプル値データを順次読み出す
メモリ読み出し方式、又は上記アドレスデータを位相角
パラメータデータとして所定の周波数変調演算を実行し
て楽音波形サンプル値データを求めるFM方式、あるい
は上記アドレスデータを位相角パラメータデータとして
所定の振幅変調演算を実行して楽音波形サンプル値デー
タを求めるAM方式等の公知の方式を適宜採用してもよ
い。
タル−アナログ変換器(DAC)15及びサウンドシス
テム16(アンプ及びスピーカからなる)を介して発音
される。タイマ17は時間間隔を計数したり、演奏情報
メモリ4から演奏データを読み出すためのクロックパル
スを発生するものであり、このクロックパルスの周波数
はスイッチ群13上のテンポスイッチ(図示していな
い)などによって調整される。発生したクロックパルス
はCPU1に対してインタラプト命令として与えられ、
CPU1はこのクロックパルスに従った割り込み処理を
実行して、楽音を発生したり、押鍵指示を行ったりす
る。
いる1トラック分(トラック番号TR=0)の演奏デー
タの構成例を示す図である。トラック番号TR=0のト
ラックは右手の押鍵に関する演奏データを記憶し、トラ
ック番号TR=1のトラックは左手の押鍵に関する演奏
データを記憶している。これ以外のトラック番号TR=
2〜8のトラックは伴奏音(和音やベース音やリズム
音)に関する各種演奏データを記憶している。
ンデータと、エンドコードとの組み合わせで構成されて
いる。キーデータは次のデータがキーオンに関するデー
タであることを示すキーオンコード、鍵の音高を示すキ
ーコード、押鍵操作速度を示すベロシティ及び音長を示
すゲートタイムから構成される。デュレーションデータ
は次のデータがデュレーションに関するデータであるこ
とを示すデュレーションコードと、イベントの発生間隔
を示すデュレーションタイムとから構成される。エンド
コードは押鍵指示データの終了を示す。なお、この実施
例の電子楽器に内蔵されたフレーズ分割装置によって、
図1のようにデュレーションタイムとキーオンコードと
の間にフレーズコードが挿入され、演奏データが自動的
にフレーズ単位に分割される。このフレーズ分割装置の
動作については後述する。
される図2の電子楽器の処理の一例を説明する。図3及
び図4はマイクロコンピュータが処理するメインルーチ
ンの一例を示す図であり、図3はメインルーチンの前半
部分を示し、図4はその後半部分を示す。このメインル
ーチンはつぎのようなステップで順番に実行される。
と、CPU1はプログラムメモリ2に格納されている制
御プログラムに応じた初期設定処理を開始する。そし
て、この「初期設定処理」では、ワーキングメモリ3内
の各種レジスタやフラグ等を初期値に設定する。 ステップ32:押鍵検出回路5をスキャンして鍵盤11
の操作によるキーイベントが有るかどうかを判定し、キ
ーイベント有り(YES)の場合は次のステップ33に
進み、キーイベント無し(NO)の場合はステップ39
にジャンプする。
11の操作に対応したキーイベントが発生する度に行わ
れる処理である。 ステップ33:キーイベントがキーオンイベントかどう
かを判定し、キーオンイベント(YES)の場合はステ
ップ35に進み、そうでないキーオフイベント(NO)
の場合はステップ34に進む。 ステップ34:前ステップでキーオフイベントと判定さ
れたので、それに対応した消音処理を行い、ステップ3
9に進む。 ステップ35:前ステップ33でキーオンイベントだと
判定されたので、それに対応した発音処理を行う。
ODが『1』かどうかを判定し、『1』(YES)の場
合はLED発光だけによる押鍵指示を行うためにステッ
プ37の第1の比較進行処理Iに進み、『0』(NO)
の場合はLED発光及び楽音発音の両方による押鍵指示
を誤押鍵が発生した場合に繰り返し行うためにステップ
38の第2の比較判定処理IIに進む。 ステップ37:押鍵指示された鍵が全て押鍵されたかど
うかの比較判定を行いながら次の押鍵指示を行うかどう
かを制御する図5に示すような第1の比較進行処理Iを
行い、ステップ39に進む。 ステップ38:押鍵指示(この実施例ではLED点灯又
は点滅)された鍵が押鍵されたかどうかの比較判定を行
い、誤押鍵が発生した場合にはその押鍵指示を繰り返す
かどうかを制御する図6に示すような第2の比較進行処
理IIを行い、ステップ39に進む。
Iの詳細を示す図である。この第1の比較進行処理Iは
つぎのようなステップで順番に実行される。 ステップ51:モード番号レジスタMODが『1』、
『2』又は『3』であり、かつ、走行状態フラグRUN
が『1』であるかどうかを判定し、YESの場合は次の
ステップ52に進み、NOの場合はリターンし、図3の
ステップ39に進む。なお、ここで、モード番号レジス
タMODは押鍵指示のモードを示すものであり、『0』
は押鍵指示しないことを、『1』は右手についてだけ押
鍵指示することを、『2』は左手についてだけ押鍵指示
することを、『3』は両手について押鍵指示することを
それぞれ示す。また、走行状態フラグRUNは自動演奏
の状態を示すものであり、『0』は停止中であることを
示し、『1』は自動演奏中であることを示す。従って、
モード番号レジスタMODが『1』、『2』、『3』の
いずれかであり、走行状態フラグRUNが『1』である
ということは、右手又は/及び左手に関する押鍵指示を
行うと共に、自動演奏処理中であることを意味する。
る。すなわち、待ち状態フラグWAITが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ5
3に進み、そうでない(NO)場合はリターンし、図3
のステップ39に進む。ここで、待ち状態フラグWAI
Tは、後述する第1の割り込み処理Iの中で新たなキー
オンデータが発音キーコードリストに登録された場合に
図13のステップ138で『1』にセットされるものな
ので、このステップ52でYESと判定されたというこ
とは、図13のステップ134によって新たなキーオン
データが発音キーコードリストに追加登録されたことを
意味する。
録されているキーコードが全て押鍵されているかどうか
判定し、全て押鍵されている(YES)場合は次のステ
ップ54以降に進み、全て押鍵されていない(NO)場
合はリターンし、図3のステップ39に進む。
コードリストに登録されているキーコードが全て押鍵さ
れたと判定されたので、ここでは、その発音キーコード
リストのキーコードに対応するLEDを全て点灯する。
これは、発音キーコードリストに登録されているキーコ
ードに対応するLEDは図13のデータ処理のステップ
137によって点滅状態となっているからである。 ステップ55:待ち状態フラグWAITに『0』をセッ
トして、待ち状態を解除する。この待ち状態の解除によ
って図11のステップ113以降の割り込み処理が実行
されるようになる。 ステップ56:発音キーコードリストをクリアする。す
なわち、発音キーコードに登録されている全キーコード
を消去し、図3のステップ39に進む。なお、この第1
の比較進行処理は図11のステップ114でも行われる
ので、この場合にはステップ51〜ステップ53でNO
と判定された場合、及びステップ56の処理が終了した
場合には図11のステップ115に進むこととなる。
IIの詳細を示す図である。この第2の比較進行処理IIは
つぎのようなステップで順番に実行される。 ステップ61:前ステップ33でキーオンイベントだと
判定されたので、演奏キーコードレジスタPKCにその
キーコードを格納し、クロックレジスタCLKを『0』
にリセットする。 ステップ62:ステップ51と同じくようにモード番号
レジスタMODが『1』、『2』又は『3』であり、か
つ、走行状態フラグRUNが『1』であるかどうかを判
定し、YESの場合は次のステップ63に進み、NOの
場合はリターンし、図3のステップ39に進む。
る。すなわち、待ち状態フラグWAITが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ6
4に進み、そうでない(NO)場合はリターンし、図3
のステップ39に進む。ここで、待ち状態フラグWAI
Tは、後述する第2の割り込み処理IIの中で演奏キーコ
ードレジスタPKCのキーコードと演奏データのキーコ
ードとが一致した場合に図17のステップ178で
『1』にセットされるものなので、このステップ63で
YESと判定されたということは、図17のステップ1
7Bによってフレーズの区切りまでのキーオンデータが
バッファに新たに転送されたことを意味する。
ているキーオンデータのキーコードと演奏キーコードレ
ジスタPKCのキーコードとが一致するかどうかを判定
し、一致している(YES)場合はステップ65に進
み、一致していない(NO)場合は図3のステップ39
に進む。 ステップ65:前ステップ63で待ち状態だと判定さ
れ、かつ、前ステップ64でバッファ先頭のキーコード
と押鍵されたキーコードとが一致したと判定されたとい
うことは、LED発光及び楽音発音の両方による押鍵指
示が行われた後に、その押鍵指示に合致した正しい押鍵
がなされたことを意味するので、ここでは、演奏キーコ
ードレジスタPKCに格納されているキーコードに対応
するLEDを消灯する。なお、バッファ内にキーコード
のキーオンデータが存在する場合にはそのままLEDの
点灯状態を維持する。
KCをクリアする。 ステップ67:待ち状態フラグWAITに『0』をセッ
トして、待ち状態を解除する。この待ち状態の解除によ
って図15のステップ157の処理、及び図16のステ
ップ162以降の処理が実行されるようになる。
し、その中のロードスイッチ(図示せず)のオンイベン
ト有りかどうかを判定し、オンイベント有り(YES)
の場合は次のステップ3Aに進み、そうでない(NO)
場合はステップ3Cにジャンプする。 ステップ3A:ロードスイッチのオンイベントが発生し
たと前ステップ39で判定されたので、ここでは、ディ
スク14から図1に示すような演奏データを読み出し、
それを演奏情報メモリ4に書き込む。
れた演奏データを所定フレーズに分割するフレーズ分割
処理を行う。このフレーズ分割処理の詳細については後
述する。 ステップ3C:スイッチ群13をスキャンし、その中の
モード切換スイッチ(図示せず)のオンイベント有りか
どうかを判定し、オンイベント有り(YES)場合は次
のステップ3Dに進み、そうでない(NO)場合は図4
のステップ41にジャンプする。 ステップ3D:モード切換スイッチのオンイベントが発
生したと前ステップ3Cで判定されたので、ここでは、
モード番号レジスタMODの値を『0』、『1』『2』
『3』の順に切り換える。すなわち、このステップ前に
モードレジスタMODの値が『0』の場合には『1』
に、『2』の場合は『3』に、『3』の場合は『0』に
切り換える。
し、その中のガイドモード切換スイッチ(図示せず)の
オンイベント有りかどうかを判定し、オンイベント有り
(YES)場合は次のステップ42に進み、そうでない
(NO)場合はステップ43にジャンプする。 ステップ42:ガイドモード切換スイッチのオンイベン
トが発生したと前ステップ41で判定されたので、ここ
では、ガイドモードレジスタGMODの値を『0』と
『1』の間で交互に切り換える。すなわち、このステッ
プの処理前にガイドモードレジスタGMODの値が
『0』の場合には『1』に、『1』の場合は『0』に切
り換える。ガイドモードレジスタGMODが『0』の場
合にはLED発光及び楽音発音の両方による押鍵指示を
誤押鍵が発生した時点から正しい押鍵があるまで繰り返
し行うという繰り返し押鍵指示方式を意味し、ガイドモ
ードレジスタGMODが『1』の場合にはLED発光だ
けによる押鍵指示を行い、正しい押鍵があるまで停止状
態を維持する停止押鍵指示方式を意味する。
ODが『1』かどうかを判定し、『1』(YES)の場
合はステップ44に進み、『0』(NO)の場合はステ
ップ45に進む。 ステップ44:前ステップ43でYESと判定されたと
いうことは、現在の押鍵指示方式が停止押鍵指示方式で
あることを意味するので、後述する図10のフレーズ細
分割処理のステップ103の中で使用されるフレーズを
区切る最大音符数を規定するための最大音符数レジスタ
MNに『64』をセットする。 ステップ45:前ステップ43でNOと判定されたとい
うことは、現在の押鍵指示方式が繰り返し押鍵指示方式
であることを意味するので、後述する図10のフレーズ
細分割処理のステップ103の中で使用されるフレーズ
を区切る最大音符数を規定するための最大音符数レジス
タMNに『6』をセットする。すなわち、押鍵指示が停
止押鍵指示方式の場合には1フレーズを構成する音符数
が多くてもなんら問題はないが、繰り返し押鍵指示方式
の場合には1フレーズを構成する音符数が多いと押鍵指
示を繰り返す意味が薄れてしまうことがある。そこで、
この実施例では、押鍵指示方式に応じて1フレーズを構
成する最大音符数を異ならせるようにした。
し、その中のスタート/ストップスイッチの操作による
オンイベントが発生したかどうかを判定し、オンイベン
ト有り(YES)の場合は次のステップ47に進み、オ
ンイベント無し(NO)の場合はステップ4Bにジャン
プする。 ステップ47:走行状態フラグRUNを反転する。すな
わち、この実施例では、スタート/ストップスイッチが
操作される毎に、LED発光による押鍵指示及び自動演
奏を開始したり、停止したりする。 ステップ48:走行状態フラグRUNが『1』かどうか
を判定し、『1』(YES)の場合は次のステップ49
に進み、そうでない(NO)場合はステップ4Aに進
む。 ステップ49:前ステップ48で走行状態フラグRUN
が『0』、すなわち押鍵指示及び自動演奏を停止すると
判定されたので、ここでは押鍵指示及び自動演奏をスト
ップする。
『1』だと判定されたので、ここでは図7に示すような
押鍵指示及び自動演奏スタート処理を行う。図7はこの
ステップ4Aの押鍵指示及び自動演奏スタート処理の詳
細を示す図である。この押鍵指示及び自動演奏スタート
処理は次のようなステップで順番に処理される。 ステップ71:スタート/ストップスイッチが操作さ
れ、走行状態フラグRUNが『1』に反転した直後なの
で、全トラックの読み出しポインタを演奏情報メモリ4
のそれぞれ対応する記憶領域の先頭アドレスにセットす
る。
演奏情報メモリ4のヘッダから読み出されたトラック番
号Lの音色をそれぞれ書き込む。音色レジスタTC
(L)は各トラックの音色名を格納するものである。ト
ラック番号Lは演奏情報メモリ4の再生トラックを特定
する『0』〜『8』の値である。トラック番号L=0は
右手の押鍵に関する演奏データを記憶しているトラック
であり、トラック番号L=1は左手の押鍵に関する演奏
データを記憶しているトラックである。これ以外のトラ
ック番号L=2〜8は伴奏音(和音やベース音やリズム
音)に関する演奏データを記憶しているトラックであ
る。
『0』をセットし、待ち状態を解除する。 ステップ74:ガイドモードレジスタGMODが『1』
かどうかを判定し、『1』(YES)の場合はステップ
76に進み、『0』(NO)の場合はステップ75に進
む。 ステップ75:前ステップ74でガイドモードGMOD
が『0』と判定されたので、ここでは、トチック番号L
=0及び1のデュレーションタイムレジスタDL(L)
を『0』にリセットする。 ステップ76:各トラック番号L=0〜8に対応したタ
イミングカウンタTM(L)をそれぞれ『0』にリセッ
トする。タイミングカウンタTM(L)は自動演奏及び
押鍵指示(LED発光)のタイミングを計時するための
カウンタであり、各トラック毎に存在する。 ステップ77:発音キーコードリストをクリアする。
が『1』又は『3』であるかどうかを判定し、YESの
場合は次のステップ79に進み、NOの場合はステップ
7Aにジャンプする。 ステップ79:前ステップ78でモード番号レジスタM
ODが『1』又は『3』だと判定されたということは、
少なくとも右手に関して押鍵指示することを意味するの
で、ここでは、右手の押鍵に関する演奏データを記憶し
ているトラック番号L=0の最初のフレーズの押鍵音に
対応するLEDを全て点灯する。
が『2』又は『3』であるかどうかを判定し、YESの
場合は次のステップ7Bに進み、NOの場合は図4のス
テップ4Bに進む。 ステップ7B:前ステップ7Aでモード番号レジスタM
ODが『2』又は『3』だと判定されたということは、
少なくとも左手に関して押鍵指示することを意味するの
で、ここでは、左手の押鍵に関する演奏データを記憶し
ているトラック番号L=1の最初のフレーズの押鍵音に
対応するLEDを全て点灯し、図4のステップ4Bに進
む。 ステップ4B:スイッチ群13におけるその他の操作子
の操作に基づく処理や、その他の音量変更処理等の種々
の処理を行う。
処理の詳細を示す図である。このフレーズ分割処理で
は、図3のステップ3Aでディスク14から読み出さ
れ、演奏情報メモリ4に書き込まれた演奏データを、フ
レーズ単位に分割するための処理を行う。このフレーズ
分割処理は次のようなステップで順番に処理される。 ステップ81:トラック番号レジスタTRに『0』をセ
ットする。ここで、トラック番号レジスタTRは演奏情
報メモリ4の再生トラックを特定するためのレジスタで
あり、『0』〜『8』の値が格納される。特に、トラッ
ク番号『0』は右手の押鍵に関する演奏データを記憶し
ているトラックであり、トラック番号『1』は左手の押
鍵に関する演奏データを記憶しているトラックである。
これ以外のトラック番号『2』〜『8』は伴奏音(和音
やベース音やリズム音)に関する演奏データを記憶して
いるトラックである。
のデュレーションタイムの平均値すなわちトラック番号
TRのデュレーションタイムの合計値をそのデュレーシ
ョンコードの総数で除算した値に所定係数を乗算して得
られた値をしきい値としてしきい値レジスタTHRSH
に格納する。 ステップ83:トラック番号レジスタTRの読出しポイ
ンタを演奏情報メモリ4の記憶領域の先頭アドレスにセ
ットする。
スタDTM、最大ゲートタイムレジスタGTM及びキー
オフ計時レジスタKOFFをそれぞれ『0』にリセット
する。デュレーションタイムレジスタDTMは演奏デー
タの中のデュレーションタイムを格納するレジスタであ
る。最大ゲートタイムレジスタGTMはその演奏データ
を演奏中における最も大きい値のゲートタイムを格納す
るレジスタである。キーオフ計時レジスタKOFFはゲ
ートオフ状態の時間を計測するためのレジスタである。 ステップ85:デュレーションタイムレジスタDTMの
値が『0』以下かどうかを判定し、『0』以下(YE
S)の場合は次のステップ86に進み、『0』より大き
い(NO)場合はステップ8Fに進む。
ションタイムレジスタDTMの値が『0』以下であると
判定されたということは次の演奏データの読出しタイミ
ングになったということなので、ここでは、トラック番
号レジスタTRに対応するトラックの読み出しポインタ
が指す演奏データを読み出す。 ステップ87:次に読出しに備えてトラック番号レジス
タTRに対応するトラックの読み出しポインタを次のデ
ータの読み出しアドレスにセットする。例えば、ステッ
プ86で読み出されたデータがキーオンデータの場合に
はポインタを4つ進め、デュレーションデータの場合に
はポインタを2つ進める。
れたデータがエンドデータかどうかを判定し、エンドデ
ータ(YES)の場合はステップ8Gに進み、それ以外
のデータ(NO)の場合はステップ89に進む。 ステップ89:前ステップ86で読み出されたデータが
デュレーションデータかどうかの判定を行い、デュレー
ションデータ(YES)の場合はステップ8Eに進み、
それ以外のデータ(NO)の場合はステップ8Aに進
む。
れたデータがキーオンデータかどうかの判定を行い、キ
ーオンデータ(YES)の場合はステップ8Bに進み、
それ以外のデータ(NO)の場合はステップ85にリタ
ーンする。 ステップ8B:前ステップ8Aでキーオンデータだと判
定されたので、キーオンデータ内のゲートタイムを最新
ゲートタイムレジスタGTに格納する。 ステップ8C:最新ゲートタイムレジスタGTの値が最
大ゲートタイムレジスタGTMの値よりも大きいかどう
か判定し、大きい(YES)場合は次のステップ8Dに
進み、小さい(NO)場合はステップ85にリターンす
る。 ステップ8D:前ステップ8Cで最新ゲートタイムレジ
スタGTの値が最大ゲートタイムレジスタGTMの値よ
りも大きいと判定されたので、最大ゲートタイムレジス
タGTMの値を最新ゲートタイムGTで置き換える。 ステップ8E:前ステップ89でデュレーションデータ
と判定されたので、そのデュレーションタイムをデュレ
ーションタイムレジスタDTMに格納する。
ションタイムレジスタDTMの値が『0』より大きいと
判定されたので、ここでは、図7に示すようなキーオフ
分割処理を行う。図9はこのステップ8Fのキーオフ分
割処理の詳細を示す図である。このキーオフ分割処理は
次のようなステップで順番に実行される。 ステップ91:前ステップ85でデュレーションタイム
レジスタDTMの値が『0』より大きいと判定されたの
で、ここでは、そのデュレーションタイムレジスタDT
M及び最大ゲートタイムレジスタGTMのそれぞれの格
納値を『1』だけデクリメント処理して、ステップ92
に進む。
Mの値が『0』より小さいかどうかを判定し、『0』よ
り小さい(YES)の場合は次のステップ93に進み、
『0』以上(NO)の場合は図6のステップ85にリタ
ーンする。すなわち、このステップ91のデクリメント
処理は、デュレーションタイムレジスタDTMの値が
『0』以下になってステップ85でYESと判定される
か、又は最大ゲートタイムレジスタGTMの値が負の値
になってステップ92でYESと判定されるまで繰り返
し行われる。
トタイムレジスタGTMの値が負の値になったので、キ
ーオフ計時レジスタKOFFの値を『1』だけインクリ
メント処理し、時間を増加させる。 ステップ94:前ステップ93のインクリメント処理に
よってキーオフ計時レジスタKOFFの値がしきい値レ
ジスタTHRSHのしきい値よりも大きいかどうかを判
定し、大きい(YES)場合は次のステップ95に進
み、小さい(NO)場合は図6のステップ85にリター
ンする。すなわち、このステップ93のインクリメント
処理によって、キーオフ計時レジスタKOFFはデュレ
ーションタイムレジスタDTMが『0』よりも大きく
て、かつ最大ゲートタイムレジスタが負の値である時間
すなわちゲートオフ状態の時間を計時する。
に対応するトラックの読み出しポインタが指す演奏デー
タがエンドデータかどうかを判定し、エンドデータ(Y
ES)の場合は図8のステップ85にリターンし、これ
以外のデータ(NO)の場合は次のステップ96に進
む。 ステップ96:トラック番号レジスタTRに対応するト
ラックの読み出しポインタが指す演奏データの直前がフ
レーズデータかどうかを判定し、フレーズデータ(YE
S)の場合は図8のステップ85にリターンし、これ以
外のデータ(NO)の場合は次のステップ97に進む。
すなわち、前ステップ94でキーオフ計時レジスタKO
FFの値がしきい値レジスタTHRSHのしいき値より
も大きいと判定されたので、通常であればポインタが指
すデータの直前にフレーズデータを挿入すればよいのだ
か、ポインタが指すデータがエンドデータである場合又
はポインタが指すデータの直前がフレーズデータである
場合にはフレーズデータを挿入しても無意味となるの
で、ステップ95及びステップ96で予め判定してい
る。
ければトラック番号レジスタTRの先頭)からトラック
番号レジスタTRに対応するトラックのポインタが指す
データの直前までのキーオンデータのキーコードが2種
類以上かどうかを判定し、YESの場合は次のステップ
98に進み、NOの場合は図8のステップ85にリター
ンする。 ステップ98:キーオフ計時レジスタKOFFの値がし
きい値レジスタTHRSHのしいき値よりも大きいとス
テップ94で判定され、ポインタが指すデータがエンド
データでないとステップ95で判定され、ポインタが指
すデータの直前がフレーズデータでないとステップ96
で判定され、さらにキーコードの種類が2種類以上であ
るとステップ97で判定されたので、トラック番号レジ
スタTRに対応するトラックの読み出しポインタが指す
演奏データの直前にフレーズデータを挿入する。
って分割されたフレーズに関して再度、図10に示すよ
うなフレーズ細分割処理を行い、図8のステップ85に
リターンする。図10はこのステップ99のフレーズ細
分割処理の詳細を示す図である。このフレーズ細分割処
理は次のようなステップで順番に実行される。 ステップ101:キーコードの種類が6個になったとこ
ろでフレーズの区切りとし、6種類目のキーオンデータ
(連続して複数あるときは最後のもの)の直後のデュレ
ーションデータの直後にフレーズデータを挿入する。但
し、このとき、フレーズデータを挿入することによって
フレーズデータ間のキーオンデータのキーコードの種類
が3個未満になるとき、又はキーオンデータ間のデュレ
ーションデータがしきい値レジスタTHRSHのしきい
値以下になるときはフレーズデータを挿入しない。
最高音高のキーコードを記憶していき、両者の差が16
より大きくなったところでフレーズの区切りとし、範囲
を越えたキーオンデータの直前にフレーズデータを挿入
する。最低音高のキーコードと最高音高のキーコードを
フレーズデータの直後のキーオンデータのキーコードに
セットして繰り返す。但し、このときも前ステップと同
様に、フレーズデータを挿入することによってフレーズ
データ間のキーオンデータのキーコードの種類が3個未
満になるとき、又はキーオンデータ間のデュレーション
データがしきい値レジスタTHRSHのしきい値以下に
なるときはフレーズデータを挿入しない。
になったところでフレーズの区切りとし、MN個目のキ
ーオンデータの直後のデュレーションデータの直後にフ
レーズデータを挿入する。ここで、MNは、図4のステ
ップ44で最大音符数レジスタMNに格納された『6
4』か、又はステップ45で最大音符数レジスタMNに
格納された『6』である。 ステップ104:図9のステップ98によって、新たに
フレーズデータが挿入されたのでキーオフ計時レジスタ
KOFFを『0』にリセットし、図8のステップ85に
リターンし、ステップ85〜ステップ8Fの処理をエン
ドデータが読み出されるまで繰り返し行う。
ドデータであるとステップ88で判定されたので、ここ
では、前述のと同じ図10のフレーズ細分割処理を行
う。 ステップ8H:トラック番号レジスタTRが『1』かど
うかを判定し、『1』(YES)の場合は図4のステッ
プ3Cに進み、『0』(NO)の場合はステップ8Jに
進む。 ステップ8J:このフレーズ分割処理においてはステッ
プ81でトラック番号レジスタTRに『0』がセットさ
れるので、前ステップ8HでNOと判定されたというこ
とはトラック番号レジスタTRが『0』なので、ここで
は、トラック番号レジスタTRに『1』をセットし、左
手に関する演奏データに対して同様のフレーズ分割処理
を行うためにステップ82にリターンする。これによっ
て、ステップ82〜ステップ8Gの処理がトラック番号
『1』に対して実行されるようになる。
が『1』の場合において、1小節当たり96回(96分
音符長毎)のタイミングで実行される割り込み処理を示
す図である。この割り込み処理では押鍵指示処理と自動
伴奏処理を行う。この割り込み処理はつぎのようなステ
ップで順番に実行される。 ステップ111:走行状態フラグRUNが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ1
12に進み、そうでない(NO)場合は直ちにリターン
する。 ステップ112:待ち状態かどうか、すなわち、待ち状
態フラグWAITが『1』かどうかを判定し、『1』
(YES)の場合はリターンし、『0』(NO)の場合
は次のステップ113に進む。
データの再生処理を行う。図12はこのステップ113
の再生処理の詳細を示す図である。この再生処理は演奏
情報メモリ4内の9つのトラックに対して順番に同様の
処理を行うものである。この再生処理はつぎのようなス
テップで順番に実行される。 ステップ121:図10のステップ111で走行状態フ
ラグRUNが『1』だと判定され、ステップ112で待
ち状態でない(NO)と判定されたので、トラック番号
レジスタTRを『0』にセットする。ここで、トラック
番号レジスタTRは演奏情報メモリ4の再生トラックを
特定するためのレジスタであり、『0』〜『8』の値が
格納される。
(TR)の格納値、すなわちトラック番号レジスタTR
の格納値に対応するトラックのタイミングカウント値が
『0』以下かどうかを判定し、『0』以下(YES)の
場合はステップ123に進み、『0』よりも大きい(N
O)場合はステップ124に進む。 ステップ123:前ステップ122でタイミングカウン
ト値が『0』以下であると判定されたので、ここでは、
トラック番号レジスタTRに対応するトラックの読み出
しポインタが指す演奏データを読み出す。
ミングカウント値が『0』より大きいと判定されたの
で、ここでは、そのタイミングカウンタTM(TR)の
格納値を『1』だけデクリメント処理して、ステップ1
2Aに進む。 ステップ125:前ステップ123で読み出されたデー
タがエンドデータかどうかを判定し、エンドデータ(Y
ES)の場合はステップ12Aにジャンプし、それ以外
のデータ(NO)の場合はステップ126に進む。
データの読み出しアドレスにセットする。例えば、ステ
ップ123で読み出されたデータがキーオンデータの場
合にはポインタを4つ進め、デュレーションデータの場
合にはポインタを2つ進める。 ステップ127:前ステップ123で読み出されたデー
タがデュレーションデータかどうかの判定を行い、デュ
レーションデータ(YES)の場合はステップ128に
進み、それ以外のデータ(NO)の場合はステップ12
9に進む。 ステップ128:前ステップ127でデュレーションデ
ータだと判定されたので、そのデュレーションタイムを
トラック番号レジスタTRに対応するトラックのタイミ
ングカウンタTM(TR)に格納する。
出されたデータに対して図13に示すようなデータ処理
を行う。図13はこのステップ129のデータ処理の詳
細を示す図である。このデータ処理はつぎのようなステ
ップで順番に実行される。 ステップ131:図12のステップ123で読み出され
たデータがキーオンデータかどうかの判定を行い、キー
オンデータ(YES)の場合はステップ132に進み、
それ以外のデータ(NO)の場合はステップ13Cに進
む。
Dの値が『1』若しくは『3』で、かつ、トラック番号
レジスタTRの値が『0』であるか、又はモード番号レ
ジスタMODの値が『2』若しくは『3』で、かつ、ト
ラック番号レジスタTRの値が『1』であるかどうかを
判定し、YESの場合は次のステップ133に進み、N
Oの場合はステップ139に進む。ここで、モード番号
が『1』若しくは『3』で、かつ、トラック番号レジス
タTRが『0』ということは、現在の読出し中のトラッ
クが右手の押鍵に関するものであり、押鍵指示モードも
右手に関して押鍵指示を行うというモードであることを
意味する。また、モード番号が『2』若しくは『3』
で、かつ、トラック番号レジスタTRが『1』というこ
とは、現在の読出し中のトラックが左手の押鍵に関する
ものであり、押鍵指示モードも左手に関して押鍵指示を
行うというモードであることを意味する。
オンデータだと判定され、前ステップ132で押鍵指示
を行うと判定されたので、キーコードレジスタKCに読
み出されたキーオンデータのキーコードを格納する。 ステップ134:前ステップ133でキーコードレジス
タKCに新たに格納されたキーコードを発音キーコード
リストに追加登録する。 ステップ135:図12のステップ123で読み出され
たキーオンデータが、トラック番号レジスタTRに対応
するトラックの現フレーズで最後のキーオンデータであ
り、かつ、次のフレーズが存在するかどうかをの判定を
行い、YESの場合は次のステップ136に進み、NO
の場合はステップ137にジャンプする。
フレーズの最後のキーオンデータのキーコードに対応す
るLEDを点滅させるので、それに合わせて次のフレー
ズの押鍵音に対応するLEDを全て点灯する。これによ
って、演奏者は次のフレーズの押鍵位置を容易に認識す
ることができる。 ステップ137:キーコードレジスタKCに格納されて
いるキーコードに対応するLEDを点滅させる。なお、
キーオンデータのゲートタイムが16分音符以下の場合
には消灯から点滅を始めるように制御する。すなわち、
この実施例では、ステップ79、ステップ7B又はステ
ップ136によってフレーズ中の押鍵音に対応するLE
Dを全て点灯しているので、このステップでは点灯中の
LEDをそのゲートタイムに応じて点滅させることにな
る。ところが、LEDの点滅処理はこの割り込み処理と
は非同期のタイミングクロックで行われている関係上、
ゲートタイムが16分音符以下のように非常に短い場合
には、既に点灯中のLEDを点灯、消灯、点灯のタイミ
ングで順番に点滅しても点灯部分が重複しているので、
そのタイミングが分かりにくい。そこで、この実施例で
は点灯中のLEDを消灯、点灯、消灯のタイミング順番
に点滅し、その押鍵タイミングを分かりやすくている。 ステップ138:待ち状態フラグWAITに『1』をセ
ットし、待ち状態にして、図12のステップ122にリ
ターンする。
指示を行わないモード(モード番号レジスタMODの値
が『0』)であるか、又はトラック番号レジスタTRの
値が『2』〜『8』であると判定されたということは、
演奏データに基づいた自動演奏を行うことを意味するの
で、ここでは発音可能なチャンネルを割り当て、その割
り当てられたチャンネル番号をチャンネルレジスタCH
に格納する。 ステップ13A:演奏データから読み出されたキーオン
データに基づいて、キーオン信号、キーコード、ベロシ
ティ、音色レジスタTC(TR)の音色及びチャンネル
番号CHを音源回路9に出力する。 ステップ13B:ゲートタイムレジスタGT(CH)に
キーオンデータ内のゲートタイムを格納し、図12のス
テップ122にリターンする。
オンデータでないと判定されたので、今度は、図12の
ステップ123で読み出されたデータがフレーズデータ
かどうかの判定を行い、フレーズデータ(YES)の場
合はステップ13Dに進み、そうでない(NO)場合は
図12のステップ122にリターンする。 ステップ13D:前記ステップ132と同じようにモー
ド番号レジスタMODが『1』若しくは『3』で、か
つ、トラック番号レジスタTRが『0』であるか、又は
モード番号レジスタMODが『2』若しくは『3』で、
かつ、トラック番号レジスタTRが『1』であるかどう
かを判定し、YESの場合は次のステップ13Eに進
み、NOの場合は図12のステップ122にリターンす
る。
で読み出されたデータがフレーズデータだと前ステップ
13Cで判定され、右手又は/及び左手の押鍵指示を行
うと前ステップ13Dで判定されたので、ここでは、そ
のトラック番号レジスタTRに対応するトラックの前フ
レーズの押鍵音に対応するLEDを消灯し、図12のス
テップ122にリターンする。但し、他のトラックや現
フレーズの押鍵音に対応して点灯しているLEDに関し
てはそのままの状態を維持する。
プ124でタイミングカウンタTM(TR)の格納値が
『1』だけデクリメント処理されたか、ステップ125
で現在のトラック番号TRのデータがエンドデータだと
判定されたか、又はステップ128でタイミングカウン
タTM(TR)にデュレーションタイムが格納された場
合に行われるものであり、次のトラックに対して前述と
同様の再生処理を行うために、トラック番号レジスタT
Rの値を『1』だけインクリメント処理する。 ステップ12B:前ステップ12Aのインクリメント処
理によってトラック番号レジスタTRの値が『9』にな
ったかどうか、すなわち、全トラックに対して再生処理
が終了したかどうかを判定し、YESの場合は図10の
ステップ114に進み、NOの場合はステップ122に
リターンし、次のトラックに対して同様の処理を繰り返
し実行する。
行処理Iを行う。このステップにおける第1の比較進行
処理Iは、図13のステップ137による押鍵指示(L
EDの点滅)よりも先に演奏者が押鍵してしまった場合
に行われる処理である。すなわち、押鍵指示前に押鍵さ
れたということは、図13のステップ134によって押
鍵指示すべきキーコードが発音キーコードリストに登録
される前に押鍵されたことを意味するので、この時点
で、図3のステップ37の第1の比較進行処理Iが行わ
れたとしても、ステップ52でNOと判定されてしまう
ので、ステップ37の第1の比較進行処理Iの意味がな
くなる。従って、このような場合に対処するため、この
ステップでは図5と同じ第1の比較進行処理Iを行って
いる。
奏情報メモリ4の演奏データの中のトラック番号『0』
及び『1』以外のトラックに対して、ステップ139〜
ステップ13Bで自動演奏された楽音の発音を停止する
ためのものである。 ステップ115:チャンネルレジスタCHの値を『0』
にセットする。 ステップ116:ゲートタイムレジスタGT(CH)の
値、すなわちチャンネルレジスタCHの値に対応するチ
ャンネルのゲートタイムが『0』以下かどうかを判定
し、『0』以下(YES)の場合はステップ117に進
み、『0』よりも大きい(NO)場合はステップ119
に進む。
の格納値に対応するチャンネルが既に自動演奏で使用中
かどうかを判定し、使用中(YES)の場合は次のステ
ップ118に進み、使用中でない(NO)場合はステッ
プ11Aにジャンプする。 ステップ118:前ステップ116及びステップ117
でゲートタイムが『0』以下であり、自動演奏用で使用
中のチャンネルだと判定されたので、ここでは、そのチ
ャンネルの発音を終了するために、そのチャンネル番号
CHとキーオフ信号を音源回路9に出力する。
トタイムが『0』より大きいと判定されたので、ここで
は、そのゲートタイムレジスタGT(CH)の格納値を
『1』だけデクリメント処理する。 ステップ11A:次のチャンネルに対してステップ11
6〜ステップ119の処理を行うために、チャンネルレ
ジスタCHの値を『1』だけインクリメント処理する。 ステップ11B:チャンネルレジスタCHの格納値が
『16』かどうか、すなわち全部で16個のチャンネル
に対してステップ118又はステップ119の処理が行
われたかどうかを判定し、YESの場合はリターンして
次の割込タイミングまで待機し、NOの場合はステップ
116にリターンし、同様の処理を残りのチャンネルに
対して繰り返し実行する。
が『0』の場合において、1小節当たり96回(96分
音符長毎)のタイミングで実行される第2の割り込み処
理IIを示す図である。この割り込み処理では主にLED
発光及び楽音発音による押鍵指示処理及び自動伴奏処理
を行い、誤押鍵が発生した場合にはその時点からの押鍵
指示処理を繰り返し行う。この割り込み処理はつぎのよ
うなステップで順番に実行される。 ステップ141:走行状態フラグRUNが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ1
42に進み、そうでない(NO)場合は直ちにリターン
し、次の割り込みタイミングまで待機する。
ーコードレジスタPKCの内容を所定周期(8分音符
長)毎にクリアするための処理である。 ステップ142:この割り込み処理は96分音符長毎に
行われるので、『0』だったクロックレジスタCLKの
値が『11』になると、その割り込み時点が8分音符長
に相当するので、ここでは、クロックレジスタCLKの
値が『11』かどうかの判定を行い、『11』(YE
S)の場合はステップ143に進み、そうでない(N
O)場合はステップ145に進む。 ステップ143:前ステップ142でクロックレジスタ
CLKの値が『11』だと判定されたということは、図
6のステップ61の処理によってクロックレジスタCL
Kの値が『0』にリセットされてから8分音符長に対応
する時間が経過したことを意味するので、ここでは、演
奏キーコードレジスタPKCの内容をクリアする。 ステップ144:再度8分音符長に対応する時間を計時
するために、クロックレジスタCLKを『0』にリセッ
トする。 ステップ145:前ステップ142でクロックレジスタ
CLKの値が『11』でない判定されたということは、
まだ8分音符長に対応するだけ時間が経過していないこ
とを意味するので、ここでは、クロックレジスタCLK
を『1』だけインクリメント処理する。
わち、待ち状態フラグWAITが『1』かどうかを判定
し、『1』(YES)の場合はステップ148にジャン
プし、『0』(NO)の場合は次のステップ147に進
む。すなわち、待ち状態にある場合には自動伴奏は行わ
れないことを意味する。 ステップ147:トラック番号『2』からトラック番号
『8』までのトラック2〜8に記憶されている演奏デー
タを順次読み出して再生する。この再生処理は図13の
ステップ139〜ステップ13Bと同様の処理によって
行われるので、その説明は省略する。この場合、ゲート
タイムレジスタGGT(CH)にゲートタイムは格納さ
れる。
ラックに記憶されている押鍵指示データを順次読み出
し、それに基づいた図15のような押鍵指示処理を行
う。図15はこのステップ148の押鍵指示処理の詳細
を示す図である。この押鍵指示処理はつぎのようなステ
ップで順番に実行される。 ステップ150:トラック番号レジスタTRに『0』を
セットする。ここで、トラック番号レジスタTRは演奏
情報メモリ4の再生トラックを特定するためのレジスタ
であり、『0』〜『8』の値が格納される場合について
説明したが、この押鍵指示処理に限っては、押鍵指示に
関係する『0』及び『1』の値だけが格納されることと
なる。
グWAITが『1』)であるかどうかを判定し、待ち状
態(YES)の場合はステップ15Cに進み、待ち状態
でない(NO)場合はステップ152に進む。 ステップ152:全ステップ151で待ち状態でないと
判定されたので、デュレーションタイムレジスタDL
(TR)の値が『0』以下かどうかを判定し、『0』以
下(YES)の場合はステップ153に進み、『0』よ
りも大きい(NO)場合はステップ154に進む。 ステップ153:前ステップ152でデュレーションタ
イムレジスタDL(TR)の値が『0』以下であると判
定されたので、ここでは、トラック番号レジスタTRに
格納されているトラック番号の読み出しポインタが指す
押鍵指示データを読み出す。 ステップ154:前ステップ152でデュレーションタ
イムレジスタDL(TR)の値が『0』より大きいと判
定されたので、ここでは、そのデュレーションタイムレ
ジスタDL(TR)の値を『1』だけデクリメント処理
して、ステップ159に進む。 ステップ155:前ステップ153で読み出されたデー
タがエンドデータかどうかを判定し、エンドデータ(Y
ES)の場合はステップ159に進み、それ以外のデー
タ(NO)の場合はステップ156に進む。
Rに格納されているトラック番号の読み出しポインタを
次のデータの読み出しアドレスにセットする。例えば、
ステップ153で読み出されたデータがキーオンデータ
の場合にはポインタを4つ進め、デュレーションデータ
の場合にはポインタを2つ進める。 ステップ157:前ステップ153で読み出されたデー
タがデュレーションデータかどうかの判定を行い、デュ
レーションデータ(YES)の場合はステップ158に
進み、それ以外のデータ(NO)の場合はステップ15
Bに進む。 ステップ158:前ステップ157でデュレーションデ
ータだと判定されたので、そのデュレーションタイムを
デュレーションタイムレジスタDL(TR)に格納し、
ステップ159に進む。
プ154でデュレーションタイムレジスタDL(TR)
の格納値が『1』だけデクリメント処理されたか、ステ
ップ155で現在のトラック番号TRのデータがエンド
データだと判定されたか、ステップ15Cの繰り返し再
生処理が終了したか、又はステップ158でデュレーシ
ョンタイムレジスタDL(TR)にデュレーションタイ
ムが格納された場合に行われるものであり、トラック番
号『1』のトラックに対して前述と同様の押鍵指示処理
を行うために、トラック番号レジスタTRの値を『1』
だけインクリメント処理する。 ステップ15A:前ステップ159のインクリメント処
理によってトラック番号レジスタTRの値が『2』にな
ったかどうか、すなわち、トラック番号『0』及び
『1』に対して押鍵指示処理が終了したかどうかを判定
し、YESの場合は図14のステップ149に進み、N
Oの場合はステップ151にリターンし、次のトラック
番号『1』のトラックに対して同様の押鍵指示処理を繰
り返し実行する。
出されたキーオンデータに対して図16のキーデータ再
生処理を行う。図16はこのステップ159のキーデー
タ再生処理の詳細を示す図である。このキーデータ再生
処理はつぎのようなステップで順番に実行される。 ステップ161:前ステップ153で読み出されたキー
オンデータのキーコードを指示キーコードレジスタKC
に、ゲートタイムを指示ゲートタイムレジスタGGT
に、そして定数(小)をベロシティレジスタVLに、そ
れぞれ格納する。ベロシティレジスタVLに格納される
定数(小)とはLEDによる押鍵指示と同時にその指示
された鍵に対応した音高の楽音を発音するときの所定音
量を決定する値であり、操作者が聞き取ることができる
程度の小さな値である。
PKC内のキーコードと指示キーコードレジスタKC内
のキーコードとが一致するかどうか、すなわち、LED
の押鍵指示通りに操作者が押鍵したかどうかを判定し、
一致した(YES)場合にはステップ163に進み、一
致しない(NO)場合、すなわち誤押鍵の場合はステッ
プ164以降に進む。ここの誤押鍵には、押鍵指示され
た鍵と異なる鍵を操作者が押鍵した場合と、押鍵指示さ
れたが操作者がどの鍵も操作しなかった場合の両方の場
合が含まれる。 ステップ163:前ステップ162でLEDの押鍵指示
通りに操作者が押鍵したと判定されたので、ここでは、
その演奏キーコードレジスタPKCをクリアし、図15
のステップ151にリターンする。
キーコードレジスタPKC内のキーコードと指示キーコ
ードレジスタKC内のキーコードとが一致しないと判定
されので、押鍵指示データに基づいた発音処理を行うた
めに、ここでは音源のチャンネルの中から発音可能なチ
ャンネルを割り当て、そのチャンネル番号をチャンネル
レジスタCHに格納する。 ステップ165:演奏データから読み出されたキーオン
データに基づいて、キーオン信号、指示キーコードレジ
スタKC内のキーコード、指示ベロシティレジスタVL
内のベロシティ、音色レジスタTC(0)内の音色及び
チャンネル番号CHを音源回路9に出力する。 ステップ166:ゲートタイムレジスタGTT(CH)
に指示ゲートタイムレジスタGGT内のゲートタイムを
格納し、キーコードレジスタKCD(CH)に指示キー
コードレジスタKC内のキーコードをそれぞれ格納す
る。
KCに格納されているキーコードに対応するLEDを点
灯する。なお、対応するLEDが既に点灯しているとき
はそのLEDを点滅させる。すなわち、この実施例で
は、誤押鍵が発生してから正しく押鍵されるまでの間、
誤押鍵以降に存在するそのフレーズ内のキーオンデータ
に対応したLEDを順次点灯表示する。そして、これら
のキーオンデータの全ての点灯表示が終了してもそのL
EDは点灯し続けるようになっているので、繰り返し押
鍵指示の2回目以降は押鍵すべき鍵に対応するLEDを
順次点滅表示する。 ステップ168:待ち状態フラグWAITに『1』をセ
ットし、待ち状態にセットする。従って、これ以降は図
6のステップ67によって待ち状態が解除されるまで、
すなわち正しい押鍵があるまで、後述のステップ16B
によってバッファ内に転送された押鍵指示データに基い
て押鍵指示が行われるようになる。 ステップ169:ウェイトデュレーションレジスタWD
Tに『11』をセットする。これによって、ステップ1
5A(図17)の繰り返し再生処理は16分音符長程度
経過してから実際の動作を行うようになる。
リアする。 ステップ16B:読み出したキーオンデータ(指示キー
コードレジスタKCに格納されているキーコードに対応
するもの)以降のキーオンデータ(読み出しキーオンデ
ータも含む)であって、そのフレーズの区切り(フレー
ズデータ)までに存在するキーオンデータとデュレーシ
ョンデータのセットの全てをバッファに転送記憶する。
そして、記憶されたデータの最後にエンドデータを書き
込み、バッファポインタをバッファの先頭から2番目の
キーオンデータのアドレスにセットして図15のステッ
プ151にリターンする。
待ち状態であると判定されたので、ここでは、バッファ
内のデータに対応した図17のような繰り返し再生処理
を行う。図17はこの繰り返し再生処理の詳細を示す図
である。この繰り返し再生処理はつぎのようなステップ
で順番に実行される。 ステップ171:ウェイトデュレーションレジスタWD
Tの値が『0』以下かどうかを判定し、『0』以下(Y
ES)の場合はステップ173に進み、『0』よりも大
きい(NO)場合はステップ172に進む。 ステップ172:前ステップ171でウェイトデュレー
ションレジスタWDTの値が『0』より大きいと判定さ
れたので、ここでは、そのウェイトデュレーションレジ
スタWDTの値を『1』だけデクリメント処理して、図
15のステップ159に進む。
イトデュレーションレジスタWDTの値が『0』以下で
あると判定されたので、ここでは、バッファポインタが
指す読み出しアドレスからデータを読み出す。 ステップ174:前ステップ173で読み出されたデー
タがエンドデータかどうかを判定し、エンドデータ(Y
ES)の場合はステップ175に進み、それ以外のデー
タ(NO)の場合はステップ176に進む。 ステップ175:読み出されたデータがエンドデータだ
と前ステップ174で判定されたので、ここでは、次回
の繰り返し再生処理に備えてバッファポインタをバッフ
ァの先頭アドレスにセットし、図15のステップ159
に進む。 ステップ176:バッファポインタを次のデータの読み
出しアドレスにセットする。すなわち、読み出されたデ
ータがキーオンデータの場合にはポインタを4つ進め、
デュレーションデータの場合にはポインタを2つ進め
る。
ュレーションデータかどうかの判定を行い、デュレーシ
ョンデータ(YES)の場合はステップ178に進み、
キーオンデータ(NO)の場合はステップ179に進
む。 ステップ178:読み出されたデータがデュレーション
データだと前ステップ177で判定されたので、そのデ
ュレーションタイムをウェイトデュレーションレジスタ
WDTに格納し、図15のステップ159に進む。 ステップ179:読み出されたキーオンデータのキーコ
ードを指示キーコードレジスタKCに、ゲートタイムを
指示ゲートタイムレジスタGGTに、そして定数(小)
をベロシティレジスタVLに、それぞれ格納する。ベロ
シティレジスタVLに格納される定数(小)は、前記ス
テップ161の処理と同じように、LEDによる押鍵指
示と同時にその指示された鍵に対応した音高の楽音を発
音するときの所定音量を決定する値であり、操作者が聞
き取ることができる程度の小さな値である。
たキーオンデータに基づいた発音処理を行うために、こ
こでは音源のチャンネルの中から発音可能なチャンネル
を割り当て、そのチャンネル番号をチャンネルレジスタ
CHに格納する。 ステップ17B:キーオン信号、指示キーコードレジス
タKC内のキーコード、指示ベロシティレジスタVL内
のベロシティ、音色レジスタTC(TR)内の音色及び
チャンネルレジスタCH内のチャンネル番号を音源回路
9に出力し、バッファから読み出されたキーオンデータ
に基づいた楽音発音による押鍵指示を行う。 ステップ17C:指示キーコードレジスタKCに格納さ
れているキーコードに対応するLEDを点灯する。な
お、対応するLEDが既に点灯しているときはそのLE
Dを点滅させる。これによって、バッファから読み出さ
れたキーオンデータに基いたLED発光による押鍵指示
か行われる。 ステップ17D:ゲートタイムレジスタGTT(CH)
に指示ゲートタイムレジスタGGT内のゲートタイムを
格納し、キーコードレジスタKCD(CH)に指示キー
コードレジスタKC内のキーコードをそれぞれ格納し、
ステップ173にリターンする。
に『0』をセットする。 ステップ14A:チャンネルレジスタCHに格納されて
いるチャンネル番号に対応するゲートタイムレジスタG
GT(CH)の値が『0』以下かどうかを判定し、
『0』以下(YES)の場合はステップ14Cに進み、
『0』よりも大きい(NO)場合はステップ14Bに進
む。 ステップ14B:前ステップ14Aでゲートタイムレジ
スタGGT(CH)の値が『0』より大きいと判定され
たので、ここでは、そのゲートタイムレジスタGGT
(CH)の値を『1』だけデクリメント処理して、ステ
ップ14Fに進む。
に格納されているチャンネル番号に対応するチャンネル
は自動演奏用として現在使用中かどうかを判定し、使用
中(YES)の場合はステップ14Dに進み、使用中で
ない場合はステップ14Fに進む。 ステップ14D:チャンネルレジスタCHに格納されて
いるチャンネル番号とキーオフ信号とを音源回路9に出
力する。これによって、音源回路9は現在発音中のチャ
ンネルの発音を停止する。 ステップ14E:キーコードレジスタKCD(CH)に
格納されているキーコードに対応するLEDが点滅して
いるときは、そのLEDを点灯にする。 ステップ14F:チャンネルレジスタCHの値を『1』
だけインクリメント処理し、次のチャンネルに対して同
様の処理を繰り返す。 ステップ14G:チャンネルレジスタCHの値が『1
6』であるかどうかを判定し、『16』(YES)の場
合はリターンして次の割り込みタイミングまで待機し、
『16』以外(NO)の場合は全チャンネルに対して同
様の処理を繰り返すためにステップ14Aにリターンす
る。
タがどのように分割されるのか、その動作について説明
する。ここでは、図18(A)の楽譜例に対応した図1
のような演奏データをフレーズ分割する場合について説
明する。ここで、図18の鍵盤上に示されるC4〜E5
の英数字はその鍵のキーコードである。図1の演奏デー
タではこれらのキーコードがキーナンバ(数値データ)
として記憶してある。例えば、キーコード『ファ(F
4)』はキーナンバで『65』、『ソ(G4)』は『6
7』、『ラ(A4)』は『69』、『ド(C5)』は
『72』、『レ(D5)』は『74』、『ミ(E5)』
は『76』である。
タTRに『0』がセットされ、ステップ8HでNOと判
定されるまで右手の押鍵に関する演奏データを記憶して
いるトラックに対してフレーズ分割処理(ステップ82
〜ステップ8G)が行われる。ステップ82では図1の
演奏データの中のデュレーションデータの平均値が求め
られる。デュレーションデータは『24』が4つ、『4
8』が2つであるから、その平均値は『32』である。
そして、ステップ82の所定係数を1/2とすると、し
きい値は『16』となり、この値がしきい値レジスタT
HRSHに格納される。
ップ86及びステップ87の処理が行われる。ステップ
86では図1の最初のキーオンデータすなわち『ファ
(F4=65)』に関するデータが読み出され、ステッ
プ87でポインタが次のデュレーションデータにセット
される。そして、ステップ88〜ステップ8Aを経てス
テップ8Bの処理が行われる。ステップ8Bではキーオ
ンデータ『ファ(F4=65)』のゲートタイム『1
7』が最新ゲートタイムレジスタGTに格納される。こ
の時点では、最大ゲートタイムレジスタGTMは『0』
なので、ステップ8Dの処理によって最新ゲートタイム
レジスタGTの値『17』が最大ゲートタイムレジスタ
GTMに格納される。
は『0』なので、ステップ85を経て、再びステップ8
6及びステップ87の処理が行われる。ステップ86で
は、今度はデュレーションタイム『24』が読み出さ
れ、ステップ87でポインタが次のキーオンデータ『ソ
(G4=67)』にセットされる。そして、ステップ8
8及びステップ89の処理を経て、ステップ8Eの処理
が行われる。ステップ8Eではデュレーションタイムレ
ジスタDTMに『24』が格納される。
Mの値は『24』なので、ステップ85でNOと判定さ
れ、ステップ8Fのキーオフ分割処理が行われる。ステ
ップ91ではデュレーションタイムレジスタDTMと最
大ゲートタイムレジスタGTMが共にデクリメント処理
され、デュレーションタイムレジスタDTMは『23』
に、最大ゲートタイムレジスタGTMは『16』にな
る。従って、これ以降は最大ゲートタイムレジスタGT
Mの値が負の値になるか、又はデュレーションタイムレ
ジスタDTMの値が0以下になるまでの間、ステップ9
1のデクリメント処理が繰り返される。デクリメント処
理の結果、デュレーションタイムレジスタDTMの値が
『6』、最大ゲートタイムレジスタGTMの値が『−
1』になると、ステップ92でYESと判定され、ステ
ップ93でキーオフ計時レジスタKOFFがインクリメ
ント処理される。この時点ではキーオフ計時レジスタK
OFFは『1』である。
6』なので、この時点ではステップ94でNOと判定さ
れる。従って、これ以降はデュレーションタイムレジス
タDTMの値が0以下になるか、又はキーオフ計時レジ
スタKOFFの値がしきい値『16』よりも大きくなる
までの間、ステップ91のデクリメント処理及びステッ
プ93のインクリメント処理が繰り返される。デクリメ
ント処理の結果、デュレーションタイムレジスタDTM
の値が『0』、キーオフ計時レジスタKOFFの値が
『7』になるので、ステップ94でYESと判定される
よりも先にステップ85でYESと判定され、ステップ
86の処理が行われる。ステップ86では今度は図1の
2番目のキーオンデータすなわち『ソ(G4=67)』
に関するデータが読み出される。そして、ステップ8B
でキーオンデータ『ソ(G4=67)』のゲートタイム
『17』が最新ゲートタイムレジスタGTに格納され
る。この時点では、最大ゲートタイムレジスタGTMは
『−7』なので、ステップ8Dの処理によって最新ゲー
トタイムレジスタGTの値『17』が最大ゲートタイム
レジスタGTMに格納される。
は『0』なので、ステップ85を経て、ステップ86及
びステップ87の処理が行われる。ステップ86では、
今度は2番目のデュレーションタイム『24』が読み出
される。ステップ87ではポインタが次のキーオンデー
タ『ラ(A4=69)』にセットされる。そして、ステ
ップ88及びステップ89の処理を経て、ステップ8E
の処理が行われる。ステップ8Eではデュレーションタ
イムレジスタDTMに『24』が格納される。
が『24』、最大ゲートタイムレジスタGTMの値が
『17』なので、前述と同様にステップ91のデクリメ
ント処理が繰り返し実行され、最大ゲートタイムレジス
タGTMの値が負になった後はステップ91のデクリメ
ント処理とステップ93のインクリメント処理が繰り返
し実行される。そして、デュレーションタイムレジスタ
DTMの値が『0』、キーオフ計時レジスタKOFFの
値が『7』となるので、ステップ85でYESと判定さ
れ、ステップ86で図1の3番目のキーオンデータすな
わち『ラ(A4=69)』に関するデータが読み出され
る。そして、ステップ8Bではキーオンデータ『ラ(A
4=69)』のゲートタイム『17』が最新ゲートタイ
ムレジスタGTに格納される。ステップ8Dでは最新ゲ
ートタイムレジスタGTの値『17』が最大ゲートタイ
ムレジスタGTMに格納される。
は『0』なので、ステップ85を経て、ステップ86及
びステップ87の処理が行われる。ステップ86では、
今度は3番目のデュレーションタイム『48』が読み出
される。そして、ステップ87ではポインタが次のキー
オンデータ『ド(C5=72)』にセットされ、ステッ
プ8EではデュレーションタイムレジスタDTMに『4
8』が格納される。デュレーションタイムレジスタDT
Mの値が『48』、最大ゲートタイムレジスタGTMの
値が『17』なので、前述と同様にステップ91のデク
リメント処理が繰り返し実行される。そして、デュレー
ションタイムレジスタDTMの値が『30』、最大ゲー
トタイムレジスタGTMの値が『−1』になった後はス
テップ91のデクリメント処理とステップ93のインク
リメント処理が繰り返し実行される。そして、デクリメ
ント処理の結果、デュレーションタイムレジスタDTM
の値が『14』、キーオフ計時レジスタKOFFの値が
『17』となり、ステップ94でYESと判定され、ス
テップ95〜ステップ99の処理が行われる。
データ『ド(C5=72)』なので、ステップ95では
NOと判定される。ポインタの指すデータの直前のデー
タは3番目のキーオンデータ『ラ(A4=69)』であ
り、フレーズデータではないので、ステップ96ではN
Oと判定される。このトラック番号TR=0の先頭から
現ポインタの指すデータの直前までのキーオンデータの
キーコードは3種類なので、ステップ97でYESと判
定される。従って、ステップ98の処理によって、ポイ
ンタの指す4番目のキーオンデータ『ド(C5=7
2)』の直前に図1のようにフレーズデータが挿入され
る。そして、ステップ99(図8)のフレーズ細分割処
理が行われる。なお、この細分割処理によってはフレー
ズ分割は行われることなく、次のフレーズ挿入に備えて
ステップ104でキーオフ計時レジスタKOFFが
『0』にリセットされる。そして、エンドデータが読み
出されるまで、前述と同じ処理が繰り返し実行され、所
定の位置にフレーズデータが挿入される。そして、エン
ドデータが読み出されると、ステップ88でYESと判
定され、ステップ8Jによってトラック番号レジスタT
Rに『1』がセットされ、今度はステップ82〜ステッ
プ8Gの処理がトラック番号『1』に対して行われる。
このようにして、この実施例では演奏データを読出し、
所定のフレーズに分割している。なお、この実施例では
ステップ82で乗算される所定係数を適当な値に設定す
ることによって、最適なフレーズ分割を行うことができ
る。
ータを押鍵指示機能を備えた電子楽器がどのように押鍵
指示するのか、以下図面を用いて説明する。図18は、
ガイドモードレジスタGMODが『1』の場合、すなわ
ちLED発光だけによる押鍵指示を行い、正しい押鍵が
あるまで停止状態を維持する停止押鍵指示方式の動作例
を示す図である。まず、電子楽器が停止押鍵指示方式、
すなわちLED発光だけによる押鍵指示を行う図18は
図2の押鍵指示機能を備えた電子楽器が停止押鍵指示方
式(GMOD=1)の場合に、どのようにLEDを発光
させて押鍵指示を行うのか、その動作例を模式的に示し
た図である。図18(A)は図1の演奏データに基づく
楽譜例を示す図であり、図18(B)〜(E)は図1の
演奏データが図3のステップ3B(図6)のフレーズ分
割処理によって分割され、鍵盤11の上側近傍に設けら
れたLED群12を発光させることによって押鍵指示す
る様子を時系列的に示す図である。LEDの発光状態は
図18(B)から図18(E)の順番で変化する。な
お、図では発光しているLEDを黒塗り円で、発光して
いないLEDを白塗り円で、点滅しているLEDを編目
円でそれぞれ示している。
(F4)』、『ソ(G4)』、『ラ(A4)』、『ド
(C5)』、『レ(D5)』、『ミ(E5)』の順番で
押鍵することとなる。まず、ロードスイッチが操作され
ると、図3のステップ3Aによって、図1のような演奏
データがディスク14から読み出され演奏情報メモリ4
に書き込まれる。そして、図3のステップ3B(図8)
のフレーズ分割処理によって、図1のように『ラ(A4
=69)』と『ド(C5=72)』との間にフレーズコ
ードが挿入される。なお、図3のステップ3Dによって
モード番号レジスタMODの値は『1』、『2』、
『3』のいずれかにセットされているものとする。
タート/ストップスイッチを操作することによって、図
4のステップ4A(図7)の押鍵指示及び自動演奏スタ
ート処理が行われる。このとき、図1で新たに挿入され
たフレーズコードより前のものが最初のフレーズに対応
するので、図7のステップ79によって最初のフレーズ
を構成する3個のキーオンデータすなわち『ファ(F4
=65)』、『ソ(G4=67)』及び『ラ(A4=6
9)』に対応する3個のLEDが点灯する。
に図11の割り込み処理Iが最初に行われた場合のLE
D12の点灯状態を示す。図11の割り込み処理では、
図4のステップ47によって走行状態フラグRUNに
『1』が設定され、図7のステップ73によって待ち状
態は既に解除(待ち状態フラグWAITに『0』が設
定)されているので、ステップ111でYES、ステッ
プ112でNOと判定され、ステップ113(図12)
の再生処理が行われる。
経て、ステップ122でYESと判定される。そして、
ステップ123で図1の最初のキーオンデータすなわち
『ファ(F4=65)』に関するデータが読み出され、
ステップ125〜ステップ127を経てステップ129
(図13)のデータ処理が行われる。図13のデータ処
理では、図12のステップ121でトラック番号レジス
タTRに『0』が既に設定されており、モード番号レジ
スタMODの値も『1』、『2』、『3』のいずれかに
セットされているので、ステップ131及びステップ1
32を経て、ステップ133及びステップ134の処理
が行われる。ステップ133及びステップ134では、
キーコードレジスタKC及び発音キーコードリストにキ
ーオンデータ『ファ(F4=65)』の『F4=65』
が新たに格納される。
ズの最初のデータなので、ステップ135ではNOと判
定され、ステップ137及びステップ138の処理が行
われる。このステップ137の処理によってキーコード
レジスタKCの格納値である『ファ(F4=65)』に
対応するLEDが図18(B)のように点滅される。そ
して、ステップ138の処理によって待ち状態フラグW
AITに『1』がセットされ、待ち状態となる。従っ
て、これ以降は図4(図3のステップ36又は図11の
ステップ114)の比較進行処理の中のステップ45の
処理によって待ち状態が解除されるまで、図11の割り
込み処理のステップ112でYESと判定され、直ちに
リターンするようになるので、実質的な割り込み処理は
行われなくなる。
タ処理が終了すると、ステップ122を経て、ステップ
123が処理される。今度は、このステップ123では
図1の『ファ(F4=65)』に関するキーオンデータ
の次のデュレーションデータが読み出されるので、ステ
ップ127でYESと判定され、ステップ128の処理
が行われる。ステップ128では、図1の最初のデュレ
ーションタイム『24』がタイミングカウンタTM
(0)に格納される。そして、ステップ12Aではトラ
ック番号レジスタTRの値が『1』だけインクリメント
されるので、これ以降はトラック番号レジスタTRの
『1』〜『8』のトラックに対して前述と同様の再生処
理が繰り返し行われ、ステップ12Aによってトラック
番号レジスタTRの値が『9』になった時点で、図11
のステップ114以降の処理が行われる。
では、図13のステップ138によって待ち状態にセッ
トされているので、ステップ51及びステップ52でY
ESと判定され、次のステップ53の処理が行われる。
この実施例では、押鍵指示後(すなわちLED点滅後)
に演奏者の押鍵が行われるものとして説明するので、こ
のステップ114の時点では、未だ演奏者の押鍵は無
い。従って、ステップ53ではNOと判定され、ステッ
プ115以降でトラック番号TRが『0』、『1』以外
のトラックから読み出された演奏データに対する処理が
チャンネル番号CH=『0』〜『15』の16チャンネ
ルに対して行われる。
キーコードレジスタKCの格納値である『ファ(F4=
65)』に対応するLEDが図18(B)のように点滅
した後に、演奏者が点滅している鍵を押鍵すると、図3
のメインルーチンのステップ33でYESと判定されて
ステップ35でその押鍵に対する発音処理が行われる。
そして、ステップ36を経てステップ37で図5の比較
進行処理Iが行われる。この比較進行処理Iでは、ステ
ップ51及びステップ52でYESと判定され、ステッ
プ53の処理が行われる。ステップ53の処理時点で
は、発音キーコードリストに格納されているのはキーオ
ンデータ『ファ(F4=65)』の『F4=65』だけ
なので、YESと判定され、ステップ54〜ステップ5
6の処理が行われる。すなわち、点滅していた『ファ
(F4=65)』に対応するLEDが点灯状態となり、
待ち状態フラグWAITに『0』が設定されて待ち状態
は解除され、発音キーコードリストもクリアされる。
テップ113以降の割り込み処理が実行されるようにな
る。今度は図12の再生処理のステップ123では2番
目のキーオンデータすなわち『ソ(G4=67)』に関
するデータが読み出される。そして、図13のデータ処
理では、ステップ133及びステップ134の処理によ
って、キーコードレジスタKC及び発音キーコードリス
トにキーオンデータ『ソ(G4=67)』の『G4=6
7』が新たに格納される。
レーズの中間に位置するデータなので、ステップ135
でNOと判定され、ステップ137の処理によって『ソ
(G4=67)』に対応するLEDが図18(C)のよ
うに点滅し、ステップ138の処理によって待ち状態フ
ラグWAITに『1』がセットされる。図12のステッ
プ123の処理によって、図1の『ソ(G4=67)』
に関するキーオンデータの次のデュレーションデータが
読み出され、ステップ128の処理によって、デュレー
ションタイム『24』がタイミングカウンタTM(0)
に格納される。そして、ステップ12Aでトラック番号
レジスタTRの値が『1』だけインクリメントされ、こ
れ以降はトラック番号レジスタTRの『1』〜『8』の
トラックに対して前述と同様の再生処理が繰り返し行わ
れ、ステップ12Aによってトラック番号レジスタTR
の値が『9』になった時点で、図11のステップ114
以降の処理が行われる。
=67)』に対応するLEDの点滅している鍵が押鍵さ
れると、図3のステップ35の発音処理及びステップ3
7の比較進行処理Iが行われる。点滅していた『ソ(G
4=67)』に対応するLEDが点灯状態となり、待ち
状態フラグWAITに『0』が設定されて待ち状態は解
除され、発音キーコードリストもクリアされる。
テップ113以降の割り込み処理が再び実行されるよう
になる。今度は図12の再生処理のステップ123では
図1の3番目のキーオンデータすなわち『ラ(A4=6
9)』に関するデータが読み出される。そして、図13
のデータ処理では、ステップ133及びステップ134
の処理によって、キーコードレジスタKC及び発音キー
コードリストにキーオンデータ『ラ(A4=69)』の
『A4=69』が新たに格納される。
ーズの最後に位置するデータであり、次フレーズが存在
するので、ステップ135でYESと判定され、ステッ
プ136が処理される。ステップ136の処理によって
次フレーズを構成する3個のキーオンデータすなわち
『ド(C5=72)』、『レ(D5=74)』及び『ミ
(E5=76)』に対応する3個のLEDが点灯する。
ステップ137の処理によって『ラ(A4=69)』に
対応するLEDが点滅し、図18(D)のようになる。
そして、ステップ138の処理によって待ち状態フラグ
WAITに『1』がセットされる。図12のステップ1
23の処理によって、図1の『ラ(A4=69)』に関
するキーオンデータの次のデュレーションデータが読み
出され、ステップ128の処理によって、デュレーショ
ンタイム『48』がタイミングカウンタTM(0)に格
納される。そして、ステップ12Aでトラック番号レジ
スタTRの値が『1』だけインクリメントされ、これ以
降はトラック番号レジスタTRの『1』〜『8』のトラ
ックに対して前述と同様の再生処理が繰り返し行われ、
ステップ12Aによってトラック番号レジスタTRの値
が『9』になった時点で、図11のステップ114以降
の処理が行われる。
9)』に対応するLEDが図18(D)のように点滅し
ているので、その鍵が押鍵されると、図3のステップ3
5の発音処理及びステップ37の比較進行処理Iが行わ
れる。点滅していた『ラ(A4=69)』に対応するL
EDが点灯状態となり、待ち状態フラグWAITに
『0』が設定されて待ち状態は解除され、発音キーコー
ドリストもクリアされる。
テップ113以降の割り込み処理が実行されるようにな
る。図12の再生処理のステップ123では図1のフレ
ーズデータが読み出される。そして、ステップ129
(図13)のデータ処理では、ステップ131でNOと
判定され、ステップ13C及びステップ13DでYES
と判定され、ステップ13Eが処理される。ステップ1
3Eの処理によって前フレーズの押鍵音に対応する3個
のキーオンデータすなわち『ファ(F4=65)』、
『ソ(G4=67)』及び『ラ(A4=69)』に対応
する3個のLEDが消灯する。そして、次の割り込みタ
イミングで図11のステップ113以降の割り込み処理
が実行され、ステップ123で第2フレーズの最初のキ
ーオンデータすなわち『ド(C5=72)』に関するデ
ータが読み出される。図13のデータ処理では、ステッ
プ133及びステップ134の処理によって、キーコー
ドレジスタKC及び発音キーコードリストにキーオンデ
ータ『ド(C5=72)』の『C5=72』が新たに格
納される。
レーズの最初に位置するデータなので、ステップ135
でNOと判定され、ステップ137の処理によって『ド
(C5=72)』に対応するLEDが図18(E)のよ
うに点滅するようになり、これ以降は前述と同様の処理
が繰り返し実行され、『レ(D5=74)』及び『ミ
(E5=76)』に対応するLEDが順番に点滅するよ
うになる。
が『0』の場合、すわなちLED発光及び楽音発音の両
方による押鍵指示を誤押鍵が発生した時点から正しい押
鍵があるまで繰り返し行うという繰り返し押鍵指示方式
の動作例を示す図である。なお、図19の楽譜例は図1
8の楽譜例とは異なるものである。図20は図19の楽
譜例に対応した演奏データの例を示す図である。
く図20の演奏データに対応した正しい演奏操作をした
場合における電子楽器の動作の流れを示す図である。図
19(C)〜図19(F)は操作者が誤押鍵した場合に
おける電子楽器の動作の流れを時系列的に示す図であ
る。図21は操作者が誤押鍵した場合に電子楽器がLE
Dをどのように発光させて押鍵指示を行うのか、その動
作例を模式的に示す図であり、図19(C)〜(F)の
動作の流れに対応した発光の様子を時系列的に示してい
る。LEDの発光状態は図21(A)から図21(U)
の順番で変化する。また、図では発光しているLEDを
黒塗り円で、発光していないLEDを白塗り円で、点滅
しているLEDを編目円でそれぞれ示している。
(F4)』、『ソ(G4)』、『ラ(A4)』、『ド
(C5)』、『レ(D5)』、『ミ(E5)』の順番で
押鍵することとなる。なお、以下の説明ではトラック番
号『0』のトラックについてだけ説明し、トラック番号
『1』のトラックについの説明は省略する。まず、ロー
ドスイッチが操作されると、図3のステップ3Aによっ
て、図20のような演奏データがディスク14から読み
出され演奏情報メモリ4に書き込まれる。そして、図3
のステップ3B(図8)のフレーズ分割処理によって、
4分休符の直前のキーオンデータ『ド(C4=60)』
の後、すなわち図20のように7番目のキーオンデータ
『ド(C4=60)』と8番目のキーオンデータ『ミ
(E4=64)』との間にフレーズコードが挿入され
る。なお、図3のステップ3Dによってモード番号レジ
スタMODの値は『1』、『2』、『3』のいずれかに
セットされているものとする。
タート/ストップスイッチを操作することによって、図
4のステップ4A(図7)の押鍵指示及び自動演奏スタ
ート処理が行われる。この自動演奏スタート処理によっ
て、待ち状態が解除され、デュレーションタイムレジス
タDL(L)が『0』にリセットされる。その後、図1
9(B)のようにLED発光及び楽音発音の両方による
押鍵指示とトラック2〜8の演奏データによる自動伴奏
が順次行われるようになる。
14のステップ141、ステップ142、ステップ14
5、ステップ146を経てステップ147が処理され
る。ステップ147では、トラック2〜8の演奏データ
が読み出されて自動伴奏が行われる。そして、ステップ
148(図15)の押鍵指示処理が行われる。この押鍵
指示処理では、ステップ151、ステップ152を経て
ステップ153が処理される。このステップ153では
トラック0の読み出しポインタが指す1番目のキーオン
データが読み出される。従って、ステップ155〜ステ
ップ157を経てステップ15B(図16)のキーオン
データ再生処理が行われる。
のキーコード『ド(C4=60)』が指示キーコードレ
ジスタKCに、ゲートタイム『34』がゲートタイムレ
ジスタGGTに、所定定数(小)がベロシティレジスタ
VLにそれぞれ格納される。この時点では未だ押鍵され
ていないので、ステップ162でNOと判定され、ステ
ップ164〜ステップ16Bの一連の処理が行われる。
この一連の処理において、ステップ164〜ステップ1
67ではLED発光だけによる押鍵指示又はLED発光
と楽音発音の両方による押鍵指示が行われる。ステップ
168で待ち状態にセットされる。ステップ169でウ
ェイトデュレーションレジスタWDTに『11』が格納
される。ステップ16A及びステップ16Bで図20の
1番目からフレーズコードの直前の7番目のキーオンデ
ータがバッファに記憶され、バッファの最後にエンドデ
ータか書き込まれ、バッファポインタが2番目のキーオ
ンデータ『ミ(E4=64)』にセットされる。そし
て、ステップ151にリターンした時点で今度はYES
と判定され、ステップ15Cの繰り返し再生処理が行わ
れる。
71ではNOと判定され、ステップ172を経て図14
のステップ149以降の処理が行われるようになる。何
故なら、図16のステップ169でウェイトデュレーシ
ョンレジスタWDTに『11』が格納されているからで
ある。従って、このウェイトデュレーションレジスタW
DTの格納値が『0』になるまでの時間、すなわち割り
込みタイミングで12回分(8分音符長)に相当する時
間だけ、操作者が押鍵するまで待機することとなる。
Tの格納値に相当する待機時間中に正しい押鍵があった
場合には、図6の比較進行処理IIによって、その押鍵さ
れたキーコードが演奏キーコードレジスタPKCに格納
され、クロックレジスタCLKが『0』にリセットされ
る。そして、ステップ62〜ステップ64を経て、ステ
ップ65〜ステップ67の処理が行われる。但し、ステ
ップ65の処理によって点灯中のLEDは消灯され、ス
テップ66の処理によって演奏キーコードレジスタPK
Cはクリアされ、ステップ67の処理によって待ち状態
が解除される。
タWDTの格納値に相当する待機時間を経過した場合に
は、誤押鍵と判断され、後述するような誤押鍵と同様の
処理が実行される。すなわち、ステップ171でYES
と判定され、ステップ173以降の処理が行われるよう
になり、LED発光と楽音発音の両方による押鍵指示が
バッファ内の演奏データに基いて行われるようになる。
但し、この押鍵指示の間はステップ147の自動伴奏も
行われない。
ンデータに対しては正しい押鍵が行われ、図19(A)
に示すように操作者が3番目のキーオンデータ『ソ(G
4=67)』の押鍵を誤った場合について説明する。こ
の場合には、押鍵指示後、所定時間中(ウェイトデュレ
ーションレジスタWDTの格納値に相当する待機時間
中)に正しい押鍵があったと仮定する。すなわち、1番
目のキーオンデータに対応して前述のような押鍵指示処
理が行われることによって、図21(A)のようにLE
Dが点灯する。その後に、点灯中のLEDに対応する鍵
(1番目のキーオンデータに対応する鍵)が正しく押鍵
されることによって、そのLEDは消灯する。そして、
2番目のキーオンデータに対応して同様に押鍵指示処理
が行われることによって、今度は図21(B)のように
LEDが点灯する。その後に、点灯中のLEDに対応す
る鍵(2番目のキーオンデータに対応する鍵)が正しく
押鍵されることによって、そのLEDは消灯する。
て押鍵指示処理が行われる。ところが、この3番目のキ
ーオンデータに対応する押鍵指示(図21(C)のよう
なLED発光による押鍵指示)が行われる前にそのキー
オンデータとは異なる鍵が押鍵された場合や、押鍵指示
が行われた後に異なる鍵が押鍵されたり、又は何も押鍵
されなかた場合には、図19(C)〜(E)のようなL
ED発光と楽音発音の両方による押鍵指示がバッファ内
の演奏データに基いて行われるようになる。すなわち、
押鍵指示前に誤押鍵された場合には、図6のステップ6
3でNOと判定されてから、図16のキーオンデータ再
生処理のステップ164〜ステップ16Bの処理が行わ
れる。また、押鍵指示後に誤押鍵された場合には、図1
6のキーオンデータ再生処理のステップ164〜ステッ
プ16Bの処理が行われた後に、誤押鍵に対応して図6
のステップ64でNOと判定される。このように、押鍵
指示前に誤押鍵された場合でも押鍵指示後に誤押鍵され
た場合でも図16のステップ164〜ステップ16Bの
処理及び誤押鍵に対応した図6のステップ61の処理が
行われる。
された場合について説明する。前述のように1番目及び
2番目のキーオンデータに対して正しい押鍵があった後
の最初の割り込みタイミングでは、図14のステップ1
41、ステップ142、ステップ145、ステップ14
6を経てステップ147が処理され、トラック2〜8の
演奏データが読み出されて再生される。そして、ステッ
プ148(図15)の押鍵指示処理が行われる。この押
鍵指示処理では、ステップ151、ステップ152を経
てステップ153でトラック0の読み出しポインタが指
す3番目のキーオンデータが読み出される。ステップ1
55でNOと判定され、トラック0の読み出しポインタ
が次の3番目のデュレーションコードの位置にセットさ
れ、ステップ157を経てステップ15B(図16)の
キーオンデータ再生処理が行われる。
のキーコード『ソ(G4=67)』が指示キーコードレ
ジスタKCに、ゲートタイム『24』がゲートタイムレ
ジスタGGTに、所定定数(小)がベロシティレジスタ
VLにそれぞれ格納される。この時点では操作者による
押鍵は未だないので、ステップ162の判定はNOとな
り、ステップ164〜ステップ16Bの一連の処理が行
われる。この一連の処理によって、図21(C)のよう
なLED発光と楽音発音の両方による押鍵指示が行わ
れ、待ち状態にセットされ、ウェイトデュレーションレ
ジスタWDTに『11』が格納され、図20の3番目か
らフレーズコードの直前の7番目までのキーオンデータ
がバッファに記憶される。そして、ステップ151にリ
ターンした時点でYESと判定され、ステップ15Cの
繰り返し再生処理が行われる。
71ではNOと判定され、ステップ172を経て図14
のステップ149以降の処理が行われるようになる。そ
して、このウェイトデュレーションレジスタWDTの格
納値が『0』になるまでの間、すなわち割り込みタイミ
ングで12回分(8分音符長)に相当する時間が経過す
る前に操作者が誤押鍵(指示された鍵と異なる鍵を押
鍵)する。すると、図6の比較進行処理IIによって、そ
の誤押鍵されたキーコードが演奏キーコードレジスタP
KCに格納され、クロックレジスタCLKが『0』にリ
セットされる。そして、ステップ62及びステップ63
を経て、ステップ64でNOと判定される。
4のステップ141、ステップ142、ステップ145
を経て、ステップ146でYESと判定され、ステップ
148(図15)の押鍵指示処理が行われるようにな
る。従って、これ以降は正しい押鍵があるまでステップ
147の自動伴奏は行われない。この押鍵指示処理で
は、ステップ151を経てステップ15Cの繰り返し再
生処理が行われる。この繰り返し再生処理の最初のステ
ップ171ではNOと判定され、ステップ172を経て
図14のステップ149以降の処理が行われる。そし
て、このウェイトデュレーションレジスタWDTの格納
値が『0』になると、ステップ171でYESと判定さ
れ、ステップ173〜ステップ17Dの処理が行われ、
4番目のキーオンデータ『シ(B3=59)』からフレ
ーズコードの直前のキーオンデータ(7番目のキーオン
データ『ド(C4=60)』)までの4つのキーオンデ
ータに対してLED発光と楽音発音の両方による図19
(C)のような押鍵指示が行われるようになる。
(G)のような順序で行われる。すなわち、図21
(D)では3番目のキーオンデータ『ソ(G4=6
7)』に対応するLEDの点灯を維持しながら、4番目
のキーオンデータ『シ(B3=59)』に対応するLE
Dを新たに点灯する。図21(E)では3番目及び4番
目のキーオンデータに対応するLEDの点灯を維持しな
がら、5番目のキーオンデータ『ド(C4=60)』に
対応するLEDを新たに点灯する。図21(F)では3
番目、4番目及び5番目のキーオンデータに対応するL
EDの点灯を維持しながら、6番目のキーオンデータ
『ド(D4=62)』に対応するLEDを新たに点灯す
る。図21(G)では3番目、4番目及び6番目のキー
オンデータに対応するLEDの点灯を維持しながら、7
番目のキーオンデータ『ド(C4=60)』に対応する
LEDを点滅する。なぜなら、7番目のキーオンデータ
に対応するLEDは図21(E)の時点で既に点灯して
いるので、ステップ17Cの処理によって点滅するから
である。
には、今度は誤押鍵されたキーオンデータ(3番目のキ
ーオンデータ『ソ(G4=67)』)からフレーズコー
ドの直前のキーオンデータ(7番目のキーオンデータ
『ド(C4=60)』)までの5つのキーオンデータに
対して図19(D)のような押鍵指示が同じように行わ
れる。図19(D)の押鍵指示は図21(H)〜(L)
のような順序で行われる。すなわち、図21(H)では
4番目〜7番目のキーオンデータに対応するLEDの点
灯を維持しながら、誤押鍵された3番目のキーオンデー
タに対応するLEDを点滅する。図21(I)では3番
目及び5番目〜7番目のキーオンデータに対応するLE
Dの点灯を維持しながら、4番目のキーオンデータに対
応するLEDを点滅する。図21(J)では3番目、4
番目及び6番目のキーオンデータに対応するLEDの点
灯を維持しながら、5番目(7番目)のキーオンデータ
に対応するLEDを点滅する。図21(K)では3番目
〜5番目及び7番目のキーオンデータに対応するLED
の点灯を維持しながら、6番目のキーオンデータに対応
するLEDを点滅する。図21(L)では3番目、4番
目及び6番目のキーオンデータに対応するLEDの点灯
を維持しながら、7番目(5番目)のキーオンデータに
対応するLEDを点滅する。
までは、図19(E)のような押鍵指示処理が3番目の
キーオンデータ『ソ(G4=67)』から正押鍵の発生
時点のキーオンデータ(5番目のキーオンデータ『ド
(C4=60)』)までの3つのキーオンデータに対し
て行われる。すなわち、図19(E)の押鍵指示は図2
1(M)〜(O)のような順序で行われる。図21
(M)〜(O)のLED点灯・点滅処理は図21(H)
〜(L)のものと同じである。そして、図19(E)に
示すような時点で正押鍵が発生すると、それに応じて図
6の比較進行処理IIが行われ、押鍵指示及び伴奏は図1
9(F)のように誤押鍵以前のものと同じようになる。
すなわち、図6の比較進行処理IIでは正押鍵されたキー
コード『ソ(G4=67)』が演奏キーコードレジスタ
PKCに格納され、クロックレジスタCLKが『0』に
リセットされる。そして、ステップ62〜ステップ64
を経てステップ65〜ステップ67の処理が行われる。
ステップ65では同じキーコードのキーオンデータがバ
ッファ内に存在しないので、そのLEDを消灯し、ステ
ップ66で演奏キーコードレジスタPKCをクリアし、
ステップ67で待ち状態を解除してリターンする。この
処理によってLEDの点灯状態は図21(P)のように
なる。
行状態フラグRUNは『1』であり、クロックレジスタ
CLKは『0』であり、待ち状態は解除されているの
で、図14のステップ141、ステップ142、ステッ
プ145及びステップ146を経てステップ147が処
理され、トラック2〜8の演奏データが読み出されて伴
奏が開始される。そして、ステップ148(図15)の
押鍵指示処理が行われる。この押鍵指示処理では、ステ
ップ151、ステップ152を経てステップ153でト
ラック0の読み出しポインタが指す4番目のキーオンデ
ータが読み出される。そして、ステップ155でNOと
判定され、トラック0の読み出しポインタが次の4番目
のデュレーションコードの位置にセットされ、ステップ
157を経てステップ15B(図16)のキーオンデー
タ再生処理が行われる。
のキーコード『シ(B3=59)』が指示キーコードレ
ジスタKCに、ゲートタイム『24』がゲートタイムレ
ジスタGGTに、所定定数(小)がベロシティレジスタ
VLにそれぞれ格納される。この時点では未だ押鍵され
ていないので、ステップ162の判定はNOとなり、ス
テップ164〜ステップ16Bの一連の処理が行われ
る。ステップ167では、4番目のキーオンデータ『シ
(B3=59)』に対応するLEDを点滅する。なぜな
ら、7番目のキーオンデータに対応するLEDは既に点
灯しているからである。この処理によってLEDの点灯
状態は図21(Q)のようになる。
1(R)〜(U)のように点滅したり、消灯しながら、
誤押鍵以前の押鍵指示と同じような押鍵指示を行うよう
になる。すなわち、図21(R)では4番目のキーオン
データに対応するLEDを消灯し、6番目のキーオンデ
ータに対応するLEDの点灯を維持しながら、5番目の
キーオンデータに対応するLEDを点滅する。図21
(S)では7番目のキーオンデータに対応するLEDの
点灯を維持しながら、6番目のキーオンデータに対応す
るLEDを点滅する。図21(T)では6番目のキーオ
ンデータに対応するLEDを消灯し、7番目のキーオン
データに対応するLEDを点滅する。図21(U)では
7番目のキーオンデータに対応するLEDを消灯する。
なお、この一連の処理の間に再び誤押鍵が発生した場合
には、同様の処理が繰り返し行われ。
別の実施例について説明する。前述の実施例では、演奏
情報メモリ4に記憶されている演奏データが通常の自動
演奏データで構成されており、この自動演奏データを解
析してゲートオフ状態の時間が所定値(しきい値)より
も大きい箇所を検出し、そこにフレーズデータを挿入す
る場合について説明したが、今回の実施例では演奏デー
タがキーデータとして押鍵すべき指を示す指番号データ
を合わせて記憶しているので、その演奏データの指使い
を解析し、指くぐり又は指越えの生じる箇所を検出し、
その箇所にフレーズデータを挿入するようにした。すな
わち、今回の実施例では、押鍵指示をフレーズ単位で行
う場合に、鍵盤楽器特有の指使いである指くぐり又は指
越えの生じた時点を一種のフレーズと見なして、そこに
フレーズデータを挿入することによって指使いに即した
形でフレーズ単位の押鍵指示を有効に行うことができる
ようにする。
ている1トラック分(トラック番号TR=0)の演奏デ
ータの別の構成例を示す図であり、図22(A)は図2
3の楽譜例に対応しており、図22(B)はダンパーペ
ダルオフコードの部分だけを抜き出して示したものであ
る。図22(A)及び(B)において、それぞれのキー
データはキーオンコード、キーコード、ベロシティ及び
ゲートタイムの他に押鍵すべき指を示す指番号を有す
る。指番号の『1』は親指、『2』は人指し指、『3』
は中指、『4』は薬指、『5』は小指に対応する。この
実施例では、電子楽器に内蔵されたフレーズ分割装置に
よって、指くぐり又は指越えの生じた時点、すなわち図
22(A)に示すようなデュレーションタイムとキーオ
ンコードとの間にフレーズコードが挿入され、また、こ
の他にダンバーペダルが離された時点(すなわちペダル
オフコードが検出された時点)で図22(B)に示すよ
うにペダルオフコードとデュレーションコードとの間に
フレーズコードが挿入されるようになっている。
同じ構成であり、異なる点は図8のフレーズ分割処理に
代えて図24のフレーズ分割処理IIが行われる点だけで
ある。図24は別の実施例に対応した図3のステップ3
Bのフレーズ分割処理の詳細を示す図である。図24の
フレーズ分割処理IIでは、図3のステップ3Aでディス
ク14から読み出され、演奏情報メモリ4に書き込まれ
た図22に示すような演奏データ(指番号を有するも
の)を、その指使いに基づいてフレーズ単位に分割する
という処理を行う。このフレーズ分割処理は次のような
ステップで順番に実行される。
Rに『0』をセットする。 ステップ242:トラック番号レジスタTRの読出しポ
インタを演奏情報メモリ4の記憶領域の先頭アドレスに
セットする。 ステップ243:トラック番号レジスタTRに対応する
トラックの読み出しポインタが指す演奏データを読み出
す。 ステップ244:次の読出しに備えてトラック番号レジ
スタTRに対応するトラックの読み出しポインタを次の
データの読み出しアドレスにセットする。
出されたデータがキーオンデータかどうかの判定を行
い、キーオンデータ(YES)の場合は次のステップ2
46に進み、それ以外のデータ(NO)の場合はステッ
プ243にリターンする。 ステップ246:前ステップ245でキーオンデータだ
と判定されたので、そのキーオンデータ内のキーコード
を第2キーコードレジスタKC2に、指番号を第2指番
号レジスタFN2にそれぞれ格納する。
Rに対応するトラックの読み出しポインタが指す演奏デ
ータを読み出す。 ステップ248:前ステップ247で読み出されたデー
タがエンドデータかどうかを判定し、エンドデータ(Y
ES)の場合はステップ24Bに進み、それ以外のデー
タ(NO)の場合はステップ249に進む。 ステップ249:前ステップ247で読み出されたデー
タがエンドデータでないと判定されたので、ここでは、
図25に示すような分割処理を行う。図25はこのステ
ップ249の分割処理の詳細を示す図である。この分割
処理は次のようなステップで順番に実行される。 ステップ251:前ステップ247で読み出されたデー
タがキーオンデータかどうかの判定を行い、キーオンデ
ータ(YES)の場合は次のステップ252に進み、そ
れ以外のデータ(NO)の場合はステップ25Aに進
む。 ステップ252:前ステップ251でキーオンデータだ
と判定されたので、第2キーコードレジスタKC2の格
納値を第1キーコードレジスタKC1に、第2指番号レ
ジスタFN2の格納値を第1指番号レジスタFN1にそ
れぞれ格納する。 ステップ253:そのキーオンデータ内のキーコードを
第2キーコードレジスタKC2に、指番号を第2指番号
レジスタFN2にそれぞれ格納する。このステップ25
2及びステップ253の処理によって、第1キーコード
レジスタKC1と第2キーコードレジスタKC2には押
鍵順に従ったキーコードが時系列的に格納され、第1指
番号レジスタFN1と第2指番号レジスタFN2には押
鍵順に従った指番号が時系列的に格納されることとな
る。従って、これ以降はこの第1キーコードレジスタK
C1、第2キーコードレジスタKC2、第1指番号レジ
スタFN1及び第2指番号レジスタFN2の格納値に基
づいてステップ254〜ステップ257で指使いが指く
ぐり又は指越えのいずれかに該当するかどうかの判定を
行う。
Rが『0』であり、第2キーコードレジスタKC2の値
が第1キーコードレジスタKC1の値以上であり、か
つ、第2指番号レジスタFN2の値が第1指番号レジス
タFN1の値よりも小さいかどうかを判定し、全てを満
足する(YES)場合にはステップ258に進み、そう
でない(NO)場合は次のステップ255に進む。すな
わち、このステップでは、右手の押鍵に関して、キーコ
ードの値が前キーコードの値に対して増加したか又は同
じなのに、指番号の値が前指番号よりも小さくなる、い
わゆる右手指くぐりが発生したかどうかを判定する。
Rが『0』であり、第2キーコードレジスタKC2の値
が第1キーコードレジスタKC1の値以下であり、か
つ、第2指番号レジスタFN2の値が第1指番号レジス
タFN1の値よりも大きいかどうかを判定し、全てを満
足する(YES)場合にはステップ258に進み、そう
でない(NO)場合は次のステップ256に進む。すな
わち、このステップでは、右手の押鍵に関して、キーコ
ードの値が前キーコードの値に対して減少したか又は同
じなのに対して、指番号の値が前指番号よりも大きくな
る、いわゆる右手指越えが発生したかどうかを判定す
る。
Rが『1』であり、第2キーコードレジスタKC2の値
が第1キーコードレジスタKC1の値以上であり、か
つ、第2指番号レジスタFN2の値が第1指番号レジス
タFN1の値よりも大きいかどうかを判定し、全てを満
足する(YES)場合にはステップ258に進み、そう
でない(NO)場合は次のステップ257に進む。すな
わち、このステップでは、左手の押鍵に関して、キーコ
ードの値が前キーコードの値に対して増加したか又は同
じなのに、指番号の値が前指番号よりも大きくなる、い
わゆる左手指越えが発生したかどうかを判定する。
Rが『1』であり、第2キーコードレジスタKC2の値
が第1キーコードレジスタKC1の値以下であり、か
つ、第2指番号レジスタFN2の値が第1指番号レジス
タFN1の値よりも小さいかどうかを判定し、全てを満
足する(YES)場合にはステップ258に進み、そう
でない(NO)場合は図24のステップ24Aにリター
ンする。すなわち、このステップでは、左手の押鍵に関
して、キーコードの値が前キーコードの値に対して減少
したか又は同じなのに対して、指番号の値が前指番号よ
りも小さくなる、いわゆる左手指くぐりが発生したかど
うかを判定する。
Rに対応するトラックの読み出しポインタが指す演奏デ
ータの直前はフレーズデータかどうかを判定し、フレー
ズデータである(YES)場合は図24のステップ24
Aにリターンし、これ以外のデータ(NO)の場合は次
のステップ259に進む。すなわち、前ステップ254
〜ステップ257のいずれかによって指使いの指くぐり
又は指越えが生じたと判定されたので、通常であればポ
インタが指すデータの直前にフレーズデータを挿入すれ
ばよいのだか、ポインタが指すデータの直前がフレーズ
データである場合にはフレーズデータを挿入しても無意
味となるので、このステップ258でフレーズデータの
有無を判定している。 ステップ259:トラック番号レジスタTRに対応する
トラックの読み出しポインタが指す演奏データの直前に
フレーズデータを挿入し、図24のステップ24Aにリ
ターンする。
ーオンデータでないと前ステップ251で判定されたの
で、ここでは、そのデータがダンパーペダルオフデータ
かどうかの判定を行い、ダンパーペダルオフデータ(Y
ES)の場合は次のステップ25Bに進み、それ以外の
データ(NO)の場合は図24のステップ24Aにリタ
ーンする。 ステップ25B:トラック番号レジスタTRに対応する
トラックの読み出しポインタが指す演奏データの直前は
フレーズデータかどうかを判定し、フレーズデータであ
る(YES)場合は図24のステップ24Aにリターン
し、これ以外のデータ(NO)の場合は次のステップ2
5Cに進む。すなわち、前ステップ25Aで読み出され
たデータがダンパーペダルオフデータだと判定されたの
で、通常であればポインタが指すデータの直後にフレー
ズデータを挿入すればよいのだか、ポインタが指すデー
タの直前がフレーズデータである場合にはフレーズデー
タを挿入しても無意味となるので、このステップ25B
でフレーズデータの有無を判定している。 ステップ25C:トラック番号レジスタTRに対応する
トラックの読み出しポインタが指す演奏データの直後に
フレーズデータを挿入し、図24のステップ24Aにリ
ターンする。
ック番号レジスタTRに対応するトラックの読み出しポ
インタを次のデータの読み出しアドレスにセットし、ス
テップ247にリターンする。 ステップ24B:トラック番号レジスタTRが『1』か
どうかを判定し、『1』(YES)の場合は図3のステ
ップ3Cにリターンし、『0』(NO)の場合はステッ
プ24Cに進む。 ステップ24C:このフレーズ分割処理においてはステ
ップ241でトラック番号レジスタTRに『0』がセッ
トされるので、前ステップ24BでNOと判定されたと
いうことはトラック番号レジスタTRが『0』なので、
ここでは、トラック番号レジスタTRに『1』をセット
し、左手に関する演奏データに対して同様のフレーズ分
割処理を行うためにステップ242にリターンする。こ
れによって、ステップ242〜ステップ24Aの処理が
トラック番号『1』に対して実行されるようになる。
ータがどのように分割されるのか、その動作について説
明する。ここでは、図23の楽譜例に対応した図22の
演奏データがフレーズ分割される場合について説明す
る。まず、ステップ241でトラック番号レジスタTR
に『0』がセットされ、ステップ24BでNOと判定さ
れるまで右手の押鍵に関する演奏データを記憶している
トラックに対してフレーズ分割処理(ステップ242〜
ステップ24A)が行われる。ステップ242ではポイ
ンタが図22(A)の最初のキーオンデータのアドレス
にセットされる。ステップ243では図22(A)の最
初のキーオンデータすなわち『ファ(F4=65)』に
関するデータが読み出される。ステップ244ではポイ
ンタが次のデュレーションデータにセットされる。ステ
ップ243で読み出されたデータは、キーオンデータな
ので、次のステップ246の処理が行われる。ステップ
246ではキーオンデータ『ファ(F4=65)』のキ
ーコード『65』が第2キーコードレジスタKC2に、
指番号『1』が第2指番号レジスタFN2にそれぞれ格
納される。
『24』が読み出されるので、ステップ248、ステッ
プ251及びステップ25AでNOと判定され、ステッ
プ24Aで次のキーオンデータにポインタがセットさ
れ、ステップ247でキーオンデータ『ソ(G4=6
7)』に関するデータが読み出される。従って、ステッ
プ248及びステップ251の処理を経て、ステップ2
52及びステップ253の処理が行われる。ステップ2
52では第2キーコードレジスタKC2のキーコード
『65』が第1キーコードレジスタKC1に、第2指番
号レジスタFN2の指番号『1』が第1指番号レジスタ
FN1にそれぞれ格納され、ステップ253ではキーオ
ンデータ『ソ(G4=67)』のキーコード『67』が
第2キーコードレジスタKC2に、指番号『2』が第2
指番号レジスタFN2にそれぞれ格納される。この時点
で、各レジスタの関係はTR=0、KC2≧KC1、F
N2>FN1となるので、ステップ254〜ステップ2
57でNOと判定され、ステップ24Aの処理を経て、
再びステップ247にリターンする。以下、ステップ2
47でキーオンデータ『ド(C5=72)』に関するデ
ータが読み出されるまで前述と同様の処理が繰り返し実
行される。
に関するデータが読み出されると、ステップ248及び
ステップ251の処理を経て、ステップ252及びステ
ップ253の処理が行われる。ステップ252では第2
キーコードレジスタKC2のキーコード『71』が第1
キーコードレジスタKC1に、第2指番号レジスタFN
2の指番号『4』が第1指番号レジスタFN1にそれぞ
れ格納され、ステップ253ではキーオンデータ『ド
(C5=72)』のキーコード『72』が第2キーコー
ドレジスタKC2に、指番号『1』が第2指番号レジス
タFN2にそれぞれ格納される。この時点で、各レジス
タの関係はTR=0、KC2≧KC1、FN2<FN1
となるので、ステップ254でYESと判定される。ポ
インタの指すデータの直前のデータはデュレーションデ
ータであり、フレーズデータではないので、ステップ2
58ではNOと判定される。そして、ステップ259の
処理によって、ポインタの指す5番目のキーオンデータ
『ド(C5=72)』の直前に図22(A)のようにフ
レーズデータが挿入され、エンドデータが読み出される
まで、前述と同じ処理が繰り返し実行され、所定の位置
にフレーズデータが挿入される。そして、エンドデータ
が読み出されると、ステップ248でYESと判定さ
れ、ステップ24Cによってトラック番号レジスタTR
に『1』がセットされ、今度はステップ242〜ステッ
プ24Aの処理がトラック番号『1』に対して行われ
る。
パーペダルのオフを示す図22(B)のペダルオフコー
ドがステップ247の処理によって読み出されると、ス
テップ248及びステップ251の処理を経て、ステッ
プ25Aの処理が行われる。ステップ25Aでは読み出
されたデータがダンパーペダルオフを示すペダルオフコ
ードなので、YESと判定される。ポインタの指すデー
タの直前のデータはデュレーションデータであり、フレ
ーズデータではないので、ステップ25BではNOと判
定される。そして、ステップ25Cの処理によって、ポ
インタの指すペダルオフコードの直後に図22(B)の
ようにフレーズデータが挿入される。以下、前述と同じ
処理がエンドデータが読み出されるまで、繰り返し実行
され、所定の位置にフレーズデータが挿入される。
ステップ248でYESと判定され、ステップ24Cに
よってトラック番号レジスタTRに『1』がセットさ
れ、今度はステップ242〜ステップ24Aの処理がト
ラック番号『1』に対して行われる。このようにして、
この第2の実施例では押鍵指示用の指番号を合わせて記
憶している演奏データを読出し、それに基づいて所定の
フレーズに分割している。
の実施例である比較進行処理2について説明する。図5
の比較進行処理Iでは、押鍵指示された鍵が押鍵された
場合には発音キーコードリストに登録されているキーコ
ードに対応するLED(点滅中のもの)を全て点灯し、
現フレーズ対応のLEDをそのフレーズの間中ずっと点
灯し続ける場合について説明したが、今回の比較進行処
理2では押鍵指示された鍵が押鍵された場合であった、
その押鍵されたキーコードが現フレーズ内でこれ以降に
存在しない場合には、そのキーコードに対応するLED
(点滅中のもの)を消灯するようにした。
図である。この比較進行処理2は次のようなステップで
順番に実行される。なお、図26においてステップ26
1〜ステップ264、ステップ266及びステップ26
7は図5のステップ51〜ステップ56とほとんど同じ
処理なので、ここでは簡単に説明する。 ステップ261:モード番号レジスタMODが『1』、
『2』又は『3』であり、かつ、走行状態フラグRUN
が『1』であるかどうかを判定し、YESの場合は次の
ステップ262に進み、NOの場合はリターンし、図3
のステップ39に進む。
わち、待ち状態フラグWAITが『1』かどうかを判定
し、『1』(YES)の場合は次のステップ263に進
み、そうでない(NO)場合はリターンし、図3のステ
ップ39に進む。 ステップ263:発音キーコードリストに登録されてい
るキーコードが全て押鍵されているかどうか判定し、全
て押鍵されている(YES)場合は次のステップ264
以降に進み、全て押鍵されていない(NO)場合はリタ
ーンし、図3のステップ39に進む。
キーコードリストに登録されているキーコードが全て押
鍵されたと判定されたので、ここでは、その発音キーコ
ードリストのキーコードに対応するLED(点滅状態の
もの)を点灯する。 ステップ265:発音キーコードリストに存在するキー
コードではあるが、現フレーズ内でこれ以降に存在しな
いキーコードに対応するLEDを消灯する。すなわち、
この比較進行処理2では、新しくこのステップ265が
追加された。従って、このステップ265の処理によっ
て、押鍵指示された鍵が押鍵された場合であった、その
押鍵されたキーコードが現フレーズ内でこれ以降に存在
しない場合には、そのキーコードに対応するLED(点
滅中のもの)が消灯されるようになる。
に『0』をセットして、待ち状態を解除する。 ステップ267:発音キーコードリストをクリアし、図
3のステップ39に進む。なお、この比較進行処理2は
図11のステップ114の比較進行処理Iに代えて実行
してもよい。この場合、ステップ261〜ステップ26
3でNOと判定された場合、及びステップ267の処理
が終了した場合には図11のステップ115に進むこと
となる。
押鍵音に対応するLEDを点滅するのに合わせて次フレ
ーズの押鍵音に対応するLEDを全て点灯する場合につ
いて説明したが、これに限らず、例えば、現フレーズ終
了時点から所定数(2、3)音符前、現フレーズ終了時
点から所定時間前、又は現フレーズ終了時点から所定拍
数前の押鍵音に対応するLEDを点滅するのに合わせて
次フレーズの押鍵音に対応するLEDを全て点灯表示し
てもよい。また、次フレーズの押鍵音に対応するLED
をその押鍵の順序に即した形で時系列的に点灯してもよ
いし、現フレーズの進行状況に従って徐々に点灯しても
よい。
鍵指示する場合について説明したが、これに限らず、L
CD等に黒塗り円、白塗り円などの図記号を用いて押鍵
指示するようにしてもよい。なお、上述の実施例では1
個のフレーズの押鍵音に対応するLEDを全て点灯する
場合について説明したが、これに限らず、点滅するLE
Dから所定範囲(例えばオクターブ範囲、又は10cm
など)内のものを点灯するようにしてもよい。
部を有する電子楽器を例に説明したが、表示部を有しな
い楽器に表示部だけを設けて、上述のような押鍵指示を
行うようにしてもよい。また、上述の実施例では、押鍵
指示された鍵が実際に押鍵された場合に次の押鍵指示に
進行するように、押鍵指示と実際の押鍵との間で同期し
て動作する場合について説明したが、押鍵指示と実際の
押鍵との間は無関係に進行するようにしてもよい。
合について説明したが、2色以上点灯可能なLEDであ
ってもよい。この場合右手押鍵指示と左手押鍵指示との
間でそれぞれ異なる色のLEDを点灯させるようにして
もよい。また、フレーズ対応のLED点灯と押鍵対応の
LED点灯との間でそれぞれ異なる色を点灯させるよう
にしてもよい。また、フレーズ対応のLED点灯は暗
く、押鍵対応のLED点灯はそれよりも明るくなるよう
に、それぞれの間で明度を異ならせるようにしてもよ
い。上述の実施例とは逆にフレーズ対応のLEDを点灯
し、押鍵対応のLEDを点滅表示してもよい。上述の実
施例ではLEDが1列に配置されている場合について説
明したが、上下2列配置にしてもよい。この場合、上下
方向で点灯色を異ならせてもよいし、また、いずれか一
方のLEDをフレーズ対応に使用し、他方のLEDを押
鍵対応に使用してもよい。また、白鍵と黒鍵とで同じL
EDを用いているが、これに限らず、白鍵と黒鍵とでL
EDの点灯面積を異ならせてもよいし、白鍵と黒鍵とで
点灯色を異ならせてもよい。
ズ中ずっと表示するのではなく、ある所定期間だけ表示
するようにしてもよい。例えば、フレーズ切り換わり時
点に一瞬だけ表示したり、フレーズ切り換わり時点から
所定時間経過するまで表示したり、フレーズ切り換わり
時点から最初に押鍵指示された鍵が押鍵されるまで表示
したり、フレーズ切り換わり時点から所定数(2、3)
音符が押鍵されるまで表示したり、フレーズ切り換わり
時点から所定拍数経過するまで表示したりしてもよい。
また、フレーズ対応のLEDを押鍵対応のLED点滅周
期よりも大きな周期で点滅させてもよい。
に対応するLEDを点滅表示する場合について説明した
が、現在押鍵すべき鍵と同時に次に押鍵すべき鍵に対応
するLEDを同時に点灯表示してもよい。この場合、点
灯のしかたは前述の各種点灯表示を組み合わせればよ
い。例えば、現在押鍵すべき鍵と次に押鍵すべき鍵に対
応するLEDの明度や色を異ならせるとか、LEDを上
下2列配置し、いずれか一方のLEDをフレーズ対応に
使用し、他方のLEDを押鍵対応に使用し、現在押鍵す
べき鍵に対応するLEDを点滅させ、次に押鍵すべき鍵
に対応するLEDを点灯させるなどの方法が考えられ
る。
演奏データを、調検出や楽式の検出などの楽曲の分析や
自動作編曲に利用してもよい。その際にデータベースに
フレーズ単位で記憶しておいてもよい。また、上述の実
施例ではデュレーションタイムの平均値に所定係数を乗
じるという所定の演算処理によってしきい値を求める場
合について説明したが、これに限らず、デュレーション
タイムの平均値をテーブル変換してしきい値を求めても
よいし、しきい値に絶対時間を直接設定してもよいし、
しきい値に所定拍数を設定してもよい。このとき、しき
い値に絶対時間を設定する場合には、キーオフ計時レジ
スタKOFFの値を絶対時間に対応させるために、キー
オフ計時レジスタKOFFの値に(60/(TMP×2
4))を乗じたものとしきい値との比較を行うようにす
ればよい。すなわち、図9のステップ94の判定式をK
OFF*(60/(TMP×24))>THRSHとす
ればよい。ここで、TMPは楽曲の演奏速度であり、4
分音符の1分間の演奏回数で示される。
H (トラックTRのキーオフ時間の合計/トラックT
Rのキーオフ数)*係数」、又は「THRSH (トラ
ックTRのキーオン数の合計/トラックTRのキーオン
時間の合計)*係数」としてもよい。このようにして求
めたしきい値THRSHは、スタッカートの頻度を示す
ものとなる。つまり、スタッカートの多い曲ほどしきい
値となる全キーオフの持続時間が長くなるからである。
る1トラック全体に対するデュレーションタイムの平均
値に所定係数を乗じることによってしきい値を求める場
合について説明したが、これに限らず、演奏データを1
又は複数の小節単位毎に区切って、その区切り毎にしき
い値を設定し、フレーズ分割を行うようにしてもよい。
上述の実施例では、押鍵指示方式について数種類のモー
ドを設ける場合について説明したが、操作者の演奏レベ
ルに対応して初級者モード、中級者モード、上級者モー
ドを設け、それらをモード選択スイッチによって適宜選
択可能としてもよい。この場合、上級者モードになるほ
どLED点灯数の最大値及び最小値、LEDの点灯範囲
(最大キー数)が大きくなるようにすればよい。
理の後にさらにフレーズ細分割処理を行う場合について
説明したが、このフレーズ細分割処理は省略してもよい
し、又はキーオフ分割処理とは別にフレーズ細分割処理
だけを行うようにしてもよい。また、図10のフレーズ
細分割処理として、ステップ101〜ステップ103の
処理を行う場合について説明したが、これに限らず、こ
れらのステップを単独で行ってもよいし、適宜組み合わ
せて行ってもよい。さらに、この図10のフレーズ細分
割処理を図24のフレーズ分割処理のステップ249の
分割処理の後やステップ24Bの判定処理の前に行って
もよい。すなわち、図8のステップ8F(図9)のキー
オフ分割処理、図10のステップ101〜ステップ10
3のフレーズ細分割処理及び図24のステップ249
(図25)の分割処理をそれぞれ適宜組み合わせてフレ
ーズ分割してもよい。
は、シーケンサのキーオンの順番通りに押鍵しなくて
も、キーオンが一定デュレーション以下の間隔で連続し
た場合は、同時押鍵と判断して、同時押鍵内ではシーケ
ンサの順番によらず、キーコードが一致すれば押鍵が一
致したとみなす場合について説明したが、これに限ら
ず、必ずシーケンサのキーオンの順番通りに押鍵しない
と一致とみなさないようにしてもよいことは言うまでも
ない。
は、押鍵指示による楽音と操作者の押鍵による発音を行
う場合について説明したが、操作者による押鍵があった
場合には、その押鍵による発音を優先的に扱い、押鍵指
示による発音を中止するようにしてもよい。また、この
場合、操作者による押鍵がなくなってから一定時間(例
えば4分音符長で2つ分)が経過したら再び未押鍵のキ
ーオンデータに対して発音による押鍵指示を行うように
してもよい。
は、押鍵指示以外の伴奏パートに関しては繰り返し演奏
しない場合について説明したが、これに限らず、伴奏パ
ートに関しても繰り返し演奏を行うようにしてもよい。
また、上述の繰り返し押鍵指示方式の実施例では、誤押
鍵以降のキーオンデータに対して押鍵指示を繰り返す場
合について説明したが、これに限らず、誤押鍵されたキ
ーオンデータを含むフレーズ、すなわちフレーズ分割に
よって分割されたフレーズ全体(フレーズの最初から最
後まで)を繰り返すようにしてもよい。また、誤押鍵さ
れたキーオンデータの数個前のキーオンデータからフレ
ーズの最後までを繰り返すようにしてもよい。上述の繰
り返し押鍵指示方式の実施例では、誤押鍵が発生してか
ら所定時間(8分音符長程度)待ってから押鍵指示する
場合について説明したが、これ以外の音符長程度待って
もよいし、任意の秒単位の時間だけ待ってもよい。
されていない楽曲の演奏情報を自動的にフレーズ単位に
分割することができる。
ラック分の演奏データの構成例を示す図である。
内蔵の電子楽器のハードウェア構成例を示すブロック図
である。
チンの一例の前半部分を示す図である。
チンの一例の後半部分を示す図である。
を示す図である。
を示す図である。
スタート処理の詳細を示す図である。
細を示す図である。
細を示す図である。
の詳細を示す図である。
場合において、1小節当たり96回(96分音符長毎)
のタイミングで実行される割り込み処理Iを示す図であ
る。
を示す図である。
細を示す図である。
場合において、1小節当たり96回(96分音符長毎)
のタイミングで実行される割り込み処理IIを示す図であ
る。
詳細を示す図である。
再生処理の詳細を示す図である。
理の詳細を示す図である。
場合、すなわちLED発光だけによる押鍵指示を行い、
正しい押鍵があるまで停止状態を維持する停止押鍵指示
方式の動作例を示す図である。
場合、すわなちLED発光及び楽音発音の両方による押
鍵指示を誤押鍵が発生した時点から正しい押鍵があるま
で繰り返し行うという繰り返し押鍵指示方式の動作例を
示す図である。
を示す図である。
Dをどのように発光させて押鍵指示を行うのか、その動
作例を模式的に示す図である。
トラック分の演奏データの別の構成例を示す図である。
例を示す図である。
第2の実施例の詳細を示す図である。
を示す図である。
比較進行処理2の詳細を示す図である。
モリ、4…演奏情報メモリ、5…押鍵検出回路、6…表
示回路、7…スイッチ検出回路、8…インターフェイ
ス、9…音源回路、11…鍵盤、12…表示部、13…
スイッチ群、14…ディスク、15…デジタル−アナロ
グ変換器、16…サウンドシステム、17…タイマ、1
8…データ及びアドレスバス
Claims (9)
- 【請求項1】 少なくとも音高を示す音高情報を含む演
奏情報を供給する演奏情報供給手段と、 この演奏情報供給手段から供給される前記音高情報に対
応する鍵を押すべき指が指くぐり又は指越えをする箇所
を検出する検出手段と、 この検出手段によって検出された前記指くぐり又は指越
えの箇所で前記演奏情報を複数の時間区間に分割する分
割手段とを具備することを特徴とするフレーズ分割装
置。 - 【請求項2】 少なくとも音高を示す音高情報を含む演
奏情報を供給する演奏情報供給手段と、 少なくとも足操作子の操作状態を示す足操作子情報を供
給する足操作子情報供給手段と、 前記足操作子情報供給手段から供給される足操作子情報
に応じて前記演奏情報を複数の時間区間に分割する分割
手段とを具備することを特徴とするフレーズ分割装置。 - 【請求項3】 少なくとも押鍵状態を示す押鍵情報を含
む演奏情報を供給する演奏情報供給手段と、 この演奏情報供給手段から供給される前記押鍵状態に基
づいて所定時間離鍵されていることを検出する検出手段
と、 この検出手段によって検出された前記所定時間離鍵され
ている箇所で前記演奏情報を複数の時間区間に分割する
分割手段とを具備することを特徴とするフレーズ分割装
置。 - 【請求項4】 前記所定時間は前記演奏情報に基づいて
演算された値であることを特徴とする請求項3に記載の
フレーズ分割装置。 - 【請求項5】 前記所定時間は任意に設定された絶対時
間であることを特徴とする請求項3に記載のフレーズ分
割装置。 - 【請求項6】 少なくとも音高を示す音高情報を含む演
奏情報を供給する演奏情報供給手段と、 この演奏情報供給手段から供給される前記音高情報の音
域に応じて前記演奏情報を複数の時間区間に分割する分
割手段とを具備することを特徴とするフレーズ分割装
置。 - 【請求項7】 少なくとも音高を示す音高情報を含む演
奏情報を供給する演奏情報供給手段と、 この演奏情報供給手段から供給される前記演奏情報を所
定の方法で複数の時間区間に分割し、かつ分割された時
間区間に属する前記音高情報の種類が所定数以下含まれ
るようにする分割手段とを具備することを特徴とするフ
レーズ分割装置。 - 【請求項8】 少なくとも音高を示す音高情報を含む演
奏情報を供給する演奏情報供給手段と、 この演奏情報供給手段から供給される前記演奏情報を所
定の方法で複数の時間区間に分割し、かつ分割された時
間区間に属する前記音高情報の種類が所定数以上含まれ
るようにする分割手段とを具備することを特徴とするフ
レーズ分割装置。 - 【請求項9】 少なくとも音高を示す音高情報を含む演
奏情報を供給する演奏情報供給手段と、 この演奏情報供給手段から供給される前記音高情報の数
に応じて前記演奏情報を複数の時間区間に分割する分割
手段とを具備することを特徴とするフレーズ分割装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07737395A JP3158944B2 (ja) | 1994-12-05 | 1995-03-07 | フレーズ分割装置 |
US08/552,526 US6211452B1 (en) | 1994-11-10 | 1995-11-09 | Electronic musical instrument having a function of dividing performance information into phrases and displaying keys to be operated for each phrase |
KR1019950041192A KR100365268B1 (ko) | 1994-11-10 | 1995-11-10 | 전자악기 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33010094 | 1994-12-05 | ||
JP6-330100 | 1994-12-05 | ||
JP07737395A JP3158944B2 (ja) | 1994-12-05 | 1995-03-07 | フレーズ分割装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08211867A JPH08211867A (ja) | 1996-08-20 |
JP3158944B2 true JP3158944B2 (ja) | 2001-04-23 |
Family
ID=26418468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07737395A Expired - Fee Related JP3158944B2 (ja) | 1994-11-10 | 1995-03-07 | フレーズ分割装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3158944B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1216353C (zh) * | 1996-10-18 | 2005-08-24 | 雅马哈株式会社 | 音乐教学系统和教学方法 |
-
1995
- 1995-03-07 JP JP07737395A patent/JP3158944B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08211867A (ja) | 1996-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5786540A (en) | Controller apparatus for music sequencer | |
US4646609A (en) | Data input apparatus | |
US6287124B1 (en) | Musical performance practicing device and method | |
US8314320B2 (en) | Automatic accompanying apparatus and computer readable storing medium | |
EP1302927B1 (en) | Chord presenting apparatus and method | |
JP2623809B2 (ja) | 自動押鍵指示装置 | |
US4757736A (en) | Electronic musical instrument having rhythm-play function based on manual operation | |
JPH0448234B2 (ja) | ||
JP3266149B2 (ja) | 演奏ガイド装置 | |
JP2546663B2 (ja) | 自動演奏装置 | |
US6211452B1 (en) | Electronic musical instrument having a function of dividing performance information into phrases and displaying keys to be operated for each phrase | |
JP3158944B2 (ja) | フレーズ分割装置 | |
JP3348549B2 (ja) | 押鍵指示機能付き電子楽器 | |
JPH0876750A (ja) | 押鍵指示機能付き楽器 | |
JP2947116B2 (ja) | 演奏指示装置 | |
JP3567513B2 (ja) | 演奏操作指示機能付き電子楽器 | |
JP3005915B2 (ja) | 電子楽器 | |
JP3620366B2 (ja) | 電子鍵盤楽器 | |
JP3296202B2 (ja) | 演奏操作指示装置 | |
JP2570411B2 (ja) | 演奏装置 | |
JP2000259151A (ja) | 自動伴奏装置 | |
JP2000298426A (ja) | 演奏案内装置及び演奏案内方法 | |
JP2018146716A (ja) | 教習装置、教習プログラムおよび教習方法 | |
JP3752956B2 (ja) | 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH10247059A (ja) | 演奏ガイド装置、演奏ガイド用演奏データ作成装置および記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080216 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090216 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090216 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100216 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110216 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120216 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |