(57)【特許請求の範囲】
【請求項１】
曲の演奏位置に対応して楽音制御情報を含む演奏情報を音源側に逐次に送出する自動演奏装置であって、
演奏位置を第１位置から第２位置にジャンプさせるジャンプ手段と、
演奏位置以前における最後の楽音制御情報を該演奏情報から検索することによって検出する楽音制御情報検出手段と、
該楽音制御情報検出手段により検出された該第１位置以前における最後の楽音制御情報と、該楽音制御情報検出手段により検出された該第２位置以前における最後の楽音制御情報とが等しいか否かを判定する判定手段と、
該判定手段により両方の該楽音制御情報が等しくないと判定されたときには該第２位置へのジャンプ時に該音源側に該第２位置以前における最後の楽音制御情報を送出し、該判定手段により両方の該楽音制御情報が等しいと判定されたときには該第２位置へのジャンプ時に該音源側に該第２位置以前における最後の楽音制御情報を送出しないよう制御する制御手段とを備えた自動演奏装置。
【請求項２】
曲の演奏位置に対応して楽音制御情報を含む演奏情報を音源側に逐次に送出する自動演奏装置であって、
音源側が予め保持している楽音制御情報を認識する認識手段と、
曲の演奏を任意の開始位置から開始させる開始手段と、
該演奏の開始位置以前における最後の楽音制御情報を該演奏情報から検索することによって検出する楽音制御情報検出手段と、
該楽音制御情報検出手段により検出された該開始位置以前における最後の楽音制御情報と、該認識手段で認識する楽音制御情報とが等しいか否かを判定する判定手段と、
該判定手段により両方の該楽音制御情報が等しくないと判定されたときには該演奏開始時に該音源側に該開始位置以前における最後の楽音制御情報を送出し、該判定手段により両方の該楽音制御情報が等しいと判定されたときには該演奏開始時に該音源側に該開始位置以前における最後の楽音制御情報を送出しないよう制御する制御手段とを備えた自動演奏装置。
【請求項３】
前記楽音制御情報は、所定の数値によって構成されるものであり、前記判定手段は、前記両方の楽音制御情報の値の差が所定のしきい値以内である場合には、前記両方の楽音制御情報の値が等しいと判定し、それ以外の場合には、前記両方の楽音制御情報の値が等しくないと判定することを特徴とする請求項１又は２に記載の自動演奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、曲の演奏位置に対応して楽音制御情報を含む演奏情報を音源側に逐次に送出する自動演奏装置に関するものである。
【０００２】
【従来の技術】
演奏情報のうちの楽音制御情報とは、発音指示情報（ノートオン）や消音指示情報（ノートオフ）以外の情報であって、具体的には、発生される楽音の音量を制御する情報や音色を指示する情報、ピッチベンド情報、演奏テンポを制御するテンポ情報などである。
【０００３】
自動演奏装置（シーケンサ）には、曲のある任意の区間を繰り返し演奏するリピート再生機能や、演奏している曲をある任意の点から他の任意の点にジャンプするスキップ再生機能が備えられている。図１２はこのうちのスキップ再生機能で演奏した場合の音量制御について説明している。図１２において、α、β、γはそれぞれ音量を制御するための楽音制御情報であり、具体的には例えば、
α：音量を「５０」にする
β：音量を「２０」にする
γ：音量を「８０」にする
という音量制御の情報であるとする。この楽音制御情報を含む演奏情報が自動演奏装置から音源側に送出され、音源側において音量制御されつつ曲が自動演奏される。この自動演奏中において、曲の位置が順次に進んで行き、Ｐ（α）の位置に到達すると音量制御情報（以下、単に音量情報という）αが出力され、音源装置の音量値は以降「５０」となる。また、Ｐ（β）の位置に到達すると音量情報βが出力され、音量値は以降「２０」となる。音量情報γについても同様である。
【０００４】
【発明が解決しようとする課題】
従来の自動演奏装置で上述のような演奏を行う場合には、次のような問題点がある。
（スキップ再生のケース）演奏が進み、曲の位置が位置ＰＡに到達したときに位置ＰＢにジャンプする場合において、位置ＰＡから位置ＰＢにジャンプする際に、もし音量情報に関して何もしなかったならば、ジャンプ後の位置ＰＢ以降に発音される楽音の音量は、位置Ｐ（α）で受信した音量情報αによる音量値「５０」のままである。しかし、本来であれば、位置ＰＢでの音量値は「８０」であるので、この本来の音量値と実際の音量とが食い違うことになる。従って、位置ＰＡから位置ＰＢにジャンプする際には、位置ＰＡにおける本来の音量値「８０」を表す音量情報を別途送るようにする。
【０００５】
（ループ再生のケース）演奏が進み、曲の位置が位置ＰＢに到達したときに位置ＰＡにジャンプする場合において、位置ＰＢから位置ＰＡにジャンプする際に、もし音量情報に関して何もしなかったならば、ジャンプ後の位置ＰＡ以降に発音される楽音の音量は、位置Ｐ（γ）で受信した制御情報γによる音量値「８０」のままである。しかし、本来であれば、位置ＰＡでの音量値は「５０」であるので、この本来の音量値と実際の音量とが食い違うことになる。従って、位置ＰＢから位置ＰＡにジャンプする際には、位置ＰＡにおける本来の音量値「５０」を表す音量情報を別途送るようにする。
【０００６】
このように、従来は、演奏位置が途中でジャンプしても制御値のつじつまが合うように、ジャンプした先における本来の制御値を表す楽音制御情報を別途送るようにしている。このように、従来では、上記のようなジャンプが起こるたびに楽音制御情報を送る処理をしているが、このような処理は例えば以下のようなときには無駄になってしまう。
（１）上記図１２において、位置ＰＡの制御値と位置ＰＢの制御値が同じであるとき（音量情報γによる音量を「５０」にする、など）。
（２）上記図１２において、位置ＰＡと位置ＰＢとの間に、新たな楽音制御情報が存在しないとき（つまり、その区間において制御値の変化が無いとき）。
【０００７】
このような場合においても楽音制御情報を出力すると、それを受け取って音量値などの変更をする例えば音源は、いくらかの時間を音量設定のために取られてしまう。上記の例では楽音制御情報が一種類の場合を述べているが、実際には楽音制御情報の種類が数種類あるいは十数種類となると、それらの設定にかかる時間は無視できないものとなってくる。また、複数パートを同時に扱う自動演奏装置では、さらに数種類〜十数種類の楽音制御情報がそれぞれパートの数だけ存在し、出力する楽音制御情報の数は多大なものとなる。
【０００８】
また同様な問題点であるが、従来の自動演奏装置において、任意の位置から演奏を開始させることができるものがある。かかる自動演奏装置で演奏を開始するときには、まずその開始位置での制御値を指示する楽音制御情報を自動演奏装置側で検索して音源に送出し、音源側で制御値の設定を行うことにより、つじつまを合わせている。しかし、演奏を開始させる前に最後に音源に送出した楽音制御情報による制御値と、上記開始位置での制御値とが等しい場合には、演奏開始に際して改めて楽音制御情報を送る必要はない。そして、かかる無駄な楽音制御情報を送出した場合には上述同様な問題点が生じる。
【０００９】
本発明は上述の問題点に鑑みてなされたものであり、無駄な楽音制御情報の送出を無くすことで、音源側装置の無駄な処理を無くせるようにすることを目的とする。
【００１０】
【課題を解決するための手段および作用】
上述の課題を解決するために、本発明に係る自動演奏装置は、一つの形態として、曲の演奏位置に対応して楽音制御情報を含む演奏情報を音源側に逐次に送出する自動演奏装置であって、演奏位置を第１位置から第２位置にジャンプさせるジャンプ手段と、演奏位置以前における最後の楽音制御情報を該演奏情報から検索することによって検出する楽音制御情報検出手段と、該楽音制御情報検出手段により検出された該第１位置以前における最後の楽音制御情報と、該楽音制御情報検出手段により検出された該第２位置以前における最後の楽音制御情報とが等しいか否かを判定する判定手段と、該判定手段により両方の該楽音制御情報が等しくないと判定されたときには該第２位置へのジャンプ時に該音源側に該第２位置以前における最後の楽音制御情報を送出し、該判定手段により両方の該楽音制御情報が等しいと判定されたときには該第２位置へのジャンプ時に該音源側に該第２位置以前における最後の楽音制御情報を送出しないよう制御する制御手段とを備えたものである。この自動演奏装置によれば、ジャンプ手段によって演奏位置を第１位置から第２位置にジャンプさせる際、判定手段によって該第２位置へのジャンプ時に該第１位置以前における最後の楽音制御情報と該第２位置以前における最後の楽音制御情報とが等しいか否かを判定し、両方の該楽音制御情報が等しくないと判定されたときには、制御手段により該第２位置へのジャンプ時に音源側に該第２位置以前における最後の楽音制御情報情報を送出するが、該判定手段により両方の該楽音制御情報が等しいと判定されたときには、制御手段により該第２位置へのジャンプ時に該音源側に該第２位置以前における最後の楽音制御情報を送出しないよう制御するので、その場合には音源側は余計な処理を行わないでよいようになる。
【００１１】
また本発明に係る自動演奏装置は、他の形態として、曲の演奏位置に対応して楽音制御情報を含む演奏情報を音源側に逐次に送出する自動演奏装置であって、音源側が予め保持している楽音制御情報を認識する認識手段と、曲の演奏を任意の開始位置から開始させる開始手段と、該演奏の開始位置以前における最後の楽音制御情報を該演奏情報から検索することによって検出する楽音制御情報検出手段と、該楽音制御情報検出手段により検出された該開始位置以前における最後の楽音制御情報と、該認識手段で認識する楽音制御情報とが等しいか否かを判定する判定手段と、該判定手段により両方の該楽音制御情報が等しくないと判定されたときには該演奏開始時に該音源側に該開始位置以前における最後の楽音制御情報を送出し、該判定手段により両方の該楽音制御情報が等しいと判定されたときには該演奏開始時に該音源側に該開始位置以前における最後の楽音制御情報を送出しないよう制御する制御手段とを備えたものである。この自動演奏装置によれば、音源側が予め保持している曲演奏開始時に用いる演奏制御情報を認識する認識手段と、開始手段により曲の演奏を任意の開始位置から開始させる際に、判定手段により該演奏開始時に該開始位置以前における最後の楽音制御情報と該認識手段で認識する楽音制御情報とが等しいか否かを判定し、両方の該楽音制御情報が等しくないと判定されたときには、制御手段により該演奏開始時に音源側に該開始位置以前における最後の楽音制御情報を送出するが、該判定手段により両方の該楽音制御情報が等しいと判定されたときには、制御手段により該演奏開始時に該音源側に該開始位置以前における最後の楽音制御情報を送出しないよう制御するので、その場合には音源側は余計な処理を行わないでよいようになる。
なお、上記の楽音制御情報は、所定の数値によって構成されるものであり、判定手段は、両方の楽音制御情報の値の差が所定のしきい値以内である場合には、両方の楽音制御情報の値が等しいと判定し、それ以外の場合には、両方の楽音制御情報の値が等しくないと判定するように構成することができる。
【００１２】
【００１３】
なお、音源側が予め保持している楽音制御情報を認識する仕方としては種々あり、例えば次のものが挙げられる。演奏終了時に送出するデフォルト値を決めておき、曲の演奏終了時にはいつもこのデフォルト値を音源側に送出することにより、演奏開始時には音源がデフォルト値を保持していると認識できる。また、音源側に送出した楽音制御情報を記憶する記憶手段を設け、楽音制御情報を送出するごとにその楽音制御情報を、上記記憶手段に更新しつつ記憶することにより、この記憶手段に記憶された楽音制御情報を音源側が持つ楽音制御情報として認識できる。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図１には本発明の一実施例としての自動演奏装置を含む演奏システムが示される。 図１において、自動演奏装置はＣＰＵ、ＲＡＭ２、ＲＯＭ３、テンポクロック源４、操作子群５、表示器６、音源７を含み構成される。また、音源７からの楽音信号を発音するサウンドシステムが増幅器８、スピーカ９により構成される。なお音源７は自動演奏装置と一体に組み込むほか、別体として設けてもよく、例えば通信回線を介して接続されるような遠隔場所に配置されるものであってもよい。
【００１５】
各構成要素の機能は以下の通りである。
ＣＰＵ１：ＲＯＭ３上のプログラムに基づいて装置を制御する。
ＲＡＭ２：演奏データ、ＣＰＵ１の処理で用いられる各種変数、フラグなどが格納される。
テンポクロック源４：ＣＰＵ１から指示されたテンポで、ＣＰＵ１に対してテンポクロック割込みを発生させる。このテンポクロックは自動演奏の基本クロックとして使用され、４分音符を２４等分したタイミングで発生される。
操作子群５：演奏開始、演奏停止を指示するための操作子、リピート演奏の区間とリピート演奏開始を指定するための操作子、演奏開始位置を指定するための操作子からなる。これらについては後に詳細に説明する。
表示器６：演奏中においては現在の演奏位置ＰＣｒを表示し、演奏停止中においては演奏開始位置を表示する。
音源７：ＣＰＵ１から楽音情報を受信し、楽音情報中のノート情報に応じて、指定された音高で楽音を発音し、指定された音高の楽音を消音する。さらに、ＣＰＵ１からの楽音制御情報（この実施例では音量情報）に応じて音源７の音量を設定し、以降の楽音をこの音量で発音する。
【００１６】
図２にはパネル上の操作子群５の詳細な構成が示される。なお、表示器６には前に説明したとおり、現在の演奏位置または演奏開始位置が表示されるものである。各操作子の機能は以下の通りである。
演奏開始スイッチ５１：指定された演奏開始位置から演奏を開始させる操作子である。
リピート演奏開始スイッチ５２：指定したリピート区間のリピート演奏を開始させる操作子である。
演奏停止スイッチ５３：演奏を停止させる操作子である。
リピート区間指定〔Ａ／Ｂ〕スイッチ５４、５５：リピート演奏でない通常の演奏を行っている際に、その演奏曲の所望のタイミングで押下することによりそのタイミングに対応した曲の位置が位置ＰＡ、位置ＰＢとして記憶設定される。リピート演奏の際は、上記設定された位置ＰＡと位置ＰＢとにより定まる区間が繰り返し演奏される。
演奏開始位置指定〔−／＋〕スイッチ５６、５７：演奏が停止しているときに押下することにより、表示器６に表示されている演奏開始位置を例えば１小節単位で、「＋」スイッチ５７により演奏の進行方向に、「−」スイッチ５６により逆方向に逐次にそれぞれ変更することができる。
【００１７】
図３にはＲＡＭ２に記憶される演奏データのフォーマットが示される。演奏データは、タイミングデータ、種別データ、ノート番号／音量値データからなる。各データの内容は以下のとおりである。
タイミングデータ：ノート情報あるいは音量情報を音源に送るタイミングであり、演奏データの先頭からのクロック数で示される。
種別データ：ノート情報（ノートオン情報／ノートオフ情報）または音量情報のいずれかである。
ノート番号／音量値データ：種別データがノート情報であればノート番号、種別データが音量情報であれば音量値を示す。
図４は演奏データの具体例を示すもので、種別は、〔Ｎｏｔｅ ＯＮ〕がノートオン情報、〔Ｎｏｔｅ ＯＦＦ〕がノートオフ情報、〔Ｖｏｌｕｍｅ〕が音量情報である。なお、演奏データに付随して、曲の長さを表す曲長さＬＳＥ（単位はｃｌｏｃｋ）を記憶する。
【００１８】
以下、実施例装置の動作を図５〜図１１のフローチャートを参照して説明する。図５〜図７はＣＰＵ１で実行されるメインルーチンのフローチャートである。以下、このメインルーチンを説明する。実施例装置が起動されると、まず初期設定が行われる（ステップＳ１）。この初期設定では、下記変数、フラグを初期化する。また、テンポクロック源４に所定のテンポを設定するとともに、音源７にデフォルトのためのデフォルト音量値ＶＤｆを設定する。
〔フラグ〕
演奏フラグＦＰｙ：通常の自動演奏中か否かを表示するフラグであり、演奏中は「ｏｎ」で表示される。なお初期値は「ｏｆｆ」である。リピート演奏フラグＦＲｐ：リピート演奏中か否かを表示するフラグであり、リピート演奏中は「ｏｎ」で表示される。
【００１９】
〔位置等の変数〕
現位置ＰＣｒ：現在演奏している曲の位置であり、曲の先頭を０としたときのクロック数で表す。初期値は０である。
リピート開始位置ＰＲＳ：リピート演奏の開始位置（ｃｌｏｃｋ）であり、初期値は「０」に設定される。
リピート終了位置ＰＲＥ：リピート演奏の終了位置（ｃｌｏｃｋ）であり、初期値は曲長さＬＳＥに設定される。
Ａ位置ＰＡ：リピート区間指定〔Ａ〕スイッチ５４で設定される曲の位置である。
Ｂ位置ＰＢ：リピート区間指定〔Ｂ〕スイッチ５５で設定される曲の位置である。
曲長さＬＳＥ：曲の長さであり、曲の末尾位置（ｃｌｏｃｋ）で示される。
シフト長ＬＭｓ：曲の開始位置を〔−〕〔＋〕スイッチ５６、５７を押すことで所定量ずつシフトする際のシフト長であり、この実施例ではｌ小節分のクロック数が設定される。
【００２０】
〔音量の変数〕
現音量値ＶＣｒ：現位置ＰＣｒでの音量値である。
リピート開始音量値ＶＲＳ：リピート開始位置ＰＲＳにおける音量値であり、初期値はデフォルト音量値ＶＤｆに設定される。デフォルト音量値ＶＤｆ
リピート終了音量値ＶＲＥ：リピート終了位置ＰＲＥにおける音量値であり、初期値はデフォルト音量値ＶＤｆに設定される。
Ａ位置音量値ＶＡ：Ａ位置ＰＡでの音量値である。
Ｂ位置音量値ＶＢ：Ｂ位置ＰB での音量値である。
デフォルト音量値ＶＤｆ：デフォルトのための音量値（所定音量値）
【００２１】
初期設定が終わったら、パネル上の演奏開始スイッチ５１が押されたか否かを調べ（ステップＳ２）、押されていれば、リピート演奏フラグＦＲｐを「ｏｆｆ」に設定して（ステップＳ３）、以降、通常の自動演奏状態に入る。一方、演奏開始スイッチ５１が押されていなければ（ステップＳ２）、次にリピート演奏開始スイッチ５２が押されているか否かを調べ（ステップＳ４）、押されていれば、リピート演奏フラグＦＲｐを「ｏｎ」に設定し、現位置ＰＣｒにリピート開始位置ＰＲＳを設定して、以降、リピート演奏状態に入る。
【００２２】
演奏開始スイッチ５１もリピート演奏開始スイッチ５２も押されていなければ（ステップＳ２、Ｓ４）、自動演奏装置は演奏を行っていない状態にあり、この状態では、表示器６に表示された演奏開始位置を見つつ演奏開始位置指定〔−／＋〕スイッチ５６、５７により演奏開始位置の変更設定が可能である。よって、まず演奏開始位置指定〔−〕スイッチ５６が押されたかを調べ（ステップＳ６）、押されていれば、現位置ＰＣｒ（＝演奏開始位置）からシフト長ＬＭｓを引くことで（ステップＳ７）、演奏開始位置を演奏進行と逆方向にシフト長ＬＭｓ（＝１小節）分移動させる。演奏開始位置指定〔−〕スイッチ５６が押されていない場合には（ステップＳ６）、さらに演奏開始位置指定〔＋〕スイッチ５７が押されたか否かを調べ（ステップＳ８）、押されていれば、現位置ＰＣｒにシフト長ＬＭｓを足すことで（ステップＳ９）、演奏開始位置を演奏進行方向にシフト長ＬＭｓ（＝１小節）分移動させる。そしてこれら移動後の現位置ＰＣｒ（＝演奏開始位置）を表示し（ステップＳ１０）、ステップＳ２以降の処理を繰り返す。
【００２３】
一方、演奏開始スイッチ５１またはリピート演奏開始スイッチ５２が押されていた場合には、ステップＳ１１以降の処理を行って、通常の自動演奏またはリピート演奏を行う。まず、曲の現位置ＰＣｒから演奏を開始するにあたって、現位置ＰＣｒでの音量値（＝現音量値ＶＣｒ）を検出する音量値検出ルーチン（ステップＳ１１）、その音量値の音量情報を送出する音量情報送出ルーチン１（ステップＳ１２）を実行して、演奏フラグＦＰｙを「ｏｎ」にする（ステップＳ１３）。これらのステップＳ１１、Ｓ１２については後に詳細に説明する。
【００２４】
次に、リピート演奏フラグＦＲｐの状態を見て、現在がリピート演奏中か通常の自動演奏中かを判断する（ステップＳ１４）。リピート演奏フラグＦＲｐが「ｏｎ」すなわちリピート演奏中であれば、演奏停止スイッチ５３が押されたか否かを監視し（ステップＳ２４）、それが押されるまでリピート演奏状態を続ける。演奏停止スイッチ５３が押されたときには、演奏フラグＦＰｙを「ｏｆｆ」にし（ステップＳ２５）、発音中の音の消音処理を行い（ステップＳ２６）、さらにデフォルト音量値ＶＤｆの音量情報を音源７に送出して、音源７をデフォルトの音量に設定して（ステップＳ２７）、リピート演奏を終了し、ステップＳ２に戻る。
【００２５】
リピート演奏フラグＦＲｐが「ｏｆｆ」すなわち通常の自動演奏中であれば（ステップＳ１４）、通常の自動演奏が行われるとともに、リピート区間指定〔Ａ／Ｂ〕スイッチ５４、５５を用いてこの自動演奏中においてリピート区間の設定が可能となる。つまり、リピート区間指定〔Ａ／Ｂ〕スイッチ５４、５５が押されている否かを判断し（ステップＳ１５、Ｓ１８）、いずれもが押されていないときには、前述のステップＳ２４以降を実行して自動演奏を行う。この場合、演奏停止スイッチ５３が押されるまで、自動演奏状態が継続することはリピート演奏の場合と同じである。
【００２６】
一方、リピート区間指定〔Ａ／Ｂ〕スイッチ５４、５５のいずれかが押されていれば、リピート区間の設定・変更を行う。すなわち、まず、リピート区間指定〔Ａ〕スイッチ５４が押されたか否かを判断し（ステップＳ１５）、押されたら、その押された時点での曲の現位置ＰＣｒを取得するとともに、前述の音量値検出ルーチンを実行してその現位置ＰＣｒに対応する現音量値ＶＣｒを取得し（ステップＳ１６）、取得した現位置ＰＣｒをＡ位置ＰＡに、現音量値ＶＣｒをＡ位置音量値ＶＡにそれぞれ設定する（ステップＳ１７）。また、リピート区間指定〔Ａ〕スイッチ５４が押されていなければ（ステップＳ１５）、さらにリピート区間指定〔Ｂ〕スイッチ５５が押されたか否かを判断し（ステップＳ１８）、押されたら、その押された時点での曲の現位置ＰＣｒを取得するとともに、前述の音量値検出ルーチンを実行してその現位置ＰＣｒに対応する現音量値ＶＣｒを取得し（ステップＳ１９）、取得した現位置ＰＣｒをＢ位置ＰＢに、現音量値ＶＣｒをＢ位置音量値ＶＢにそれぞれ設定する（ステップＳ２０）。
【００２７】
この後、Ａ位置ＰＡとＢ位置ＰＢの前後関係（大小関係）を調べ（ステップＳ２１）。その結果に応じて、リピート区間の開始点と終了点に対応する各種変数の設定を行う。これは、リピート区間指定〔Ａ〕スイッチ５４とリピート区間指定〔Ｂ〕スイッチ５５のいずれがリピート区間の開始と終了を設定するスイッチであるかは決められておらず、スイッチ５４、５５により設定されたＡ位置とＢ位置のうち、演奏進行方向の前側に設定された位置がリピート区間の開始位置、後側に設定された位置がリピート区間の終了位置となるからである。
【００２８】
Ａ位置ＰＡよりもＢ位置ＰＢが大きければ、演奏進行に対してＢ位置ＰＢのほうがＡ位置ＰＡよりも後側になるから、リピート開始位置ＰＲＳにＡ位置ＰＡを設定し、リピート開始音量値ＶＲＥにＡ位置音量値ＶＡを設定し、リピート終了位置ＰＲＥにＢ位置ＰＢを設定し、リピート終了音量値ＶＲＥにＢ位置音量値ＶＢを設定する。一方、Ａ位置ＰＡよりもＢ位置ＰＢが小さければ、演奏進行に対してＢ位置ＰＢのほうがＡ位置ＰＡによりも前側になるから、リピート開始位置ＰＲＳにＢ位置ＰＢを設定し、リピート開始音量値ＶＲＥにＢ位置音量値ＶＢを設定し、リピート終了位置ＰＲＥにＡ位置ＰＡを設定し、リピート終了音量値ＶＲＥにＡ位置音量値ＶＡを設定する。このステップＳ２１〜Ｓ２３の処理により、いずれの場合もリピート開始位置ＰＲＳがリピート終了位置ＰＲＥよりも前側という関係になる。これらのステップＳ２１〜Ｓ２３が終了したら、ステップＳ２４以降に移行して自動演奏を行う。
【００２９】
図８にはＣＰＵ１にて実行されるテンポクロック割込ルーチンのフローチャートが示される。このルーチンはテンポクロックにより定期的に発生する割込に応じて起動されるもので、通常の自動演奏またはリピート演奏を実行するためのものである。
【００３０】
まず、演奏フラグＦＰｙの状態を判断し（ステップＳ３１）、演奏フラグＦＰｙが「ｏｎ」でなければ、リターンする。「ｏｎ」であれば、通常の自動演奏中またはリピート演奏中であり、その場合には曲の現位置ＰＣｒを１つ（クロック単位）進める（ステップＳ３２）。
【００３１】
次いで、リピート演奏フラグＦＲｐの状態を判断する（ステップＳ３３）。リピート演奏フラグＦＲｐ＝「ｏｎ」すなわちリピート演奏中であれば、さらに曲の現位置ＰＣｒがリピート終了位置ＰＲＥに到達したかを判断し（ステップＳ３４）、到達していれば、リピート区間のリピート終了位置ＰＲＥからリピート開始位置ＰＲＳにジャンプすべく、現位置ＰＣｒをリピート開始位置ＰＲＳに戻す処理「現位置ＰＣｒ←リピート開始位置ＰＲＳ」を行う（ステップＳ３５）。この際、リピート終了位置ＰＲＥで発音されていた音の消音を行い（ステップＳ３６）、リピート開始位置ＰＲＳでのリピート開始音量値ＶＲＥの音量情報を音源７に送出する音量情報送出ルーチン２を実行する。また、ステップＳ３４の判断において曲の現位置ＰＣｒがリピート終了位置ＰＲＥに到達していない場合には、上記のステップＳ３５〜Ｓ３７を飛び越してリピート演奏を継続する。
【００３２】
図１１にはこの音量情報送出ルーチン２のフローチャートが示される。まず、ジャンプ前のリピート終了位置ＰＲＥにおけるリピート終了音量値ＶＲＥが、ジャンプ後のリピート開始位置ＰＲＳにおけるリピート終了音量値ＶＲＥと同じか否かを判断し（ステップＳ７１）、同じでなければ、リピート開始位置ＰＲＳでのリピート開始音量値ＶＲＥの音量情報を音源７に送る（ステップＳ７２）。一方、同じであればこの送出処理を行わなず、よって、音源７はリピート開始音量値ＶＲＥの音量情報を受信しないので、余分な処理を行わなくともよいようになる。
【００３３】
一方、ステップＳ３３の判断において、リピート演奏フラグＦＲｐが「ｏｆf 」であった場合には、通常の自動演奏を行っていることになる。この場合には、演奏中の曲の現位置ＰＣｒが曲の末尾ＰＳＥに到達したか否かを判断し（ステップＳ３８）、到達していれば、演奏フラグＦＰｙを「ｏｆｆ」にして、以降このテンポクロック割込ルーチンが実行されないようにし（ステップＳ３９）、発音中の音の消音を行い（ステップＳ４０）、さらに、デフォルト音量値ＶＤｆの音量情報を音源７に送出して（ステップＳ４１）、音源７をデフォルトの音量に設定し、リターンする。また、ステップＳ３８の判断において、現位置ＰＣｒが曲の末尾ＰＳＥに到達してなければ、ステップＳ３９〜Ｓ４１を飛び越す。
【００３４】
リピート演奏または通常の自動演奏においては、表示器６に曲の現位置ＰＣｒを表示するとともに（ステップＳ４２）、その曲の現位置ＰＣｒに対応するタイミングで演奏データがあるかを判断し（ステップＳ４３）、あれば、それをＲＡＭ２から読み出して（ステップＳ４４）、ノート情報（ノートオン情報／ノートオフ情報）、あるいは音量情報として音源７に送出する（ステップＳ４５）。
【００３５】
図９には前述の音量値検出ルーチンのフローチャートが示される。この音量値検出ルーチンでは、メインルーチンのステップＳ１１またはステップＳ１６において音量値検出ルーチンが起動されると、曲の現在演奏中の現位置ＰＣｒでの音量値を検出し、検出した音量値を現音量値ＶＣｒとして返す処理を行う。まず、現音量値ＶＣｒに初期値としてデフォルト音量値ＶＤｆを設定する（ステップＳ５１）。次いで、音量値検出処理のために演奏データを検索するための曲の位置ｃを示す変数を「０」に初期化する（ステップＳ５２）。以降、この位置ｃをカウンタとして、変数ｃ≧現位置ＰＣｒとなるまで演奏データの早読みを行う。
【００３６】
すなわち、曲の位置ｃに対応するタイミングの演奏データがあるかを判断し（ステップＳ５３）、あればそれを読み出し（ステップＳ５４）、その読み出した演奏データの種別が音量値であれば、その音量情報の音量値を現音量値ＶＣｒに設定する（ステップＳ５６）。演奏データがない場合には（ステップＳ５３）、このステップＳ５４〜Ｓ５６は飛び越す。次いで、曲の位置ｃを１つ進め、曲の位置≧現位置ＰＣｒすなわち、現在演奏している現位置ＰＣｒまで、音量値検出処理が終了しているか否かを判断し（ステップＳ５８）、いなければステップＳ５３に戻り処理を繰り返し、いればメインルーチンにリターンする。
【００３７】
図１０にはメインルーチンのステップＳ１１において起動される音量情報送出ルーチン１のフローチャートが示される。この音量情報送出ルーチン１では、デフォルト音量値ＶＤｆと曲の現位置ＰＣｒでの現音量値ＶＣｒとが等しいか否かを判断し（ステップＳ６１）、等しくなければ、現音量値ＶＣｒの音量情報を音源７に送出し（ステップＳ６２）。等しい場合、すなわちこの時点の音源７の音量が現音量値ＶＣｒになっている場合は、ステップＳ６２を飛び越して、音量情報を送出しないようにする。この音量情報送出ルーチン１の処理により、曲が任意の演奏位置から開始された場合において、その開始位置における音量値（＝現音量値ＶＣｒ）が、デフォルト処理により既に音源７に設定されているデフォルト音量値ＶＤｆと等しい場合には、音量情報が音源７に送出されないので、曲の演奏開始時に音源７は余分な処理を行わなくて済む。
【００３８】
本発明の実施にあたっては種々の変形形態が可能である。例えば、上述の実施例においては、楽音制御情報として特に音量情報の場合を説明したが、音量情報にかぎらず、楽音の音色を指示する情報、ピッチベンド情報、演奏テンポを制御するテンポ情報、ホールド制御（オン／オフの情報であり、楽音の発音を維持させたりその維持を止めたりする制御）の情報などであってもよい。また、楽音制御情報として音源の音量や音色などをデフォルト値に設定するリセット情報を含んでいてもよい。なお、リセット情報はデフォルト音量値やデフォルト音色番号などの具体的な情報を有していないので、このリセット情報を送出したときに音源側で設定される音量や音色などのデフォルト値を予め認識しておくとよい。
【００３９】
また、リピート演奏において、リピート終了位置からリピート開始位置にジャンプする際に、リピート開始位置でのリピート開始音量値と、リピート終了位置でのリピート終了音量値とを比較して、等しければリピート開始位置でのリピート開始音量値の音量情報を送出しないようにしたが、本発明はこれに限られるものではなく、以下のようにしてもよい。リピート開始位置からリピート終了位置までの区間の一連の演奏データを読み出して、音量情報が見つからなければ、リピート区間において音量値に変化はないものとして、リピート開始音量値の音量情報を送出しないようにする。
【００４０】
また、上述の実施例では、演奏を停止させたときにデフォルトのためのデフォルト音量値を表す音量情報を送出するようにしたが、本発明はこれに限られるものではなく、例えば以下のようにすることで、この音量情報を送出しないようにしてもよい。すなわち、演奏中において音量情報を音源に送る度に、その音量値を更新値としてＣＰＵ１側で記憶しておき、いつでも最後に音源７に送出した音量値を確認できるようにしておく。そして、演奏開始の際には、前述の実施例のデフォルト音量値に代えて、上記の「最後に送出した音量値」と、演奏開始位置での音量値とを比較し、等しければ演奏開始位置での音量値を音源７に送らないようにする。これにより、演奏開始の際に余計な情報を音源７に送らなくともすむ。
【００４１】
なお、演奏中でないときにおいても音量情報を送出できる装置、例えば自動演奏装置とミキサーとが一体になった装置があるが、このような装置の場合は、自動演奏装置が演奏をしていなくとも、ミキサー部から発生する音量情報を音源部に送出することができる。このため、演奏中に送った音量情報のみを記憶、更新するだけでは音源側が保持している音量情報を認識するのに不十分である。このような装置の場合は、自動演奏装置およびその他の装置からなる一体の装置として音源部に送出した音量情報を記憶、更新すればよい。
【００４２】
また、上述の実施例では、音源７に音量情報を送らない場合の判断基準として、例えばリピート終了音量値とリピート開始音量値とが等しい、というような表現をしたが、本発明の目的を達成するためには、両者の値が正確に一致している必要はなく、演奏位置のジャンプをしたときに聴取者に聴感上の大きな違和感を与えない範囲で、「大体等しい」ものであってもよい。具体的には、両音量値の差が所定のしきい値ε以内であれば「等しい」、そうでなければ「等しくない」という判断であってもよい。
【００４３】
【発明の効果】
以上に説明したように、本発明によれば、無駄な楽音制御情報の送出を無くすことで、音源側での無駄な処理を無くせるようになる。
【図面の簡単な説明】
【図１】本発明に係る一実施例としての自動演奏装置を含む演奏システムを示す図である。
【図２】実施例装置におけるパネル上の操作子群を示す図である。
【図３】実施例装置における演奏データのフォーマットとその具体例を示す図である。
【図４】実施例装置における演奏データの具体例を示す図である。
【図５】実施例装置におけるメインルーチンを示すフローチャート（１／３）である。
【図６】実施例装置におけるメインルーチンを示すフローチャート（２／３）である。
【図７】実施例装置におけるメインルーチンを示すフローチャート（３／３）である。
【図８】実施例装置におけるテンポ割込みルーチンを示すフローチャートである。
【図９】実施例装置における音量値検出ルーチンを示すフローチャートである。
【図１０】実施例装置における音量情報送出ルーチン１を示すフローチャートである。
【図１１】実施例装置における音量情報送出ルーチン２を示すフローチャートである。
【図１２】従来の自動演奏装置におけるスキップ再生を説明する図である。
【符号の説明】
１ ＣＰＵ（中央処理装置）
２ ＲＡＭ（ランダム・アクセス・メモリ）
３ ＲＯＭ（リード・オンリー・メモリ）
４ テンポクロック源
５ 操作子群
６ 表示器
７ 音源
８ 増幅器
９ スピーカ
【図１】
0003883270.tif 000002
【図２】
0003883270.tif 000003
【図３】
0003883270.tif 000004
【図４】
0003883270.tif 000005
【図５】
0003883270.tif 000006
【図６】
0003883270.tif 000007
【図７】
0003883270.tif 000008
【図８】
0003883270.tif 000009
【図９】
0003883270.tif 000010
【図１０】
0003883270.tif 000011
【図１１】
0003883270.tif 000012
【図１２】
0003883270.tif 000013