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