(57)【特許請求の範囲】
【請求項１】
自動伴奏実行のために演奏者が入力すべきコードを表示するコード表示装置であって、
楽曲のコード進行を示すコード進行情報を取得する取得手段と、
前記コード進行情報に基づくコードがユーザ操作に応じて取得される１乃至複数の音高情報によりコード検出不可能な予め決められたタイプのコードである場合に、前記取得される１乃至複数の音高情報によりコード検出可能な予め決められたタイプのコードに変換するコード変換手段と、
前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する１の音高を決定すると共に、該コードのタイプを指定するための予め決められた１又は複数の音高組み合わせ情報に従って、該コードのタイプを指定する０乃至複数の音高を決定するか、あるいは、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する１の音高を決定すると共に、各コードの構成に応じて決まる前記根音以外の複数の音高を決定する決定手段と、
前記決定手段により決定された１乃至複数の音高を自動伴奏実行のために演奏者が入力すべきコードとして前記コード進行順に楽譜表示する表示手段と
を具えるコード表示装置。
【請求項２】
前記１乃至複数の音高の楽譜表示に伴うユーザの操作により入力された１乃至複数の音高情報を取得する音高情報取得手段と、前記取得した１乃至複数の音高情報に基づきコードを検出し、該検出したコードに従って自動伴奏を行う伴奏手段とをさらに具えてなり、前記コード進行情報に基づくコードがコード検出不可能なタイプのコードであっても、コード検出可能なタイプのコードによって自動伴奏を行うことを特徴とする請求項１に記載のコード表示装置。
【請求項３】
コンピュータに、
楽曲のコード進行を示すコード進行情報を取得する手順と、
前記コード進行情報に基づくコードがユーザ操作に応じて取得される１乃至複数の音高情報によりコード検出不可能な予め決められたタイプのコードである場合に、前記取得される１乃至複数の音高情報によりコード検出可能な予め決められたタイプのコードに変換する手順と、
前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する１の音高を決定すると共に、該コードのタイプを指定するための予め決められた１又は複数の音高組み合わせ情報に従って、該コードのタイプを指定する０乃至複数の音高を決定するか、あるいは、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する１の音高を決定すると共に、各コードの構成に応じて決まる前記根音以外の複数の音高を決定する手順と、
前記決定された１乃至複数の音高を自動伴奏実行のために演奏者が入力すべきコードとして前記コード進行順に楽譜表示する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コード進行データに基づきコードを表示するコード表示装置及びプログラムに関する。特に、自動伴奏用のコード入力情報を楽譜に表示するコード表示装置及びプログラムに関する。
【背景技術】
【０００２】
自動伴奏機能を有する電子鍵盤楽器などにおいては、ユーザ（演奏者）が容易に自動伴奏を行うことのできるように、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイに表示する譜面上に、自動伴奏用のコード（和音）入力情報としてコード名（例えば「Ｃ（Ｃメジャー）」、「Ｅｍ７（Ｅマイナー7th）」などの和音名）を、自動演奏データ（曲データ）内に含まれる例えばコード進行データなどに従って表示するようにしている。すなわち、ユーザは譜面上に表示されたコード名を見ながら、鍵盤のうち予め決められた所定のコード検出鍵域にて前記表示されたコード名に対応する複数の鍵を押鍵することによって、前記コードに基づく伴奏演奏を自動的に行うことができるようになっている。また、ユーザに対する演奏補助として、コード進行データに従って各コードの構成音を五線譜上に順次に表示することで、ユーザに対してコードの押え方を提示する技術が従来から知られている。例えば、下記に示す特許文献１に記載されている技術がその一例である。この特許文献１に記載の従来技術ではさらに、次に提示すべきコード構成音がユーザによる現在の押鍵状態に近い押鍵状態となるようコード構成音の転回形を決定すること、コード（和音）タイプによっては転回形によるコード構成音の提示をしないこと、あるいは自動伴奏用のコード検出鍵域（左鍵域）とその他の鍵域（右鍵域）とに鍵盤を２分割する鍵盤位置を決める所謂スプリットポイントのユーザによる変更に応じて、提示するコード構成音の音域や転回形を変更すること、などについて開示されている。
【特許文献１】特開平8−234738号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述したようにしてコード構成音を提示する従来の装置は、コード構成音に該当する複数の鍵を実際に同時に押下することのできる演奏技術が比較的上級のユーザを対象としており、幅広い範囲にわたる複数の鍵を同時に押下することが困難な演奏初心者や手の小さな子供などのユーザにとっては、単にコード構成音を表示されても該当する鍵を正しく押下できないことがあり、自動伴奏用のコード入力情報として単にコード構成音を提示するだけの従来装置は利用しがたい、という問題点があった。
また、コード進行データ中に自動伴奏のためのコード検出が未対応であるタイプのコードが含まれていた場合には、該コード構成音に該当する複数の鍵をユーザが実際に押下したとしてもコード検出されることがない。すなわち、ユーザは自動伴奏を適切に行うことができないことから、自動伴奏用のコード入力情報として単にコード構成音を表示する従来の装置を自動伴奏に利用するには都合が悪い。
【０００４】
本発明は上述の点に鑑みてなされたもので、楽譜が読めるユーザであるならば演奏技術があまり高くなくても自動伴奏を伴う演奏を容易に行うことのできる、自動伴奏用のコード入力情報を楽譜表示するコード表示装置及びプログラムを提供しようとするものである。
また、ユーザによる演奏操作に応じて取得される１乃至複数の音高情報からはコード検出できないタイプのコードであってもユーザが自動伴奏を適切に行うことのできる、自動伴奏用のコード入力情報を楽譜表示するコード表示装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００７】
本発明の請求項１に係るコード表示装置は、自動伴奏実行のために演奏者が入力すべきコードを表示するコード表示装置であって、楽曲のコード進行を示すコード進行情報を取得する取得手段と、前記コード進行情報に基づくコードがユーザ操作に応じて取得される１乃至複数の音高情報によりコード検出不可能な予め決められたタイプのコードである場合に、前記取得される１乃至複数の音高情報によりコード検出可能な予め決められたタイプのコードに変換するコード変換手段と、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する１の音高を決定すると共に、該コードのタイプを指定するための予め決められた１又は複数の音高組み合わせ情報に従って、該コードのタイプを指定する０乃至複数の音高を決定するか、あるいは、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する１の音高を決定すると共に、各コードの構成に応じて決まる前記根音以外の複数の音高を決定する決定手段と、前記決定手段により決定された１乃至複数の音高を自動伴奏実行のために演奏者が入力すべきコードとして前記コード進行順に楽譜表示する表示手段とを具える。これによると、コード進行情報中に本来ならばコード検出不可能でありコードによる自動伴奏を行うことができないコード検出未対応であるコードが含まれていても、コード検出可能なコードに変換してから１乃至複数の音高に展開した上で楽譜表示することから、ユーザは楽譜表示に従って１乃至複数の音高を入力するだけでコード検出不可能なコードがコード検出可能なコードに代替された自動伴奏を実行することができるようになる。
【０００８】
本発明は、装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【０００９】
この発明によれば、楽曲のコード進行を示すコード進行情報の各コードを、コードの根音に対応する音高とコードのタイプに応じた０乃至複数の音高とに展開し、これを自動伴奏用のコード入力情報として楽譜上に表示するようにしたことから、楽譜が読めるユーザであるならば自動伴奏実行のために入力が必要なコードについて容易に理解することができ、また演奏技術があまり高くなくても自動伴奏用のコード入力を簡単に行うことができるようになる、という効果を得る。
また、コード検出により検出不可能なコードを検出可能なコードに変換し、該変換後のコードに基づきコードの根音とコード構成音とは無関係な０乃至複数の音高とに展開した上で楽譜に表示するようにしたことから、取得したコードがコード検出できないタイプのコードであっても、自動伴奏を途切れさせることのないコード表示をユーザに対して提示することができる、という効果を得る。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１１】
図１は、この発明に係るコード表示装置を適用した電子鍵盤楽器の全体構成を示したハード構成ブロック図である。本実施例に示す電子鍵盤楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。ＣＰＵ１は、この電子鍵盤楽器全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してＲＯＭ２、ＲＡＭ３、検出回路４，５、表示回路６、音源回路７、効果回路８、外部記憶装置１０、MIDIインタフェース（I/F）１１および通信インタフェース（I/F）１２がそれぞれ接続されている。更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。例えば、タイマ１Ａはクロックパルスを発生し、発生したクロックパルスをＣＰＵ１に対して処理タイミング命令として与えたり、あるいはＣＰＵ１に対してインタラプト命令として与える。ＣＰＵ１は、これらの命令に従って各種処理を実行する。
【００１２】
ＲＯＭ２は、ＣＰＵ１により実行される各種プログラムや各種データを格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。演奏操作子４Ａは楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子４Ａ（鍵盤等）はユーザ自身の手弾きによるマニュアル演奏及び自動伴奏用のコード入力のために使用できるのは勿論のこと、演奏したい曲を選択するための入力手段などとして使用することもできる。検出回路４は、演奏操作子４Ａの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。
【００１３】
設定操作子（スイッチ等）５Ａは、例えば演奏したい曲（詳しくは自動演奏データ）を選択する曲選択スイッチ、自動伴奏の元となる伴奏パターンデータを選択する伴奏選択スイッチ、自動伴奏の開始／停止を指示する伴奏開始／停止スイッチ、自動伴奏実行のために演奏者が操作すべきコードの入力態様に対応する自動伴奏用のコード検出方式（コード検出モード）として、「シングルフィンガーモード（方式）」又は「フィンガードモード（方式）」のいずれかのモードを選択するモード選択スイッチなどがある。なお、設定操作子５Ａはこれら以外にも、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ６Ａに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてよい。検出回路５は、上記各スイッチの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。
【００１４】
表示回路６は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ６Ａに、演奏曲として指定することが可能な曲（詳しくは自動演奏データ）や伴奏（詳しくは伴奏パターンデータ）の一覧、コード検出領域（電子鍵盤楽器ではコード検出鍵域と呼ぶ）とその他の領域（その他の鍵域）とに鍵盤を２分割するスプリットポイント（後述する図５参照）や前記コード検出モードなどの各種選択・設定に関する現在の選択設定状況、例えば「メロディ譜」及び「コード譜」を含む上下２段からなる表示形式の楽譜（後述する図４参照）、あるいはＣＰＵ１の制御状態などを表示したりする。ユーザは該ディスプレイ６Ａに表示されるこれらの各種情報を参照することで、例えば演奏曲や伴奏パターンの選択あるいはコード検出モードの選択などの各種選択・設定操作、メロディパート演奏のための押鍵操作や自動伴奏のためのコード入力操作などを容易に行うことができる。なお、この実施例において、「メロディ譜」とは「ト音記号」で示される高音域の１行の五線譜のみで構成されているメロディパート用の演奏情報を示す楽譜であり、「コード譜」とは「ヘ音記号」で示される低音域の１行の五線譜のみで構成されている自動伴奏用のコード入力情報を示す楽譜である。
【００１５】
音源回路７は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられた、ユーザによる演奏操作子４Ａの操作に応じて発生される、あるいは伴奏パターンデータに基づき発生される各種演奏情報を入力し、これらの演奏情報に基づいて楽音信号を発生する。音源回路７から発生された楽音信号は、効果回路８を介して効果付与されてアンプやスピーカなどを含むサウンドシステム９から発音される。この音源回路７と効果回路８とサウンドシステム９の構成には、従来のいかなる構成を用いてもよい。例えば、音源回路８はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、ＣＰＵ１によるソフトウェア処理で構成してもよい。
【００１６】
外部記憶装置１０は、自動演奏データや伴奏パターンデータなどの各種データ、ＣＰＵ１が実行する各種制御プログラム等の制御に関するデータなどを記憶する。なお、上述したＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置１０（例えばハードディスク）に制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置１０はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【００１７】
MIDIインタフェース（I/F）１１は、外部接続された他のMIDI機器１１Ａ等からMIDI形式の自動演奏データ（MIDIデータ）を当該電子鍵盤楽器へ入力したり、あるいは当該電子鍵盤楽器からMIDI形式の自動演奏データを他のMIDI機器１１Ａ等へ出力するためのインタフェースである。
【００１８】
通信インタフェース（Ｉ／Ｆ）１２は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークＮに接続されており、該通信ネットワークＮを介してサーバコンピュータ１２Ａと接続され、当該サーバコンピュータ１２Ａから制御プログラムあるいは各種データなどを電子鍵盤楽器側に取り込むためのインタフェースである。すなわち、ＲＯＭ２や外部記憶装置１０（例えば、ハードディスク）等に制御プログラムや各種データが記憶されていない場合には、サーバコンピュータ１２Ａから制御プログラムや各種データをダウンロードするために用いられる。こうした通信インタフェース１２は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００１９】
なお、演奏操作子４Ａやディスプレイ６Ａあるいは音源回路７などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。さらに、本発明に係るコード表示装置は上記したような電子楽器の形態に限らず、パーソナルコンピュータやカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。
【００２０】
図１に示した電子鍵盤楽器は、鍵盤（演奏操作子４）において予めスプリットポイントにより決められたコード検出鍵域内にある鍵の操作状況に応じて、所定の伴奏パターンデータに基づく伴奏音を連続的に発生させる自動伴奏機能を有すると共に、こうした自動伴奏を行うために必要なコード入力情報をユーザに対して提示するための楽譜（コード譜）をディスプレイ６Ａ上に表示する楽譜表示機能を有する。図２は、楽譜表示機能及び自動伴奏機能を説明するための機能ブロック図である。
【００２１】
まず、楽譜表示機能について説明する。データ記憶部Ｋ１（ＲＡＭ３など）は、ユーザによる曲選択スイッチなどの操作に伴い、ＲＯＭ２あるいは外部記憶装置１０など（記憶部Ｋ２）から読み出された該当の自動演奏データを一時記憶する。自動演奏データは一般的には楽音発生のための制御情報であって、例えばSMF（Standard MIDI File）等の所定のファイル形式で記憶される。図２に示すように、例えば自動演奏データは右手（例えばメロディ）パート演奏データ、その他パート演奏データ、コード進行データとに大きく分けることができる。右手パート演奏データとその他パート演奏データは、それぞれ右手パート演奏（メロディ演奏）のための楽曲、右手演奏以外の楽曲の再生内容を表わす情報であって、従来知られているようにタイミングデータ及び演奏イベントデータが演奏進行順に組み合わされて記憶されている。コード進行データは、コードを切り替えるタイミングを示すタイミングデータと、コード名を示すコード指定情報とが楽曲のコード進行順に記憶されている。
【００２２】
楽譜データ作成部Ｄは、前記データ記憶部Ｋ１に記憶された自動演奏データに基づいて、楽譜表示部（ディスプレイ）６Ａ上に楽譜を表示するための楽譜データを作成する。例えば、上記自動演奏データにおける各パート毎のタイミングデータ及び演奏イベントデータ（ノートオン情報やノートオフ情報など）に従って、適切な音符種類の音符記号（例えば、４分音符や１６分音符など）などを、曲の先頭や小節線からの絶対的な表示位置、あるいは隣り合う音符記号との間における相対的な表示位置、かつ適切な音高位置を示す表示位置に配置するようにして、各パート毎の楽譜を表示することができる。つまり、自動演奏データは単に楽音発生のために用いることができるだけでなく、楽譜表示のために用いることもできる。ここに示す楽譜データ作成部Ｄでは、右手パート演奏データに従って「メロディ譜（右手パート譜）」を表示するための楽譜データ、その他パート演奏データに従ってメロディパート以外の「左手譜（パート譜）」などを表示するための楽譜データをそれぞれ作成することができるようになっている。
【００２３】
また、楽譜データ作成部Ｄは上記のように自動演奏データに基づいて右手パートやその他パートの楽譜を表示するための楽譜データを作成するだけでなく、コード進行データに基づいて「コード譜」を表示するための楽譜データを作成することができる。この際に、単にコード進行データ中のコード指定情報に対応するコードの構成音からなる「コード譜」を表示するための楽譜データを作成するのではなく、コード検出音決定部ＣＳで決定された各モードに応じた自動伴奏用のコード検出音に各コードを展開して楽譜表示した「コード譜」を表示するための楽譜データを作成する。具体的には、コード検出音決定部ＣＳは自動演奏データのうちのコード進行データに従って、コード検出（又はコード表示）モード指定部Ｍからのモード指定情報、及び記憶部Ｋ２（ＲＯＭ２や外部記憶装置１０）に記憶されているコード検出ルールやコード検出テーブルなどを参照して、コード名（コード指定情報）に対応させた自動伴奏用のコード検出音を決定する。その際には、指定されている各コード（後述する丸め込みルールやコード検出ルールの適用後を含む）を、コード進行における直前のコードのボイシングに最も近い転回形により選択する。つまり、次に楽譜表示するコードがコード進行順において直前に表示されるコードの押鍵状態に近い押鍵状態となるよう、コード構成音の転回形を決定する。この転回形を決定する処理は、テーブルを利用するなど公知のどのような方法であってもよい。また、後述のスプリットポイント設定部ＳＰによるスプリットポイントの自動設定に応じて決まるコード検出鍵域のうち、右手パートの鍵域になるべく近い位置（つまりスプリットポイントに近い高音側）にある鍵に対応するようにしてコードをシフトするなどによりコード検出音を決定するとよい。楽譜データ作成部Ｄでは、上記決定されたコード検出音をコード進行順に並べた「コード譜」を表示するための楽譜データを作成する。
【００２４】
上記コード検出音決定部ＣＳでは前記コード検出音を決定する前に、当該装置においてコード検出不可能なコードをコード検出可能なコードに前もって変換しておく。例えば、以下に示すようなコードの丸め込みルールを記憶部Ｋ２などに記憶しておき、該コードの丸め込みルールに基づいて当該装置においてコード検出することが不可能な予め決められたタイプのコードを、当該装置においてコード検出することが可能な予め決められたタイプのコードに変換する。
（ルール１）検出不可能なテンションありコードを検出可能なテンションなしコードに変換する。これによると、例えば「Ｃ９」を「Ｃ」に変換する。
（ルール２）検出不可能なオンベースありのコードを検出可能なオンベースなしのコードに変換する。これによると、例えば「ＣonＧ」を「Ｃ」に変換する。
（ルール３）検出不可能なコードを検出可能な構成音が同じであるコードに変換する。これによると、例えば「Ｃ６」を「Ａｍ7」に変換する。
（ルール４）検出不可能なコードを検出可能な構成音が近いコードに変換する。これによると、例えば「Ｃsus4」を「Ｇｍ7」に変換する。
（ルール５）検出不可能な付加音ありコードを検出可能な付加音なしコードに変換する。これによると、例えば「Ｃadd9」を「Ｃ」に変換する。
（ルール６）検出不可能なコードを検出可能な同じ機能（トニック、ドミナント、サブドミナント）のコードに変換する。これによると、例えば「ＣＭ7」を「Ｅｍ7」に変換する。
以上のうち、少なくとも１つ以上を丸め込みルールとして採用すればよい。勿論、丸め込みルールは上記したものに限らない。
【００２５】
次に、自動伴奏機能について説明する。ユーザによる演奏操作子４Ａの操作に応じてノートオン情報やノートオフ情報などの演奏イベントデータが発せられると、該発せられた演奏イベントデータはスプリットポイント設定部ＳＰを介してコード検出部Ｃ又は音源回路７に送られる。スプリットポイント設定部ＳＰは、該送られた演奏イベントデータが予め決められたコード検出鍵域内の鍵操作に応じて発せられたものか否かを判定し、この判定に応じて前記演奏イベントデータをコード検出部Ｃ又は音源回路７のいずれかに振り分ける。すなわち、コード検出鍵域内の鍵が操作されたゆえ発生された演奏イベントデータである場合にはコード検出部Ｃに当該データを送る一方で、コード検出鍵域以外の鍵が操作されたゆえ発生された演奏イベントデータである場合には音源回路７に当該データを送る。こうしたスプリットポイント設定部ＳＰでは、記憶部Ｋ１から読み出した右手パート演奏データに基づきスプリットポイントを自動的に設定することによって、予め鍵盤（演奏操作子４Ａ）をコード検出鍵域とそれ以外の鍵域とに分割している。このスプリットポイントの自動設定は、右手パート演奏データ内に定義されている演奏イベントデータに従う全ての音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを曲毎に固定的に決定する場合と、曲進行に応じて所定範囲内にある音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを曲中で変位させながら決定する場合とがある（図５参照）。
【００２６】
コード検出部Ｃはスプリットポイント設定部ＳＰから演奏イベントデータを受け取ると、コード検出（又はコード表示）モード指定部Ｍからのモード指定情報、及び記憶部Ｋ２（ＲＯＭ２や外部記憶装置１０）に記憶されているコード検出ルールやコード検出テーブル（詳しくは後述する）を参照して、演奏操作子４Ａから入力された演奏イベントデータの組み合わせが自動伴奏用のコードに対応するか否かを判定し、自動伴奏用のコードに対応している場合にはコードを検出して、該検出したコードを自動伴奏部Ｂに送る。自動伴奏部Ｂは、コード検出部Ｃで検出されたコードに基づき、該コードを伴奏パターンデータに反映して伴奏用の楽音データを作成する。音源回路７は、自動伴奏部Ｂから受け取った楽音データ、つまりコード検出鍵域内の鍵が操作されたことに応じて伴奏パターンデータを基に発生される演奏情報に従って楽音を発生する（所謂自動伴奏）。一方で、音源回路７は、スプリットポイント設定部ＳＰから直接受け取った演奏イベントデータ、つまりコード検出鍵域以外の鍵が操作されたことに応じて演奏操作子４Ａから発生された演奏情報に基づき楽音を発生する（所謂マニュアル演奏）。すなわち、スプリットポイント設定部ＳＰ及びコード検出部Ｃは、ユーザによりコード検出鍵域において自動伴奏用のコードに対応する複数の鍵が同時に押下された場合に、自動伴奏を実施するよう自動伴奏部Ｂを制御するものである。
【００２７】
ここで、上記したコード検出音決定部ＣＳ又はコード検出部Ｃにより、コード検出音の決定又はコード検出のために、シングルフィンガーモード時に参照するコード検出ルール、フィンガードモード時に参照するコード検出テーブルについてそれぞれ説明する。
【００２８】
フィンガードモード時に参照するコード検出テーブルは、例えば上記特許文献１に記載された、根音「Ｃ」における各和音タイプ別に複数の和音構成音を定義したテーブルなど公知のどのようなものであってよいことから、ここでは説明を省略する。他方、シングルフィンガーモード時に参照するコード検出ルールの一例を示すと、例えば以下のようになる。
（検出ルール１）コードタイプが「メジャー（ｍａｊ）」である場合には、コードの根音のみをコード検出音とする。演奏操作子４Ａから入力された演奏イベントデータが１音のみの場合、当該音を根音とする「メジャー（ｍａｊ）」コードとコード検出する。
（検出ルール２）コードタイプが「マイナー（ｍ）」である場合には、コードの根音と、それより低音側の黒鍵のいずれかに対応する音とをコード検出音とする。演奏操作子４Ａから入力された演奏イベントデータの組み合わせが２音であり、そのどちらか低音側の音が黒鍵のいずれかに対応する音である場合、他方の音を根音とする「マイナー（ｍ）」コードとコード検出する。
（検出ルール３）コードタイプが「メジャーセブンス（7）」である場合には、コードの根音と、それより低音側の白鍵のいずれかに対応する音とをコード検出音とする。演奏操作子４Ａから入力された演奏イベントデータの組み合わせが２音であり、そのどちらか低音側の音が白鍵のいずれかに対応する音である場合、他方の音を根音とする「メジャーセブンス（7）」コードとコード検出する。
（検出ルール４）コードタイプが「マイナーセブンス（m7）」である場合には、コードの根音と、それより低音側の白鍵及び黒鍵のいずれかに対応する音とをコード検出音とする。演奏操作子４Ａから入力された演奏イベントデータの組み合わせが３音であり、そのうちの低音側の２音が白鍵及び黒鍵のいずれかに対応する音である場合、残りの１音を根音とする「マイナーセブンス（m7）」コードとコード検出する。
【００２９】
このように、コード検出ルールは、各コードの根音に対応する音高に加えて、白鍵のいずれか又は／及び黒鍵のいずれかに対応する音高を根音以外の構成音とは関係なしに決めるための音高組み合わせ情報を、コードのタイプ別に定義したものである。したがって、根音と低音側の０乃至複数の各音高の組み合わせにより各コードのタイプがわかる。すなわち、コードが１音のみで示されている場合には当該コードのタイプが「メジャー（ｍａｊ）」であること、コードが２音で示されておりそのうちの低音側の音が黒鍵に該当する場合には当該コードのタイプが「マイナー（ｍ）」であること、コードが２音で示されておりそのうちの低音側の音が白鍵に該当すると当該コードのタイプが「メジャーセブンス（7）」であること、コードが３音で示されておりそのうちの低音側の２音が白鍵及び黒鍵に該当する組み合わせである場合には当該コードのタイプが「マイナーセブンス（m7）」であることが分かるようになる。なお、コード検出ルールは上記したものに限らない。
【００３０】
上記のように、シングルフィンガーモードの場合には、コードの根音を示す１つの音高と、該コードのタイプを示す根音以外のコード構成音とは無関係な０乃至複数の音高とをコード検出音として楽譜表示すると共に、前記音高に対応する鍵が操作された場合について該当するコードを検出して自動伴奏を行うように、コード検出ルールを設定する。なお、シングルフィンガーモードの場合には、上述した丸め込みルールのうち、シングルフィンガーモードにおいて検出可能なタイプ（ここではメジャー、マイナー、メジャー7th、マイナー7th）のいずれかに丸め込むようにルール化されている。これにより、シングルフィンガーモードにおいては上記４種類のコード検出ルールにより、当該装置で検出可能なコードについては全て網羅されることになる。なお、複数ルールを組み合わせて適用することで、シングルフィンガーモードで検出可能なコードタイプに丸め込んでもよい。例えば、「Ｃ６add9」を付加音なしの「Ｃ６」に丸め込んだ後に、さらに該「Ｃ６」を同構成音からなる「Ａｍ７」に丸め込むなどである。
【００３１】
次に、上記した楽譜表示機能及び自動伴奏機能を実現する「メイン処理」について、図３を用いて説明する。図３は、「メイン処理」の一実施例を示すフローチャートである。この実施例に示す「メイン処理」は、図１に示したＣＰＵ１において実行される。以下、図３に示したフローチャートに従って、「メイン処理」について説明する。
【００３２】
ステップＳ１は、ユーザによるデータ選択スイッチ等の操作に応じて自動演奏データを選択する。ステップＳ２は、該選択された自動演奏データをＲＡＭ３に読み出し一時記憶する。ステップＳ３は、前記記憶した自動演奏データのうちの右手パート演奏データに基づき右手パートで使用する音域を検出することでスプリットポイントの自動設定を行い、これによりコード検出鍵域を決定し設定する。ステップＳ４は、前記記憶した自動演奏データのうちコード進行データに基づいてコードを読み出して、該読み出したコードのうちコード検出不可能なコードをコード検出可能なコードに変換する。この際には、上述した丸め込みルールに従って変換する。ステップＳ５は、コード進行データと、上述したコード検出ルール又はコード検出テーブルとに基づき、前記設定したコード検出鍵域内においてシングルフィンガーモード用及びフィンガードモード用の各コード検出音を決定し、各楽譜データを生成する。すなわち、この実施例では両モードについて予め楽譜データを作成しておくことで、演奏中にモード変更がなされた場合であっても、対応する楽譜に切り替えて表示を続けることができるようにしている。ステップＳ６は、右手パート演奏データに基づき、右手パート用の楽譜データを生成する。ステップＳ７は、コード検出（又はコード表示）モードとして「シングルフィンガーモード」又は「フィンガードモード」のいずれかを指定する。ステップＳ８は、前記指定されたモードに応じた楽譜をディスプレイ６Ａに表示する。
【００３３】
ステップＳ９は、自動伴奏及び楽譜表示のスタートが指示されるまで処理を待機する。自動伴奏及び楽譜表示をスタートするようユーザにより指示されていた場合には（ステップＳ９のＹＥＳ）、ユーザによる押鍵操作を検出したか否かを判定する（ステップＳ１０）。ユーザによる押鍵操作を検出した場合には（ステップＳ１０のＹＥＳ）、該押鍵操作された鍵が前記設定されたコード検出鍵域内の鍵であるか否かを判定する（ステップＳ１１）。該押鍵操作された鍵が前記設定されたコード検出鍵域内の鍵でないと判定した場合には（ステップＳ１１のＮＯ）、押鍵された鍵に基づく楽音を発音する（ステップＳ１６）。すなわち、自動伴奏ではなく、該押鍵された鍵に予め割り当てられている音高での楽音を発生するマニュアル演奏が行われる。一方、押鍵操作された鍵が前記設定されたコード検出鍵域内の鍵であると判定した場合には（ステップＳ１１のＹＥＳ）、前記設定済みのコード検出モードと、コード検出ルール又はコード検出テーブルとに基づいてコードの検出を行う（ステップＳ１２）。ステップＳ１３は、自動伴奏パターンを順次に読み出し、前記検出されたコードに基づいて音高変換を行い、自動伴奏音を発音する。ステップＳ１４は、モードに応じた楽譜データを演奏進行に対応した所定の範囲毎に順次に読み出し、楽譜表示を更新する。ステップＳ１５は、ユーザによる自動伴奏のストップ操作がなされたか否か、あるいは曲（自動演奏データ）が最後まで終了したか否かを判定する。ユーザによる自動伴奏のストップ操作がなされた、あるいは曲が最後まで終了したと判定した場合には（ステップＳ１５）、当該処理を終了する。ユーザによる自動伴奏のストップ操作がなされていない、あるいは曲が最後まで終了していないと判定した場合には（ステップＳ１５のＮＯ）、上記ステップＳ９の処理に戻って、上記ステップＳ９〜ステップＳ１５までの処理を繰り返し実行する。
【００３４】
次に、モード別の楽譜表示について、図４を用いて説明する。図４は、「楽譜表示画面」の一実施例を示す概念図である。図４（ａ）はシングルフィンガーモード選択時における楽譜表示例を示し、図４（ｂ）はフィンガードモード選択時における楽譜表示例を示す。ただし、ここでは、「メロディ譜」及び「コード譜」の２段構成からなる五線譜について、２小節分だけ図示している。また、コード譜においては説明の便宜上、各音符記号に対応する音名を示した。
【００３５】
図４から理解できるように、図示した楽譜表示例は２段構成になっており、そのうちの１段目の五線譜には、右手パート演奏データに基づいて右手パートに関する音符記号Ｏからなる楽譜ＲＳ（メロディ譜）を表示する。また、この１段目の五線譜の上方には、コード進行データに応じてコードＣＤ（ここではコード名「Ｃ９」と「Ｃ６」とを例示）を表示する。これに対して、２段目の五線譜には、前記コード名に対応する自動伴奏用のコード入力情報として、モードに応じて決定されるコード検出音の１乃至複数の音符記号ＯＣからなる楽譜ＬＣ（つまりコード譜）を各コード毎に表示する。例えばコード「Ｃ９」「Ｃ６」が共に当該装置において検出不可能なコードである場合、コード「Ｃ９」は上述した丸め込みルールの「ルール１」に従って検出可能なコード「Ｃ」に変換され、コード「Ｃ６」は「ルール３」に従って検出可能なコード「Ａｍ７」に変換される。
【００３６】
シングルフィンガーモード選択時においては、上記コード変換後にさらに上述したコード検出ルールに従ってコード検出音が決定される。図４（ａ）左に示すように、丸め込み変換後の「Ｃ」（Ｃメジャーコード）については「検出ルール１」に従って根音のみにコード検出音が決定され、根音に対応する音高のみが音符表示される。つまり、コード「Ｃ」の構成音である低音側から順に音名「Ｃ，Ｅ，Ｇ」に対応する音符のうち、根音である音名「Ｃ」に対応する音符のみを表示する。また、図４（ａ）右に示すように、丸め込み変換後の「Ａｍ７」（Ａマイナー7thコード）については「検出ルール４」に従って根音とそれより低音側の白鍵と黒鍵に対応する音高にコード検出音が決定され、それらに対応する全ての音高について音符表示される。つまり、コード「Ａｍ７」の根音である音名「Ａ」とそれより低音側の白鍵（音名「Ｄ」）と黒鍵（音名「Ｆ♯」）に対応する音符が表示される。上記コード検出ルールに従って根音より低音側の白鍵や黒鍵に対応する音高を選ぶ際には、ユーザに対して見易くまた押鍵し易い音高のものを選ぶのがよく、例えば、図示のように互いの音程が３〜４度離れている音高を選ぶようにしておくとよい。
【００３７】
一方、フィンガードモード選択時においては、上記コード変換後に公知のコード検出テーブルに従ってコード検出音が決定される。図４（ｂ）左に示すように、丸め込み変換された場合には、該丸め込み変換後の「Ｃ」（Ｃメジャーコード）について、コード「Ｃ」の構成音である低音側から順に音名「Ｃ，Ｅ，Ｇ」に対応する音符を表示する。なお、図４（ｂ）右に示すように、コード「Ｃ６」が当該装置で検出可能なコードであり丸め込み変換されなかった場合には、コード進行データに定義されている本来のコード「Ｃ６」の構成音である低音側から順に音名「Ｃ，Ｅ，Ｇ、Ａ」にそれぞれ対応する音符をそのまま表示する。
【００３８】
以上のように、ユーザによるシングルフィンガーモードの選択に応じてコード入力情報が簡略化された上で、コード譜（２段目の五線譜）上に該簡略化されたコード入力情報に対応した音符記号ＯＣを表示するようにしたことから、演奏技術が未熟でありコード構成音に対応する鍵を同時に押下できないようなユーザであっても、表示されている音符記号ＯＣに従って該当する鍵を操作するといった比較的に簡単な操作を行うだけで自動伴奏を行うことができるようになる。また、メロディ譜（１段目の五線譜）上に表示されたコード進行データに定義されている本来のコードが当該装置で未対応である場合であっても、当該装置で対応するコードに変換した上でコード譜（２段目の五線譜）上にコード入力情報として音符記号ＯＣにより表示するようにしたことから、ユーザはどの装置においても自動伴奏を使った演奏を容易に行うことができるようになる。さらに、ユーザはコード毎に１乃至複数の音高に展開された楽譜表示を見るだけで、各コードのタイプについて容易に理解することができる。
【００３９】
次に、スプリットポイントの自動設定によるコード検出鍵域の決定について、図５を用いて説明する。図５は、スプリットポイントの自動設定を説明するための概念図である。
【００４０】
図５（ａ）は、スプリットポイントの自動設定として、右手パート演奏データ内に定義されている全ての音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを決定する場合を示す。この場合には、１曲を通してスプリットポイントＰは所定の位置に固定されることになり、それに従い鍵盤４Ａ上におけるコード検出鍵域ＬＫと右手演奏鍵域ＲＫの各範囲も固定される。そして、該固定されたコード検出鍵域ＬＫ内においてコード検出音の決定やコード検出などが行われる。
【００４１】
一方、図５（ｂ）は、曲進行に応じて所定範囲内にある音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを決定する場合を示す。この場合には、曲進行に応じてスプリットポイントＰが可変されることになり、それに従い鍵盤４Ａ上におけるコード検出鍵域ＬＫと右手演奏鍵域ＲＫの各範囲が可変する。図中において「１」を記した第１の曲範囲では、スプリットポイントＰがＹ位置に決定され、コード検出鍵域ＬＫ及び右手演奏の鍵域ＲＫとがそれぞれ図示のような範囲に決定される。曲進行に応じて図中において「２」を記した第２の曲範囲では、スプリットポイントＰが前記Ｙ位置よりも右であるＺ位置に決定されており、それに従いコード検出鍵域ＬＫが拡大される一方で、右手演奏の鍵域ＲＫがコード検出鍵域ＬＫが拡大された分だけ全体がずれた範囲に設定される。さらに曲が進行して図中において「３」を記した第３の曲範囲では、スプリットポイントＰが前記Ｚ位置（及びＹ位置）よりも鍵盤の左端に近いＸ位置に決定されており、それに応じてコード検出鍵域ＬＫ及び右手演奏の鍵域ＲＫがそれぞれ決定される。上述したように、コード検出音の決定の際には、次に提示すべきコード構成音がユーザによる現在の押鍵状態に近い押鍵状態となるようコード構成音の転回形を決定するが、曲進行に応じて可変されたスプリットポイントＰを参照することで、コード検出鍵域ＬＫの範囲が大きく変更されたとしても押鍵操作に影響のないようなコードに決定する。
【００４２】
なお、ディスプレイ６Ａに表示する楽譜の表示形態は上記した２段構成のものに限らない。楽譜の表示形態は、ディスプレイ６Ａの大きさ（サイズ）に従って決定するようにしてよい。また、ディスプレイ６Ａの大きさ（サイズ）はユーザの操作などにより設定変更可能であってもよいし、固定であってもよい。
なお、上述した実施例では右手演奏の鍵域ＲＫを一定の範囲を保つようにしたものを示したがこれに限らず、スプリットポイントＰから鍵盤の右端までの全ての領域を右手演奏の鍵域ＲＫとし、スプリットポイントＰの位置変更に応じてコード検出鍵域ＬＫと共にその範囲を可変としてもよい。
【００４３】
なお、楽譜データは五線譜や音楽記号を含む画像データ、あるいは五線譜以外の音楽記号イベントや音符イベントなどの表示位置等を指示する指示データ、などの公知のどのようなものであってもよい。
なお、楽譜の表示は上記実施例に示したようにディスプレイ６Ａ上に画面表示するものに限らず、紙等の媒体に印刷するなどして表示するようにしたものであってもよい。
なお、コード検出方式としてはシングルフィンガー方式とフィンガード方式の双方を含むものに限らず、どちらか一方の方式を含んでいればよい。また、上記方式に限らず、これら以外の他のコード検出方式をさらに具えていてもよい。
なお、鍵盤のうちスプリットポイントで分割される低音側全ての鍵をコード検出鍵域としたがこれに限らず、低音側の鍵の一部のみをコード検出鍵域としてもよい。そうした場合、コード検出鍵域の範囲とする一部の鍵をユーザが適宜に設定できるようにしてもよいし、スプリットポイントから低音側の所定範囲内にある鍵とするようにしてもよい。
【図面の簡単な説明】
【００４４】
【図１】この発明に係るコード表示装置を適用した電子鍵盤楽器の全体構成を示したハード構成ブロック図である。
【図２】楽譜表示機能及び自動伴奏機能を説明するための機能ブロック図である。
【図３】メイン処理の一実施例を示すフローチャートである。
【図４】楽譜表示画面の一実施例を示す概念図である。図４（ａ）はシングルフィンガーモード選択時における楽譜表示例を示し、図４（ｂ）はフィンガードモード選択時における楽譜表示例を示す。
【図５】スプリットポイントの自動設定を説明するための概念図であり、図５（ａ）は１曲を通してスプリットポイントが固定される場合、図５（ｂ）は曲進行に応じてスプリットポイントが可変される場合を示す。
【符号の説明】
【００４５】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４，５…検出回路、４Ａ…演奏操作子、５Ａ…設定操作子、６…表示回路、６Ａ…ディスプレイ、７…音源回路、８…効果回路、９…サウンドシステム、１０…外部記憶装置、１１…MIDIインタフェース、１１Ａ…MIDI機器、１２…通信インタフェース、１２Ａ…サーバコンピュータ、１Ｄ…通信バス、Ｎ…通信ネットワーク、Ｋ１…データ記憶部、Ｋ２…記憶部、ＣＳ…コード検出音決定部、Ｍ…コード検出（又はコード表示）モード指定部、Ｃ…コード検出部、ＳＰ…スプリットポイント設定部、Ｂ…自動伴奏部、Ｄ…楽譜データ作成部
【図１】
0004470895.tif 000002
【図２】
0004470895.tif 000003
【図３】
0004470895.tif 000004
【図４】
0004470895.tif 000005
【図５】
0004470895.tif 000006