(57)【特許請求の範囲】
【請求項１】
与えられた楽音データに基づいて楽音を発生する楽音発生手段と、
自動伴奏のパターンデータを格納する格納手段と、
演奏情報に基づき最近の音符のキーオン・タイミングからの押鍵されている間の経過時間を検出する検出手段と、
前記キーオン・タイミングを、演奏者の演奏のキーオンによらず必ず拍の頭になるように処理するキーオン・オフセット手段と、
前記検出手段が前記キーオン・オフセット手段によってオフセットされた拍から一定の拍数に相当する経過時間を検出した場合に、上記格納手段から自動伴奏パターンデータを読み出し、ループさせずに前記楽音発生手段に出力する制御手段と
を有することを特徴とする自動伴奏装置。
【請求項２】
前記自動伴奏のパターンデータは偶数拍子のパターンデータであって、前記一定拍数に相当する経過時間は一定の偶数拍数に相当する経過時間であり、前記キーオン・オフセット手段は、演奏者による演奏のキーオンによらず奇数拍の頭になるようにキーオン・オフセット処理を行うことを特徴とする請求項１記載の自動伴奏装置。
【請求項３】
前記検出手段により次の音符のキーオンを検出した場合に、前記制御手段は、前記自動伴奏パターンデータの出力を停止することを特徴とする請求項１又は２記載の自動伴奏装置。
【請求項４】
演奏情報に基づき最近の音符のキーオン・タイミングからの押鍵されている間の経過時間を検出するステップと、
前記キーオン・タイミングを、演奏者の演奏のキーオンによらず必ず拍の頭になるように処理するステップと、
前記経過時間検出ステップで、オフセットされた拍から一定の拍数に相当する経過時間が検出された場合に、自動伴奏パターンデータを読み出し、該演奏情報と共に、該データをループさせずに、楽音を発生させるステップと
を実行することを特徴とする自動伴奏方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器などにおける自動伴奏装置及び自動伴奏方法に関する。
【０００２】
【従来の技術】
従来から、ドラム、ベース、コード、オブリガート等の複数のパートを含む伴奏パターンによる自動伴奏機能が電子楽器等に用いられている。これらの伴奏パターンは、通常ベーシック（或いはバリエーション等）と呼ばれる数〜数十小節程度の長さのパターンでできており、これをループ演奏することで、任意の長さの曲に対応させて、自動伴奏できるようになる。
【０００３】
このような自動伴奏パターンの作成は、曲調や演奏者のメロディ等を想定して、各々のパートに音楽的な特徴を持たせることになる。
【０００４】
【発明が解決しようとする課題】
ドラム、ベース、コード等のリズムパートの伴奏パターン作成では、想定する曲調に対し、ある程度堅実なアンサンブルとなるようアレンジすれば、複数の曲のメロディに対応できるようになる。
【０００５】
一方、オブリガートや副旋律のパートでは、リズム的なアプローチより、旋律的なアレンジを施される場合が多く、数〜数十小節程度の伴奏パターンの中で、演奏者のメロディ等をある程度想定して、図１０の(２)に示すように、部分的にスコアされる。
【０００６】
その際、想定する曲調を積極的に表現しようとすれば、自ずとそのフレーズはより特徴的なものにせざるを得ないが、それにより、想定外のメロディ演奏には対応できず、同図の(５)に示すように、むしろ邪魔なアレンジになることにもなる。この点が自動伴奏パターン作成において、製作者のセンスを問われる難しい点となっている。
【０００７】
またこの点において、ある程度無難なアレンジを施した場合、例えば前記図１０の(５)に示すようないつも同じタイミングでオブリガートや副旋律パートの自動伴奏パターンが演奏され、リズムパートを含めた伴奏パターン全体が通常の曲演奏等に比べて変化に乏しい単調なものになりがちであった。
【０００８】
本発明は、以上のような問題に鑑み創案されたもので、本来想定することの難しい演奏者のメロディ等に、オブリガートや副旋律の自動伴奏パターンの演奏タイミングをより音楽的に対応させることができる自動伴奏装置及び自動伴奏方法を提供せんとするものである。
【０００９】
【課題を解決するための手段】
そのため本発明の自動伴奏装置の構成は、与えられた楽音データに基づいて楽音を発生する楽音発生手段と、自動伴奏のパターンデータ（本構成ではオブリガート伴奏データ等を意味する）を格納する格納手段と、演奏情報（演奏者等がリアルタイムで入力する演奏情報の他、シーケンサに録音された演奏情報（シーケンサデータ）等を含む）に基づき最近の音符のキーオン・タイミングからの押鍵されている間の経過時間を検出する検出手段と、前記キーオン・タイミングを、演奏者の演奏のキーオンによらず必ず拍の頭になるように処理するキーオン・オフセット手段と、前記検出手段が前記キーオン・オフセット手段によってオフセットされた拍から一定の拍数に相当する経過時間を検出した場合に、上記格納手段から自動伴奏パターンデータを読み出し、ループさせずに前記楽音発生手段に出力する制御手段とを有することを基本的特徴としている。
【００１０】
上記構成によれば、前記キーオン・オフセット手段によってオフセットされた拍から一定の拍数に相当する経過時間が検出手段によって検出された場合、前記制御手段によって、格納手段から自動伴奏パターンデータが読み出され、ループさせずに前記楽音発生手段に出力されることになる。このようにすれば、演奏者により演奏されるメロディ等が比較的長い音符である間に、自動伴奏パターンがループせずに演奏されることになり、それによってメロディ演奏を邪魔しない自動伴奏が実現でき、また結果的に演奏者が演奏する任意のメロディ等に対し、随時伴奏パートの演奏タイミングが変化するため、ある程度変化の富んだ伴奏が自動的に行われることが期待できるようになる。
【００１１】
上記構成で、検出手段により検出される対象を、最近の音符のキーオン・タイミングからの押鍵されている間の経過時間と規定したのは、上記のように、一定以上の長さの音符を検出するためである。
【００１２】
上記構成において、前記自動伴奏のパターンデータは偶数拍子のパターンデータであって、前記一定拍数に相当する経過時間は一定の偶数拍数に相当する経過時間であり、前記キーオン・オフセット手段は、演奏者による演奏のキーオンによらず奇数拍の頭になるようにキーオン・オフセット処理を行うようにすると良い（請求項２）。その理由については後述する。
【００１３】
さらに請求項３では、前記検出手段により次の音符のキーオンを検出した場合に、前記制御手段は、前記自動伴奏パターンデータの出力を停止することを規定している。これは、演奏者等の演奏による次のキーオン時にも、その直前の副旋律演奏やオブリガート演奏などが継続されていると、演奏者等のメロディ演奏を邪魔することになるからである。但しこれに限定されず、演奏者による演奏により、続く２音のキーオン・タイミングの時間間隔を検出し、それが予め設定された所望の間隔であった場合にのみ、上記自動伴奏データの発音を中止せず、最後まで鳴らしたり、如何なる場合でもフレーズを最後まで鳴らすようにしても良い。
【００１４】
一方請求項４の構成は、以上の構成を、自動伴奏方法として規定したものであり、その具体的構成は、演奏情報に基づき最近の音符のキーオン・タイミングからの押鍵されている間の経過時間を検出するステップと、前記キーオン・タイミングを、演奏者の演奏のキーオンによらず必ず拍の頭になるように処理するステップと、前記経過時間検出ステップで、オフセットされた拍から一定の拍数に相当する経過時間が検出された場合に、自動伴奏パターンデータを読み出し、該演奏情報と共に、該データをループさせずに、楽音を発生させるステップとを実行することを特徴としている。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図示例と共に説明する。
図１は本発明を実施する形態の一例である電子鍵盤楽器の外観構成を示す平面図である。同図において、電子鍵盤楽器の本体１００には、後述する鍵盤部１１４と、パネル操作部１１５及びパネル操作などの状態を演奏者に視覚的に確認させるためのパネルディスプレイからなる表示部１１６などが設けられている。
【００１６】
図２は、上記電子鍵盤楽器の回路図である。同図に示すように、バス１１０上に、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、キースキャン回路１１４ａを介して繋がる鍵盤部１１４、パネルスキャン回路１１５ａを介して繋がるパネル操作部１１５、表示制御回路１１６ａを介してつながる表示部１１６、楽音発生部１１７が、各接続されており、該バス１１０を通じてこれらのデバイスに各種命令やデータの受け渡しがなされる。尚、鍵盤部１１４は、演奏者の演奏するメロディ等を検出するアッパー鍵と、自動伴奏のためのコード検出をするロワー鍵に分割されている。また前記楽音発生部１１７には、発生せしめられた楽音をアナログに変換するＤ／Ａ変換回路１１８と、それを増幅する増幅器及び外部に発音せしめるスピーカなどのサウンドシステム１１９が電気的に接続されている。
【００１７】
図３は、本発明に係る自動伴奏装置の構成を有する電子鍵盤楽器の機能ブロック図であり、同図に示されるように、本構成は、楽音発生部１と、格納部２と、音符長カウンタ３と、制御部４とを有している。
【００１８】
上記楽音発生部１は、前記楽音発生部１１７、及びこれに接続するＤ／Ａ変換回路１１８、サウンドシステム１１９を含む構成で実現されており、与えられた楽音データに基づいて楽音を発生する機能を有している。即ち、演奏者によるメロディラインなどの演奏情報がキースキャン回路１１４ａから与えら得た場合には、その演奏情報に従った楽音を発生し、また後述する制御部４により、自動伴奏フレーズに基づくデータが与えられた場合は、該データに従った楽音を発生することになる。
【００１９】
上記格納部２は、ＲＯＭ１１３（上記ＣＰＵ１１１によって実行されるプログラム中に、演奏者による自動伴奏データの編集機能があればＲＡＭ１１２とすることもできる）で構成されており、本出願で前提として用いられる自動伴奏のフレーズと、従来通りのドラム、ベース、コード等のループ演奏を前提とした数〜数十小節程度の長さのベーシックパターンデータを格納する機能を有している。本実施例の場合、自動伴奏フレーズは、４分の４拍子で、４分音符分解能を２４クロック（ステップ）に設定されている場合に、１小節分のオブリガート伴奏データが格納されているものとする。もちろんそれ以外の拍子の場合は、同じ長さ或いは別の長さのオブリガート伴奏データが格納されている。さらに副旋律が格納されていても良い。
【００２０】
上記音符長カウンタ３は、ＣＰＵ１１１とその作業領域を提供するＲＡＭ１１２及び図示しないタイマで構成されており、前記キースキャン回路１１４ａから得られる演奏情報から、任意の音符のキーオン・タイミングからそのキーオフまでの経過時間を検出する検出手段で構成されている。
【００２１】
上記制御部４は、同じくＣＰＵ１１１とその作業領域を提供するＲＡＭ１１２及び図示しないタイマで構成されており、音符長カウンタ３で任意の音符のキーオン・タイミングから一定以上の長さの音符が検出された場合に、上記格納部２から自動伴奏フレーズを読み出し、ループさせずに前記楽音発生部１に出力する機能を有している。
【００２２】
本実施例では、４分の４拍子の場合に、４分音符分解能を２４クロック（ステップ）としており、その際一定の音符長として、２拍（ゲートタイム＝４８ステップ）が設定されているものとする。他の拍子については、別の経過時間が設定されている。
【００２３】
また同制御部４には、上記検出部により任意の音符のキーオン・タイミングから上記長さの音符が検出された際、それが偶数拍を含む一定の時間範囲内のキーオン・タイミングであれば、偶数拍にクウォンタイズし、それ以外のキーオン・タイミングであれば、奇数拍にクウォンタイズし、楽音発生部１に、前記自動伴奏フレーズを出力するキーオン・オフセット処理機能を有している。本実施例では、偶数拍を含む一定の時間範囲内とは、４分の４拍子で、４分音符分解能を２４クロック（ステップ）としている場合に、偶数拍＋／−３クロック（ステップ）に設定されているものとする。また他の拍子については、同じ時間範囲或いは別の時間範囲が設定されている。
【００２４】
さらに該制御部４には、前記音符長カウンタ３により次の音符のキーオンを検出した場合に、上記自動伴奏フレーズの出力を停止する機能も有している。
【００２５】
尚、説明を簡単にするために、本実施例では、演奏者等による演奏は、アッパー鍵における単音の演奏のみが行われるものとして説明する。
【００２６】
図４は、上記音符長カウンタ３及び制御部４において上記制御を行うための構成として、ＲＡＭ１１２上に展開された制御フラグ及びカウンタの状態を示している。
【００２７】
データ読み出しカウンタ（ＤＲＣ）は、自動伴奏をスタート・スイッチ等により開始させた時点からカウントアップされる。これは、一定周期で発生されるタイマ割り込みに同期してカウントされるクロックカウンタが、１ステップタイムに相当する時間になるとインクリメントされ、９６ステップ毎にクリアされる。
【００２８】
音符長カウンタ（ＮＬＣ）は、後述する鍵盤イベント処理ルーチンにより、アッパー鍵に演奏者等の押鍵イベントが検出された時点で、上記データ読み出しカウンタ（ＤＲＣ）に同期してカウントが開始される。また該音符長カウンタ（ＮＬＣ）は、カウントが４８ステップ、即ち演奏者等の演奏の音符長が４８ステップに達すると、フレーズ演奏フラグ（ＰＰＦ）を「１」にし、その結果、後述するオブリガート伴奏処理ルーチンにより、ステップタイムカウンタ（ＳＴＣ）のカウントが開始される。ステップタイムカウンタ（ＳＴＣ）は、伴奏データを読み出す際に必要で、９６ステップ（４分の４拍子で１小節）毎にクリアされる。
【００２９】
図５は、上記電子鍵盤楽器におけるメインルーチンの処理フローを示すフローチャートである。まず電源がＯＮになると、図２に示した各回路構成の初期化が行われる（ステップＳ１０１）。そして鍵盤部１１４のスキャンが行われ（ステップＳ１０２）、パネル操作部１１５のスキャンが実行される（ステップＳ１０３）。さらに鍵盤イベント処理が実行され（ステップＳ１０４）、自動伴奏処理が行われて（ステップＳ１０５）、上記ステップＳ１０２に復帰する。
【００３０】
図６は、前記図５の鍵盤イベント処理ルーチンの処理フローを示すフローチャートである。本鍵盤イベント処理ルーチンは、前記図５に示すように、メインルーチンから一定周期でコールされる。まず、鍵盤イベントがチェックされる（ステップＳ２０１）。ここで鍵盤イベントがないと判断されると（ステップＳ２０１；Ｎｏ）、この鍵盤イベント処理ルーチンから抜け出してメインルーチンに戻る。
【００３１】
鍵盤イベントがあると判断される（ステップＳ２０１；Ｙｅｓ）と、自動伴奏モードであるか否かがチェックされる（ステップＳ２０２）。ここで自動伴奏モードでないと判断される（ステップＳ２０２；Ｎｏ）と、通常の発音／消音処理が行われ（ステップＳ２０３）、メインルーチンに戻る。
【００３２】
一方自動伴奏モードであると判断される（ステップＳ２０２；Ｎｏ）と、次にそのイベントがロワー鍵によるものか否かがチェックされる（ステップＳ２０４）。ロワー鍵によるものと判断される（ステップＳ２０４；Ｙｅｓ）と、通常のコード検出処理が行われ（ステップＳ２０６）、メインルーチンに戻る。
【００３３】
上記ステップＳ２０４で、アッパー鍵によるものと判断される（ステップＳ２０４；Ｎｏ）と、そのイベントが押鍵なのか離鍵なのかが調べられる（ステップＳ２０５）。押鍵の場合（ステップＳ２０５；Ｙｅｓ）、フレーズ演奏フラグ（ＰＰＦ、初期値＝０）を、「０」にし、音符長カウンタ３（ＮＬＣ）のカウントを開始し（ステップＳ２０９）、キーオン・オフセット処理して（ステップＳ２１０）、通常の発音処理を行い（ステップＳ２１１）、メインルーチンに戻る。
【００３４】
フレーズ演奏フラグ（ＰＰＦ）は、新しい押鍵の度にクリアされ、後述するオブリガート伴奏データの読み出しを中止するために用いられる。またキーオン・オフセット処理については、後述する。
【００３５】
一方離鍵の場合（ステップＳ２０５；Ｎｏ）、音符長カウンタ３をクリアして（ステップＳ２０７）、通常の消音処理を行い（ステップＳ２０８）、メインルーチンに戻る。
【００３６】
図７は、前記図６のキーオン・オフセット処理ルーチンの処理フローを示すフローチャートである。
【００３７】
このキーオン・オフセット処理は、本実施例において行われる。すなわち、第一に演奏者の演奏に対応して、本願で前提として用いられるオブリガート伴奏データを、ドラムやベース、コード等の従来通りの伴奏データに加えて演奏する場合、演奏者によるフレーズの演奏が前ノリであったり、逆にためていたりすると、付加されるオブリガート伴奏データも、他の伴奏データとは若干ずれて発音されることになり、演奏全体がテンポ的に安定しない印象となる。それを防ぐため、本発明の構成ではキーオン・オフセット処理を行うことにした。換言すれば、演奏者が演奏する例えばメロディ等は、個人の表現方法によって前ノリや後ノリ、或いはフェイクなど、自由であるが、その伴奏を担うパートは、あまりルーズにならない方が良いからである。
【００３８】
第二に、付加されるオブリガート伴奏データの作成のし易さがあげられる。オブリガート伴奏データは、１小節或いは２小節の比較的短いフレーズとなることが考えられるが、演奏者の如何なるタイミングの演奏（キーオン）にも対応した音楽的に望ましいアレンジ等は到底作成不可能なので、演奏者の演奏（キーオン）タイミングにある程度制限を加えなければ、実用性に欠けたシステムとなってしまう。音楽には必ず表の拍と裏の拍があるが、オブリガート伴奏データも演奏者の表の拍、例えば４分の４拍子ならば１拍目か３拍目から付加されることを想定すると作成し易いし、音楽的にも安定すると考えられる。以上のようなことから、拍単位で見た場合には、小節中の（４分の４拍子の場合）２拍、４拍近辺以外の演奏タイミングに関しては、全て１拍、３拍にクウォンタイズする事が有効であると考えた。
【００３９】
これを、図８の例を使って説明すると、仮に４分の４拍子で、演奏者のキーオンが、同図(ａ)に示すように、２拍目の直前にあり、その音符長が２拍以上ある場合を考えてみる。上記本実施例の構成によって、キーオン・オフセット処理を行わない場合、同図(ｂ)に示すように、そこから自動伴奏データが読み出されて発音せしめられることになる。しかしこれでは、発音開始が拍の頭ではなく、リズムに乗らない中途半端なタイミングになってしまう。
【００４０】
他方本実施例に従って、発音開始につき、演奏者の演奏のキーオンによらず必ず拍の頭になるようにキーオン・オフセット処理を行った場合に、同図(ｃ)に示すように、４拍目にクウォンタイズされて（演奏者のキーオン自身はクウォンタイズされない）、上記自動伴奏データが発音せしめられるようにすると、発音開始が拍の頭となり、一応リズムに乗ることになる。しかし付加されるフレーズの１拍目（表の拍）が演奏全体の４拍目（裏の拍）から始まることになり、音楽的に安定しない場合が多い。
【００４１】
これに対し、発音開始につき、一定の場合には、演奏者による演奏のキーオンによらず表の拍の頭になるようにキーオン・オフセット処理を行い、同図(ｄ)に示すように、３拍目にクウォンタイズされて（演奏者のキーオン自身はクウォンタイズされない）、上記自動伴奏データが発音せしめられるようにすると、発音開始が表の拍の頭となり、付加されるフレーズも同じ表の拍（１拍目）から始まるので、音楽的に安定することになる。
【００４２】
前記図７に戻り説明すると、実際の処理に関しては、図６などのように音符長カウンタ３（ＮＬＣ）のカウント開始時点での初期値にオフセットをかけることが考えられる。すなわち、演奏者のキーオンが２拍目（偶数拍）より３ステップ以上前（データ読み出しカウンタＤＲＣ＜２４−３）になされたか或いは３拍目以上４拍目より３ステップ以上前（４８≦データ読み出しカウンタＤＲＣ＜７２−３）になされたかをチェックし（ステップＳ３０１）、以上の範囲でキーオンがあれば（ステップＳ３０１；Ｙｅｓ）、１拍目又は３拍目にクウォンタイズされる（ステップＳ３０２）。
【００４３】
上記範囲でキーオンがなされない場合（ステップＳ３０１；Ｎｏ）は、さらにそのキーオンが２拍目（偶数拍）より３ステップ以上後で且つ３拍目より前（２４＋３＜データ読み出しカウンタＤＲＣ＜４８）になされたか或いは４拍目（偶数拍）より３ステップ以上後（７２＋３＜データ読み出しカウンタＤＲＣ）になされたかをチェックし（ステップＳ３０３）、以上の範囲でキーオンがあれば（ステップＳ３０３；Ｙｅｓ）、３拍目又は次の小節の１拍目にクウォンタイズされる（ステップＳ３０４）。
【００４４】
上記範囲でキーオンがなされない、すなわち偶数拍＋／−３ステップ以内に演奏者のキーオンがある場合（ステップＳ３０３；Ｎｏ）は、２拍目、４拍目にクウォンタイズされる（ステップＳ３０５）。
【００４５】
尚、このようなキーオン・オフセット処理は、演奏者の演奏そのものにクウォンタイズをかけるわけではないので、その演奏は、そのまま発音処理される（前記図６ステップＳ２１１参照）。
【００４６】
図９は、音符長カウンタ３が４８ステップ（２拍目）を刻み、フレーズ演奏フラグＰＰＦが１になった場合のオブリガート伴奏処理ルーチンを示すフローチャートである。尚、伴奏データは全ての種類のデータが４バイト構成とする。
【００４７】
この自動伴奏処理ルーチンは、メインルーチンから一定周期でコールされる。
まず、自動伴奏モードであるか否かがチェックされる（ステップＳ４０１）。
【００４８】
ここで自動伴奏モードでないと判断されると（ステップＳ４０１；Ｎｏ）、該自動伴奏処理ルーチンから抜け出しメインルーチンに戻る。これにより自動伴奏の停止機能が実現される。
【００４９】
一方自動伴奏モードであると判断されると（ステップＳ４０１；Ｙｅｓ）、チェックタイミングであるか否かが調べられる（ステップＳ４０２）。これは前述のデータ読み出しカウンタＤＲＣの内容が、前回の自動伴奏処理で調べた値から変化したどうかで分かる。ここでチェックタイミングでないと判断されると（ステップＳ４０２；Ｎｏ）、未だ前回の自動伴奏処理から１ステップタイムの時間が経っていないと認識され、メインルーチンに戻る。
【００５０】
チェックタイミングであると判断されると（ステップＳ４０２；Ｙｅｓ）、前述のフレーズ演奏フラグＰＰＦが「１」、つまり演奏者の演奏の音符長が４８ステップに達したか否かがチェックされる（ステップＳ４０３）。ここで上記フラグが１でないと判断されると（ステップＳ４０３；Ｎｏ）、データ読み出し先頭アドレスをアドレスレジスタにセットし（ステップＳ４０４）、メインルーチンに戻るため、オブリガートのフレーズ演奏は開始されない。またオブリガート伴奏データが読み出されている最中に、演奏者が次の音符を演奏した場合は、図６の鍵盤イベント処理ルーチンにて、このフレーズ演奏フラグがクリアされる（前記ステップＳ２０９）ため、データはこの時点で読み出されなくなる。これにより次回演奏者が２拍以上の音符を演奏した際、このオブリガート伴奏データは、再び先頭から読み出されることになる。
【００５１】
一方フレーズ演奏フラグＰＰＦが「１」、つまり演奏者が演奏した音符が４分音符で２拍（４８ステップ）以上である時（ステップＳ４０３；Ｙｅｓ）、ステップタイムカウンタＳＴＣにより順次伴奏データが読み出されることになる。
【００５２】
まず、アドレスレジスタに保持されている伴奏データのデータ読み出し先頭アドレスで指定される音符データ或いはＥＮＤデータ中のステップタイム（ＳＴＥＰ）と前記ステップタイムカウンタＳＴＣの値（ＣＯＵＮＴ）が比較される（ステップＳ４０５）。これらが一致しない場合（ステップＳ４０５；Ｎｏ）、そのデータは未だ読み出しタイミングに至っていないものと認識され、ステップタイムカウンタＳＴＣの値（ＣＯＵＮＴ）がインクリメントされ（ステップＳ４０６）、メインルーチンに戻る。
【００５３】
他方ステップタイムカウンタＳＴＣの値（ＣＯＵＮＴ）がインクリメントされた結果、データのステップタイム（ＳＴＥＰ）とステップタイムカウンタＳＴＣの値（ＣＯＵＮＴ）が一致した場合（ステップＳ４０５；Ｙｅｓ）、そのデータは読み出しタイミングに至ったものと認識され、格納部２から読み出される（ステップＳ４０７）。
【００５４】
そして次にそのデータがＥＮＤデータであるか否かがチェックされる（ステップＳ４０８）。ここでＥＮＤデータであると判断されると（ステップＳ４０８；Ｙｅｓ）、自動伴奏データの最後に至ったことが認識され、メインルーチンに戻る。
【００５５】
前記ステップＳ４０８で、ＥＮＤデータでないと判断されると（ステップＳ４０８；Ｎｏ）、このデータは音符データであることが認識され、コード展開の後（ステップＳ４０９）、発音処理が行われる（ステップＳ４１０）。
【００５６】
その後データ読み出しアドレスが次の音符或いはＥＮＤデータにセットされ（ステップＳ４１１、データは全て４バイト構成なので＋４）、ステップＳ４０５に復帰し、同一ステップタイムにまだデータがあれば、以下同様に処理が行われる。
【００５７】
上記実施例構成では、演奏者の次のキーオン・タイミングによって、オブリガート伴奏データの発音を中止しているが、それ以外にも次のような設定が可能である。たとえば演奏者による演奏により、続く２音のキーオン・タイミングの時間間隔を検出し、それが予め設定された所望の間隔であった場合にのみ、上記自動伴奏データの発音を中止せず、最後まで鳴らしたり、如何なる場合でもフレーズを最後まで鳴らすようにしても良い。
【００５８】
以上述べた本実施例構成によれば、音符長カウンタ３によって、演奏情報から４分の４拍子で２拍以上の長さの音符が検出された場合、前記制御部４によって、格納部２からオブリガート伴奏データが読み出され、ループせずに前記楽音発生部１に出力されることになる。このようにすれば、演奏者により演奏されるメロディ等が比較的長い音符である間に、オブリガート伴奏データが演奏されることになり、それによってメロディ演奏を邪魔しない自動伴奏が実現でき、また結果的に演奏者が演奏する任意のメロディ等に対し、随時伴奏パートの演奏タイミングが変化するため、ある程度変化の富んだ伴奏が自動的に行われることができるようになる。
【００５９】
また上記構成で、上記音符長カウンタ３により４分の４拍子で２拍以上の長さの音符が検出された際、それが偶数拍を含む＋／−３ステップの範囲内のキーオン・タイミングであった場合は、前記制御部４により２乃至４拍の偶数拍に、それ以外のキーオン・タイミングであった場合は、制御部４により１乃至３拍の奇数拍に、クウォンタイズされた値として扱われ、該制御部４によって、楽音発生部１に、前記オブリガート伴奏データが出力されるようにしている。このようなキーオン・オフセット処理が実行されることで、演奏者によって前ノリや後ノリ、或いはフェイクなど、自由な演奏による表現方法がとられたとしても、付加されるオブリガート伴奏データは、他の伴奏データと同期して発音されることになり、演奏全体をテンポ的に安定させることが可能となる。また音楽には必ず表の拍と裏の拍があるが、オブリガート伴奏データも演奏者の表の拍、例えば４分の４拍子ならば１拍目か３拍目から付加されることを想定すると作成し易いし、音楽的にも安定することになる。
【００６０】
さらに前記音符長カウンタ３により次の音符のキーオンを検出した場合に、前記制御部４は、オブリガート伴奏データの出力を停止するようにしているので、演奏者の演奏による次のキーオン時に、その直前のオブリガート伴奏がそのメロディ演奏を邪魔することがなくなる。
【００６１】
尚、本発明の自動伴奏装置は、上述の実施例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。たとえば上記構成では、一定以上の長さの音符を検出しているが、その検出対象を、任意の音符のキーオン・タイミングから一定以上の経過時間とすれば、上記のように、一定以上の長さの音符を検出する場合だけでなく、スタッカートのように、キーオンがあった後、一定時間楽音発生のない休符となり、次のキーオンまでの間がしばらくあるような場合や、テヌートなどがある場合でも、本構成の対象として含むようにすることが可能である。
【００６２】
【発明の効果】
以上、説明したように本発明の請求項１〜４記載の自動伴奏装置及び自動伴奏方法によれば、演奏者により演奏されるメロディ等が比較的長い音符である間に、自動伴奏パターンがループせずに演奏されることになり、それによってメロディ演奏を邪魔しない自動伴奏が実現でき、また結果的に演奏者が演奏する任意のメロディ等に対し、随時伴奏パートの演奏タイミングが変化するため、ある程度変化の富んだ伴奏が自動的に行われることが期待できるようになるという優れた効果を奏し得る。
【００６３】
また請求項２の構成のように、前記自動伴奏のパターンデータは偶数拍子のパターンデータであって、前記一定拍数に相当する経過時間は一定の偶数拍数に相当する経過時間であり、前記キーオン・オフセット手段は、演奏者による演奏のキーオンによらず奇数拍の頭になるようにキーオン・オフセット処理を実行し、該制御手段によって、楽音発生手段に、前記自動伴奏パターンデータを出力するようにすることで、演奏者によって前ノリや後ノリ、或いはフェイクなど、自由な演奏による表現方法がとられたとしても、付加される自動伴奏データは、従来通りの伴奏データと同期して発音されることになり、演奏全体をテンポ的に安定させることが可能となるし、さらに音楽には必ず表の拍と裏の拍があるが、上記自動伴奏データも演奏者の表の拍から付加されることを想定すると作成し易く、且つ音楽的にも安定することになる。
【図面の簡単な説明】
【図１】本発明を実施する形態の一例である電子鍵盤楽器の外観構成を示す平面図である。
【図２】上記電子鍵盤楽器の回路図である。
【図３】本発明に係る自動伴奏装置の構成を有する電子鍵盤楽器の機能ブロック図である。
【図４】制御フラグ及びカウンタの状態を示す説明図である。
【図５】電子鍵盤楽器におけるメインルーチンの処理フローを示すフローチャートである。
【図６】鍵盤イベント処理ルーチンの処理フローを示すフローチャートである。
【図７】キーオン・オフセット処理ルーチンの処理フローを示すフローチャートである。
【図８】キーオン・オフセット処理の説明図である。
【図９】オブリガート伴奏処理ルーチンを示すフローチャートである。
【図１０】オブリガートや副旋律のパートでのスコアの仕方の一例を示す説明図である。
【符号の説明】
１      楽音発生部
２      格納部
３      音符長カウンタ
４      制御部
１００      電子鍵盤楽器本体
１１０      バス
１１１      ＣＰＵ
１１２      ＲＡＭ
１１３      ＲＯＭ
１１４      鍵盤部
１１４ａ    キースキャン回路
１１５      パネル操作部
１１５ａ    パネルスキャン回路
１１６      表示部
１１６ａ    表示制御回路
１１７      楽音発生部
１１８      Ｄ／Ａ変換回路
１１９      サウンドシステム
【図１】
0004619495.tif 000002
【図２】
0004619495.tif 000003
【図３】
0004619495.tif 000004
【図４】
0004619495.tif 000005
【図５】
0004619495.tif 000006
【図６】
0004619495.tif 000007
【図７】
0004619495.tif 000008
【図８】
0004619495.tif 000009
【図９】
0004619495.tif 000010
【図１０】
0004619495.tif 000011