JP4470895B2 - コード表示装置及びプログラム - Google Patents

コード表示装置及びプログラム Download PDF

Info

Publication number
JP4470895B2
JP4470895B2 JP2006058702A JP2006058702A JP4470895B2 JP 4470895 B2 JP4470895 B2 JP 4470895B2 JP 2006058702 A JP2006058702 A JP 2006058702A JP 2006058702 A JP2006058702 A JP 2006058702A JP 4470895 B2 JP4470895 B2 JP 4470895B2
Authority
JP
Japan
Prior art keywords
chord
information
code
pitch
score
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006058702A
Other languages
English (en)
Other versions
JP2007240557A (ja
Inventor
賢 平塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006058702A priority Critical patent/JP4470895B2/ja
Publication of JP2007240557A publication Critical patent/JP2007240557A/ja
Application granted granted Critical
Publication of JP4470895B2 publication Critical patent/JP4470895B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、コード進行データに基づきコードを表示するコード表示装置及びプログラムに関する。特に、自動伴奏用のコード入力情報を楽譜に表示するコード表示装置及びプログラムに関する。
自動伴奏機能を有する電子鍵盤楽器などにおいては、ユーザ(演奏者)が容易に自動伴奏を行うことのできるように、例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイに表示する譜面上に、自動伴奏用のコード(和音)入力情報としてコード名(例えば「C(Cメジャー)」、「Em7(Eマイナー7th)」などの和音名)を、自動演奏データ(曲データ)内に含まれる例えばコード進行データなどに従って表示するようにしている。すなわち、ユーザは譜面上に表示されたコード名を見ながら、鍵盤のうち予め決められた所定のコード検出鍵域にて前記表示されたコード名に対応する複数の鍵を押鍵することによって、前記コードに基づく伴奏演奏を自動的に行うことができるようになっている。また、ユーザに対する演奏補助として、コード進行データに従って各コードの構成音を五線譜上に順次に表示することで、ユーザに対してコードの押え方を提示する技術が従来から知られている。例えば、下記に示す特許文献1に記載されている技術がその一例である。この特許文献1に記載の従来技術ではさらに、次に提示すべきコード構成音がユーザによる現在の押鍵状態に近い押鍵状態となるようコード構成音の転回形を決定すること、コード(和音)タイプによっては転回形によるコード構成音の提示をしないこと、あるいは自動伴奏用のコード検出鍵域(左鍵域)とその他の鍵域(右鍵域)とに鍵盤を2分割する鍵盤位置を決める所謂スプリットポイントのユーザによる変更に応じて、提示するコード構成音の音域や転回形を変更すること、などについて開示されている。
特開平8−234738号公報
しかし、上述したようにしてコード構成音を提示する従来の装置は、コード構成音に該当する複数の鍵を実際に同時に押下することのできる演奏技術が比較的上級のユーザを対象としており、幅広い範囲にわたる複数の鍵を同時に押下することが困難な演奏初心者や手の小さな子供などのユーザにとっては、単にコード構成音を表示されても該当する鍵を正しく押下できないことがあり、自動伴奏用のコード入力情報として単にコード構成音を提示するだけの従来装置は利用しがたい、という問題点があった。
また、コード進行データ中に自動伴奏のためのコード検出が未対応であるタイプのコードが含まれていた場合には、該コード構成音に該当する複数の鍵をユーザが実際に押下したとしてもコード検出されることがない。すなわち、ユーザは自動伴奏を適切に行うことができないことから、自動伴奏用のコード入力情報として単にコード構成音を表示する従来の装置を自動伴奏に利用するには都合が悪い。
本発明は上述の点に鑑みてなされたもので、楽譜が読めるユーザであるならば演奏技術があまり高くなくても自動伴奏を伴う演奏を容易に行うことのできる、自動伴奏用のコード入力情報を楽譜表示するコード表示装置及びプログラムを提供しようとするものである。
また、ユーザによる演奏操作に応じて取得される1乃至複数の音高情報からはコード検出できないタイプのコードであってもユーザが自動伴奏を適切に行うことのできる、自動伴奏用のコード入力情報を楽譜表示するコード表示装置及びプログラムを提供しようとするものである。
本発明の請求項に係るコード表示装置は、自動伴奏実行のために演奏者が入力すべきコードを表示するコード表示装置であって、楽曲のコード進行を示すコード進行情報を取得する取得手段と、前記コード進行情報に基づくコードがユーザ操作に応じて取得される1乃至複数の音高情報によりコード検出不可能な予め決められたタイプのコードである場合に、前記取得される1乃至複数の音高情報によりコード検出可能な予め決められたタイプのコードに変換するコード変換手段と、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する1の音高を決定すると共に、該コードのタイプを指定するための予め決められた1又は複数の音高組み合わせ情報に従って、該コードのタイプを指定する0乃至複数の音高を決定するか、あるいは、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する1の音高を決定すると共に、各コードの構成に応じて決まる前記根音以外の複数の音高を決定する決定手段と、前記決定手段により決定された1乃至複数の音高を自動伴奏実行のために演奏者が入力すべきコードとして前記コード進行順に楽譜表示する表示手段とを具える。これによると、コード進行情報中に本来ならばコード検出不可能でありコードによる自動伴奏を行うことができないコード検出未対応であるコードが含まれていても、コード検出可能なコードに変換してから1乃至複数の音高に展開した上で楽譜表示することから、ユーザは楽譜表示に従って1乃至複数の音高を入力するだけでコード検出不可能なコードがコード検出可能なコードに代替された自動伴奏を実行することができるようになる。
本発明は、装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
この発明によれば、楽曲のコード進行を示すコード進行情報の各コードを、コードの根音に対応する音高とコードのタイプに応じた0乃至複数の音高とに展開し、これを自動伴奏用のコード入力情報として楽譜上に表示するようにしたことから、楽譜が読めるユーザであるならば自動伴奏実行のために入力が必要なコードについて容易に理解することができ、また演奏技術があまり高くなくても自動伴奏用のコード入力を簡単に行うことができるようになる、という効果を得る。
また、コード検出により検出不可能なコードを検出可能なコードに変換し、該変換後のコードに基づきコードの根音とコード構成音とは無関係な0乃至複数の音高とに展開した上で楽譜に表示するようにしたことから、取得したコードがコード検出できないタイプのコードであっても、自動伴奏を途切れさせることのないコード表示をユーザに対して提示することができる、という効果を得る。
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係るコード表示装置を適用した電子鍵盤楽器の全体構成を示したハード構成ブロック図である。本実施例に示す電子鍵盤楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御される。CPU1は、この電子鍵盤楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、検出回路4,5、表示回路6、音源回路7、効果回路8、外部記憶装置10、MIDIインタフェース(I/F)11および通信インタフェース(I/F)12がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。例えば、タイマ1Aはクロックパルスを発生し、発生したクロックパルスをCPU1に対して処理タイミング命令として与えたり、あるいはCPU1に対してインタラプト命令として与える。CPU1は、これらの命令に従って各種処理を実行する。
ROM2は、CPU1により実行される各種プログラムや各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。演奏操作子4Aは楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子4A(鍵盤等)はユーザ自身の手弾きによるマニュアル演奏及び自動伴奏用のコード入力のために使用できるのは勿論のこと、演奏したい曲を選択するための入力手段などとして使用することもできる。検出回路4は、演奏操作子4Aの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。
設定操作子(スイッチ等)5Aは、例えば演奏したい曲(詳しくは自動演奏データ)を選択する曲選択スイッチ、自動伴奏の元となる伴奏パターンデータを選択する伴奏選択スイッチ、自動伴奏の開始/停止を指示する伴奏開始/停止スイッチ、自動伴奏実行のために演奏者が操作すべきコードの入力態様に対応する自動伴奏用のコード検出方式(コード検出モード)として、「シングルフィンガーモード(方式)」又は「フィンガードモード(方式)」のいずれかのモードを選択するモード選択スイッチなどがある。なお、設定操作子5Aはこれら以外にも、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ6Aに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてよい。検出回路5は、上記各スイッチの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。
表示回路6は例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイ6Aに、演奏曲として指定することが可能な曲(詳しくは自動演奏データ)や伴奏(詳しくは伴奏パターンデータ)の一覧、コード検出領域(電子鍵盤楽器ではコード検出鍵域と呼ぶ)とその他の領域(その他の鍵域)とに鍵盤を2分割するスプリットポイント(後述する図5参照)や前記コード検出モードなどの各種選択・設定に関する現在の選択設定状況、例えば「メロディ譜」及び「コード譜」を含む上下2段からなる表示形式の楽譜(後述する図4参照)、あるいはCPU1の制御状態などを表示したりする。ユーザは該ディスプレイ6Aに表示されるこれらの各種情報を参照することで、例えば演奏曲や伴奏パターンの選択あるいはコード検出モードの選択などの各種選択・設定操作、メロディパート演奏のための押鍵操作や自動伴奏のためのコード入力操作などを容易に行うことができる。なお、この実施例において、「メロディ譜」とは「ト音記号」で示される高音域の1行の五線譜のみで構成されているメロディパート用の演奏情報を示す楽譜であり、「コード譜」とは「ヘ音記号」で示される低音域の1行の五線譜のみで構成されている自動伴奏用のコード入力情報を示す楽譜である。
音源回路7は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた、ユーザによる演奏操作子4Aの操作に応じて発生される、あるいは伴奏パターンデータに基づき発生される各種演奏情報を入力し、これらの演奏情報に基づいて楽音信号を発生する。音源回路7から発生された楽音信号は、効果回路8を介して効果付与されてアンプやスピーカなどを含むサウンドシステム9から発音される。この音源回路7と効果回路8とサウンドシステム9の構成には、従来のいかなる構成を用いてもよい。例えば、音源回路8はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、CPU1によるソフトウェア処理で構成してもよい。
外部記憶装置10は、自動演奏データや伴奏パターンデータなどの各種データ、CPU1が実行する各種制御プログラム等の制御に関するデータなどを記憶する。なお、上述したROM2に制御プログラムが記憶されていない場合、この外部記憶装置10(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置10はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
MIDIインタフェース(I/F)11は、外部接続された他のMIDI機器11A等からMIDI形式の自動演奏データ(MIDIデータ)を当該電子鍵盤楽器へ入力したり、あるいは当該電子鍵盤楽器からMIDI形式の自動演奏データを他のMIDI機器11A等へ出力するためのインタフェースである。
通信インタフェース(I/F)12は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークNに接続されており、該通信ネットワークNを介してサーバコンピュータ12Aと接続され、当該サーバコンピュータ12Aから制御プログラムあるいは各種データなどを電子鍵盤楽器側に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置10(例えば、ハードディスク)等に制御プログラムや各種データが記憶されていない場合には、サーバコンピュータ12Aから制御プログラムや各種データをダウンロードするために用いられる。こうした通信インタフェース12は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
なお、演奏操作子4Aやディスプレイ6Aあるいは音源回路7などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。さらに、本発明に係るコード表示装置は上記したような電子楽器の形態に限らず、パーソナルコンピュータやカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。
図1に示した電子鍵盤楽器は、鍵盤(演奏操作子4)において予めスプリットポイントにより決められたコード検出鍵域内にある鍵の操作状況に応じて、所定の伴奏パターンデータに基づく伴奏音を連続的に発生させる自動伴奏機能を有すると共に、こうした自動伴奏を行うために必要なコード入力情報をユーザに対して提示するための楽譜(コード譜)をディスプレイ6A上に表示する楽譜表示機能を有する。図2は、楽譜表示機能及び自動伴奏機能を説明するための機能ブロック図である。
まず、楽譜表示機能について説明する。データ記憶部K1(RAM3など)は、ユーザによる曲選択スイッチなどの操作に伴い、ROM2あるいは外部記憶装置10など(記憶部K2)から読み出された該当の自動演奏データを一時記憶する。自動演奏データは一般的には楽音発生のための制御情報であって、例えばSMF(Standard MIDI File)等の所定のファイル形式で記憶される。図2に示すように、例えば自動演奏データは右手(例えばメロディ)パート演奏データ、その他パート演奏データ、コード進行データとに大きく分けることができる。右手パート演奏データとその他パート演奏データは、それぞれ右手パート演奏(メロディ演奏)のための楽曲、右手演奏以外の楽曲の再生内容を表わす情報であって、従来知られているようにタイミングデータ及び演奏イベントデータが演奏進行順に組み合わされて記憶されている。コード進行データは、コードを切り替えるタイミングを示すタイミングデータと、コード名を示すコード指定情報とが楽曲のコード進行順に記憶されている。
楽譜データ作成部Dは、前記データ記憶部K1に記憶された自動演奏データに基づいて、楽譜表示部(ディスプレイ)6A上に楽譜を表示するための楽譜データを作成する。例えば、上記自動演奏データにおける各パート毎のタイミングデータ及び演奏イベントデータ(ノートオン情報やノートオフ情報など)に従って、適切な音符種類の音符記号(例えば、4分音符や16分音符など)などを、曲の先頭や小節線からの絶対的な表示位置、あるいは隣り合う音符記号との間における相対的な表示位置、かつ適切な音高位置を示す表示位置に配置するようにして、各パート毎の楽譜を表示することができる。つまり、自動演奏データは単に楽音発生のために用いることができるだけでなく、楽譜表示のために用いることもできる。ここに示す楽譜データ作成部Dでは、右手パート演奏データに従って「メロディ譜(右手パート譜)」を表示するための楽譜データ、その他パート演奏データに従ってメロディパート以外の「左手譜(パート譜)」などを表示するための楽譜データをそれぞれ作成することができるようになっている。
また、楽譜データ作成部Dは上記のように自動演奏データに基づいて右手パートやその他パートの楽譜を表示するための楽譜データを作成するだけでなく、コード進行データに基づいて「コード譜」を表示するための楽譜データを作成することができる。この際に、単にコード進行データ中のコード指定情報に対応するコードの構成音からなる「コード譜」を表示するための楽譜データを作成するのではなく、コード検出音決定部CSで決定された各モードに応じた自動伴奏用のコード検出音に各コードを展開して楽譜表示した「コード譜」を表示するための楽譜データを作成する。具体的には、コード検出音決定部CSは自動演奏データのうちのコード進行データに従って、コード検出(又はコード表示)モード指定部Mからのモード指定情報、及び記憶部K2(ROM2や外部記憶装置10)に記憶されているコード検出ルールやコード検出テーブルなどを参照して、コード名(コード指定情報)に対応させた自動伴奏用のコード検出音を決定する。その際には、指定されている各コード(後述する丸め込みルールやコード検出ルールの適用後を含む)を、コード進行における直前のコードのボイシングに最も近い転回形により選択する。つまり、次に楽譜表示するコードがコード進行順において直前に表示されるコードの押鍵状態に近い押鍵状態となるよう、コード構成音の転回形を決定する。この転回形を決定する処理は、テーブルを利用するなど公知のどのような方法であってもよい。また、後述のスプリットポイント設定部SPによるスプリットポイントの自動設定に応じて決まるコード検出鍵域のうち、右手パートの鍵域になるべく近い位置(つまりスプリットポイントに近い高音側)にある鍵に対応するようにしてコードをシフトするなどによりコード検出音を決定するとよい。楽譜データ作成部Dでは、上記決定されたコード検出音をコード進行順に並べた「コード譜」を表示するための楽譜データを作成する。
上記コード検出音決定部CSでは前記コード検出音を決定する前に、当該装置においてコード検出不可能なコードをコード検出可能なコードに前もって変換しておく。例えば、以下に示すようなコードの丸め込みルールを記憶部K2などに記憶しておき、該コードの丸め込みルールに基づいて当該装置においてコード検出することが不可能な予め決められたタイプのコードを、当該装置においてコード検出することが可能な予め決められたタイプのコードに変換する。
(ルール1)検出不可能なテンションありコードを検出可能なテンションなしコードに変換する。これによると、例えば「C9」を「C」に変換する。
(ルール2)検出不可能なオンベースありのコードを検出可能なオンベースなしのコードに変換する。これによると、例えば「ConG」を「C」に変換する。
(ルール3)検出不可能なコードを検出可能な構成音が同じであるコードに変換する。これによると、例えば「C6」を「Am7」に変換する。
(ルール4)検出不可能なコードを検出可能な構成音が近いコードに変換する。これによると、例えば「Csus4」を「Gm7」に変換する。
(ルール5)検出不可能な付加音ありコードを検出可能な付加音なしコードに変換する。これによると、例えば「Cadd9」を「C」に変換する。
(ルール6)検出不可能なコードを検出可能な同じ機能(トニック、ドミナント、サブドミナント)のコードに変換する。これによると、例えば「CM7」を「Em7」に変換する。
以上のうち、少なくとも1つ以上を丸め込みルールとして採用すればよい。勿論、丸め込みルールは上記したものに限らない。
次に、自動伴奏機能について説明する。ユーザによる演奏操作子4Aの操作に応じてノートオン情報やノートオフ情報などの演奏イベントデータが発せられると、該発せられた演奏イベントデータはスプリットポイント設定部SPを介してコード検出部C又は音源回路7に送られる。スプリットポイント設定部SPは、該送られた演奏イベントデータが予め決められたコード検出鍵域内の鍵操作に応じて発せられたものか否かを判定し、この判定に応じて前記演奏イベントデータをコード検出部C又は音源回路7のいずれかに振り分ける。すなわち、コード検出鍵域内の鍵が操作されたゆえ発生された演奏イベントデータである場合にはコード検出部Cに当該データを送る一方で、コード検出鍵域以外の鍵が操作されたゆえ発生された演奏イベントデータである場合には音源回路7に当該データを送る。こうしたスプリットポイント設定部SPでは、記憶部K1から読み出した右手パート演奏データに基づきスプリットポイントを自動的に設定することによって、予め鍵盤(演奏操作子4A)をコード検出鍵域とそれ以外の鍵域とに分割している。このスプリットポイントの自動設定は、右手パート演奏データ内に定義されている演奏イベントデータに従う全ての音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを曲毎に固定的に決定する場合と、曲進行に応じて所定範囲内にある音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを曲中で変位させながら決定する場合とがある(図5参照)。
コード検出部Cはスプリットポイント設定部SPから演奏イベントデータを受け取ると、コード検出(又はコード表示)モード指定部Mからのモード指定情報、及び記憶部K2(ROM2や外部記憶装置10)に記憶されているコード検出ルールやコード検出テーブル(詳しくは後述する)を参照して、演奏操作子4Aから入力された演奏イベントデータの組み合わせが自動伴奏用のコードに対応するか否かを判定し、自動伴奏用のコードに対応している場合にはコードを検出して、該検出したコードを自動伴奏部Bに送る。自動伴奏部Bは、コード検出部Cで検出されたコードに基づき、該コードを伴奏パターンデータに反映して伴奏用の楽音データを作成する。音源回路7は、自動伴奏部Bから受け取った楽音データ、つまりコード検出鍵域内の鍵が操作されたことに応じて伴奏パターンデータを基に発生される演奏情報に従って楽音を発生する(所謂自動伴奏)。一方で、音源回路7は、スプリットポイント設定部SPから直接受け取った演奏イベントデータ、つまりコード検出鍵域以外の鍵が操作されたことに応じて演奏操作子4Aから発生された演奏情報に基づき楽音を発生する(所謂マニュアル演奏)。すなわち、スプリットポイント設定部SP及びコード検出部Cは、ユーザによりコード検出鍵域において自動伴奏用のコードに対応する複数の鍵が同時に押下された場合に、自動伴奏を実施するよう自動伴奏部Bを制御するものである。
ここで、上記したコード検出音決定部CS又はコード検出部Cにより、コード検出音の決定又はコード検出のために、シングルフィンガーモード時に参照するコード検出ルール、フィンガードモード時に参照するコード検出テーブルについてそれぞれ説明する。
フィンガードモード時に参照するコード検出テーブルは、例えば上記特許文献1に記載された、根音「C」における各和音タイプ別に複数の和音構成音を定義したテーブルなど公知のどのようなものであってよいことから、ここでは説明を省略する。他方、シングルフィンガーモード時に参照するコード検出ルールの一例を示すと、例えば以下のようになる。
(検出ルール1)コードタイプが「メジャー(maj)」である場合には、コードの根音のみをコード検出音とする。演奏操作子4Aから入力された演奏イベントデータが1音のみの場合、当該音を根音とする「メジャー(maj)」コードとコード検出する。
(検出ルール2)コードタイプが「マイナー(m)」である場合には、コードの根音と、それより低音側の黒鍵のいずれかに対応する音とをコード検出音とする。演奏操作子4Aから入力された演奏イベントデータの組み合わせが2音であり、そのどちらか低音側の音が黒鍵のいずれかに対応する音である場合、他方の音を根音とする「マイナー(m)」コードとコード検出する。
(検出ルール3)コードタイプが「メジャーセブンス(7)」である場合には、コードの根音と、それより低音側の白鍵のいずれかに対応する音とをコード検出音とする。演奏操作子4Aから入力された演奏イベントデータの組み合わせが2音であり、そのどちらか低音側の音が白鍵のいずれかに対応する音である場合、他方の音を根音とする「メジャーセブンス(7)」コードとコード検出する。
(検出ルール4)コードタイプが「マイナーセブンス(m7)」である場合には、コードの根音と、それより低音側の白鍵及び黒鍵のいずれかに対応する音とをコード検出音とする。演奏操作子4Aから入力された演奏イベントデータの組み合わせが3音であり、そのうちの低音側の2音が白鍵及び黒鍵のいずれかに対応する音である場合、残りの1音を根音とする「マイナーセブンス(m7)」コードとコード検出する。
このように、コード検出ルールは、各コードの根音に対応する音高に加えて、白鍵のいずれか又は/及び黒鍵のいずれかに対応する音高を根音以外の構成音とは関係なしに決めるための音高組み合わせ情報を、コードのタイプ別に定義したものである。したがって、根音と低音側の0乃至複数の各音高の組み合わせにより各コードのタイプがわかる。すなわち、コードが1音のみで示されている場合には当該コードのタイプが「メジャー(maj)」であること、コードが2音で示されておりそのうちの低音側の音が黒鍵に該当する場合には当該コードのタイプが「マイナー(m)」であること、コードが2音で示されておりそのうちの低音側の音が白鍵に該当すると当該コードのタイプが「メジャーセブンス(7)」であること、コードが3音で示されておりそのうちの低音側の2音が白鍵及び黒鍵に該当する組み合わせである場合には当該コードのタイプが「マイナーセブンス(m7)」であることが分かるようになる。なお、コード検出ルールは上記したものに限らない。
上記のように、シングルフィンガーモードの場合には、コードの根音を示す1つの音高と、該コードのタイプを示す根音以外のコード構成音とは無関係な0乃至複数の音高とをコード検出音として楽譜表示すると共に、前記音高に対応する鍵が操作された場合について該当するコードを検出して自動伴奏を行うように、コード検出ルールを設定する。なお、シングルフィンガーモードの場合には、上述した丸め込みルールのうち、シングルフィンガーモードにおいて検出可能なタイプ(ここではメジャー、マイナー、メジャー7th、マイナー7th)のいずれかに丸め込むようにルール化されている。これにより、シングルフィンガーモードにおいては上記4種類のコード検出ルールにより、当該装置で検出可能なコードについては全て網羅されることになる。なお、複数ルールを組み合わせて適用することで、シングルフィンガーモードで検出可能なコードタイプに丸め込んでもよい。例えば、「C6add9」を付加音なしの「C6」に丸め込んだ後に、さらに該「C6」を同構成音からなる「Am7」に丸め込むなどである。
次に、上記した楽譜表示機能及び自動伴奏機能を実現する「メイン処理」について、図3を用いて説明する。図3は、「メイン処理」の一実施例を示すフローチャートである。この実施例に示す「メイン処理」は、図1に示したCPU1において実行される。以下、図3に示したフローチャートに従って、「メイン処理」について説明する。
ステップS1は、ユーザによるデータ選択スイッチ等の操作に応じて自動演奏データを選択する。ステップS2は、該選択された自動演奏データをRAM3に読み出し一時記憶する。ステップS3は、前記記憶した自動演奏データのうちの右手パート演奏データに基づき右手パートで使用する音域を検出することでスプリットポイントの自動設定を行い、これによりコード検出鍵域を決定し設定する。ステップS4は、前記記憶した自動演奏データのうちコード進行データに基づいてコードを読み出して、該読み出したコードのうちコード検出不可能なコードをコード検出可能なコードに変換する。この際には、上述した丸め込みルールに従って変換する。ステップS5は、コード進行データと、上述したコード検出ルール又はコード検出テーブルとに基づき、前記設定したコード検出鍵域内においてシングルフィンガーモード用及びフィンガードモード用の各コード検出音を決定し、各楽譜データを生成する。すなわち、この実施例では両モードについて予め楽譜データを作成しておくことで、演奏中にモード変更がなされた場合であっても、対応する楽譜に切り替えて表示を続けることができるようにしている。ステップS6は、右手パート演奏データに基づき、右手パート用の楽譜データを生成する。ステップS7は、コード検出(又はコード表示)モードとして「シングルフィンガーモード」又は「フィンガードモード」のいずれかを指定する。ステップS8は、前記指定されたモードに応じた楽譜をディスプレイ6Aに表示する。
ステップS9は、自動伴奏及び楽譜表示のスタートが指示されるまで処理を待機する。自動伴奏及び楽譜表示をスタートするようユーザにより指示されていた場合には(ステップS9のYES)、ユーザによる押鍵操作を検出したか否かを判定する(ステップS10)。ユーザによる押鍵操作を検出した場合には(ステップS10のYES)、該押鍵操作された鍵が前記設定されたコード検出鍵域内の鍵であるか否かを判定する(ステップS11)。該押鍵操作された鍵が前記設定されたコード検出鍵域内の鍵でないと判定した場合には(ステップS11のNO)、押鍵された鍵に基づく楽音を発音する(ステップS16)。すなわち、自動伴奏ではなく、該押鍵された鍵に予め割り当てられている音高での楽音を発生するマニュアル演奏が行われる。一方、押鍵操作された鍵が前記設定されたコード検出鍵域内の鍵であると判定した場合には(ステップS11のYES)、前記設定済みのコード検出モードと、コード検出ルール又はコード検出テーブルとに基づいてコードの検出を行う(ステップS12)。ステップS13は、自動伴奏パターンを順次に読み出し、前記検出されたコードに基づいて音高変換を行い、自動伴奏音を発音する。ステップS14は、モードに応じた楽譜データを演奏進行に対応した所定の範囲毎に順次に読み出し、楽譜表示を更新する。ステップS15は、ユーザによる自動伴奏のストップ操作がなされたか否か、あるいは曲(自動演奏データ)が最後まで終了したか否かを判定する。ユーザによる自動伴奏のストップ操作がなされた、あるいは曲が最後まで終了したと判定した場合には(ステップS15)、当該処理を終了する。ユーザによる自動伴奏のストップ操作がなされていない、あるいは曲が最後まで終了していないと判定した場合には(ステップS15のNO)、上記ステップS9の処理に戻って、上記ステップS9〜ステップS15までの処理を繰り返し実行する。
次に、モード別の楽譜表示について、図4を用いて説明する。図4は、「楽譜表示画面」の一実施例を示す概念図である。図4(a)はシングルフィンガーモード選択時における楽譜表示例を示し、図4(b)はフィンガードモード選択時における楽譜表示例を示す。ただし、ここでは、「メロディ譜」及び「コード譜」の2段構成からなる五線譜について、2小節分だけ図示している。また、コード譜においては説明の便宜上、各音符記号に対応する音名を示した。
図4から理解できるように、図示した楽譜表示例は2段構成になっており、そのうちの1段目の五線譜には、右手パート演奏データに基づいて右手パートに関する音符記号Oからなる楽譜RS(メロディ譜)を表示する。また、この1段目の五線譜の上方には、コード進行データに応じてコードCD(ここではコード名「C9」と「C6」とを例示)を表示する。これに対して、2段目の五線譜には、前記コード名に対応する自動伴奏用のコード入力情報として、モードに応じて決定されるコード検出音の1乃至複数の音符記号OCからなる楽譜LC(つまりコード譜)を各コード毎に表示する。例えばコード「C9」「C6」が共に当該装置において検出不可能なコードである場合、コード「C9」は上述した丸め込みルールの「ルール1」に従って検出可能なコード「C」に変換され、コード「C6」は「ルール3」に従って検出可能なコード「Am7」に変換される。
シングルフィンガーモード選択時においては、上記コード変換後にさらに上述したコード検出ルールに従ってコード検出音が決定される。図4(a)左に示すように、丸め込み変換後の「C」(Cメジャーコード)については「検出ルール1」に従って根音のみにコード検出音が決定され、根音に対応する音高のみが音符表示される。つまり、コード「C」の構成音である低音側から順に音名「C,E,G」に対応する音符のうち、根音である音名「C」に対応する音符のみを表示する。また、図4(a)右に示すように、丸め込み変換後の「Am7」(Aマイナー7thコード)については「検出ルール4」に従って根音とそれより低音側の白鍵と黒鍵に対応する音高にコード検出音が決定され、それらに対応する全ての音高について音符表示される。つまり、コード「Am7」の根音である音名「A」とそれより低音側の白鍵(音名「D」)と黒鍵(音名「F♯」)に対応する音符が表示される。上記コード検出ルールに従って根音より低音側の白鍵や黒鍵に対応する音高を選ぶ際には、ユーザに対して見易くまた押鍵し易い音高のものを選ぶのがよく、例えば、図示のように互いの音程が3〜4度離れている音高を選ぶようにしておくとよい。
一方、フィンガードモード選択時においては、上記コード変換後に公知のコード検出テーブルに従ってコード検出音が決定される。図4(b)左に示すように、丸め込み変換された場合には、該丸め込み変換後の「C」(Cメジャーコード)について、コード「C」の構成音である低音側から順に音名「C,E,G」に対応する音符を表示する。なお、図4(b)右に示すように、コード「C6」が当該装置で検出可能なコードであり丸め込み変換されなかった場合には、コード進行データに定義されている本来のコード「C6」の構成音である低音側から順に音名「C,E,G、A」にそれぞれ対応する音符をそのまま表示する。
以上のように、ユーザによるシングルフィンガーモードの選択に応じてコード入力情報が簡略化された上で、コード譜(2段目の五線譜)上に該簡略化されたコード入力情報に対応した音符記号OCを表示するようにしたことから、演奏技術が未熟でありコード構成音に対応する鍵を同時に押下できないようなユーザであっても、表示されている音符記号OCに従って該当する鍵を操作するといった比較的に簡単な操作を行うだけで自動伴奏を行うことができるようになる。また、メロディ譜(1段目の五線譜)上に表示されたコード進行データに定義されている本来のコードが当該装置で未対応である場合であっても、当該装置で対応するコードに変換した上でコード譜(2段目の五線譜)上にコード入力情報として音符記号OCにより表示するようにしたことから、ユーザはどの装置においても自動伴奏を使った演奏を容易に行うことができるようになる。さらに、ユーザはコード毎に1乃至複数の音高に展開された楽譜表示を見るだけで、各コードのタイプについて容易に理解することができる。
次に、スプリットポイントの自動設定によるコード検出鍵域の決定について、図5を用いて説明する。図5は、スプリットポイントの自動設定を説明するための概念図である。
図5(a)は、スプリットポイントの自動設定として、右手パート演奏データ内に定義されている全ての音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを決定する場合を示す。この場合には、1曲を通してスプリットポイントPは所定の位置に固定されることになり、それに従い鍵盤4A上におけるコード検出鍵域LKと右手演奏鍵域RKの各範囲も固定される。そして、該固定されたコード検出鍵域LK内においてコード検出音の決定やコード検出などが行われる。
一方、図5(b)は、曲進行に応じて所定範囲内にある音符のうちで最も音高の低い音符より低音側の鍵域をコード検出鍵域とするようスプリットポイントを決定する場合を示す。この場合には、曲進行に応じてスプリットポイントPが可変されることになり、それに従い鍵盤4A上におけるコード検出鍵域LKと右手演奏鍵域RKの各範囲が可変する。図中において「1」を記した第1の曲範囲では、スプリットポイントPがY位置に決定され、コード検出鍵域LK及び右手演奏の鍵域RKとがそれぞれ図示のような範囲に決定される。曲進行に応じて図中において「2」を記した第2の曲範囲では、スプリットポイントPが前記Y位置よりも右であるZ位置に決定されており、それに従いコード検出鍵域LKが拡大される一方で、右手演奏の鍵域RKがコード検出鍵域LKが拡大された分だけ全体がずれた範囲に設定される。さらに曲が進行して図中において「3」を記した第3の曲範囲では、スプリットポイントPが前記Z位置(及びY位置)よりも鍵盤の左端に近いX位置に決定されており、それに応じてコード検出鍵域LK及び右手演奏の鍵域RKがそれぞれ決定される。上述したように、コード検出音の決定の際には、次に提示すべきコード構成音がユーザによる現在の押鍵状態に近い押鍵状態となるようコード構成音の転回形を決定するが、曲進行に応じて可変されたスプリットポイントPを参照することで、コード検出鍵域LKの範囲が大きく変更されたとしても押鍵操作に影響のないようなコードに決定する。
なお、ディスプレイ6Aに表示する楽譜の表示形態は上記した2段構成のものに限らない。楽譜の表示形態は、ディスプレイ6Aの大きさ(サイズ)に従って決定するようにしてよい。また、ディスプレイ6Aの大きさ(サイズ)はユーザの操作などにより設定変更可能であってもよいし、固定であってもよい。
なお、上述した実施例では右手演奏の鍵域RKを一定の範囲を保つようにしたものを示したがこれに限らず、スプリットポイントPから鍵盤の右端までの全ての領域を右手演奏の鍵域RKとし、スプリットポイントPの位置変更に応じてコード検出鍵域LKと共にその範囲を可変としてもよい。
なお、楽譜データは五線譜や音楽記号を含む画像データ、あるいは五線譜以外の音楽記号イベントや音符イベントなどの表示位置等を指示する指示データ、などの公知のどのようなものであってもよい。
なお、楽譜の表示は上記実施例に示したようにディスプレイ6A上に画面表示するものに限らず、紙等の媒体に印刷するなどして表示するようにしたものであってもよい。
なお、コード検出方式としてはシングルフィンガー方式とフィンガード方式の双方を含むものに限らず、どちらか一方の方式を含んでいればよい。また、上記方式に限らず、これら以外の他のコード検出方式をさらに具えていてもよい。
なお、鍵盤のうちスプリットポイントで分割される低音側全ての鍵をコード検出鍵域としたがこれに限らず、低音側の鍵の一部のみをコード検出鍵域としてもよい。そうした場合、コード検出鍵域の範囲とする一部の鍵をユーザが適宜に設定できるようにしてもよいし、スプリットポイントから低音側の所定範囲内にある鍵とするようにしてもよい。
この発明に係るコード表示装置を適用した電子鍵盤楽器の全体構成を示したハード構成ブロック図である。 楽譜表示機能及び自動伴奏機能を説明するための機能ブロック図である。 メイン処理の一実施例を示すフローチャートである。 楽譜表示画面の一実施例を示す概念図である。図4(a)はシングルフィンガーモード選択時における楽譜表示例を示し、図4(b)はフィンガードモード選択時における楽譜表示例を示す。 スプリットポイントの自動設定を説明するための概念図であり、図5(a)は1曲を通してスプリットポイントが固定される場合、図5(b)は曲進行に応じてスプリットポイントが可変される場合を示す。
符号の説明
1…CPU、2…ROM、3…RAM、4,5…検出回路、4A…演奏操作子、5A…設定操作子、6…表示回路、6A…ディスプレイ、7…音源回路、8…効果回路、9…サウンドシステム、10…外部記憶装置、11…MIDIインタフェース、11A…MIDI機器、12…通信インタフェース、12A…サーバコンピュータ、1D…通信バス、N…通信ネットワーク、K1…データ記憶部、K2…記憶部、CS…コード検出音決定部、M…コード検出(又はコード表示)モード指定部、C…コード検出部、SP…スプリットポイント設定部、B…自動伴奏部、D…楽譜データ作成部

Claims (3)

  1. 自動伴奏実行のために演奏者が入力すべきコードを表示するコード表示装置であって、
    楽曲のコード進行を示すコード進行情報を取得する取得手段と、
    前記コード進行情報に基づくコードがユーザ操作に応じて取得される1乃至複数の音高情報によりコード検出不可能な予め決められたタイプのコードである場合に、前記取得される1乃至複数の音高情報によりコード検出可能な予め決められたタイプのコードに変換するコード変換手段と、
    前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する1の音高を決定すると共に、該コードのタイプを指定するための予め決められた1又は複数の音高組み合わせ情報に従って、該コードのタイプを指定する0乃至複数の音高を決定するか、あるいは、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する1の音高を決定すると共に、各コードの構成に応じて決まる前記根音以外の複数の音高を決定する決定手段と、
    前記決定手段により決定された1乃至複数の音高を自動伴奏実行のために演奏者が入力すべきコードとして前記コード進行順に楽譜表示する表示手段と
    を具えるコード表示装置。
  2. 前記1乃至複数の音高の楽譜表示に伴うユーザの操作により入力された1乃至複数の音高情報を取得する音高情報取得手段と、前記取得した1乃至複数の音高情報に基づきコードを検出し、該検出したコードに従って自動伴奏を行う伴奏手段とをさらに具えてなり、前記コード進行情報に基づくコードがコード検出不可能なタイプのコードであっても、コード検出可能なタイプのコードによって自動伴奏を行うことを特徴とする請求項1に記載のコード表示装置。
  3. コンピュータに、
    楽曲のコード進行を示すコード進行情報を取得する手順と、
    前記コード進行情報に基づくコードがユーザ操作に応じて取得される1乃至複数の音高情報によりコード検出不可能な予め決められたタイプのコードである場合に、前記取得される1乃至複数の音高情報によりコード検出可能な予め決められたタイプのコードに変換する手順と、
    前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する1の音高を決定すると共に、該コードのタイプを指定するための予め決められた1又は複数の音高組み合わせ情報に従って、該コードのタイプを指定する0乃至複数の音高を決定するか、あるいは、前記取得したコード進行情報に基づくコード又は前記変換後のコードにつき、各コードの根音に対応する1の音高を決定すると共に、各コードの構成に応じて決まる前記根音以外の複数の音高を決定する手順と、
    前記決定された1乃至複数の音高を自動伴奏実行のために演奏者が入力すべきコードとして前記コード進行順に楽譜表示する手順と
    を実行させるためのプログラム。
JP2006058702A 2006-03-03 2006-03-03 コード表示装置及びプログラム Expired - Fee Related JP4470895B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006058702A JP4470895B2 (ja) 2006-03-03 2006-03-03 コード表示装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006058702A JP4470895B2 (ja) 2006-03-03 2006-03-03 コード表示装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2007240557A JP2007240557A (ja) 2007-09-20
JP4470895B2 true JP4470895B2 (ja) 2010-06-02

Family

ID=38586211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006058702A Expired - Fee Related JP4470895B2 (ja) 2006-03-03 2006-03-03 コード表示装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4470895B2 (ja)

Also Published As

Publication number Publication date
JP2007240557A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
US7288711B2 (en) Chord presenting apparatus and storage device storing a chord presenting computer program
JP2004334051A (ja) 楽譜表示装置および楽譜表示コンピュータプログラム
JP4670686B2 (ja) コード表示装置及びプログラム
JP2008089975A (ja) 電子楽器
JP3815249B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP5061926B2 (ja) 電子音楽装置及び演奏データ編集表示プログラム
JP4470895B2 (ja) コード表示装置及びプログラム
JP4548365B2 (ja) 楽譜表示装置及びプログラム
JP4821505B2 (ja) 電子鍵盤楽器、及びそれに用いるプログラム
JP5125374B2 (ja) 電子音楽装置及びプログラム
JP4853054B2 (ja) 演奏データ編集装置及びプログラム
JP3632487B2 (ja) 電子楽器等における和音検出装置
JP4244504B2 (ja) 演奏制御装置
JP3873880B2 (ja) 演奏補助装置および演奏補助用プログラム
JP3736512B2 (ja) 楽音データ表示装置及びプログラム
JP4735969B2 (ja) 伴奏表示装置及びプログラム
JP4624879B2 (ja) 楽音情報発生プログラムおよび楽音情報発生装置
JP4900233B2 (ja) 自動演奏装置
JP5104293B2 (ja) 自動演奏装置
JP4182889B2 (ja) コード構成音高決定装置及びプログラム
JP3933154B2 (ja) 電子楽器
JPH1078779A (ja) 自動演奏装置、自動演奏方法及び記録媒体
JP5104415B2 (ja) 自動演奏装置及びプログラム
JP2006195045A (ja) 音名決定装置およびコンピュータ読み取り可能な音名決定プログラム
JP2004101707A (ja) 楽譜表示データを記憶した記憶媒体、その楽譜表示データを用いた楽譜表示装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4470895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees