(57)【特許請求の範囲】
【請求項１】
曲の演奏データ及び該曲の演奏進行に関連して所定の付加的機能を実行する付加的機能実行データ並びに該曲に対応して該付加的機能実行データに基づく該所定の付加的機能を実行するか否かを設定する機能設定データを記憶する記憶手段と、
前記記憶手段から前記演奏データを読み出し、該演奏データに基づき音楽演奏を実行する演奏実行手段と、
前記演奏実行手段によって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出し、該付加的機能実行データに基づき前記所定の付加的機能を実行する付加的機能実行手段と、
前記演奏実行手段による演奏の実行に際して、前記記憶手段から演奏する曲に対応する前記機能設定データを予め読み出し、該機能設定データに従い前記所定の付加的機能についてその実行の可否を設定する付加的機能設定手段と、
前記付加的機能設定手段による設定内容に従って前記付加的機能実行手段による当該付加的機能の実行又は非実行を制御する制御手段と
を具えた自動演奏装置。
【請求項２】
前記所定の付加的機能は、楽譜あるいは歌詞を表示する表示機能、演奏者が音高情報を入力するための操作子に対して演奏者が行うべき操作を表示する演奏ガイド表示機能である請求項１に記載の自動演奏装置。
【請求項３】
曲の演奏データ及び該曲の演奏進行に関連して所定の付加的機能を実行する付加的機能実行データ並びに該曲に対応して該付加的機能実行データに基づく該所定の付加的機能を実行するか否かを設定する機能設定データを記憶した記憶手段から、演奏する曲に対応する前記機能設定データを予め読み出し、該機能設定データに従い前記所定の付加的機能についてその実行の可否を設定する第１ステップと、
前記記憶手段から前記演奏データを読み出し、該演奏データに基づき音楽演奏を実行する第２ステップと、
前記第２ステップによって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出し、該付加的機能実行データに基づき前記所定の付加的機能を実行する第３ステップと、
前記第１ステップによる前記付加的機能の設定内容に従って前記第３ステップによる当該付加的機能の実行又は非実行を制御する第４ステップと
を具えた自動演奏方法。
【請求項４】
コンピュータに、
曲の演奏データ及び該曲の演奏進行に関連して所定の付加的機能を実行する付加的機能実行データ並びに該曲に対応して該付加的機能実行データに基づく該所定の付加的機能を実行するか否かを設定する機能設定データを記憶した記憶手段から、演奏する曲に対応する前記機能設定データを予め読み出させ、該機能設定データに従い前記所定の付加的機能についてその実行の可否を設定させる第１ステップ、
前記記憶手段から前記演奏データを読み出させ、該演奏データに基づき音楽演奏を実行させる第２ステップ、
前記第２ステップによって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出させ、該付加的機能実行データに基づき前記所定の付加的機能を実行させる第３ステップ、
前記第１ステップによる前記付加的機能の設定内容に従って前記第３ステップによる当該付加的機能の実行又は非実行を制御させる第４ステップ、
を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、予め記憶媒体に記憶しておいた自動演奏データを順次に読み出して、この自動演奏データに基づいて所望の楽音を発生する自動演奏装置に係り、特に自動演奏に並行してその他の付加機能（例えば、歌詞表示や演奏ガイド表示など）を行うものにおいて、自動演奏データの再生時に動作させるべき付加機能を選択的に決定することのできる自動演奏装置及び方法に関する。
【０００２】
【従来の技術】
自動演奏装置は、予め記憶媒体に多数の自動演奏データを記憶しておき、前記自動演奏データの中から演奏者が自動演奏させたいデータを選択し、この選択された自動演奏データを順次読み出して、自動的に楽音の演奏を行うことができるようにした装置である。そうした自動演奏装置においては、自動演奏を行うだけでなく、自動演奏の進行にあわせて当該曲の歌詞あるいは楽譜を表示するための機能（以下、表示機能と呼ぶことにする）や、あるいは、演奏者が当該曲を演奏するためにどの鍵を押鍵すればよいかを演奏者に指示するための機能（以下、演奏ガイド機能と呼ぶことにする）等、多様な機能を具えたものがある。前記表示機能の例としては、歌詞の文字や楽譜を画面上に表示するもの等がある。また、前記演奏ガイド機能の例としては、鍵盤上の各鍵に対応して発光ダイオード（ＬＥＤ）等の光源を設け、演奏のために押鍵すべき１つの鍵に対応した光源を順次点灯／消灯することにより演奏者に操作すべき鍵盤を指示するガイドＬＥＤ機能や、あるいは演奏者に操作すべき鍵盤とその操作タイミング及び押鍵から離鍵までの鍵の操作時間などを液晶表示画面等に表示して演奏者に指示するようにしたピアノロール機能等がある。これらの演奏ガイド機能を用いれば、演奏者は指定された鍵を押鍵することにより、決められたとおりのメロディ演奏を正確に行うことが可能となっている。
【０００３】
このように、近年の自動演奏装置は前記表示機能や演奏ガイド機能等の多くの機能を有するようになったため、自動演奏データ内には各機能に関連する機能データ（例えば、歌詞を表示させるための歌詞データなど）が数多く含まれるようになった。そして、自動演奏データ内に前記機能データが記録されているか否かが予めわかっている場合は少なく、その理由から、自動演奏装置は自動演奏処理と並行して、前記表示機能や演奏ガイド機能で使用するデータを楽曲の演奏に先立って作成しておく先読み処理、前記表示機能および演奏ガイド機能等を動作させるための各種処理を絶えず実行させていなければならなかった。
【０００４】
【発明が解決しようとする課題】
自動演奏装置においては、機能データの処理動作（例えば、歌詞表示動作や先読み動作等）は自動演奏処理に対して割り込むかたちで動作する。そのため、前記のように自動演奏処理と並行して絶えず機能データの処理動作が実行していると、自動演奏処理が動作しないで待ち状態となっている時間が増加し、これによって本来の正確な発音タイミングでの発音処理が実行されなくなり、演奏にもたつきが生じるようになっていた。
【０００５】
本発明は、多数の機能を具えた自動演奏装置の自動演奏中の処理量を軽減することにより、円滑な自動演奏を行うことができるようにした自動演奏装置を提供することを目的とする。
さらに、演奏者が簡単な操作により、各機能を選択的に使用することができるようにした自動演奏装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明に係る自動演奏装置は、曲の演奏データ及び該曲の演奏進行に関連して所定の付加的機能を実行する付加的機能実行データ並びに該曲に対応して該付加的機能実行データに基づく該所定の付加的機能を実行するか否かを設定する機能設定データを記憶する記憶手段と、前記記憶手段から前記演奏データを読み出し、該演奏データに基づき音楽演奏を実行する演奏実行手段と、前記演奏実行手段によって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出し、該付加的機能実行データに基づき前記所定の付加的機能を実行する付加的機能実行手段と、前記演奏実行手段による演奏の実行に際して、前記記憶手段から演奏する曲に対応する前記機能設定データを予め読み出し、該機能設定データに従い前記所定の付加的機能についてその実行の可否を設定する付加的機能設定手段と、前記付加的機能設定手段による設定内容に従って前記付加的機能実行手段による当該付加的機能の実行又は非実行を制御する制御手段とを具えたものである。
【０００７】
この発明では、付加的機能実行データに基づく所定の付加的機能を実行するか否かを設定する機能設定データを曲に対応して記憶手段に記憶しており、演奏実行手段による演奏の実行に際して、該記憶手段から演奏する曲に対応する該機能設定データを予め読み出し、該機能設定データに従い該所定の付加的機能についてその実行の可否を設定し、この設定内容に従って前記付加的機能実行手段による当該付加的機能の実行又は非実行を制御することができる。これにより、所定の付加的機能を実行すべきか否かを自動的に判定し、必要な付加的機能のみを実行するように効率的に処理を行なうことができる。自動演奏時に並行して動作する各種付加的機能の処理は、自動演奏の動作中に割り込むかたちで実行されるので、付加的機能の実行又は非実行を選択的に制御することにより、自動演奏の動作中に不要な割り込み処理を行なわないようにすることができる。従って、付加的機能に係る処理実行時間を必要最小限にして、演奏実行手段による自動演奏の動作により多くの動作時間を割くことができるようになる。したがって、自動演奏を円滑に実行することができることになる。
なお、この発明における好ましい実施例として、自動演奏の進行に伴って実行することができる所定の付加的機能には、楽譜あるいは歌詞を表示する表示機能や、演奏者が音高情報を入力するための操作子に対して演奏者が行うべき操作を表示する演奏ガイド表示機能などがある。
【０００８】
本発明は、装置発明として構成し、実施することができるのみならず、コンピュータプログラムの形態で実施することができるし、そのようなコンピュータプログラムを記憶した記憶媒体の形態で実施することもできる。
【０００９】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明する。
【００１０】
図１は、この発明に係る自動演奏装置を内蔵した電子楽器全体の構成を示すハードブロック図である。電子楽器は、ＣＰＵ２１によって制御される。ＣＰＵ２１にはデータ及びアドレスバス２Ｐを介してプログラムメモリ（ＲＯＭ）２２、ワーキングメモリ（ＲＡＭ）２３、外部記憶装置２４、操作子検出回路２５、通信インターフェイス２７、ＭＩＤＩインターフェイス２Ａ、鍵盤検出回路２Ｆ、ガイドＬＥＤ検出回路２Ｇ、表示回路２Ｈ、音源装置２Ｊが接続されている。電子楽器はこれら以外のハードウェアを有する場合もあるが、ここでは、必要最小限の資源を用いた場合について説明する。
【００１１】
ＣＰＵ２１はプログラムメモリ２２及びワーキングメモリ２３内の各種プログラムや各種データ、及び外部記憶装置２４から取り込んだ演奏データに基づいた処理を行う。この実施の形態では、外部記憶装置２４としては、フロッピーディスクドライブ、ハードディスクドライブ、ＣＤ−ＲＯＭドライブ、光磁気ディスク（ＭＯ）ドライブ、ＺＩＰドライブ、ＰＤドライブ、ＤＶＤなどが用いられる。また、ＭＩＤＩインターフェイス２Ａを介して他のＭＩＤＩ機器２Ｂなどから演奏データなどを取り込んでもよい。ＣＰＵ２１は、このような外部記憶装置２４から取り込まれた演奏データを音源装置２Ｊに供給し、外部のサウンドシステム２Ｌを用いて発音する。
【００１２】
プログラムメモリ２２はＣＰＵ２１のシステム関連のプログラム、各種のパラメータやデータなどを記憶しているものであり、リードオンリメモリ（ＲＯＭ）で構成されている。なお、この実施の形態では、自動演奏処理等の動作プログラムがプログラムメモリ２２に記憶されている。ワーキングメモリ２３はＣＰＵ２１がプログラムを実行する際に発生する各種のデータ等を一時的に記憶するものであり、ランダムアクセスメモリ（ＲＡＭ）の所定のアドレス領域がそれぞれ割り当てられ、レジスタやフラグ等として利用される。また、前記ＲＯＭ２２に動作プログラム、各種データなどを記憶させる代わりに、ＣＤ−ＲＯＭドライブ等の外部記憶装置２４に各種データ及び任意の動作プログラムを記憶していてもよい。外部記憶装置２４に記憶されている動作プログラムや演奏データを含む各種データは、ＲＡＭ２３等に転送記憶させることができる。これにより、動作プログラムの新規のインストールやバージョンアップを容易に行うことができる。
【００１３】
なお、通信インターフェイス２７を介してＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線などの種々の通信ネットワーク２８上に接続可能とし、他のサーバコンピュータ２９との間で動作プログラムや各種データ等のやりとりを行うようにしてもよい。これにより、サーバコンピュータ２９から動作プログラムや演奏データをダウンロードすることもできる。この場合、クライアントとなるパーソナルコンピュータから、通信インターフェイス２７及び通信ネットワーク２８を介してサーバコンピュータ２９に動作プログラムや演奏データのダウンロードを要求するコマンドを送信する。サーバコンピュータ２９は、このコマンドに応じて、所定の動作プログラムや演奏データなどを、通信ネットワーク２８を介して他のパーソナルコンピュータに送信したりする。パーソナルコンピュータでは、通信インターフェイス２７を介してこれらの動作プログラムや演奏データなどを受信して、ＲＡＭ２３等に格納する。これによって、動作プログラム及び演奏データなどのダウンロードが完了する。
【００１４】
なお、本発明は、本発明に対応する動作プログラムや演奏データをインストールしたパーソナルコンピュータ等によって、実施させるようにしてもよい。その場合には、本発明に対応する動作プログラムや演奏データなどを、ＣＤ−ＲＯＭやフロッピーディスク等の、電子楽器が読み込むことができる記憶媒体に記憶させた状態で、ユーザに提供してもよい。
【００１５】
操作子手段２６は、各種パラメータ設定用のキーやスイッチを具えたものである。この実施の形態では、便宜上、自動演奏スイッチ、演奏ガイド表示スイッチ、歌詞表示スイッチなどの具体的スイッチが設けられている場合について説明する。操作子検出回路２５は、この操作子手段２６上の各スイッチの操作状態及び操作状況を検出し、それをデータ及びアドレスバス２Ｐ上に出力する。表示回路２Ｈは表示器２Ｋの表示内容を制御するものである。表示器２Ｋは液晶表示パネル（ＬＣＤ）等から構成され、表示回路２Ｈによってその表示動作を制御される。
【００１６】
音源装置２Ｊは、複数チャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス２Ｐを経由して与えられた演奏データ（ＭＩＤＩファイル）を入力し、この情報に基づき楽音信号を発生する。音源装置２Ｊにおいて複数チャンネルで楽音信号を同時に発音させる構成としては、１つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものや、１つの発音チャンネルが１つの回路で構成されるような形式のものであってもよい。また、音源装置２Ｊにおける楽音信号発生方式はいかなるものを用いてもよい。音源装置２Ｊから出力される楽音信号はアンプ及びスピーカからなるサウンドシステム２Ｌによって発音される。なお、この実施例では音源装置２Ｊ自体にサウンドシステム２Ｌとの間において楽音信号に種々の効果を付与するための効果回路（図示せず）を含んでいる。勿論、効果回路を当該音源装置とは別個に設けてもよい。タイマ２Ｔは時間間隔を計数したり、楽曲情報の再生時のテンポを設定したりするためのテンポクロックパルスを発生するものである。このテンポクロックパルスの周波数はテンポスイッチ（図示せず）によって調整される。タイマ２ＴからのテンポクロックパルスはＣＰＵ２１に対してインタラプト命令として与えられ、ＣＰＵ２１はインタラプト処理により自動演奏時における各種の割り込み処理や先読み処理等の処理を実行する。
【００１７】
ガイドＬＥＤ２Ｍは例えば発光ダイオードのようなものであり、電子楽器本体の鍵盤２Ｎの各鍵毎に設けられる。ガイドＬＥＤ検出回路２ＧはガイドＬＥＤ２Ｍの表示、すなわち、発光ダイオードを点灯／消灯することにより演奏者に対して押鍵すべき鍵盤２Ｎ及び押鍵タイミングを指示したり、さらには押鍵指示と演奏者の押鍵とを一致判別したりする等の制御を行うものである。
【００１８】
図２は、図１のような電子楽器を自動演奏装置として動作させる場合のメインとなる処理のフローチャートの一例を示す図である。図１のＣＰＵ２１は、このメイン処理に従って動作する。このメイン処理は、主電源のオン操作と同時に開始され、主電源のオフ操作によって終了される。以下、図２のフローチャートに従って、この発明に係る自動演奏装置の動作例を説明する。
まず、最初のステップＳ１では、初期設定を行う。初期設定では、図１のワーキングメモリ２３内の各レジスタ及びフラグなどに対して所定の初期値を設定する。具体的には、歌詞フラグＬＹＲＩＣ、ガイドフラグＧＵＩＤＥのそれぞれに“０”をセットする。これらのフラグ及びバッファの内容については各ステップの対応する処理の中で説明する。また、各種の割り込み動作の許可を解除、すなわち、ＣＰＵ２１に対して後述する各種の割り込み処理や先読み処理を行うことができないようにセットする。さらに、液晶画面２Ｋを初期状態に、つまり画面上に初期画面を表示する。
【００１９】
初期設定が終了すると次は操作子手段２６のうち、ソングデータの選択操作有りか、又は選択操作無しかの判定が行われ、それぞれの判定に従った処理が行われる（ステップＳ２）。選択操作有りと判定された場合には（ＹＥＳ）、当該選択操作に対応したソングデータを外部記憶装置２４等から読み出して、所定のワークエリアへ書き込み自動演奏に関する処理の準備を行う（ステップＳ３）。反対に、選択操作無しと判定された場合には（ＮＯ）、ステップＳ３の処理を行わないでステップＳ４へ進む。ソングデータは外部記憶装置２４内に予め多数記憶されており、例えば演奏者が曲名あるいは曲番号等を入力（ソングデータの選択操作）することにより、多数のソングデータの中から曲名あるいは曲番号に１対１に対応づけられているソングデータが所定のワークエリアに読み出されて、自動演奏するためのデータとして電子楽器に設定されるようになっている。また、ＲＯＭ２２やＲＡＭ２３にソングデータを複数記憶させておき、その中から所望のソングデータを選択するようにしてもよいことは言うまでもない。
【００２０】
ここで、ソングデータの構成例について詳細に説明する。図３は、１つの曲（つまり、ソング）についてのソングデータの全体構成例を示す。
ソングデータは、曲名データと、機能設定データと、音色やテンポあるいは効果等に関する各種設定データと、演奏イベントデータ又は歌詞イベントデータと、トラック番号と、タイミングデータと、曲の終了を示すエンドデータとにより主に構成される。勿論、ソングデータには上述のデータ以外のデータも含まれているが、本発明を説明する上で必須のものでないものについてはその説明を省略する。
【００２１】
曲名データとは、当該ソングデータによって自動演奏される曲の名前である。勿論、曲の名前に限らず、ソングデータ毎に対応して付与された通し番号のようなものであってもよい。
機能設定データは、自動演奏時における演奏データの先読み処理や各種割り込み処理等の各種の付加機能に対応する処理の実行許可／不許可を決定するためのデータであり、後述する演奏設定処理で使用される。この機能設定データの種類としては、例えば「先読処理オフデータ」、「ガイド表示オフデータ」、「歌詞表示オフデータ」等がある。「先読処理オフデータ」とは、自動演奏処理時に先読み処理、歌詞表示処理、ガイド表示処理を許可しない、すなわち、自動演奏処理以外の全ての付加機能の処理を実行しないように電子楽器をセットするためのデータである。「ガイド表示オフデータ」とは、自動演奏処理時に後述するガイド表示処理のみを許可しないようにセットするためのデータである。「歌詞表示オフデータ」とは、自動演奏処理時に後述する歌詞表示処理のみを許可しないように電子楽器をセットするためのデータである。そして、これらのデータのうちのいずれか１つあるいは複数が機能設定データとしてソングデータに記録されている。
【００２２】
各種設定データとは、演奏イベントデータを基にして演奏する上で予め設定しておくデータであり、例えば、テンポや各トラック毎の音色及び効果の設定等に係るデータである。
演奏イベントデータは、各演奏パートで発生すべきイベント（例えば、発音を指示する発音イベントや消音を指示する消音イベントなど）からなるデータであり、タイミングデータと組み合わせられて使用される。
歌詞イベントデータは、歌詞文字表示イベントデータであり、タイミングデータと組み合わせられて使用される。従来から周知のように、１曲における歌詞の流れが、その時系列に従って、複数の歌詞文字列に分割され、或る時間帯で１つの歌詞文字列を一括表示し、その歌詞文字列の歌唱が終わると、該文字列の表示を消去し、次の歌詞文字列を一括表示する。このように、曲進行に同期させた歌詞文字表示を制御するためのデータである。
タイミングデータとは、上述のようなイベントデータから次のイベントデータまでの時間間隔を示す時間データ（すなわち、デュレーションデータ）であるが、これに限らず相対時間あるいは絶対時間等どのようなフォーマットでもよい。すなわち、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント＋絶対時間』形式のもの、イベントの発生時刻を１つ前のイベントからの時間で表した『イベント＋相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で演奏データを表した『音高（休符）＋符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。
【００２３】
トラック番号データは、各演奏イベントあるいは歌詞イベントの属するトラック情報（演奏イベントデータについて説明すれば、該演奏イベントデータが出力されるＭＩＤＩパートを示す情報）である。この実施の形態では、ソングデータは複数トラック分の演奏イベントデータ及び歌詞イベントデータが混在して記録されているもの、すなわち、演奏及び歌詞イベントデータをその割り当てられたトラックに関わらず、出力順に１列に並べて記憶しているもの例に説明している。しかし、これに限らず、各イベントデータを各トラック毎に独立して記憶するようにソングデータを構成してもよい。
【００２４】
図２に戻り、ステップＳ４において、自動演奏の開始指示操作があるかないかを判定する。すなわち、自動演奏スイッチがオンされたか否かを判定する。
自動演奏の開始指示操作（オン操作）がある場合には（ＹＥＳ）、演奏設定処理（ステップＳ５）を行い、さらに自動演奏処理の割り込み動作を許可する（ステップＳ６）。つまり、当該電子楽器は自動演奏を行うことができる状態になる。自動演奏の開始指示操作（オン操作）がない場合には（ＮＯ）、上記演奏設定処理及び自動演奏処理の割り込み動作の許可を行わずに、ステップＳ７の処理へ飛ぶ。つまり、当該電子楽器は自動演奏を行うことができない状態である。自動演奏装置は、メイン処理を行っているＣＰＵ２１に対して自動演奏処理を実行するように割り込みをかけ、ＣＰＵ２１に自動演奏処理をスタートさせることによって自動演奏を行っている。そこで、自動演奏の開始指示操作がある場合には、いつでも自動演奏処理を行うことができるように自動演奏処理の割り込みを許可している。
【００２５】
ステップＳ７では、自動演奏の終了指示操作があるかないかの判定を行う。すなわち、自動演奏スイッチがオフされたか否かを判定する。終了指示（オフ操作）がある場合には（ＹＥＳ）、現在発音中の音を全て消去し、かつ、各種割り込み動作の許可を解除する（ステップＳ８）。つまり、当該電子楽器は自動演奏を行うことができない状態になる。終了指示（オフ操作）がない場合には（ＮＯ）、ステップＳ９の処理へジャンプして「その他の処理」を行う。ステップＳ９で実行する「その他の処理」には、例えば、ソングデータへの各種データの追加や削除といった編集処理や、先読み処理、歌詞表示処理及びガイド表示処理の割り込み動作を許可するか否かを手動で設定する手動設定処理や、あるいはスイッチ操作による電子楽器全体の音色設定、自動演奏のテンポ設定等がある。ここで、前記手動設定処理について簡単に説明すると、本装置には先読み処理、歌詞表示処理及びガイド表示処理の割り込み動作を手動でオンオフ設定するための専用スイッチが各処理に対応して設けられており（ただし、図２では記載を省略している）、前述したソングデータ内の機能設定データによる設定以外にこの各専用スイッチの操作により発生するオフデータ、あるいはオンデータによっても各処理の割り込み許可あるいは割り込み許可解除を設定することができるようになっている。
「その他の処理」が終了したら、当該メイン処理を終了するための指示操作、すなわち、電子楽器本体の主電源がオフされたかどうかを検出し、主電源がオフされた場合（ステップＳ１０のＹＥＳ）にはメイン処理を終了する。そうでない、主電源オン（すなわち、主電源オフ操作がない）の場合（ステップＳ１０のＮＯ）にはステップＳ２へ戻り、当該メイン処理を繰り返し実行し、電子楽器を待機状態にする。この場合には、自動演奏スイッチがオフされるまで、あるいはソングデータ内のエンドデータを読み込むまで、当該自動演奏が続けられる。
【００２６】
図４は、図２のメイン処理で行われる演奏設定処理（ステップＳ５）のフローチャートの一例を示す図である。演奏設定処理とは、選択されたソングデータによる楽曲の再生前に、該楽曲の再生に関連する各種効果の設定や割り込み処理の許可又は不許可の設定を行う処理である。
まず、後述する先読み処理を含むすべての割り込み処理を許可する（ステップＳ２１）。これにより、ＣＰＵ２１は自動演奏処理を含むすべての割り込み処理が実行できる状態になる。
次に、歌詞フラグＬＹＲＩＣに“１”をセットし（ステップＳ２２）、ガイドフラグＧＵＩＤＥに“１”をセットする（ステップＳ２３）。歌詞フラグＬＹＲＩＣとは、ソングデータ内の歌詞イベントデータに関する処理（例えば、先読み処理における歌詞イベントデータの検出等に関する処理）を実施するか否かを表すフラグであり、この実施の形態では、歌詞フラグＬＹＲＩＣが“１”の場合を前記処理の実施を可能とし、“０”の場合を前記処理の実施を不可能とすることを表している。ガイドフラグＧＵＩＤＥとは、ソングデータ内の演奏イベントデータに対応して、例えば、前述したようなピアノロール機能等の鍵盤の演奏ガイド表示を行うためのデータを準備する処理を実施するか否かを表すフラグであり、この実施の形態では、ガイドフラグＧＵＩＤＥが“１”の場合を前記処理の実施を可能とし、“０”の場合を前記処理の実施を不可能とすることを表している。
【００２７】
歌詞フラグＬＹＲＩＣ及びガイドフラグＧＵＩＤＥを各々セットした後、選択されたソングデータ内に機能設定データが記録されているか否かを判定する（ステップＳ２４）。
機能設定データがある場合（ステップＳ２４のＹＥＳ）、この機能設定データの内容に従って後述の各設定処理を行う（ステップＳ２５〜Ｓ２７）。機能設定データに「先読み処理オフデータ」が記録されていれば、先読み処理、歌詞表示処理及びガイド表示処理の割り込み動作許可を解除する（ステップＳ２５）。すなわち、このステップＳ２５の処理を行った場合は、図５の先読み処理、図６（Ｂ）及び図６（Ｃ）に示される各割り込み処理が共に不許可となり、これらの処理の実行が行われなくなる。従って、メイン処理（図２）に対して自動演奏処理（図６（Ａ））のみが割り込み処理として実行されることになる。「歌詞表示オフデータ」が記録されていれば、歌詞表示処理の割り込み動作許可を解除し、さらに歌詞フラグＬＹＲＩＣに“０”をセットする（ステップＳ２６）。すなわち、このステップＳ２６の処理を行った場合は、図６（Ｂ）に示される歌詞表示処理のみが不許可となり、歌詞表示処理の実行が行われなくなる。従って、メイン処理（図２）に対して自動演奏処理（図６（Ａ））、先読み処理（図５）、ガイド表示処理（図６（Ｃ））が割り込み処理として実行されることになる。なお、この場合には先読み処理（図５）における歌詞イベント検出処理も行われない。「ガイド表示オフデータ」が記録されていれば、ガイド表示処理の割り込み動作許可を解除し、さらにガイドフラグＧＵＩＤＥに“０”をセットする（ステップＳ２７）。すなわち、このステップＳ２７の処理を行った場合は、図６（Ｃ）に示されるガイド表示処理のみが不許可となり、ガイド表示処理の実行が行われなくなる。従って、メイン処理（図２）に対して自動演奏処理（図６（Ａ））、先読み処理（図５）、歌詞表示処理（図６（Ｂ））が割り込み処理として実行されることになる。なお、「歌詞表示オフデータ」と「ガイド表示オフデータ」が記録されている場合には、上述のステップＳ２６及びＳ２７が共に行われる。すなわち、図６（Ｂ）に示される歌詞表示処理及び図６（Ｃ）に示されるガイド表示処理が共に不許可となり、歌詞表示処理とガイド表示処理の実行が行われなくなる。従って、メイン処理（図２）に対して自動演奏処理（図６（Ａ））と先読み処理（図５）が割り込み処理として実行されることになる。
【００２８】
一方、機能設定データが記録されていない場合（ステップＳ２４のＮＯ）は、ステップＳ２８へジャンプする。すなわち、先読み処理（図５）及び全ての割り込み処理（図６）の動作が許可されたままであることから（ステップＳ２１）、メイン処理（図２）に対して先読み処理（図５）と、自動演奏処理（図６（Ａ））、歌詞表示処理（図６（Ｂ））、ガイド表示処理（図６（Ｃ））の全ての割り込み処理を実行することができることになる。ただし、この場合においても、上述したその他の処理（ステップＳ９参照）に示したように、各割り込み処理に対応して設けられた専用スイッチの手動操作により任意に各割り込み処理を実行させないようにすることができることはいうまでもない。
このように、自動演奏処理と同様にメイン処理に対して割り込みをかけて実行される処理である先読み処理あるいは各種の割り込み処理の設定を機能設定データの種類により行うことができる。
【００２９】
ステップＳ２８では、ソングデータ内の各種設定データを読み出し、自動演奏に関するテンポや音色あるいは効果等の各種設定を行う。各種設定後、データ読み出し開始位置をソングデータ内の演奏イベントデータの先頭にセットし、自動演奏処理による演奏イベントデータの読出準備を行って（ステップＳ２９）、当該演奏設定処理を終了する。データ読み出し開始位置をセットするとは、データ読み出し位置をソングデータ内の先頭タイミングデータに設定するものであり、後述する自動演奏処理によって当該読み出し位置から順番にデータが読み出され発音処理されるようになる。
【００３０】
図５の先読み処理は図２のメイン処理に対して、所定の時間（例えば、２０ｍｓ）毎に定期的に実行される割り込み処理である。この先読み処理は、後述する各種の割り込み処理による楽曲の進行に従った楽音再生、歌詞表示、ガイド表示よりも先立ったタイミングの各種イベントデータを読み出し、以下の処理を行う。この割り込みタイミングは、各種割り込み処理が行われる時間間隔よりも広い間隔であるが、少なくとも各種割り込み処理の処理動作に支障を与えない程度の時間間隔であればどのような時間間隔でもよい。
まず、ソングデータ内より所定量のデータを読み出す（ステップＳ３１）。すなわち、自動演奏処理の演奏タイミングに先立って所定量ずつのデータを先読みし、その先読みデータを使用して、演奏ガイド表示や歌詞表示に利用するデータを作成する。さらに、現在再生されている演奏イベントデータの次の演奏イベントデータを参照して、次に押鍵すべき鍵盤に対応するＬＥＤランプを点滅させるためのデータを作成する処理を行う（ステップＳ３２）。そして、ガイドフラグＧＵＩＤＥに“１”がセットされているか、それとも“０”がセットされているかの判定を行い（ステップＳ３３）、“１”がセットされている（ＹＥＳ）場合に、イベントデータ等から演奏のガイド用データを作成して演奏ガイド表示の準備を行う（ステップＳ３４）。ここで、ガイド用データとしては、例えば、演奏ガイド表示用に使用する楽譜画面や、ピアノロール譜（すなわち、各鍵盤毎の押鍵タイミングをユーザに知らせるための画面）等を作成する。“０”がセットされている（ＮＯ）場合には、前記各準備を行わずに、次の処理（ステップＳ３５）を行う。
【００３１】
ステップＳ３５において、歌詞フラグＬＹＲＩＣに“１”がセットされているか、それとも“０”がセットされているかの判定を行い、“１”がセットされている（ＹＥＳ）場合に、ソングデータ内の歌詞イベントデータ発生タイミングに先立って、１画面分の歌詞表示に関するデータを作成しておく（ステップＳ３６〜Ｓ３８）。すなわち、ステップＳ３１で読み出された所定量のソングデータ内から歌詞イベントデータを抽出し（ステップＳ３６）、歌詞イベントデータがある場合（ステップＳ３７のＹＥＳ）には歌詞イベントデータから歌詞表示用のデータを作成し歌詞表示の準備を行う（ステップＳ３８）。歌詞イベントデータがない場合（ステップＳ３７のＮＯ）には歌詞イベントから歌詞表示用のデータを作成することなく、当該先読み処理を終了する。
このように、先読み処理は、ソングデータに格納されているイベントデータを読み出し、前記ＲＡＭの所定位置に確保されたバッファにデータを加工してセーブする処理を行って、それらに従ったピアノロール譜や楽譜画面、あるいは歌詞表示画面等のデータの作成を行うものである。こうして作成された画面データは、ガイド表示処理や歌詞表示処理において使用される。
【００３２】
図６は、メイン処理に対して、所定のクロックタイミング毎に割り込み的に起動される各種の割り込み処理である。例えば、４分音符長がタイマクロック数の９６に相当するように設定されたような場合に、図６の割り込み処理はこのタイマクロックの１クロック毎に実行される割り込み処理である。この各種割り込み処理には、以下に示すように自動演奏処理、歌詞表示処理、ガイド表示処理等の処理がある。
図６（Ａ）は、自動演奏処理のフローチャートの一例を示した図である。演奏イベント処理タイミングにある場合（ステップＳ４１のＹＥＳ）、今回タイミングに対応する演奏イベントデータを読み出して（ステップＳ４２）、読み出した演奏イベントデータを音源へ送信する（ステップＳ４３）。当該処理終了後あるいは演奏イベント処理タイミングにない場合（ステップＳ４１のＮＯ）には、ガイドＬＥＤによる鍵盤ガイド処理のみを行う（ステップＳ４４）。すなわち、先読み処理が実施されている場合は、当該先読み処理において現在タイミングの次の押鍵すべき音高に関するデータが図５のステップＳ３２において作成されているので、そのデータを用いて実際の演奏タイミングより前に次に押鍵すべき鍵盤の位置をユーザに知らせるために、次の押鍵すべき鍵盤に対応するガイドＬＥＤを点滅させる処理を行うと共に、正規の演奏発音タイミングが到来した時点で、前記点滅していたガイドＬＥＤを点灯に変更する（消音タイミングで消灯する）処理を行い、先読み処理が実施されていない場合は、演奏イベントデータの読み出しにあわせてガイドＬＥＤを点灯／消灯する処理のみを行う。
図６（Ｂ）は、歌詞表示処理のフローチャートの一例を示した図である。歌詞イベント処理タイミングにある場合（ステップＳ５１のＹＥＳ）、今回タイミングにおける歌詞イベントデータに対応して表示されている文字（歌詞）の表示形式を変更させる（ステップＳ５２）。歌詞が全て表示変更された場合（ステップＳ５３のＹＥＳ）、上述した先読み処理（図５参照）により作成されたデータに基づき次の歌詞画面を表示する（ステップＳ５４）。歌詞が全て表示変更されていない場合（ステップＳ５３のＮＯ）には、当該歌詞表示処理を終了する。
図６（Ｃ）は、ガイド表示処理のフローチャートの一例を示した図である。演奏イベント処理タイミングにある場合（ステップＳ６１のＹＥＳ）、今回タイミングに対応する演奏イベントデータを読み出して（ステップＳ５２）、読み出した演奏イベントデータに対応してガイド画面を制御する（ステップＳ５３）。このガイド画面の制御には、例えば、先読み処理で作成された楽譜画面の表示を行うものや、あるいはピアノロール譜を現在及びこれから演奏される演奏イベントデータにあわせてスクロールして押鍵タイミング表示を行うもの等がある。
【００３３】
図２、図４〜図６のフローチャートに示す一連の処理によって、ソングデータ内の機能設定データによって選択された機能に基づき、自動演奏処理と共に行われる先読み処理や各種の割り込み処理の制御を自動的に行うことができるようになるので、自動演奏される曲の演奏のためにかかる処理に時間を多くとることができる。すなわち、この実施の形態に係る電子楽器では、自然楽器における演奏と同様に、滑らかでかつ音の途切れのない自動演奏が行われるようになる。また、この実施の形態に係る電子楽器では面倒な操作を一々行う必要がないという利点がある。
【００３４】
上述の実施の形態では、ソングデータとして機能設定データをソングデータの先頭にまとめて記録している構造のものについて説明したが、これに限らず、例えばタイミングデータと共に組み合わせられた機能設定のオンあるいはオフデータが他のイベントデータと共に混在するような構造であってもよい。この場合には、例えば歌詞のない曲の部分（例えば、イントロ部分）と歌詞のある曲の部分とで内容の異なった機能設定データを設定することができるようになることから、初心者でも各スイッチ等を操作することなく簡単である。
また、機能設定データにより設定される付加的機能は、上述のような歌詞表示機能や演奏ガイド表示機能のみに限らず、演奏データへの効果付与機能や演奏データに対応する画像表示機能などのようなものであってもよい。
さらに、各機能の動作／非動作の設定は、本実施例における機能設定データにおける設定に加えて、各機能毎の設定オン／オフ操作子を設けて、該操作子の操作に基づき操作できるようにしてもよい。
ガイド機能としてガイドＬＥＤを用いたものを説明したが、鍵盤自体を光らせる等のような他の方法でガイドを行うようにしてもよい。
【００３５】
電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、上述の実施の形態では、音源装置、自動演奏装置等を１つの電子楽器本体に内臓したものについて説明したが、これに限らず、それぞれが別々に構成され、ＭＩＤＩインターフェイスや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置に利用する曲データの作成にも適用してよい。
【００３６】
【発明の効果】
この発明によれば、多数の機能を具えた自動演奏装置において、自動演奏中の処理量を軽減することにより演奏データに忠実に発音を行うことになるので、円滑な自動演奏を行うことができ、つまりは、必要でない機能についての処理動作を意図的に停止させることで必要である機能についての処理動作を円滑にすすめ、ユーザに不快感を与えない程度の時間で各種の処理を行わせることができる、という効果がある。
さらに、演奏者が簡単な操作により、各機能を選択的に使用することができる、という効果がある。
【図面の簡単な説明】
【図１】  この発明に係る自動演奏装置を内蔵した電子楽器の構成を示すハードブロック図である。
【図２】  図１の電子楽器を本発明に係る自動演奏装置として動作させる場合のメイン処理の一例を示すフロー図である。
【図３】  この発明に係る自動演奏装置において用いられるソングデータの一実施例を示した構成概念図である。
【図４】  図２のメイン処理で行われる演奏設定処理の一例を示すフロー図である。
【図５】  図２のメイン処理に対して、所定の時間間隔毎に実行される割り込み処理である先読み処理の一例を示すフロー図である。
【図６】  タイマクロックの１クロック毎に実行される割り込み処理の一例を示す図であり、図６（Ａ）は自動演奏処理であり、図６（Ｂ）は歌詞表示処理であり、図６（Ｃ）はガイド表示処理に関するものである。
【符号の説明】
２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…外部記憶装置、２５…操作子検出回路、２６…操作子、２７…通信インターフェイス、２８…通信ネットワーク、２９…サーバコンピュータ、２Ａ…ＭＩＤＩインターフェイス、２Ｂ…他のＭＩＤＩ機器、２Ｆ…鍵盤検出回路、２Ｇ…ガイドＬＥＤ検出回路、２Ｈ…表示回路、２Ｊ…音源装置、２Ｋ…表示器、２Ｌ…サウンドシステム、２Ｍ…ガイドＬＥＤ、２Ｎ…鍵盤、２Ｐ…データ及びアドレスバス、２Ｔ…タイマ
【図１】
0003692811.tif 000002
【図２】
0003692811.tif 000003
【図３】
0003692811.tif 000004
【図４】
0003692811.tif 000005
【図５】
0003692811.tif 000006
【図６】
0003692811.tif 000007