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