(57)【特許請求の範囲】
【請求項１】
演奏情報を記憶する演奏情報記憶手段と、
該演奏情報記憶手段に記憶された演奏情報を再生する演奏情報再生手段と、
該演奏情報再生手段による演奏情報の再生のテンポを制御するテンポ制御手段と、
を備えた演奏情報再生装置であって、
前記演奏情報再生手段が前記再生のテンポで演奏情報を再生する際、その再生に同期して、小節の終了を検出する小節検出手段と、
外部操作により、前記再生のテンポの増減を指示するためのテンポ増減操作子と、
外部操作により、前記再生のテンポとして、予め定められたプリセットテンポを設定するためのプリセットテンポ設定操作子と、
を備え、
前記テンポ制御手段は、前記テンポ増減操作子が操作されると、該テンポ増減操作子への操作に応じて即時に前記再生のテンポを増減し、前記プリセットテンポ設定操作子が操作されると、該操作後、前記小節検出手段が小節の終了を検出するタイミングで、前記再生のテンポとしてプリセットテンポを設定することを特徴とする演奏情報再生装置。
【請求項２】
請求項１に記載の演奏情報再生手段において、
前記プリセットテンポ設定操作子が操作されると、該操作後、前記テンポ制御手段が前記再生のテンポとしてプリセットテンポを設定するまでの期間、該テンポ制御手段が前記テンポ増減操作子への操作に応じて前記再生のテンポを増減するのを禁止する増減禁止手段を備えたことを特徴とする演奏情報再生装置。
【請求項３】
請求項２に記載の演奏情報再生装置において、
前記プリセットテンポ設定操作子が操作されると、プリセットテンポを一時的に格納する一時記憶手段を備え、
前記テンポ制御手段は、前記プリセットテンポ設定操作子が操作されると、該操作後、前記一時記憶手段に格納されたプリセットテンポを、前記小節検出手段が小節の終了を検出するタイミングで、前記再生のテンポとして設定し、該プリセットテンポ設定操作子が操作された後、該一時記憶手段に格納されたプリセットテンポを該再生のテンポとして設定するまでの期間に、更に前記テンポ増減操作子が操作されると、該一時記憶手段に格納されたプリセットテンポを、該テンポ増減操作子への操作に応じて増減させることを特徴とする演奏情報再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、記憶された演奏情報の再生を行う演奏情報再生装置に関する。
【０００２】
【従来の技術】
従来より、ＲＯＭやフレキシブルディスク等の各種記憶媒体に記憶された演奏情報（自動演奏データ、自動伴奏データ）に基いて、自動演奏や自動伴奏を行う演奏情報再生装置が知られている。こうした演奏情報の再生（即ち、自動演奏、自動伴奏等）のテンポを、当該装置の使用者が自由に変更できれば便利である。そこで、従来から、自動演奏や自動伴奏のテンポを変更するためのテンポ変更用操作子として、テンポを自由に増減可能な一対の増減ボタンや、予め設定されたテンポ（プリセットテンポ）にダイレクトに変更可能なプリセットテンポスイッチ等が使用されている。
【０００３】
ところでプリセットテンポスイッチによりテンポの変更を指示すると、それまでの演奏とは無関係にテンポが変わることから、それが小節の途中であると、リズムの進行上大きな違和感が生じる可能性がある。そこで、例えば特開平５−６６７７６号公報に記載されている様に、上記テンポ変更用操作子が操作されても、テンポをすぐに変更するのではなく、自動演奏や自動伴奏が次の小節の頭まで進行したときに、新規のテンポを設定するようにした技術が開発されている。この様にすれば、テンポが急激に変わったとしても違和感を感じる可能性を少なくできる。
【０００４】
【発明が解決しようとする課題】
しかし、本来の演奏におけるテンポの変更態様は様々であり、急に変えたい場合もあるし、徐々に変えたい場合もある。上述の様な小節の頭でのみテンポを変更する技術は、テンポを急減に変動させたい場合には好適であるが、リタルダンドの様に少しずつテンポを落としていく、といった微妙なテンポの調整は自在に行うことができないという問題があった。
【０００５】
本発明は、上記課題に鑑みなされたものであり、テンポの変更態様に応じて、適切なタイミングでテンポを調節可能な演奏情報再生装置を提供することを目的とする。
【０００６】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた本発明（請求項１）の演奏情報再生装置は、演奏情報を記憶する演奏情報記憶手段と、該演奏情報記憶手段に記憶された演奏情報を再生する演奏情報再生手段と、該演奏情報再生手段による演奏情報の再生のテンポを制御するテンポ制御手段とを備えた演奏情報再生装置であって、
前記演奏情報再生手段が前記再生のテンポで演奏情報を再生する際、その再生に同期して、小節の終了を検出する小節検出手段と、外部操作により、前記再生のテンポの増減を指示するためのテンポ増減操作子と、外部操作により、前記再生のテンポとして、予め定められたプリセットテンポを設定するためのプリセットテンポ設定操作子とを備え、
前記テンポ制御手段は、前記テンポ増減操作子が操作されると、該テンポ増減操作子への操作に応じて即時に前記再生のテンポを増減し、前記プリセットテンポ設定操作子が操作されると、該操作後、前記小節検出手段が小節の終了を検出するタイミングで、前記再生のテンポとしてプリセットテンポを設定することを特徴とする。
【０００７】
上記の様に構成された本発明（請求項１記載）の演奏情報再生装置においては、演奏情報記憶手段が演奏情報を記憶しており、演奏情報再生手段が、テンポ制御手段により制御される再生のテンポで演奏情報を再生する。また、演奏情報再生手段が演奏情報を再生する際、その再生に同期して、小節検出手段が、小節の終了を検出する。そして、テンポ制御手段は、テンポ増減操作子が操作されると、そのテンポ増減操作子の操作に応じて即時に再生のテンポを増減し、プリセットテンポ設定操作子が操作されると、その後小節検出手段が小節の終了を検出するタイミングで、再生のテンポとしてプリセットテンポを設定する。
【０００８】
すなわち、本発明（請求項１）の演奏情報再生装置では、再生のテンポを「徐々に」変更したい場合であっても「急激に」変更したい場合であっても、画一的に「演奏が次の小節の頭まで進行した時点」か「即時（リアルタイム）」のどちらかでテンポを変更するのではなく、再生のテンポの増減を指示するためのテンポ増減操作子が操作された場合には、その操作に基き、リアルタイムで再生のテンポを増減して変更し、プリセットテンポの設定を指示するためのプリセットテンポ設定操作子が操作された場合には、即時にプリセットテンポへの変更を行うのではなく、その次の小節の頭まで待ち、小節が新しくなった時点（即ち、小節検出手段が小節の終了を検出したタイミング）で初めて、再生のテンポとして、プリセットテンポを設定するのである。
【０００９】
したがって、本発明の演奏情報再生装置によれば、テンポ増減操作子を操作すれば「リアルタイム」で再生のテンポを徐々に速くしたり遅くしたりすることができるし、プリセットテンポ設定操作子を操作すれば、小節の頭で違和感なく再生のテンポを急激に、プリセットテンポに変更することができる。つまり、徐々に再生のテンポを変えたい場合にはテンポ増減操作子への操作に応じて「即時に」、一方、急激に変更したい場合は「小節が変わるタイミングに合わせて」、という様に、テンポの変更態様に応じて適切なタイミングで再生のテンポの調節を行うことができ、テンポの変化に富んだ演奏情報の再生を行わせることができるのである。
【００１０】
さて、本発明の演奏情報再生装置によれば、例えば、ある旋律の終局部分において、テンポ増減操作子を操作することにより「徐々にテンポを落とす」と共に、プリセットテンポ設定操作子を操作しておき、次の小節から始まる旋律の冒頭部分からは、がらっと速いテンポにすることもでき、大変変化に富んだテンポ操作を行うことが可能である。しかし、この様にプリセットテンポ設定操作子を操作した後も、テンポ増減操作子を操作して現在の再生のテンポを増減させる場合、次の小節に移ったにも拘わらず、誤ってテンポ増減操作子の操作を続けてしまう可能性がある。そうすると、本来使用者が望んでいたテンポ（即ちプリセットテンポ）とは異なるテンポで、次の旋律の演奏（即ち演奏情報の再生）が行われてしまうことになる。そこで、請求項２に記載の様に、プリセットテンポ設定操作子が操作されると、その操作後、テンポ制御手段が再生のテンポとしてプリセットテンポを設定するまでの期間、テンポ制御手段がテンポ増減操作子への操作に応じて再生のテンポを増減するのを禁止する増減禁止手段を設けるようにすれば良い。これにより、上記のような誤操作を防止できるので好ましい。
【００１１】
ところで、プリセットテンポ設定操作子に対応して設定されるプリセットテンポは、本発明の演奏情報再生装置の出荷時に予め設定するようにしても良いし、また、演奏情報を再生する前に予め使用者の好みで設定するようにしても良い。そして、プリセットテンポ設定操作子を多数設け、各々に異なるプリセットテンポを設定すれば、よりテンポ変化に富んだ演奏を楽しむことができる。
【００１２】
しかし、一般に、使用されるテンポの値の範囲は広く、すべての値についてプリセットテンポとして設定することはできない。そこで、請求項３に記載の様に、プリセットテンポ設定操作子が操作されると、プリセットテンポを一時的に格納する一時記憶手段を設けると共に、テンポ制御手段を次の様に構成すると良い。即ち、プリセットテンポ設定操作子が操作されると、その操作後、一時記憶手段に格納されたプリセットテンポを、小節検出手段が小節の終了を検出するタイミングで、再生のテンポとして設定するようにし、そして、プリセットテンポ設定操作子が操作された後、一時記憶手段に格納されたプリセットテンポを再生のテンポとして設定するまでの期間に、更に前記テンポ増減操作子が操作されるた場合には、その一時記憶手段に格納されたプリセットテンポを、テンポ増減操作子への操作に応じて増減させるよう構成するのである。
【００１３】
この様にすれば、次の小節の頭からテンポをがらっと変化させたい場合に、その目的とするテンポがプリセットテンポとして設定されていなくても、まずプリセットテンポ設定操作子を操作して、その後テンポ増減操作子を操作すれば、目的のテンポで演奏情報の再生を行わせることができるのである。この結果、より多様なテンポで演奏情報の再生を行うことができる。また更に、プリセットテンポ設定操作子を多数を備えるよう構成し、各プリセットテンポ設定操作子に異なるプリセットテンポを割り当てるものとすれば、目的とするテンポに最も近いプリセットテンポが割り当てられたプリセットテンポ設定操作子を操作した後、テンポ増減操作子を操作することにより、速やかに目的のテンポを得ることができる等、当該演奏情報再生装置の操作性を向上させることができるので、好ましい。
【００１４】
【発明の実施の形態】
以下に本発明の一実施例である演奏情報再生装置が適用された電子楽器を図面と共に説明する。なお、本実施例の電子楽器においては、演奏情報として記憶された自動伴奏データの再生（即ち、自動伴奏）を行うものとして説明する。
【００１５】
図１は、本発明の演奏情報再生装置が適用された電子楽器の電気的構成を表わすブロック図である。
図１に示す如く、電子楽器は、ＣＰＵ２、ＲＯＭ４、ＲＡＭ６、タイマ８、パネル１０、キーボード１２、楽音発生回路１４、フレキシブルディスクドライブ（ＦＤＤ）１８、ＭＩＤＩインターフェイス回路（以下、「Ｉ／Ｆ回路」という。）２０およびこれら各部を結ぶバス２１から構成されている。
【００１６】
ここでまず、パネル１０には、図２に示す様に液晶表示板２２、パラメータ選択スイッチ２４ａ、２４ｂ、２４ｃ、…（以下総称するときは「パラメータ選択スイッチ２４」という。）、プリセットテンポスイッチ２６、インクリメンタ２８、自動演奏スイッチ３０等の操作子が設けられている。パネル１０には、この他にも図示しないリズムスタイル選択スイッチ等その他の操作子の他、ＣＰＵ２の制御により各操作子（パラメータ選択スイッチ２４、プリセットテンポスイッチ２６、インクリメンタ２８その他の操作子）による入力情報を読み込むためのパネルスキャン回路（図示せず）及び液晶表示板２２を駆動する駆動回路（図示せず）が設けられている。
【００１７】
液晶表示板２２には、当該電子楽器に設定された音色、テンポ、リズムスタイルその他の演奏パラメータが表示される。また液晶表示板２２には、カーソル（斜線で示す）が表示され、使用者が、パラメータ選択スイッチ２４の内の一つを押して、変更したい演奏パラメータを選択すると、その選択された演奏パラメータが表示されている位置にカーソルが移動される。選択された演奏パラメータ、即ちカーソルにより指示された演奏パラメータは、インクリメンタ２８その他の操作子を操作することにより変更できる。このインクリメンタ２８は、使用者により回転軸を中心に回転可能な円板であり、その裏側には、インクリメンタ２８の回転を検出する回転センサ（図示せず）が設けられている。回転センサは、インクリメンタ２８が予め定められた角度だけ回転操作される度に、インクリメンタ２８の回転操作（インクリメンタイベント）及びその回転方向を検出する。カーソルにより指定された演奏パラメータは、インクリメンタ２８に対する回転操作に応じて変更される。
【００１８】
例えば各種演奏パラメータの内、「自動伴奏のテンポ」を選択するパラメータ選択スイッチ２４ｃが押されると、図２に示す様に、カーソルは液晶表示板２２内のテンポ（本実施例では、１分間当りの拍数）が表示されている位置に移動される。この状態で、インクリメンタ２８が右回り（図２中の＋方向）に回転操作されると、テンポが増やされ、左回り（図２中の−方向）に回転操作されるとテンポが減らされる。つまり、現時点にて設定されているテンポに対して、インクリメンタ２８の操作により増減がなされ、その後、増減された新しいテンポにて自動伴奏がなされるようになると共に、液晶表示板２２には、その新しいテンポが表示されるのである。
【００１９】
また、テンポは、プリセットテンポスイッチ２６によっても変更可能とされている。プリセットテンポスイッチ２６は、複数のプリセットテンポスイッチ２６ａ、２６ｂ、…を備えており、各プリセットテンポスイッチ２６夫々に対して、プリセットテンポが予め設定されている。例えば、プリセットテンポスイッチ２６ａには、プリセットテンポとして”１２０”が設定されている。このプリセットテンポスイッチ２６ａを押すと、図２に示す様に、液晶表示板２２のテンポを示す位置に”１２０”と表示されると共に、以後、自動伴奏は”１２０”のテンポで実行されるのである。
【００２０】
なお、自動伴奏の開始および終了は、自動伴奏スイッチ３０を操作することによって自由に指示することができる。この自動伴奏スイッチ３０は、自動伴奏を開始させるための自動伴奏スタートスイッチ（スタートＳＷ）３０ａおよび自動伴奏を終了させるための自動伴奏ストップスイッチ（ストップＳＷ）３０ａの一対のスイッチとして構成されている。
【００２１】
図１に戻って説明を続ける。キーボード１２は複数のキー（本実施例では８８個）から構成されている。キーボード１２にはこの他、夫々のキーのキーイベント（即ち押鍵操作、離鍵操作）、押鍵の強弱およびキーナンバー等のキーイベント情報を検出するタッチセンサと、ＣＰＵ２の制御により各キーのタッチセンサをスキャンして、キーイベント情報をＣＰＵ２に転送するキーボードスキャン回路とが設けられている。
【００２２】
楽音発生回路１４は、時分割多重処理によって、複数チャネル（本実施例では３２チャネル）の独立したデジタル楽音信号を発生可能に構成されている。この楽音発生回路１４内には、デジタル楽音信号を各チャネルから発音するのに必要な各種データを各チャネル毎に格納するアサイメントメモリ１４ａが備えられており、このアサイメントメモリ１４ａにセットされたデータに基づいてデジタル楽音信号が生成される。また、楽音発生回路１４には、リバーブ等の各種効果を楽音に付与するデジタルシグナルプロセッサ（ＤＳＰ）も備えられており、楽音発生回路１４に各種データを転送すると共に、ＤＳＰにエフェクトプログラム、エフェクト係数等を転送することにより、発生される楽音信号にリバーブ等の各種効果を楽音に与えることができる。
【００２３】
楽音発生回路１４にて生成されたデジタル楽音信号は、サウンドシステム１６に供給される。サウンドシステム１６は、Ｄ／Ａ変換器、アンプおよびスピーカ等から構成されており、楽音発生回路１４から出力されるデジタル楽音信号をＤ／Ａ変換器にてアナログ楽音信号に変換し、更にアンプにてアナログ楽音信号を増幅して、スピーカから楽音を発生させる。
【００２４】
ＣＰＵ２は、ＲＯＭ４に格納された制御プログラム（楽音発生のための制御プログラムその他のＣＰＵ２にて実行される制御手順を記述した各種のプログラム）に従い、パネルスキャン回路にパネル１０のスキャンを行わせ、パネル１０上の各種スイッチの操作（パネルイベント）に伴う各種の情報（パネルイベント情報）を読み取ると共に、キーボードスキャン回路にキーボード１２のスキャンを行わせ、キーイベント情報を読み取る。そして、楽音発生回路１４においてデジタル楽音信号を発生させるのに使用する楽音発生チャネル（チャネル）を割り当て、割り当てたチャネルに対する制御を行う、といった手順で楽音の発音処理を実行する。
【００２５】
また、このＣＰＵ２には、割込入力端子ＩＮＴが設けられており、タイマ８から割込信号が供給される。一方タイマ８には、割込信号を所定時間間隔で供給するためのダウンカウンタが設定けられている。
ダウンカウンタは、予め定められた時間間隔（例えば、１０μｓｅｃ毎）で、自身が保持する値を減少させるよう構成されている。ダウンカウンタの初期値はＣＰＵ２により設定可能であり、例えば、その初期値として「１００」が設定されると、所定時間間隔で、「１００」から「１」ずつ減らされる。そして、ダウンカウンタの値が「０」になると、タイマ８からＣＰＵ２の割込入力端子ＩＮＴに割込信号が入力されると共に、ダウンカウンタの値は再び「１００」から「１」ずつ減らされていく。例えば、上記の時間間隔が１０μｓｅｃであり、初期値として「１００」がセットされた場合、ＣＰＵ２には１ｍｓｅｃ（＝１０μｓｅｃ×１００）毎に割込信号が入力され、「２００」がセットされると、ＣＰＵ２には２ｍｓｅｃ毎に割込信号が入力されることになる。後述する様に、タイマ８からＣＰＵ２への所定回数の割込みに要する時間を以って、１拍の長さを規定しているので、ダウンカウンタの初期値を変更することにより、自動伴奏のテンポを変更することができるのである。
【００２６】
ＲＯＭ４には、制御プログラムの他、自動演奏データ（シークエンスデータ）、自動伴奏データ（スタイルデータ）、各種楽音データ等が工場出荷時に記憶、格納されている。ＣＰＵ２は、パネル１０の操作によって当該装置が自動伴奏モードに設定された場合には、自動伴奏データに基づき楽音発生回路１４から楽音信号を発生させて自動伴奏を行う。
【００２７】
また、ＲＡＭ６は、ＣＰＵ２の作業用領域として使用される他、例えばパネルスキャン回路により検出されたパネルイベント情報や、キースキャン回路によりスキャンされたキーイベント情報を一時的に記憶するバッファが定義されている他、レジスタ（例えば後述するテンポレジスタＴＭＰ等）、カウンタ、フラグ等の各種領域が定義されている。
【００２８】
以上の様に構成された電子楽器において、ＣＰＵ２が実行する制御処理を図３〜５に基づいて説明する。この電子楽器の電源が投入されると、図３に示すメインルーチンが起動される。
メインルーチンではまず、ステップ（以下、「Ｓ」と記す。）１０にて、ＲＡＭ６に記憶された内容があれば、それをクリアしたり、後述する自動伴奏フラグＲＵＮ、イベントフラグＥＶＥＮＴに０にリセットしたり、また、楽音発生回路１４のアサイメントメモリ１４ａの内に記憶された内容があれば、それをクリアしたりする等の初期化処理を行う。
【００２９】
次に、パネルスキャン回路にパネル１０をスキャンさせ、パネルイベントがあったかどうかを調べる（Ｓ２０）。パネルイベントが発生していたら（Ｓ２０：ＹＥＳ）、パネルイベント処理を行った後（Ｓ３０）、Ｓ４０に移行する。このパネルイベント処理は、図４に示す様に、各スイッチのオン／オフ情報に対応する動作を行う処理である。
【００３０】
パネルイベント処理が開始されると、まず、スタートＳＷ３０ａがオンされたか否かを判断し（Ｓ１１０）、スタートＳＷ３０ａがオンされたと判断した場合（Ｓ１１０：ＹＥＳ）は、クロックカウンタＣＬＯＣＫ、ビートカウンタＢＥＡＴ、バーカウンタＢＡＲを「０」にリセットすると共に、自動伴奏フラグＲＵＮを「１」とし（Ｓ１２０）、Ｓ１３０に移行する。一方、スタートＳＷ３０ａがオンされたと判断しなかった場合（Ｓ１１０：ＮＯ）は、Ｓ１２０を実行することなく、Ｓ１３０に移行する。なお、クロックカウンタＣＬＯＣＫ、ビートカウンタＢＥＡＴおよびバーカウンタＢＡＲは、後述するタイマ割込処理により歩進される（即ち、その値が１ずつ増加される）カウンタである。ビートカウンタＢＥＡＴは拍の番号（即ち、一小節中の何拍目かを示す番号）に相当し、バーカウンタＢＡＲは小節番号を示す。
【００３１】
さてＳ２３０では、ストップＳＷ３０ｂがオンされたか否かを判断し、ストップＳＷ３０ｂがオンされたと判断した場合（Ｓ１３０：ＹＥＳ）は、自動伴奏フラグＲＵＮを「０」とし（Ｓ１４０）、自動伴奏により発音されている楽音を速やかに消音させる旨の指令を、楽音発生回路１４に送信（Ｓ１５０）して、Ｓ１６０に移行する。一方、ストップＳＷ３０ｂがオンされたと判断しなかった場合（Ｓ１３０：ＮＯ）は、Ｓ１４０、Ｓ１５０を実行することなく、Ｓ１６０に移行する。
【００３２】
Ｓ１６０では、プリセットテンポスイッチ２６の内の何れかがオンされたか否かを判断する。そして、プリセットテンポスイッチ２６の内の何れかがオンされたと判断しなかった場合（Ｓ１６０：ＮＯ）にはＳ１９０に移行するが、プリセットテンポスイッチ２６の内の何れかがオンされたと判断した場合（Ｓ１６０：ＹＥＳ）には、テンポレジスタＴＭＰに、各プリセットテンポスイッチ２６に予め（工場出荷時および使用者の設定操作により）設定されているプリセットテンポをセットする（Ｓ１７０）と共に、イベントフラグＥＶＥＮＴに「１」をセットして、Ｓ１９０に移行する。
【００３３】
Ｓ１９０では、図６に示す様に、インクリメンタ２８の操作（インクリメンタイベント）が行われていれば、それに対応してインクリメンタ対応処理を行う。即ち、インクリメンタ対応処理を開始すると、まず、テンポを増やすようなインクリメンタ２８の操作（テンポインクリメント）が行われたか、即ち、インクリメンタ２８が＋方向に回転操作されたか否かを判断する（Ｓ２１０）。ここで、テンポインクリメントでないと判断した場合（Ｓ２１０：ＮＯ）にはＳ２５０に移行するが、テンポインクリメントであると判断した場合（Ｓ２１０：ＹＥＳ）には、テンポレジスタＴＭＰを「１」増加させ（Ｓ２２０）、更に、イベントフラグＥＶＥＮＴ＝「１」であるか否かを判断する（Ｓ２３０）。イベントフラグＥＶＥＮＴ＝「１」であると判断した場合（Ｓ２３０：ＹＥＳ）には、Ｓ２５０に移行するが、イベントフラグＥＶＥＮＴ＝「１」でないと判断した場合（Ｓ２３０：ＮＯ）には、テンポレジスタＴＭＰに基づいてダウンカウンタの初期値を設定して（２４０）、Ｓ２５０に移行する。ここで、テンポレジスタＴＭＰとダウンカウンタの初期値との対応関係がテーブルとして予めＲＯＭ４に記憶されており、ＣＰＵ２は、このテーブルを参照して、テンポレジスタＴＭＰに応じてダウンカウンタの初期値を設定するのである。
【００３４】
Ｓ２５０では、テンポを減らすようなインクリメンタ２８の操作（テンポデクリメント）が行われたか、即ち、インクリメンタ２８が−方向に回転操作されたか否かを判断する。ここで、テンポデクリメントでないと判断した場合（Ｓ２５０：ＮＯ）には、パネルイベント処理に戻るが、テンポデクリメントであると判断した場合（Ｓ２５０：ＹＥＳ）には、テンポレジスタＴＭＰを「１」減少させ（Ｓ２６０）、そして、イベントフラグＥＶＥＮＴ＝「１」であるか否かを判断する（Ｓ２７０）。イベントフラグＥＶＥＮＴ＝「１」であると判断した場合（Ｓ２７０：ＹＥＳ）には、パネルイベント処理に戻るが、イベントフラグＥＶＥＮＴ＝「１」でないと判断した場合（Ｓ２７０：ＮＯ）には、テンポレジスタＴＭＰに基づいてダウンカウンタを設定した後（Ｓ２８０）、図４のパネルイベント処理に戻る。
【００３５】
つまり、テンポレジスタＴＭＰにプリセットテンポが設定された状態（即ち、イベントフラグＥＶＥＮＴ＝「１」である状態）においては、インクリメンタ２８の操作に応じてテンポレジスタＴＭＰを更に増減するが、その増減したテンポレジスタＴＭＰに基づいたダウンカウンタの設定は行わないのである。
【００３６】
図５に戻り、上記のようなインクリメンタ対応処理（Ｓ１９０）の後、パネル１０上のその他のスイッチに対する操作に対する処理（Ｓ２００）、例えば、テンポレジスタＴＭＰが変更された場合には新規のテンポレジスタＴＭＰに基づき、液晶表示板２２における自動伴奏のテンポの表示を更新する等の処理を行い、図３のメインルーチンに戻る。
【００３７】
図３のメインルーチンにおいて、Ｓ２０での判断処理の結果、パネルイベントが発生していないと判断した場合（Ｓ２０：ＮＯ）、Ｓ３０を行わず、直ちにＳ４０に移行する。Ｓ４０では、キーボードスキャン回路にキーボード１２をスキャンさせて、キーイベントが発生したかどうかを調べる。キーイベントが発生したと判断した場合（Ｓ４０：ＹＥＳ）、キーオン／オフ情報を作成し、ＲＡＭ６に記憶させると共に、キーオン／オフ情報に基づいて楽音発生回路１４に発音或いは消音処理を行わせる（Ｓ５０）。一方、キーイベントが発生していない場合（Ｓ４０：ＮＯ）には、Ｓ５０を行わず、直接Ｓ６０に移行する。
【００３８】
Ｓ６０では、自動伴奏を開始すべきか否か、即ち、自動伴奏フラグＲＵＮ＝「１」か否かを判断する。そして、自動伴奏フラグＲＵＮ＝「１」であると判断した場合（Ｓ６０：ＹＥＳ）、ＲＯＭ４に格納されている自動伴奏データを読み出し、これに基づいて発音、消音等の処理を行う自動伴奏処理を実行する（Ｓ７０）。この自動伴奏における発音や消音等の処理は、タイマ８からＣＰＵ２の割込入力端子ＩＮＴに入力される割込信号によって歩進されるビートカウンタＢＥＡＴやバーカウンタＢＡＲを参照して行われる。次に、こうしたビートカウンタＢＥＡＴやバーカウンタＢＡＲを歩進させる制御処理について、図６に示すタイマ割込処理に基づき説明する。
【００３９】
タイマ割込処理は、タイマ８内に設定されているダウンカウンタの値が「０」となり、割込入力端子ＩＮＴにタイマ８から割込信号が入力される度に起動される。
この処理が起動されると、まず、自動伴奏フラグＲＵＮ＝「１」であるか否かを判断する（Ｓ３１０）。自動伴奏フラグＲＵＮ＝「１」でないと判断すると（Ｓ３１０：ＮＯ）、直ちに本タイマ割込処理を終了するが、自動伴奏フラグＲＵＮ＝「１」であると判断すると（Ｓ３１０：ＹＥＳ）、クロックカウンタＣＬＯＣＫを「１」増加させ（Ｓ３２０）、クロックカウンタＣＬＯＣＫが「９６」以上であるか否かを判断する（Ｓ３３０）。クロックカウンタＣＬＯＣＫが「９６」以上であると判断しなかった場合（Ｓ３３０：ＮＯ）は、直ぐに本タイマ割込処理を終了するが、クロックカウンタＣＬＯＣＫが「９６」以上であると判断した場合（Ｓ３３０：ＹＥＳ）には、ビートカウンタＢＥＡＴを「１」増加させると共にクロックカウンタＣＬＯＣＫを「０」にリセットし（Ｓ３４０）、ビートカウンタＢＥＡＴ＝「４」であるか否かを判断する（Ｓ３５０）。ビートカウンタＢＥＡＴが「４」であると判断しなかった場合（Ｓ３５０：ＮＯ）は、直ぐに本タイマ割込処理を終了する。一方、ビートカウンタＢＥＡＴが「４」であると判断した場合（Ｓ３５０：ＹＥＳ）には、バーカウンタＢＡＲを「１」増加させると共にビートカウンタＢＥＡＴを「０」にリセットする（Ｓ３６０）。
【００４０】
つまり、クロックカウンタＣＬＯＣＫ、ビートカウンタＢＥＡＴおよびバーカウンタＢＡＲは、自動伴奏フラグＲＵＮ＝「１」である場合にタイマ割込処理が起動されるタイミングで歩進されるカウンタであり、クロックカウンタＣＬＯＣＫを所定回数（本実施例では、９６回）歩進させて一拍（ビートカウンタＢＥＡＴ）を数え、ビートカウンタＢＥＡＴを所定回数（本実施例では４回）歩進させる毎に、バーカウンタＢＡＲの値を歩進させて（即ち、小節を数えて）いるのである。
【００４１】
さて、Ｓ３６０にてビートカウンタＢＥＡＴに「０」をセットした後、Ｓ３７０に移行して、イベントフラグＥＶＥＮＴ＝「１」であるか否かを判断し、イベントフラグＥＶＥＮＴ＝「１」であると判断しなかった場合（Ｓ３７０：ＮＯ）には、直ぐに本タイマ割込処理を終了する。一方、イベントフラグＥＶＥＮＴ＝「１」であると判断した場合（Ｓ３７０：ＹＥＳ）には、イベントフラグＥＶＥＮＴを「０」にリセットし（Ｓ３８０）、テンポレジスタＴＭＰに基いて、ダウンカウンタの初期値を設定する（Ｓ３９０）。
【００４２】
つまり、プリセットテンポスイッチ２６にてテンポレジスタＴＭＰの値が変更された状態（即ち、イベントフラグＥＶＥＮＴ＝「１」）にある場合には、バーカウンタＢＡＲの値が歩進されるタイミングで、テンポレジスタＴＭＰの値に基づきダウンカウンタの初期値が改められ、自動伴奏のテンポが変更されるのである。
【００４３】
さて、Ｓ７０においては、上述の様に制御されるクロックカウンタＣＬＯＣＫ、ビートカウンタＢＥＡＴおよびバーカウンタＢＡＲの値を参照して自動伴奏処理を行うのであるが、具体的には、まず、ＲＯＭ４に格納されている自動伴奏データからデータを１つだけ読み出す。自動伴奏データには、例えば音高をしめすキーナンバ、楽音の強さを示すイニシャルタッチデータ等の自動伴奏処理の対象となる各種データ処理と共に、処理すべきタイミングを示すステップタイムが記録されている。このステップタイムと、クロックカウンタＣＬＯＣＫ、ビートカウンタＢＥＡＴおよびバーカウンタＢＡＲの値から導出されるステップタイムとを比較することにより、その自動伴奏データに基づいた処理（例えば、発音、消音、音色変更等）を行うべきかどうか判断する。両ステップタイムが一致しており、処理すべきタイミングであると判断した場合には、読み出した自動伴奏データに応じた処理を行うが、一致していない場合には、何も行わず終了する。こうして、自動伴奏処理では、自動伴奏データと、クロックカウンタＣＬＯＣＫ、ビートカウンタＢＥＡＴおよびバーカウンタＢＡＲの値とに基いた処理を行うのである。なお、Ｓ７０を終了した後、Ｓ８０に移行する。
【００４４】
さて、Ｓ６０にて自動伴奏フラグＲＵＮ＝「１」でないと判断した場合（Ｓ６０：ＮＯ）には、Ｓ７０を行うことなく、Ｓ８０に移行する。Ｓ８０では、Ｉ／Ｆ回路２０を介したデータの入出力や、ＦＤＤ１８によるＦＤの読書き等の「その他の処理」を行い、Ｓ２０に戻る。
【００４５】
以上説明したように、本実施例の電子楽器においては、インクリメンタ２８が操作された場合には、そのインクリメンタ２８に対する操作（即ち、＋方向或いは−方向への回転操作）に応じて自動伴奏のテンポを増減し、プリセットテンポスイッチ２６が操作された場合には、バーカウンタＢＡＲが歩進されるタイミング（即ち、小節の終了を検出するタイミング）で、自動伴奏のテンポとして、そのプリセットテンポスイッチ２６に対応するプリセットテンポを設定する。したがって、本実施例の電子楽器によれば、インクリメンタ２８を操作することによりリアルタイムで自動伴奏のテンポを徐々に速くしたり遅くしたりすることができるし、プリセットテンポスイッチ２６を操作することにより小節の頭で、違和感なくテンポを変更することができる。即ち、テンポの変更態様に応じて適切なタイミングで自動伴奏のテンポの調節を行って、変化に富んだ自動伴奏を行わせることができる。
【００４６】
また、プリセットテンポスイッチ２６が操作されるとプリセットテンポを一時的にテンポレジスタＴＭＰに格納し、その後のバーカウンタＢＡＲが歩進されるタイミングで、テンポレジスタＴＭＰに格納されたプリセットテンポを自動伴奏のテンポとして設定するよう構成されている。そして、テンポレジスタＴＭＰに格納したプリセットテンポを自動伴奏のテンポとして設定する前に、インクリメンタ２８が操作された場合には、そのインクリメンタ２８に対する操作に応じて、即時にテンポレジスタＴＭＰの値（即ち、プリセットテンポ）を増減する。したがって、次の小節からテンポをがらっと変化させたい場合に、その目的とするテンポがプリセットテンポとして設定されていなくても、それに近いプリセットテンポが設定されているプリセットテンポ設定操作子を操作した後、テンポ増減操作子を操作することにより、より多様なテンポで演奏情報の再生を行うことができるので好ましい。
【００４７】
尚、本実施例において、インクリメンタ２８がテンポ増減操作子に相当し、プリセットテンポスイッチ２６がプリセットテンポ設定操作子に相当する。また、ＲＯＭ４が演奏情報記憶手段に相当し、Ｓ２１０、Ｓ２２０、Ｓ２４０〜Ｓ２６０、Ｓ２８０およびＳ３７０〜Ｓ３９０の処理がテンポ制御手段としての処理に相当し、Ｓ２３０、Ｓ２７０の処理が増減禁止手段としての処理に相当する。また、楽音発生回路１４、アサイメントメモリ１４ａ、サウンドシステム１６およびＳ７０の処理が演奏情報再生手段を構成し、Ｓ３１０〜Ｓ３６０の処理およびタイマ８が小節検出手段を構成し、Ｓ１６０、Ｓ１７０の処理およびテンポレジスタＴＭＰが一時記憶手段を構成する。
【００４８】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定される物ではなく、種々の態様を取ることができる。
例えば上記実施例の演奏情報再生装置においては、テンポ増減操作子として、インクリメンタ２８を使用するものとして説明したが、これに限られるものではなく、例えば、所謂ベンダーホイール、データスライダ、一対のボタンスイッチからなるアップダウンスイッチ等を使用しても良い。
【００４９】
また、上記実施例では、ＲＯＭ４に記憶された演奏情報（自動伴奏データ）を再生するものとして説明したが、これに限られるのもではなく、例えば、ＦＤに記録された演奏情報をＦＤＤ１８を介して読み出して再生するようにしても良いし、また、Ｉ／Ｆ回路２０を介して読込んだＭＩＤＩデータを再生するようにしても良い。
【００５０】
また、上記実施例の演奏情報再生装置においては、クロックカウンタＣＬＯＣＫを一定値（実施例では「９６」）まで増加させると、ビートカウンタＢＥＡＴを「１」増加させるようにしたが、これに限られるものではない。例えば、再生しようとする演奏情報やパネル１０への入力に基いて、ビートカウンタＢＥＡＴを「１」増加させるに必要なクロックカウンタＣＬＯＣＫの値を設定するようにしても良い。これは、ビートカウンタＢＥＡＴとバーカウンタＢＡＲとの関係でも同様であり、本実施例では、ビートカウンタＢＥＡＴを一定値（実施例では「４」）まで増加させると、バーカウンタＢＡＲを「１」増加させるようにしたが、例えば、再生しようとする演奏情報やパネル１０への入力に基いて、バーカウンタＢＡＲを「１」増加させるに必要なビートカウンタＢＥＡＴの値を設定するようにしても良いのである。
【００５１】
また、上記実施例では、タイマ８の動作により歩進されるビートカウンタＢＥＡＴに基いて、小節の終了を検出するようにしていたが、これに限られず、演奏情報中に小節の終了タイミングを示す情報が記録されている場合には、それを検出することにより、小節の終了を検出するようにしても良い。
【００５２】
また、上記実施例の演奏情報再生装置においては、プリセットテンポスイッチ２６が押された後初めて小節が変わるまでは、その押されたプリセットテンポスイッチ２６により設定されたテンポレジスタＴＭＰは、インクリメンタ２８により増減可能なものとして説明した。そして、増減結果であるテンポレジスタＴＭＰに基づき、ダウンカウンタの初期値を設定して、自動伴奏のテンポを変更するものとした。しかし、これに限られず、図５に示すインクリメンタ対応処理の代わりに、例えば図７に示す様な処理をするものとしても良い。以下、図７に示すインクリメンタ対応処理について説明する。
【００５３】
このインクリメンタ対応処理が起動されると、まず、テンポインクリメントが行われたか否かを判断する（Ｓ４１０）。ここで、テンポインクリメントでないと判断した場合（Ｓ４１０：ＮＯ）にはＳ４５０に移行するが、テンポインクリメントであると判断した場合（Ｓ４１０：ＹＥＳ）には、更にイベントフラグＥＶＥＮＴ＝「１」であるか否かを判断する（Ｓ４２０）。ここでイベントフラグＥＶＥＮＴ＝「１」であると判断した場合（Ｓ４２０：ＹＥＳ）にはＳ４５０に移行するが、イベントフラグＥＶＥＮＴ＝「１」でないと判断した場合（Ｓ４２０：ＮＯ）には、テンポレジスタＴＭＰを「１」増加させ（Ｓ４３０）、そして、テンポレジスタＴＭＰに基づいてダウンカウンタの初期値を設定して（Ｓ４４０）、Ｓ４５０に移行する。
【００５４】
Ｓ４５０では、テンポデクリメントが行われたか否かを判断する。ここで、テンポインクリメントでないと判断した場合（Ｓ４５０：ＮＯ）にはパネルイベント処理に戻るが、テンポデクリメントであると判断した場合（Ｓ４５０：ＹＥＳ）には、更にイベントフラグＥＶＥＮＴ＝「１」であるか否かを判断する（Ｓ４６０）。イベントフラグＥＶＥＮＴ＝「１」であると判断した場合（Ｓ４６０：ＹＥＳ）にはパネルイベント処理に戻るが、イベントフラグＥＶＥＮＴ＝「１」でないと判断した場合（Ｓ４６０：ＮＯ）には、テンポレジスタＴＭＰを「１」減少させ（Ｓ４７０）、そして、テンポレジスタＴＭＰに基づいてダウンカウンタの初期値を設定して（Ｓ４８０）、パネルイベント処理に戻る。
つまり、図７のインクリメンタ対応処理では、プリセットテンポスイッチ２６が押されて、プリセットテンポがテンポレジスタＴＭＰに設定された場合には、演奏が次の小節の頭まで進行して、テンポレジスタＴＭＰの値に基きダウンカウンタの初期値が設定される（即ち、再生のテンポとしてプリセットテンポを設定する）までの期間は、インクリメンタ２８によるテンポレジスタＴＭＰの増減はできないようにしているのである。この様にしても、次の小節に移ったにも拘わらず、誤ってテンポ増減操作子の操作を続けてしまい、本来使用者が望んでいたプリセットテンポとは異なるテンポで、演奏情報の再生が行われるのを防ぐことができる。
【００５５】
なお、この変形例においては、Ｓ４２０およびＳ４６０の処理が増減禁止手段としての処理に相当し、Ｓ４１０、Ｓ４３０〜Ｓ４５０、Ｓ４７０およびＳ４８０の処理がテンポ制御手段としての処理に相当する。
【図面の簡単な説明】
【図１】本発明の一実施例の演奏情報再生装置が適用された電子楽器の電気的構成を表わすブロック図である。
【図２】一実施例の電子楽器のパネルを示す説明図である。
【図３】一実施例の電子楽器にて実行されるメインルーチンを示すフローチャートである。
【図４】一実施例の電子楽器にて実行されるパネルイベント処理を示すフローチャートである。
【図５】一実施例の電子楽器にて実行されるインクリメンタ対応処理を示すフローチャートである。
【図６】一実施例の電子楽器にて実行されるタイマ割込処理を示すフローチャートである。
【図７】変形例の電子楽器にて実行されるインクリメンタ対応処理を示すフローチャートである。
【符号の説明】
２…ＣＰＵ、４…ＲＯＭ、６…ＲＡＭ、８…タイマ、１４…楽音発生回路、１４ａ…アサイメントメモリ、１６…サウンドシステム、２６…プリセットテンポスイッチ、２８…インクリメンタ、ＴＭＰ…テンポレジスタ。
【図１】
0003634151.tif 000002
【図２】
0003634151.tif 000003
【図３】
0003634151.tif 000004
【図４】
0003634151.tif 000005
【図５】
0003634151.tif 000006
【図６】
0003634151.tif 000007
【図７】
0003634151.tif 000008