(57)【要約】【課題】コード（和音）の一部の構成音の音名が不明な場合に、前記不明な構成音の音名を推定することにより、コードを決定可能なコード決定装置を提供する。【解決手段】電子楽器１０は、各種コードの構成音の組み合わせをそれぞれ表す複数のコード情報を記憶している。電子楽器１０は、現在の演奏進行位置の直前の演奏区間内に取得した音高情報とコード情報を比較して、最も適合度の大きいコード情報に基づいて、現在の演奏進行位置の直後の演奏区間のコードを構成する構成音のうちの少なくとも根音を含む複数の構成音の音名を決定する。また、電子楽器１０は、現在の演奏進行位置よりも前の演奏区間において発音された楽音の種類の分布を表す分布情報ＤＢを生成する。電子楽器１０は、前記根音が決定していて且つ前記第３音及び第５音の音名のうちのいずれか一方が未決定であるとき、前記決定した構成音及び分布情報ＤＢに基づいて前記未決定の構成音の音名を推定して前記コードを決定する。【選択図】図４
2016057389.tif 000002
【特許請求の範囲】
【請求項１】
楽音の音高を表す音高情報を順次取得する音高情報取得手段と、
前記取得した音高情報を記憶する音高情報記憶手段と、
各種コードの構成音の組み合わせをそれぞれ表す複数のコード情報を記憶したコード情報記憶手段と、
現在の演奏進行位置の直前の演奏区間内において取得した前記音高情報と前記コード情報を比較して、最も適合度の大きいコード情報に基づいて、現在の演奏進行位置の直後の演奏区間のコードを構成する構成音のうちの少なくとも根音を含む複数の構成音の音名を決定する構成音決定手段と、
前記現在の演奏進行位置よりも前の演奏区間において発音された楽音の種類の分布を表す分布情報を生成する分布情報生成手段と、
前記コードの根音、第３音及び第５音の音名が決定しているとき、前記決定した構成音に基づいて前記コードを決定し、前記根音が決定していて且つ前記第３音及び第５音の音名のうちのいずれか一方が未決定であるとき、前記構成音決定手段によって決定した構成音及び前記分布情報に基づいて前記未決定の構成音の音名を推定して前記コードを決定するコード決定手段、を備えたコード決定装置。
【請求項２】
請求項１に記載のコード決定装置において、
前記分布情報生成手段は、前記現在の演奏進行位置よりも前の区間において発音された楽音の発音回数を各楽音の音名ごとにカウントして、前記音名ごとのカウント値を前記分布情報として出力し、
前記コード決定手段は、前記未決定である構成音の音名であって、前記分布情報におけるカウント値が所定の閾値を超えている音名をコードの構成音の音名と推定する、コード決定装置。
【請求項３】
請求項２に記載のコード決定装置において、
前記コード決定手段は、前記未決定である構成音の音名の候補であって、互いの音程が短２度である複数の音名の候補の、前記現在の演奏進行位置よりも前の区間における出現状況に基づいて、前記構成音の候補のうちの１つをコードの構成音の音名と推定する、コード決定装置。
【請求項４】
請求項３に記載のコード決定装置において、
前記コード決定手段は、前記第５音が未決定である場合であって、前記構成音決定手段によって決定した前記根音とその他の構成音との間の音程が完全４度とは異なり、前記分布情報における前記根音との間の音程が完全５度である音名のカウント値が所定の閾値を超えており、前記分布情報における前記根音との間の音程が減５度である音名のカウント値が「０」であって、且つ前記現在の演奏進行位置の直前の演奏区間内において発音された各楽音と前記根音との間の音程が長６度及び短６度とは異なる場合に、前記根音との間の音程が完全５度である音名を前記第５音の音名と推定する、コード決定装置。
【請求項５】
コードを決定するコード決定装置に適用されるコンピュータプログラムであって、前記コード決定装置が備えるコンピュータを、
楽音の音高を表す音高情報を順次取得する音高情報取得手段と、
前記取得した音高情報を記憶する音高情報記憶手段と、
各種コードの構成音の組み合わせをそれぞれ表す複数のコード情報を記憶したコード情報記憶手段と、
現在の演奏進行位置の直前の演奏区間内において取得した前記音高情報と前記コード情報を比較して、最も適合度の大きいコード情報に基づいて、現在の演奏進行位置の直後の演奏区間のコードを構成する構成音のうちの少なくとも根音を含む複数の構成音の音名を決定する構成音決定手段と、
前記現在の演奏進行位置よりも前の演奏区間において発音された楽音の種類の分布を表す分布情報を出力する分布情報生成手段と、
前記コードの根音、第３音及び第５音の音名が決定しているとき、前記決定した構成音に基づいて前記コードを決定し、前記根音が決定していて且つ前記第３音及び第５音の音名のうちのいずれか一方が未決定であるとき、前記構成音決定手段によって決定した構成音及び前記分布情報に基づいて前記未決定の構成音の音名を推定して前記コードを決定するコード決定手段、として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音高を表す音高情報を取得して、前記取得した音高情報に基づいてコードを決定するコード決定装置及びコード決定プログラムに関する。
【背景技術】
【０００２】
従来から、例えば、下記特許文献１及び２、並びに非特許文献１に記載されているように、自動伴奏機能を備えた電子楽器は知られている。これらの電子楽器は、複数種類の伴奏パターンをそれぞれ表す複数の伴奏パターンデータを記憶している。演奏者が１つの伴奏パターンデータを選択し、鍵盤装置を用いて演奏すると、電子楽器の制御部は、直前の演奏区間において発音した楽音の音高情報（ノートナンバ）を用いて、次の演奏区間のコードを決定する。そして、電子楽器の制御部は、前記決定したコードに適合するように伴奏パターンデータを修正して伴奏パターンを再生する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許２６２９５６４号公報
【特許文献２】特許２６１６２５８号公報
【非特許文献】
【０００４】
【非特許文献１】ヤマハ株式会社、「ＹＡＭＡＨＡ  Ｃｌａｖｉｎｏｖａ  ＣＶＰ−６０９／ＣＶＰ−６０５  取扱説明書」、２０１４年２月、ｐ．４５‐５３
【発明の概要】
【０００５】
上記非特許文献１の電子楽器の自動伴奏機能によれば、コードの根音と第５音のみが決定された場合（つまり、第３音が決定されなかった場合）、伴奏パターンデータのうちの第３音を根音又は第５音に修正して伴奏パターンを再生する。したがって、根音、第３音及び第５音が決定された場合に比べて、再生される伴奏パターンが単調になる可能性がある。
【０００６】
また、非特許文献１の電子楽器は、決定したコードの名称を画面に表示する機能を有している。楽曲によっては、あるコードを想定してはいるが、そのコードの一部の構成音（例えば根音と第５音）のみを使用するフレーズ（楽譜）が存在する。この場合、非特許文献１の電子楽器は、コードの一部の構成音（例えば第３音）が不明であるため、コードを決定できないが、決定できた一部の構成音の音名を表す情報を画面に表示する。例えば、根音と第５音のみを決定でき、前記根音の音名が「Ｃ」である場合、「Ｃ１＋５」と表示する。しかし、このような標記は、コードの名称としては一般的には使用されていない。
【０００７】
また、演奏者は、意図したコードが決定されるように、適切なタイミングで押鍵する必要がある。このように操作することは、初心者又はコードに関する知識に乏しい演奏者にとっては難しい。
【０００８】
本発明は上記問題に対処するためになされたもので、その目的は、コード（和音）の一部の構成音の音名が不明な場合に、前記不明な構成音の音名を推定することにより、コードを決定可能なコード決定装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
【０００９】
上記目的を達成するために、本発明の特徴は、楽音の音高を表す音高情報を順次取得する音高情報取得手段（Ｓ１３）と、前記取得した音高情報を記憶する音高情報記憶手段（ＢＦ、Ｓ１４）と、各種コードの構成音の組み合わせをそれぞれ表す複数のコード情報を記憶したコード情報記憶手段（１２ｂ）と、現在の演奏進行位置の直前の演奏区間（ＳＣ１）内において取得した前記音高情報と前記コード情報を比較して、最も適合度の大きいコード情報に基づいて、現在の演奏進行位置の直後の演奏区間（ＳＣ２）のコードを構成する構成音のうちの少なくとも根音を含む複数の構成音の音名を決定する構成音決定手段（Ｓ１９）と、前記現在の演奏進行位置よりも前の演奏区間において発音された楽音の種類の分布を表す分布情報（ＤＢ）を生成する分布情報生成手段（Ｓ１７）と、前記コードの根音、第３音及び第５音の音名が決定しているとき、前記決定した構成音に基づいて前記コードを決定し、前記根音が決定していて且つ前記第３音及び第５音の音名のうちのいずれか一方が未決定であるとき、前記構成音決定手段によって決定した構成音及び前記分布情報に基づいて前記未決定の構成音の音名を推定して前記コードを決定するコード決定手段（Ｓ２３、Ｓ２４）、を備えたコード決定装置としたことにある。
【００１０】
この場合、前記分布情報生成手段は、前記現在の演奏進行位置よりも前の区間において発音された楽音の発音回数を各楽音の音名ごとにカウントして、前記音名ごとのカウント値を前記分布情報として出力し、前記コード決定手段は、前記未決定である構成音の音名であって、前記分布情報におけるカウント値が所定の閾値を超えている音名をコードの構成音の音名と推定する、コード決定装置とするとよい。
【００１１】
また、この場合、前記コード決定手段は、前記未決定である構成音の音名の候補であって、互いの音程が短２度である複数の音名の候補の、前記現在の演奏進行位置よりも前の区間における出現状況に基づいて、前記構成音の候補のうちの１つをコードの構成音の音名と推定する、コード決定装置とするとよい。
【００１２】
また、この場合、前記分布情報生成手段は、前記現在の演奏進行位置よりも前の区間において発音された楽音の発音回数を各楽音の音名ごとにカウントして、前記音名毎のカウント値を前記分布情報として出力し、前記コード決定手段は、前記第５音が未決定である場合であって、前記構成音決定手段によって決定した前記根音とその他の構成音との間の音程が完全４度とは異なり、前記分布情報における前記根音との間の音程が完全５度である音名のカウント値が所定の閾値を超えており、前記分布情報における前記根音との間の音程が減５度である音名のカウント値が「０」であって、且つ前記現在の演奏進行位置の直前の演奏区間内において発音された各楽音と前記根音との間の音程が長６度及び短６度とは異なる場合に、前記根音との間の音程が完全５度である音名を前記第５音の音名と推定する、コード決定装置としてもよい。
【００１３】
上記のように構成したコード決定装置によれば、第３音及び第５音のいずれか一方の音名が不明であっても、分布情報を用いて、前記不明な構成音の音名を推定することができる。したがって、再生される伴奏パターンが単調になることを抑制できる。また、決定したコード又はコードの構成音の音名を画面に表示する場合には、コードの一部の構成音の音名のみが表示される演奏区間の数を削減できる。また、演奏者は、各演奏区間においてコードの全ての構成音が含まれるように注意しながら演奏する必要が無い。したがって、初心者又はコードに関する知識が乏しい演奏者であっても、自動伴奏機能を利用して演奏を楽しむことができる。
【００１４】
なお、本発明は、コード決定装置としての実施に限られず、コード決定装置が備えるコンピュータに適用されるコンピュータプログラム（コード決定プログラム）としても実施可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るコード決定装置が適用された電子楽器の構成を示すブロック図である。
【図２】図１の電子楽器の機能ブロック図である。
【図３Ａ】コード決定プログラムの前半部分を示すフローチャートである。
【図３Ｂ】コード決定プログラムの後半部分を示すフローチャートである。
【図４】各演奏区間及び分布情報の一例を示す概念図である。
【図５】カウンタの構成を示す概念図である。
【発明を実施するための形態】
【００１６】
本発明の一実施形態に係る電子楽器１０について説明する。まず、電子楽器１０の概略について説明する。電子楽器１０は、複数種類の伴奏パターンをそれぞれ表す複数の伴奏パターンデータを記憶している。演奏者が１つの伴奏パターンを選択し、鍵盤装置を用いて演奏すると、電子楽器１０は、次の演奏区間のコードを決定する。前記次の演奏区間とは、現在の演奏進行位置の直後の区間である。その長さは、伴奏パターンの（ユーザーが設定した）再生テンポにおける半拍分の長さに相当する。例えば、伴奏パターンの（ユーザーが設定した）再生テンポが１２０ＢＰＭである場合、前記次の演奏区間の長さは、２５０ｍｓｅｃである。コードの一部の構成音（例えば、第３音又は第５音）の音名が不明であるためにコードを決定できなかった場合、電子楽器１０は、前記不明な構成音の音名を推定してコードを決定可能である。そして、電子楽器１０は、前記決定したコードに適合するように伴奏パターンデータを修正して、伴奏パターンを再生する。
【００１７】
つぎに、電子楽器１０の具体的構成について説明する。電子楽器１０は、図１に示すように、入力操作子１１、コンピュータ部１２、表示器１３、記憶装置１４、外部インターフェース回路１５、音源回路１６及びサウンドシステム１７を備えており、これらがバスＢＵＳを介して接続されている。
【００１８】
入力操作子１１は、オン・オフ操作に対応したスイッチ、回転操作に対応したボリューム又はロータリーエンコーダ、スライド操作に対応したボリューム又はリニアエンコーダ、マウス、タッチパネルなどから構成される。さらに、入力操作子１１には、楽曲を演奏する際に使用される鍵盤装置も含まれる。また、入力操作子１１には、ペダル操作子（ダンパーペダル）も含まれる。入力操作子１１は、各種パラメータを設定する際、楽曲を演奏する際などに用いられる。例えば、複数の伴奏パターンデータのうちの１つを選択する際、前記選択した伴奏パターンの再生テンポを設定する際、自動伴奏の開始・停止を指示する際などに用いられる。演奏者が入力操作子１１を操作すると、その操作内容を表す操作情報がバスＢＵＳを介して、後述するコンピュータ部１２に供給される。例えば、演奏者が鍵盤装置の鍵を押下すると、その鍵の鍵音高を表す音高情報がコンピュータ部１２に供給される。
【００１９】
コンピュータ部１２は、バスＢＵＳにそれぞれ接続されたＣＰＵ１２ａ、ＲＯＭ１２ｂ、ＲＡＭ１２ｃ及びタイマー１２ｄを有する。ＣＰＵ１２ａは、各種プログラムをＲＯＭ１２ｂから読み出して実行する。例えば、ＣＰＵ１２ａが所定のプログラムを実行することにより、図２に示すように、電子楽器１０は、自動伴奏装置ＡＡとして機能する。自動伴奏装置ＡＡは、次の演奏区間のコードを決定するコード決定部ＣＤと、前記決定したコードに適合するように伴奏パターンデータを修正して伴奏パターンを再生する伴奏パターン再生部ＰＲとからなる。すなわち、ＣＰＵ１２ａが所定のプログラムを実行することにより、電子楽器１０は、コード決定部ＣＤ及び伴奏パターン再生部ＰＲとして機能する。ＲＯＭ１２ｂには、前記各種プログラムに加えて、初期設定パラメータ、表示器１３に表示される画像を表わす表示データを生成するための図形データ、文字データなどが記憶されている。また、ＲＯＭ１２ｂには、各種コードの構成音の音名の組み合わせをそれぞれ表す複数のコード情報が記憶されている。ＲＡＭ１２ｃには、各種プログラムの実行時に、各種データが一時的に記憶される。タイマー１２ｄは、自動伴奏の開始時にカウントを開始する。そのカウント値は、現在の演奏進行位置を表す。
【００２０】
表示器１３は、液晶ディスプレイ（ＬＣＤ）によって構成される。コンピュータ部１２は、図形データ、文字データなどを用いて表示すべき内容を表わす表示データを生成して表示器１３に供給する。表示器１３は、コンピュータ部１２から供給された表示データに基づいて画像を表示する。例えば、自動伴奏機能を用いて演奏している際に、現在の演奏進行位置におけるコードの名称、コードの構成音の音名などが表示される。
【００２１】
また、記憶装置１４は、ＨＤＤ、ＤＶＤなどの大容量の不揮発性記録媒体と、各記録媒体に対応するドライブユニットから構成されている。
【００２２】
外部インターフェース回路１５は、電子楽器１０を他の電子楽器、パーソナルコンピュータなどの外部機器に接続可能とする接続端子を備えている。電子楽器１０は、外部インターフェース回路１５を介して、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどの通信ネットワークにも接続可能である。
【００２３】
波形メモリＷＭには、ピアノ、オルガン、バイオリン、トランペットなどの楽音の音響波形をそれぞれ表す複数の音色波形データが記憶されている。音源回路１６は、ＣＰＵ１２ａによって指定された音色波形データを波形メモリＷＭから読み出して、ディジタル音信号を生成し、サウンドシステム１７に供給する。
【００２４】
サウンドシステム１７は、ディジタル音信号をアナログ音信号に変換するＤ／Ａ変換器、前記変換したアナログ音信号を増幅するアンプ、及び増幅されたアナログ音信号を音響信号に変換して出力する左右一対のスピーカを備えている。なお、サウンドシステム１７は、各種楽音にリバーブ、コーラスなどの効果を付与する効果回路を含んでもよい。
【００２５】
つぎに、コード決定部ＣＤの動作について説明する。演奏者が１つの伴奏パターンを選択するとともにその再生テンポを設定し、伴奏パターンの再生を開始させると、ＣＰＵ１２ａは、図３Ａ及び図３Ｂに示す、コード決定プログラムをＲＯＭ１２ｂから読み出して実行する。これにより、コンピュータ部１２は、コード決定部ＣＤとして機能する。また、ＣＰＵ１２ａは、上記のコード決定プログラムと並行して、図示しない伴奏パターン再生プログラムをＲＯＭ１２ｂから読み出して実行する。これにより、コンピュータ部１２及び音源回路１６は、伴奏パターン再生部ＰＲとして機能する。以下、コード決定部ＣＤの動作について説明する。
【００２６】
コード決定部ＣＤは、ステップＳ１０にて、コード決定処理を開始する。つぎに、コード決定部ＣＤは、ステップＳ１１にて、初期化処理を実行する。例えば、コード決定部ＣＤは、鍵盤装置から供給された音高情報（「Ｃ３」、「Ｄ＃３」、「Ｂ４」など）を記憶するバッファＢＦをＲＡＭ１２ｃ内に確保する。また、例えば、バッファＢＦ内の１つのアドレスを指し示す書き込みポインタの値をバッファＢＦの先頭アドレスに設定する。つぎに、コード決定部ＣＤは、ステップＳ１２にて、タイマー１２ｄをスタートさせる。つぎに、コード決定部ＣＤは、ステップＳ１３にて、鍵盤装置から音高情報が供給されているか否かを判定する。音高情報が供給されている場合には、コード決定部ＣＤは、「Ｙｅｓ」と判定して、ステップＳ１４にて、前記音高情報をバッファＢＦに記憶させる。具体的には書き込みポインタが指し示すアドレスに前記音高情報を書き込み、書き込みポインタをインクリメントする。そして、コード決定部ＣＤは、ステップＳ１５に処理を進める。後述するように、ステップＳ１３及びＳ１４を含む一連の処理が繰り返し実行されるので、鍵盤装置からコード決定部ＣＤに順次供給された音高情報は、バッファＢＦ内に、それらが供給された順に記憶される。一方、鍵盤装置から音高情報が供給されていない場合には、コード決定部ＣＤは、「Ｎｏ」と判定して、ステップＳ１５に処理を進める。
【００２７】
つぎに、コード決定部ＣＤは、ステップＳ１５にて、タイマー１２ｄのカウント値を用いて、現在の演奏進行位置が小節線上にあるか否か（各小節の一拍目の拍頭に相当するか否か）を判定する。例えば、自動伴奏のテンポが１２０ＢＰＭに設定され、選択された伴奏スタイルが４分の４拍子である場合、１小節の長さは２秒である。したがって、この場合、タイマー１２ｄの値が２×ｎ秒（ｎは自然数）に一致するとき、コード決定部ＣＤは、現在の演奏進行位置が小節線上にあると判定する。現在の演奏進行位置が小節線上にあるとき、コード決定部ＣＤは、「Ｙｅｓ」と判定して、ステップＳ１６にて、小節線を表す小節線情報Ｂｎ（図４参照）を、書き込みポインタが指し示すアドレスに書き込み、書き込みポインタをインクリメントする。小節線情報Ｂｎの添字である「ｎ」は、演奏の先頭から数えた小節線数を表している。つぎに、コード決定部ＣＤは、ステップＳ１７にて、以下説明する分布情報ＤＢを生成して記憶する。具体的には、コード決定部ＣＤは、今回書き込んだ小節線情報Ｂｎと、以前に書き込んだ小節線情報Ｂｎ−２との間に書き込まれている音高情報を選択する。そして、前記選択した音高情報の個数を音名ごとにカウントして、分布情報ＤＢとして記憶する。このようにして生成された分布情報ＤＢは、現在の演奏進行位置が含まれる小節の直前の２小節の区間において発音された楽音の音名の分布を表す。なお、演奏を開始した直後の２小節（つまり先頭の２小節）の区間においては、分布情報ＤＢの全ての音名のカウント値が「０」に設定されている。
【００２８】
一方、前記ステップＳ１５において、現在の演奏進行位置が小節線とは異なる位置にあるとき、コード決定部ＣＤは、「Ｎｏ」と判定して、ステップＳ１８に処理を進める。
【００２９】
つぎに、コード決定部ＣＤは、ステップＳ１８にて、現在の演奏進行位置が表拍又は裏拍に位置するか否かを判定する。現在の演奏進行位置が表拍又は裏拍に位置する場合、コード決定部ＣＤは「Ｙｅｓ」と判定して、ステップＳ１９に処理を進める。コード決定部ＣＤは、ステップＳ１９にて、現在の演奏進行位置の直前の演奏区間ＳＣ１（現在の演奏進行位置から半拍分の長さだけ遡った位置までの区間）において発音された楽音の音名（つまり、演奏区間ＳＣ１において取得した音高情報）に基づいて、次の演奏区間ＳＣ２のコード（和音）を決定する。コード決定部ＣＤは、従来の電子楽器と同様に、演奏区間ＳＣ１にて発音した楽音の音名の組み合わせと、前記ＲＯＭ１２ｂ内に記憶されている各種コード情報とを比較して、最も適合度の高いコード情報に基づいて、少なくともコードの根音を含む複数の構成音の音名を決定する。しかし、演奏区間ＳＣ１における押鍵数（音高情報）が少ない場合、コードの構成音のうち、根音と第５音の音名のみを決定することができ、第３音の音名を決定できないことがある。また、根音と第３音の音名のみを決定することができ、第５音の音名を決定できないことがある。このような場合、演奏区間ＳＣ２のコードを決定できない。そこで、コード決定部ＣＤは、前記ステップＳ１９の処理によってコードを決定できたか否かを、ステップＳ２０にて判定する。
【００３０】
コードを決定できた場合には、コード決定部ＣＤは、「Ｙｅｓ」と判定して、後述するステップＳ２３に処理を進める。コードを決定できなかった場合には、コード決定部ＣＤは、「Ｎｏ」と判定して、ステップＳ２１にて、演奏区間ＳＣ０における各音名の出現状況（分布）に基づいて、前記決定できなかった第３音又は第５音の音名を推定し、コードを決定する。例えば、第３音の音名を決定できなかった場合には、コード決定部ＣＤは、分布情報ＤＢを参照して、前記決定した根音と間の音程が長３度及び短３度である音名のカウント値を比較し、そのカウント値が大きい方の音名を選択する。そして、前記選択した音名のカウント値が所定の閾値（例えば「３」）を超えていれば、その音名をコードの第３音の音名と推定する。
【００３１】
また、例えば、第５音の音名を決定できなかった場合には、次の４つの条件が全て満たされるとき、コード決定部ＣＤは、前記決定した根音との間の音程が完全５度である音名を第５音の音名と推定する。第１の条件は、前記決定した構成音のうち、根音とそれ以外の各構成音と間の音程が完全４度とは異なることである。第２の条件は、分布情報ＤＢにおいて、前記決定した根音との間の音程が完全５度である音名のカウント値が所定の閾値（例えば「３」）を超えていることである。第３の条件は、分布情報ＤＢにおいて、前記決定した根音との間の音程が減５度である音名のカウント値が「０」であることである。第４の条件は、直前の演奏区間ＳＣ１において発音された各楽音と前記決定した根音との間の音程が長６度及び短６度とは異なることである。
【００３２】
例えば、２つの構成音が決定された場合であって、根音の音名が「Ｇ」であり、もう１つの構成音の音名が「Ｂ」である場合、第１乃至第４の条件が全て満たされれば、第５音の音名は「Ｄ」であると推定される。つまり、この場合、次の演奏区間のコードは「Ｇメジャー」であると決定される。
【００３３】
一方、２つの構成音が決定された場合であって、根音の音名が「Ｃ」であり、もう１つの構成音の音名が「Ｆ」である場合（長３度よりも半音上がった状態（ｓｕｓ４））、第１の条件が満たされない。なお、この場合、第１の条件を無視して、第５音の音名を「Ｇ」とすれば、コードは「Ｃｓｕｓ４」となる。しかし、前記決定された２つの構成音のうちの「Ｃ」が根音であると決定されていても、実際には、「Ｆ」が根音であり、「Ｃ」は第５音である可能性がある。つまり、実際のコードは「Ｆメジャー」又は「Ｆマイナー」である可能性がある。実際のコードが「Ｆメジャー」又は「Ｆマイナー」である場合に、コードを「Ｃｓｕｓ４」と決定してしまうと、音が濁って聞こえる虞がある。そこで、上記の第１の条件を設けた。
【００３４】
また、例えば、２つの構成音が決定された場合であって、根音の音名が「Ｅ」であり、もう１つの構成音の音名が「Ｇ」である場合、第４の条件を無視して、第５音の音名を「Ｂ」とすれば、コードは「Ｅマイナー」となる。しかし、前記決定された２つの構成音のうちの「Ｅ」が根音であると決定されていても、実際には、「Ｃ」が根音であり、「Ｅ」は第３音である可能性がある。つまり、実際のコードは「Ｃメジャー」である可能性がある。実際のコードが「Ｃメジャー」である場合に、コードを「Ｅマイナー」と決定してしまうと、前記決定した「Ｅマイナー」の構成音のうちの「Ｂ」と実際のコードである「Ｃメジャー」の根音である「Ｃ」との間の音程が短６度となり、音が濁って聞こえる虞がある。また、直前の演奏区間ＳＣ１において発音した楽音の音名に「Ｃ＃」が含まれている場合、次の演奏区間ＳＣ２においても「Ｃ＃」が含まれる可能性がある。「Ｃ＃」と前記決定した「Ｅマイナー」の構成音のうちの「Ｂ」との間の音程は長６度であるので、この場合も音が濁って聞こえる虞がある。そこで、上記の第４の条件を設けた。
【００３５】
つぎに、コード決定部ＣＤは、前記ステップＳ２１の処理によりコードを決定できたか否かを、ステップＳ２２にて判定する。コードを決定できた場合には、コード決定部ＣＤは、「Ｙｅｓ」と判定して、ステップＳ２３にて、前記決定したコードを表すコード情報を伴奏パターン再生部ＰＲ及び表示器１３へ供給し、ステップＳ１３に処理を進める。一方、コードを決定できなかった場合には、コード決定部ＣＤは、「Ｎｏ」と判定して、ステップＳ２４にて、前記決定した根音及びその他の構成音の音名を表す音名情報を伴奏パターン再生部ＰＲ及び表示器１３へ供給し、ステップＳ１３に処理を進める。
【００３６】
以降、コード決定部ＣＤは、ステップＳ１３乃至ステップＳ２４からなる処理を繰り返し実行する。これにより、所定の時間間隔（８分音符の長さ）をおいて、コード情報又は音名情報が伴奏パターン再生部ＰＲに供給される。伴奏パターン再生部ＰＲは、前記供給されたコード情報又は音名情報に従って、伴奏パターンデータを修正して、伴奏パターンを再生する。なお、伴奏パターンはループ再生される。つまり伴奏パターンの末尾に到達すると再びその先頭から再生される。ただし、楽曲の最後の場面（エンディングセクション）の伴奏パターンの再生を終了したとき、又は演奏者が入力操作子１１を用いて伴奏パターンの再生を終了することを指示したとき、自動伴奏装置ＡＡは、コードの検出及び伴奏パターンの再生を終了する。
【００３７】
表示器１３は、コード決定部ＣＤからコード情報を取得すると、そのコードの名称を表示する。また、表示器１３は、コード決定部ＣＤから音名情報を取得すると、その根音の音名に加えて、前記決定した根音と前記決定した各構成音との間の音程を、数字を用いて表示する（例えば、「Ｃ１＋５」）。
【００３８】
上記のように構成した電子楽器１０（コード決定部ＣＤ）によれば、第３音及び第５音のいずれか一方の音名が不明であっても、分布情報ＤＢを用いて、前記不明な構成音の音名を推定することができる。つまり、コードが決定されない演奏区間の数を従来よりも削減できる。したがって、再生される伴奏パターンが単調になることを抑制できる。また、表示器１３にコードの一部の構成音の音名のみが表示される演奏区間の数を削減できる。また、演奏者は、各演奏区間においてコードの全ての構成音が含まれるように注意しながら演奏する必要が無い。したがって、初心者又はコードに関する知識が乏しい演奏者であっても、自動伴奏機能を利用して演奏を楽しむことができる。
【００３９】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００４０】
例えば、上記実施形態においては、現在の演奏進行位置が含まれる小節の直前の２小節の演奏区間ＳＣ０を、分布情報ＤＢの生成対象としている。しかし、分布情報ＤＢの生成対象とする演奏区間ＳＣ０の長さはこれに限られず、例えば１小節分の長さとしても良いし、３小節分の長さとしてもよい。また、上記実施形態においては、コードの構成音を推定するタイミングが小節内のいずれの位置にあったとしても、その小節の直前の２小節の演奏区間ＳＣ０の分布情報ＤＢが用いられる。例えば、６小節目の２拍目においてコードの構成音を推定する場合及び６小節目の３拍目においてコードの構成音を推定する場合のいずれの場合であっても、４小節目の先頭から５小節目の末尾までの演奏区間内に発音した楽音の音名の分布を表す分布情報ＤＢが用いられる。しかし、これに代えて、小節内におけるコードの構成音を推定するタイミングの位置に応じて、分布情報ＤＢの生成対象とする演奏区間を変更しても良い。例えば、６小節目の２拍目においてコードの構成音を推定する場合、４小節目の２拍目の先頭から６小節目の１拍目の末尾までの演奏区間内に発音した楽音の音名の分布を表す分布情報ＤＢを生成して、その分布情報ＤＢを用いても良い。この場合、現在の演奏進行位置が表拍又は裏拍に位置するとき、拍の位置を表す拍情報をバッファＢＦに書き込んでおき、この拍情報を用いて、分布情報ＤＢの生成対象とする演奏区間を特定すればよい。
【００４１】
また、コードを決定する際に、分布情報ＤＢを更新してもよい。例えば、コードの構成音のうちの根音と第５音の音名が決定され、第３音の音名が不明である場合、コード決定部ＣＤは、演奏区間ＳＣ０における、前記決定した根音との間の音程が長３度及び短３度となる音名を次のようにカウントして、分布情報ＤＢを生成してもよい。コード決定部ＣＤは、演奏区間ＳＣ０の先頭から末尾へ向かって、前記決定した根音との間の音程が長３度及び短３度となる音名を検索する。コード決定部ＣＤは、図５に示すように、前記決定した根音との間の音程が長３度となる音名が検索されるごとに、第１のカウンタＣＴ１のカウント値をインクリメントする。また、前記決定した根音との間の音程が短３度となる音名が検索されるごとに第２のカウンタＣＴ２のカウント値をインクリメントする。ただし、一方のカウンタのカウント値をインクリメントした後に他方のカウンタのカウント値をインクリメントする際、前記一方のカウンタのカウント値をクリアする（「０」に設定する）。上記の検索位置が分布情報ＤＢの生成対象とする区間の末尾に到達した時点における両カウンタのカウント値を、前記決定した根音との間の音程が長３度及び短３度となる音名のカウント値としてそれぞれ記憶する。なお、コード決定部ＣＤは、分布情報ＤＢの生成対象とする区間の末尾から先頭へ向かって、前記決定した根音との間の音程が長３度及び短３度となる音名を検索し、最初に検索された一方の音名と同じ音名が検索されるごとにカウンタのカウント値をインクリメントしてもよい。そして、他方の音名が検索された時点でカウント処理を終了し、前記一方の音名のカウント値が所定の閾値（例えば、「３」）を超えていた場合に、前記一方の音名を第３音の音名と推定しても良い。これによれば、メジャースケール及びマイナースケール間の遷移を考慮して第３音の音名を決定できる。
【００４２】
また、上記実施形態においては、現在の演奏進行位置が表拍又は裏拍に位置するとき、前記現在の演奏進行位置の直前の演奏区間ＳＣ１内において発音した楽音の音名の組み合わせとコード情報とのマッチングに基づいて、コードの構成音の音名を決定している。その演奏区間ＳＣ１の長さは、８分音符の長さに相当する。しかし、演奏区間ＳＣ１の長さは、上記実施形態に限られない。例えば、演奏区間ＳＣ１の長さが１６分音符の長さに設定されていても良い。この場合、１６分音符の長さの時間間隔をおいてコードを決定しても良い。
【００４３】
また、コードを決定するために参照する演奏区間ＳＣ１の長さを、コードを決定する時間間隔よりも少し長く設定してもよい。例えば、演奏区間ＳＣ１の長さを、コードを決定する時間間隔よりも３２分音符の長さだけ長くしてもよい。また、一度コードを決定した後の短い区間内（例えば４８分音符の長さの区間）において発音した楽音の音名を、前記決定したコードの構成音の音名に加えて、コードを再度決定しても良い。これによれば、コードを決定するタイミングよりも僅かに早く押鍵した場合又は僅かに遅れて押鍵した場合であっても、それらの押鍵に係る音高情報をコードの決定に反映させることができる。なお、コードを決定する時間間隔及びコードを決定するために参照する演奏区間ＳＣ１の長さを変更可能に構成されていてもよい。
【００４４】
また、例えば、鍵盤装置から、音高情報のみならず、押鍵強さ（ベロシティ）及び押鍵長さ（デュレーション）を押鍵情報として取得して、バッファＢＦに記憶しても良い。そして、前記取得した押鍵強さ及び押鍵長さを考慮して、分布情報ＤＢを生成してもよい。例えば、押鍵強さが所定の閾値（例えば最大値の５％未満）よりも小さい押鍵情報を無視するとよい。また、押鍵長さが所定の閾値（例えば６４分音符の長さ）よりも短い押鍵情報を無視しても良い。なお、ダンパーペダルが踏み込まれているときは、離鍵されたとしても、押鍵が継続されていると見做してもよい。この場合、ダンパーペダルが解放されたとき、押鍵長さを検出（計算）すればよい。
【００４５】
また、上記実施形態においては、コード決定部ＣＤは、鍵盤装置から取得した全ての音高情報をバッファＢＦに記憶させているが、分布情報ＤＢを生成するために必要な音高情報のみを記憶し、不要になった音高情報を順次削除してもよい。例えば、現在の演奏進行位置が含まれる小節よりも３小節以上前の音高情報を順次削除しても良い。
【００４６】
また、上記実施形態においては、コード決定部ＣＤは、音高情報を鍵盤装置から取得しているが、外部機器から音高情報を取得しても良い。また、電子楽器１０が音高情報の系列を表すシーケンスデータを再生する機能を備えていてもよい。この場合、コード決定部ＣＤが前記再生された音高情報を取得しても良い。また、コード決定部ＣＤは、音響波形を表すオーディオデータを外部機器、記憶装置１４などから取得し、前記取得したオーディオデータを解析して音高情報を生成し、前記生成した音高情報を用いてコードを決定しても良い。
【００４７】
また、電子楽器１０は、第５音の音名が不明であるとき、上記実施形態のように動作する動作モードと、上記４つの条件を考慮することなく、前記決定した根音との間の音程が完全５度となる音名を第５音と推定するモードのいずれか一方を選択可能に構成されていても良い。
【００４８】
また、コード決定部ＣＤは、鍵盤装置から取得した音高情報のうち、低音域（例えば「Ｃ４」よりも低音側の音域）に含まれる音高情報のみを用いてコードを決定しても良い。
【００４９】
また、コード決定部ＣＤは、コードを決定できなかった場合、１つ前の演奏区間のコードを表すコード情報を伴奏パターン再生部ＰＲに供給しても良い。また、コード決定部ＣＤは、コードを決定できなかった場合、打楽器の演奏パートのみを伴奏パターン再生部ＰＲに再生させても良い。
【００５０】
また、コードの根音と第５音の音名が決定され、第３音の音名が不明である場合であって、分布情報ＤＢにおいて、前記決定した根音との間の音程が長３度及び短３度となる音名のカウント値がいずれも「１」以上である場合、コード決定部ＣＤは第３音の音名を推定しないようにしてもよい。また、前記決定した根音との間の音程が長３度及び短３度となる音名のカウント値の差が所定の閾値以上であるとき、前記カウント値の大きい方の音名をコードの第３音の音名と推定しても良い。
【００５１】
また、例えば、コードの根音及び第３音が決定されていて、第５音の音名が不明である場合、上記実施形態における４つの条件が満たされているか否かを判定することなく、分布情報ＤＢのカウント値に基づいて第５音の音名を決定しても良い。この場合、例えば、図５に示すカウンタと同様のカウンタを用いて各音名の発音回数をカウントしても良い。具体的には、根音との間の音程が減５度、完全５度及び増５度となる音名に対応するカウンタをそれぞれ設ける。そして、演奏区間ＳＣ０内において、根音との間の音程が減５度、完全５度及び増５度となる音名が検索されるごとに、前記検索された音名に対応するカウンタのカウント値をインクリメントするとともに、他のカウンタのカウント値をクリアする。これらの３つのカウンタのうちの１つのカウンタのカウント値が所定の閾値を超えている場合、そのカウンタに対応する音名を第５音の音名と推定してもよい。
【００５２】
また、コードの根音（１度及び８度）のみが決定され、第３音及び第５音の音名が不明である場合、コード決定部ＣＤは、上記実施形態と同様の手順で第５音の音名を推定し、根音及び前記推定した第５音の音名を表す音名情報を伴奏パターン再生部ＰＲ及び表示器１３へ供給しても良い。また、この場合、コード決定部ＣＤは、上記実施形態と同様の手順で第５音の音名を推定するとともに第３音の音名を推定して、コードを決定しても良い。
【符号の説明】
【００５３】
１０・・・電子楽器、１１・・・入力操作子、１２・・・コンピュータ部、１３・・・表示器、１４・・・記憶装置、１６・・・音源回路、１７・・・サウンドシステム、ＡＡ・・・自動伴奏装置、ＢＦ・・・バッファ、Ｂｎ・・・小節線情報、ＣＤ・・・コード決定部、ＣＴ１，ＣＴ２      ・・・カウンタ、ＤＢ・・・分布情報、ＰＲ・・・伴奏パターン再生部、ＳＣ０〜ＳＣ２・・・演奏区間、ＷＭ・・・波形メモリ
【図１】
2016057389.tif 000003
【図２】
2016057389.tif 000004
【図３Ａ】
2016057389.tif 000005
【図３Ｂ】
2016057389.tif 000006
【図４】
2016057389.tif 000007
【図５】
2016057389.tif 000008