(57)【特許請求の範囲】
【請求項１】
発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、
該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、
該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、
前記部分区間に対応した和音情報を入力する入力手段と、
前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、
該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出手段と、
該抽出手段によって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、
該生成手段によって第４和音構成音を生成する際の基となった音高情報を、当該生成された第４和音構成音の音高情報によって置き換える置き換え手段と
を備え、
前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換え手段によって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする楽音情報変換装置。
【請求項２】
発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、
該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、
該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、
前記部分区間に対応した和音情報を入力する入力手段と、
前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、
該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出手段と、
該抽出手段によって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、
該生成手段によって生成された第４和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加手段と
を備え、
前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加手段によって音高情報が追加された後の音高情報を変換することを特徴とする楽音情報変換装置。
【請求項３】
前記３つの和音構成音中の所定の一部の和音構成音は、５度の音高のものであることを特徴とする請求項１または２に記載の楽音情報変換装置。
【請求項４】
ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、
前記制御方法は、
前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、
前記ＣＰＵが、前記生成ステップによって第４和音構成音を生成する際の基となった音高情報を、当該生成された第４和音構成音の音高情報によって置き換える置き換えステップと
を備え、
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする記憶媒体。
【請求項５】
ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、
前記制御方法は、
前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、
前記ＣＰＵが、前記生成ステップによって生成された第４和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップと
を備え、
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする記憶媒体。
【請求項６】
前記３つの和音構成音中の所定の一部の和音構成音は、５度の音高のものであることを特徴とする請求項４または５に記載の記憶媒体。
【請求項７】
ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法であって、
前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、
前記ＣＰＵが、前記生成ステップによって第４和音構成音を生成する際の基となった音高情報を、当該生成された第４和音構成音の音高情報によって置き換える置き換えステップと
を備え、
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする制御方法。
【請求項８】
ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法であって、
前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、
前記ＣＰＵが、前記生成ステップによって生成された第４和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップと
を備え、
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする制御方法。
【請求項９】
前記３つの和音構成音中の所定の一部の和音構成音は、５度の音高のものであることを特徴とする請求項７または８に記載の制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、電子楽器、予め記憶しておいた演奏情報又は外部から供給される演奏情報に基づいて自動伴奏を行う自動伴奏装置、自動演奏する自動演奏装置などに適用されて、供給される演奏データの変換、修正等の編集を行う楽音情報変換装置、その制御方法または該制御方法を実現するプログラムを格納した記憶媒体に関する。
【０００２】
【従来の技術】
従来、演奏データに基づいた自動演奏や自動伴奏を行うシーケンサなどにおいて、演奏データに含まれるノートデータをユーザによって指定された和音に基づいて適宜変換を行う機能を有するものがあった。このような従来技術は、例えば特開平8-16094号公報に演奏データ編集装置として開示されている。この種の演奏データ編集装置においては、演奏データからあらかじめ和音の根音、種別を検出しておき、これら検出した和音情報に基づいて一旦全てのノートデータを基準和音である"Ｃmaj7"に対応する音高のノートデータにシフトし、その後指定されている和音に対応するノートデータへの変換を行うことにより、所望の和音への変換を実現している。
【０００３】
【発明が解決しようとする課題】
ところで、和音は３音構成のもの（メジャーコードやマイナーコードなど）と、４音構成以上のもの（セブンスコードなど）に大別される。演奏データが第４和音構成音（例えばセブンスコードなら７度の音のことを指し、本願では９度、１１度、１３度等の音も含めて第４和音構成音と呼ぶ）を含むものであり、演奏データから検出した和音が４音構成であれば、第４和音構成音を１度等の他の構成音に変換することにより、あらゆる３音構成、４音構成の和音へと変換を行うことができる。
【０００４】
一方、上と同様、演奏データが第４和音構成音を含まないものであり、演奏データから検出した和音が３音構成であれば、４音構成の和音へ変換するには第４和音構成音を生成しなければならない。このような場合、従来技術においては、基準和音"Ｃmaj7"の１度の構成音である"Ｃ"に相当するノートコードを第４和音構成音である"Ｂ"に音高変換することで対処していた。しかし、このように１度の構成音を第４和音構成音に単純に音高変換したとしても、"Ｃmaj7"の和音を構成している和音構成音は３種類であることに変わりなく、こういった従来技術のものにおいては、１度の構成音を第４和音構成音に音高変換した結果、変換後のノートコードの組み合わせが変換されるべき和音にならないといった問題があった。
【０００５】
例えば、"Ｃ３"、"Ｅ３"、"Ｇ３"、"Ｃ４"から成る和音（"Ｃmaj"に相当する）を"Ｃmaj7"に変換しようとした場合、従来技術にあっては"Ｃ３"、"Ｃ４"を７度の構成音である"Ｂ２"、"Ｂ３"に音高変換する。この結果変換後のノートコードは"Ｂ２"、"Ｅ３"、"Ｇ３"、"Ｂ３"から構成されており、このノートコードの組み合わせは和音"Ｅｍ"に相当する。また、"Ｃ３"、"Ｅ３"、"Ｇ３"から成る和音（"Ｃmaj"に相当する）を"Ｃmaj7"に変換しようとした場合、同様に"Ｃ３"を７度の構成音である"Ｂ２"に音高変換する。この結果変換後のノートコードは"Ｂ３"、"Ｅ３"、"Ｇ３"から構成されており、このノートコードの組み合わせは分数和音である"ＣonＢ"に相当する。
【０００６】
すなわち、従来技術においては、演奏データをユーザーが指定した和音に変換するにあたって、実質的に演奏データ中に和音構成音が必ず４種類存在することが要求されており、変換可能な演奏データが著しく制限されていた。
【０００７】
本発明は上記従来技術における問題点を解決すべくなされたものであり、演奏データ中に和音構成音が４種類存在しなかったとしても４音構成の和音に正しく変換することを目的としたものであって、さらに演奏パートの特徴（ベース系、ピアノ系、ギター系など）に応じて第４和音構成音を生成する処理を適宜変更して、音楽的に違和感のない自然な演奏データを作成することを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するためになした本発明の請求項１記載の楽音情報変換装置は発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、前記部分区間に対応した和音情報を入力する入力手段と、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出手段と、該抽出手段によって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、該生成手段によって第４和音構成音を生成する際の基となった音高情報を、当該生成された第４和音構成音の音高情報によって置き換える置き換え手段とを備え、前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換え手段によって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする。
【０００９】
また、本発明の請求項２記載の楽曲情報変換装置は発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、前記部分区間に対応した和音情報を入力する入力手段と、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出手段と、該抽出手段によって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、該生成手段によって生成された第４和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加手段とを備え、前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加手段によって音高情報が追加された後の音高情報を変換することを特徴とする。
【００１０】
本発明のその他の特徴とするところは、前記３つの和音構成音中の所定の一部の和音構成音は、５度の音高のものであることを特徴とする。
【００１４】
また、本発明の請求項４記載の記憶媒体は、ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、前記制御方法は、前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、前記ＣＰＵが、前記生成ステップによって第４和音構成音を生成する際の基となった音高情報を、当該生成された第４和音構成音の音高情報によって置き換える置き換えステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする。
【００１５】
また、本発明の請求項５記載の記憶媒体は、ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、前記制御方法は、前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、前記ＣＰＵが、前記生成ステップによって生成された第４和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする。
【００１６】
また、本発明の請求項７記載の制御方法は、ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法であって、前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、前記ＣＰＵが、前記生成ステップによって第４和音構成音を生成する際の基となった音高情報を、当該生成された第４和音構成音の音高情報によって置き換える置き換えステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする。
【００１７】
また、本発明の請求項８記載の制御方法は、ＣＰＵと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段とを備えた楽音情報変換装置を制御する制御方法であって、前記ＣＰＵが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記ＣＰＵが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記ＣＰＵが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が３音構成であり、かつ前記入力された和音情報が４音構成である場合に、前記ＣＰＵが、当該変換対象の部分区間に含まれる複数の音高情報のうち、３つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第４和音構成音を生成するための音高候補として抽出する抽出ステップと、前記ＣＰＵが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第４和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第４和音構成音を優先的に生成するものと、前記ＣＰＵが、前記生成ステップによって生成された第４和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする。
【００２５】
【発明の実施の形態】
次に図面を参照して本発明を自動演奏装置に適用した第１実施形態について説明する。
〔１〕 第１実施形態のハードウェア構成
図１に自動演奏装置の概要構成ブロック図を示す。
自動演奏装置１００は自動演奏装置１００全体の制御を行うためのＣＰＵ１０１と、各種データの入力を行うためのマウス等のポインティングデバイスやキーボードなどの入力手段１０２と、ＣＰＵ１０１と入力手段１０２との間のインターフェイス動作を行う入力手段インターフェイス１０３とを備えて構成されている。
【００２６】
また、自動演奏装置１００は、各種表示を行う表示手段１０４と、バス１０５を介して供給された演奏データに基づいて複数の発音チャンネルの音楽信号を生成する音源手段１０６と、音源手段１０６により出力された音楽信号に各種効果処理（エフェクト処理）を施す効果手段１０７と、効果手段１０７により入力された音声信号を増幅して音響信号として出力するサウンド装置１０８とを備えて構成されている。前記ポインティングデバイスはスイッチ等を有していて、表示手段１０４上の任意の位置を指定し、クリック（ある場所でポインティングデバイスのスイッチをオンし、その場でオフすること）等の操作をすることにより、各種の機能を指定することができる。
【００２７】
さらに、自動演奏装置１００は外部のＭＩＤＩ機器１０９との間のインターフェイスであるＭＩＤＩインターフェイス１１０と、通信ネットワーク１１１を介して外部のサーバーコンピュータ１１２との間のインターフェイスである通信インターフェイス１１３とを備えて構成されている。
【００２８】
さらにまた、ハードディスクドライブ、フレキシブルディスクドライブ、ＣＤ−ＲＯＭドライブ、ＭＯ（Magneto Optical）ディスクドライブ、ＤＶＤ（Digital Versatile Disc）ドライブ、フラッシュメモリ等の半導体記憶装置等の外部記憶装置１１４と、ＭＩＤＩインターフェイス１１０、通信インターフェイス１１３や外部記憶装置１１４から供給された演奏データを記憶する演奏情報メモリ（ＲＡＭ）１１５と、各種変数やデータ等を一時的に記憶するワーキングメモリ（ＲＡＭ）１１６と、制御用プログラム及びデータ等を記憶するプログラムメモリ（ＲＯＭ）１１７と、各種タイミング制御を行うタイマ１１８とを備えて構成されている。
【００２９】
この場合において、ＣＰＵ１０１は、入力手段インターフェイス１０３、表示手段１０４、音源手段１０６、効果手段１０７、ＭＩＤＩインターフェイス１１０、通信インターフェイス１１３、外部記憶装置１１４、演奏情報メモリ（ＲＡＭ）１１５、ワーキングメモリ（ＲＡＭ）１１６及びプログラムメモリ（ＲＯＭ）１１７とバス１０５を介して接続されている。
【００３０】
ＭＩＤＩインターフェイス１１０、通信インターフェイス１１３または外部記憶装置１１４から供給される演奏データは、一ないし複数のチャンネルのデータを備えて構成されており、各チャンネルを構成しているノートデータは音高を表すノートナンバ（０〜１２７、Ｃ３＝６０）等の情報を持っている。なお、本願でいうノートコードとはノートナンバを１２で除算した余り（０〜１１）であり、ノートデータの音名に相当するものである。
【００３１】
図２は供給された演奏データのフォーマット例を示す図であり、外部から供給される演奏データは、キーオンのタイミングを曲の先頭や１つ前のイベントデータからのクロック数によって表すタイミングデータ、チャンネルを示すチャンネル番号（チャンネル１、チャンネル２，…）、ノートナンバやベロシティなどのイベント情報を示すイベントデータ、および、曲の終了を示すエンドデータで構成されている。
【００３２】
ＭＩＤＩインターフェイス１１０、通信インターフェイス１１３または外部記憶装置１１４から供給された上記演奏データはＣＰＵ１０１による制御プログラムの実行により図３のように同じチャンネルのノートデータが同じトラックに分類され、これにより複数のトラックに分離されて演奏情報メモリ（ＲＡＭ）１１５に記憶される。この時点で、トラック数が記憶領域ｔｒ（後述）に記憶される。
【００３３】
また、外部から供給される演奏データは、図３（ｂ）のように予め複数のトラックに分離されていてもよい。
【００３４】
〔２〕第１実施形態の動作
２−１  処理画面の構成
次に、動作説明に先立ち、表示手段１０４に表示される処理画面の一例について図４を参照して説明する。
【００３５】
上記自動演奏装置１００は、図４（Ａ）に示す各トラックの演奏データを表示するトラック情報表示画面と、図４（Ｂ）に示す操作者が指定したコードを入力する時に表示されるコード入力画面とを備えて構成されている。
【００３６】
図４（Ａ）に示すトラック情報表示画面は、複数のトラック番号を表示するトラック番号表示領域４００と、各トラック番号に対応して記憶され、該当トラックの演奏データをトラック毎に表示する演奏データ表示領域４０１と、後述する和音検出処理を開始するための操作を指示する和音検出処理スタート指示ボタン４０２と、和音検出処理によって検出されたコードを表示する検出コード表示領域４０３と、操作者が指定したコードを表示する指定コード表示領域４０４と、後述する操作者が指定したコードに演奏データを変換する処理を指示する指定コード変換処理スタート指示ボタン４０５と、操作者がコードを入力しようとしている小節の位置を表示する小節位置表示カーソル４０６と表示エリアを変更するスクロールバー４０７を備えて構成されている。
【００３７】
また、図４（Ｂ）に示すコード入力画面は、コードルートを指示するコードルート指示領域４０８と、コードタイプを指示するコードタイプ指示領域４０９と、操作者がコードを入力しようとしている小節の位置を表示する小節位置表示領域４１０と、現在指定されているコードを表示するコード表示領域４１１と、操作者が指定したコードを指定位置に入力するための操作を指示するコード入力ボタン４１２と、コードの入力をキャンセルするためのキャンセルボタン４１３とを備えて構成されている。なお、第一実施形態においては各小節の前半１／２小節、後半１／２小節について各々和音を指定することが可能である。
【００３８】
図４においては、トラック情報表示画面、コード入力画面ともに、小節位置表示カーソル４０６および小節位置表示領域４１０に例示するように２１小節目前半がコード入力位置として指定されている。
【００３９】
例えば、操作者が２１小節目前半にコード"Ｃmaj"を指定して入力する場合、指定コード表示領域４０４の２１小節目前半をポインティングデバイス等の入力手段１０２でクリックすることにより、図４（Ａ）に示した２１小節目前半の位置に小節位置表示カーソル４０６が表示され、図４（Ｂ）に示すコード入力画面が表示される。コードルート指示領域４０８は各音名（Ｃ〜Ｂ）および、半音階（♯や♭等）を選択するためのボタン４１４が各音名に対応して配置されており、「Ｃ」に対応するボタンを選択すると、コードのルートとして「Ｃ」が指示される。また、コードタイプ指示領域４０９は「maj」、「maj7」、等のコードのタイプを選択するためのボタン４１５が各タイプに対応して配置されており、「maj」に対応するボタンを選択すると、コードのタイプとして「maj」が指示される。そして、コード入力ボタン４１２が押されると、２１小節目前半に"Ｃmaj"が入力される。
【００４０】
また、図４の処理画面においては、図４（Ａ）に示すトラック情報画面には、多数あるトラックのうちの一部分のみ、および、複数ある小節のうちの一部分のみが表示されており、演奏データ表示領域４０１の右方あるいは下方等に表示されているスクロールバー４０７を利用して表示エリアを変更することにより、他のトラックあるいは、他の小節を表示させることができる。
【００４１】
２−２  全体動作
次に、上記のように構成した第１実施形態の動作について説明する。まず、図５を参照して第１実施形態のＣＰＵ１０１で実行されるコード変換処理の流れを説明する。
【００４２】
ＣＰＵ１０１は図５のコード変換処理プログラムを始めとして、種々のプログラムを操作者の操作等によって発生するイベントに応じて実行する。メインルーチン（図示略）は常時イベントの発生を監視しており、発生したイベントに応じたプログラムを呼び出し、対応した処理を実行するものである。図５は操作者の操作により和音検出指示イベントや和音情報供給イベント、音高変換指示イベントなどが発生した時に、ＣＰＵ１０１において実行される処理の流れを示したものである。
【００４３】
以下の説明および各フローチャートにおいて、制御に用いられるＲＡＭ１１６の各記憶領域等を下記のラベルで表記し、同一のラベルで表す各記憶領域等の内容はとくに断らない限り同一のものとする。
【００４４】
Ｉmax：１／２小節区間の個数をカウントする記憶領域
Ｉ：１／２小節区間の現在位置を指す記憶領域
ＣＨＲＤ：和音検出区間（１／２小節区間）において、各音名に対応する発音があったか否かを一時記憶する記憶領域で、ノートコード（０〜１１）に対応する１２ビットの記憶領域
ＲＰＴ：マッチングした時の循環シフトのシフト回数をカウントする記憶領域
ＲＥＳ：マッチングした時の検出した和音の種類を記憶する記憶領域
ＳＲＴＩ：和音検出区間（１／２小節区間）において、検出した和音のコードルートを格納する記憶領域
ＳＴＰＩ：和音検出区間（１／２小節区間）において、検出した和音の種類を格納する記憶領域
ＤＲＴＩ：和音検出区間（１／２小節区間）において、指定した和音のコードルートを格納する記憶領域
ＤＴＰＩ：和音検出区間（１／２小節区間）において、指定した和音の種類を格納する記憶領域
ｔｒ：トラック数をカウントする記憶領域
ｎ：現在のトラック番号を指す記憶領域
ＣＡ：和音検出区間（１／２小節区間）において、１度の音高及び５度の音高に相当するノートデータをすべて一時記憶する記憶領域
【００４５】
さて、図５のコード変換処理では、操作者の操作等によって発生するコード変換処理指示イベントに応じて、まず最初に入力手段５００で、予めＭＩＤＩインターフェイス１１０、通信インターフェイス１１３及び外部記憶装置１１４から演奏データが供給され、図３及び図４のブロック表示領域４０１に示したように供給された演奏データをトラック毎に分類して演奏情報メモリ（ＲＡＭ）１１５に記憶する。この時、ディスプレイの画面上には、図４（Ａ）に示すトラック情報表示画面が表示されるが、この時点では検出コード表示領域４０３、指定コード表示領域４０４ともに空白である。次に、和音検出処理スタート指示ボタン４０２が操作されたことに応じて、和音検出指示イベント５０１が発生すると、和音情報抽出手段５０２で図６の和音検出処理（後述）を開始し、検出した和音情報をメモリに記憶する。（この和音検出処理はドラムパートを除く演奏データの全ノートデータに基づいて行われる。以下、ドラムパートとはドラム音色のノートデータを含むトラックのことを指す。）この時点において、トラック情報表示画面上の検出コード表示領域４０３にコード名が図４に示したように表示される。
【００４６】
和音情報供給手段５０３で、操作者が図４（Ｂ）に示したコード入力画面を用いてコード入力を行うことにより、該入力したコードが指定コード表示領域４０４の指定小節に表示される。次に、指定コード変換処理スタート指示ボタン４０５が押されたことに応じて、音高変換指示イベント５０４が発生すると、検出した和音の逆変換処理５０５を行い、第４和音構成音生成手段５０６に進み、検出和音が３音構成で指定和音が４音構成であった場合、７度音生成処理を行って、変換手段５０７で図９の和音変換処理（後述）を行い、操作者が指定した和音に演奏データを変換する。（この逆変換処理はドラムパートを除く演奏データの全ノートデータについて行われ、和音変換処理は演奏データの各トラックごとに行われる。）そして、出力手段５０８で変換後の演奏データを演奏情報メモリ１１５に記憶する。
【００４７】
ここで、逆変換処理５０５とは、上記和音検出処理において、検出した和音が３音構成であれば全ノートデータのノートナンバを和音"Ｃmaj"である場合に対応する音高に、４音構成であれば全ノートデータのノートナンバを和音"Ｃmaj7"である場合に対応する音高に変換する処理である。図６は逆音程変換テーブルの一例であり、このテーブルに基づいて"Ｃmaj"または"Ｃmaj7"に逆変換した時、各ノートデータが適切な音高関係になるように補正する。
【００４８】
例えば、あるノートデータのノートナンバが"５８"（Ａ２♯）で、検出した和音が"Ｇｍ"（３音構成）であったとすると、"Ｃmaj"にシフトするにあたって、検出した和音のコードルートの音名は「Ｇ」であるので、この「Ｇ」のノートコード"７"（図６参照）をノートナンバ"５８"から減算してノートナンバ"５１"（Ｄ２♯）にシフトする。次に、検出和音の種類は「ｍｉｎ」（マイナー）であるので、図６の逆音程変換テーブルの「Ｄ♯」（ノートコード"３"）と「ｍｉｎ」から補正データ"１"を読み出し、この補正データ"１"をシフト後のノートナンバ"５１"に加算してノートナンバ"５２"（Ｅ２）とする。これにより、和音"Ｇｍ"におけるノートナンバ"５８"（Ａ２♯）のノートデータが和音"Ｃmaj"におけるノートナンバ"５２"（Ｅ２）のノートデータに変換され、和音"Ｇｍ"における音高が"Ｃmaj"における音高に逆変換される。
【００４９】
本実施形態では７度音生成処理、和音変換処理に先立って、上述のような逆変換処理を行い、演奏データのドラムパートを除く全音符データ（ノートデータ）を、検出した和音のコードルートと種類とに基づいて"Ｃmaj"もしくは"Ｃmaj7"に対応する音高に変換する。なお、このような逆変換処理方法は例えば特開平８―１６０９４６号公報に開示されている。
【００５０】
２−３  和音検出処理
次に図７を参照して、和音検出処理スタート指示ボタン４０２が押されて、和音検出指示イベント５０１が発生したことに応じて、和音情報抽出手段５０２において行われる和音検出処理について説明する。
【００５１】
図７の和音検出処理では、先ず、ステップ７００で演奏データを１／２小節毎に分割し、分割された１／２小節の全区間数をＩmaxに記憶し、ステップ７０１でＩ＝１にセットしてステップ７０２に進む。以下の処理では、この分割された区間を和音検出区間として各区間毎に和音の検出を行う。
【００５２】
ステップ７０２では、その和音検出区間Ｉ内のドラムパートを除く全パートの全音名（ノートコード）の論理和をＣＨＲＤに記憶する処理を行う。ここで、和音検出区間Ｉ内で少なくとも一度はオンイベントとなっている全ての音名に対応したビットが"１"としてＣＨＲＤに記憶される。
【００５３】
ステップ７０３のＫＣＤ（ＣＨＲＤ）は以下に説明する和音マッチング処理（図示略）を行う関数であり、ＣＨＲＤを循環シフトしながら和音種類テーブルとのマッチングを行い、検出した和音の種類をＲＥＳに格納するとともに、循環シフトの回数を和音のコードルートに相当するノートコードとしてＲＰＴに格納する。ＲＰＴは検出成功なら０〜１１、失敗なら−１が格納される。
【００５４】
図８は上述の和音種類テーブルの一例であり、１２ビットの各ビットを１２の音名に対応づけて和音の構成音のビットを"１"、それ以外のビットを"０"にしたデータを和音の種類毎に記憶したものである。ステップ７０３の関数ＫＣＤ（ＣＨＲＤ）においてはこのテーブルを用いて和音マッチング処理を行う。なお、このような和音マッチング処理は例えば特公昭５７−１６３５９号公報に開示されている。
【００５５】
次に、ステップ７０４で、和音検出に失敗したか否かを判定する。和音が検出されていればＲＰＴは０以上となり（ＮＯ）、ステップ７０５で、検出された和音のコードルートＲＰＴをＳＲＴＩに格納するとともに和音の種類ＲＥＳをＳＴＰＩに格納してステップ７０９に進む。
【００５６】
前記ステップ７０４で和音検出に失敗した場合、ＲＰＴは−１となり（ＹＥＳ）、ステップ７０６で現和音検出区間が先頭区間か否かを判定する。
【００５７】
ステップ７０６の判定により、Ｉ≠１すなわち先頭区間でなければ（ＮＯ）、ステップ７０７に進み、直前の区間における和音のコードルートＳＲＴＩ−１をＳＲＴＩに格納するとともに直前の区間における和音の種類ＳＴＰＩ−１をＳＴＰＩに格納して、ステップ７０９に進む。つまり、直前の区間Ｉ−１で決定している和音のまま変化させない。
【００５８】
ステップ７０６の判定で、Ｉ＝１すなわち先頭区間であれば（ＹＥＳ）、ステップ７０８に進み、ＳＲＴ１、ＳＴＰ１にデフォルト値（例えばＣmaj）を記憶してステップ７０９に進む。
【００５９】
ステップ７０９ではＩ＝Ｉmaxか否かの判定を行い、Ｉ≠Ｉmaxであれば（ＮＯ）、ステップ７１０で和音検出区間のポインタＩを１増加させてステップ７０２以降を繰り返す。ステップ７０２〜７１０の処理をステップ７００で分割した全ての区間について繰り返し、ステップ７０９の判定においてＩ＝Ｉmaxとなれば（ＹＥＳ）和音検出処理を終了する。
【００６０】
２−４  和音変換処理
次に図９を参照して、音高変換指示イベント５０４の発生に応じて検出した和音の逆変換処理５０５が行われた後に第４和音構成音生成手段５０６と変換手段５０７で行われる、操作者の指定した和音に演奏データを変換する和音変換処理について説明する。
【００６１】
図９の和音変換処理では、図７のステップ７００で分割した区間毎に処理を行い、先ず、ステップ９００で区間を示すＩに１をセットし、ステップ９０１でトラック番号を示すｎに１をセットする。
【００６２】
ステップ９０２で図７の処理によって検出した和音検出区間Ｉの和音のコードルートＳＲＴＩ及び検出した和音の種類ＳＴＰＩ、図５の５０４で操作者によって指定された和音のコードルートＤＲＴＩ及び指定した和音の種類ＤＴＰＩを読み出す。次に、ステップ９０３で１／２小節分の演奏データを各トラックごとに読み出す。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【００６３】
ステップ９０４では検出和音が４音構成かどうかの判定を行い、検出和音が４音構成であれば（ＹＥＳ）ステップ９０７に進み、そのまま指定された和音に基づいて音高変換処理が行われる。上記ステップ９０４で検出和音が３音構成であれば（ＮＯ）ステップ９０５に進む。
【００６４】
上記ステップ９０５ではユーザーの指定和音が４音構成か否かの判定を行う。ステップ９０５でユーザーの指定和音が３音構成であれば（ＮＯ）、検出和音は３音構成で指定和音が３音構成であるのでステップ９０７に進み、そのまま指定された和音に基づいて音高変換処理が行われる。
【００６５】
上記ステップ９０５の判定でユーザーの指定和音が４音構成であれば（ＹＥＳ）ステップ９０６の第４和音構成音生成手段に進む。この場合、検出和音は３音構成で指定和音が４音構成であるので、ステップ９０６で、指定した和音の第４和音構成音（７度）を生成して４音構成の和音にする図１０の７度音生成処理（後述）を行ってから、ステップ９０７に進み、指定された和音に基づいて音高変換処理が行われる。
【００６６】
ここで、上記ステップ９０７における音高変換処理は前記逆変換処理５０５により“Ｃmaj”または“Ｃmaj7”に対応する音高に逆変換されたノートデータのノートナンバを、前記指定された和音に対応するノートナンバに変換してワーキングメモリ１１６に記憶する処理である。
【００６７】
例えば“Ｆｍ”が指定され、検出されていた和音が４音構成であったとする。この時、前記逆変換処理により各ノートデータは“Ｃmaj7”である場合のノートナンバに逆変換されており、これらノートデータを“Ｆｍ”である場合のノートナンバに音高変換する。図１０は音程変換テーブルの一例であり、この音程変換テーブルに基づいて変換後の音高を求める。
【００６８】
例えば、前述の場合において、あるノートデータのノートナンバが “５２”（Ｅ２）であったとする。この場合、指定和音の種類は「ｍｉｎ」（マイナー）であるので、ノートナンバ“５２”が対応するノートコード「Ｅ」と指定された和音の種類「ｍｉｎ」から変換データ“−１”を読み出し、この変換データ“−１”をノートナンバ“５２”に加算してノートナンバ“５１”に補正する。そして、指定和音のコードルートは「Ｆ」であるので、この「Ｆ」のノートコード“５”（図１０参照）を補正後のノートナンバ“５１”に加算し、ノートナンバ“５２”（Ｅ２）をノートナンバ“５６”（Ｇ２♯）に変換する。なお、このような音高変換処理は例えば特開平７−２１９５３４号公報に開示されている。
【００６９】
上記のような処理を行って全データを変換することにより、“Ｃmaj7”が和音“Ｆｍ”に変換される。
【００７０】
なお、検出した和音が３音構成である場合、前記逆変換処理により逆変換された演奏データは“Ｃｍaj”であるが、図１０の音程変換テーブルに基づいて、上記と同様にして音高変換を行うことができる。
【００７１】
上述のような処理を行い、前記逆変換処理により逆変換された演奏データの“Ｃmaj”または“Ｃmaj7”に対応する音高を、前記指定された和音に対応する音高に変換してワーキングメモリ１１６に記憶する。
【００７２】
図９の上記ステップ９０８でｎ＝ｔｒか否かの判定を行い、ｎ≠ｔｒ（ＮＯ）であればステップ９０９でトラック番号ｎを１増加させてステップ９０４以降を繰り返す。ｎ＝ｔｒであれば（ＹＥＳ）、ステップ９１０に進む。
【００７３】
上記ステップ９１０ではＩ＝Ｉmaxか否かの判定を行い、Ｉ≠Ｉmax（ＮＯ）であればステップ９１１で和音検出区間のポインタＩを１増加させてステップ９０１以降を繰り返す。Ｉ＝Ｉmaxであれば（ＹＥＳ）もとのルーチンに復帰する。
【００７４】
このルーチンを経た結果、元の演奏データはスタイルを変えることなく操作者の指定したコードに和音変換される。
【００７５】
２−５  ７度音生成処理
上記ステップ９０６の７度音生成処理について説明する。この７度音生成処理とは、検出和音が３音構成で指定和音が４音構成である場合に、基準和音“Ｃmaj”に逆変換されているノートデータ中、適切なノートデータを和音“Ｃmaj7”の第４和音構成音（７度）「Ｂ」に変換して４音構成の和音を生成する処理である。
【００７６】
この７度の音を生成する際、指定したルート、タイプの和音に聞こえるように、且つ、和音として違和感なく聞こえるように下記の規則に基づいて７度音生成を行う。
▲１▼最低音高は、違うルートの和音や違うタイプの和音との誤認を防ぐため、７度の音高への変換対象としない。
▲２▼生成した７度の音が最低音とならない。
▲３▼１度、３度、５度の音高のなかで、３度の音高は７度の音高から一番離れているため、３度の音高から７度の音高を生成した場合、各ノートデータの音高差が和音として不適当なものとなる可能性があるので、７度への変換対象としない。
▲４▼最低音以外に１度の音高がある場合はこの１度の音高からこの音より高い７度の音高を生成すると、オクターブが変わり、前後の区間とのつながりが不自然になる恐れがあるので、すぐ近くにある７度の音高（低い７度）を生成する。
▲５▼最低音以外に１度の音高がない場合、５度の音高からこの音より高い７度の音高またはこの音より低い７度の音高を適宜変更して生成する。この場合も５度の音高より低い７度の音高を生成することを基本として、この音より低い７度の音高を生成した際、その７度の音高が最低音となる等、不都合が生じた場合に限りこの音より高い７度の音高を生成する。
▲６▼上記▲１▼〜▲５▼以外（和音構成音の音高が４つ以上で、発音数が５以上）の場合には、生成すべき７度の音高（第１実施形態ではその和音構成音の領域内にある７度の音高のうち最も高いものとする）に最も近い和音構成音から７度の音高を生成する。
【００７７】
図１１（ａ）〜（ｇ）は７度音生成処理の例である。
図１１（ａ）は和音検出区間Ｉでの発音がC３のみで構成されている場合であり、上記▲１▼の条件に当てはまり、７度の音高への変換はしない。
図１１（ｂ）は和音検出区間Ｉでの発音がE３、G３、C４で構成されている場合であり、上記▲４▼の条件に当てはまり、最も高い１度の音高（C４）をそれより低い７度の音高（B３）に変換する。
図１１（ｃ）は和音検出区間ＩにC３、E３、G３、C４のノートデータが１つずつ存在する場合であり、（ｂ）と同様、上記▲４▼の条件に当てはまり、最も高い１度の音高（C４）をそれより低い７度の音高（B３）に変換する。
図１１（ｄ）は和音検出区間Ｉでの発音がE２、E３、G３で構成されている場合であり、上記▲５▼の条件に当てはまり、最も高い５度の音高（G３）をそれより低い７度の音高（B２）に変換する。
図１１（ｅ）は和音検出区間Ｉでの発音がC３、E３、G３で構成されている場合であり、上記▲２▼および▲５▼の条件に当てはまり、最も高い５度の音高（G３）をこの音より高い７度の音高（B３）に変換する。
図１１（ｆ）は和音検出区間Ｉでの発音がC３、E３で構成されている場合であり、上記▲３▼の条件に当てはまり、７度の音高への変換はしない。
図１１（ｇ）は和音検出区間Ｉでの発音がG２、C３、E３、G３、E４で構成されている場合であり、上記▲６▼の条件に当てはまり、生成すべき７度の音高（B３）に最も近い和音構成音（G３）を７度の音高に変換する。
【００７８】
ここで説明した例において、図１１（ａ）はベース系の演奏パートによく見られる演奏データの例であり、図１１（ｂ）〜図１１（ｆ）はピアノ系の演奏パートによく見られる演奏データの例であり、また、図１１（ｇ）はギター系の演奏パートによく見られる演奏データの例を示したものである。
【００７９】
以下、図１１の例と図１２を参照して、図９のステップ９０６において実行される７度音生成処理について説明する。
【００８０】
先ず、ステップ１２００で上記和音検出区間Ｉから和音構成音のみ、すなわち非和音構成音を除外したノートデータ（以下和音構成音と呼ぶ）を読み出し、ステップ１２０１に進む。
【００８１】
ステップ１２０１では上記和音検出区間Ｉから和音構成音の１度の音高及び５度の音高のノートデータを生成候補として抽出してＣＡに格納し、ステップ１２０２に進む。
【００８２】
ステップ１２０２では上記したステップ１２００で読み出した和音構成音の音高が１つ（発音数は任意）か否かの判定をし、和音構成音の音高が１つであれば（ＹＥＳ）、ステップ１２０３で音高は変更しない（７度の音高の生成はしない）でもとのルーチンに復帰する。これは、上記▲１▼の条件に相当する。
【００８３】
上記ステップ１２０２の判定で和音構成音の音高が１つでなければ（ＮＯ）、ステップ１２０４に進み、和音構成音の音高が２つか３つ（発音数は任意）、または音高が４つで和音構成音の発音数が４つ（つまり、それぞれの音高で１回ずつ発音している）か否かの判定を行う。
【００８４】
上記ステップ１２０４の判定で和音構成音の音高が２つか３つ、または音高が４つで和音構成音の発音数が４つであれば（ＹＥＳ）、ステップ１２０５に進み、上記ステップ１２０１で格納したＣＡに和音構成音の最低音以外の１度の音高のノートデータが存在するか否かの判定を行う。
【００８５】
上記ステップ１２０５の判定で和音構成音の最低音以外に１度の音高が存在すれば（ＹＥＳ）、ステップ１２０６で最も高い１度の音高をそれより低い７度の音高に変換してもとのルーチンに復帰する。これは、上記▲３▼の条件に相当する。
【００８６】
上記ステップ１２０５の判定で和音構成音の最低音以外に１度の音高が存在しなければ（ＮＯ）、ステップ１２０７に進み、上記ステップ１２０１で格納したＣＡに和音構成音の最低音以外の５度の音高のノートデータが存在するか否かの判定を行う。
【００８７】
上記ステップ１２０７の判定で和音構成音の最低音以外に５度の音高が存在すれば（ＹＥＳ）、ステップ１２０８に進み、和音構成音の最低音以外に５度の音高が存在しなければ（ＮＯ）、ステップ１２０３で音高は変更しない（７度の音高の生成はしない）でもとのルーチンに復帰する。これは、上記▲２▼の条件に相当する。
【００８８】
上記ステップ１２０８では最高音の５度の音高より低い７度の音高が最低音となるか否かの判定を行う。この判定で最高音の５度の音高より低い７度の音高が最低音となるなら（ＹＥＳ）、ステップ１２０９に進み、最も高い５度の音高をこの音より高い７度の音高に変換してもとのルーチンに復帰する。これは、上記▲１▼や▲４▼の条件に相当する。
【００８９】
上記ステップ１２０８の判定で最高音の５度の音高より低い７度の音高が最低音とならないなら（ＮＯ）、ステップ１２１０に進み、最も高い５度の音高をこの音より低い７度の音高に変換してもとのルーチンに復帰する。これは、上記▲４▼の条件に相当する。
【００９０】
上記ステップ１２０４の判定で和音構成音の音高が２つか３つ、または音高が４つで和音構成音の発音数が４つでなければ（ＮＯ）、ステップ１２１１およびステップ１２１２で、生成すべき７度の音高（第１実施形態ではその和音構成音の領域内にある７度の音高のうち最も高いものとする）に最も近い和音構成音を７度の音高に変換してもとのルーチンに復帰する。これは、上記▲５▼の条件に相当する。
【００９１】
２−６  第１実施形態の効果
以上説明したように、第一実施形態によれば、演奏データを４音構成の和音に応じた音高に音高変換するにあたって、演奏データが３音構成の和音に基づくものであったとしても、４音構成の和音に正しく変換できる。さらに、演奏パートの特徴（ベース系、ピアノ系、ギター系など）に応じて第４和音構成音を適宜変更して生成できるため、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【００９２】
また、最低音高は第４和音構成音への変換対象としないので、違うルートの和音や違うタイプの和音との誤認を防ぐことができる。また、第４和音構成音を生成した楽音情報が複数の楽音情報のうち最低の音高にならないものを選択的に生成するので、違った和音に聞こえたりすることがない。また、３度の音高は第４和音構成音への変換対象としないので、各ノートデータの音高差が和音として不適当なものとならない。また、最低音以外に１度の音高がある場合はこの一度の音高からすぐ近くにある第４和音構成音（実施形態では低い７度）を生成するので、前後の区間とのつながりが不自然になることはない。
【００９３】
また、演奏データは３音構成であっても構わないのでメモリサイズを小さくすることが可能である。また、演奏データの作成も３音構成の和音で行うことができ、作成が容易になる。
【００９４】
〔３〕第２実施形態
３−１  ハードウェア構成
次に図１３を参照して本発明を自動伴奏装置に適用した第２実施形態について説明する。
自動伴奏装置１３００は自動伴奏装置１３００全体の制御を行うためのＣＰＵ１３０１と、バス１３０２を介して供給された演奏データに基づいて音楽信号を生成する音源手段１３０３と、音源手段１３０３により出力された音楽信号に各種効果処理（エフェクト処理）を施す効果手段１３０４と、効果手段１３０４により入力された音声信号を増幅して音響信号として出力するサウンド装置１３０５とを備えて構成されている。
【００９５】
また、各種データを一時的に記憶するワーキングメモリ（ＲＡＭ）１３０６と、制御用プログラム及び制御用固定データを記憶するプログラムメモリ（ＲＯＭ）１３０７と、伴奏パターンを記憶する伴奏パターンメモリ（ＲＯＭ）１３０８と、鍵盤演奏や和音指定等の操作を行う鍵盤１３０９と、自動伴奏の伴奏パターンを選択するパターン選択スイッチや自動伴奏のスタートとストップを指示するスタート／ストップスイッチおよびその他のスイッチを備えたパネルスイッチ１３１０と、各種タイミング制御を行うタイマ１３１１とを備えて構成されている。
【００９６】
ＣＰＵ１３０１はプログラムメモリ１３０７に格納されている制御プログラムに基づいてワーキングメモリ１３０６のワーキングエリアを使用して電子楽器の全体の制御を行い、鍵盤１３０９の操作による鍵盤演奏、パネルスイッチ１３１０の操作によるモードの切り替え、伴奏パターンＲＯＭ１３０８に基づく自動伴奏などを行う。
【００９７】
伴奏パターンＲＯＭ１３０８には複数の伴奏パターンが記憶されており、各伴奏パターンはベース、ドラム等、複数のトラックから構成されている。これらのうち、パネルスイッチ１３１０の操作に応じて選択された伴奏パターンがＣＰＵ１３０１によってワーキングメモリ（ＲＡＭ）１３０６に読み込まれ、自動伴奏スタート／ストップ指示に応じて制御される。なお、この実施例においては伴奏パターンＲＯＭ１３０８に記憶されている伴奏パターンは全て和音構成音が３種類である“Ｃmaj”の和音に対応するキーコードで記憶されている。
【００９８】
鍵盤１３０９は低音側の左鍵域と高音側の右鍵域とに仮想的に分割されており、自動伴奏時には、ＣＰＵ１３０１は、右鍵域のキーイベントに対しては操作された鍵に対応するノートコードの楽音信号の発音処理と消音処理を行い、左鍵域のキーイベントに対しては検出されたノートコードに基づいて和音を検出する。また、この自動伴奏時には、現在選択されている伴奏パターンのノートデータを読み出し、このノートデータを鍵盤１３０９から検出した和音に基づいて音高変換してキーオン信号またはキーオフ信号と共に音源１３０３に出力する。さらに、リズムのパートについては音色番号とキーオン信号を音源１３０３に出力し、自動伴奏についての発音処理と消音処理を行う。
【００９９】
３−２  第２実施形態の動作
次に上記のように構成した第２実施形態の動作を説明する。
まず、図１４を参照して第２実施形態のＣＰＵ１３０１で実行されるコード変換処理の流れを説明する。
【０１００】
第１実施形態と同様、ＣＰＵ１３０１は図１４のコード変換処理プログラムを始めとして、種々のプログラムを操作者の操作等によって発生するイベントに応じて実行する。メインルーチン（図示略）は常時イベントの発生を監視しており、発生したイベントに応じたプログラムを呼び出し、対応した処理を実行するものである。
【０１０１】
図１４は操作者の操作により伴奏パターン選択イベントや、自動伴奏スタートイベントや、和音情報供給イベント等が発生した時に、ＣＰＵ１３０１において実行される処理の流れを示したものである。
【０１０２】
まず最初に、操作者によってパネルスイッチ１３１０等が操作されたことに応じて、伴奏パターン選択イベントが発生すると、入力手段１４００で伴奏パターンが選択される。次に、スタートスイッチボタン１４０１が操作されたことに応じて自動伴奏スタートイベントが発生すると、自動伴奏が開始される。この時点では操作者の選択した伴奏パターンが“Ｃmaj”の和音に対応するキーコードのまま音源１３０３に出力されて再生されている。あるいは、鍵盤１３０９等により和音が指定されるまでリズムパートのみを再生し、和音指定があって初めてリズム以外のパートも再生するようにしてもよい。
【０１０３】
次に、和音情報供給手段１４０２で、鍵盤１３０９等により和音が指定されたことに応じて、和音情報供給イベントが発生すると、第４和音構成音生成手段１４０４で７度音生成処理が、変換手段１４０５で和音変換処理がリアルタイムで開始され、“Ｃmaj”の和音に対応するキーコードで記憶されていた伴奏パターンが操作者の指定した和音に音高変換される。この第４和音構成音生成手段１４０４で行われる７度音生成処理、変換手段１４０５で行われる和音変換処理では、第１実施形態の図５の第４和音構成音生成手段５０６、変換手段５０７で行われる図９〜図１２で説明した処理をそのまま適用する。
【０１０４】
次に出力手段１４０６で音高変換後の伴奏パターンが音源１３０３に出力されて再生される。
【０１０５】
以上の処理を行うことで、上記した和音変換処理で述べたように３種類の和音構成音で構成されている伴奏パターンを４音構成の和音に変換することができ、音楽的に違和感のない自然な演奏データを作成することができる。
【０１０６】
３−３  第２実施形態の効果
以上のように、従来は伴奏パターンメモリ１３０８に記憶する和音が４音構成である必要があったが、本第２実施形態の自動伴奏装置では伴奏パターンメモリ１３０８に記憶する和音が３音構成であっても４音構成の和音に正しく変換することができる。さらに、演奏パートの特徴（ベース系、ピアノ系、ギター系など）に応じて第４和音構成音を適宜変更して生成できるため、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【０１０７】
また、最低音高は第４和音構成音への変換対象としないので、違うルートの和音や違うタイプの和音との誤認を防ぐことができる。また、第４和音構成音を生成した楽音情報が複数の楽音情報のうち最低の音高にならないものを選択的に生成するので、違った和音に聞こえたりすることがない。また、３度の音高は第４和音構成音への変換対象としないので、各ノートデータの音高差が和音として不適当なものとならない。また、最低音以外に１度の音高がある場合はこの一度の音高からすぐ近くにある第４和音構成音（実施形態では低い７度）を生成するので、前後の区間とのつながりが不自然になることはない。
【０１０８】
また、伴奏パターンメモリに記憶する伴奏パターンは３音構成であっても構わないのでメモリサイズを小さくすることが可能である。また、伴奏パターンは３音構成の和音に基づいたものであってもよいので、伴奏パターンの作成も３音構成の和音で行うことができ、作成が容易になる。
【０１０９】
〔４〕変形例
以上説明した実施態様は以下に述べる種々の変形が可能である。
４−１  和音検出の変形例
なお、第１実施形態においては、図７のように和音検出区間を１／２小節毎に固定区間で行うようにしているが、図１５のように和音検出区間を適宜変更して行ってもよい。
【０１１０】
図１５の和音検出処理では、演奏データを１／２小節毎に分割し、和音検出の対象を１小節とし、対象１小節の前半１／２小節、後半１／２小節でそれぞれ和音検出を行い、前後半一方のみで和音が検出された時は、その検出された和音を対象１小節全てに適応する。前後半共に和音不明であれば対象１小節を和音検出区間として和音の検出を行うようにしている。これにより、和音検出不能区間の補償を可能としている。
【０１１１】
先ず、ステップ１５００で演奏データを１／２小節毎に分割し、分割された１／２小節の全区間数をＩmaxに記憶し、ステップ１５０１でｎ＝１にセットしてステップ１５０２に進む。ステップ１５０２では、対象１小節の前半１／２小節、対象１小節の後半１／２小節、対象１小節全てをそれぞれ和音検出区間Ｓ１、Ｓ２、Ｓ３として、ドラムパートを除く全パートのキーオンの全音名の論理和をＣＨＲＤ１，ＣＨＲＤ２，ＣＨＲＤ３に記憶する処理を行う。ＣＨＲＤ１〜３は和音検出区間において、各音名に対応する発音があったか否かを一時記憶する記憶領域で、ノートコード（０〜１１）に対応する１２ビットの記憶領域である。ここで、和音検出区間で少なくとも一度はオンイベントとなっている全ての音名に対応したビットが“１”としてＣＨＲＤ１，ＣＨＲＤ２，ＣＨＲＤ３に記憶される。
【０１１２】
ステップ１５０３の関数ＫＣＤ（ＣＨＲＤ１）は前述で説明したように和音マッチング処理を行う関数であり、前半１／２小節の和音マッチング処理を行う。次に、ステップ１５０４で、前半１／２小節の和音検出に失敗したか否かを判定する。和音検出が成功していればＲＰＴは０以上となり（ＮＯ）、ステップ１５０５で、検出された和音のコードルートＲＰＴをＳＲＴ２ｎ―１に格納するとともに和音の種類ＲＥＳをＳＴＰ２ｎ―１に格納してステップ１５０６に進む。
【０１１３】
ステップ１５０６の関数ＫＣＤ（ＣＨＲＤ２）で、後半１／２小節の和音マッチング処理を行う。次に、ステップ１５０７で、後半１／２小節の和音検出に失敗したか否かを判定する。和音検出が成功していればＲＰＴは０以上となり（ＮＯ）、ステップ１５０８で、検出された和音のコードルートＲＰＴをＳＲＴ２ｎに格納するとともに和音の種類ＲＥＳをＳＴＰ２ｎに格納してステップ１５１８に進む。
【０１１４】
ステップ１５０７で和音検出に失敗していればＲＰＴは負の値を示し（ＹＥＳ）、ステップ１５１７で前半１／２小節で検出された和音のコードルートＳＲＴ２ｎ―１を後半１／２小節のＳＲＴ２ｎに格納するとともに和音の種類ＳＴＰ２ｎ―１をＳＴＰ２ｎに格納してステップ１５１８に進む。
【０１１５】
上記ステップ１５０４で和音検出に失敗していればＲＰＴは負の値を示し（ＹＥＳ）、ステップ１５０９の関数ＫＣＤ（ＣＨＲＤ２）で、後半１／２小節の和音マッチング処理を行う。
【０１１６】
次に、ステップ１５１０で、後半１／２小節の和音検出に失敗したか否かを判定する。和音検出に成功していればＲＰＴは０以上となり（ＮＯ）、ステップ１５１１で、検出された和音のコードルートＲＰＴをＳＲＴ２ｎ―１に格納するとともに和音の種類ＲＥＳをＳＴＰ２ｎ―１に格納してステップ１５１７に進み上記と同様の処理を行ってステップ１５１８に進む。これにより、後半１／２小節で検出された和音が和音を検出できなかった前半１／２小節にも適応される。
【０１１７】
上記ステップ１５１０で和音検出に失敗していればＲＰＴは負の値を示し（ＹＥＳ）、ステップ１５１２の関数ＫＣＤ（ＣＨＲＤ３）で、対象１小節の和音マッチング処理を行う。
【０１１８】
次に、ステップ１５１３で、対象１小節の和音検出に失敗したか否かを判定する。和音検出に成功していればＲＰＴは０以上となり（ＮＯ）、ステップ１５１１で、上記同様の処理を行って、以下ステップ１５１７、ステップ１５１８と同様のフローをたどる。これにより、対象１小節で検出した和音が和音を検出できなかった前半１／２小節、後半１／２小節に適応される。
【０１１９】
ステップ１５１３で和音検出に失敗していればＲＰＴは負の値を示し（ＹＥＳ）、ステップ１５１４でｎ＝１か否かの判定を行う。
【０１２０】
このステップ１５１４の判定により、ｎ＝１でなければ（ＮＯ）、ステップ１５１５に進み、直前の区間における和音のコードルートＳＲＴ２（ｎ−１）をＳＲＴ２ｎ―１に格納するとともに直前の区間における和音の種類ＳＴＰ２（ｎ−１）をＳＴＰ２ｎ―１に格納して、ステップ１５１７に進み、上記同様の処理を行ってステップ１５１８に進む。つまり、直前の区間２（ｎ−１）で決定している和音が対象１小節の和音検出できなかった前半１／２小節、後半１／２小節に適応される。
【０１２１】
ステップ１５１４の判定で、ｎ＝１であれば（ＹＥＳ）、ステップ１５１６に進み、ＳＲＴ１、ＳＴＰ１にデフォルト値（例えばＣmaj）を記憶してステップ１５１７に進み、上記同様の処理を行ってステップ１５１８に進む。つまり、対象１小節の和音検出できなかった前半１／２小節、後半１／２小節にデフォルト値が適応される。
【０１２２】
ステップ１５１８ではｎ＝Ｉmax／２か否かの判定を行い、ｎ≠Ｉmax／２であれば（ＮＯ）、ステップ１５１９でｎを１増加させてステップ１５０２以降を繰り返す。ステップ１５０２〜１５１７の処理をステップ１５００で分割した全ての区間について繰り返し、ステップ１５１８の判定においてｎ＝Ｉmax／２となれば（ＹＥＳ）和音検出処理を終了する。
【０１２３】
本変形例は、演奏データを１／２小節毎に分割し、和音検出の対象を１小節とし、対象１小節の前半１／２小節、後半１／２小節でそれぞれ和音検出を行い、前後半一方のみで和音が検出された時は、その検出された和音を対象１小節全てに適応する。そして、前後半共に和音不明であれば対象１小節を和音検出区間として和音の検出を行うようにしているので、和音検出不能区間の補償が可能となる。
【０１２４】
４−２  和音変換処理の変形例
また、和音変換処理においては、図９のように１／２小節毎に処理を行うようにしているが、図１６のように１小節でコード変化がなかった場合は、１小節全体として変換を行うようにしてもよい。
【０１２５】
図１６の和音変換処理では、先ず、ステップ１６００で対象１小節で検出された和音と指定された和音を読み出す。つまり、前半１／２小節と後半１／２小節の検出和音と指定和音が読み出される。以下、図９と同じ処理は同じ図番を使い説明は省略する。
【０１２６】
ステップ１６０１ではステップ１６００で読み出した前半１／２小節と後半１／２小節の指定和音に変化があったか否かの判定を行う。ステップ１６０１で前半１／２小節と後半１／２小節の指定和音に変化があれば（ＹＥＳ）、ステップ１６０３に進む。
【０１２７】
ステップ１６０１で前半１／２小節と後半１／２小節の指定和音に変化がなければ（ＮＯ）、ステップ１６０２に進み、ステップ１６００で読み出した前半１／２小節と後半１／２小節の検出和音に変化があったか否かの判定を行う。
【０１２８】
ステップ１６０２で前半１／２小節と後半１／２小節の検出和音に変化があれば（ＹＥＳ）、ステップ１６０３に進み、前半１／２小節と後半１／２小節の検出和音に変化がなければ（ＮＯ）、ステップ１６０４に進む。
【０１２９】
ステップ１６０３では、前半１／２小節分の演奏データを各トラックごとに読み出してトラック数をｔｒに記憶して、ステップ１６０５に進む。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【０１３０】
ステップ１６０４では、対象小節１小節分の演奏データを各トラックごとに読み出してトラック数をｔｒに記憶して、ステップ１６０５に進む。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【０１３１】
ステップ１６０５でトラック番号を示すｎに１をセットし、ステップ９０４以下の処理を行う。ステップ９０４からステップ９０９までの処理は上記図９で示した和音変換処理のステップ９０４からステップ９０９までと同様の処理を行い、処理後ステップ１６０６に進む。
【０１３２】
ステップ１６０６ではステップ１６０３またはステップ１６０４で読み出した演奏データが１小節か否かの判定を行い、読み出した演奏データが１小節であれば（ＹＥＳ）、ステップ１６０９に進み、読み出した演奏データが１小節でなければ（ＮＯ）、ステップ１６０７に進む。この場合、前半１／２小節の和音変換処理が終了しただけで、後半１／２小節の和音変換処理はまだ行われていない。
【０１３３】
ステップ１６０７では残りの１／２小節の和音変換処理が終了したか否かの判定を行う。残りの１／２小節の和音変換処理が終了していれば（ＹＥＳ）、ステップ１６０９に進み、残りの１／２小節の和音変換処理が終了していなければ（ＮＯ）、ステップ１６０８で後半１／２小節分の演奏データを各トラックごとに読み出してトラック数をｔｒに記憶して、ステップ１６０５に進む。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【０１３４】
上記ステップ１６０９では全小節で和音変換処理が終了したか否かの判定を行い、終了していなければ（ＮＯ）ステップ１６１０で対象１小節を次の小節に移動してステップ１６００以降を繰り返す。全小節で和音変換処理が終了していれば（ＹＥＳ）もとのルーチンに復帰する。
【０１３５】
このルーチンを経た結果、対象１小節でコード変化がない場合、１小節を判定区間として和音変換、７度音生成処理を行う。このような処理を行うことで、得られる効果を図１７の例を用いて説明する。
【０１３６】
図１７（ａ）、（ｂ）の例では、あるパートの対象１小節の前半１／２小節内にＣ３、Ｅ３、Ｇ３のノートデータ、後半１／２小節内にＣ４、Ｇ３、Ｃ３のノートデータが存在していて、検出和音は前半１／２小節、後半１／２小節ともにＣmajである。そして、指定和音として前半１／２小節、後半１／２小節ともにＣmaj7が指示されたとする。
【０１３７】
図１７（ａ）は図９で示した和音変換処理に基づいて行った場合であり、１／２小節単位で７度音生成処理を行っている。前半１／２小節では上記▲５▼の条件に当てはまり、図１２でステップ１２０２→ステップ１２０４→ステップ１２０５→ステップ１２０７→ステップ１２０８→ステップ１２１０と進み、G３をB２に変換する。後半１／２小節では上記▲４▼の条件に当てはまり、図１２でステップ１２０２→ステップ１２０４→ステップ１２０５→ステップ１２０６と進み、C４をB３に変換する。
【０１３８】
図１７（ｂ）は図１６で示した和音変換処理に基づいて行った場合であり、１小節単位で７度音生成処理を行っている。その和音変換処理は上記▲６▼の条件に当てはまり、図１２でステップ１２０２→ステップ１２０４→ステップ１２１１→ステップ１２１２と進み、C４をB３に変換する。
【０１３９】
このように、図１７（ａ）のように図９で示した和音変換処理を行った場合では７度の音高がたくさん生成されてしまう可能性があり、図１７（ｂ）のように図１６で示した和音変換処理を行った場合のほうがより音楽的に違和感のない自然な演奏データを作成することができる。
【０１４０】
４−３  ７度音生成処理の変形例１
また、７度音生成処理において、▲５▼の条件に当てはまるとき、上記図１２のステップ１２０８からステップ１２１０のように処理して５度の音を７度の音高に変換したが、図１９のように前後の区間のキーオン領域（キーオン領域とはその区間内で発音されている全てのノートデータが存在する範囲をさす）の重畳部分に基づいて７度音生成を行ってもよい。
【０１４１】
このとき、以下の条件に基づいて７度音生成を行う。先ず、上記図１２のステップ１２００でノートデータを読み出した変換対象区間の前後の区間におけるキーオン領域を確定し、その前後のキーオン領域の重畳部分を確定する。
【０１４２】
▲５▼−１  その重畳部分に５度の音高よりも高い７度の音高、低い７度の音高ともに存在すれば、低い７度の音高を生成する。
▲５▼−２  その重畳部分に低い７度の音高のみ存在すれば、低い７度の音高を生成する。
▲５▼−３  その重畳部分に高い７度の音高のみ存在すれば、高い７度の音高を生成する。
▲５▼−４  その重畳部分に高い７度の音高も低い７度の音高も存在しなければ、低い７度の音高を生成する。
【０１４３】
図１８（ｈ）〜（ｊ）は上記条件で７度音生成処理を行った例である。
変換対象区間での和音構成音がＧ３、Ｅ４、Ｇ４で構成されていて、
図１８（ｈ）は重畳部分がＡ３〜Ｄ３である場合であり、５度の音高（Ｇ４）よりも低い７度の音高（Ｂ３）のみが重畳部分に存在するので、上記▲５▼−２の条件に当てはまり、最も高い５度の音高（Ｇ４）をこの音より低い７度の音高（Ｂ３）に変換する。
図１８（ｉ）は重畳部分がＣ４♯〜Ｆ４♯である場合であり、５度の音高（Ｇ４）より低い７度の音高（Ｂ３）も高い７度の音高（Ｂ４）も重畳部分に存在しないので、上記▲５▼−４の条件に当てはまり、最も高い５度の音高（Ｇ４）をこの音より低い７度の音高（Ｂ３）に変換する。
図１８（ｊ）は重畳部分がＦ４♯〜Ｂ４である場合であり、５度の音高（Ｇ４）よりも高い７度の音高（Ｂ４）のみが重畳部分に存在するので、上記▲５▼−３の条件に当てはまり、最も高い５度の音高（Ｇ４）をこの音より高い７度の音高（Ｂ４）に変換する。
【０１４４】
以下、図１８の例と図１９を参照して、上記条件で７度音生成処理を行った場合について説明する。
【０１４５】
図１９では先ず、ステップ１９００で変換対象区間の前後の区間でのキーオン領域を確定し、その前後のキーオン領域の重畳部分を確定する。次にステップ１９０１ではステップ１９００で確定した重畳部分に最も高い５度の音高よりも低い７度の音高が存在するか否かの判定を行う。
【０１４６】
上記ステップ１９０１の判定で、確定した重畳部分に最も高い５度の音高よりも低い７度の音高が存在すれば（ＹＥＳ）、ステップ１９０２に進み、最も高い５度の音高をこの音より低い７度の音高の音高に変換する。これは上記▲５▼−１、▲５▼−２の条件に相当する。
【０１４７】
上記ステップ１９０１の判定で、確定した重畳部分に最も高い５度の音高よりも低い７度の音高が存在しなければ（ＮＯ）、ステップ１９０３に進み、ステップ１９００で確定した重畳部分に最も高い５度の音高よりも高い７度の音高が存在するか否かの判定を行う。
【０１４８】
上記ステップ１９０３の判定で、確定した重畳部分に最も高い５度の音高よりも高い７度の音高が存在すれば（ＹＥＳ）、ステップ１９０４に進み、最も高い５度の音高をこの音より高い７度の音高に変換する。これは上記▲５▼−３の条件に相当する。
【０１４９】
上記ステップ１９０３の判定で、確定した重畳部分に最も高い５度の音高よりも高い７度の音高が存在しなければ（ＮＯ）、ステップ１９０２に進み、最も高い５度の音高をこの音より低い７度の音高に変換する。これは上記▲５▼−４の条件に相当する。
【０１５０】
以上のように前後の区間のキーオン領域の重畳部分に基づいて７度音生成を行うことにより、音楽的に違和感のない、より自然な演奏データを作成することができる。
【０１５１】
４−４  ７度音生成処理の変形例２
また、図１２の７度音生成処理においてステップ１２１２で生成すべき７度の音高に最も近いノートデータを７度の音高に変換するとしたが、強迫や弱拍にある最低音以外の和音構成音のノートデータを７度の音高に変換してもよい。また、音長の一番長い最低音以外の和音構成音のノートデータを７度の音高に変換してもよい。また、最も多く発音されている最低音以外の和音構成音のノートデータを７度の音高に変換してもよい。
【０１５２】
４−５  ７度音生成処理の変形例３
また、図１２の７度音生成処理において対象となる和音構成音を７度の音高に変換したが、変換せずに７度の音高を追加して元の対象となる和音構成音と同時に発音してもよい。
【０１５３】
例えば、“Ｅ３”、“Ｇ３”、“Ｃ４”から成る和音（“Ｃmaj”に相当する）を“Ｃmaj7”に変換しようとした場合、従来技術にあっては“Ｃ４”を７度の構成音である“Ｂ３”に音高変換するため、変換後のノートコードは“Ｅ３”、“Ｇ３”、“Ｂ３”から構成されており、和音“Ｅｍ”に聞こえてしまう問題があった。本変形例のように７度の音高を追加するように処理すれば“Ｂ３”の音高が追加されるので、変換後のノートコードは“Ｅ３”、“Ｇ３”、“Ｂ３”、“Ｃ４”から構成されており、和音“Ｃmaj7”として正確に変換できる。
【０１５４】
図１１に示した７度音生成処理の例を用いて７度の音高を追加した例を図２０（ａ）〜（ｇ）に示す。
図２０（ａ）は図１１（ａ）と同様、和音検出区間Ｉでの発音がC３のみで構成されている場合であり、上記▲１▼の条件に当てはまり、７度の音高への変換はしない。
図２０（ｂ）は図１１（ｂ）同様、和音検出区間Ｉでの発音がE３、G３、C４で構成されている場合であり、上記▲４▼の条件に当てはまり、最も高い１度の音高（C４）からそれより低い７度の音高（B３）を生成し、ノートデータC４の発音時B３も同時に発音する。
図２０（ｃ）は図１１（ｃ）同様、和音検出区間ＩにC３、E３、G３、C４のノートデータが１つずつ存在する場合であり、上記▲４▼の条件に当てはまり、最も高い１度の音高（C４）からそれより低い７度の音高（B３）を生成し、ノートデータC４の発音時B３も同時に発音する。
図２０（ｄ）は図１１（ｄ）同様、和音検出区間Ｉでの発音がE２、E３、G３で構成されている場合であり、上記▲５▼の条件に当てはまり、最も高い５度の音高（G３）からそれより低い７度の音高（B２）を生成し、ノートデータG３の発音時B２も同時に発音する。
図２０（ｅ）は図１１（ｅ）同様、和音検出区間Ｉでの発音がC３、E３、G３で構成されている場合であり、上記▲２▼および▲５▼の条件に当てはまり、最も高い５度の音高（G３）からこの音より高い７度の音高（B３）を生成し、ノートデータG３の発音時B３も同時に発音する。
図２０（ｆ）は図１１（ｆ）同様、和音検出区間Ｉでの発音がC３、E３で構成されている場合であり、上記▲３▼の条件に当てはまり、７度の音高への変換はしない。
図２０（ｇ）は図１１（ｇ）同様、和音検出区間Ｉでの発音がG２、C３、E３、G３、E４で構成されている場合であり、上記▲６▼の条件に当てはまり、生成すべき７度の音高（B３）に最も近い和音構成音（G３）から７度の音高（B３）を生成し、ノートデータG３の発音時B３も同時に発音する。
【０１５５】
４−６  ７度音生成処理の変形例４
また、図１２の７度音生成処理において変換対象区間内に７度の音高に変換する複数のノートデータがあった場合、その全てのノートデータを７度に変換していたが、その一部のノートデータのみを７度の音高に変換するようにしてもよい。
【０１５６】
さらに、図１２の７度音生成処理において全小節の演奏データについて同じ７度音生成処理を行うようにしているが、Ａメロ、Ｂメロ、サビ、エンディングなど、曲スタイルに応じて上記した変形例の処理を選択的に行うようにしてもよい。
【０１５７】
４−７  繰り返し回数の検出
また、和音変換処理を行うにあたって、変換対象区間のｎトラックで発音されているノートデータが何らかのパターンの繰り返しによって構成されているか否かを検出し、パターンの繰り返しが認められる場合は変換対象区間を分割し、この分割された領域毎に７度音生成処理を行うようにしてもよい。
【０１５８】
例えば、図９のステップ９０６の前段において、繰り返し回数の検出を行い、和音変換処理の変換対象区間をこの繰り返し回数に基づいて複数の領域に分割し、７度音生成処理をこの領域毎に行うようにすればよい。
【０１５９】
繰り返し回数の検出は例えば図２１のように行われる。  先ず、ステップ２１００でｐｔｎ１〜４の作成を行ってステップ２１０１に進む。
【０１６０】
このｐｔｎは、繰り返し領域パターンを記憶する記憶領域であり、前述した図９で読み出した１／２小節分の楽曲データのうち対象トラックｎのノートデータに基づいて作成するものである。また、このｐｔｎは１／２小節を１６ブロックに等分割して下記のように作成する。
ｐｔｎ１＝最初の１６ブロック（最初の１／２小節）
ｐｔｎ２＝最初の  ８ブロック（最初の１／４小節）
ｐｔｎ３＝最初の  ４ブロック（最初の１／８小節）
ｐｔｎ４＝最初の  ２ブロック（最初の１／１６小節）
【０１６１】
ステップ２１０１では、ｐｔｎ２＋ｐｔｎ２＝ｐｔｎ１か否かの判定を行う。ｐｔｎ２＋ｐｔｎ２≠ｐｔｎ１（ＮＯ）であれば、最初の１／４小節の２回繰り返しが最初の１／２小節と異なるということなので、繰り返しは無しと判断され、ステップ２１０２に進む。
【０１６２】
ステップ２１０２では、ｐｔｎ１（１／２小節）で繰り返しなしと確定し、繰り返し回数を指すＲに１を記憶してもとのルーチンに復帰する。
【０１６３】
ステップ２１０１で、ｐｔｎ２＋ｐｔｎ２＝ｐｔｎ１（ＹＥＳ）であれば、ステップ２１０３に進み、ｐｔｎ３＋ｐｔｎ３＝ｐｔｎ２か否かの判定を行う。ｐｔｎ３＋ｐｔｎ３≠ｐｔｎ２（ＮＯ）であれば、最初の１／８小節の２回繰り返しが最初の１／４小節と異なるということなので、対象の１／２小節は１／４小節の２回繰り返しと判断され、ステップ２１０４に進む。
【０１６４】
ステップ２１０４では、ｐｔｎ２（１／４小節）を繰り返し領域と確定し、Ｒ＝２を記憶してもとのルーチンに復帰する。
【０１６５】
ステップ２１０３で、ｐｔｎ３＋ｐｔｎ３＝ｐｔｎ２（ＹＥＳ）であれば、ステップ２１０５に進み、ｐｔｎ４＋ｐｔｎ４＝ｐｔｎ３か否かの判定を行う。ｐｔｎ４＋ｐｔｎ４≠ｐｔｎ３（ＮＯ）であれば、最初の１／１６小節の２回繰り返しが最初の１／８小節と異なるということなので、対象の１／２小節は１／８小節の４回繰り返しと判断され、ステップ２１０６に進む。
【０１６６】
ステップ２１０６では、ｐｔｎ３（１／８小節）を繰り返し領域と確定し、Ｒ＝４を記憶してもとのルーチンに復帰する。
【０１６７】
ステップ２１０５で、ｐｔｎ４＋ｐｔｎ４＝ｐｔｎ３（ＹＥＳ）であれば、最初の１／１６小節の２回繰り返しが最初の１／８小節と一致するということなので、対象の１／２小節は１／１６小節の８回繰り返しと判断され、ステップ２１０７に進む。
【０１６８】
ステップ２１０７では、ｐｔｎ４（１／１６小節）を繰り返し領域と確定し、Ｒ＝８を記憶してもとのルーチンに復帰する。
【０１６９】
以上のように検出された繰り返し回数に基づいて変換対象区間を１ないし８の領域に分割し、分割された各領域毎に図１２の７度音生成処理を行う。
【０１７０】
なお、繰り返し回数の検出は、ノートデータ中のノートナンバを参照するかノートコードを参照するかによって結果が異なる場合がある。
【０１７１】
図２２（ａ）、（ｂ）にノートナンバに基づいて繰り返し領域を検出した場合と、ノートコードに基づいて繰り返し回数を検出した場合で、図１２に示した７度音生成処理を行った結果を示す。
【０１７２】
ここで図２２の例では、あるパートの対象１／２小節の前半１／４小節内にＥ３、Ｇ３のノートデータ、後半１／４小節内にＥ４、Ｇ４のノートデータが存在していて、対象１／２小節での検出和音はＣmajである。そして、指定和音としてＣmaj7が指示されたとする。
【０１７３】
図２２（ａ）はノートナンバに基づいて繰り返し領域を検出した場合で図１２に示した７度音生成処理を行った結果である。前半１／２小節（Ｅ３、Ｇ３）と後半１／２小節（Ｅ４、Ｇ４）では異なるノートナンバであるので、繰り返しはなしと確定し、上記▲５▼の条件に当てはまり、ステップ１２０２→ステップ１２０４→ステップ１２０５→ステップ１２０７→ステップ１２０８→ステップ１２１０と進み、G４をB３に変換する。
【０１７４】
図２２（ｂ）はノートコードに基づいて繰り返し領域を検出した場合で図１２に示した７度音生成処理を行った結果である。前半１／２小節（Ｅ３）、Ｇ３））と後半１／２小節（Ｅ４）、Ｇ４））では同じノートコード（Ｅ、Ｇ）であるので、１／４小節の２回繰り返しと確定し、前半１／４小節も後半１／４小節も上記▲２▼や▲５▼の条件に当てはまり、ステップ１２０２→ステップ１２０４→ステップ１２０５→ステップ１２０７→ステップ１２０８→ステップ１２０９と進み、G３）をB３）に、G４）をB４）に変換する。
【０１７５】
したがって、図２２（ａ）、（ｂ）に例示するようにノートナンバを参照した場合とノートコードを参照した場合とでは異なる結果が得られる。
【０１７６】
この繰り返し回数の検出においてノートナンバとノートコードのどちらを参照するかを全体もしくは１／２小節毎もしくは１小節毎などの単位で選択できるようにし、音楽的に違和感のない自然な演奏データを作成することができるものを選択的に使用するようにしてもよい。
【０１７７】
さらに、上述した７度音生成処理変形例１〜４を適宜組み合わせて行うことも、もちろん可能である。例えば、図２２（ｃ）、（ｄ）のように図１９で例示するように７度音生成処理の変形例１と組み合わせて行ってもよい。
【０１７８】
図２２（ｃ）はノートナンバに基づいて繰り返し領域を検出した場合で図１９に示した７度音生成処理を行った結果である。前半１／２小節（Ｅ３、Ｇ３）と後半１／２小節（Ｅ４、Ｇ４）では異なるノートデータであるので、繰り返しはなしと確定し、上記▲５▼−３の条件に当てはまり、ステップ１９００→ステップ１９０１→ステップ１９０３→ステップ１９０４と進み、Ｇ４をＢ４に変換する。
【０１７９】
図２２（ｄ）はノートコードに基づいて繰り返し領域を検出した場合で図１９に示した７度音生成処理を行った結果である。前半１／２小節（Ｅ３、Ｇ３）と後半１／２小節（Ｅ４、Ｇ４）では同じノートコード（Ｅ、Ｇ）であるので、１／４小節の２回繰り返しと確定し、前半１／４小節区間に対して後半１／４小節区間が後区間キーオン領域となり、重畳部分（Ｅ４〜Ｇ４）には７度の音高がないので、上記▲５▼−４の条件に当てはまり、Ｇ３をＢ２に変換する。後半１／４小節においても同様に上記▲５▼−４の条件に当てはまり、Ｇ４をＢ３に変換する。
【０１８０】
以上のように、繰り返し回数を検出する手段と図１２、図１９に示した７度音生成処理手段を適宜組み合わせて用いて、音楽的に違和感のない自然な演奏データを作成することができるものを選択的に使用することも可能である。
【０１８１】
さらに、７度音生成処理は各領域毎に同じ処理を繰り返してもよいし、各領域毎に上記の７度音生成処理の変形例１〜４の処理を選択的に行うようにしてもよい。また、７度音生成処理を全ての領域で行わずに、７度音生成処理を行う領域を選択して７度音生成を行うようにしてもよい。
【０１８２】
４−８  その他の変形例
また、コードの検出及び指定は１／２小節毎に可能としたが、これに限らず、１拍毎や、１小節毎で行ってもよい。
【０１８３】
また、コードの検出はドラムパートを除く全てのパートのノートデータに基づいて行うようにしたが、一部のパートとしてもよく、この一部のパートは固定であってもよいし、使用者が指定してもよい。
【０１８４】
また、逆変換処理を行うについて基準和音として“Ｃmaj7”を用いたが、その他の和音であってもよい。その際は、図６の逆音程変換テーブルや図１０の音程変換テーブルで示すシフト量を適宜変更すればよい。
【０１８５】
また、予めコード進行データを記憶するようにしておき、和音検出処理は省略してもよい。
【０１８６】
また、音高変換するパートはドラムパートを除く全てのパートのノートデータに基づいて行うようにしたが、一部のパートとしてもよく、この一部のパートは固定であってもよいし、使用者が指定してもよい。
【０１８７】
また、第１実施形態では和音変換処理を各トラック毎に行ったが、パート毎に行ってもよい。
【０１８８】
また、演奏データは楽曲を構成するメロディーパートの自動演奏データと伴奏パートの自動演奏データとから成り、伴奏パートのみの自動演奏データを和音変換処理するものであってもよい。
【０１８９】
また、第１実施形態では操作者によって指定コード変換処理スタート指示ボタン４０５が押された場合、全小節の演奏データについて和音変換処理を行うようにしているが、操作者が和音検出や和音変換処理を行いたい区間を指定して、その部分だけで和音検出や和音変換処理を行ってもよい。
【０１９０】
また、第１実施形態では指定コードは空白であり、操作者が図４（Ｂ）に示したコード入力画面を用いてコード入力を行うようにしているが、和音の検出を行った時点で検出した和音をあらかじめ指定コードとしてコピーしていてもよい。また、指定コードが空白のまま、操作者によって指定コード変換処理スタート指示ボタン４０５が押された場合は、検出コードを指定コードとしてコピーして和音変換処理を行ってもよい。
【０１９１】
また、検出した和音に基づいてノートデータを逆変換するものに限らず、指定された和音へと直接変換してもよい。この場合、検出した和音に基づいて各ノートデータの属性（１度、３度、５度等）を求め、本発明に適用すればよい。この場合、第４和音構成音生成処理は各音名に対応した変換テーブルを用意しておいて、求めた各ノートデータの属性とその変換テーブルに基づいて第４和音構成音生成を行えばよい。なお、各ノートデータの属性の求め方は例えば、特開平６−３３７６７７に詳しく記載されている。
【０１９２】
また、生成する第４和音構成音は長７度に限らず、短７度、長６度、短６度等でもよい。
【０１９３】
また、第４和音構成音生成規則に基づく処理フローによって第４和音構成音を生成したが、第４和音構成音生成規則をテーブル化（例えば、元ノートの組み合わせ−生成後ノートの組み合わせをテーブル化したもの）し、これに基づいて第４和音構成音を生成してもよい。
【０１９４】
また、和音構成音から第４和音構成音を生成するものに限らず、非和音構成音から第４和音構成音を生成してもよい。
【０１９５】
また、第２の実施形態において、全ての伴奏パターンが“Ｃmaj”に基づいて作成されているとしたが、“Ｃmaj7”に基づいて作成されたものも含まれていてもよい。その場合、“Ｃmaj”と“Ｃmaj7”のどちらに基づいて作成されたものなのかを識別（例えば元和音情報を伴奏パターン中に含ませておく）し、“Ｃmaj”であるとされたものについてのみ本発明を適用すればよい。また、全ての伴奏パターンが別の３音構成の和音に基づいて作成されていてもよく、その場合は一旦“Ｃmaj”に逆変換すればよいし、対応するテーブルを用意しておいてもよい。また、伴奏パターンは他の根音や他のタイプの和音が混在して作成されていてもよく、その場合は一旦“Ｃmaj”あるいは“Ｃmaj7”に逆変換すればよい。
【０１９６】
また、第２の実施形態において、和音の指定は鍵盤以外の演奏操作子（例えば弦楽器型等）で行ってもよい。
【０１９７】
また、記録媒体の演奏データではなく、演奏者によってリアルタイムに入力されるような楽曲データを変換するものであってもよい。
【０１９８】
また、演奏データの編集装置であって、演奏データの作成及び編集を行うものにおいて、例えばユーザーによって任意に作成及び編集される演奏データを適宜変換できるものであってもよい。
【０１９９】
また、演奏データ入力手段で行われる入力は、鍵盤やパネルスイッチ等から供給されるものであってもよいし、通信や各種メモリから供給されるものであってもよい。
【０２００】
また、出力手段で行われる出力は、楽音として発生させるものであってもよいし、メモリに書き込むようなものであってもよい。
【０２０１】
また、本発明を自動演奏装置や自動伴奏装置に適用した例を説明したが、実施の形態はこれに限定されるものではない。
【０２０２】
例えば、本発明をパーソナルコンピュータ等の汎用計算機上で動作するアプリケーションプログラムとしてもよい。この場合、プログラムは前記の各種記録媒体によって供給されるものとしてもよいし、ネットワーク上で実行されるプログラムであって遠隔地のサーバー上もしくは該サーバーからダウンロードすることで実行されるようなものであってもよい。
【０２０３】
また、携帯電話やゲーム機器、ゲームソフトの一部の機能として組み込まれる形態であってもよい。
【０２０４】
また、演奏情報メモリ、伴奏パターンメモリは遠隔地のサーバーコンピュータ等に置かれていてもよい。
【０２０５】
また、本発明の音源としてソフトウェア音源を使用してもよい。
【０２０６】
また、第２実施形態において、本発明の自動伴奏装置で用いた鍵盤はソフトウェアキーボードやゲーム機器のコントローラーや携帯電話の操作パネルのようなものであってもよい。
【０２０７】
【発明の効果】
以上説明したように、本発明によれば、演奏データを４音構成の和音に応じた音高に音高変換するにあたって、演奏データが３音構成の和音に基づくものであったとしても、第４和音構成音を適宜変更して生成できるため、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【０２０８】
また、本発明によれば、伴奏パターンメモリ等に記憶する和音が４音構成である必要があったが、伴奏パターンメモリ等に記憶する和音が３音構成であっても４音構成の和音に正しく変換することができるので、音楽的に違和感のない自然な演奏データを作成するが可能となる。
【０２０９】
また、本発明によれば、第４和音構成音を生成する際、変換候補となる楽音情報を決定して変換可能であるものだけを第４和音構成音に変換するので、不適切なものまで変換してしまうことがない。
【０２１０】
また、本発明によれば、第４和音構成音に相当する複数の音高の楽音情報を選択的に追加するので、供給された和音に正確に変換することができる。
【０２１１】
また、本発明によれば、第４和音構成音を生成する際、第４和音構成音を生成するための複数の規則のうち適切なものを選択して、選択された規則に基づいて第４和音構成音に相当する楽音情報を生成するので、演奏パートの特徴（ベース系、ピアノ系、ギター系など）に応じて、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【０２１２】
また、本発明によれば、第４和音構成音を生成する際、楽音情報のうち最低の音高にならないものを選択的に生成するするので、ルート音を変えることなく４音構成の和音に正しく変換することができる。
【０２１３】
また、本発明によれば、３度の音高は第４和音構成音への変換対象としないので、各ノートデータの音高差が和音として不適当なものとならない。
【０２１４】
また、本発明によれば、最低音以外に１度の音高がある場合はこの一度の音高からすぐ近くにある第４和音構成音（実施形態では低い７度）を生成するので、前後の区間とのつながりが不自然になることはない。
【０２１５】
また、本発明によれば、演奏データまたは伴奏パターンは３音構成であっても構わないのでメモリサイズを小さくすることが可能である。
【０２１６】
また、本発明によれば、演奏データまたは伴奏パターンの作成も３音構成の和音で行うことができ、作成が容易になる。
【０２１７】
また、本発明によれば、和音検出処理において、演奏データを１／２小節毎に分割し、和音検出の対象を１小節とし、対象１小節の前半１／２小節、後半１／２小節でそれぞれ和音検出を行い、前後半一方のみで和音が検出された時は、その検出された和音を対象１小節全てに適応する。そして、前後半共に和音不明であれば対象１小節を和音検出区間として和音の検出を行うようにしているので、和音検出不能区間の補償が可能となる。
【０２１８】
また、本発明によれば、和音変換処理において、１小節でコード変化がなかった場合は、１小節全体として変換を行っているので、より音楽的に違和感のない自然な演奏データを作成することができる。
【０２１９】
また、本発明によれば、前後の区間のキーオン領域の重畳部分に基づいて第４和音構成音生成処理を行っているので、音楽的に違和感のない、より自然な演奏データを作成することができる。
【０２２０】
また、本発明によれば、和音変換処理において、変換対象区間のｎトラックで発音されているノートデータが何らかのパターンの繰り返しによって構成されているか否かを検出し、パターンの繰り返しが認められる場合は変換対象区間を分割し、この分割された領域毎に第４和音構成音生成処理を行っているので、音楽的に違和感のない、より自然な演奏データを作成することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態の自動演奏装置のブロック図である。
【図２】第１実施形態における供給される演奏データのフォーマットを示す図である。
【図３】第１実施形態におけるトラック分けを示す図である。
【図４】第１実施形態における処理ウインドウの一例の説明図である。
【図５】第１実施形態におけるメイン処理ブロック図である。
【図６】第１実施形態における逆音程変換テーブルの一例を示す図である。
【図７】第１実施形態における和音検出処理のフロチャートである。
【図８】第１実施形態における和音種類テーブルの一例を示す図である。
【図９】第１実施形態における和音変換処理のフロチャートである。
【図１０】第１実施形態における音程変換テーブルの一例を示す図である。
【図１１】第１実施形態における７度音変換例を示した図である。
【図１２】第１実施形態における７度生成処理のフロチャートである。
【図１３】本発明の第２実施形態の自動伴奏装置のブロック図である。
【図１４】第２実施形態におけるメイン処理ブロック図である。
【図１５】和音検出処理の変形例のフロチャートである。
【図１６】和音変換処理の変形例のフロチャートである。
【図１７】１小節内でコード変化がない場合に１小節単位で７度音生成処理をする理由を示した図である。
【図１８】７度音生成処理の変形例を示した図である。
【図１９】７度音生成処理の変形例のフロチャートである。
【図２０】７度音追加例を示した図である。
【図２１】繰り返し回数検出処理のフロチャートである。
【図２２】７度音生成処理の別の変形例を示した図である。
【符号の説明】
１０１  ＣＰＵ、１０２  入力手段、１０４  表示手段、１０６  音源手段、１１５  演奏情報メモリ（ＲＡＭ）、１１６  ワーキングメモリ（ＲＡＭ）、１１７  プログラムメモリ（ＲＯＭ）、
４０１  演奏データ表示領域、４０２  和音検出処理スタート指示ボタン、４０３  検出コード表示領域、４０４  指定コード表示領域、４０５  指定コード変換処理スタート指示ボタン、４０８  コードルート指示領域、４０９  コードタイプ指示領域、４１１  コード表示領域、４１２  コード入力ボタン、４１４  コードルート選択ボタン、４１５  コードタイプ選択ボタン、
１３０８  伴奏パターンメモリ（ＲＯＭ）、１３０９  鍵盤、１３１０  パネルスイッチ
【図１】
0004253997.tif 000002
【図２】
0004253997.tif 000003
【図３】
0004253997.tif 000004
【図４】
0004253997.tif 000005
【図５】
0004253997.tif 000006
【図６】
0004253997.tif 000007
【図７】
0004253997.tif 000008
【図８】
0004253997.tif 000009
【図９】
0004253997.tif 000010
【図１０】
0004253997.tif 000011
【図１１】
0004253997.tif 000012
【図１２】
0004253997.tif 000013
【図１３】
0004253997.tif 000014
【図１４】
0004253997.tif 000015
【図１５】
0004253997.tif 000016
【図１６】
0004253997.tif 000017
【図１７】
0004253997.tif 000018
【図１８】
0004253997.tif 000019
【図１９】
0004253997.tif 000020
【図２０】
0004253997.tif 000021
【図２１】
0004253997.tif 000022
【図２２】
0004253997.tif 000023