(57)【特許請求の範囲】
【請求項１】
手操作用の手鍵盤と、
足操作用の足鍵盤と、
前記手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出する手鍵盤検出手段と、
前記足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出する足鍵盤検出手段と、
前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共に、ベースルートの有無を決定する決定手段とを有し、
前記決定手段は、ベースルートが有ると決定するときには、前記仮の足鍵盤ベースルートを真のベースルートとして決定する電子楽器のコード検出装置。
【請求項２】
前記決定手段は、前記仮の手鍵盤コードルートと前記仮の足鍵盤ベースルートとが同じか否かにかかわらずにベースルートの有無を決定し、前記仮の手鍵盤コードルートと前記仮の足鍵盤ベースルートとが異なるときでもベースルートが無しであると決定することがある請求項１記載の電子楽器のコード検出装置。
【請求項３】
前記決定手段は、前記仮の手鍵盤コードルートと前記仮の足鍵盤ベースルートとの差分に応じて、ベースルートの有無を決定する請求項１又は２記載の電子楽器のコード検出装置。
【請求項４】
前記決定手段は、テーブルに応じてベースルートの有無を決定する請求項１〜３のいずれか１項に記載の電子楽器のコード検出装置。
【請求項５】
前記決定手段は、前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、前記仮の手鍵盤コードルートとは異なる真のコードルートを決定する請求項１〜４のいずれか１項に記載の電子楽器のコード検出装置。
【請求項６】
前記決定手段は、前記仮の手鍵盤コードルートと前記仮の足鍵盤ベースルートとの差分に応じて、真のコードルートを決定する請求項５記載の電子楽器のコード検出装置。
【請求項７】
前記決定手段は、テーブルに応じて真のコードルートを決定する請求項６記載の電子楽器のコード検出装置。
【請求項８】
前記決定手段は、前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、前記仮の手鍵盤コードタイプとは異なる真のコードタイプを決定する請求項１〜７のいずれか１項に記載の電子楽器のコード検出装置。
【請求項９】
前記決定手段は、前記仮の手鍵盤コードルートと前記仮の足鍵盤ベースルートとの差分に応じて、真のコードタイプを決定する請求項８記載の電子楽器のコード検出装置。
【請求項１０】
前記決定手段は、テーブルに応じて真のコードタイプを決定する請求項９記載の電子楽器のコード検出装置。
【請求項１１】
手操作用の手鍵盤と足操作用の足鍵盤とを有する電子楽器のコード検出方法であって、
（ａ）前記手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出するステップと、
（ｂ）前記足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出するステップと、
（ｃ）前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共に、ベースルートの有無を決定する決定ステップとを有し、
前記決定ステップは、ベースルートが有ると決定するときには、前記仮の足鍵盤ベースルートを真のベースルートとして決定する電子楽器のコード検出方法。
【請求項１２】
手操作用の手鍵盤と足操作用の足鍵盤とを有する電子楽器のプログラムを記録した記録媒体であって、
（ａ）前記手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出する手順と、
（ｂ）前記足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出する手順と、
（ｃ）前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共に、ベースルートの有無を決定する決定手順と
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記決定手順は、ベースルートが有ると決定するときには、前記仮の足鍵盤ベースルートを真のベースルートとして決定するコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器のコード検出技術に関し、特に手鍵盤及び足鍵盤の操作に応じてコードを検出する技術に関する。
【０００２】
【従来の技術】
電子楽器には、手操作用の手鍵盤と足操作用の足鍵盤とを有するものがある。手鍵盤は、２段鍵盤になっており、上鍵盤でメロディラインを演奏し、下鍵盤でコードラインを演奏する。自動伴奏機能を有する電子楽器では、下鍵盤及び足鍵盤の操作に応じてコード検出を行い、検出されたコードに応じた自動伴奏が行われる。コード検出方法の一例は、特公平５−８４９２０に記載されている。
【０００３】
コード検出されるコードには、分数コード（例えばＣ／Ｂ）と分数コードではない通常のコードとがある。分数コードは、分子のコードが楽譜の上パート（手鍵盤に相当）のコードであり、分母のコードが楽譜の下パート（足鍵盤に相当）のコードである。
【０００４】
【発明が解決しようとする課題】
電子楽器では、手鍵盤のコードルートと足鍵盤のコードルートを検出する。手鍵盤で検出されたコードルートと足鍵盤で検出されたコードルートとが異なるときには、分数コード（例えばＣ／Ｂ）として検出される。逆に、手鍵盤で検出されたコードルートと足鍵盤で検出されたコードルートとが同じときには、分数コードではない通常のコードとして検出される。しかし、この方法により検出されたコードは完全ではなく、結果的に不適切なコードとして検出されてしまうことがある。
【０００５】
本発明の目的は、手鍵盤及び足鍵盤の操作に応じて適切なコードを検出することである。
【０００６】
【課題を解決するための手段】
本発明の一観点によれば、手操作用の手鍵盤と、足操作用の足鍵盤と、前記手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出する手鍵盤検出手段と、前記足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出する足鍵盤検出手段と、前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共に、ベースルートの有無を決定する決定手段とを有し、前記決定手段は、ベースルートが有ると決定するときには、前記仮の足鍵盤ベースルートを真のベースルートとして決定する電子楽器のコード検出装置が提供される。
【０００７】
本発明の他の観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する電子楽器のコード検出方法であって、（ａ）前記手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出するステップと、（ｂ）前記足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出するステップと、（ｃ）前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共に、ベースルートの有無を決定する決定ステップとを有し、前記決定ステップは、ベースルートが有ると決定するときには、前記仮の足鍵盤ベースルートを真のベースルートとして決定する電子楽器のコード検出方法が提供される。
【０００８】
本発明のさらに他の観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する電子楽器のプログラムを記録した記録媒体であって、（ａ）前記手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出する手順と、（ｂ）前記足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出する手順と、（ｃ）前記仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共に、ベースルートの有無を決定する決定手順とをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記決定手順は、ベースルートが有ると決定するときには、前記仮の足鍵盤ベースルートを真のベースルートとして決定するコンピュータ読み取り可能な記録媒体が提供される。
【０００９】
本発明によれば、手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出し、足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出する。これらのコードはあくまでも仮のものとして、その後に、上記の仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共にベースルートの有無を決定するので、適切なコードを検出することができる。
【００１０】
【発明の実施の形態】
図１は、本発明の実施形態による電子楽器の構成例を示す。電子楽器は、手操作用の手鍵盤と足操作用の足鍵盤２とを有する。手鍵盤は、２段鍵盤であり、メロディラインを演奏するための上鍵盤とコードラインを演奏するための下鍵盤１を有する。
【００１１】
下鍵盤１で押鍵操作がされると下鍵盤１はキーオンイベントを出力し、下鍵盤１で離鍵操作がされると下鍵盤１はキーオフイベントを出力する。コード決定処理手段４は、下鍵盤１のキーオン／オフイベントに応じて、仮の下鍵盤コードルート及び仮の下鍵盤コードタイプを検出する。
【００１２】
足鍵盤２で押鍵操作がされると足鍵盤２はキーオンイベントを出力し、足鍵盤２で離鍵操作がされると足鍵盤２はキーオフイベントを出力する。コード決定処理手段４は、足鍵盤２のキーオン／オフイベントに応じて、仮の足鍵盤ベースルートを検出する。
【００１３】
次に、コード決定処理手段４は、上記の仮の下鍵盤コードルート、下鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及び真のコードタイプを決定すると共に、ベースルートの有無を決定する。ベースルートが有るときには、上記の仮の足鍵盤ベースルートが真のベースルートとして決定され、分数コードとなる。分数コードの分母がベースルートになり、分子が上記の真のコードルートになる。ベースが無しと決定されると、分数コードではない通常のコードとなる。
【００１４】
スタイル番号スイッチ３は、例えばロックやジャズ等の自動伴奏のスタイルを選択するためのスイッチであり、そのスイッチ操作に応じてスタイル番号を出力する。
【００１５】
自動伴奏発音処理手段５は、上記のスタイル番号に応じた自動伴奏パターンを読み出し、上記の真のコードルート、真のコードタイプ及びベースルートに応じて自動伴奏を発音する。自動伴奏は、例えばドラム、コード（ピアノ音やギター音等）、ベースの所定パターンを繰り返し発音することにより行う。コードは上記の真のコードルート及びコードタイプに応じて発音され、ベースは上記のベースルートに応じて発音される。
【００１６】
図２は、図１のコード決定処理手段４の具体的構成を示す。下鍵盤で３音以上が同時に押鍵されると、その押鍵に基づくコードルート及びコードタイプを検出することが可能である。しかし、下鍵盤で１音又は２音のみの押鍵がされると、その押鍵に基づくコードルート及びコードタイプを検出することが困難であるので、下鍵盤と足鍵盤の操作に応じてコード検出を行う。
【００１７】
まず、下鍵盤で３音以上が同時に押鍵された場合を説明する。第１のキーオンビットマップ作成手段１１は、下鍵盤のキーオン／オフイベントを入力すると、下鍵盤で押鍵されてキーオンになっているすべてのキーナンバ（音高）を第１のキーオンビットマップとして作成する。その際、キーオンになっているキーナンバのビットを１にし、キーオフになっているキーナンバのビットを０にする。
【００１８】
第２のキーオンビットマップ作成手段１２は、上記の第１のキーオンビットマップのうちのコード検出範囲にあるキーナンバのみを検出して、第２のキーオンビットマップを作成する。
【００１９】
仮コードルート作成手段２０は、上記の第２のキーオンビットマップのうちの最低音を仮のコードルートとして検出する。一方、第３のキーオンビットマップ作成手段１３は、上記の第２のキーオンビットマップを基に１オクターブの範囲内に圧縮された第３のキーオンビットマップを作成する。すなわち、上記の仮のコードルートとなる最低音から始まる１オクターブ内の音名として表現する。その際、仮のコードルートとなる最低音は必ずビットが１になることがわかっているので、その最低音のビットを省略して１１ビットで第３のキーオンビットマップを作成することができる。
【００２０】
アドレス作成手段１４は、上記の第３のキーオンビットマップを基に、テーブルを参照するために必要なアドレスを作成する。テーブル１５は、上記のアドレスに応じて、下鍵盤コードタイプ及びオフセットを出力する。決定手段１６は、仮コードルート作成手段２０から仮のコードルートを入力し、テーブル１５から下鍵盤コードタイプ及びオフセットを入力する。そして、決定手段１６は、仮のコードルートにオフセットを加算して修正し、下鍵盤コードルート及び下鍵盤コードタイプを記憶手段２１及び２２に出力する。
【００２１】
コードルート記憶手段２１は、上記の修正された下鍵盤のコードルートを記憶する。コードタイプ記憶手段２２は、上記の下鍵盤コードタイプを記憶する。ベースオフセット値作成手段２３は、足鍵盤のキーオン／オフイベントを入力し、足鍵盤のキーオンイベント中のキーナンバ（ベースルート）からコードルート記憶手段２１内の下鍵盤コードルートを減算（差分）し、ベースオフセット値を作成する。このベースオフセット値は、図３のテーブル内の第２項目のベースオフセット値（ＢＡＳＳ  ｏｆｓｅｔ）に相当する。
【００２２】
テーブル２４は、コードタイプ記憶手段２２内の下鍵盤コードタイプ（図３の第１項目）及びベースオフセット値作成手段２３が作成したベースオフセット値（図３の第２項目）を入力し、ベースルートのオン／オフ（図３の第３項目）、コードルートオフセット値（図３の第４項目）及びコードタイプ（図３の第５項目）を出力する。
【００２３】
決定手段２５は、テーブル２４に応じて、真のコードルート及び真のコードタイプを決定すると共に、ベースルートのオン／オフ（有無）を決定する。真のコードルートは、コードルート記憶手段２１内の下鍵盤コードルートに図３の第４項目のコードルートオフセット値を加算したものである。真のコードタイプは、図３の第５項目のコードタイプになる。ベースルートのオン／オフは、図３の第３項目のベースルートのオン／オフになる。ベースルートがオン（有り）のときには、足鍵盤のキーナンバ（ベースルート）を真のベースルートにする。
【００２４】
記憶手段２６には、真のコードルート、真のコードタイプ及びベースルートのオン／オフが記憶され、ベースルートがオンのときにはベースルートも記憶される。
【００２５】
例えば、図３において、コードタイプがメジャー（Ｍａｊｏｒ）であり、ベースオフセット値が０のときは、例えば下鍵盤で「Ｃ」のコードが検出され、足鍵盤で「Ｃ」が押鍵された場合には、真のコードルートが「Ｃ」になり、真のコードタイプがメジャーになる。ベースルートがオフになる。
【００２６】
また、コードタイプがメジャー（Ｍａｊｏｒ）であり、ベースオフセット値が１１のときは、例えば下鍵盤で「Ｃ」のコードが検出され、足鍵盤で「Ｂ」が押鍵された場合には、真のコードルートが「Ｃ」になり、真のコードタイプがメジャーになり、ベースルートがＢになる。
【００２７】
また、コードタイプがａｕｇであり、ベースオフセット値が４のときは、例えば下鍵盤で「Ｃａｕｇ」のコードが検出され、足鍵盤で「Ｅ」が押鍵された場合には、真のコードルートが「Ｅ」になり、真のコードタイプがａｕｇになり、ベースルートがオフになる。この場合、単純処理では、「Ｃａｕｇ／Ｅ」になってしまうが、それでは適切ではないためコードルートを修正している。さらに、下鍵盤コードルートと足鍵盤ベースルートとが異なる場合であっても、ベースルートをオフにしている。
【００２８】
同様に、コードタイプがａｕｇであり、ベースオフセット値が８のときは、例えば下鍵盤で「Ｃａｕｇ」のコードが検出され、足鍵盤で「Ａ♭」が押鍵された場合には、真のコードルートが「Ａ♭」になり、真のコードタイプがａｕｇになり、ベースルートがオフになる。この場合も、コードルートを修正し、ベースルートをオフにしている。
【００２９】
また、コードタイプがａｕｇであり、ベースオフセット値が１１のときは、例えば下鍵盤で「Ｃａｕｇ」のコードが検出され、足鍵盤で「Ｂ」が押鍵された場合には、真のコードルートが「Ｃ」になり、真のコードタイプがａｕｇになり、ベースルートがＢになる。
【００３０】
また、コードタイプがｍ♯５であり、ベースオフセット値が８のときは、例えば下鍵盤で「Ｃｍ♯５」のコードが検出され、足鍵盤で「Ａ♭」が押鍵された場合には、真のコードルートが「Ａ♭」になり、真のコードタイプがΔ７になり、ベースルートがオフになる。この場合、コードルート及びコードタイプを修正し、ベースルートをオフにしている。
【００３１】
また、コードタイプがｍ♯５であり、ベースオフセット値が１１のときは、例えば下鍵盤で「Ｃｍ♯５」のコードが検出され、足鍵盤で「Ｂ」が押鍵された場合には、真のコードルートが「Ｃ」になり、真のコードタイプがｍ♯５になり、ベースルートがＢになる。
【００３２】
以上のように、テーブル２４は、仮の手鍵盤コードルートと仮の足鍵盤ベースルートとが同じか否かにかかわらずにベースルートの有無を決定し、仮の手鍵盤コードルートと仮の足鍵盤ベースルートとが異なるときでもベースルートが無しであると決定することがある。また、テーブル２４は、仮のコードタイプ及びベースオフセット値に応じて、仮のコードルート及びコードタイプとは異なる真のコードルート及びコードタイプを出力することがある。
【００３３】
次に、図２において、下鍵盤で１音又は２音のみの押鍵がされた場合に、下鍵盤と足鍵盤の操作に応じてコード検出を行う方法を説明する。第４のキーオンビットマップ作成手段１８は、第２のキーオンビットマップ作成手段１２が作成した第２のキーオンビットマップ及び足鍵盤のキーオン／オフイベントを基に、下鍵盤及び足鍵盤のコード検出範囲にあるキーナンバのみを検出して、第４のキーオンビットマップを作成する。
【００３４】
仮コードルート作成手段２０は、足鍵盤の１鍵（例えば最低音）を仮のコードルートとして検出する。一方、第５のキーオンビットマップ作成手段１９は、上記の第４のキーオンビットマップを基に１オクターブの範囲内に圧縮された第５のキーオンビットマップを作成する。その際、仮のコードルートとなる最低音は必ずビットが１になることがわかっているので、その最低音のビットを省略して１１ビットで第５のキーオンビットマップを作成することができる。
【００３５】
アドレス作成手段１４は、上記の第５のキーオンビットマップを基に、テーブルを参照するために必要なアドレスを作成する。テーブル１５は、上記のアドレスに応じて、下鍵盤コードタイプ及びオフセットを出力する。決定手段１６は、仮コードルート作成手段２０から仮のコードルートを入力し、テーブル１５から下鍵盤コードタイプ及びオフセットを入力する。そして、決定手段１６は、仮のコードルートにオフセットを加算して修正し、下鍵盤コードルート及び下鍵盤コードタイプを記憶手段１７に記憶させる。この場合、ベースルートはオフになる。
【００３６】
図４は、本実施形態による電子楽器のハードウエア構成を示すブロック図である。バス３１には、音源（ＴＧ）３２、ＣＰＵ３３、パネルスイッチ３４、鍵盤３５、ＲＯＭ３６、ＲＡＭ３７、及びＤ／Ａ変換器３８が接続されている。
【００３７】
ＣＰＵ３３は、種々の演算又は処理を行い、ＲＯＭ３６に記憶されているコンピュータプログラムに応じて後に説明する図５〜図９のフローチャート等の処理を実行する。ＲＡＭ３７は、ＣＰＵ３３のワーキングエリアとして使用される。パネルスイッチ３４は、自動伴奏スタイル番号を決定するスタイル番号スイッチ３（図１）等の操作子を有する。
【００３８】
鍵盤３５は、上鍵盤３５ａと下鍵盤３５ｂとからなる手鍵盤及び足鍵盤３５ｃを有し、押鍵及び離鍵が可能な複数の鍵を有する。鍵盤３５が押鍵されるとベロシティ（押鍵速度）及びキーコード（音高）を含むキーオンイベントをＣＰＵ３３に伝え、鍵盤３５が離鍵されるとキーオフイベントをＣＰＵ３３に伝える。
【００３９】
音源３２は、鍵盤３５の操作又はＲＯＭ３６内の自動伴奏データに応じて、楽音信号を生成する。Ｄ／Ａ変換器３８は、音源３２で生成されたデジタル形式の楽音信号をアナログ形式に変換し、アンプ３９に出力する。アンプ３９は、楽音信号の増幅を行い、スピーカ４０にて楽音が発音される。
【００４０】
図５は、図４のＣＰＵ３３が行うコード検出処理を示すフローチャートである。ステップＳＡ１では、パネルスイッチ３４（図４）内の１フィンガースイッチが押されているか否かをチェックする。押されているときには、ステップＳＡ１４で１フィンガー検出処理を行い、ステップＳＡ１５でコードルートおよびコードタイプが決定する。ステップＳＡ１４の処理の詳細は、後に図６のフローチャートを参照しながら説明する。
【００４１】
１フィンガースイッチが押されていないときには、ステップＳＡ２へ進む。ステップＳＡ２では、下鍵盤のキーオンビットマップより下鍵盤の最低音の鍵を最下位ビットとして、１オクターブのビットマップを作成する。
【００４２】
ステップＳＡ３では、足鍵盤の押鍵があるか否かをチェックする。足鍵盤の押鍵があるときにはステップＳＡ６へ進み、足鍵盤の押鍵がないときにはステップＳＡ４へ進む。
【００４３】
ステップＳＡ６では、下鍵盤でコードが成立するか否かをチェックする。成立するときにはステップＳＡ７へ進み、成立しないときにはステップＳＡ１２へ進む。
【００４４】
ステップＳＡ７では、足鍵盤の音名から、下鍵盤で確定したコードルートを減算し、ベースオフセット値を求める。ステップＳＡ８では、上記の下鍵盤のコードルートとベースオフセット値に応じてテーブルを参照し、ステップＳＡ９でコードルート及びコードタイプを変更する。コードルートは、変換テーブルからのコードオフセット値を上記のコードルートに加算することにより変更する。
【００４５】
ステップＳＡ１０では、変換テーブルによりベースルートがオンか否かをチェックする。オンであるときにはステップＳＡ１１へ進み、オフであるときにはステップＳＡ５へ進む。
【００４６】
ステップＳＡ１１では、コードタイプ、コードルート（下鍵盤）及びベースルート（足鍵盤）を確定する。その後、ステップＳＡ１６へ進み、終了する。
【００４７】
ステップＳＡ５では、コードタイプ及びコードタイプを確定し、ベースルートをオフにする。その後、ステップＳＡ１６へ進み、終了する。
【００４８】
ステップＳＡ１２では、下鍵盤及び足鍵盤の操作によりコードが成立するか否かをチェックする。成立する場合はステップＳＡ１３へ進み、成立しない場合にはステップＳＡ１７へ進み、コード未定とし、前回のコードを変更しない。
【００４９】
ステップＳＡ１３では、下鍵盤及び足鍵盤の操作に応じて、コードタイプ、コードルートを確定し、ベースルートをオフにする。その後、ステップＳＡ１６へ進み、終了する。
【００５０】
ステップＳＡ４では、下鍵盤だけでコードが成立するか否かをチェックする。成立するときには、ステップＳＡ５でコードタイプ及びコードルートを確定し、ベースルートをオフにする。その後、ステップＳＡ１６へ進み、終了する。成立しないときには、ステップＳＡ１７へ進み、コード未定とし、前回のコードを変更しない。
【００５１】
図６は、図５のステップＳＡ１４に示す１フィンガー検出処理の詳細を示すフローチャートである。ステップＳＢ１では、下鍵盤又は足鍵盤で押鍵された１つの鍵をコードルートとして確定する。仮に、２以上の鍵が押鍵された場合には、最後に押鍵された鍵をコードルートとして確定する。ステップＳＢ２では、上記のコードルートに応じて、テーブルを参照してコードタイプを確定する。例えば、テーブルは、Ｃメジャーの曲のコード展開を記憶しており、コードルートがＣであればコードが「Ｃ」、コードルートがＤであればコードが「Ｄｍ」、コードルートがＥであればコードが「Ｅｍ」、コードルートがＦであればコードが「Ｆ」等である。以上のように、コードルート及びコードタイプが決定する。
【００５２】
図７は、図４のＣＰＵ３３が行う自動伴奏発音処理を示すフローチャートである。ステップＳＣ１では、検出されたコードに関係なくドラムパートの発音処理を行う。ステップＳＣ２では、検出されたコードに応じて、コードパートの発音処理を行う。この処理の詳細は、後に図８にフローチャートを参照しながら説明する。ステップＳＣ３では、検出されたコードに応じて、ベースパートの発音処理を行う。この処理の詳細は、後に図９のフローチャートを参照しながら説明する。
【００５３】
図８は、図７のステップＳＣ２に示すコードパート発音処理の詳細を示すフローチャートである。ステップＳＤ１では、ＲＯＭ３６（図４）内のコードパターンデータよりキーナンバ等のデータを読み出す。ステップＳＤ２では、検出されたコードルートとコードタイプに応じて、上記のパターンデータに対応した展開テーブルを用いてコード展開する。ステップＳＤ３では、発音処理を行う。
【００５４】
図９は、図７のステップＳＣ３に示すベースパート発音処理の詳細を示すフローチャートである。ステップＳＥ１では、ＲＯＭ３６（図４）内のベースパターンデータよりキーナンバ等のデータを読み出す。ステップＳＥ２では、上記のコード検出によりベースルートが決定されているか否かをチェックする。
【００５５】
ベースルートが決定されている場合には、ステップＳＥ３で、上記の読み出したキーナンバをそのオクターブ（同一のオクターブ）範囲内のベースルートと同じ音名にする。すなわち、音名は、常にベースルートとなり、オクターブだけが変化することになる。ステップＳＥ４では、発音処理を行う。
【００５６】
ベースルートが決定されていない場合には、ステップＳＥ５へ進む。ステップＳＥ５では、リトリガー要求（コード変更要求）がされているか否かをチェックする。
【００５７】
リトリガー要求がされている場合にはステップＳＥ６へ進む。ステップＳＥ６では、上記の読み出したキーナンバをそのオクターブ範囲内のコードルートと同じ音名にする。すなわち、コード変更時には、コードルートの音を発音させることにより、コード変更を明確化する。その後、ステップＳＥ４で発音処理を行う。
【００５８】
リトリガー要求がされていない場合には、ステップＳＥ７へ進む。ステップＳＥ７では、上記の読み出したキーナンバをコードタイプに応じてベーススケールテーブルを通し、テーブル値を得る。ステップＳＥ８では、上記のベースパターンから読み出されたキーナンバに、上記のテーブル値とコードルートを加算する。この際、コードルートは、「Ｃ」を０で表し、「Ｄ」を２等で表す。その後、ステップＳＥ４で発音処理を行う。
【００５９】
本実施形態によれば、手鍵盤（下鍵盤）の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出し、足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出する。これらのコードはあくまでも仮のものとして、その後に、上記の仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共にベースルートの有無を決定するので、適切なコードを検出することができる。
【００６０】
ベースルートの有無を決定する際には、仮の手鍵盤コードルートと仮の足鍵盤ベースルートとが同じか否かにかかわらずにベースルートの有無を決定し、仮の手鍵盤コードルートと仮の足鍵盤ベースルートとが異なるときでもベースルートが無しであると決定することがある。
【００６１】
また、仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、仮の手鍵盤コードルートとは異なる真のコードルートを決定し、仮の手鍵盤コードタイプとは異なる真のコードタイプを決定することがある。
【００６２】
上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、電子楽器のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って動作させることによって実施したものも、本発明の範疇に含まれる。
【００６３】
この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００６４】
上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６５】
【発明の効果】
以上説明したように本発明によれば、手鍵盤の操作に応じて仮の手鍵盤コードルート及び仮の手鍵盤コードタイプを検出し、足鍵盤の操作に応じて仮の足鍵盤ベースルートを検出する。これらのコードはあくまでも仮のものとして、その後に、上記の仮の手鍵盤コードルート、手鍵盤コードタイプ及び足鍵盤ベースルートに応じて、真のコードルート及びコードタイプを決定すると共にベースルートの有無を決定するので、適切なコードを検出することができる。
【図面の簡単な説明】
【図１】本発明の実施形態による電子楽器の構成例を示す図である。
【図２】コード決定処理手段の構成を示すブロック図である。
【図３】テーブルの内容を示す図である。
【図４】電子楽器のハードウエア構成を示す図である。
【図５】コード検出処理を示すフローチャートである。
【図６】１フィンガー検出処理を示すフローチャートである。
【図７】自動伴奏発音処理を示すフローチャートである。
【図８】コードパート発音処理を示すフローチャートである。
【図９】ベースパート発音処理を示すフローチャートである。
【符号の説明】
１  下鍵盤
２  足鍵盤
３  スタイル番号スイッチ
４  コード決定処理手段
５  自動伴奏発音処理手段
３１  バス
３２  音源
３３  ＣＰＵ
３４  パネルスイッチ
３５  鍵盤
３５ａ  上鍵盤
３５ｂ  下鍵盤
３５ｃ  足鍵盤
３６  ＲＯＭ
３７  ＲＡＭ
３８  Ｄ／Ａ変換器
３９  アンプ
４０  スピーカ
【図１】
0004237386.tif 000002
【図２】
0004237386.tif 000003
【図３】
0004237386.tif 000004
【図４】
0004237386.tif 000005
【図５】
0004237386.tif 000006
【図６】
0004237386.tif 000007
【図７】
0004237386.tif 000008
【図８】
0004237386.tif 000009
【図９】
0004237386.tif 000010