(57)【特許請求の範囲】
【請求項１】
予め定められたコードの自動伴奏パターンであって、少なくとも、コード名およびコード構成音の発音タイミング、を含む自動伴奏データを記憶する記憶手段と、
並列に配置され演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
操作された演奏操作子の数が３つの場合に、操作された複数の演奏操作子について、最低音に対応する演奏操作子から中央の音に相当する演奏操作子の間の度数の、前記最低音に対応する演奏操作子から最高音に相当する演奏操作子の間の度数に対する比率に基づいて、前記コードの転回形を決定する制御手段を備え、
前記制御手段が、前記度数に基づいて決定された転回形およびコード名に基づいて、発音すべきコード構成音の音高を決定し、
前記楽音データ生成手段が、前記制御手段により音高が決定されたコード構成音の楽音データを、前記発音タイミングで生成することを特徴とする電子楽器。
【請求項２】
予め定められた自動伴奏パターンであって、少なくとも、コード名およびコード構成音の発音タイミング、を含む自動伴奏データを記憶する記憶手段を備えたコンピュータに、
並列に配置された演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成ステップと、
操作された演奏操作子の数が３つの場合に、操作された複数の演奏操作子において、最低音に対応する演奏操作子から中央の音に相当する演奏操作子の間の度数の、前記最低音に対応する演奏操作子から最高音に相当する演奏操作子の間の度数に対する比率に基づいて、前記コードの転回形を決定する制御ステップと、を実行させ、
前記制御ステップが、前記度数に基づいて決定された転回形およびコード名に基づいて、発音すべきコード構成音の音高を決定するステップを有し、
前記楽音データ生成ステップにおいて、前記制御ステップにおいて音高が決定されたコード構成音の楽音データが、前記発音タイミングで生成されることを特徴とする電子楽器のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動伴奏パターンの演奏が可能な電子楽器および電子楽器のプログラムに関する。
【背景技術】
【０００２】
電子楽器においては、いわゆる「自動伴奏」という機能が良く知られている。自動伴奏においては、一般的に、ユーザの鍵操作によって指定されたコードの構成音に相当する楽音が、自動伴奏パターンが示す伴奏シーケンスにしたがって発音される。また、自動伴奏パターンには、単一或いは複数の楽音によるメロディ音、メロディ音の対旋律などを構成するオブリガート音、および、リズム音も含まれ得る。
【０００３】
自動伴奏の機能を用いることによって、一人の演奏者でも、コード音やリズム音を含む豊富な楽音の演奏が実現できる。その一方、コードの知識の無い演奏者は、この機能を有効に利用できないという問題点があった。
【０００４】
演奏者によるコード指定を簡易化するために、たとえば、特許文献１においては、押鍵数が基準値を超えるごとに、複数の自動伴奏パターンを所定の順序で順次切り換えて読み出し、自動伴奏パターンが、押鍵数に応じて変化する電子楽器が提案されている。
【０００５】
また、特許文献２においては、演奏者の押鍵を、コード構成音に変換して、当該コード構成音を含む自動伴奏を演奏する電子楽器が提案されている。この電子楽器においては、曲データを利用することで、音階の指定を自動化しており、演奏者がコードの知識を有していなくても、表現を加えた自動伴奏を演奏することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−２４２２９７号公報
【特許文献２】特開２００４−１７７８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
たとえば、特許文献１に開示された技術では、複数のコードパターンが切り換えられるため、演奏形態の変化が画一的になってしまう可能性がある。
【０００８】
また、特許文献２に開示された技術では、押鍵タイミングや押鍵数を適切に与えない場合には、適切な自動伴奏の演奏ができない可能性がある。すなわち、演奏者はコードの知識を必要としないが、リズムについての一定のセンスや知識を必要とする。
【０００９】
また、従来の自動伴奏においては、特許文献１に開示されたように、押鍵数に応じて、自動伴奏パターンを変化させることは可能であった。ユーザは、追う件数以外にも自動伴奏パターンを変化させる要素を導入して、ユーザの直感的な演奏表現にしたがった多様な伴奏が可能であることが望ましい。
【００１０】
本発明は、コードに関する知識がない演奏者による演奏であっても、直感的な操作にしたがった適切な自動伴奏を演奏することができる電子楽器および電子楽器のプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的は、予め定められたコードの自動伴奏パターンであって、少なくとも、コード名およびコード構成音の発音タイミング、を含む自動伴奏データを記憶する記憶手段と、
並列に配置され演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成手段と、を備えた電子楽器であって、
操作された演奏操作子の数が３つの場合に、操作された複数の演奏操作子について、最低音に対応する演奏操作子から中央の音に相当する演奏操作子の間の度数の、前記最低音に対応する演奏操作子から最高音に相当する演奏操作子の間の度数に対する比率に基づいて、前記コードの転回形を決定する制御手段を備え、
前記制御手段が、前記度数に基づいて決定された転回形およびコード名に基づいて、発音すべきコード構成音の音高を決定し、
前記楽音データ生成手段が、前記制御手段により音高が決定されたコード構成音の楽音データを、前記発音タイミングで生成することを特徴とする電子楽器により達成される。
【００１５】
また、本発明の目的は、予め定められた自動伴奏パターンであって、少なくとも、コード名およびコード構成音の発音タイミング、を含む自動伴奏データを記憶する記憶手段を備えたコンピュータに、
並列に配置された演奏操作子の操作に基づいて、所定の楽音の楽音データを生成する楽音データ生成ステップと、
操作された演奏操作子の数が３つの場合に、操作された複数の演奏操作子において、最低音に対応する演奏操作子から中央の音に相当する演奏操作子の間の度数の、前記最低音に対応する演奏操作子から最高音に相当する演奏操作子の間の度数に対する比率に基づいて、前記コードの転回形を決定する制御ステップと、を実行させ、
前記制御ステップが、前記度数に基づいて決定された転回形およびコード名に基づいて、発音すべきコード構成音の音高を決定するステップを有し、
前記楽音データ生成ステップにおいて、前記制御ステップにおいて音高が決定されたコード構成音の楽音データが、前記発音タイミングで生成されることを特徴とする電子楽器のプログラムにより達成される。
【発明の効果】
【００１６】
本発明によれば、コードに関する知識がない演奏者による演奏であっても、直感的な操作にしたがった適切な自動伴奏を演奏することができる電子楽器および電子楽器のプログラムを提供することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本実施の形態にかかる電子楽器の外観を示す図である。
【図２】図２は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態にかかる電子楽器１０にて実行される処理を示すフローチャートである。
【図４】図４は、自動伴奏パターンのデータ（伴奏データ）の例を説明する図である。
【図５】図５は、図４の自動伴奏パターンに対応する楽譜を示す図である。
【図６】図６（ａ）は、本実施の形態にかかる電子楽器１０において実行されるメインフローの例を示すフローチャート、図６（ｂ）は、本実施の形態にかかるタイマ割り込み処理の霊を示す図である。
【図７】図７は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。
【図８】図８は、本実施の形態にかかるメロディ鍵処理の例を示すフローチャートである。
【図９】図９は、本実施の形態にかかる伴奏鍵処理の一例を示すフローチャートである。
【図１０】図１０は、本実施の形態にかかるソング伴奏処理の例を示す図である。
【図１１】図１１（ａ）は、本実施の形態にかかる基準時間カウント処理の例を示すフローチャート、図１１（ｂ）は、拍先頭処理の例を示すフローチャートである。
【図１２】図１２は、本実施の形態にかかる経過時間カウント処理の例を示すフローチャートである。
【図１３】図１３（ａ）は、本実施の形態にかかるメロディ処理の例を示すフローチャート、図１３（ｂ）は、リズム処理の例を示すフローチャートである。
【図１４】図１４は、本実施の形態にかかるコード音伴奏処理の例を示すフローチャートである。
【図１５】図１５は、本実施の形態にかかる操作反映処理の例を示すフローチャートである。
【図１６】図１６は、本実施の形態における基準経過時間および伴奏経過時間を説明する図である。
【図１７】図１７は、操作反映処理において得られたコード音の再生音長を説明する図である。
【図１８】図１８は、本実施の形態にかかる押鍵数反映処理の例を示すフローチャートである。
【図１９】図１９は、本実施の形態にかかるコード音におけるコード構成音を説明する図である。
【図２０】図２０（ａ）〜（ｃ）は、それぞれ、鍵盤においてＣＭａｊ（Ｃメジャー）の和音を演奏したときに押鍵される鍵を示す図である。
【図２１】図２１は、メジャーコードおよびマイナーコードのそれぞれにおける、基本形、第一転回形、第二転回形について、最低音から中間音、中間音から最高音、最低音から最低音のそれぞれの指間の度数Ｄ１、Ｄ２、Ｄ３を示す表である。
【図２２】図２２は、メジャーコードＣおよびマイナーコードＡｍのそれぞれにおける、基本形、第一転回形、第二転回形について、最低音から中間音、中間音から最高音、最低音から最低音のそれぞれの、白鍵数の差を示す表である。
【図２３】図２３は、本実施の形態にかかる指間度数評価処理の例を示すフローチャートである。
【図２４】図２４は、他の実施の形態にかかる指間度数評価処理の例を示すフローチャートである。
【図２５】図２５は、本実施の形態にかかるコード自動伴奏データの他の例を示す図である。
【図２６】図２６は、図２５の自動伴奏パターンに対応する楽譜を示す図である。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本実施の形態にかかる電子楽器の外観を示す図である。図１に示すように、本実施の形態にかかる電子楽器１０は、鍵盤１１を有する。また、鍵盤１１の上部には、音色の指定、自動伴奏の開始・終了、リズムパターンの指定などを行なうためのスイッチ（符号１２、１３参照）や、演奏される楽曲に関する種々の情報、たとえば、音色、リズムパターン、コードネームなどを表示する表示部１５を有する。本実施の形態にかかる電子楽器１０は、たとえば、６１個の鍵（Ｃ２〜Ｃ７）を有する。また、電子楽器１０は、自動伴奏をオンする自動伴奏モード、および、自動伴奏をオフにする通常モードの２つの演奏モードのうち、何れかの下での演奏が可能である。自動伴奏モードの下では、Ｃ２〜Ｆ３の１８鍵（符号１０１参照）が、伴奏用の鍵盤として使用され、Ｆ＃４〜Ｃ７の４３鍵（符号１０２参照）がメロディ用の鍵盤として使用される。符号１０１で示す鍵域を伴奏鍵域とも称し、符号１０２で示す鍵域をメロディ鍵域とも称する。
【００１９】
図２は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。図２に示すように、本実施の形態にかかる電子楽器１０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、サウンドシステム２４、スイッチ群２５、鍵盤１１および表示部１５を備える。
【００２０】
ＣＰＵ２１は、電子楽器１０全体の制御、鍵盤１１の鍵の押鍵やスイッチ群２５を構成するスイッチ（たとえば、図１の符号１２、１３参照）の操作の検出、鍵やスイッチの操作にしたがったサウンドシステム２４の制御、自動伴奏パターンにしたがった自動伴奏の演奏など、種々の処理を実行する。
【００２１】
ＲＯＭ２２は、ＣＰＵ２１に実行させる種々の処理、たとえば、スイッチの操作、鍵盤の何れかの鍵の押鍵、押鍵に応じた楽音の発音、自動伴奏パターンを構成する楽音の発音データなどのプログラムを記憶する。また、ＲＯＭ２２は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリア、および、種々の自動伴奏パターンを示すデータ（自動伴奏データ）を格納した自動伴奏パターンエリアを有する。ＲＡＭ２３は、ＲＯＭ２２から読み出されたプログラムや、処理の過程で生じたデータを記憶する。なお、本実施の形態において、自動伴奏パターンは、メロディ音およびオブリガート音を含むメロディ自動伴奏パターン、コード音を含むコード自動伴奏パターン、並びに、ドラム音を含むリズムパターンを有する。たとえば、メロディ自動伴奏パターンのデータのレコードは、楽音の音色、音高、発音タイミング（発音時刻）、音長などを含む。コード自動伴奏パターンのデータのレコードは、上記情報に加えて、コード構成音を示すデータを含む。また、リズムパターンのデータは、楽音の音色、発音タイミングを含む。
【００２２】
サウンドシステム２４は、音源部２６、オーディオ回路２７およびスピーカ２８を有する。音源部２６は、たとえば、押鍵された鍵についての情報或いは自動伴奏パターンについての情報をＣＰＵ２１から受信すると、ＲＯＭ２２の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部２６は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。オーディオ回路２７は、楽音データをＤ／Ａ変換して増幅する。これによりスピーカ２８から音響信号が出力される。
【００２３】
本実施の形態にかかる電子楽器１０は、通常モードの下においては、鍵盤１１の鍵の押鍵に基づいて楽音を発生する。その一方、電子楽器１０は、自動伴奏スイッチ（図示せず）が操作されることにより、自動伴奏モードとなる。自動伴奏モードの下では、メロディ鍵域の鍵の押鍵により、その鍵の音高の楽音が発生する。また、伴奏鍵域の鍵の押鍵にしたがって自動伴奏パターンが制御され、制御された自動伴奏パターンにしたがった楽音が発生する。なお、自動伴奏パターンは、ピアノやギターなど音高の変化を伴うメロディ自動伴奏パターン、コード自動伴奏パターンと、バスドラム、スネアドラム、シンバルなど音高の変化を伴わないリズムパターンとを含む。
【００２４】
本実施の形態においては、伴奏鍵域の鍵の押鍵タイミングにしたがって、自動伴奏パターン、特に、コード自動伴奏パターンの発音タイミングが制御される。また、本実施の形態においては、伴奏鍵域において押鍵された複数の鍵の間隔によって、コード自動伴奏パターンにおいて発音する和音の転回形が制御される。さらに、伴奏鍵域の押鍵が無い場合には、メロディ自動伴奏パターンおよびコード自動伴奏パターンの発音が停止され、リズムパターンのみの発音となる。
【００２５】
図３は、本実施の形態にかかる伴奏鍵域の押鍵と、自動伴奏パターンの制御との関係を概略的に示すタイミングチャート、図４は、自動伴奏パターンのデータ中、コード伴奏データの例を概略的に説明する図、図５は、図４の自動伴奏パターンに対応する楽譜を示す図である。
【００２６】
図３において、符号３００は、想定操作を示す。演奏者が、想定操作３００と同一音タイミングで押鍵および離鍵を行なうと、コード伴奏データ初期値（符号３２０参照）と同一のタイミングで、コード自動伴奏パターンが発音される。すなわち、想定操作は、演奏者がコード伴奏データ初期値と同一のコード自動伴奏パターンを演奏するときの操作を想定している。また、この想定操作における押鍵時間（符合３５１参照）は、想定音長値として、後述する図１５の処理において利用される。
【００２７】
図３では、コード自動伴奏データ初期値を、例示的に、１拍を２分割したパルスとして表している。楽曲が４／４拍子と考えた場合に、コード自動伴奏データ初期値におけるパルスの立ち上がりおよび立下りが、それぞれ、１６分音符の先頭位置を示す。
【００２８】
演奏者による実際の操作が符号３１０に示すようなものであったと考える。たとえば、１拍目の演奏者の押鍵のタイミング（符号３１１）は、想定操作より早くなっている。この場合には、本実施の形態にかかるＣＰＵ２１は、コード自動伴奏データの読み出し時刻を早めるような処理を実行する（符号３１０参照）。したがって、制御されたコード自動伴奏データは、コード自動伴奏データ初期値よりも発音タイミングが早められたものとなる（符号３３１参照）。
【００２９】
その一方、２拍目の演奏者の押鍵タイミング（符号３１２参照）は、想定操作より遅くなっている。この場合には、ＣＰＵ２１は、コード自動伴奏データの読み出し時刻を遅くするような処理を実行する（符号３２２参照）。したがって、制御されたコード自動伴奏データは、コード自動伴奏データ初期値よりも発音タイミングが早められたものとなる（符号３３２参照）。なお、演奏者による実際の押鍵タイミングが変化する場合であっても、ドラムパターン（符号３４０参照）およびメロディ自動伴奏パターン（図３においては図示せず）は変化しない。
【００３０】
また、本実施の形態においては、ユーザが伴奏鍵域の鍵を、所定の期間だけ押鍵しないことにより（符号３１３参照）、自動伴奏パターンの発音、より詳細には、メロディ自動伴奏パターンおよびコード自動伴奏パターンの楽音の発音が停止され、リズムパターンのみが発音される（符号３２３、３３３参照）。
【００３１】
さらに、本実施の形態においては、押鍵タイミングが相対操作における押鍵タイミングより早いか、遅いかだけではなく、押鍵されている時間長が、想定操作における時間長よりも長いか短いかによっても、コード音自動伴奏データを制御できるようになっている。たとえば、５拍目（第２小節１拍目）の演奏者の押鍵の時間長（符号３１４参照）は、想定操作における押鍵の時間長よりも短い。この場合には、ＣＰＵ２１は、コード自動伴奏データにおいて、発音される楽音の音長を短くするような処理を実行する（符号３２４参照）。したがって、制御されたコード自動伴奏データにおいては、音長が、コード自動伴奏データ初期値に含まれる楽音の音長よりも短くなる（符号３３４参照）。
【００３２】
また、６拍目（第２小節２拍目）の演奏者の押鍵の時間長は、想定操作における時間長よりも長い。この場合には、ＣＰＵ２１は、コード自動伴奏データにおいて、発音された楽音の音長を長くするような処理を実行する（符号３２５参照）。したがって、制御されたコード自動伴奏データにおいては、音長が、コード自動伴奏データ初期値に含まれる楽音の音長よりも長くなる（符号３３５参照）。
【００３３】
上記例において、コード自動伴奏データの発音タイミングを早めること（符号３３１参照）により、いわゆる「前ノリ」の演奏を実現でき、或いは、コード自動伴奏データの発音タイミングを遅くすること（符号３３２参照）により、いわゆる「後ノリ」の演奏を実現できる。また、コード自動伴奏データを構成する楽音の音長を短くすること（符号３３４参照）により、いわゆる「タイト」な演奏を実現でき、或いは、楽音の音長を長くすること（符号３３５参照）により、いわゆる「ゆるやか」な演奏を実現することができる。
【００３４】
図４に示すように、本実施の形態において、コード自動伴奏データは、ベース音、第１のコード構成音（ルート音）、第２のコード構成音（第３音）、第３のコード構成音（第５音）、第４のコード構成音（第７音、テンションノート等）を含む。実際には、伴奏データは、上記ベース音およびコード構成音のほか、コード名、発音開始時刻および音長などを含む。
【００３５】
図４に示す例では、１拍目および２拍目は、コード名「Ｃ７」に基づく楽音となり、３拍目および４拍目は、コード名「Ｆ７」に基づく楽音となり、５拍目および６拍目（第２小節１拍目および２拍目）は、コード名「Ｇ７」に基づく楽音となり、７拍目および８拍目（第２小節３拍目および４拍目）は、コード名「Ｃ６」に基づく楽音となる。
【００３６】
また、図４の例では、１拍目および２拍目では、最初に１．５拍（４／４拍子では符点４分音符）の音長、引き続いて、０．５拍（４／４拍子では８分音符）の音長でコード構成音が発音し、０．５拍（４／４拍では８分音符）の音長で、４つのベース音が順次発音する。３拍目および４拍目、並びに、５拍目および６拍目においても同様である。図４に示すコード自動伴奏データを５線譜上に表したものが、図５に示す楽譜である。
【００３７】
さらに、本実施の形態においては、伴奏鍵域において、演奏者が押鍵した鍵の間隔に基づいて、コード構成音の順序を変更することができる。コード構成音の順序は、いわゆる３和音の転回形に相当する。転回形には、最低音が根音である場合の基本形、基本形と比較して根音をオクターブ上げることにより、最低音が第３音となる第一転回形、第一転回形と比較して、第３音をオクターブ上げることにより（基本形と比較して、第５音をオクターブ下げることにより）、最低音が第５音となる第二転回形が含まれる。
【００３８】
図２５は、本実施の形態にかかるコード自動伴奏データの他の例を示す図である。この例では、図４に示す第４のコード構成音は省略されている。その一方、図２５に示す例では、コード転回情報が示されている。コード転回情報は、各コードの転回形を示す情報であり、基本形、第一転回形および第二転回形の何れかを示す。コード転回情報は、後述する転回型反映処理（図１５のステップ１５０１）において、コード自動伴奏データに付加される情報である。図２５に示すコード自動伴奏データを５線譜上に表したものが、図２６に示す楽譜である。
【００３９】
なお、コード自動伴奏データは、コード音伴奏処理（図１４）において、その押鍵数に応じてコード構成音が決定され、また、押鍵数が３であるときには、所定の転回形でコード構成音が作られる。したがって、ＲＯＭ２２に、初期的には、コード名、発音開始時刻および音長を、コード自動伴奏データとして格納しておき、コード音伴奏処理において、押鍵数に基づいて、コード構成音を決定し、最終的なコード自動伴奏データを生成しても良い。或いは、ＲＯＭ２２に、コード名、発音開始時刻および音長に加えて、コード構成音を格納しておき、コード音伴奏処理において、ＲＯＭ２２に格納されたコード構成音から、所定のコード構成音を選択して、最終的なコード自動データを生成しても良い。
【００４０】
以下、コード自動伴奏データの制御を含む、本実施の形態にかかる電子楽器１０において実行される処理についてより詳細に説明する。図６（ａ）は、本実施の形態にかかる電子楽器において実行されるメインフローの例を示すフローチャートである。また、図６（ｂ）は、本実施の形態にかかるタイマ割り込み処理の例を示す図である。
【００４１】
タイマ割り込み処理においては、図６（ａ）に示すメインフローが実行されているときに、所定の時間間隔で、割込カウンタのカウンタ値がインクリメントされる（ステップ６１１）。
【００４２】
図６（ａ）に示すように、電子楽器１０のＣＰＵ２１は、電子楽器１０の電源が投入されると、ＲＡＭ２３中のデータや、表示部１５の画像のクリアクリアを含むイニシャル処理（初期化処理）を実行する（ステップ６０１）。イニシャル処理（ステップ６０１）が終了すると、ＣＰＵ２１は、スイッチ群２５を構成するスイッチのそれぞれの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する（ステップ６０２）。
【００４３】
たとえば、スイッチ処理（ステップ６０２）においては、音色指定スイッチや、自動伴奏パターンの種別の指定スイッチ、自動伴奏パターンのオン・オフの指定スイッチなど、種々のスイッチの操作が検出される。自動伴奏パターンがオンとなったときには、ＣＰＵ２１は、演奏モードを、伴奏モードに切り換える。演奏モードを示すデータは、ＲＡＭ２３の所定の領域に指定される。音色や自動伴奏パターンの種別を示すデータも、同様に、ＲＡＭ２３の所定の領域に格納される。
【００４４】
次いで、ＣＰＵ２１は、鍵盤処理を実行する（ステップ６０３）。図７は、本実施の形態にかかる鍵盤処理の例をより詳細に示すフローチャートである。鍵盤処理において、ＣＰＵ２１は、鍵盤１１の鍵を走査する。鍵の走査結果であるイベント（鍵オン或いはオフ）は、ＲＡＭ２３に一時的に記憶される。ＣＰＵ２１は、ＲＡＭ２３に記憶された鍵の走査結果を参照して、ある鍵についてイベントが有るか否かを判断する（ステップ７０２）。ステップ７０２でＹｅｓと判断された場合には、ＣＰＵ１１は、当該イベントが生じている鍵が、メロディ鍵域の鍵（メロディ鍵）であるか否かを判断する（ステップ７０３）。ステップ７０３でＹｅｓと判断された場合には、ＣＰＵ２１は、メロディ鍵処理を実行する（ステップ７０４）。
【００４５】
図８は、本実施の形態にかかるメロディ鍵処理の例をより詳細に示すフローチャートである。図８に示すように、ＣＰＵ２１は、イベントが鍵オンであるか否かを判断する（ステップ８０１）。ステップ８０１でＹｅｓと判断された場合には、ＣＰＵ２１は、当該鍵オンがあった鍵について発音処理を実行する（ステップ８０２）。発音処理においては、ＣＰＵ２１は、ＲＡＭ２３に記憶されていたメロディ鍵用の音色データ、および、鍵の音高を示すデータを読み出してＲＡＭ２３に一時的に記憶する。後述する音源発音処理（図６のステップ６０５）において、音色や音高を示すデータは音源部２６に与えられる。音源部２６は、音色および音高を示すデータにしたがって、ＲＯＭ２２の波形データを読み出して、所定の音高の楽音データを生成する。これにより、スピーカ２８から所定の楽音が発生する。
【００４６】
ステップ８０１でＮｏと判断された場合には、イベントが鍵オフであったことになる。したがって、ＣＰＵ２１は、鍵オフになった鍵についての消音処理を実行する（ステップ８０３）。消音処理においては、ＣＰＵ２１は、消音すべき楽音の音高を示すデータを生成し、ＲＡＭ２３に一時的に記憶する。この場合にも、後述する音源発音処理（ステップ６０５）において、消音すべき楽音の音色および音高を示すデータが、音源部２６に与えられる。音源部２６は、与えられたデータに基づいて、所定の楽音を消音する。
【００４７】
ステップ７０３でＮｏと判断された場合には、ＣＰＵ２１は、自動伴奏パターンが演奏中か否かを判断する（ステップ７０５）。たとえば、ステップ７０５においては、ＣＰＵ２１は、自動伴奏パターンがオンとなっており演奏モードが伴奏モードであるか否かを判断する。ステップ７０５でＮｏと判断された場合には、ＣＰＵ２１は、メロディ鍵処理（ステップ７０４）を実行する。
【００４８】
その一方、ステップ７０５でＹｅｓと判断された場合、つまり、自動伴奏パターンの演奏中であった場合には、ＣＰＵ２１は、伴奏鍵処理を実行する（ステップ７０６）。図９は、本実施の形態にかかる伴奏鍵処理の一例を示すフローチャートである。図９に示すように、伴奏鍵処理においては、ＣＰＵ２１は、まず、イベントが鍵オンであるか否かを判断する（ステップ９０１）。ステップ９０１でＹｅｓと判断された場合には、ＣＰＵ２１は、当該鍵の押鍵タイミングが、評価対象範囲であるかどうかを判断する（ステップ９０２）。評価対象範囲とは、想定操作における押鍵時間に、前後所定の時間を加えた所定の時間範囲である。図３において、想定操作において、１拍目の押鍵時間を符号３５１で示す。この押鍵時間３５１の前後に所定の時間を加えた時間範囲（符号３５０参照）が、評価対象範囲となる。なお、伴奏鍵域における鍵のオンがあった場合（ステップ９０１でＹｅｓ）には、当該オンとなった鍵の情報（たとえば鍵番号）がＲＡＭ２３に格納される。なお、鍵のオフがあった場合（ステップ９０１でＮｏ）には、たとえば、オフとなった鍵の情報（鍵番号）がＲＡＭ２３から削除される。
【００４９】
ステップ９０２でＹｅｓと判断された場合には、ＣＰＵ２１は、タイマをスタートさせて音長カウントを開始する（ステップ９０３）。なお、本実施の形態においては、複数の押鍵が考えられるが、ステップ９０２でＹｅｓと判断されるのは、評価対象範囲での最初の押鍵についてである。次いで、ＣＰＵ２１は、想定操作における押鍵時刻と、実際の押鍵時刻との間のズレを算出して、タイミング評価値として、ＲＡＭ２３に一時的に記憶する（ステップ９０４）。たとえば、図３において、１拍目の鍵オンについて考える。想定操作における押鍵時刻は、符号３５１に示す押鍵時間における立ち上がり時刻である。そこで、「（立ち上がり時刻）−（実際の押鍵時刻）」を算出すればよい。このタイミング評価値は、後述するコード自動伴奏パターン演奏の際に、楽音の発音タイミングの制御に利用される。
【００５０】
その後、ＣＰＵ２１は、ＲＡＭ２３に一時的に記憶された、押鍵された鍵数を示す押鍵数カウント値をインクリメントする（ステップ９０５）。押鍵数カウント値は、後述するコード自動伴奏パターン演奏の際に、コード種別を決定するために利用される。なお、ステップ９０２でＮｏと判断された場合にも、ステップ９０５の押鍵数カウント値のインクリメントは実行される。
【００５１】
次いで、ＣＰＵ２１は、押鍵数カウント値を参照して、押鍵数が４以上であるか否かを判断する（ステップ９０６）。本実施の形態において、コード自動伴奏パターンにおけるコード種別を決定するために押鍵数の最高数が４であるため、４以上となった段階（ステップ９０６でＹｅｓ）で、ＣＰＵ２１は、押鍵されている鍵のそれぞれの音高を参照して、白鍵と黒鍵との比率を示す白鍵黒鍵比率評価値を算出する（ステップ９０７）。白鍵黒鍵比率評価値は、たとえば、「黒鍵の押鍵数／白鍵の押鍵数」であっても良いし、「黒鍵の押鍵数／（黒鍵＋白鍵）の押鍵数」であっても良い。算出された白鍵黒鍵比率評価値は、ＲＡＭ２３に一時的に記憶される。
【００５２】
このように、伴奏鍵域の鍵のオンによってタイマが起動されるとともに、タイミング評価値、押鍵数カウント値、白鍵黒鍵比率表値が得られ、ＲＡＭ２３に一時的に記憶される。
【００５３】
ステップ９０６でＮｏと判断された場合には、ＣＰＵ２１は、押鍵数カウント値を参照して、押鍵数が３であるかを判断する（ステップ９０８）。ステップ９０８でＮｏと判断された場合には処理を終了する。その一方、ステップ９０８でＹｅｓと判断された場合には、ＣＰＵ２１は、指間度数評価処理を実行する（ステップ９０９）。指間度数評価処理においては、ＣＰＵ２１は、後述する処理にしたがって、コード自動伴奏パターンにしたがって発音する和音の転回形を示すコード転回情報を決定し、決定されたコード転回情報を、ＲＡＭ２３に一時的に記憶する。
【００５４】
ステップ９０１でＮｏと判断された場合、つまり、鍵オフ（離鍵）と判断された場合には、ＣＰＵ２１は、当該鍵の離鍵タイミングが、評価対象範囲であるかどうかを判断する（ステップ９１０）。評価対象範囲は、前述したステップ９０２におけるものと同様である。ステップ９１０でＹｅｓと判断された場合には、ＣＰＵ２１は、タイマを停止して、音長カウントを終了する（ステップ９１１）。ＣＰＵ２１は、タイマの値を、操作音長値として、ＲＡＭ２３に一時的に記憶する。
【００５５】
次いで、ＣＰＵ２１は、ＲＡＭ２３に一時的に記憶された押鍵数カウント値をデクリメントする（ステップ９１２）。また、ＣＰＵ２１は、押鍵数カウント値を参照して、押鍵数が４以上であるか否かを判断する（ステップ９１３）。ステップ９１３でＹｅｓと判断された場合には、ＣＰＵ２１は、押鍵されている鍵のそれぞれの音高を参照して、白鍵と黒鍵との比率を示す白鍵黒鍵比率評価値を算出する（ステップ９１４）。
【００５６】
また、ステップ９１３でＮｏと判断された場合には、ＣＰＵ２１は、押鍵数カウント値を参照して、押鍵数が３であるかを判断する（ステップ９１５）。ステップ９１５でＮｏと判断された場合には処理を終了する。その一方、ステップ９１５でＹｅｓと判断された場合には、ＣＰＵ２１は、指間度数評価処理を実行する（ステップ９１６）。
【００５７】
次に、指間度数評価処理についてより詳細に説明する。図２０（ａ）〜（ｃ）は、それぞれ、鍵盤においてＣＭａｊ（Ｃメジャー）の和音を演奏したときに押鍵される鍵を示す図である。図２０（ａ）は、基本形の和音で押鍵される鍵（下から、Ｃ、Ｅ、Ｇ）を示している。一般に、和音は左手の小指、中指および親指にて、最低音、中間音および最高音がそれぞれ押鍵される。そこで、本実施の形態において、指間の度数とは、小指、中指、親指で押鍵された鍵のそれぞれの間の半音の数、すなわち、押鍵された鍵の鍵番号の差をいう。
【００５８】
ＣＭａｊの基本形において、最低音Ｃと中間音Ｅとの間では、鍵番号の差は４であるため、最低音と中間音との指間の度数Ｄ１＝４となる。また、中間音Ｅと最高音Ｇとの間では、鍵番号の差は３であるため、中間音と最高音との指間の度数Ｄ２＝３となる。また、最低音と最高音との指間の度数Ｄ３＝Ｄ１＋Ｄ２＝７となる。
【００５９】
図２０（ｂ）は、第一転回形の和音で押鍵される鍵（下から、Ｅ、Ｇ、Ｃ）を示している。ＣＭａｊの第一転回形において、最低音Ｅと中間音Ｇとの指間の度数Ｄ１＝３であり、中間音Ｇと最高音Ｃとの指間の度数Ｄ２＝５である。また、最低音と最高音との指間の度数Ｄ３＝８である。図２０（ｃ）は、第二転回形の和音で押鍵される鍵（下から、Ｇ、Ｃ、Ｅ）を示している。ＣＭａｊの第二転回形において、最低音Ｇと中間音Ｃとの指間の度数Ｄ１＝５であり、中間音Ｃと最高音Ｅとの指間の度数Ｄ２＝４である。また、最低音と最高音との指間の度数Ｄ３＝９である。
【００６０】
図２１は、メジャーコードおよびマイナーコードのそれぞれにおける、基本形、第一転回形、第二転回形について、最低音から中間音、中間音から最高音、最低音から最低音のそれぞれの指間の度数Ｄ１、Ｄ２、Ｄ３を示す表である。表２１００においては、メジャーコード（Ｍａｊ）の指間度数（符号２１１０参照）、および、マイナーコード（ｍｉｎ）の指間度数（符号２１２０参照）が示される。また、表２１００において、指間度数の下に、全体の度数、つまり、最低音から最高音までの指間度数Ｄ３に対する比率（Ｄ１／Ｄ３或いはＤ２／Ｄ３）が示されている。たとえば、メジャーコード（Ｍａｊ）において、転回形によって、最低音から中間音までの指間度数Ｄ１の、最低音から最高音までの指間度数Ｄ３に対する比率に差異があることがわかる。
【００６１】
また、図２２は、メジャーコードＣおよびマイナーコードＡｍのそれぞれにおける、基本形、第一転回形、第二転回形について、最低音から中間音、中間音から最高音、最低音から最低音のそれぞれの、白鍵数の差を示す表である。図２２の表２１００に従うと、直感的には以下のことが理解できる。
【００６２】
基本形においては、最低音から中間音、中間音から最高音までの白鍵数は等しく、
第１転回形においては、最低音から中間音までの白鍵数の方が、中間音から最高音までの白鍵数より小さく、また、
第２転回形においては、最低音から中間音までの白鍵数の方が、中間音から最高音までの白鍵数より大きい。
【００６３】
本実施の形態においては、上述した指間度数の差異、或いは、白鍵数の差異、つまりは、演奏者の指の開き具合に応じて、発音すべきコードの転回形を決定している。
【００６４】
図２３は、本実施の形態にかかる指間度数評価処理の例を示すフローチャートである。図２３に示すように、ＣＰＵ２１は、ＲＡＭ２３に格納された伴奏鍵域におけるオン状態の鍵の情報を取得して、指間度数Ｄ１、Ｄ２およびＤ３を算出する（ステップ２３０１）。
以下の演算では、Ｄ１およびＤ３のみが用いられる。Ｄ３は、Ｄ１とＤ２との和であるため、Ｄ１およびＤ２を求めた上で、これらを加算してＤ３を求めても良いし、Ｄ２を求めることなく、鍵の情報（鍵番号）から直接Ｄ３を求めても良い。
【００６５】
次いで、ＣＰＵ２１は、最低音から中間音までの指間度数Ｄ１の、最低音から最高音までの指間度数Ｄ３に対する比率Ｄ１／Ｄ３の値の範囲を調べる（ステップ２３０２）。比率Ｄ１／Ｄ３について、０．４＜Ｄ１／Ｄ３≦０．６である場合には、ＣＰＵ２１は、コード転回情報として、基本形を示す情報をＲＡＭ２３に格納する（ステップ２３０３）。比率Ｄ１／Ｄ３について、０．４≧Ｄ１／Ｄ３である場合には、ＣＰＵ２１は、コード転回情報として、第一転回形を示す情報をＲＡＭ２３に格納する（ステップ２３０４）。また、０．６＜Ｄ１／Ｄ３である場合には、ＣＰＵ２１は、コード転回情報として、第二転回形を示す情報をＲＡＭ２３に格納する（ステップ２３０５）。コード転回情報は、後述するコード音伴奏処理（図１０のステップ１００７）において、発音するコード構成音の順序を決定するために利用される。
【００６６】
鍵盤処理（図６のステップ６０３）が終了すると、ＣＰＵ２１は、ソング伴奏処理を実行する（ステップ６０４）。図１０は、本実施の形態にかかるソング伴奏処理の例を示す図である。図１０に示すように、ＣＰＵ２１は、自動伴奏パターンが演奏中か否かを判断する（ステップ１００１）。ステップ１００１でＹｅｓと判断された場合には、ＣＰＵ２１は、自動伴奏パターンを構成する楽音（自動伴奏におけるメロディ音、オブリガート音、コード音（和音による伴奏音）、リズム音）を生成する。自動伴奏データには、上述したように概略的には４つの種類の楽音、すなわち、メロディ音、オブリガート音、コード音、リズム音のデータが含まれる。メロディ音およびオブリガート音によってメロディ自動伴奏パターンが構成され、コード音によってコード自動伴奏パターンが構成される。また、リズム音によってリズムパターンが構成される。
【００６７】
この楽音の生成には、概略的には、以下の４つの処理、割込カウンタ値を参照して、自動伴奏パターンの経過時間を管理するための処理が実行される基準時間処理（ステップ１０１０）、コード音についての経過時間（伴奏経過時間）を管理する処理が実行される伴奏時間処理（ステップ１０１１）、ステップ１０１０で生成される基準時間に基づいて楽音を生成する基準経過時間によるイベント処理（ステップ１０１２）、および、ステップ１０１１で生成される伴奏経過時間に基づいて楽音を生成する伴奏経過時間によるイベント処理（ステップ１０１３）が含まれる。
【００６８】
基準時間処理（ステップ１０１０）においては、ＣＰＵ２１は、基準時間カウント処理（ステップ１００２）および拍先頭処理（ステップ１００３）を実行する。
【００６９】
図１１（ａ）は、本実施の形態にかかる基準時間カウント処理の例を示すフローチャート、図１１（ｂ）は、拍先頭処理の例を示すフローチャートである。基準時間カウント処理においては、ＣＰＵ２１は、割込カウンタのカウンタ値を取得する（ステップ１１０１）。次いで、ＣＰＵ２１は、予めＲＡＭ２３の所定の領域に格納されていた伴奏経過時間に、取得したカウンタ値を加算して、基準経過時間を更新する（ステップ１１０２）。更新された基準経過時間は、ＲＡＭ２３の所定の領域に格納される。
【００７０】
次いで、ＣＰＵ２１は、ＲＡＭ２３の所定の領域に格納されていた拍内カウント値に、取得したカウンタ値を加算して、拍内カウント値を更新する（ステップ１１０３）。拍内カウント値は、１拍の間における時間的な位置を示す値である。更新された拍内カウント値も、ＲＡＭ２３の所定の領域に格納される。その後、次回の基準時間カウント処理で使用するために、ＣＰＵ２１は、割込カウンタのカウンタ値をクリアする（ステップ１１０４）。
【００７１】
また、拍先頭処理においては、ＣＰＵ２１は、拍内カウント値を参照して、処理時が、拍の先頭に相当するか否かを判断する（ステップ１１１１）。ステップ１１１１でＹｅｓと判断された場合には、ＣＰＵ２１は、過去１拍以上にわたって押鍵が無いか否かを判断する（ステップ１１１２）。ステップ１１１２でＹｅｓと判断された場合には、ＣＰＵ２１は、コード音停止処理を実行する（ステップ１１１３）。コード音停止処理（ステップ１１１３）においては、ＣＰＵ２１は、所定の期間（たとえば１小節）だけ、メロディ音、オブリガート音およびコード音の発音を停止する。すなわち、メロディ音、オブリガート音およびコード音のそれぞれに対応する音色および音高の楽音データの発音を、音源部２６に対して指示しない。
【００７２】
図３において、ユーザが伴奏鍵域の鍵を、所定の期間だけ押鍵しないことにより（符号３１３参照）、自動伴奏パターンのうちメロディ音、オブリガート音を含むメロディ自動伴奏パターン、および、コード音を含むコード自動伴奏パターンの発音が停止され、リズムパターンのみが発音されている（符号３２３、３３３参照）。これは、拍先頭処理のステップ１１１１〜１１１３が実行された結果である。
【００７３】
次に、ステップ１０１１の伴奏経過時間処理について説明する。  伴奏経過時間処理には、伴奏経過時間カウント処理（ステップ１００３）が含まれる。図１２は、本実施の形態にかかる経過時間カウント処理の例を示すフローチャートである。図１２に示すように、ＣＰＵ２１は、ＲＡＭ２３に格納された基準経過時間を取得する（ステップ１２０１）。次いで、ＣＰＵ２１は、ＲＡＭ２３に格納されたタイミング評価値を取得する（ステップ１２０２）。ＣＰＵ２１は、タイミング評価値を伴奏経過時間に反映させる（ステップ１２０３）。ステップ１２０３においては、基準経過時間に、タイミング評価値を加算することで、コード自動伴奏パターンにおけるコード音の発音タイミングを規定する伴奏経過時間を得る。
【００７４】
図１６において、想定操作および基準経過時間を、それぞれ符号１６０１、１６０２で示す。なお、基準経過時間において、ｎ、ｎ＋１、・・・は、基準経過時間に基づく内部時刻を示す。
【００７５】
いわゆる前ノリによって、想定操作における押鍵タイミングよりも早い時刻に押鍵がされていた場合には、タイミング評価値ｄ１（ｄ１＜０）を考慮して、伴奏経過時間＝（基準経過時間−ｄ１）となり、伴奏経過時間に基づく内部時刻は、基準経過時間に基づく内部時刻よりも、前倒しとなる（符号１６１１参照）。
【００７６】
その一方、いわゆる後ノリによって想定操作における押鍵タイミングよりも遅い時刻に押鍵がされていた場合には、タイミング評価値ｄ２（ｄ２＞０）を考慮して、伴奏経過時間＝（基準経過時間−ｄ２）となり、伴奏経過時間に基づく内部時刻は、基準経過時間に基づく内部時刻よりも、遅いものとなる（符号１６２１参照）。
【００７７】
次に、ステップ１０１２の基準経過時間によるイベント処理について説明する。基準経過時間によるイベント処理には、メロディ処理（ステップ１００５）およびリズム処理（ステップ（ステップ１００６）が含まれる。図１３（ａ）は、本実施の形態にかかるメロディ処理の例を示すフローチャート、図１３（ｂ）は、リズム処理の例を示すフローチャートである。
【００７８】
図１３（ａ）に示すように、メロディ処理において、ＣＰＵ２１は、ＲＡＭ２３に記憶された基準経過時間を参照する（ステップ１３０１）。次いで、ＣＰＵ２１は、メロディ自動伴奏パターンを構成するメロディ音およびオブリガート音について、メロディ自動伴奏パターンのデータを参照して、次のイベントを処理すべき時間（ソング時間Δｔ）が経過しているか否かを判断する（ステップ１３０２）。
【００７９】
ステップ１３０２でＹｅｓと判断された場合には、ＣＰＵ２１は、メロディ自動伴奏パターンのデータから、メロディ音について次のイベントに相当するレコード、および、オブリガート音についての次のイベントに相当するレコードを読み出して（ステップ１３０３）、当該レコード中の音色、音高および音長を示すデータをＲＡＭ２３に一時的に記憶する（ステップ１３０４）。後述するように、音源発音処理（図６のステップ６０５）において、ステップ１３０４において一時的に記憶されたメロディ音およびオブリガート音の音色、音高および音長を示すデータは、音源部２６に与えられる。
【００８０】
なお、同一時刻で複数の楽音を生成すべき場合があるため、ステップ１３０４の後、再度ステップ１３０１に戻り、ステップ１３０２でＮｏと判断されるまで処理が繰り返される。
【００８１】
図１３（ｂ）に示すように、リズム処理において、ＣＰＵ２１は、ＲＡＭ２３に記憶された基準経過時間を参照する（ステップ１３１１）。次いで、ＣＰＵ２１は、リズムパターンを構成するリズム音について、リズムパターンのデータを参照して、次のイベントを処理すべき時間（リズム時間Δｔ）が経過しているか否かを判断する（ステップ１３１２）。
【００８２】
ステップ１３１２でＹｅｓと判断された場合には、ＣＰＵ２１は、リズムパターンのデータから、リズム音について次のイベントに相当するレコードを読み出して（ステップ１３１３）、当該リズム音の音色を示すデータをＲＡＭ２３に一時的に記憶する（ステップ１３１４）。後述するように、音源発音処理（ステップ６０５）において、ステップ１３１４において一時的に記憶された、リズム音の音色を示すデータが音源部２６に与えられる。
【００８３】
なお、同一時刻で複数の楽音（リズム音）を生成すべき場合があるため、ステップ１４０４の後、再度ステップ１３１１に戻り、ステップ１３１２でＮｏと判断されるまで処理が繰り返される。
【００８４】
次に、ステップ１０１２の伴奏経過時間によるイベント処理について説明する。伴奏経過時間によるイベント処理には、コード音伴奏処理（ステップ１００７）が含まれる。図１４は、本実施の形態にかかるコード音伴奏処理の例を示すフローチャートである。図１４に示すように、コード音伴奏処理においては、ＣＰＵ２１は、ＣＰＵ２１は、ＲＡＭ２３に記憶された伴奏経過時間を参照する（ステップ１４０１）。次いで、ＣＰＵ２１は、コード音について、コード自動伴奏パターンのデータを参照して、次のイベントを処理すべき時間（伴奏時間Δｔ）が経過しているか否かを判断する（ステップ１４０２）。メロディ処理（図１３（ａ））およびリズム処理（図１３（ｂ））においては、基準経過時間が参照されているが、コード音伴奏処理においては、伴奏経過時間が参照される。伴奏経過時間は、図１２および図１６を参照して説明したように、想定操作における押鍵タイミングと実際の押鍵のタイミングとの差異であるタイミング評価値が反映された伴奏経過時間である。
【００８５】
ステップ１４０２でＹｅｓと判断された場合には、ＣＰＵ２１は、コード自動伴奏パターンのデータから、コード音について次のイベントに相当するレコードを読み出す（ステップ１４０３）。また、コード音伴奏処理では、演奏者による実際の押鍵における音長や押鍵数にしたがって、音長やコード名を変更するため、また、発音するコード構成音の順序を、コード転回情報にしたがって変更するため、ＣＰＵ２１は、操作反映処理を実行する（ステップ１４０４）。図１５は、本実施の形態にかかる操作反映処理の例を示すフローチャートである。
【００８６】
図１５に示すように、操作反映処理において、ＣＰＵ２１は、ステップ９０９で得られてＲＡＭ２３に記憶された操作音長値を参照して、発音すべきコード音の音長に反映させる処理を実行する（ステップ１５０１）。コード音の音長は以下のように算出される。
【００８７】
音長＝（操作音長値／想定操作における想定音長値）＊コード音伴奏データ初期値にて示される音長
ここに、想定操作における想定音長値は、図３に示す想定操作における押鍵時間に相当する。
【００８８】
また、休符の長さは、次のコード音の発音タイミングまでのステップ時間から、算出された音長を減じた値となる。図１７は、操作反映処理において得られたコード音の再生音長を説明する図である。伴奏例１では、音符の音長ｔ２は、コード音伴奏データ初期値にて示される音長ｔ１の半分であり、これは、（操作音長値／想定操作における想定音長値）＝０．５であった場合である。また、伴奏例２では、音符の音長ｔ３は、コード音伴奏データ初期値にて示される音長ｔ１の１．５倍であり、これは、操作音長値／想定操作における想定音長値）＝１．５であった場合である。
【００８９】
次いで、ＣＰＵ２１は、押鍵数カウント値を参照して、押鍵数にしたがって、発音すべきコード構成音を決定する（ステップ１５０２）。図１８は、本実施の形態にかかる押鍵数反映処理の例を示すフローチャートである。図１８に示すように、ＣＰＵ１２は、ＲＡＭ２３に記憶された押鍵数カウント値を取得して参照する（ステップ１８０１）。前述したように、本実施の形態において、コード自動伴奏パターンのデータは、ベース音、第１のコード構成音（ルート音）、第２のコード構成音（第３音）、第３のコード構成音（第５音）、第４のコード構成音（第７音、テンションノート等）を含む（図１９の符号１９００参照）。特に、第４のコード構成音（図１９の符号１９１０）は、第６音、第７音、第９音などを含む３和音以外のコード構成音（便宜上、「テンション付加コード構成音」と称する：符号１９０４）、或いは、ルート音のオクターブ音に相当する楽音を付加したコード構成音（便宜上、「テンション非付加コード構成音」と称する：符号１９０５）のいずれかが選択されるようになっている。
【００９０】
押鍵数カウント値が「１」である場合には、ＣＰＵ２１は、発音すべきコード構成音が、ベース音だけであること（図１９の符号１９０１参照）を示すコード音制御情報を生成して、ＲＡＭ２３に一時的に記憶する（ステップ１８０２）。押鍵数カウント値が「２」である場合には、ＣＰＵ２１は、発音すべきコード構成音が、ベース音、第１のコード構成音（ルート）および第３のコード構成音（第５音）を含むこと（符号１９０２参照）を示すコード音制御情報を生成して、ＲＡＭ２３に一時的に記憶する（ステップ１８０３）。
【００９１】
また、押鍵数カウント値が「３」である場合には、ＣＰＵ２１は、コード構成音が、ベース音、第１のコード構成音、第２のコード構成音および第３のコード構成音を含むこと、つまり、ベース音および３和音であること（符号１９０３参照）を示すコード音制御情報を生成して、ＲＡＭ２３に一時的に記憶する（ステップ１８０４）。さらに、押鍵数カウント値が「４」以上である場合には、コード構成音が、ベース音、第１のコード構成音、第２のコード構成音、第３のコード構成音および第４のコード構成音を含むことを示すコード音制御情報を生成して、ＲＡＭ２３に記憶する（ステップ１８０５）。
【００９２】
押鍵数判断処理（ステップ１５０２）が終了すると、ＣＰＵ２１は、押鍵数カウント値が４以上であるか否かを判断する（ステップ１５０３）。ステップ１５０３でＹｅｓと判断された場合には、ＣＰＵは、和音反映処理を実行する（ステップ１５０４）。本実施の形態にかかる和音反映処理において、ＣＰＵ２１は、ＲＡＭ２３に記憶された白鍵黒鍵比率評価値を参照して、押鍵された鍵に黒鍵が含まれる場合には、第４のコード構成音として、第７音やテンションノート等を含むテンション付加コード構成音を選択する（図９の符号１９０４参照）。その一方、押鍵された鍵に黒鍵が含まれない場合には、ＣＰＵ２１は、第４のコード構成音として、テンションコード非付加コード構成音を選択する（図９の符号１９０５参照）。選択されたコード音制御情報は、ＲＡＭ２３に一時的に記憶される。
【００９３】
ステップ１５０３でＮｏと判断された場合、ＣＰＵ２１は、押鍵数カウント値が３であるかを判断する（ステップ１５０５）。ステップ１５０５でＹｅｓと判断された場合には、ＣＰＵ２１は、転回形変換反映処理を実行する（ステップ１５０６）。転回形変換反映処理においては、押鍵数カウント値が３であるときに、指間度数評価処理において得られたコード転回情報にしたがって、コード構成音の順序が変更される。
【００９４】
より詳細には、ＣＰＵ２１は、ＲＡＭ２３に格納されたコード転回情報が、基本形を示すもので無いかを判断する（ステップ１５１１）。ステップ１５１１でＮｏ、つまり、コード転回情報が基本形を示すものである場合には、そのまま処理を終了する。つまり、音高の低い方から、ルート音、第３音、第５音の順序のコード構成音とするコード音制御情報がそのまま維持される。
【００９５】
ステップ１５１２でＹｅｓと判断された場合には、ＣＰＵ２１は、コード基本情報が第一転回形を示すものであるかを判断する（ステップ１５１２）。ステップ１５１２でＹｅｓと判断された場合には、ルート音を１オクターブアップさせる（ステップ１５１３）。これにより、音高の低い方から、第３音、第５音、ルート音という順序を示す情報を含むコード音制御情報が生成され、ＲＡＭ２３に格納される。
【００９６】
ステップ１５１２でＮｏと判断されることは、コード転回情報が、第二転回形を示すものである。したがって、ＣＰＵ２１は、第５音を１オクターブダウンさせる（ステップ１５１４）。これにより、音高の低い方から、第５音、ルート音、第３音という順序を示す情報を含むコード音制御情報が生成され、ＲＡＭ２３に格納される。
【００９７】
その後、ＣＰＵ２１は、コード構成音の音色、決定されたコード構成音およびコード構成音の順序に基づいて、和音音を構成する楽音のそれぞれの音高、音長を示すデータをＲＡＭ２３に一時的に記憶する（ステップ１４０５）。後述するように、音源発音処理（図６のステップ６０５）において、ステップ１４０４において一時的に記憶された音色、音高および音長を示すデータは、音源部２６に与えられる。
【００９８】
なお、コード音伴奏処理では、同一時刻で複数の楽音（和音）を生成すべきであるため、ステップ１４０４の後、再度ステップ１４０１に戻り、ステップ１４０２でＮｏと判断されるまで処理が繰り返される。
【００９９】
ソング伴奏処理（図６のステップ６０４）が終了すると、ＣＰＵ２１は、音源発音処理を実行する（ステップ６０５）。音源発音処理において、ＣＰＵ２１は、たとえば、メロディ鍵処理（図７のステップ７０４）で生成された、発音すべき楽音の音色および音高を示すデータを音源部２６に与え、或いは、消音すべき楽音の音色および音高を示すデータを音源部２６に与える。また、ＣＰＵ２１は、ソング伴奏処理（図１０）において生成された、メロディ音やオブリガート音の音色、音高および音長を示すデータを、音源部２６に与えるとともに、リズム音の音色を示すデータを、音源部２６に与える。さらに、ＣＰＵ２１は、コード構成音の音色、コード構成音それぞれの音高および音長を含むデータを、音源部２６に与える。
【０１００】
音源部２６は、音色、音高、音長等を示すデータにしたがって、ＲＯＭ２２の波形データを読み出して、所定の楽音データを生成する。これにより、スピーカ２８から所定の楽音が発生する。
【０１０１】
音源発音処理（ステップ６０５）が終了すると、ＣＰＵ２１は、その他の処理（たとえば、表示部１５への画像表示など：ステップ６０６）を実行して、ステップ６０２に戻る。
【０１０２】
本実施の形態によれば、ＣＰＵ２１は、操作された複数の鍵について、２つの鍵の間隔を示す指間度数を得て、指間度数のそれぞれに基づいて、コードの転回形を決定する。これにより、演奏者による押鍵の際の指のフォームにしたがってコードの転回形を変化させることができる。したがって、演奏者が、実際のコード演奏の際の鍵名を知らない場合であっても、指のフォームおよびそのフォームの指にて押鍵された鍵の間隔に基づいて適切な転回形のコード構成音を発音することができる。
【０１０３】
特に、本実施の形態においては、ＣＰＵ２１は、操作された鍵が３つの場合に、最低音に対応する鍵から中央の音に相当する鍵の間の度数に基づいて転回形を決定している。一般に、左手でコードを演奏する場合には、小指、中指或いは人差し指、および、親指の３つの指で鍵を押鍵することが多い。小指と、中指或いは人差し指で押鍵される鍵の間隔を考慮して、適切なコード転回形を決定することができる。
【０１０４】
さらに、本実施の形態においては、最低音に対応する鍵から中央の音に相当する鍵の間の度数の、最低音に対応する鍵から最高音に相当する鍵の間の度数に対する比率に基づいて、転回形を決定する。すなわち、小指と中指或いは人差し指との間隔と、小指と親指との間隔を考慮して転回形を決定する。これにより、より押鍵した指のフォームにしたがった適切なコード転回形を決定することが可能となる。
【０１０５】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【０１０６】
たとえば、前記実施の形態においては、図２３に示すように、メジャーコード（Ｍａｊ）、マイナーコード（ｍｉｎ）を区別無く、最低音から中間音までの指間度数Ｄ１の、最低音から最高音までの指間度数Ｄ３に対する比率Ｄ１／Ｄ３の値の範囲にしたがって、コード転回情報を決定しているが、これに限定されず、メジャーコード（Ｍａｊ）およびマイナーコード（ｍｉｎ）を区別して、それぞれについてコード転回情報を決定しても良い。
【０１０７】
図２４は、他の実施の形態にかかる指間度数評価処理の例を示すフローチャートである。図２４において、ステップ２４０１は、図２３のステップ２３０２と同様である。次いで、ＣＰＵ２１は、コード自動伴奏パターンを参照して、メジャーコードであるかを判断する（ステップ２４０２）。ステップ２４０２でＹｅｓと判断された場合に引き続いて実行されるステップ２４０３〜２４０６は、図２３のステップ２３０２〜ステップ２３０５とほぼ同様である。
【０１０８】
ただし、ステップ２４０３〜２４０６においては、比率Ｄ１／Ｄ３について、０．５２＜Ｄ１／Ｄ３≦０．６２である場合には、ＣＰＵ２１は、コード転回情報として、基本形を示す情報をＲＡＭ２３に格納する（ステップ２４０４）。比率Ｄ１／Ｄ３について、０．５２≧Ｄ１／Ｄ３である場合には、ＣＰＵ２１は、コード転回情報として、第一転回形を示す情報をＲＡＭ２３に格納する（ステップ２４０５）。また、０．６２＜Ｄ１／Ｄ３である場合には、ＣＰＵ２１は、コード転回情報として、第二転回形を示す情報をＲＡＭ２３に格納する（ステップ２４０６）。
【０１０９】
ステップ２３０２でＮｏ、すなわち、コード自動伴奏パターンがマイナーコードである場合にも、ＣＰＵ２１は、メジャーコードと略同様の処理（ステップ２４０７〜２４１０）を実行する。このステップ２４０７〜２４１０も、図２３のステップ２３０２〜ステップ２３０５とほぼ同様である。
【０１１０】
ただし、ステップ２４０７〜２４１０においては、比率Ｄ１／Ｄ３について、０．３８＜Ｄ１／Ｄ３≦０．４８である場合には、ＣＰＵ２１は、コード転回情報として、基本形を示す情報をＲＡＭ２３に格納する（ステップ２４０８）。比率Ｄ１／Ｄ３について、０．４８≧Ｄ１／Ｄ３である場合には、ＣＰＵ２１は、コード転回情報として、第一転回形を示す情報をＲＡＭ２３に格納する（ステップ２４０９）。また、０．４８＜Ｄ１／Ｄ３である場合には、ＣＰＵ２１は、コード転回情報として、第二転回形を示す情報をＲＡＭ２３に格納する（ステップ２４１０）。
【０１１１】
上記他の実施の形態においては、コード名がメジャーコードであるか、マイナーコードであるかにより、コード転回形を判断する要素を変化させて、より指のフォームに合致したコード転回形を決定できるようにしている。
【０１１２】
特に、上記他の実施の形態においては、前記最低音に対応する演奏操作子から中央の音に相当する演奏操作子の間の度数の、前記最低音に対応する演奏操作子から最高音に相当する演奏操作子の間の度数に対する比率について、コード名がメジャーコードの場合と、前記コード名がマイナーコードの場合とで、基本形、第１転回形、或いは、第２転回形を判断するための値の範囲を変化させている。たとえば、基本形と判断される際の比率の範囲（最大値および最小値）は、コード名がマイナーコードである場合の方が、双方とも小さな値（最小値：０．３８、最大値：０．４８）としている。これは、基本形において、マイナーコードの場合には、メジャーコードの場合よりも、最低音と中間音との間隔が小さくなることに基づいている。
【０１１３】
また、前記実施の形態においては、自動伴奏モードにおいて、伴奏鍵域における実際の押鍵タイミング、および、押鍵時間によって、自動伴奏パターンのうち、コード自動伴奏パターンの発音タイミングおよび発音時間（音長）を制御しているが、これに限定されるものではなく、メロディ自動伴奏パターンのメロディ音やオブリガート音の発音タイミングや音長を制御しても良い。
【０１１４】
また、前記実施の形態においては、想定操作における押鍵タイミングは拍の先頭であり、実際の押鍵タイミングと想定操作における押鍵タイミングとの比較や、押鍵時間の比較は拍ごとに行なわれるが、これに限定されるものではなく、複数拍（たとえば、２拍）ごと、あるいは、小節ごとであっても良い。
【０１１５】
さらに、前記実施の形態においては、押鍵数カウント値が「４」以上であって、かつ、押鍵された鍵に黒鍵が含まれる場合には、ＣＰＵ２１は、第４のコード構成音として、第７音やテンションノート等を含むテンション付加コード構成音、つまり、より複雑なコードネームとなるコード構成音を選択している。しかしながら、これに限定されるものではなく、黒鍵および白鍵の割合に基づいて、押鍵された鍵のうち、黒鍵の割合が、白鍵の割合以上であれば、テンション付加構成音を選択しても良い。
【符号の説明】
【０１１６】
１０        電子楽器
１１        鍵盤
１２、１３  スイッチ
１５        表示部
２１        ＣＰＵ
２２        ＲＯＭ
２３        ＲＡＭ
２４        サウンドシステム
２５        スイッチ群
２６        音源部
２７        オーディオ回路
２８        スピーカ
【図１】
0005564921.tif 000002
【図２】
0005564921.tif 000003
【図３】
0005564921.tif 000004
【図４】
0005564921.tif 000005
【図５】
0005564921.tif 000006
【図６】
0005564921.tif 000007
【図７】
0005564921.tif 000008
【図８】
0005564921.tif 000009
【図９】
0005564921.tif 000010
【図１０】
0005564921.tif 000011
【図１１】
0005564921.tif 000012
【図１２】
0005564921.tif 000013
【図１３】
0005564921.tif 000014
【図１４】
0005564921.tif 000015
【図１５】
0005564921.tif 000016
【図１６】
0005564921.tif 000017
【図１７】
0005564921.tif 000018
【図１８】
0005564921.tif 000019
【図１９】
0005564921.tif 000020
【図２０】
0005564921.tif 000021
【図２１】
0005564921.tif 000022
【図２２】
0005564921.tif 000023
【図２３】
0005564921.tif 000024
【図２４】
0005564921.tif 000025
【図２５】
0005564921.tif 000026
【図２６】
0005564921.tif 000027