(57)【特許請求の範囲】
【請求項１】
楽曲を構成する複数の楽音を自動演奏するための、少なくとも該複数の楽音の発音開始タイミングをあらわす情報を含んでなる演奏情報を記憶する記憶手段と、
前記楽曲上の演奏開始位置を指定する演奏開始位置指定手段と、
前記楽曲上の、前記演奏開始位置指定手段により指定された演奏開始位置から時間的に早い方向に前記楽曲における１拍の長さよりも小さい所定のオフセット量だけ離れた所定のオフセット位置以降の発音開始タイミングの楽音を自動演奏する自動演奏手段とを備えたことを特徴とする自動演奏装置。
【請求項２】
楽曲を構成する複数の楽音を自動演奏するための、少なくとも該複数の楽音の発音開始タイミングをあらわす情報を含んでなる演奏情報を記憶する記憶手段と、
前記楽曲上の演奏終了位置を指定する演奏終了位置指定手段と、
前記楽曲上の、前記演奏終了位置指定手段により指定された演奏終了位置から時間的に早い方向に前記楽曲における１拍の長さよりも小さい所定のオフセット量だけ離れた所定のオフセット位置以前の発音開始タイミングの楽音を自動演奏する自動演奏手段とを備えたことを特徴とする自動演奏装置。
【請求項３】
楽曲を構成する複数の楽音を自動演奏するための、少なくとも該複数の楽音の発音開始タイミングをあらわす情報を含んでなる演奏情報を記憶する記憶手段と、
前記楽曲上の演奏開始位置および演奏終了位置を指定するリピート区間指定手段と、
前記楽曲上の、前記リピート区間指定手段により指定された演奏開始位置から時間的に早い方向に前記楽曲における１拍の長さよりも小さい所定の第１のオフセット量だけ離れた所定の第１のオフセット位置と、前記リピート区間指定手段により指定された演奏終了位置から時間的に早い方向に前記楽曲における１拍の長さよりも小さい所定の第２のオフセット量だけ離れた所定の第２のオフセット位置とに挟まれた区間内の発音開始タイミングの楽音を自動演奏する自動演奏手段とを備えたことを特徴とする自動演奏装置。
【請求項４】
前記演奏情報はさらにテンポ情報を含み、前記所定のオフセット量は、該テンポ情報に基づくことを特徴とする請求項１又は２記載の自動演奏装置。
【請求項５】
前記演奏情報はさらにテンポ情報を含み、前記所定の第１のオフセット量と前記所定の第２のオフセット量は、該テンポ情報に基づくことを特徴とする請求項３記載の自動演奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音をあらわす演奏情報を記憶し、この記憶された演奏情報があらわす楽音を自動演奏する自動演奏装置に関する。
【０００２】
【従来の技術】
従来より、１つの楽曲をあらわす一連の演奏情報を記憶しておき、演奏開始位置および演奏終了位置を指定し、それら指定された範囲内のみ自動演奏する自動演奏装置が知られている。
【０００３】
【発明が解決しようとする課題】
図８は、４／４拍子の楽曲の一部をあらわす楽譜である。
この図には第３小節１拍目に４分音符の楽音４５、第４小節の１拍目に４分音符の楽譜４６がそれぞれ示されている。
そして図９は、図８に示される楽譜に基づいてユーザが演奏した楽音の一例を示す模式図である。
【０００４】
以下、この図９に示される楽音を上述した自動演奏装置で自動演奏する場合を考察する。
この図９には、図８の楽音４５、４６にそれぞれ対応してユーザにより演奏された楽音５１、５２が示されている。楽音５１は、楽曲上の、第３小節の１拍目（先頭）の位置から時間的に早い方向にわずかに離れた位置に発音開始タイミング５１ａを有し、第３小節の２拍目の位置から時間的に早い方向にわずかに離れた位置に発音終了タイミング５１ｂを有している。また、楽音５２は、楽曲上の、第４小節の１拍目（先頭）の位置から時間的に早い方向にわずかに離れた位置に発音開始タイミング５２ａを有し、第４小節の２拍目の位置から時間的に早い方向にわずかに離れた位置に発音終了タイミング５２ｂを有している。この場合、この楽曲を、例えば第１小節の先頭から自動演奏させると、この楽曲を聞いているユーザは、第３小節の１拍目で楽音５１が発音され、第４小節の１拍目で楽音５２が発音されているように聞こえる。
【０００５】
ところが、ユーザが、例えば第３小節の先頭を演奏開始位置に指定しこの演奏開始位置から自動演奏させる場合、楽音５１の発音開始タイミング５１ａが、わずかにせよ、第３小節の先頭から時間的に早い方向に離れた位置にあるため、この楽音５１は発音されない結果となる。つまり、ユーザ自身は、演奏開始位置を第３小節の先頭に指定したことにより楽音５１は発音されると考えているが、実際はこの楽音５１は発音されず、ユーザが考えている通りに楽音が自動演奏されないことになる。
【０００６】
別の見方をすれば、ユーザが図８の楽譜の通りに楽音４５を演奏したつもりであり、その上で図８の楽音に基づき楽音４５が発音されることを期待して演奏開始位置を指定したにもかかわらず、実際の楽音（図９の楽音５１）の発音開始タイミングがわずかでもずれているがためにその楽音が自動演奏において発音されず、楽譜で示される楽音と実際に自動演奏される楽音との対応がちぐはぐになってしまう。
【０００７】
また、演奏終了位置に関しても、ユーザが、例えば第４小節の先頭を演奏終了位置に指定しこの演奏終了位置で演奏を終了させようとする場合、ユーザは、楽音５２は第４小節に属する楽音であると考えているにもかかわらず、楽音５２の発音開始タイミング５２ａが第４小節の先頭から時間的に早い方向に離れた位置にあるため、発音開始タイミング５２ａが表われる位置から第４小節の先頭までの区間に対応するわずかな時間ではあるが楽音５２が発音される結果となる。つまり、ユーザ自身は、演奏終了位置を第４小節の先頭に指定したことにより楽音５２は発音されるはずはないと考えているが、実際はこの楽音５２は発音されてしまい、やはりユーザ自身が考えている通りに楽音が自動演奏されないことになる。
【０００８】
この場合も、別の見方をすれば、ユーザが図８の楽譜通りに楽音４６を演奏したつもりであり、その上で図８の楽譜に基づき楽音４６が発音されないことを期待して演奏終了位置を指定したにもかかわらず、実際の楽音（図９の楽音５２）の発音開始タイミングがわずかでもずれているがためにその楽音が自動演奏において発音され、楽譜で示される楽音と実際に自動演奏される楽音との対応がやはりちぐはぐになってしまう。
【０００９】
この図９に示す例では、例えば、第３小節の先頭と第４小節の先頭とに挟まれた区間をリピート演奏する場合、楽音５１は発音されず、楽音５２が短時間だけ発音されるという演奏が繰り返されることになる。
このような問題を解決する方法として、例えば、１つの小節内がさらに複数に細かく分割されたいずれの位置にも演奏開始位置および演奏終了位置を設定できるようにすることが考えられる。例えば、演奏開始位置を、第３小節の先頭から時間的に早い方向にΔｔ1 の量だけ離れた位置Ａに設定し、演奏終了位置を、第４小節の先頭から時間的に早い方向にΔｔ2 の量だけ離れた位置Ｂに設定することにより、楽音５１は発音され、楽音５２の発音が防止される。ところが、このように各小節が細かく分割された位置の中からユーザが演奏開始位置および演奏終了位置を選択することは、ユーザにとって煩わしさが伴うという問題がある。また、ユーザが演奏開始位置および演奏終了位置を指定するにあたり、自動演奏装置に、各小節がさらに複数に細かく分割されてなる多数の位置が表示されると、ユーザが、演奏開始位置ないし演奏終了位置としてどの位置を指定したらよいかわかりにくいという問題がある。
【００１０】
本発明は、上記事情に鑑み、演奏開始位置あるいは演奏終了位置を例えば小節単位で指定するなどユーザにとってその指定が容易であって、しかもユーザが考えている通りに、楽音の自動演奏を行う自動演奏装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成する本発明の第１の自動演奏装置は、
（１）楽曲を構成する複数の楽音を自動演奏するための、少なくともこれら複数の楽音の発音開始タイミングをあらわす情報を含んでなる演奏情報を記憶する記憶手段
（２）上記楽曲上の演奏開始位置を指定する演奏開始位置指定手段
（３）上記楽曲上の、上記演奏開始位置指定手段により指定された演奏開始位置から時間的に早い方向に所定のオフセット量だけ離れた所定のオフセット位置以降の発音開始タイミングの楽音を自動演奏する自動演奏手段
を備えたことを特徴とする。
【００１２】
本発明の第１の自動演奏装置は、演奏開始位置に着目したものであり、演奏開始位置から時間的に早い方向に所定のオフセット量だけ離れた所定のオフセット位置以降の発音開始タイミングの楽音を自動演奏するものであるため、楽音が演奏開始位置から時間的に早い方向に発音開始タイミングを有していても、この発音開始タイミングがオフセット位置以降に表われるものであればこの楽音は発音される。例えば、図８に示されている楽音において、第３小節の先頭を演奏開始位置とした場合、この演奏開始位置から時間的に早い方向に、例えばΔｔ1 のオフセット量だけ離れた位置Ａがオフセット位置として設定されることにより楽音５１は発音される。従って、本発明の第１の自動演奏装置によれば、演奏開始位置を、例えば小節単位で指令すればよく、簡単な操作で、ユーザが考えている通りに自動演奏が開始される。
【００１３】
ここで、本発明の第１の自動演奏装置は、上記自動演奏手段が、上記オフセット位置以降上記演奏開始位置以前の発音開始タイミングの楽音を、上記演奏開始位置を発音開始タイミングとする楽音であるとみなした上で、上記演奏開始位置以降の発音開始タイミングの楽音を、それらの楽音の各発音開始タイミングに自動演奏するものであることが好ましい。
【００１４】
オフセット位置から演奏を開始すると、演奏開始位置から演奏を開始する場合と比較して、ユーザが考えている演奏時間よりも、オフセット量に相当する時間だけ演奏時間が長くなってしまい、リズムをとりにくかったり、あるいは他の電子楽器との同期演奏を行なう場合にタイミングがずれたりすることがあり得るが上述したように、オフセット位置以降演奏開始位置以前の発音開始タイミングの楽音を、演奏開始位置を発音開始タイミングとする楽音であるとみなした上で、演奏開始位置以降の発音開始タイミングの楽音を、それらの楽音の各発音開始タイミングに自動演奏すると、オフセット位置以降演奏開始位置以前の発音開始タイミングの楽音が演奏開始タイミングで発音され、かつ規定の演奏時間で演奏が行われる。
【００１５】
また、本発明の第１の自動演奏装置は、上記自動演奏手段が、上記オフセット位置以降の発音開始タイミングの楽音を、それらの楽音の発音開始タイミングに自動演奏することも好ましい。
オフセット位置以降の発音開始タイミングの楽音を、この楽音の発音開始タイミングに自動演奏することにより、記憶手段に記憶された演奏情報を忠実に再現した演奏が行われる。演奏時間が延びる分は、例えば後述するようにして、演奏終了のタイミングを調整することによって規定の演奏時間におさまるように調整してもよい。
【００１６】
さらに、本発明の第１の自動演奏装置は、上記オフセット量を選択自在に設定するオフセット量設定手段を備えることが好ましい。
オフセット量設定手段を備えると、演奏情報の性質やユーザの好み等に応じてオフセット量を設定することができる。
ここで、本発明の第１の自動演奏装置は、上記演奏開始位置以前の発音開始タイミングの楽音の音長に基づいて、この楽音に対する前記オフセット量を設定するオフセット量設定手段を備えていてもよい。
【００１７】
楽音の音長が長い場合は発音開始タイミングの誤差も大きいことが多く、音長に応じてオフセット量を自動設定することにより、オフセット量の設定に関し、ユーザを煩わせずに済むことになる。
なお、上記の楽音の音長は、記憶手段に記憶される演奏情報の形式に応じた方法で取得すればよい。楽音の音長が楽音を規定する情報として記憶手段に記憶されている場合はそれをそのまま読み出して上記の音長を得ることができる。また、楽音の発音開始タイミングと発音終了タイミングとがそれぞれ楽音を規定する情報として記憶されている場合は、楽音の発音終了タイミングと発音開始タイミングとの差をとるというように演算によって上記の音長を得ることができる。
【００１８】
さらに、本発明の第１の自動演奏装置は、上記記憶手段が上記楽曲の演奏テンポをあらわすテンポ情報をさらに記憶するものであり、この記憶されたテンポ情報に基づいて上記オフセット量を設定するオフセット量設定手段を備えていてもよい。
楽曲の演奏テンポが速い場合は発音開始タイミングの誤差が大きいことが多く、このテンポの情報に応じてオフセット量を自動設定することにより、オフセット量の設定に関しユーザを煩わせずに済むことになる。
【００１９】
また、本発明の第２の自動演奏装置は、
（１）楽曲を構成する複数の楽音を自動演奏するための、少なくともこの複数の楽音の発音開始タイミングをあらわす情報を含んでなる演奏情報を記憶する記憶手段
（２）上記楽曲上の演奏終了位置を指定する演奏終了位置指定手段
（３）上記楽曲上の、上記演奏終了位置指定手段により指定された演奏終了位置から時間的に早い方向に所定のオフセット量だけ離れた所定のオフセット位置以前の発音開始タイミングの楽音を自動演奏する自動演奏手段
を備えたことを特徴とする。
【００２０】
本発明の第２の自動演奏装置は、演奏終了位置に着目したものであり、演奏終了位置から時間的に早い方向に所定のオフセット量だけ離れた所定のオフセット位置以前の発音開始タイミングの楽音を自動演奏するものであるため、そのオフセットの領域内に発音開始タイミングを有する楽音の発音は防止される。例えば、図９において、第４小節の先頭を演奏終了位置とした場合、この演奏終了位置から時間的に早い方向に、例えばΔｔ2 のオフセット量だけ離れた位置Ｂがオフセット位置として設定されることにより楽音５２の発音は防止される。従って、本発明の第２の自動演奏装置によれば、演奏の終了のタイミングに関し、簡単な操作で、ユーザが考えている通りに自動演奏される。
【００２１】
ここで、本発明の第２の自動演奏装置は、上記自動演奏手段が、上記オフセット位置以降上記演奏終了位置以前の発音開始タイミングの楽音をミュートするものであることが好ましい。
自動演奏がオフセット位置まで進んだ時点で演奏を終了すると、自動演奏が演奏終了位置まで進んだ時点で演奏を終了する場合と比較して、規定の演奏時間よりも、オフセット量に相当する時間だけ演奏時間が短くなるが、上述したように、そのオフセットの領域内に発音開始タイミングの楽音をミュートすると、その楽音は発音されず、かつ自動演奏自体は演奏終了位置まで進むため、無用な楽音の発音は防止されるとともに、規定の演奏時間で演奏が行われる。
【００２２】
また、本発明の第２の自動演奏装置は、上記自動演奏手段が、上記オフセット位置まで自動演奏を進めた時点で自動演奏を終了するものであることも好ましい形態である。
オフセット位置まで自動演奏を進めた時点で自動演奏を停止させても、オフセット位置以降の発音開始タイミングの楽音の発音が防止される。演奏時間が短くなる分は、例えば前述したように演奏開始タイミングをずらすことによって、規定の演奏時間を確保することができる。
【００２３】
さらに、本発明の第２の自動演奏装置は、上記オフセット量を選択自在に設定するオフセット量設定手段を備えることが好ましい。
オフセット量設定手段を備えると、前述した第１の自動演奏装置においてオフセット量設定手段を備えた場合と同様、楽曲の性質やユーザの好み等に応じてオフセット量を設定することができる。
【００２４】
ここで、本発明の第２の自動演奏装置は、上記演奏終了位置以前の発音開始タイミングの楽音の音長に基づいて、この演奏情報に対する上記オフセット量を設定するオフセット量設定手段を備えていてもよい。これも前述した第１の自動演奏装置の場合と同様である。
さらに、本発明の第２の自動演奏装置は、上記記憶手段が上記楽曲の演奏テンポをあらわすテンポ情報をさらに記憶するものであり、この記憶されたテンポ情報に基づいて上記オフセット量を設定するオフセット量設定手段を備えていてもよい。これも前述の第１の自動演奏装置の場合と同様である。
【００２５】
また、本発明の第３の自動演奏装置は、
（１）楽曲を構成する複数の楽音を自動演奏するための、少なくともこの複数の楽音の発音開始タイミングをあらわす情報を含んでなる演奏情報を記憶する記憶手段
（２）上記楽曲上の演奏開始位置および演奏終了位置を指定するリピート区間指定手段
（３）上記楽曲上の、上記リピート区間指定手段により指定された演奏開始位置から時間的に早い方向に所定の第１のオフセット量だけ離れた所定の第１のオフセット位置と、上記リピート区間指定手段により指定された演奏終了位置から時間的に早い方向に所定の第２のオフセット量だけ離れた所定の第２のオフセット位置とに挟まれた区間内の発音開始タイミングの楽音を自動演奏する自動演奏手段
を備えたことを特徴とする。
【００２６】
本発明の第３の自動演奏装置は、演奏開始位置と演奏終了位置との双方についてオフセット領域を設定してリピート演奏を行なうものであり、前述した、楽曲上の発音開始位置に着目した第１の自動演奏装置と楽曲上の発音終了位置に着目した第２の自動演奏装置との双方の長所を取り入れたリピート演奏を行なうことができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図１は、本発明の自動演奏装置の一実施形態を示すブロック図である。
この自動演奏装置１０はＲＯＭ１３を備えており、このＲＯＭ１３には、後述する、図４から図７までのフローチャートで表されるプログラムが記憶されている。このＲＯＭ１３に記憶されているプログラムは、バス２０を経由してＣＰＵ１１に読み込まれ、操作子群１５の操作にしたがって実行される。また、この自動演奏装置１０はＲＡＭ１２を備えており、このＲＡＭ１２には、楽曲をあらわす一連の演奏情報と、演奏のテンポをあらわすテンポ情報とが記憶され、さらにＣＰＵ１１の処理で用いられる各種の変数やフラグ等が記憶される。このＲＡＭ１２に記憶された演奏情報は、バス２０を経由して音源１７に入力され、この音源１７に演奏情報が入力されると、この演奏情報が規定する楽音をあらわす楽音信号が発生し、この楽音信号はアンプ１８に送られ、スピーカ１９を経由してこの楽音信号があらわす楽音が空間に放音される。また、自動演奏装置１０は、楽譜を表示する表示器１６と、テンポクロックを発生するテンポクロック発生器１４を備えており、ＣＰＵ１１は、ＲＡＭ１２に記憶されたテンポ情報に基づき、テンポクロック発生器１４に対し、このテンポクロック発生器１４がテンポクロックを発生してから次のテンポクロックが発生するまでの時間間隔（以下、テンポ間隔と呼ぶ）をクロック数で指定し、このテンポクロック発生器１４がテンポクロックを発生したタイミングに従ってＣＰＵ１１が演奏を制御する。
【００２８】
図２は、図１に示すＲＡＭに記憶される演奏情報の形式を示す図である。
図１に示すＲＡＭ１２には、楽曲をあらわす一連の演奏情報が記憶されるが、この一連の演奏情報を構成する各演奏情報は、それぞれ、図２に示すように、楽音の発音を開始する演奏開始時刻をクロック数で示す発音位置２５、その楽音の音高を示すノート番号２６、その楽音を発音する長さをクロック数で示す音長２７を規定している。この発音位置２５、ノート番号２６、および音長２７を規定することにより、１つの楽音をあらわす１つの演奏情報が構成される。ＲＡＭ１２には、各楽音をあらわす演奏情報からなる、１つの楽曲をあらわす一連の演奏情報が記憶される。
【００２９】
図３は、図１に示す操作子群および表示器を備えたパネルを示す図である。
このパネルは、図１に示す表示器１６に対応する表示画面３１を備えている。また、図１に示す操作子群１５は、楽曲上の、１回ないし繰り返し自動演奏される区間の両端を指定するために押される、区間端Ａ指定用スイッチ３９、区間端Ｂ指定用スイッチ４０、区間端前方移動用スイッチ４１、および区間端後方移動用スイッチ４２を備えている。これらスイッチは、楽曲上の、自動演奏される区間の両端を、各小節のうちのいずれかの小節の先頭に指定するものであり、区間端Ａ指定用スイッチ３９が押されたままの状態で、区間端前方移動用スイッチ４１が押されると、区間の両端のうちの一方の端は、この一方の端が現在位置している小節の先頭よりも時間的に早い方向にある小節の先頭に移動し、区間端後方移動用スイッチ４２が押されると、この一方の端は時間的に遅い方向にある小節の先頭に移動する。また、区間端Ｂ指定用スイッチ４０が押されたままの状態で、区間端前方移動用スイッチ４１が押されると、区間の両端のうちの他方の端は、この他方の端が現在位置している小節の先頭よりも時間的に早い方向にある小節の先頭に移動し、区間端後方移動用スイッチ４２が押されると、この他方の端は、時間的に遅い方向にある小節の先頭に移動する。このようにして区間の両端は移動し、この両端のうち時間的に早い位置に設定された端が演奏開始位置となり、時間的に遅い位置に設定された端が演奏終了位置となる。また、この操作子群１５は、８分音符スイッチ３５、１６分音符スイッチ３６、３２分音符スイッチ３７、０（ゼロ）スイッチ３８を備えている。これらスイッチは、区間端Ａ指定スイッチ３９、区間端Ｂ指定用スイッチ４０、区間端前方移動用スイッチ４１、および区間端後方移動用スイッチ４２の操作により指定される楽曲上の演奏開始位置から時間的に早い方向に所定の第１のオフセット量だけ離れた所定の第１のオフセット位置、および演奏終了位置から時間的に早い方向に所定の第２のオフセット量だけ離れた所定の第２のオフセット位置を指定するスイッチであり、本実施形態では、第１のオフセット量と第２のオフセット量とは同じ量に設定される。８分音符スイッチ３５は、楽曲上の演奏開始位置および演奏終了位置それぞれの位置から、時間的に早い方向に、８分音符の符長に対応したオフセット量だけ離れた位置をオフセット位置として指定し、１６符音符スイッチ３６は、１６符音符の符長に対応したオフセット量だけ離れた位置をオフセット位置として指定し、３２分音符スイッチ３７は、３２分音符の符長に対応したオフセット量だけ離れた位置をオフセット位置として指定する。０（ゼロ）スイッチ３８は、オフセット量が「０」、つまり区間端Ａ指定スイッチ３９、区間端Ｂ指定用スイッチ４０、区間端前方移動用スイッチ４１、および区間端後方移動用スイッチ４２の操作により指定される演奏開始位置および演奏終了位置そのものをオフセット位置として指定する。
【００３０】
また操作子群１５は、楽曲上の、第１のオフセット位置と第２のオフセット位置とに挟まれた区間内に発音開始タイミングを有する演奏情報があらわす楽音を１回だけ演奏させるための再生スイッチ３２、楽曲上の、第１のオフセット位置と第２のオフセット位置とに挟まれた区間をリピート区間とし、この区間内に発音開始タイミングを有する演奏情報があらわす楽音を自動演奏させるためのリピート再生スイッチ３３、演奏を停止する停止スイッチ３４を備えている。
【００３１】
以下に、図１に示すＲＯＭ１３に記憶されているフローチャートについて説明する。
図４、図５は、これら２つの図にわたる全体で１つのメインルーチンを示す、各部分フローチャートである。また、表１および表２に、図４、図５に示すフローチャートで使われる変数およびフラグを示す。
【００３２】
【表１】
0003872186.tif 000002
【００３３】
【表２】
0003872186.tif 000003
【００３４】
このメインルーチンが起動されると、先ず、図４に示すステップＳ１０１において、図１に示されていない外部の記憶媒体、例えばフロッピィディスク等から演奏情報およびテンポ情報が読み出され、この読み出された演奏情報およびテンポ情報がＲＡＭ１２に記憶され、この記憶されたテンポ情報に基づき、テンポクロック発生器１４で発生されるテンポクロックのテンポ間隔が設定される。またこのステップＳ１０１において、変数やフラグが以下のように初期化される。
【００３５】
１小節の長さを表す小節幅ＭｅａｓＬに、（１小節を４／４拍子で表わしたときの１拍分の長さ）×４が代入される。本実施形態では１拍分の長さを２４クロックとするため、小節幅ＭｅａｓＬには、２４×４＝９６（クロック）が代入される。また、楽曲上の第１の位置Ａを表わす位置ＰｏｓＡに、楽譜の第１小節の先頭を表わす「０」（クロック）が代入され、楽曲上の第２の位置Ｂを表わす位置ＰｏｓＢに、楽譜の最終小節の末尾を表わすｘ＝小節幅ＭｅａｓＬ×（楽譜を構成する小節の数）が代入される。本実施形態では小節幅ＭｅａｓＬ＝９６（クロック）であるため、ＰｏｓＢには、９６×（楽譜を構成する小節の数）が代入される。また、楽曲上の演奏開始位置ＰｏｓＳｔにＰｏｓＡが代入され、楽曲上の演奏終了位置ＰｏｓＥｎｄにＰｏｓＢが代入される。また、演奏されているか否かを表わす演奏フラグＰｌａｙ、リピート演奏するか否かを表わすリピートフラグＲｅｐ、および楽音を発音するか否かを表わすミュートフラグＭｕｔｅは全てオフに設定される。また、楽曲上の演奏開始位置ＰｏｓＳｔと第１のオフセット位置との間の時間的に離れた量Δｔをクロック数であらわすオフセット量Ｐｒｅに「０」を代入する。本実施形態では、このオフセット量Ｐｒｅは、楽曲上の演奏終了位置ＰｏｓＥｎｄと第２のオフセット位置との間の時間的に離れた量をクロック数であらわすオフセット量をも表わしている。
【００３６】
次に、ステップＳ１０２において、図３に示す再生スイッチが押されたか否かが判定される。再生スイッチ３２が押されていないと判定されると、ステップＳ１０８に進み、リピート再生スイッチ３３が押されたか否かが判定される。リピート再生スイッチ３３が押されていないと判定されるとステップＳ１１０（図５参照）に進み区間端Ａ指定用スイッチ３９が押されたか否かが判定される。区間端Ａ指定用スイッチ３９が押されていないと判定されると、ステップＳ１１８に進み区間端Ｂ指定用スイッチ４０が押されたか否かが判定される。区間端Ｂ指定用スイッチ４０が押されていないと判定されるとステップＳ１２５に進む。このステップＳ１２５においては、０（ゼロ）スイッチ３８が押されたか否かが判定される。０（ゼロ）スイッチ３８が押されていないと判定されるとステップＳ１２７に進み、０（ゼロ）スイッチ３８が押されたと判定されるとステップＳ１２６に進む。ステップＳ１２６においてはオフセット量Ｐｒｅに「０」（クロック）を代入し、その後ステップＳ１２７に進む。ステップＳ１２７においては３２分音符スイッチ３７が押されたか否かが判定され、３２分音符スイッチ３７が押されていないと判定されるとステップＳ１２９に進み、３２分音符スイッチ３７が押されたと判定されるとステップＳ１２８に進みオフセット量Ｐｒｅに、３２分音符の符長に対応する「３」（クロック）が代入され、その後ステップＳ１２９に進む。ステップＳ１２９においては１６音符スイッチ３６が押されたか否かが判定される。１６分音符スイッチ３６が押されていないと判定されるとステップＳ１３１に進む。１６分音符スイッチ３６が押されたと判定されるとステップＳ１３０に進み、オフセット量Ｐｒｅに、１６分音符の符長に対応する「６」（クロック）が代入され、その後ステップＳ１３１に進む。ステップＳ１３１においては、８符音符スイッチ３５が押されたか否かが判定される。８符音符スイッチ３５が押されていないと判定されるとステップＳ１０２（図４参照）に戻り、８符音符スイッチ３５が押されたと判定されるとステップＳ１３２に進み、オフセット量Ｐｒｅに、８分音符の符長に対応する「１２」（クロック）が代入され、その後ステップＳ１０２に戻る。
【００３７】
従って、いずれかのスイッチが押されるまで、ステップＳ１０２から、ステップＳ１０８、ステップＳ１１０、ステップＳ１１８、ステップＳ１２５へと進み、ステップＳ１２５からステップＳ１３１へと進み、ステップＳ１３１に進んだ後ステップＳ１０２に戻るというループを繰り返し実行する。
図５に示すステップＳ１１０においては、区間端Ａ指定用スイッチ３９が押されているか否かが判定される。区間端Ａ指定用スイッチ３９が押されていると判定されるとステップＳ１１１に進み、区間端Ａ指定用スイッチ３９が押された状態で区間端後方移動用スイッチ４２が押されたか否かが判定される。区間端後方移動用スイッチ４２が押されていないと判定されるとステップＳ１１３に進み、区間端後方移動用スイッチ４２が押されたと判定されるとステップＳ１１２に進む。ステップＳ１１２では、位置ＰｏｓＡの値を小節幅ＭｅａｓＬだけ増加し、ステップＳ１１３に進む。ステップＳ１１３では区間端Ａ指定用スイッチ３９が押された状態で区間端前方移動用スイッチ４１が押されたか否かが判定される。区間端前方移動用スイッチ４１が押されていないと判定されるとステップＳ１１５に進み、表示画面３１（図３参照）に位置ＰｏｓＡが表示される。また、ステップＳ１１３において区間端前方移動用スイッチ４１が押されたと判定されるとステップＳ１１４に進む。ステップＳ１１４では、位置ＰｏｓＡの値を小節幅ＭｅａｓＬだけ減少しその後ステップＳ１１５に進み、表示画面３１（図３参照）に位置ＰｏｓＡが表示される。ステップＳ１１５において位置ＰｏｓＡが表示されるとステップＳ１１６に進み、区間端Ａ指定用スイッチ３９が押されているか否かが判定される。区間端Ａ指定用スイッチ３９が押されていると判定されるとステップＳ１１１に戻る。つまり、区間端Ａ指定用スイッチ３９から指を離すまでの間、ステップＳ１１１からステップＳ１１６まで進み再びステップＳ１１１に戻るループが繰り返される。区間端Ａ指定用スイッチ３９が押されていないと判定されるとステップＳ１１７に進む。
【００３８】
また、ステップＳ１１８において、区間端Ｂ指定用スイッチ４０が押されていると判定された場合、ステップＳ１１０において区間端Ａ指定用スイッチ３９が押された場合と同様であり、ステップＳ１１９〜ステップＳ１２４では、それぞれステップＳ１１１〜ステップＳ１１６と同様の処理が行なわれ、ステップＳ１２４において、区間端Ｂ指定用スイッチ４０が押されていないと判定されるとステップＳ１１７に進む。
【００３９】
ステップＳ１１７においては、位置ＰｏｓＡおよび位置ＰｏｓＢのうち、値の小さい方が演奏開始位置ＰｏｓＳｔに代入され、値の大きい方が演奏終了位置ＰｏｓＥｎｄに代入され、これにより、楽曲上の演奏開始位置および演奏終了位置が設定される。その後ステップＳ１０２に戻る。
ステップＳ１０２において、再生スイッチ３２が押されていると判定されるとステップＳ１０３に進み、演奏情報早読み処理が行われる。この演奏情報早読み処理では、第１のオフセット位置以降演奏開始位置ＰｏｓＳｔ以前の発音タイミングを有する演奏情報を、演奏開始位置ＰｏｓＳｔに発音タイミングを有する演奏情報であるとみなして、この演奏情報があらわす楽音を発音開始タイミングに自動演奏するルーチンである。この演奏情報早読み処理の詳細については後述する。このルーチンの実行後、ステップＳ１０４に進む。
【００４０】
ステップＳ１０４では、リピート演奏フラグＲｅｐおよびミュートフラグＭｕｔｅをオフのままに設定し、演奏フラグＰｌａｙをオンに設定し、自動演奏している現在位置をクロック数で表わす演奏位置ｃｕｒにＰｏｓＳｔが代入され、その後、ステップＳ１０５に進む。
またステップＳ１０８において、リピート再生スイッチ３３が押されたと判定されると、ステップＳ１０９においてリピート演奏フラグＲｅｐおよび演奏フラグＰｌａｙをオンに設定し、ミュートフラグＭｕｔｅはオフのままに設定し、演奏位置ｃｕｒにＰｏｓＳｔ−Ｐｒｅが代入され、ステップＳ１０５に進む。
【００４１】
ステップＳ１０５においては、停止スイッチ３４が押されたか否かが判定される。ステップＳ１０５において停止スイッチ３４が押されたと判定されるとステップＳ１０７に進み演奏フラグＰｌａｙがオフに設定され、ステップＳ１０２に戻り、メインルーチンが繰り返される。またステップＳ１０５において、停止スイッチ３４が押されていないと判定されると、ステップＳ１０６に進み、演奏フラグＰｌａｙがオフに設定されているか否かが判定される。演奏フラグＰｌａｙがオフに設定されないと判定されるとステップＳ１０５に戻り、演奏フラグＰｌａｙがオンに設定されるまで、ステップＳ１０５からステップＳ１０６に進みステップＳ１０５に戻るというループが繰り返し実行される。
【００４２】
ステップＳ１０６において演奏フラグＰｌａｙがオンに設定されていると判定されるとステップＳ１０２に戻り、メインルーチンが繰り返される。
図６は、演奏情報早読みルーチンを示すフローチャートである。
このルーチンが起動されると、先ずステップＳ１４１において、演奏位置ｃｕｒにＰｏｓＳｔ−Ｐｒｅが代入され、その後ステップＳ１４２に進み、演奏位置ｃｕｒがＰｏｓＳｔに等しいか否かが判定される。演奏位置ｃｕｒがＰｏｓＳｔと異なると判定されるとステップＳ１４３に進み、演奏位置ｃｕｒに発音開始タイミングを有する演奏情報があらわす楽音が存在していた場合、この楽音の発音が開始され、その後ステップＳ１４４に進む。このステップＳ１４４では演奏位置ｃｕｒをインクリメントし、その後ステップＳ１４２に戻り、演奏位置ｃｕｒにＰｏｓＳｔと等しくなるまでステップＳ１４２からステップＳ１４４が繰り返し実行される。ステップＳ１４２において、演奏位置ｃｕｒがＰｏｓＳｔに等しいと判定された場合は、演奏情報早読みルーチンを終了する。
【００４３】
この演奏情報早読みルーチンの実行により、ＰｏｓＳｔ−ＰｒｅからＰｏｓＳｔまでの間に演奏開始タイミングを有する演奏情報に基づく楽音は全て、演奏開始時に同時に演奏されることになる。
図７はテンポクロック割込みルーチンをあらわすフローチャートである。
このルーチンは、図１に示すテンポクロック発生器１４からのテンポクロックの発生に応じて定期的に起動される。
【００４４】
このルーチンが起動されると、先ずステップＳ１５１において、演奏フラグＰｌａｙがオンに設定されているか否か、即ち演奏中であるか否かが判定され、演奏中でなければこのルーチンを抜ける。
ステップＳ１５１において、演奏フラグＰｌａｙがオンに設定されている、即ち演奏中であると判定されると、ステップＳ１５２に進み、ミュートフラグＭｕｔｅがオンに設定されているか否か、すなわち楽音をミュートするか否かが判定される。ミュートフラグＭｕｔｅがオンに設定されていない、即ち楽音をミュートしないと判定されると、ステップＳ１５３に進み演奏位置ｃｕｒに発音開始タイミングを有する演奏情報があらわす楽音が存在していた場合、この楽音が発音ささ、その後ステップＳ１５４に進み、演奏位置ｃｕｒが表示される。ステップＳ１５２においてミュートフラグＭｕｔｅがオンに設定されている、即ち楽音をミュートすると判定されるとステップＳ１５３における発音処理はスキップする。このミュートフラグＭｕｔｅはステップＳ１５８でオンに設定される。ステップＳ１５６では、演奏位置ｃｕｒがＰｏｓＥｎｄ−Ｐｒｅであるか否かが判定される。演奏位置ｃｕｒがＰｏｓＥｎｄ−Ｐｒｅとは異なると判定されるとステップＳ１６１に進み、演奏位置ｃｕｒがＰｏｓＥｎｄ−Ｐｒｅと等しいと判定されるとステップＳ１５７に進む。このステップＳ１５７においては、リピートフラグＲｅｐがオンに設定されているか否か、即ちリピート演奏に設定されているか否かが判定される。
【００４５】
リピートフラグＲｅｐがオンではない、即ち、リピート演奏は行なわず、１回だけ自動演奏するモードであると判定されると、ステップＳ１５８に進み、ミュートフラグＭｕｔｅをオンに設定し、ステップＳ１６１に進む。このミュートフラグＭｕｔｅをオンに設定することによりＰｏｓＥｎｄ−ＰｒｅからＰｏｓＥｎｄの間に発音タイミングを有する演奏情報に基づく楽音は発音されないことになる。また、ステップＳ１５７においてリピートフラグＲｅｐがオンに設定されている、即ちリピート演奏すると判定されると、ステップＳ１５９に進み、演奏位置ｃｕｒにＰｏｓＳｔ−Ｐｒｅが代入され、ステップＳ１６０において、現在発音中の楽音が消音され、その後、ステップＳ１６１に進む。即ち、この場合、演奏位置ｃｕｒは演奏を開始した位置に戻る。ステップＳ１６１においては、演奏位置ｃｕｒがＰｏｓＥｎｄであるか否かが判定される。演奏位置ｃｕｒがＰｏｓＥｎｄではないと判定されるとこのルーチンを抜ける。演奏位置ｃｕｒがＰｏｓＥｎｄである、即ち演奏終了位置ＰｏｓＥｎｄに到達していると判定されると、ステップＳ１６２に進み、演奏フラグＰｌａｙがオフに設定されることで自動演奏が停止され、ステップＳ１６３で現在発音中の音が消音されてメインルーチンに戻る。ループ演奏のときは、演奏位置ｃｕｒがＰｏｓＥｎｄに達する前に、ステップＳ１５９において演奏位置ｃｕｒにＰｏｓＳｔ−Ｐｒｅが代入されて演奏を開始した位置に戻るため、ステップＳ１６２，Ｓ１６３は、一回のみ演奏するモードに特有の処理である。
【００４６】
本実施形態の自動演奏装置は、８分音符スイッチ３５、１６分音符スイッチ３６、および３２分音符スイッチ３７のうち、いずれかのスイッチを押すことにより、演奏開始位置から各スイッチに応じて定まるオフセット量だけ離れた第１のオフセット位置、および、演奏終了位置から各スイッチに応じて定まるオフセット量だけ離れた第２のオフセット位置を指定し、この第１のオフセット位置と第２のオフセット位置とに挟まれた区間に発音開始タイミングを有する演奏情報があらわす楽音を自動演奏するものであるため、ある小節の先頭が演奏開始位置に指定された場合、この小節の一拍目にあらわれる楽音が、この演奏開始位置よりも僅かに前に発音開始タイミングを有するものであっても、この楽音は確実に発音され、また、ある小節の先頭が演奏終了位置に指定された場合、この小節の一拍目にあらわれる楽音が、この演奏終了位置よりも僅かに前に発音開始タイミングを有するものであっても、この楽音の発音は確実に防止される。
また、本実施形態の自動演奏装置は、再生スイッチ３２が押された場合、演奏情報早読みルーチンを実行することにより、第１のオフセット位置以降演奏開始位置以前の発音タイミングを有する演奏情報を、上記演奏開始位置に発音タイミングを有する演奏情報であるとみなし、上記演奏開始位置以降に発音開始タイミングを有する演奏情報があらわす楽音を、この演奏情報があらわす発音開始タイミングに自動演奏している。従って、ある小節の先頭が演奏開始位置に指定された場合に、この小節の一拍目に複数の楽音があらわれ、これら各楽音の発音開始タイミングが、第１のオフセット位置以降演奏開始位置以前に、互いに異なる時刻にあらわれても、これらの発音開始タイミングを有する演奏情報があらわす各楽音は同時に、かつ、演奏開始位置に発音開始タイミングを有するものとして発音される。つまり、再生スイッチ３２が押された場合、演奏開始位置から自動演奏が開始されるのと等しいことになる。また、本実施形態の自動演奏装置は、再生スイッチ３２が押された場合、第２のオフセット位置以降演奏終了位置以前の発音タイミングを有する演奏情報に基づく楽音をミュートしているため、ある小節の先頭が演奏終了位置に指定された場合、この小節の一拍目にあらわれる楽音が、この演奏終了位置よりも僅か前に発音開始タイミングを有するものであっても、その無用な楽音の発音が防止され、かつ演奏自体が演奏終了位置まで進む。したがって、本実施形態の自動演奏装置は、再生スイッチ３２が押された場合、第１のオフセット位置と第２のオフセット位置とに挟まれた区間内に発音開始タイミングを有する演奏情報があらわす楽音を自動演奏させても、演奏開始位置から演奏終了位置まで自動演奏させた時の演奏時間と同じ演奏時間で演奏が行われる。
【００４７】
また、本実施形態の自動演奏装置は、リピート再生スイッチ３３が押された場合、第１のオフセット位置以降に発音開始タイミングを有する演奏情報があらわす楽音を、この演奏情報があらわす発音開始タイミングに自動演奏し、第２のオフセット位置まで自動演奏が進んだ時点で演奏位置は第１のオフセット位置に戻り、リピート演奏が行われている。本実施形態では、演奏区間の先端におけるオフセット量と演奏区間の終端におけるオフセット量は同じ量であるため、第１のオフセット位置から第２のオフセット位置までの演奏時間は、演奏開始位置から演奏終了位置まで自動演奏が行われたときの演奏時間と同じである。従って、本実施形態の自動演奏装置は、リピート再生スイッチ３３が押された場合、上述したように、第１のオフセット位置から自動演奏され、第２のオフセット位置まで自動演奏された時点で演奏位置が第１のオフセット位置に戻りリピート演奏が行われているが、このリピート演奏は、演奏開始位置から演奏終了位置までの区間がリピート演奏される場合の演奏時間と同じ演奏時間で演奏される。
【００４８】
また、本実施形態の自動演奏装置は、リピート再生スイッチ３３が押された場合、第１のオフセット位置以降に発音開始タイミングを有する演奏情報があらわす楽音を、演奏開始位置に合わせるようなことはせずに、その演奏情報があらわす発音開始タイミングに自動演奏するため、ＲＡＭ１２に記憶された演奏情報が忠実に再現された自動演奏が行われる。
【００４９】
また、本実施形態の自動演奏装置は、操作子群１５に、８分音符スイッチ３５、１６分音符スイッチ３６、３２分音符スイッチ３７、および０（ゼロ）スイッチ３８を備えているため、その楽曲や演奏情報の性質等に応じてオフセット量を設定することができる。
尚、本実施形態の自動演奏装置は、ユーザ自身が、８分音符スイッチ３５、１６分音符スイッチ３６、３２分音符スイッチ３７、および０（ゼロ）スイッチ３８を操作することによりオフセット量が設定されるが、例えば、個々の楽音の音長に基づいて、それぞれの楽音に対するオフセット量を設定するオフセット手段を備えてもよい。
【００５０】
また、本実施形態の自動演奏装置は、ＲＡＭ１２に演奏情報とともに記憶されているテンポ情報に基づいてオフセット量を設定するオフセット手段を備えてもよい。
また、本実施形態では、演奏開始位置におけるオフセット量および演奏終了位置におけるオフセット量は、互いに同じ量であるが、それらを、互いに異ならせてもよい。
【００５１】
また、本実施形態の自動演奏装置の説明時には述べていないが、この自動演奏装置を構成するＲＡＭ１２に記憶される演奏情報は、この演奏情報がＲＡＭ１２に記憶された後、この演奏情報があらわす楽音が発音される前に、この楽音の音長が所定の時間間隔の整数倍になるように量子化されており、この量子化された後の演奏情報があらわす楽音が自動演奏されている。この自動演奏装置が、この量子化された後の演奏情報に基づいて楽譜を生成し、この楽譜を表示する楽譜表示手段を備えた場合、上記所定の時間間隔に応じてオフセット量を制御してもよい。こうすることにより、楽譜に表示された音符と発音される楽音とを一致させることができる。
【００５２】
【発明の効果】
以上説明したように、本発明の自動演奏装置によれば、簡単な操作で、ユーザが考えている通りの自動演奏が行なわれる。
【図面の簡単な説明】
【図１】本発明の自動演奏装置の一実施形態を示すブロック図である。
【図２】図１に示すＲＡＭに記憶される演奏情報の形式を示す図である。
【図３】図１に示す操作子群および表示器を備えたパネルを示す図である。
【図４】図１に示すＲＯＭに記憶されているメインルーチンのうちの、再生スイッチおよびリピート再生スイッチが押された場合の部分を示す図である。
【図５】図１に示すＲＯＭに記憶されているメインルーチンのうちの、区間Ａ指定用スイッチおよび区間Ｂ指定用スイッチが押された場合の部分を示す図である。
【図６】演奏情報早読みルーチンを示すフローチャートである。
【図７】テンポクロック割込みルーチンを示すフローチャートである。
【図８】４／４拍子の楽曲の一部を表わす楽譜である。
【図９】自動演奏装置で演奏される楽音の模式図である。
【符号の説明】
１０  自動演奏装置
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  テンポクロック発生器
１５  操作子群
１６  表示器
１７  音源
１８  アンプ
１９  スピーカ
３１  表示画面
３２  再生スイッチ
３３  リピート再生スイッチ
３４  停止スイッッチ
３５  ８符音符スイッチ
３６  １６符音符スイッチ
３７  ３２符音符スイッチ
３８  ０（ゼロ）スイッチ
３９  区間Ａ指定用スイッチ
４０  区間Ｂ指定用スイッチ
４１  区間端前方移動用スイッチ
４２  区間端後方移動用スイッチ
【図１】
0003872186.tif 000004
【図２】
0003872186.tif 000005
【図３】
0003872186.tif 000006
【図４】
0003872186.tif 000007
【図５】
0003872186.tif 000008
【図６】
0003872186.tif 000009
【図７】
0003872186.tif 000010
【図８】
0003872186.tif 000011
【図９】
0003872186.tif 000012