(57)【要約】【課題】  データ量を増やすことなく演奏者が簡単且つ自由にテンポ設定のできる電子楽器の半自動演奏装置を提供する。【解決手段】  自動演奏データを記憶する自動演奏データ記憶部１０と、押鍵がなされたことを検出する押鍵検出部１１と、任意のテンポを設定するテンポ設定部１２と、その設定テンポに基づき、進行させて良い許容クロック数を求めるクロック数算出部１３と、該押鍵検出部１１により押鍵がなされたことが検出される毎に、上記自動演奏データ記憶部１０から自動演奏データを読み出し、上記許容クロック数だけ該自動演奏データに従った自動演奏を行う自動演奏部１４とを備えている。【選択図】      図３
2005025096.tif 000002
【特許請求の範囲】
【請求項１】
自動演奏データを記憶する記憶手段と、
押鍵がなされたことを検出する押鍵検出手段と、
任意のテンポを設定するテンポ設定手段と、
該設定テンポに基づき、進行させて良い許容クロック数を求めるクロック数算出手段と、
該押鍵検出手段により押鍵がなされたことが検出される毎に、上記記憶手段から自動演奏データを読み出し、上記許容クロック数だけ該自動演奏データに従った自動演奏を行う自動演奏手段と
を有することを特徴とする電子楽器の半自動演奏装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏者が簡単且つ自由にテンポ設定のできる電子楽器の半自動演奏装置に関する。
【背景技術】
【０００２】
従来、拍タイミングでテンポ制御を行うモードと拍タイミングより細かいタイミングでテンポ制御を行うモードとが設けられ、演奏者に適したレベルでテンポ制御がなされ、演奏者の押鍵に従ってそのレベル設定で制御されたテンポ分だけ、自動演奏が進行する自動演奏装置の構成が開示されている（例えば、特許文献１参照）。
【特許文献１】特開平８−２７２３６３号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記構成では、自動演奏データ中に、各演奏者のレベルに応じて、複数種類のテンポタイミングデータが格納されるようにすることでそのような機能が実現されており、演奏者のレベルに応じてその種類を増やそうとすれば、それだけテンポタイミングデータのデータ量が増大することになる。
【０００４】
またテンポタイミングデータのデータ量が多くなれば、それだけ１つの自動演奏データの作成に手間がかかることになる。
【０００５】
さらに自動演奏データ中にテンポタイミングデータが格納される構成であると、そこに記憶されている拍の種類に限定されてしまい、演奏者は、自由な、或いは細かな拍を設定することはできなくなる。
【０００６】
本発明は以上のような問題に鑑み創案されたもので、データ量を増やすことなく演奏者が簡単且つ自由にテンポ設定のできる電子楽器の半自動演奏装置を提供せんとするものである。
【課題を解決するための手段】
【０００７】
本発明に係る電子楽器の半自動演奏装置は、
自動演奏データを記憶する記憶手段と、
押鍵がなされたことを検出する押鍵検出手段と、
任意のテンポを設定するテンポ設定手段と、
該設定テンポに基づき、進行させて良い許容クロック数を求めるクロック数算出手段と、
該押鍵検出手段により押鍵がなされたことが検出される毎に、上記記憶手段から自動演奏データを読み出し、上記許容クロック数だけ該自動演奏データに従った自動演奏を行う自動演奏手段と
を有することを基本的特徴としている。
【０００８】
上記構成によれば、テンポ設定手段により設定された設定テンポに基づき、クロック数算出手段が進行させて良い許容クロック数を求め、自動演奏手段は、押鍵がなされたことが検出される毎に、上記記憶手段から自動演奏データを読み出して、上記許容クロック数だけ該自動演奏データに従った自動演奏を行うことになる。そのため、自動演奏データ中に、テンポタイミングデータを備えておく必要がなくなってデータ量は軽くなり、また演奏者はテンポ設定手段によりテンポ設定が自由に設定できるようになる（上記従来構成では上記自動演奏データ中に予め備えられたテンポタイミングデータの範囲内でしか設定できない）。さらに自動演奏データ中に、テンポタイミングデータを備えておく必要がないため、自動演奏データの作成も容易になる。
【０００９】
本願構成において、テンポ設定手段により「設定されるテンポ」は、１回の押鍵で自動演奏をどれだけ進めるかを決定するものであり、後述する本発明を実施するための最良の形態で説明される実際の「演奏スピード」とは関係がない。ここでは、例えば、１回の押鍵で自動演奏を４分音符１つ分進めるのか、８分音符１つ分進めるのか、８分音符３つ分進めるのか、あるいは、次の音符まで進めるのか、を設定する。つまり、ここで４分音符１つ分というテンポ設定をすると、クロック数算出手段で許容クロック数が算出され、１回の押鍵で許容クロック数に「９６」が足される。許容クロック数が既に「０」になっている状態で押鍵をすると、許容クロック数が「９６」となって、現在のステップ位置から９６ステップ分自動演奏を進めることを許可することになる。
【発明の効果】
【００１０】
本発明の請求項１記載の電子楽器の半自動演奏装置によれば、テンポ設定手段により設定された設定テンポに基づき、クロック数算出手段が進行させて良い許容クロック数を求め、自動演奏手段は、押鍵がなされたことが検出される毎に、上記記憶手段から自動演奏データを読み出して、上記許容クロック数だけ該自動演奏データに従った自動演奏を行うことになるため、自動演奏データ中に、テンポタイミングデータを備えておく必要がなくなってデータ量は軽くなるという優れた効果を奏し得る。また演奏者はテンポ設定手段によりテンポ設定が自由にできるようになる。さらに自動演奏データ中に、テンポタイミングデータを備えておく必要がないため、自動演奏データの作成も容易になる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を添付図面を参照して説明する。尚、以下に説明する半自動演奏装置は、電子鍵盤楽器に組み込まれた構成である。
【００１２】
図１は、上記電子鍵盤楽器の外観構成を示す平面図である。同図において、電子鍵盤楽器の本体１００には、後述する鍵盤１１５と、演奏者の該電子鍵盤楽器における種々の設定処理（例えばある種のスイッチ処理など）が行え、またその設定状態などが表示される、パネルディスプレイで構成される操作パネル／表示部１１３と、後述するＲＯＭ１１１上にない自動演奏用のデモ曲データを後述するＲＡＭ１１２上に読み込んで自動演奏データとして使用できるようにする外部記憶装置１１９とが設けられている。
【００１３】
図２は、上記電子鍵盤楽器の内部回路構成を示す説明図である。この電子鍵盤楽器は、バス１０１を介して、ＣＰＵ１１０、ＲＯＭ１１１、ＲＡＭ１１２、鍵盤スキャン回路１１５ａ、楽音発生回路１１６及び外部記憶装置１１９が接続されている。
【００１４】
上記ＣＰＵ１１０には、操作パネル／表示部１１３と、外部インタフェース回路１１４が接続されている。
【００１５】
また、上記鍵盤スキャン回路１１５ａには、鍵盤１１５が接続されている。
【００１６】
更に、楽音発生回路１１６には、増幅器１１７及びスピーカ１１８が接続されている。
【００１７】
ＣＰＵ１１０は、ＲＯＭ１１１に記憶されている制御プログラムに従ってこの電子鍵盤楽器の全体を制御する。このＣＰＵ１１０で行われる処理については、後に図３の機能ブロック構成と図４以降のフローチャートを参照しながら詳細に説明する。
【００１８】
操作パネル／表示部１１３には、上述のように、種々の設定処理が行え、またその設定状態などが表示されるが、そのような機能の１つとして、ＲＯＭ１１１に格納され、或いは外部記憶装置１１９からＲＡＭ１１２上に読み出される（該ＲＯＭ１１１及びＲＡＭ１１２は、その意味で本発明の自動演奏データ記憶部１０を構成する）デモ曲としての自動演奏データの曲選択スイッチが表示される。
【００１９】
また通常演奏モード選択スイッチ以外に、自動演奏モード時に演奏者によって指示されたタイミング（例えば押鍵されたタイミング）で自動演奏データを後述する自動演奏データ記憶部１０からから読み出し、ある範囲で該自動演奏データに基づき発音させる（半自動演奏）コンサートマジックモードを選択できるＣＭスイッチが表示される。
【００２０】
このＣＭスイッチが選択された場合、任意のテンポを設定して設定されたテンポの範囲で半自動演奏を実行する本発明に係る後述するテンポ設定部１２を構成するテンポ設定スイッチが、上記操作パネル／表示部１１３に表示される。
【００２１】
これらのモード選択状態は、各設定フラグによって、記憶され、任意のモードが設定されている状態の時（該モード設定フラグが「１」の時）同じモードの設定スイッチが押されると、そのモード設定フラグが「０」にクリアされてそのモードが設定されていない状態に戻る。
【００２２】
加えてこれらのスイッチ以外に、例えば、音量スイッチ、音色選択スイッチ、残響効果選択スイッチ等が設けられている。該操作パネル／表示部１１３は、上述のように、パネルディスプレイで構成されているため、種々のメッセージやモード設定の状態を表示するためのディスプレイ装置として使用されることになる。
【００２３】
曲選択スイッチは、演奏者が自動演奏の場合やコンサートマジック演奏用の場合の複数の曲の中から所望の曲を選択するために使用され、該ボタンを適宜回転させ、上記操作パネル／表示部１１３の画面上に表示される曲の中から選択できることになる。この曲選択スイッチによって選択された曲の曲番号は、曲番号レジスタに記憶される。
【００２４】
操作パネル／表示部１１３は、図示しないパネルインタフェース回路を含む。このパネルインタフェース回路は、ＣＰＵ１１０からの指令に応じて操作パネル／表示部１１３上の各スイッチをスキャンする。そして、このスキャンにより得られた各スイッチの開閉状態を示す信号に基づいてパネルデータを作成する。このパネルデータの各ビットは、上記各スイッチに対応し、例えば「１」でスイッチオン、「０」でスイッチオフ状態を表す。このパネルデータは、操作パネル／表示部１１３上の各スイッチが押されたかどうかを判断するために使用される。
【００２５】
また、パネルインタフェース回路は、ＣＰＵ１１０から送られてきた表示データを操作パネル／表示部１１３上の画面に送る。これにより、表示データに従ったメッセージが画面に表示される。
【００２６】
外部インタフェース回路１１４は、ＣＰＵ１１０と外部装置との間のデータの送受を制御する。この外部インタフェース回路１１４としては、外部に接続される機器の種類に応じて、例えばＭＩＤＩインタフェース、ＲＳ２３２Ｃインタフェース、ＳＣＳＩインタフェース等の汎用インタフェース又は機種固有のインタフェースを用いることができる。外部装置としては、例えば他の電子楽器、パーソナルコンピュータ、シーケンサ等を用いることができる。この実施の形態では、外部インタフェース回路１１４としてＭＩＤＩインタフェース回路が用いられるものとする。
【００２７】
更に、ＣＰＵ１１０に図示しないタイマが接続されており、ＣＰＵ１１０からセットされるデータに従った時間間隔で割込信号を発生する。従って、このタイマに、演奏スピードに対応する間隔で割込信号を発生させることができる。この割込信号はＣＰＵ１１０に供給され、後述する各割込処理ルーチンを起動するトリガーとして使用される。
【００２８】
ＲＯＭ１１１は、上述した制御プログラムの他に、デモ曲となる自動演奏データが記憶されている（上述のように本発明の自動演奏データ記憶部１０を構成する）。またＣＰＵ１１０が使用する種々の固定データも記憶されている。このＲＯＭ１１１には、更に音色を指定するための複数の音色パラメータが記憶されている。１つの音色パラメータは、所定の楽器音の所定の音域の音色を指定するために使用される。各音色パラメータは、例えば波形アドレス、周波数データ、エンベロープデータ、フィルタ係数等で構成されている。
【００２９】
ＲＡＭ１１２は、ＣＰＵ１１０が各種処理を行う際に、種々のデータを一時記憶するために使用される。具体的には、このＲＡＭ１１２には、この電子楽器を制御するための各種レジスタ（自動演奏データが選択された時の曲番号レジスタも含む）、カウンタ、フラグ等が定義されている。また上記外部記憶装置１１９から自動演奏データが読み出されここに記憶された場合、上記ＲＯＭ１１１と共に本発明の自動演奏データ記憶部１０を構成することになる。
【００３０】
鍵盤スキャン回路１１５ａには、複数の鍵を有する鍵盤１１５が接続されている。この鍵盤１１５は、通常演奏モードでは、押鍵によって発音を指示し、離鍵によって消音を指示するために使用される。一方、コンサートマジックモードでは、コンサートマジック演奏を進めるトリガー（具体的には、次の音符データを読み出すトリガー）として使用される。
【００３１】
上記鍵盤スキャン回路１１５ａは、ＣＰＵ１１０からの指令に応じて鍵盤１１５上の各キースイッチをスキャンする。そして、このスキャンにより得られた各キースイッチの開閉状態を示す信号に基づいて、鍵盤情報を作成する。鍵盤情報は、各鍵を１ビットに対応させたビット列で成り、各ビットは、例えば「１」で押鍵中、「０」で離鍵中であることを表す。当該構成は、本発明の押鍵検出部１１の構成に相当する。
【００３２】
また、押鍵情報は、バス１０１を介してＣＰＵ１１０に送られる。ＣＰＵ１１０は、鍵盤情報に基づいて押鍵／離鍵がなされたかどうかを判断する。
【００３３】
ＣＰＵ１１０は、上述のように、ＲＯＭ１１１から所定のプログラムを読み出し、ＲＡＭ１１２を使用しながら、図１各部の制御を行うと共に、本実施例構成では、後述する本発明のクロック数算出部１３と自動演奏部１４、更には本実施例の構成としての押鍵間隔検出部１５として機能する。
【００３４】
楽音発生回路１１６は、後述する自動演奏部１４から受け取った各データに基づき、該データに基づき所定の音色データの読み出しが行われる波形メモリ（図示しない）を有する音源で構成されている。波形メモリは、各音色パラメータに対応する波形データを記憶している。波形データは、例えば自然楽器音に基づいて生成された楽音信号をパルスコード変調（ＰＣＭ）することによって作成される。この波形メモリは、例えばＲＯＭで構成できる。また出力された楽音波形は、図示されないＤ／Ａ変換回路でアナログ信号に変換される。
【００３５】
この楽音信号は、増幅器１１７で増幅された後にスピーカ１１８に供給される。これにより、スピーカ１１８で音響信号に変換されて放音される。
【００３６】
ここで自動演奏モード中の上記コンサートマジックモードの作動状態につき説明する。
【００３７】
上述の自動演奏データは、複数の音符データで構成されている。各音符データは、１音を発生するために使用され、例えば図１０に示すように、キーナンバ、ステップタイム、ゲートタイム及びベロシティをそれぞれ指定するデータで構成されている。「キーナンバ」は例えば鍵盤装置の各鍵に付された番号に対応し、音高（音程）を指定するために使用される。「ステップタイム」は発音開始のタイミング（時刻）を指定するために使用される。「ゲートタイム」は発音の長さ（音長）を指定するために使用される。「ベロシティ」は、音の強さを指定するために使用される。１つの曲に対応する自動演奏データは、このような音符データがステップタイム順に並べられて構成されている。
【００３８】
この自動演奏モードにおいて１つの曲が選択され、自動演奏の開始が指示されると、後述する自動演奏部１４は、選択された曲に対応する自動演奏データを自動演奏データ記憶部１０から読み出し、この読み出した自動演奏データに基づいて発音する。これにより、選択された曲が自動的に演奏される。
【００３９】
具体的には、自動演奏の開始が指示されると、ステップタイムカウンタのカウントアップ動作が開始される。ステップタイムカウンタは、１ステップ毎にインクリメントされる。１ステップは、例えば１拍の１／２４、１／４８、１／９６等といった具合に機種によって固有に定義されている。１拍の実時間は演奏スピードに従って定まる。従って、１ステップの実時間、つまりステップタイムカウンタのカウントアップの実時間間隔は演奏スピードに従って決定されることになる。
【００４０】
このステップタイムカウンタが動作している状態で、自動演奏データ記憶部１０から１つの音符データが読み出される。そして、音符データ中のステップタイムとステップタイムカウンタの内容とが比較される。そして、これらが一致しない場合は、その音符データは発音タイミングに至っていないものと判断される。そして、以下同様にして所定周期で比較動作が繰り返される。この比較動作の繰り返し実行中に、音符データ中のステップタイムとステップタイムカウンタの内容とが一致すると、その音符データは発音タイミングに至ったものと判断され、その音符データに基づく発音処理が行われる。この際、その音符データ中のゲートタイムデータがゲートタイムカウンタにセットされる。これにより、音符データ中のキーナンバで指定された音高及びベロシティで指定された強さを有する音の発生が開始される。１つの音符データに基づく発音の開始が完了すると、次の音符データがメモリから読み出され、上述したと同様の処理が繰り返される。
【００４１】
一方、発音が開始された音は、音符データ中のゲートタイムで指定された時間が経過することにより消音される。即ち、上記発音処理においてゲートタイムデータがセットされたゲートタイムを、ゲートタイムカウンタで減算する。そして、ゲートタイムの内容がゼロになった時に発音中の音を消すための消音処理が行われる。以上のようにして発音処理と消音処理とが次々に実行されることにより１つの曲が自動的に演奏される（後述する図９参照）。
【００４２】
他方上記コンサートマジックモードは、上述のように、演奏者によって指示されたタイミング、例えば押鍵されたタイミングで音符データをメモリから読み出し、この音符データに基づいて発音を開始させる機能である。このコンサートマジックモードでは、一般に、上述した従来の自動演奏モードで使用される自動演奏データが使用される。
【００４３】
要するに、コンサートマジックモードでは、音高及び音長は自動演奏データに基づいて決定され、発音タイミングと音の強さは演奏者の指示によって決定される半自動演奏機能であるということができる。従来の自動演奏モードでは、自動演奏が自動的に進行するので演奏者が介入する余地がない。これに対し、コンサートマジックモードでは、演奏者が発音タイミングを指示することによって自動演奏が進行するので、演奏者は、あたかも自分が演奏をしているような満足感を得ることができる。
【００４４】
以上の構成では、本発明の構成は、図３のような機能ブロック構成として示されることになる。
【００４５】
すなわち、本発明の構成は、自動演奏データを記憶するＲＯＭ１１１乃至ＲＡＭ１１２で構成される自動演奏データ記憶部１０と、押鍵がなされたことを検出する上記鍵盤スキャン回路１１５ａで構成される押鍵検出部１１と、任意のテンポを設定する上記操作パネル／表示部１１３で構成されるテンポ設定部１２と、その設定テンポに基づき、進行させて良い許容クロック数を求めるＣＰＵ１１０で構成されるクロック数算出部１３と、該押鍵検出部１１により押鍵がなされたことが検出される毎に、上記自動演奏データ記憶部１０から自動演奏データを読み出し、上記許容クロック数だけ該自動演奏データに従った自動演奏を行う同じくＣＰＵ１１０で構成される自動演奏部１４とを備えている。
【００４６】
また上述のように、本実施例構成では、ＣＰＵ１１０で構成される押鍵盤間隔検出部１５が備えられており、上述のテンポ設定部１２で設定されたテンポ内で、コンサートマジックが作動している際に、１回の押鍵で進めて良い自動演奏の範囲とは別に、上記押鍵検出部１１で検出された押鍵情報から、押鍵間の間隔を検出する構成である。ここで検出された押鍵間隔は、後述するように、演奏スピードとして自動演奏部１４に送られ、直前の演奏スピードよりこの検出演奏スピードが遅い場合は、自動演奏部１４により、それに併せて、上記設定テンポの間における自動演奏を進行するスピードを遅くするし、逆に検出演奏スピードが速い場合は、それに併せて、上記設定テンポの間における自動演奏を進行するスピードを速くする。
【００４７】
本実施例構成では、テンポ設定部１２により設定された設定テンポに基づき、クロック数算出部１３が進行させて良い許容クロック数を求め、自動演奏部１４は、押鍵がなされたことが検出される毎に、上記自動演奏データ記憶部１０から自動演奏データを読み出して、上記許容クロック数だけ該自動演奏データに従った自動演奏を行う。
【００４８】
尚、本実施例構成において、テンポ設定部１２により設定されるテンポは、１回の押鍵で自動演奏をどれだけ進めるかを決定するものである。ここでは、例えば、１回の押鍵で自動演奏を４分音符１つ分進めるのか、８分音符１つ分進めるのか、８分音符３つ分進めるのか、それ以上に細かく進めるのか、あるいは、次の音符まで進めるのか、を設定する。つまり、ここで４分音符１つ分というテンポ設定をすると、クロック数算出部１３で許容クロック数が算出され、１回の押鍵で許容クロック数に「９６」が足される。許容クロック数が既に「０」になっている状態で押鍵をすると、許容クロック数が「９６」となって、現在のステップ位置から９６ステップ分自動演奏を進めることを許可することになる。
【００４９】
次に、上記の構成において、図４〜図９に示したフローチャートを参照しながらこの電子鍵盤楽器の動作につき説明する。尚、上記フローチャートに示された処理は、いずれもＣＰＵ１１０により行われる。
【００５０】
図４は、この電子鍵盤楽器のメイン処理を示すフローチャートである。このメイン処理ルーチンは電源の投入により起動される。即ち、電源がＯＮにされると、先ず、ＣＰＵ１１０、ＲＡＭ１１２及びその他の初期化処理が行われる（ステップＳ１０１）。これらの初期化処理では、ＣＰＵ１１０の内部のハードウエアが初期状態に設定されると共に、ＲＡＭ１１２に定義されているレジスタ、カウンタ、フラグ等に初期値が設定される。
【００５１】
この初期化処理が終了すると、次いで、鍵盤処理が行われる（ステップＳ１０２）。この鍵盤処理では、詳細は後述するが、電子楽器が通常演奏モードにある場合は押鍵に応じた発音処理及び離鍵に応じた消音処理が行われる。一方、コンサートマジックモードにある場合は、押鍵があった旨を、所定のフラグで記憶する。
【００５２】
そして自動演奏処理が行われる（ステップＳ１０３）。この自動演奏処理の詳細については後述する。
【００５３】
その後スイッチ処理が行われる（ステップＳ１０４）。このスイッチ処理では、操作パネル／表示部１１３上の各スイッチに割り当てられている機能を実現するための処理が行われる。より具体的には通常演奏モードかコンサートマジックモードのモード選択処理や、該コンサートマジックモードの際のテンポ選択処理、及びコンサートマジックモードの開始・終了処理が行われる。
【００５４】
次いで、「その他の処理」が行われる（ステップＳ１０５）。この処理では、上述した以外の処理、ペダルのＯＮ／ＯＦＦ処理、ＭＩＤＩ処理などが行われる。
【００５５】
その後ステップＳ１０２に戻り、以下ステップＳ１０２〜Ｓ１０５の処理が繰り返される。この繰り返し実行の過程で、操作パネル／表示部１１３の操作、鍵盤１１５の操作、外部インタフェース回路１１４でのＭＩＤＩデータの受信等があると、それらに応じた処理が行われることにより電子鍵盤楽器としての各種機能が実現されている。
【００５６】
図５は、上記図４のステップＳ１０２の鍵盤処理を示すフローチャートである。この鍵盤処理では、先ず、鍵盤スキャン回路１１５ａから押鍵情報が取り込まれ、キーオンイベントマップが作成される。このキーオンイベントマップは、新しい押鍵情報と、前回の鍵盤処理で取り込まれて既にＲＡＭ１１２に設けられた旧鍵盤情報レジスタに記憶されている旧押鍵情報との排他的論理和をとることにより作成される。
【００５７】
それを基に順次キーオンイベントがあるかどうか、即ち押鍵されたか否かがチェックされる（ステップＳ２０１）。これは、上記のようにして作成されたキーオンイベントマップがゼロであるかどうかを調べることにより行われる。ここで、当該鍵のキーオンイベントがない、つまり押鍵されていないことが判断される（ステップＳ２０１；Ｎ）と、シーケンスはキーオフイベントがあるか、即ち離鍵されたか否かがチェックされる（ステップＳ２０５）。
【００５８】
当該鍵キーオフイベントがある場合（ステップＳ２０５；Ｙ）、フラグにより半自動演奏再生中か、即ちコンサートマジックモードによる演奏中か否かがチェックされ（ステップＳ２０６）、コンサートマジックモードによる演奏中でなければ（ステップＳ２０６；Ｎ）、鍵盤消音処理がなされる（ステップＳ２０７）。
【００５９】
コンサートマジックモードによる演奏中であれば（ステップＳ２０６；Ｙ）、当該鍵の消音処理は行われず、次の処理に移行する。そして全ての鍵について処理が終了しているか否かがチェックされる（ステップＳ２０８）。全ての鍵について処理が終了していれば（ステップＳ２０８；Ｙ）、そこで本鍵盤処理は終了し、そのままメインルーチンへ復帰する。反対に全ての鍵について処理が終了していなければ（ステップＳ２０８；Ｎ）、次の鍵に移行し（ステップＳ２０９）、最初のステップＳ２０１に復帰する。
【００６０】
一方、上記ステップＳ２０１でキーオンイベントがある、つまり当該鍵イベントマップが「１」であることが判断される（ステップＳ２０１；Ｙ）と、フラグにより半自動演奏再生中か、即ちコンサートマジックモードによる演奏中か否かがチェックされ（ステップＳ２０２）、コンサートマジックモードによる演奏中でなければ（ステップＳ２０２；Ｎ）、通常演奏モードであることが認識され、通常の鍵盤発音処理がなされる（ステップＳ２０４）。
【００６１】
この通常の発音処理では、鍵盤スキャン回路１１５ａから当該鍵に対応するベロシティデータが読み込まれる。そして、このキーナンバに対応する音色パラメータがＲＯＭ１１１から読み出され、ベロシティデータと一緒に楽音発生回路１１６に送られる。これにより、押鍵に応じた音が押鍵に応じた強さでスピーカ１１８から発生される。
【００６２】
コンサートマジックモードによる演奏中であれば（ステップＳ２０２；Ｙ）、後述する半自動演奏押鍵処理、所謂コンサートマジックモードによる演奏処理（ステップＳ２０３）に移行する。
【００６３】
半自動演奏では、発音中の音はゲートタイムカウンタ中のゲートタイムに従って消音される。この消音を行うための処理は、後述する自動演奏処理において行われる。従って、この鍵盤処理では離鍵イベントがあっても何らの処理も行われない。
【００６４】
図６は、上記図５の半自動演奏押鍵処理を示すフローチャートである。ここでは、選択されているテンポ設定部１２により設定されたテンポに応じて、上記クロック数算出部１３によりクロック数が算出される（ステップＳ３０１）。設定されたテンポに応じたクロック数とは、４分音符を９６クロックとした場合、例えば４分音符１つ分の場合９６クロックが、８分音符１つ分の場合４８クロックが、また８分音符３つ分の場合（４８×３＝）１４４クロックが、次の音符までの場合は次の音符までのクロック数が、１回の押鍵でステップタイムカウンタでインクリメントされることになる。
【００６５】
次に上記のようにして求められたクロック数が許容クロック数を記憶しておくバッファに加算される（ステップＳ３０２）。当初該バッファが０であれば、求められたクロック数がそのまま、許容クロック数となる。
【００６６】
押鍵間隔検出部１５は、後述する計数カウンタを使用した１ｍｓｅｃタイマ割り込み処理により、前回の押鍵から今回の押鍵までを計数する。そして｛（３００００×８分音符数）／計数カウンタ｝の計算処理から演奏スピードが求められる（８分音符数：例えば４分音符の場合８分音符数に換算すると２となる）。ここで前回の演奏スピードと今回の演奏スピードが異なる場合、自動演奏部１４により、設定されるテンポの元となる演奏スピードが変更される（ステップＳ３０３）。すなわち、この演奏スピードに応じた割込となるように後述する自動演奏クロック割込処理が設定される（割込の間隔を変更しているのであり、テンポを変更しているのではない）。そこで半自動演奏押鍵処理は終了し、図５の鍵盤処理のステップＳ２０５へ復帰する。
【００６７】
上述のようにＣＰＵ１１０に図示しないタイマが接続されており、ＣＰＵ１１０からセットされるデータに従った時間間隔で発せられる割込信号に応じて上記メイン処理ルーチンの各処理に割り込んで割込処理が行われる。本実施例の割込処理は２つ行われている。この割込処理の詳細は、図７及び図８のフローチャートに示されている。
【００６８】
図７は、１ｍｓｅｃ毎のタイマ割込処理のフローチャートであり、上記ＣＰＵ１１０からの割込信号に応じて行われ、１ｍｓｅｃ毎に計数カウンタレジスタがインクリメントされる（ステップＳ４０１）。これによりコンサートマジックモード時に、押鍵間隔検出部１５により、計数カウンタが１ｍｓｅｃ毎にカウントされ、前回の押鍵から今回の押鍵までが計数される。
【００６９】
図８は、自動演奏クロック割込処理のフローチャートである。上述のように、図６のステップＳ３０３では、演奏スピードに応じた割込となるように該自動演奏クロック割込処理が設定される。その場合最初に許容クロック数が０であるか否かがチェックされる（ステップＳ５０１）。
【００７０】
許容クロック数が０であれば（ステップＳ５０１；Ｙ）、新たな押鍵がないとして、この処理を終了する。
【００７１】
他方許容クロック数が０でなければ（ステップＳ５０１；Ｎ）、上記ステップＳ３０２で設定された許容クロック数をデクリメントする（ステップＳ５０２）。これは本実施例構成が、押鍵がなされたことが検出される毎に、上記自動演奏データ記憶部１０から自動演奏データを読み出して、上記許容クロック数だけ該自動演奏データに従った自動演奏を行うので、その許容クロック数までのステップ数をカウントする必要があるからである。たとえば４分音符１つ分というテンポ設定をすると、クロック数算出手段で許容クロック数が算出され、１回の押鍵で許容クロック数に「９６」が足される。そして上記ステップＳ３０２で許容クロック数が既に「０」になっている状態で押鍵をすると、許容クロック数が「９６」となって、現在のステップ位置から９６ステップ分自動演奏を進めることになる。従って許容クロック数が０でなければ（ステップＳ５０１；Ｎ）、該許容クロック数はデクリメントされ（ステップＳ５０２）、それが０になるまで自動演奏データが読み出され、後述する自動演奏処理で該自動演奏データの発音処理が行われる。
【００７２】
他方自動演奏処理で使用されるステップタイムカウンタのクロックは、後述する図９における自動演奏を実際に進めるためにインクリメントされる（ステップＳ５０３）。その後自動演奏クロック割込処理は終了する。
【００７３】
図９は、図４のメイン処理ルーチン中のステップＳ１０２の上記鍵盤処理後に行われるステップＳ１０３の自動演奏処理のフローチャートを示している。
【００７４】
この自動演奏処理では、まず、コンサートマジックモードのフラグが参照され、該モードでの再生中であるか否かがチェックされる（ステップＳ６０１）。
【００７５】
コンサートマジックモードの再生中でなければ（ステップＳ６０１；Ｎ）、本自動演奏処理はそこで終了し、上記図４のステップＳ１０４のスイッチ処理に移行する。
【００７６】
反対にコンサートマジックモードの再生中であれば（ステップＳ６０１；Ｙ）、ステップタイムカウンタ及びゲートタイムカウンタ用のクロックが０であるか否かがチェックされる（ステップＳ６０２）。このクロックが０であれば（ステップＳ６０２；Ｙ）、上記図４のステップＳ１０４のスイッチ処理に移行する。
【００７７】
反対にクロックが０でなければ（ステップＳ６０２；Ｎ）、クロックがデクリメントされ（ステップＳ６０３）、次の消音処理に移る（ステップＳ６０４）。ここではゲートタイムカウンタの値を−１して該ゲートタイムカウンタの値が０になったならば、消音処理がなされる。そして自動演奏処理のためのステップタイムカウンタのステップがインクリメントされる（ステップＳ６０５）。
【００７８】
その後、上記ステップタイムカウンタのステップ数と自動演奏データのステップ数が等しいか否かがチェックされる（ステップＳ６０６）。
【００７９】
ステップタイムカウンタのステップ数と自動演奏データのステップ数とが等しくなければ（ステップＳ６０６；Ｎ）、自動演奏データの発音処理をするタイミングに達していないものとして上記ステップＳ６０２に復帰し、該クロックが０になるまで以上の処理が繰り返される。
【００８０】
反対にステップタイムカウンタのステップ数と自動演奏データのステップ数とが等しくなれば（ステップＳ６０６；Ｙ）、通常はその自動演奏データの発音処理を行うが、その前にその自動演奏データ中にエンドデータが含まれているか否かがチェックされる（ステップＳ６０７）。該自動演奏データ中にエンドデータが含まれていれば（ステップＳ６０７；Ｙ）、コンサートマジックモードの処理を終了する（ステップＳ６０８）。
【００８１】
反対に自動演奏データ中にエンドデータが含まれていなければ（ステップＳ６０７；Ｎ）、その自動演奏データの発音処理が行われる（ステップＳ６０９）。そして次のデータ位置に移行し（ステップＳ６１０）、上記ステップＳ６０６に復帰する。
【００８２】
すなわち、テンポ設定部１２で、任意のテンポに設定されると、クロック数算出部１３により、図６に示すようにそれに合わせた許容クロック数が算出され、図５の押鍵が検出されると、図８に示す許容クロック数が０になるまでの間、図９に示すように、自動演奏データが読み出されて、該データに基づく自動演奏が行われる。従って、演奏者は、自動演奏データの選曲を行った際、自分の好きなテンポで演奏が進行するよう、テンポ設定部１２でテンポ設定を行い、鍵盤１１５の任意の位置で適当なテンポで押鍵すれば、上記テンポに従って、自動演奏がなされることになる。
【００８３】
本実施例構成では、自動演奏データ中に、テンポタイミングデータを備えておく必要がなくなって、上記特開平８−２７２３６３号の構成の場合と比べて、データ量は軽くなる。また上記公開公報の構成では上記自動演奏データ中に予め備えられたテンポタイミングデータの範囲内でしか設定できないのに対し、本実施例構成では、演奏者はテンポ設定部１２によりテンポ設定が自由に設定できるようになる。さらに自動演奏データ中に、テンポタイミングデータを備えておく必要がないため、自動演奏データの作成も容易になる。
【００８４】
尚、本発明の電子楽器の半自動演奏装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【００８５】
本発明の電子楽器の半自動演奏装置は、電子ピアノ、電子オルガン、シンセサイザなどだけではなく、自動演奏機能を備えることのできる電子楽器仕立てのサクソホンやクラリネットなどの電子楽器にも利用ができ、その場合の押鍵とは、押さえ込むことによってキーナンバを変化させることのできる開口部（場合により開口しておらず例えばスイッチ状態になっている）のタップによる閉鎖が、それに相当することになる。
【図面の簡単な説明】
【００８６】
【図１】電子鍵盤楽器の外観構成を示す平面図である。
【図２】上記電子鍵盤楽器の内部回路構成を示す説明図である。
【図３】本発明の機能ブロック構成を示す説明図である。
【図４】電子鍵盤楽器のメイン処理を示すフローチャートである。
【図５】図４のステップＳ１０２の鍵盤処理を示すフローチャートである。
【図６】図５の半自動演奏押鍵処理を示すフローチャートである。
【図７】１ｍｓｅｃ毎のタイマ割込処理のフローチャートである。
【図８】自動演奏クロック割込処理のフローチャートである。
【図９】図４のメイン処理ルーチン中のステップＳ１０２の上記鍵盤処理後に行われるステップＳ１０３の自動演奏処理のフローチャートである。
【図１０】音符データの形式を説明する説明図である。
【符号の説明】
【００８７】
１０    自動演奏データ記憶部
１１    押鍵検出部
１２    テンポ設定部
１３    クロック数算出部
１４    自動演奏部
１５    押鍵間隔検出部
１００    本体
１０１    バス
１１０    ＣＰＵ
１１１    ＲＯＭ
１１２    ＲＡＭ
１１３    操作パネル／表示部
１１４    外部インタフェース回路
１１５    鍵盤
１１５ａ  鍵盤スキャン回路
１１６    楽音発生回路
１１７    増幅器
１１８    スピーカ
１１９    外部記憶装置
【図１】
2005025096.tif 000003
【図２】
2005025096.tif 000004
【図３】
2005025096.tif 000005
【図４】
2005025096.tif 000006
【図５】
2005025096.tif 000007
【図６】
2005025096.tif 000008
【図７】
2005025096.tif 000009
【図８】
2005025096.tif 000010
【図９】
2005025096.tif 000011
【図１０】
2005025096.tif 000012