(57)【特許請求の範囲】
【請求項１】
伴奏音信号に基づいて伴奏音を自動的に発生する自動伴奏装置であって、
複数の伴奏パターンのそれぞれに対応する複数の自動伴奏データを記憶する自動伴奏データ記憶手段と、
外部からの音量を検出する音量検出手段と、
該音量検出手段における検出結果に応じて該自動伴奏データ記憶手段から１つの自動伴奏データを選択する選択手段と、
該選択手段で選択された自動伴奏データに従って伴奏音信号を生成する伴奏音信号生成手段とを備え、
前記選択手段は、前記音量検出手段で検出された複数の音量を表す値の変化パターンに基づいて前記自動伴奏データ記憶手段から１つの自動伴奏データを選択する
自動伴奏装置。
【請求項２】
伴奏音信号に基づいて伴奏音を自動的に発生する自動伴奏装置であって、
複数の伴奏パターンのそれぞれに対応する複数の自動伴奏データを記憶する自動伴奏データ記憶手段と、
ソロイストの状態を検出する検出手段と、
該検出手段における検出結果に応じて該自動伴奏データ記憶手段から１つの自動伴奏データを選択する選択手段と、
該選択手段で選択された自動伴奏データに従って伴奏音信号を生成する伴奏音信号生成手段とを備え、
前記選択手段は、前記検出手段で検出された複数の、ソロイストの状態を表す値の変化パターンに基づいて前記自動伴奏データ記憶手段から１つの自動伴奏データを選択する
自動伴奏装置。
【請求項３】
前記ソロイストの状態は、ソロイストの体温、心拍数及び発汗量の少なくとも１つである請求項２に記載の自動伴奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、曲の伴奏音を自動的に発生する自動伴奏装置に関し、特に外部からの要因に反応して伴奏パターンを変化させる技術に関する。
【０００２】
【従来の技術】
従来、１つの曲に対応する自動伴奏データに従って自動伴奏を行う自動伴奏装置が知られている。ユーザは、この自動伴奏装置で発生される伴奏音に合わせて、例えば楽器を演奏したり、歌を歌ったりすることができる。なお、本明細書でいう「自動伴奏装置」は、数小節のリズムパターンで成る伴奏音を繰り返して発生する装置ではなく、例えばシーケンサやカラオケ装置等のように、曲全体の伴奏音を発生する装置をいう。
【０００３】
しかし、この従来の自動伴奏装置は、自動伴奏装置の周囲の状況とは全く無関係に、自動伴奏データに忠実に従った伴奏音を発生する。従って、例えば演奏者によるメロディ演奏又は歌手による歌が盛り上がっても、自動伴奏は予め決められたとおりの画一的な伴奏パターンで独自に進行するだけである。従って、伴奏と演奏、或るいは伴奏と歌とに一体感が得られないという問題があった。
【０００４】
このような問題を解消するために、従来、画一的な自動伴奏をリアルタイムに変化させる幾つかの試みがなされている。例えば、打鍵の強さによって伴奏パターンを変化させたり、鍵やスイッチを叩く時間間隔によって伴奏パターンを変化させ、これによって変化に富んだ自動伴奏を行わせる試みがなされている。
【０００５】
【発明が解決しようとする課題】
しかしながら、このような試みは特に鍵盤型の電子楽器を対象とするものであり、ピアノ、ギター、管楽器等といったアコースティック楽器や歌は対象外である。従って、これらのアコースティック楽器の演奏者や歌手は、自動伴奏装置が発生する画一的な伴奏パターンに従って演奏し、或いは歌わなければならないという問題が残っている。
【０００６】
本発明はこのような問題を解消するためになされたものであり、その目的は、演奏や歌の盛り上がりに応じて伴奏パターンが変化する自動伴奏を行うことのできる自動伴奏装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の第１の態様に係る自動伴奏装置は、上記目的を達成するために、
伴奏音信号に基づいて伴奏音を自動的に発生する自動伴奏装置であって、
複数の伴奏パターンのそれぞれに対応する複数の自動伴奏データを記憶する自動伴奏データ記憶手段と、
外部からの音量を検出する音量検出手段と、
該音量検出手段における検出結果に応じて該自動伴奏データ記憶手段から１つの自動伴奏データを選択する選択手段と、
該選択手段で選択された自動伴奏データに従って伴奏音信号を生成する伴奏音信号生成手段、とを備えている。
【０００８】
自動伴奏データ記憶手段は、例えばリードオンリメモリ（以下、「ＲＯＭ」と略す）又はランダムアクセスメモリ（以下、「ＲＡＭ」と略す）で構成できる。自動伴奏データ記憶手段をＲＡＭで構成する場合は、この自動伴奏装置を動作させるに先立って、自動伴奏データが自動伴奏データ記憶手段にロードされる。
【０００９】
この自動伴奏データ記憶手段には、複数の曲のそれぞれ対応する複数の自動伴奏データを記憶するように構成できる。この場合、自動伴奏させる曲の種類は、例えば操作パネルに設けた曲選択スイッチで選択するように構成できる。各自動伴奏データは、１曲分の伴奏パターンを発生するための音符データ群で構成できる。各音符データとしては、例えば発音タイミングを規定するステップタイムデータが付加されたＭＩＤＩメッセージや、ステップタイム、音高、音長及びベロシティを指定するデータで構成される音符データ、その他種々の形式のデータを用いることができる。また、各自動伴奏データは、複数のパートを担当する音符データ群で構成することができる。
【００１０】
上記音量検出手段は、例えばマイクロフォン、Ａ／Ｄ変換器及び中央処理装置（以下、「ＣＰＵ」という）で構成できる。なお、マイクロフォンの代わりに振動ピックアップ、マグネチックピックアップ等を用いてもよい。この音量検出手段は、例えばマイクロフォンからのアナログ信号をＡ／Ｄ変換器でデジタル信号に変換する。そして、この変換により得られたデジタル信号を量子化することにより音量値が得られる。この音量値は、選択手段において自動伴奏データを選択するために使用される。
【００１１】
上記選択手段は、音量検出手段で検出された音量値に応じて１つの自動伴奏データを選択する。この選択手段はＣＰＵで構成することができる。この選択手段で選択された自動伴奏データは、伴奏音信号生成手段において、伴奏音信号を生成するために使用される。伴奏音信号生成手段で生成された伴奏音信号は、例えばスピーカに供給される。これにより、この自動伴奏装置において伴奏音信号に基づく伴奏音が発生される。
【００１２】
この本発明の第１の態様に係る自動伴奏装置によれば、複数の伴奏パターンのそれぞれに対応して自動伴奏データが作成されるので、音量検出手段で検出された音量値に応じて伴奏パターンが変化することになる。例えば、選択手段は、音量値が所定値以下の場合は通常の伴奏パターンに対応する自動伴奏データを選択し、該所定値より大きい場合は複雑なリズムパターンを有する伴奏パターンに対応する自動伴奏データを選択するように構成することができる。
【００１３】
この構成によれば、通常の演奏又は歌が行われている状態ではマイクロフォンから入力される音量値が所定値以下になるので通常の伴奏パターンで伴奏音が発生されるが、演奏又は歌が盛り上がることによってマイクロフォンから入力される音量値が所定値を超えると複雑なリズムパターンを有する伴奏パターンで伴奏音が発生されるように変化する。従って、演奏や歌の盛り上がりに合わせて自動伴奏音を変化させることができる。
【００１４】
前記選択手段は、前記音量検出手段で検出された複数の音量を表す値の平均値に基づいて前記自動伴奏データ記憶手段から１つの自動伴奏データを選択するように構成できる。この構成によれば、瞬間的に演奏や歌の音量が大きくなっても、平均音量が所定値より小さければ直ちに伴奏パターンが変化することはない。従って、全体的な曲の盛り上がりに従って徐々に複雑なリズムパターンでの自動伴奏に移行させることができる。
【００１５】
前記選択手段は、前記音量検出手段で検出された複数の音量を表す値の変化パターンに基づいて前記自動伴奏データ記憶手段から１つの自動伴奏データを選択するように構成できる。この構成によれば、音量変化のパターンに応じて伴奏パターンを変化させることができるので、演奏者又は歌手は恣意的に音量を特定のパターンで変化させることにより、所望の伴奏パターンによる自動伴奏を行わせることができる。
【００１６】
なお、この構成では、音量変化のパターンによって伴奏パターンを変化させるように構成しているが、音量変化のパターンによって伴奏を停止させたり、再開させたり、或いはリズムや音色を変更したりするように構成することもできる。
【００１７】
また、本発明の第２の態様に係る自動伴奏装置は、上記と同様の目的で、
伴奏音信号に基づいて伴奏音を自動的に発生する自動伴奏装置であって、
複数の伴奏パターンのそれぞれに対応する複数の自動伴奏データを記憶する自動伴奏データ記憶手段と、
ソロイストの状態を検出する検出手段と、
該検出手段における検出結果に応じて該自動伴奏データ記憶手段から１つの自動伴奏データを選択する選択手段と、
該選択手段で選択された自動伴奏データに従って伴奏音信号を生成する伴奏音信号生成手段、とを備えている。
【００１８】
自動伴奏データ記憶手段は、上述した本発明の第１の態様に係る自動伴奏装置と同様にＲＯＭ又はＲＡＭで構成できる。また、この自動伴奏データ記憶手段に記憶する自動伴奏データも、上述した本発明の第１の態様に係る自動伴奏装置と同様に作成できる。
【００１９】
上記検出手段は、演奏者又は歌手といったソロイストの状態を検出するセンサ、Ａ／Ｄ変換器及びＣＰＵで構成される。この検出手段は、例えばセンサからのアナログ信号をＡ／Ｄ変換器でデジタル信号に変換する。そして、この変換により得られたデジタル信号を量子化することによりセンサ値を得る。このセンサ値は、選択手段において自動伴奏データを選択するために使用される。
【００２０】
上記選択手段は、検出手段における検出結果、つまりセンサ値に応じて１つの自動伴奏データを選択する。この選択手段はＣＰＵで構成することができる。この選択手段で選択された自動伴奏データは、伴奏音信号生成手段において、伴奏音信号を生成するために使用される。伴奏音信号生成手段で生成された伴奏音信号は、例えばスピーカに供給される。これにより、この自動伴奏装置において伴奏音信号に基づく伴奏音が発生される。
【００２１】
この本発明の第２の態様に係る自動伴奏装置によれば、複数の伴奏パターンのそれぞれに対応して自動伴奏データが作成されるので、検出手段で検出されたセンサ値に応じて伴奏パターンが変化することになる。例えば、選択手段は、センサ値が所定値以下の場合は通常の伴奏パターンに対応する自動伴奏データを選択し、該所定値より大きい場合は複雑なリズムパターンを有する伴奏パターンに対応する自動伴奏データを選択するように構成することができる。
【００２２】
この構成によれば、ソロイストが通常の演奏又は歌を行っている状態ではセンサからのセンサ値が所定値以下になるので通常の伴奏パターンで伴奏音が発生されるが、演奏又は歌が盛り上がることによってソロイストが興奮状態になり、これによってセンサからのセンサ値が所定値を超えると複雑なリズムパターンを有する伴奏パターンで伴奏音が発生されるように変化する。従って、ソロイストの状態に合わせて自動伴奏音を変化させることができる。
【００２３】
また、前記選択手段は、前記選択手段は、前記検出手段で検出された複数の、ソロイストの状態を表す値の平均値に基づいて前記自動伴奏データ記憶手段から１つの自動伴奏データを選択するように構成できる。この構成によれば、この構成によれば、瞬間的にセンサ値が大きくなっても、センサ値の平均値が所定値より小さければ直ちに伴奏パターンが変化することはない。従って、全体的な曲の盛り上がり、つまりソロイストの興奮状態が高まるに従って徐々に複雑なリズムパターンでの自動伴奏に移行させることができる。
【００２４】
また、前記選択手段は、前記検出手段で検出された複数の、ソロイストの状態を表す値の平均値に基づいて前記自動伴奏データ記憶手段から１つの自動伴奏データを選択するように構成できる。この構成によれば、センサ値の変化のパターンに応じて伴奏パターンを変化させることができるので、ソロイストの興奮状態に応じた伴奏パターンによる自動伴奏を行わせることができる。
【００２５】
更に、前記ソロイストの状態は、ソロイストの体温、心拍数及び発汗量の少なくとも１つとすることができる。この場合、選択手段は、センサからのソロイストの体温、心拍数及び発汗量のセンサ値に基づいて自動伴奏データを選択するように構成してもよいし、これらの２つ以上の組み合わせに基づいて自動伴奏データを選択するように構成してもよい。例えば、選択手段は、心拍数が所定値以下の場合は通常の伴奏パターンに対応する自動伴奏データを選択し、該所定値より大きい場合は複雑なリズムパターンを有する伴奏パターンに対応する自動伴奏データを選択するように構成することができる。
【００２６】
【発明の実施の形態】
以下、本発明の自動伴奏装置の実施の形態につき図面を参照しながら詳細に説明する。なお、この実施の形態では、自動伴奏装置は、音量変化パターンに応じて伴奏パターンを変更しながら動作するものとする。
【００２７】
図１は、本発明の実施の形態に係る自動伴奏装置の構成を示すブロック図である。本自動伴奏装置は、アドレスバス２０及びデータバス２１によって相互に接続されたＣＰＵ１０、プログラムメモリ１１、ワークメモリ１２、操作パネル１３、音量変化パターンテーブル１４、自動伴奏データテーブル１５及び音源１６で構成されている。アドレスバス２０は、上記各要素間でアドレス信号を、データバス２１はデータ信号をそれぞれ送受するために使用される。
【００２８】
ＣＰＵ１０は、プログラムメモリ１１に記憶されている制御プログラムに従って自動伴奏装置の全体を制御する。このＣＰＵ１０が行う処理の詳細については後にフローチャートを参照しながら詳細に説明する。このＣＰＵ１０には、Ａ／Ｄ変換器１８及びタイマ１０ａが接続されている。また、Ａ／Ｄ変換器１８にはマイクロフォン１９が接続されている。
【００２９】
マイクロフォン１９は、楽器音又は歌声を入力するために使用される。このマイクロフォン１９からのアナログ信号はＡ／Ｄ変換器１８でデジタル信号に変換された後、ＣＰＵ１０に供給される。ＣＰＵ１０は、このデジタル信号（以下、「音量データ」という）に基づいて音量変化パターンを得る。
【００３０】
また、タイマ１０ａは一定時間間隔でタイマ割込信号を発生する。ＣＰＵ１０は、このタイマ割込信号に応じて、Ａ／Ｄ変換器１８からのデジタル信号を取り込み、順次音量レベルレジスタ（詳細は後述）に格納する。
【００３１】
プログラムメモリ１１は、例えばＲＯＭで構成されている。このプログラムメモリ１１には、上述した制御プログラムの他に、ＣＰＵ１０が使用する種々の固定データが記憶されている。また、このプログラムメモリ１１には、複数の楽器音に対応する複数の音色パラメータが音域毎に記憶されている。１つの音色パラメータは、所定の楽器音の所定の音域の音色を指定するために使用される。各音色パラメータは、例えば波形アドレス、周波数データ、エンベロープデータ、フィルタ係数等で構成されている。
【００３２】
なお、このプログラムメモリ１１はＲＡＭで構成ですることもきる。この場合、自動伴奏装置を動作させるに先立って、上記制御プログラム、固定データ、音色パラメータ等を、例えばフロッピーディスク、磁気ディスク、光ディスク、ＲＯＭカード、ＣＤ−ＲＯＭ等といった記憶媒体からプログラムメモリにロードするように構成すればよい。
【００３３】
ワークメモリ１２はＲＡＭで構成されている。このワークメモリ１２は、ＣＰＵ１０が種々のデータを一時的に記憶するために使用される。このワークメモリ１２には、この自動伴奏装置を制御するための各種レジスタ、カウンタ、フラグ等が定義されている。これらの詳細については後述する。
【００３４】
操作パネル１３には、例えば図２に示すように、自動伴奏スイッチ１３０、インジケータ１３１、曲選択スイッチ１３２、ディスプレイ装置１３３が設けられている。なお、実際の自動伴奏装置には、上記以外に音色選択スイッチ、音響効果選択スイッチ、音量スイッチ、種々のインジケータ等が設けられているが、図２には、本発明の説明に必要なもののみが示されている。
【００３５】
自動伴奏スイッチ１３０は例えば押釦スイッチで構成され、ユーザが自動伴奏の開始及び停止を制御するために使用される。この自動伴奏装置では、自動伴奏スイッチ１３０が押される毎に自動伴奏モードと停止モードとが交互に設定される。現在何れのモードにあるかは、後述する自動伴奏フラグによって記憶される。インジケータ１３１は、自動伴奏モードである場合に点灯し、停止モードである場合に消灯するように制御される。
【００３６】
曲選択スイッチ１３２は、アップスイッチ１３２ａとダウンスイッチ１３２ｂとで成るアップダウンスイッチで構成されている。アップスイッチ１３２ａ及びダウンスイッチ１３２ｂは例えば押釦スイッチで構成できる。アップスイッチ１３２ａは曲番号をインクリメントし、ダウンスイッチ１３２ｂは曲番号をデクリメントするために使用される。この曲選択スイッチ１３２によって選択された曲番号は、後述する曲番号レジスタに記憶される。
【００３７】
ディスプレイ装置１３３は、ＬＣＤ、ＬＥＤ、ＣＲＴその他の表示器で構成することができる。このディスプレイ装置１３３は種々のメッセージを表示するために使用される。上述した曲番号はこのディスプレイ装置１３３に表示され、その表示内容（曲番号）は曲選択スイッチ１３２が操作される毎に変化する。
【００３８】
操作パネル１３には、図示しないパネルインタフェース回路が含まれている。このパネルインタフェース回路は、ＣＰＵ１０からの指令に応じて操作パネル１３上の各スイッチをスキャンする。パネルインタフェース回路は、このスキャンにより得られた各スイッチの開閉状態を示す信号に基づいて、各スイッチをそれぞれ１ビットに対応させたパネルデータを作成する。各ビットは、例えば「１」でスイッチオン、「０」でスイッチオフ状態を表す。このパネルデータは、データバス２１を介してＣＰＵ１０に送られる。このパネルデータは、操作パネル１３上の各スイッチのオン又はオフイベントが発生したかどうかを判断するために使用される。
【００３９】
また、パネルインタフェース回路は、ＣＰＵ１０から送られてきた文字、数字、記号等を表示するためのデータをディスプレイ装置１３３に送り、また、インジケータを点灯するためのデータをインジケータ１３１に送る。これにより、ＣＰＵ１０から送られてきた例えば文字、数字、記号等のデータに従ったメッセージがディスプレイ装置１３３に表示され、またインジケータ１３１が点灯又は消灯される。
【００４０】
自動伴奏データテーブル１５は、例えばＲＯＭで構成されている。この自動伴奏データテーブル１５には、例えば図３に示すように、ｍ×ｎ個（ｍは２以上の整数、ｎは１以上の整数）の自動伴奏データが記憶されている。これにより、ｎ種類の曲の伴奏をｍ種類の伴奏パターンで自動伴奏できるようになっている。各自動伴奏データの先頭は、アドレスＡＤＤＲｉｊ（ｉ＝１、２、・・・ｎであり、ｊ＝１、２、・・・ｍである）で指定される。
【００４１】
各自動伴奏データは、例えば図４に示すように、複数の音符データと自動伴奏データの終わりを表すＥＮＤデータとで構成されている。各音符データは１音を発生するために使用される。各音符データは、キーナンバ、ステップタイム、ゲートタイム及びベロシティと呼ばれる各１バイトのデータで構成されている。ＥＮＤデータは、キーナンバ及びステップタイムと呼ばれる各１バイトのデータで構成される。
【００４２】
「キーナンバ」の最上位ビットは、当該データが音符データであるかＥＮＤデータであるかを識別するために使用される。この最上位ビットが音符データであることを表している場合は、以下の７ビットはキーナンバとして使用される。一方、最上位ビットがＥＮＤデータであることを表している場合は、以下の７ビットは使用されない。キーナンバは鍵盤装置の各鍵に付された番号に対応するものであり、音高を指定するために使用される。
【００４３】
「ステップタイム」は発音開始のタイミング（時刻）を指定するために使用される。「ゲートタイム」は発音すべき音の長さ（音長）を指定するために使用される。「ベロシティ」は発音すべき音の強さを指定するために使用される。１つの伴奏パターンに対応する自動伴奏データは、このような音符データ及びＥＮＤデータがステップタイム順に並べられて構成されている。
【００４４】
なお、本実施の形態では、自動伴奏データとして、図４に示した音符データを用いたが、ステップタイムデータが付されたＭＩＤＩメッセージで構成することもできる。また、自動伴奏データとしては、その他の種々の形式のデータを用いることができる。
【００４５】
また、自動伴奏データテーブル１５は、ＲＯＭに限定されず、ＲＡＭ、ＲＯＭカード、ＲＡＭカード、フロッピーディスク、ＣＤ−ＲＯＭ等で構成できる。自動伴奏データテーブル１５としてフロッピーディスク、ＣＤ−ＲＯＭを用いる場合は、これらに記憶された自動伴奏データを一且ワークメモリ１２にロードし、ワークメモリ１２内の自動伴奏データに基づき自動伴奏を行うように構成するのが好ましい。また、自動伴奏データテーブル１５としてＲＡＭを用いる場合は、本自動伴奏装置を動作させるに先立って、例えばフロッピーディスク、磁気ディスク、光ディスク、ＲＯＭカード、ＣＤ−ＲＯＭ等といった記憶媒体に格納されている自動伴奏データを自動伴奏データメモリ（ＲＡＭ）にロードするように構成すればよい。
【００４６】
音量変化パターンテーブル１４は、例えばＲＯＭで構成されている。この音量変化パターンテーブル１４は、例えば図５に示すように、ｍ×ｎ個の音量変化パターンと自動伴奏データの先頭アドレスとを対応付けるために使用される。各音量変化パターンは、一定時間毎にサンプリングされた４個の音量データ（ａｉｊ、ｂｉｊ、ｃｉｊ及びｄｉｊ）によって構成されている。なお、音量変化パターンに含まれる音量データは４個に限らず、任意の数とすることができる。この数が大きくなるにつれて音量変化パターンを細かく定義することができる。
【００４７】
この音量変化パターンテーブル１４では、各音量変化パターンに対応して各曲の自動演奏データの先頭アドレスＡＤＤＲｉｊが記憶されている。所定の音量変化パターンが検出された場合に、該音量変化パターンに対応する自動伴奏データの先頭アドレスＡＤＤＲｉｊがこの音量変化パターンテーブル１４から読み出され、音符データの読み出しアドレスを決定するために使用される。
【００４８】
音源１６は複数の発音チャンネルを備えている。この音源１６は、詳細は図示しないが、波形メモリ、波形読出回路、エンベロープ生成回路、Ｄ／Ａ変換器等により構成されている。波形メモリは例えばＲＯＭで構成され、各音色パラメータに対応する波形データを記憶している。波形データは、例えば楽器音に対応する楽音信号をパルスコード変調（ＰＣＭ）することによって作成できる。波形読出回路は、この波形メモリから波形データを読み出す。エンベロープ生成回路は、この波形読出回路で読み出された波形データにエンベロープを付加するためのエンベロープ信号を生成する。
【００４９】
ＣＰＵ１０は、音符データが自動伴奏データテーブル１５から読み出されると、少なくとも１個の発音チャンネルを発音用に割り当て、この割り当てられた発音チャンネルに音色パラメータを供給する。この発音チャンネルは、音色パラメータを受け取ることにより楽音信号の生成を開始する。即ち、音色パラメータ中の波形アドレスで示される波形メモリの位置から、同じく音色パラメータ中の周波数データに応じた速度で波形データを順次読み出し、これに音色パラメータ中のエンベロープデータで指定されるエンベロープを付加し、以て楽音信号を生成する。この音源１６で生成された楽音信号は、スピーカ１７に供給される。そして、このスピーカ１７で音響信号に変換されて放音される。
【００５０】
次に、ワークメモリ１２に定義さる主要なレジスタ、カウンタ、フラグ等について説明する。なお、下記以外のレジスタ、カウンタ、フラグ等については出現の都度説明する。
【００５１】
（１）自動伴奏フラグ：本自動伴奏装置が自動伴奏モードにあるか停止モードにあるかを記憶する。
（２）音量レベルレジスタ：タイマ割込が発生する毎にその時点の音量データを順次格納する。このレジスタはスタック構造を有する。
（３）音量変化パターンレジスタ：現在の音量変化パターンを記憶する。音量レベルレジスタが満杯になった場合にその内容がセットされる。
（４）読出アドレスレジスタ：現在処理中の自動伴奏データの先頭アドレスＡＤＤＲｉｊが格納される。
（５）カレントポインタ：現在処理中である自動伴奏データ内の音符データが置かれている位置を指定する。このカレントポインタの内容は、読出アドレスレジスタの内容からの相対値である。
（６）ステップタイムカウンタ：自動伴奏の進行を管理する。曲の先頭でゼロにクリアされ、以後１ステップタイム毎にインクリメントされる。ここで１ステップタイムとは、例えば１拍の１／２４、１／４８、１／９６等といった時間をいい、自動伴奏装置で固有に決められる。この１ステップタイムの絶対時間はテンポによって決定される。
（７）読出タイミングカウンタ：１ステップタイムに相当する時間でラウンドするカウンタである。この読出タイミングカウンタの内容が最大値からゼロに変化した場合に、発音タイミングになったかどうかを調べるタイミング（以下、「チェックタイミング」という）であると判断される。
（８）曲番号レジスタ：操作パネル１３の曲選択スイッチ１３２によって選択された曲の曲番号を記憶する。
（９）新パネルデータレジスタ：今回のスキャンで操作パネル１３から得られたパネルデータを記憶する。
（１０）旧パネルデータレジスタ：前回のスキャンで操作パネル１３から得られたパネルデータを記憶する。
【００５２】
次に、以上の構成において、図６〜図１０に示したフローチャートを参照しながら本発明の実施の形態に係る自動伴奏装置の動作について説明する。なお、上記フローチャートに示された処理は、何れもＣＰＵ１０によって行われる。
【００５３】
図６は本自動伴奏装置のメイン処理を示すフローチャートである。このメイン処理ルーチンは電源の投入又は図示しないリセットスイッチの押下により起動される。メイン処理では、先ず、初期化処理が行われる（ステップＳ１０）。この初期化処理では、ＣＰＵ１０の内部のハードウェアが初期状態に設定されると共に、ワークメモリ１２に定義されているレジスタ、カウンタ、フラグ等に初期値が設定される。また、この初期化処理では、電源投入時に不要な音が発生されるのを防止するために、音源１６に所定のデータが送られる。
【００５４】
この初期化処理が終了すると、次いで、パネル処理が行われる（ステップＳ１１）。このパネル処理においては、操作パネル１３上の各種スイッチの操作に応じて、その操作されたスイッチの機能を実現するための処理が行われる。このパネル処理の詳細は後述する。
【００５５】
次いで、伴奏パターン切換処理が行われる（ステップＳ１２）。この伴奏パターン切換処理では、音量変化パターンに応じて伴奏パターンを切り換える処理が行われる。この伴奏パターン切換処理の詳細は後述する。
【００５６】
次いで、自動伴奏処理が行われる（ステップＳ１３）。この自動伴奏処理では、自動伴奏データに基づく発音処理が行われる。この自動伴奏処理の詳細についても後述する。
【００５７】
次いで、「その他の処理」が行われる（ステップＳ１４）。この「その他の処理」では、上述した以外の処理、例えば図示しないＭＩＤＩインタフェースからのＭＩＤＩメッセージの送受処理等が行われる。その後シーケンスはステップＳ１１に戻り、以下ステップＳ１１〜Ｓ１４の各処理が繰り返される。この繰り返し実行の過程で、操作パネル１３が操作されるとそれらに応じた処理が行われ、音量レベルレジスタが満杯になると伴奏パターンを切り換える処理が行われ、また自動伴奏データに基づく発音処理が行われる。これにより自動伴奏装置としての各種機能が実現されている。
【００５８】
次に、タイマ割込処理について、図７のフローチャートを参照しながら説明する。タイマ割込処理は、タイマ１０ａから一定周期で発生されるタイマ割込信号に応じて、上記メイン処理に割り込んで行われる。従って、タイマ割込処理は、上述したメイン処理と並行して行われることになる。
【００５９】
タイマ割込処理では、先ず音量レベルの読み込みが行われる（ステップＳ２０）。即ち、ＣＰＵ１０は、Ａ／Ｄ変換器１８から音量データを読み込む。この音量データは、その時点でマイクロフォン１９からＡ／Ｄ変換器１８に供給されている信号の振幅を表す。次いで、この音量データは、音量レベルレジスタに格納される（ステップＳ２１）。ここで、音量レベルレジスタは、４個の音量データを記憶できるように構成されており、音量データは順次この音量レベルレジスタにスタックされる。
【００６０】
次いで、音量レベルレジスタが満杯であるかどうかが調べられる（ステップＳ２２）。即ち、音量レベルレジスタに４個の音量データが格納されたかどうかが調べられる。そして、満杯であることが判断されると、音量レベルレジスタの内容が音量変化パターンレジスタに格納される（ステップＳ２３）。これにより、以後はこの音量変化パターンレジスタに格納された新しい音量変化パターンに従って自動伴奏が行われることになる。
【００６１】
次いで、音量レベルレジスタの内容がクリアされる（ステップＳ２４）。これにより、次回のタイマ割込処理では、最初から音量データのスタックが再開される。その後、シーケンスはメイン処理ルーチンの割り込まれた位置にリターンする。上記ステップＳ２２で音量レベルレジスタが満杯でないことが判断されると、未だ４個の音量データが得られていないものと認識され、シーケンスはメイン処理ルーチンの割り込まれた位置にリターンする。
【００６２】
次に、パネル処理について、図８のフローチャートを参照しながら説明する。このパネル処理ルーチンは、メイン処理ルーチンから一定周期でコールされる。
【００６３】
パネル処理では、先ず、スイッチイベントの有無が調べられる（ステップＳ３０）。これは以下の手順で行われる。先ず、ＣＰＵ１０は、操作パネル１３からパネルデータ（以下、「新パネルデータ」という）を読み込み、新パネルデータレジスタに格納する。次いで、この新パネルデータと、前回のパネル処理で読み込まれて既に旧パネルデータレジスタに記憶されているパネルデータ（以下、「旧パネルデータ」という）との排他的論理和をとってパネルイベントマップを作成する。このパネルイベントマップの全ビットがゼロであればスイッチイベントは発生しなかったものと判断され、そうでなければスイッチイベントが発生したものと判断される。
【００６４】
このステップＳ３０でスイッチイベントがないことが判断されると、シーケンスはこのパネル処理ルーチンからメイン処理ルーチンにリターンする。一方、スイッチイベントがあることが判断されると、次いで、自動伴奏スイッチ１３０のオンイベントがあるかどうかが調べられる（ステップＳ３１）。これは、パネルイベントマップ中の自動伴奏スイッチ１３０に対応するビットが「１」であり、且つ新パネルデータ中の自動伴奏スイッチ１３０に対応するビットが「１」であるかどうかを調べることにより行われる。ここで、自動伴奏スイッチ１３０のオンイベントがないことが判断されると、シーケンスはステップＳ３６へ分岐する。
【００６５】
上記ステップＳ３１で、自動伴奏スイッチ１３０のオンイベントがあることが判断されると、次いで、自動伴奏モードであるかどうかが調べられる（ステップＳ３２）。これは、自動伴奏フラグを調べることにより行われる。自動伴奏モードであるかどうかの判断は、以下においても同じ方法で行われる。
【００６６】
そして、自動伴奏モードであることが判断されると、自動伴奏フラグが「０」にクリアされ（ステップＳ３３）、その後シーケンスはステップＳ３６に進む。一方、自動伴奏モードでないことが判断されると自動伴奏フラグが「１」にセットされ（ステップＳ３４）、次いで、読出アドレスが初期設定される（ステップＳ３５）。この処理では、その時点で選択されている曲（曲番号レジスタに曲番号ｉとして格納されている）の最初の伴奏パターンに対応する自動伴奏データの先頭アドレスＡＤＤＲｉ１が読出アドレスレジスタに格納される。また、カレントポインタの内容がゼロに設定される。またステップタイムカウンタの内容がゼロにクリアされる。更に、読出タイミングカウンタのカウントアップ動作が開始される。その後シーケンスはステップＳ３６に分岐する。
【００６７】
上記ステップＳ３２〜Ｓ３４の処理により、自動伴奏スイッチ１３０が押される度に自動伴奏モードと停止モードとが交互に反転されるトグル機能が実現されている。また、上記ステップＳ３５の処理により、自動伴奏データテーブル１５内の音符データを実際に読み出すアドレス（以下、「実効読出アドレス」という）が決定される。この実効読出アドレスは、読出アドレスレジスタの内容とカレントポインタの内容を加算することにより算出される。ここで、カレントポインタの内容はゼロに設定されるので、自動伴奏データテーブル１５の実効読出アドレスＡＤＤＲｉ１で指定される位置から音符データの読み出しが開始されることになる。
【００６８】
ステップＳ３６では、曲選択スイッチ１３２のオンイベントがあるかどうかが調べられる。これは、パネルイベントマップ中のアップスイッチ１３２ａ又はダウンスイッチ１３２ｂの中の何れかに対応するビットが「１」であり、且つ新パネルデータ中の当該スイッチに対応するビットが「１」であるかどうかを順次調べることにより行われる。ここで、曲選択スイッチ１３２の中の何れかのスイッチのオンイベントがあることが判断されると、そのスイッチに対応する曲番号が、曲番号レジスタにセットされる（ステップＳ３７）。即ち、アップスイッチ１３２ａのオンイベントであれば曲番号レジスタの内容がインクリメントされ、ダウンスイッチ１３２ｂのオンイベントであれば曲番号レジスタの内容がデクリメントされる。上記ステップＳ３６で曲選択スイッチ１３２のイベントがないことが判断されると、ステップＳ３７はスキップされる。
【００６９】
次いで、「その他のスイッチ処理」が行われる（ステップＳ３８）。この「その他のスイッチ処理」では、例えば音色選択スイッチのイベントに応じた音色変更処理が行われる。そして、最後に、新パネルデータが旧パネルデータレジスタに移動され（図示しない）、パネル処理は終了する。
【００７０】
次に、伴奏パターン切換処理について、図９のフローチャートを参照しながら説明する。
【００７１】
この伴奏パターン切換処理では、先ず、音量変化パターンテーブル１４の検索開始アドレスがワークメモリ１２に設けられたワークカウンタＸにセットされる（ステップＳ４０）。ここで、検索開始アドレスとは、音量変化パターンテーブル１４中の現在伴奏中の曲に対応する部分の先頭アドレス（音量変化パターンテーブル１４内に自動伴奏データアドレスとして「ＡＤＤＲｉ１」が格納されているエントリのアドレス）をいう。
【００７２】
次いで、ワークカウンタＸで示される音量変化パターンテーブル１４の位置から１つの音量変化パターンが読み出される（ステップＳ４１）。そして、この読み出された音量変化パターンと音量変化パターンレジスタの内容とが比較され（ステップＳ４１）、一致するかどうかが調べられる（ステップＳ４３）。上記ステップＳ４２では、上述した両者が完全に一致するかどうかが調べられる。このステップＳ４２では、上述した両者が類似するかどうか（一定の幅をもって一致するかどうか）を調べるように構成することもできる。例えば、音量変化パターンレジスタ内の各音量データが、音量変化パターンテーブル１４内の各音量データに対してそれぞれ所定の範囲内の値を有する場合に一致するといみなすように構成できる。この構成によれば、音量変化パターンテーブル１４に格納するデータの量を減らすことができる。
【００７３】
上記ステップＳ４３で一致しないことが判断されると、次いで、ワークカウンタＸの内容がインクリメントされる（ステップＳ４４）。これにより、ワークカウンタＸの内容は、音量変化パターンテーブル１４の次のエントリを指すように更新される。次いで、終了か否かが調べられる（ステップＳ４５）。これは、音量変化パターンテーブル１４中の現在伴奏中の曲に対応する部分の最後尾アドレス（音量変化パターンテーブル１４内に自動伴奏データアドレスとして「ＡＤＤＲｉｍ」が格納されているエントリのアドレス）になったかどうかを調べることにより行われる。そして、終了でないことが判断されると、ステップＳ４１へ分岐し、以下同様の処理が繰り返される。
【００７４】
一方、上記ステップＳ４５で終了であることが判断されると、音量変化パターンテーブル１４中に一致する音量変化パターンが存在しないことが認識され、伴奏パターンの切換を行うことなく、この伴奏パターン切換処理ルーチンからメイン処理ルーチンにリターンする。
【００７５】
上記ステップＳ４３で一致することが判断されると、次いで、音量変化パターンテーブル１４の当該エントリの自動伴奏データアドレスＡＤＤＲｉｊが読出アドレスレジスタにセットされる（ステップＳ４６）。この場合、音量変化パターンが変わるとｊが変化することになる。これにより、以後の実効読出アドレスは、新たな自動伴奏データアドレスＡＤＤＲｉｊとカレントポインタの内容とが加算されることによって算出される。従って、自動伴奏データの読出位置が変更され、結果として伴奏パターンが切換られる。
【００７６】
次に、自動伴奏処理について、図１０のフローチャートを参照しながら説明する。この自動伴奏処理ルーチンは、メイン処理ルーチンから一定周期でコールされる。
【００７７】
自動伴奏処理では、先ず、自動伴奏モードであるかどうかが調べられる（ステップＳ５０）。そして、自動伴奏モードでないことが判断されると、シーケンスはこの自動伴奏処理ルーチンからメイン処理ルーチンにリターンする。即ち、自動伴奏処理ルーチンはメイン処理ルーチンから一定周期でコールされるが、自動伴奏モードでなければ直ちにメイン処理ルーチンに戻るという処理により、自動伴奏の停止機能が実現されている。
【００７８】
一方、自動伴奏モードであることが判断されると、チェックタイミングであるかどうかが調べられる（ステップＳ５１）。これは、読出タイミングカウンタの内容が、最大値からゼロにラウンドしたかどうかを調べることにより行われる。ここで、チェックタイミングでないことか判断されると、未だ前回の自動伴奏処理から１ステップタイムが経過していないことが認識され、シーケンスはこの自動伴奏処理ルーチンからメイン処理ルーチンにリターンする。
【００７９】
一方、チェックタイミングであることが判断されると、次いで、実効読出アドレスで指定される音符データ又はＥＮＤデータ中のステップタイムＳＴＥＰとステップタイムカウンタの内容ＣＯＵＮＴとが比較される（ステップＳ５２）。そして、これらが一致しないことが判断されると、当該ステップタイムＳＴＥＰが含まれた音符データ又はＥＮＤデータは未だ実行タイミングに至っていないものと認識される。そして、ステップタイムカウンタの内容ＣＯＵＮＴがインクリメントされ（ステップＳ５３）、その後シーケンスはこの自動伴奏処理ルーチンからメイン処理ルーチンにリターンする。これにより、１ステップタイム毎にステップタイムカウンタの内容かインクリメントされる機能が実現されている。
【００８０】
このようにしてステップタイムカウンタの内容ＣＯＵＮＴが順次インクリメントされた結果、ステップＳ５２でステップタイムＳＴＥＰとステップタイムカウンタの内容ＣＯＵＮＴとが一致したことが判断されると、当該ステップタイムＳＴＥＰが含まれる音符データ又はＥＮＤデータは実行タイミングに至ったものと判断され、その音符データ又はＥＮＤデータが、自動伴奏データテーブル１５から読み出される（ステップＳ５４）。
【００８１】
そして、そのデータはＥＮＤデータであるかどうかが調べられる（ステップＳ５５）。これは、そのデータの第１バイト目の最上位ビットを調べることにより行われる。ここで、ＥＮＤデータであることが判断されると、自動伴奏データの最後に至ったことが認識され、読出アドレスの初期設定が行われる（ステップＳ５６）。このステップＳ５６の処理は、上述したパネル処理のステップＳ３５の処理と同じである。これにより、同一曲の伴奏を繰り返す機能が実現されている。なお、自動伴奏を繰り返す必要のない装置では、このステップＳ５６で自動伴奏フラグをゼロにクリアすればよい。
【００８２】
上記ステップＳ５５でＥＮＤデータでないことが判断されると、当該データは音符データであることが認識され、発音処理が行われる（ステップＳ５７）。発音処理では、音符データ中のキーナンバに対応する音色パラメータがプログラムメモリ１１から読み出されて音源１６に送られる。これにより、音符データに応じた音がスピーカ１７から発生される。
【００８３】
次いで、カレントポインタがインクリメントされる（ステップＳ５８）。より具体的には、カレントポインタの内容が「＋４」される。その後、ステップＳ５２に戻り、同様の処理が繰り返される。これにより、同一ステップタイムＳＴＥＰを有する全ての音符データに基づく音が発音される。
【００８４】
以上説明した例では、自動伴奏データは予め自動伴奏データテーブル１５に記憶されているものとしたが、ユーザが作成した自動伴奏データに基づいて自動伴奏を行うように構成することもできる。この場合、自動伴奏データテーブル１５は、ＲＡＭで構成される。この自動伴奏データテーブル１５に記憶する自動伴奏データは例えば鍵盤装置を用いて生成することができる。この場合、鍵盤装置の代わりにＭＩＤＩインタフェース回路を用いることもできる。ＭＩＤＩインタフェース回路が用いられる場合は、鍵盤装置で発生される鍵盤データの代わりに、ＭＩＤＩインタフェース回路で受信されたＭＩＤＩメッセージに含まれるノートオンデータが使用される。
【００８５】
【発明の効果】
以上詳述したように、本発明によれば、演奏や歌の盛り上がりに応じて伴奏パターンが変化する自動伴奏を行うことのできる自動伴奏装置を提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る自動伴奏装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係る自動伴奏装置で使用される操作パネルの構成を示す図である。
【図３】本発明の実施の形態に係る自動伴奏装置で使用される自動伴奏データテーブルの一例を示す図である。
【図４】本発明の実施の形態に係る自動伴奏装置で使用される自動伴奏データ形式の一例を示す図である。
【図５】本発明の実施の形態に係る自動伴奏装置で使用される音量変化パターンテーブルの一例を示す図である。
【図６】本発明の実施の形態に係る自動伴奏装置のメイン処理を示すフローチャートである。
【図７】本発明の実施の形態に係る自動伴奏装置のタイマ割込処理を示すフローチャートである。
【図８】本発明の実施の形態に係る自動伴奏装置のパネル処理を示すフローチャートである。
【図９】本発明の実施の形態に係る自動伴奏装置の伴奏パターン切換処理を示すフローチャートである。
【図１０】本発明の実施の形態に係る自動伴奏装置の自動伴奏処理を示すフローチャートである。
【符号の説明】
１０    ＣＰＵ
１０ａ  タイマ
１１    プログラムメモリ
１２    ワークメモリ
１３    操作パネル
１４    音量変化パターンテーブル
１５    自動伴奏データテーブル
１６    音源
１７    スピーカ
１８    Ａ／Ｄ変換器
１９    マイクロフォン
２０    アドレスバス
２１    データバス
１３０    自動伴奏スイッチ
１３１    インジケータ
１３２    曲選択スイッチ
１３３    ディスプレイ装置
【図１】
0003630266.tif 000002
【図２】
0003630266.tif 000003
【図３】
0003630266.tif 000004
【図４】
0003630266.tif 000005
【図５】
0003630266.tif 000006
【図６】
0003630266.tif 000007
【図７】
0003630266.tif 000008
【図８】
0003630266.tif 000009
【図９】
0003630266.tif 000010
【図１０】
0003630266.tif 000011