JP4253997B2 - Musical sound information conversion apparatus, control method therefor, and storage medium storing program for realizing the control method - Google Patents

Musical sound information conversion apparatus, control method therefor, and storage medium storing program for realizing the control method Download PDF

Info

Publication number
JP4253997B2
JP4253997B2 JP2000092339A JP2000092339A JP4253997B2 JP 4253997 B2 JP4253997 B2 JP 4253997B2 JP 2000092339 A JP2000092339 A JP 2000092339A JP 2000092339 A JP2000092339 A JP 2000092339A JP 4253997 B2 JP4253997 B2 JP 4253997B2
Authority
JP
Japan
Prior art keywords
chord
pitch
information
pitch information
partial section
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
JP2000092339A
Other languages
Japanese (ja)
Other versions
JP2001282245A (en
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 JP2000092339A priority Critical patent/JP4253997B2/en
Publication of JP2001282245A publication Critical patent/JP2001282245A/en
Application granted granted Critical
Publication of JP4253997B2 publication Critical patent/JP4253997B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、電子楽器、予め記憶しておいた演奏情報又は外部から供給される演奏情報に基づいて自動伴奏を行う自動伴奏装置、自動演奏する自動演奏装置などに適用されて、供給される演奏データの変換、修正等の編集を行う楽音情報変換装置、その制御方法または該制御方法を実現するプログラムを格納した記憶媒体に関する。
【0002】
【従来の技術】
従来、演奏データに基づいた自動演奏や自動伴奏を行うシーケンサなどにおいて、演奏データに含まれるノートデータをユーザによって指定された和音に基づいて適宜変換を行う機能を有するものがあった。このような従来技術は、例えば特開平8-16094号公報に演奏データ編集装置として開示されている。この種の演奏データ編集装置においては、演奏データからあらかじめ和音の根音、種別を検出しておき、これら検出した和音情報に基づいて一旦全てのノートデータを基準和音である"Cmaj7"に対応する音高のノートデータにシフトし、その後指定されている和音に対応するノートデータへの変換を行うことにより、所望の和音への変換を実現している。
【0003】
【発明が解決しようとする課題】
ところで、和音は3音構成のもの(メジャーコードやマイナーコードなど)と、4音構成以上のもの(セブンスコードなど)に大別される。演奏データが第4和音構成音(例えばセブンスコードなら7度の音のことを指し、本願では9度、11度、13度等の音も含めて第4和音構成音と呼ぶ)を含むものであり、演奏データから検出した和音が4音構成であれば、第4和音構成音を1度等の他の構成音に変換することにより、あらゆる3音構成、4音構成の和音へと変換を行うことができる。
【0004】
一方、上と同様、演奏データが第4和音構成音を含まないものであり、演奏データから検出した和音が3音構成であれば、4音構成の和音へ変換するには第4和音構成音を生成しなければならない。このような場合、従来技術においては、基準和音"Cmaj7"の1度の構成音である"C"に相当するノートコードを第4和音構成音である"B"に音高変換することで対処していた。しかし、このように1度の構成音を第4和音構成音に単純に音高変換したとしても、"Cmaj7"の和音を構成している和音構成音は3種類であることに変わりなく、こういった従来技術のものにおいては、1度の構成音を第4和音構成音に音高変換した結果、変換後のノートコードの組み合わせが変換されるべき和音にならないといった問題があった。
【0005】
例えば、"C"、"E"、"G"、"C"から成る和音("Cmaj"に相当する)を"Cmaj7"に変換しようとした場合、従来技術にあっては"C"、"C"を7度の構成音である"B"、"B"に音高変換する。この結果変換後のノートコードは"B"、"E"、"G"、"B"から構成されており、このノートコードの組み合わせは和音"Em"に相当する。また、"C"、"E"、"G"から成る和音("Cmaj"に相当する)を"Cmaj7"に変換しようとした場合、同様に"C"を7度の構成音である"B"に音高変換する。この結果変換後のノートコードは"B"、"E"、"G"から構成されており、このノートコードの組み合わせは分数和音である"ConB"に相当する。
【0006】
すなわち、従来技術においては、演奏データをユーザーが指定した和音に変換するにあたって、実質的に演奏データ中に和音構成音が必ず4種類存在することが要求されており、変換可能な演奏データが著しく制限されていた。
【0007】
本発明は上記従来技術における問題点を解決すべくなされたものであり、演奏データ中に和音構成音が4種類存在しなかったとしても4音構成の和音に正しく変換することを目的としたものであって、さらに演奏パートの特徴(ベース系、ピアノ系、ギター系など)に応じて第4和音構成音を生成する処理を適宜変更して、音楽的に違和感のない自然な演奏データを作成することを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するためになした本発明の請求項1記載の楽音情報変換装置は発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、前記部分区間に対応した和音情報を入力する入力手段と、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出手段と、該抽出手段によって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、該生成手段によって第4和音構成音を生成する際の基となった音高情報を、当該生成された第4和音構成音の音高情報によって置き換える置き換え手段とを備え、前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換え手段によって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする。
【0009】
また、本発明の請求項2記載の楽曲情報変換装置は発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、前記部分区間に対応した和音情報を入力する入力手段と、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出手段と、該抽出手段によって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、該生成手段によって生成された第4和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加手段とを備え、前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加手段によって音高情報が追加された後の音高情報を変換することを特徴とする。
【0010】
本発明のその他の特徴とするところは、前記3つの和音構成音中の所定の一部の和音構成音は、5度の音高のものであることを特徴とする。
【0014】
また、本発明の請求項4記載の記憶媒体は、CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって前記制御方法は、前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、前記CPUが、前記生成ステップによって第4和音構成音を生成する際の基となった音高情報を、当該生成された第4和音構成音の音高情報によって置き換える置き換えステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする。
【0015】
また、本発明の請求項5記載の記憶媒体は、CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって前記制御方法は、前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、前記CPUが、前記生成ステップによって生成された第4和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする。
【0016】
また、本発明の請求項7記載の制御方法は、CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法であって前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、前記CPUが、前記生成ステップによって第4和音構成音を生成する際の基となった音高情報を、当該生成された第4和音構成音の音高情報によって置き換える置き換えステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする。
【0017】
また、本発明の請求項8記載の制御方法は、CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法であって前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、前記CPUが、前記生成ステップによって生成された第4和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップとを備え、前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする。
【0025】
【発明の実施の形態】
次に図面を参照して本発明を自動演奏装置に適用した第1実施形態について説明する。
〔1〕 第1実施形態のハードウェア構成
図1に自動演奏装置の概要構成ブロック図を示す。
自動演奏装置100は自動演奏装置100全体の制御を行うためのCPU101と、各種データの入力を行うためのマウス等のポインティングデバイスやキーボードなどの入力手段102と、CPU101と入力手段102との間のインターフェイス動作を行う入力手段インターフェイス103とを備えて構成されている。
【0026】
また、自動演奏装置100は、各種表示を行う表示手段104と、バス105を介して供給された演奏データに基づいて複数の発音チャンネルの音楽信号を生成する音源手段106と、音源手段106により出力された音楽信号に各種効果処理(エフェクト処理)を施す効果手段107と、効果手段107により入力された音声信号を増幅して音響信号として出力するサウンド装置108とを備えて構成されている。前記ポインティングデバイスはスイッチ等を有していて、表示手段104上の任意の位置を指定し、クリック(ある場所でポインティングデバイスのスイッチをオンし、その場でオフすること)等の操作をすることにより、各種の機能を指定することができる。
【0027】
さらに、自動演奏装置100は外部のMIDI機器109との間のインターフェイスであるMIDIインターフェイス110と、通信ネットワーク111を介して外部のサーバーコンピュータ112との間のインターフェイスである通信インターフェイス113とを備えて構成されている。
【0028】
さらにまた、ハードディスクドライブ、フレキシブルディスクドライブ、CD−ROMドライブ、MO(Magneto Optical)ディスクドライブ、DVD(Digital Versatile Disc)ドライブ、フラッシュメモリ等の半導体記憶装置等の外部記憶装置114と、MIDIインターフェイス110、通信インターフェイス113や外部記憶装置114から供給された演奏データを記憶する演奏情報メモリ(RAM)115と、各種変数やデータ等を一時的に記憶するワーキングメモリ(RAM)116と、制御用プログラム及びデータ等を記憶するプログラムメモリ(ROM)117と、各種タイミング制御を行うタイマ118とを備えて構成されている。
【0029】
この場合において、CPU101は、入力手段インターフェイス103、表示手段104、音源手段106、効果手段107、MIDIインターフェイス110、通信インターフェイス113、外部記憶装置114、演奏情報メモリ(RAM)115、ワーキングメモリ(RAM)116及びプログラムメモリ(ROM)117とバス105を介して接続されている。
【0030】
MIDIインターフェイス110、通信インターフェイス113または外部記憶装置114から供給される演奏データは、一ないし複数のチャンネルのデータを備えて構成されており、各チャンネルを構成しているノートデータは音高を表すノートナンバ(0〜127、C3=60)等の情報を持っている。なお、本願でいうノートコードとはノートナンバを12で除算した余り(0〜11)であり、ノートデータの音名に相当するものである。
【0031】
図2は供給された演奏データのフォーマット例を示す図であり、外部から供給される演奏データは、キーオンのタイミングを曲の先頭や1つ前のイベントデータからのクロック数によって表すタイミングデータ、チャンネルを示すチャンネル番号(チャンネル1、チャンネル2,…)、ノートナンバやベロシティなどのイベント情報を示すイベントデータ、および、曲の終了を示すエンドデータで構成されている。
【0032】
MIDIインターフェイス110、通信インターフェイス113または外部記憶装置114から供給された上記演奏データはCPU101による制御プログラムの実行により図3のように同じチャンネルのノートデータが同じトラックに分類され、これにより複数のトラックに分離されて演奏情報メモリ(RAM)115に記憶される。この時点で、トラック数が記憶領域tr(後述)に記憶される。
【0033】
また、外部から供給される演奏データは、図3(b)のように予め複数のトラックに分離されていてもよい。
【0034】
〔2〕第1実施形態の動作
2−1 処理画面の構成
次に、動作説明に先立ち、表示手段104に表示される処理画面の一例について図4を参照して説明する。
【0035】
上記自動演奏装置100は、図4(A)に示す各トラックの演奏データを表示するトラック情報表示画面と、図4(B)に示す操作者が指定したコードを入力する時に表示されるコード入力画面とを備えて構成されている。
【0036】
図4(A)に示すトラック情報表示画面は、複数のトラック番号を表示するトラック番号表示領域400と、各トラック番号に対応して記憶され、該当トラックの演奏データをトラック毎に表示する演奏データ表示領域401と、後述する和音検出処理を開始するための操作を指示する和音検出処理スタート指示ボタン402と、和音検出処理によって検出されたコードを表示する検出コード表示領域403と、操作者が指定したコードを表示する指定コード表示領域404と、後述する操作者が指定したコードに演奏データを変換する処理を指示する指定コード変換処理スタート指示ボタン405と、操作者がコードを入力しようとしている小節の位置を表示する小節位置表示カーソル406と表示エリアを変更するスクロールバー407を備えて構成されている。
【0037】
また、図4(B)に示すコード入力画面は、コードルートを指示するコードルート指示領域408と、コードタイプを指示するコードタイプ指示領域409と、操作者がコードを入力しようとしている小節の位置を表示する小節位置表示領域410と、現在指定されているコードを表示するコード表示領域411と、操作者が指定したコードを指定位置に入力するための操作を指示するコード入力ボタン412と、コードの入力をキャンセルするためのキャンセルボタン413とを備えて構成されている。なお、第一実施形態においては各小節の前半1/2小節、後半1/2小節について各々和音を指定することが可能である。
【0038】
図4においては、トラック情報表示画面、コード入力画面ともに、小節位置表示カーソル406および小節位置表示領域410に例示するように21小節目前半がコード入力位置として指定されている。
【0039】
例えば、操作者が21小節目前半にコード"Cmaj"を指定して入力する場合、指定コード表示領域404の21小節目前半をポインティングデバイス等の入力手段102でクリックすることにより、図4(A)に示した21小節目前半の位置に小節位置表示カーソル406が表示され、図4(B)に示すコード入力画面が表示される。コードルート指示領域408は各音名(C〜B)および、半音階(♯や♭等)を選択するためのボタン414が各音名に対応して配置されており、「C」に対応するボタンを選択すると、コードのルートとして「C」が指示される。また、コードタイプ指示領域409は「maj」、「maj7」、等のコードのタイプを選択するためのボタン415が各タイプに対応して配置されており、「maj」に対応するボタンを選択すると、コードのタイプとして「maj」が指示される。そして、コード入力ボタン412が押されると、21小節目前半に"Cmaj"が入力される。
【0040】
また、図4の処理画面においては、図4(A)に示すトラック情報画面には、多数あるトラックのうちの一部分のみ、および、複数ある小節のうちの一部分のみが表示されており、演奏データ表示領域401の右方あるいは下方等に表示されているスクロールバー407を利用して表示エリアを変更することにより、他のトラックあるいは、他の小節を表示させることができる。
【0041】
2−2 全体動作
次に、上記のように構成した第1実施形態の動作について説明する。まず、図5を参照して第1実施形態のCPU101で実行されるコード変換処理の流れを説明する。
【0042】
CPU101は図5のコード変換処理プログラムを始めとして、種々のプログラムを操作者の操作等によって発生するイベントに応じて実行する。メインルーチン(図示略)は常時イベントの発生を監視しており、発生したイベントに応じたプログラムを呼び出し、対応した処理を実行するものである。図5は操作者の操作により和音検出指示イベントや和音情報供給イベント、音高変換指示イベントなどが発生した時に、CPU101において実行される処理の流れを示したものである。
【0043】
以下の説明および各フローチャートにおいて、制御に用いられるRAM116の各記憶領域等を下記のラベルで表記し、同一のラベルで表す各記憶領域等の内容はとくに断らない限り同一のものとする。
【0044】
Imax:1/2小節区間の個数をカウントする記憶領域
I:1/2小節区間の現在位置を指す記憶領域
CHRD:和音検出区間(1/2小節区間)において、各音名に対応する発音があったか否かを一時記憶する記憶領域で、ノートコード(0〜11)に対応する12ビットの記憶領域
RPT:マッチングした時の循環シフトのシフト回数をカウントする記憶領域
RES:マッチングした時の検出した和音の種類を記憶する記憶領域
SRT:和音検出区間(1/2小節区間)において、検出した和音のコードルートを格納する記憶領域
STP:和音検出区間(1/2小節区間)において、検出した和音の種類を格納する記憶領域
DRT:和音検出区間(1/2小節区間)において、指定した和音のコードルートを格納する記憶領域
DTP:和音検出区間(1/2小節区間)において、指定した和音の種類を格納する記憶領域
tr:トラック数をカウントする記憶領域
n:現在のトラック番号を指す記憶領域
CA:和音検出区間(1/2小節区間)において、1度の音高及び5度の音高に相当するノートデータをすべて一時記憶する記憶領域
【0045】
さて、図5のコード変換処理では、操作者の操作等によって発生するコード変換処理指示イベントに応じて、まず最初に入力手段500で、予めMIDIインターフェイス110、通信インターフェイス113及び外部記憶装置114から演奏データが供給され、図3及び図4のブロック表示領域401に示したように供給された演奏データをトラック毎に分類して演奏情報メモリ(RAM)115に記憶する。この時、ディスプレイの画面上には、図4(A)に示すトラック情報表示画面が表示されるが、この時点では検出コード表示領域403、指定コード表示領域404ともに空白である。次に、和音検出処理スタート指示ボタン402が操作されたことに応じて、和音検出指示イベント501が発生すると、和音情報抽出手段502で図6の和音検出処理(後述)を開始し、検出した和音情報をメモリに記憶する。(この和音検出処理はドラムパートを除く演奏データの全ノートデータに基づいて行われる。以下、ドラムパートとはドラム音色のノートデータを含むトラックのことを指す。)この時点において、トラック情報表示画面上の検出コード表示領域403にコード名が図4に示したように表示される。
【0046】
和音情報供給手段503で、操作者が図4(B)に示したコード入力画面を用いてコード入力を行うことにより、該入力したコードが指定コード表示領域404の指定小節に表示される。次に、指定コード変換処理スタート指示ボタン405が押されたことに応じて、音高変換指示イベント504が発生すると、検出した和音の逆変換処理505を行い、第4和音構成音生成手段506に進み、検出和音が3音構成で指定和音が4音構成であった場合、7度音生成処理を行って、変換手段507で図9の和音変換処理(後述)を行い、操作者が指定した和音に演奏データを変換する。(この逆変換処理はドラムパートを除く演奏データの全ノートデータについて行われ、和音変換処理は演奏データの各トラックごとに行われる。)そして、出力手段508で変換後の演奏データを演奏情報メモリ115に記憶する。
【0047】
ここで、逆変換処理505とは、上記和音検出処理において、検出した和音が3音構成であれば全ノートデータのノートナンバを和音"Cmaj"である場合に対応する音高に、4音構成であれば全ノートデータのノートナンバを和音"Cmaj7"である場合に対応する音高に変換する処理である。図6は逆音程変換テーブルの一例であり、このテーブルに基づいて"Cmaj"または"Cmaj7"に逆変換した時、各ノートデータが適切な音高関係になるように補正する。
【0048】
例えば、あるノートデータのノートナンバが"58"(A♯)で、検出した和音が"Gm"(3音構成)であったとすると、"Cmaj"にシフトするにあたって、検出した和音のコードルートの音名は「G」であるので、この「G」のノートコード"7"(図6参照)をノートナンバ"58"から減算してノートナンバ"51"(D♯)にシフトする。次に、検出和音の種類は「min」(マイナー)であるので、図6の逆音程変換テーブルの「D♯」(ノートコード"3")と「min」から補正データ"1"を読み出し、この補正データ"1"をシフト後のノートナンバ"51"に加算してノートナンバ"52"(E)とする。これにより、和音"Gm"におけるノートナンバ"58"(A♯)のノートデータが和音"Cmaj"におけるノートナンバ"52"(E)のノートデータに変換され、和音"Gm"における音高が"Cmaj"における音高に逆変換される。
【0049】
本実施形態では7度音生成処理、和音変換処理に先立って、上述のような逆変換処理を行い、演奏データのドラムパートを除く全音符データ(ノートデータ)を、検出した和音のコードルートと種類とに基づいて"Cmaj"もしくは"Cmaj7"に対応する音高に変換する。なお、このような逆変換処理方法は例えば特開平8―160946号公報に開示されている。
【0050】
2−3 和音検出処理
次に図7を参照して、和音検出処理スタート指示ボタン402が押されて、和音検出指示イベント501が発生したことに応じて、和音情報抽出手段502において行われる和音検出処理について説明する。
【0051】
図7の和音検出処理では、先ず、ステップ700で演奏データを1/2小節毎に分割し、分割された1/2小節の全区間数をImaxに記憶し、ステップ701でI=1にセットしてステップ702に進む。以下の処理では、この分割された区間を和音検出区間として各区間毎に和音の検出を行う。
【0052】
ステップ702では、その和音検出区間I内のドラムパートを除く全パートの全音名(ノートコード)の論理和をCHRDに記憶する処理を行う。ここで、和音検出区間I内で少なくとも一度はオンイベントとなっている全ての音名に対応したビットが"1"としてCHRDに記憶される。
【0053】
ステップ703のKCD(CHRD)は以下に説明する和音マッチング処理(図示略)を行う関数であり、CHRDを循環シフトしながら和音種類テーブルとのマッチングを行い、検出した和音の種類をRESに格納するとともに、循環シフトの回数を和音のコードルートに相当するノートコードとしてRPTに格納する。RPTは検出成功なら0〜11、失敗なら−1が格納される。
【0054】
図8は上述の和音種類テーブルの一例であり、12ビットの各ビットを12の音名に対応づけて和音の構成音のビットを"1"、それ以外のビットを"0"にしたデータを和音の種類毎に記憶したものである。ステップ703の関数KCD(CHRD)においてはこのテーブルを用いて和音マッチング処理を行う。なお、このような和音マッチング処理は例えば特公昭57−16359号公報に開示されている。
【0055】
次に、ステップ704で、和音検出に失敗したか否かを判定する。和音が検出されていればRPTは0以上となり(NO)、ステップ705で、検出された和音のコードルートRPTをSRTに格納するとともに和音の種類RESをSTPに格納してステップ709に進む。
【0056】
前記ステップ704で和音検出に失敗した場合、RPTは−1となり(YES)、ステップ706で現和音検出区間が先頭区間か否かを判定する。
【0057】
ステップ706の判定により、I≠1すなわち先頭区間でなければ(NO)、ステップ707に進み、直前の区間における和音のコードルートSRTI−1をSRTに格納するとともに直前の区間における和音の種類STPI−1をSTPに格納して、ステップ709に進む。つまり、直前の区間I−1で決定している和音のまま変化させない。
【0058】
ステップ706の判定で、I=1すなわち先頭区間であれば(YES)、ステップ708に進み、SRT、STPにデフォルト値(例えばCmaj)を記憶してステップ709に進む。
【0059】
ステップ709ではI=Imaxか否かの判定を行い、I≠Imaxであれば(NO)、ステップ710で和音検出区間のポインタIを1増加させてステップ702以降を繰り返す。ステップ702〜710の処理をステップ700で分割した全ての区間について繰り返し、ステップ709の判定においてI=Imaxとなれば(YES)和音検出処理を終了する。
【0060】
2−4 和音変換処理
次に図9を参照して、音高変換指示イベント504の発生に応じて検出した和音の逆変換処理505が行われた後に第4和音構成音生成手段506と変換手段507で行われる、操作者の指定した和音に演奏データを変換する和音変換処理について説明する。
【0061】
図9の和音変換処理では、図7のステップ700で分割した区間毎に処理を行い、先ず、ステップ900で区間を示すIに1をセットし、ステップ901でトラック番号を示すnに1をセットする。
【0062】
ステップ902で図7の処理によって検出した和音検出区間Iの和音のコードルートSRT及び検出した和音の種類STP、図5の504で操作者によって指定された和音のコードルートDRT及び指定した和音の種類DTPを読み出す。次に、ステップ903で1/2小節分の演奏データを各トラックごとに読み出す。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【0063】
ステップ904では検出和音が4音構成かどうかの判定を行い、検出和音が4音構成であれば(YES)ステップ907に進み、そのまま指定された和音に基づいて音高変換処理が行われる。上記ステップ904で検出和音が3音構成であれば(NO)ステップ905に進む。
【0064】
上記ステップ905ではユーザーの指定和音が4音構成か否かの判定を行う。ステップ905でユーザーの指定和音が3音構成であれば(NO)、検出和音は3音構成で指定和音が3音構成であるのでステップ907に進み、そのまま指定された和音に基づいて音高変換処理が行われる。
【0065】
上記ステップ905の判定でユーザーの指定和音が4音構成であれば(YES)ステップ906の第4和音構成音生成手段に進む。この場合、検出和音は3音構成で指定和音が4音構成であるので、ステップ906で、指定した和音の第4和音構成音(7度)を生成して4音構成の和音にする図10の7度音生成処理(後述)を行ってから、ステップ907に進み、指定された和音に基づいて音高変換処理が行われる。
【0066】
ここで、上記ステップ907における音高変換処理は前記逆変換処理505により“Cmaj”または“Cmaj7”に対応する音高に逆変換されたノートデータのノートナンバを、前記指定された和音に対応するノートナンバに変換してワーキングメモリ116に記憶する処理である。
【0067】
例えば“Fm”が指定され、検出されていた和音が4音構成であったとする。この時、前記逆変換処理により各ノートデータは“Cmaj7”である場合のノートナンバに逆変換されており、これらノートデータを“Fm”である場合のノートナンバに音高変換する。図10は音程変換テーブルの一例であり、この音程変換テーブルに基づいて変換後の音高を求める。
【0068】
例えば、前述の場合において、あるノートデータのノートナンバが “52”(E)であったとする。この場合、指定和音の種類は「min」(マイナー)であるので、ノートナンバ“52”が対応するノートコード「E」と指定された和音の種類「min」から変換データ“−1”を読み出し、この変換データ“−1”をノートナンバ“52”に加算してノートナンバ“51”に補正する。そして、指定和音のコードルートは「F」であるので、この「F」のノートコード“5”(図10参照)を補正後のノートナンバ“51”に加算し、ノートナンバ“52”(E)をノートナンバ“56”(G♯)に変換する。なお、このような音高変換処理は例えば特開平7−219534号公報に開示されている。
【0069】
上記のような処理を行って全データを変換することにより、“Cmaj7”が和音“Fm”に変換される。
【0070】
なお、検出した和音が3音構成である場合、前記逆変換処理により逆変換された演奏データは“Cmaj”であるが、図10の音程変換テーブルに基づいて、上記と同様にして音高変換を行うことができる。
【0071】
上述のような処理を行い、前記逆変換処理により逆変換された演奏データの“Cmaj”または“Cmaj7”に対応する音高を、前記指定された和音に対応する音高に変換してワーキングメモリ116に記憶する。
【0072】
図9の上記ステップ908でn=trか否かの判定を行い、n≠tr(NO)であればステップ909でトラック番号nを1増加させてステップ904以降を繰り返す。n=trであれば(YES)、ステップ910に進む。
【0073】
上記ステップ910ではI=Imaxか否かの判定を行い、I≠Imax(NO)であればステップ911で和音検出区間のポインタIを1増加させてステップ901以降を繰り返す。I=Imaxであれば(YES)もとのルーチンに復帰する。
【0074】
このルーチンを経た結果、元の演奏データはスタイルを変えることなく操作者の指定したコードに和音変換される。
【0075】
2−5 7度音生成処理
上記ステップ906の7度音生成処理について説明する。この7度音生成処理とは、検出和音が3音構成で指定和音が4音構成である場合に、基準和音“Cmaj”に逆変換されているノートデータ中、適切なノートデータを和音“Cmaj7”の第4和音構成音(7度)「B」に変換して4音構成の和音を生成する処理である。
【0076】
この7度の音を生成する際、指定したルート、タイプの和音に聞こえるように、且つ、和音として違和感なく聞こえるように下記の規則に基づいて7度音生成を行う。
▲1▼最低音高は、違うルートの和音や違うタイプの和音との誤認を防ぐため、7度の音高への変換対象としない。
▲2▼生成した7度の音が最低音とならない。
▲3▼1度、3度、5度の音高のなかで、3度の音高は7度の音高から一番離れているため、3度の音高から7度の音高を生成した場合、各ノートデータの音高差が和音として不適当なものとなる可能性があるので、7度への変換対象としない。
▲4▼最低音以外に1度の音高がある場合はこの1度の音高からこの音より高い7度の音高を生成すると、オクターブが変わり、前後の区間とのつながりが不自然になる恐れがあるので、すぐ近くにある7度の音高(低い7度)を生成する。
▲5▼最低音以外に1度の音高がない場合、5度の音高からこの音より高い7度の音高またはこの音より低い7度の音高を適宜変更して生成する。この場合も5度の音高より低い7度の音高を生成することを基本として、この音より低い7度の音高を生成した際、その7度の音高が最低音となる等、不都合が生じた場合に限りこの音より高い7度の音高を生成する。
▲6▼上記▲1▼〜▲5▼以外(和音構成音の音高が4つ以上で、発音数が5以上)の場合には、生成すべき7度の音高(第1実施形態ではその和音構成音の領域内にある7度の音高のうち最も高いものとする)に最も近い和音構成音から7度の音高を生成する。
【0077】
図11(a)〜(g)は7度音生成処理の例である。
図11(a)は和音検出区間Iでの発音がCのみで構成されている場合であり、上記▲1▼の条件に当てはまり、7度の音高への変換はしない。
図11(b)は和音検出区間Iでの発音がE、G、Cで構成されている場合であり、上記▲4▼の条件に当てはまり、最も高い1度の音高(C)をそれより低い7度の音高(B)に変換する。
図11(c)は和音検出区間IにC、E、G、Cのノートデータが1つずつ存在する場合であり、(b)と同様、上記▲4▼の条件に当てはまり、最も高い1度の音高(C)をそれより低い7度の音高(B)に変換する。
図11(d)は和音検出区間Iでの発音がE、E、Gで構成されている場合であり、上記▲5▼の条件に当てはまり、最も高い5度の音高(G)をそれより低い7度の音高(B)に変換する。
図11(e)は和音検出区間Iでの発音がC、E、Gで構成されている場合であり、上記▲2▼および▲5▼の条件に当てはまり、最も高い5度の音高(G)をこの音より高い7度の音高(B)に変換する。
図11(f)は和音検出区間Iでの発音がC、Eで構成されている場合であり、上記▲3▼の条件に当てはまり、7度の音高への変換はしない。
図11(g)は和音検出区間Iでの発音がG、C、E、G、Eで構成されている場合であり、上記▲6▼の条件に当てはまり、生成すべき7度の音高(B)に最も近い和音構成音(G)を7度の音高に変換する。
【0078】
ここで説明した例において、図11(a)はベース系の演奏パートによく見られる演奏データの例であり、図11(b)〜図11(f)はピアノ系の演奏パートによく見られる演奏データの例であり、また、図11(g)はギター系の演奏パートによく見られる演奏データの例を示したものである。
【0079】
以下、図11の例と図12を参照して、図9のステップ906において実行される7度音生成処理について説明する。
【0080】
先ず、ステップ1200で上記和音検出区間Iから和音構成音のみ、すなわち非和音構成音を除外したノートデータ(以下和音構成音と呼ぶ)を読み出し、ステップ1201に進む。
【0081】
ステップ1201では上記和音検出区間Iから和音構成音の1度の音高及び5度の音高のノートデータを生成候補として抽出してCAに格納し、ステップ1202に進む。
【0082】
ステップ1202では上記したステップ1200で読み出した和音構成音の音高が1つ(発音数は任意)か否かの判定をし、和音構成音の音高が1つであれば(YES)、ステップ1203で音高は変更しない(7度の音高の生成はしない)でもとのルーチンに復帰する。これは、上記▲1▼の条件に相当する。
【0083】
上記ステップ1202の判定で和音構成音の音高が1つでなければ(NO)、ステップ1204に進み、和音構成音の音高が2つか3つ(発音数は任意)、または音高が4つで和音構成音の発音数が4つ(つまり、それぞれの音高で1回ずつ発音している)か否かの判定を行う。
【0084】
上記ステップ1204の判定で和音構成音の音高が2つか3つ、または音高が4つで和音構成音の発音数が4つであれば(YES)、ステップ1205に進み、上記ステップ1201で格納したCAに和音構成音の最低音以外の1度の音高のノートデータが存在するか否かの判定を行う。
【0085】
上記ステップ1205の判定で和音構成音の最低音以外に1度の音高が存在すれば(YES)、ステップ1206で最も高い1度の音高をそれより低い7度の音高に変換してもとのルーチンに復帰する。これは、上記▲3▼の条件に相当する。
【0086】
上記ステップ1205の判定で和音構成音の最低音以外に1度の音高が存在しなければ(NO)、ステップ1207に進み、上記ステップ1201で格納したCAに和音構成音の最低音以外の5度の音高のノートデータが存在するか否かの判定を行う。
【0087】
上記ステップ1207の判定で和音構成音の最低音以外に5度の音高が存在すれば(YES)、ステップ1208に進み、和音構成音の最低音以外に5度の音高が存在しなければ(NO)、ステップ1203で音高は変更しない(7度の音高の生成はしない)でもとのルーチンに復帰する。これは、上記▲2▼の条件に相当する。
【0088】
上記ステップ1208では最高音の5度の音高より低い7度の音高が最低音となるか否かの判定を行う。この判定で最高音の5度の音高より低い7度の音高が最低音となるなら(YES)、ステップ1209に進み、最も高い5度の音高をこの音より高い7度の音高に変換してもとのルーチンに復帰する。これは、上記▲1▼や▲4▼の条件に相当する。
【0089】
上記ステップ1208の判定で最高音の5度の音高より低い7度の音高が最低音とならないなら(NO)、ステップ1210に進み、最も高い5度の音高をこの音より低い7度の音高に変換してもとのルーチンに復帰する。これは、上記▲4▼の条件に相当する。
【0090】
上記ステップ1204の判定で和音構成音の音高が2つか3つ、または音高が4つで和音構成音の発音数が4つでなければ(NO)、ステップ1211およびステップ1212で、生成すべき7度の音高(第1実施形態ではその和音構成音の領域内にある7度の音高のうち最も高いものとする)に最も近い和音構成音を7度の音高に変換してもとのルーチンに復帰する。これは、上記▲5▼の条件に相当する。
【0091】
2−6 第1実施形態の効果
以上説明したように、第一実施形態によれば、演奏データを4音構成の和音に応じた音高に音高変換するにあたって、演奏データが3音構成の和音に基づくものであったとしても、4音構成の和音に正しく変換できる。さらに、演奏パートの特徴(ベース系、ピアノ系、ギター系など)に応じて第4和音構成音を適宜変更して生成できるため、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【0092】
また、最低音高は第4和音構成音への変換対象としないので、違うルートの和音や違うタイプの和音との誤認を防ぐことができる。また、第4和音構成音を生成した楽音情報が複数の楽音情報のうち最低の音高にならないものを選択的に生成するので、違った和音に聞こえたりすることがない。また、3度の音高は第4和音構成音への変換対象としないので、各ノートデータの音高差が和音として不適当なものとならない。また、最低音以外に1度の音高がある場合はこの一度の音高からすぐ近くにある第4和音構成音(実施形態では低い7度)を生成するので、前後の区間とのつながりが不自然になることはない。
【0093】
また、演奏データは3音構成であっても構わないのでメモリサイズを小さくすることが可能である。また、演奏データの作成も3音構成の和音で行うことができ、作成が容易になる。
【0094】
〔3〕第2実施形態
3−1 ハードウェア構成
次に図13を参照して本発明を自動伴奏装置に適用した第2実施形態について説明する。
自動伴奏装置1300は自動伴奏装置1300全体の制御を行うためのCPU1301と、バス1302を介して供給された演奏データに基づいて音楽信号を生成する音源手段1303と、音源手段1303により出力された音楽信号に各種効果処理(エフェクト処理)を施す効果手段1304と、効果手段1304により入力された音声信号を増幅して音響信号として出力するサウンド装置1305とを備えて構成されている。
【0095】
また、各種データを一時的に記憶するワーキングメモリ(RAM)1306と、制御用プログラム及び制御用固定データを記憶するプログラムメモリ(ROM)1307と、伴奏パターンを記憶する伴奏パターンメモリ(ROM)1308と、鍵盤演奏や和音指定等の操作を行う鍵盤1309と、自動伴奏の伴奏パターンを選択するパターン選択スイッチや自動伴奏のスタートとストップを指示するスタート/ストップスイッチおよびその他のスイッチを備えたパネルスイッチ1310と、各種タイミング制御を行うタイマ1311とを備えて構成されている。
【0096】
CPU1301はプログラムメモリ1307に格納されている制御プログラムに基づいてワーキングメモリ1306のワーキングエリアを使用して電子楽器の全体の制御を行い、鍵盤1309の操作による鍵盤演奏、パネルスイッチ1310の操作によるモードの切り替え、伴奏パターンROM1308に基づく自動伴奏などを行う。
【0097】
伴奏パターンROM1308には複数の伴奏パターンが記憶されており、各伴奏パターンはベース、ドラム等、複数のトラックから構成されている。これらのうち、パネルスイッチ1310の操作に応じて選択された伴奏パターンがCPU1301によってワーキングメモリ(RAM)1306に読み込まれ、自動伴奏スタート/ストップ指示に応じて制御される。なお、この実施例においては伴奏パターンROM1308に記憶されている伴奏パターンは全て和音構成音が3種類である“Cmaj”の和音に対応するキーコードで記憶されている。
【0098】
鍵盤1309は低音側の左鍵域と高音側の右鍵域とに仮想的に分割されており、自動伴奏時には、CPU1301は、右鍵域のキーイベントに対しては操作された鍵に対応するノートコードの楽音信号の発音処理と消音処理を行い、左鍵域のキーイベントに対しては検出されたノートコードに基づいて和音を検出する。また、この自動伴奏時には、現在選択されている伴奏パターンのノートデータを読み出し、このノートデータを鍵盤1309から検出した和音に基づいて音高変換してキーオン信号またはキーオフ信号と共に音源1303に出力する。さらに、リズムのパートについては音色番号とキーオン信号を音源1303に出力し、自動伴奏についての発音処理と消音処理を行う。
【0099】
3−2 第2実施形態の動作
次に上記のように構成した第2実施形態の動作を説明する。
まず、図14を参照して第2実施形態のCPU1301で実行されるコード変換処理の流れを説明する。
【0100】
第1実施形態と同様、CPU1301は図14のコード変換処理プログラムを始めとして、種々のプログラムを操作者の操作等によって発生するイベントに応じて実行する。メインルーチン(図示略)は常時イベントの発生を監視しており、発生したイベントに応じたプログラムを呼び出し、対応した処理を実行するものである。
【0101】
図14は操作者の操作により伴奏パターン選択イベントや、自動伴奏スタートイベントや、和音情報供給イベント等が発生した時に、CPU1301において実行される処理の流れを示したものである。
【0102】
まず最初に、操作者によってパネルスイッチ1310等が操作されたことに応じて、伴奏パターン選択イベントが発生すると、入力手段1400で伴奏パターンが選択される。次に、スタートスイッチボタン1401が操作されたことに応じて自動伴奏スタートイベントが発生すると、自動伴奏が開始される。この時点では操作者の選択した伴奏パターンが“Cmaj”の和音に対応するキーコードのまま音源1303に出力されて再生されている。あるいは、鍵盤1309等により和音が指定されるまでリズムパートのみを再生し、和音指定があって初めてリズム以外のパートも再生するようにしてもよい。
【0103】
次に、和音情報供給手段1402で、鍵盤1309等により和音が指定されたことに応じて、和音情報供給イベントが発生すると、第4和音構成音生成手段1404で7度音生成処理が、変換手段1405で和音変換処理がリアルタイムで開始され、“Cmaj”の和音に対応するキーコードで記憶されていた伴奏パターンが操作者の指定した和音に音高変換される。この第4和音構成音生成手段1404で行われる7度音生成処理、変換手段1405で行われる和音変換処理では、第1実施形態の図5の第4和音構成音生成手段506、変換手段507で行われる図9〜図12で説明した処理をそのまま適用する。
【0104】
次に出力手段1406で音高変換後の伴奏パターンが音源1303に出力されて再生される。
【0105】
以上の処理を行うことで、上記した和音変換処理で述べたように3種類の和音構成音で構成されている伴奏パターンを4音構成の和音に変換することができ、音楽的に違和感のない自然な演奏データを作成することができる。
【0106】
3−3 第2実施形態の効果
以上のように、従来は伴奏パターンメモリ1308に記憶する和音が4音構成である必要があったが、本第2実施形態の自動伴奏装置では伴奏パターンメモリ1308に記憶する和音が3音構成であっても4音構成の和音に正しく変換することができる。さらに、演奏パートの特徴(ベース系、ピアノ系、ギター系など)に応じて第4和音構成音を適宜変更して生成できるため、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【0107】
また、最低音高は第4和音構成音への変換対象としないので、違うルートの和音や違うタイプの和音との誤認を防ぐことができる。また、第4和音構成音を生成した楽音情報が複数の楽音情報のうち最低の音高にならないものを選択的に生成するので、違った和音に聞こえたりすることがない。また、3度の音高は第4和音構成音への変換対象としないので、各ノートデータの音高差が和音として不適当なものとならない。また、最低音以外に1度の音高がある場合はこの一度の音高からすぐ近くにある第4和音構成音(実施形態では低い7度)を生成するので、前後の区間とのつながりが不自然になることはない。
【0108】
また、伴奏パターンメモリに記憶する伴奏パターンは3音構成であっても構わないのでメモリサイズを小さくすることが可能である。また、伴奏パターンは3音構成の和音に基づいたものであってもよいので、伴奏パターンの作成も3音構成の和音で行うことができ、作成が容易になる。
【0109】
〔4〕変形例
以上説明した実施態様は以下に述べる種々の変形が可能である。
4−1 和音検出の変形例
なお、第1実施形態においては、図7のように和音検出区間を1/2小節毎に固定区間で行うようにしているが、図15のように和音検出区間を適宜変更して行ってもよい。
【0110】
図15の和音検出処理では、演奏データを1/2小節毎に分割し、和音検出の対象を1小節とし、対象1小節の前半1/2小節、後半1/2小節でそれぞれ和音検出を行い、前後半一方のみで和音が検出された時は、その検出された和音を対象1小節全てに適応する。前後半共に和音不明であれば対象1小節を和音検出区間として和音の検出を行うようにしている。これにより、和音検出不能区間の補償を可能としている。
【0111】
先ず、ステップ1500で演奏データを1/2小節毎に分割し、分割された1/2小節の全区間数をImaxに記憶し、ステップ1501でn=1にセットしてステップ1502に進む。ステップ1502では、対象1小節の前半1/2小節、対象1小節の後半1/2小節、対象1小節全てをそれぞれ和音検出区間S1、S2、S3として、ドラムパートを除く全パートのキーオンの全音名の論理和をCHRD1,CHRD2,CHRD3に記憶する処理を行う。CHRD1〜3は和音検出区間において、各音名に対応する発音があったか否かを一時記憶する記憶領域で、ノートコード(0〜11)に対応する12ビットの記憶領域である。ここで、和音検出区間で少なくとも一度はオンイベントとなっている全ての音名に対応したビットが“1”としてCHRD1,CHRD2,CHRD3に記憶される。
【0112】
ステップ1503の関数KCD(CHRD1)は前述で説明したように和音マッチング処理を行う関数であり、前半1/2小節の和音マッチング処理を行う。次に、ステップ1504で、前半1/2小節の和音検出に失敗したか否かを判定する。和音検出が成功していればRPTは0以上となり(NO)、ステップ1505で、検出された和音のコードルートRPTをSRT2n―1に格納するとともに和音の種類RESをSTP2n―1に格納してステップ1506に進む。
【0113】
ステップ1506の関数KCD(CHRD2)で、後半1/2小節の和音マッチング処理を行う。次に、ステップ1507で、後半1/2小節の和音検出に失敗したか否かを判定する。和音検出が成功していればRPTは0以上となり(NO)、ステップ1508で、検出された和音のコードルートRPTをSRT2nに格納するとともに和音の種類RESをSTP2nに格納してステップ1518に進む。
【0114】
ステップ1507で和音検出に失敗していればRPTは負の値を示し(YES)、ステップ1517で前半1/2小節で検出された和音のコードルートSRT2n―1を後半1/2小節のSRT2nに格納するとともに和音の種類STP2n―1をSTP2nに格納してステップ1518に進む。
【0115】
上記ステップ1504で和音検出に失敗していればRPTは負の値を示し(YES)、ステップ1509の関数KCD(CHRD2)で、後半1/2小節の和音マッチング処理を行う。
【0116】
次に、ステップ1510で、後半1/2小節の和音検出に失敗したか否かを判定する。和音検出に成功していればRPTは0以上となり(NO)、ステップ1511で、検出された和音のコードルートRPTをSRT2n―1に格納するとともに和音の種類RESをSTP2n―1に格納してステップ1517に進み上記と同様の処理を行ってステップ1518に進む。これにより、後半1/2小節で検出された和音が和音を検出できなかった前半1/2小節にも適応される。
【0117】
上記ステップ1510で和音検出に失敗していればRPTは負の値を示し(YES)、ステップ1512の関数KCD(CHRD3)で、対象1小節の和音マッチング処理を行う。
【0118】
次に、ステップ1513で、対象1小節の和音検出に失敗したか否かを判定する。和音検出に成功していればRPTは0以上となり(NO)、ステップ1511で、上記同様の処理を行って、以下ステップ1517、ステップ1518と同様のフローをたどる。これにより、対象1小節で検出した和音が和音を検出できなかった前半1/2小節、後半1/2小節に適応される。
【0119】
ステップ1513で和音検出に失敗していればRPTは負の値を示し(YES)、ステップ1514でn=1か否かの判定を行う。
【0120】
このステップ1514の判定により、n=1でなければ(NO)、ステップ1515に進み、直前の区間における和音のコードルートSRT2(n−1)をSRT2n―1に格納するとともに直前の区間における和音の種類STP2(n−1)をSTP2n―1に格納して、ステップ1517に進み、上記同様の処理を行ってステップ1518に進む。つまり、直前の区間2(n−1)で決定している和音が対象1小節の和音検出できなかった前半1/2小節、後半1/2小節に適応される。
【0121】
ステップ1514の判定で、n=1であれば(YES)、ステップ1516に進み、SRT、STPにデフォルト値(例えばCmaj)を記憶してステップ1517に進み、上記同様の処理を行ってステップ1518に進む。つまり、対象1小節の和音検出できなかった前半1/2小節、後半1/2小節にデフォルト値が適応される。
【0122】
ステップ1518ではn=Imax/2か否かの判定を行い、n≠Imax/2であれば(NO)、ステップ1519でnを1増加させてステップ1502以降を繰り返す。ステップ1502〜1517の処理をステップ1500で分割した全ての区間について繰り返し、ステップ1518の判定においてn=Imax/2となれば(YES)和音検出処理を終了する。
【0123】
本変形例は、演奏データを1/2小節毎に分割し、和音検出の対象を1小節とし、対象1小節の前半1/2小節、後半1/2小節でそれぞれ和音検出を行い、前後半一方のみで和音が検出された時は、その検出された和音を対象1小節全てに適応する。そして、前後半共に和音不明であれば対象1小節を和音検出区間として和音の検出を行うようにしているので、和音検出不能区間の補償が可能となる。
【0124】
4−2 和音変換処理の変形例
また、和音変換処理においては、図9のように1/2小節毎に処理を行うようにしているが、図16のように1小節でコード変化がなかった場合は、1小節全体として変換を行うようにしてもよい。
【0125】
図16の和音変換処理では、先ず、ステップ1600で対象1小節で検出された和音と指定された和音を読み出す。つまり、前半1/2小節と後半1/2小節の検出和音と指定和音が読み出される。以下、図9と同じ処理は同じ図番を使い説明は省略する。
【0126】
ステップ1601ではステップ1600で読み出した前半1/2小節と後半1/2小節の指定和音に変化があったか否かの判定を行う。ステップ1601で前半1/2小節と後半1/2小節の指定和音に変化があれば(YES)、ステップ1603に進む。
【0127】
ステップ1601で前半1/2小節と後半1/2小節の指定和音に変化がなければ(NO)、ステップ1602に進み、ステップ1600で読み出した前半1/2小節と後半1/2小節の検出和音に変化があったか否かの判定を行う。
【0128】
ステップ1602で前半1/2小節と後半1/2小節の検出和音に変化があれば(YES)、ステップ1603に進み、前半1/2小節と後半1/2小節の検出和音に変化がなければ(NO)、ステップ1604に進む。
【0129】
ステップ1603では、前半1/2小節分の演奏データを各トラックごとに読み出してトラック数をtrに記憶して、ステップ1605に進む。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【0130】
ステップ1604では、対象小節1小節分の演奏データを各トラックごとに読み出してトラック数をtrに記憶して、ステップ1605に進む。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【0131】
ステップ1605でトラック番号を示すnに1をセットし、ステップ904以下の処理を行う。ステップ904からステップ909までの処理は上記図9で示した和音変換処理のステップ904からステップ909までと同様の処理を行い、処理後ステップ1606に進む。
【0132】
ステップ1606ではステップ1603またはステップ1604で読み出した演奏データが1小節か否かの判定を行い、読み出した演奏データが1小節であれば(YES)、ステップ1609に進み、読み出した演奏データが1小節でなければ(NO)、ステップ1607に進む。この場合、前半1/2小節の和音変換処理が終了しただけで、後半1/2小節の和音変換処理はまだ行われていない。
【0133】
ステップ1607では残りの1/2小節の和音変換処理が終了したか否かの判定を行う。残りの1/2小節の和音変換処理が終了していれば(YES)、ステップ1609に進み、残りの1/2小節の和音変換処理が終了していなければ(NO)、ステップ1608で後半1/2小節分の演奏データを各トラックごとに読み出してトラック数をtrに記憶して、ステップ1605に進む。ただし、ドラムパートは音高変換する必要がないのでドラムパートは除く。
【0134】
上記ステップ1609では全小節で和音変換処理が終了したか否かの判定を行い、終了していなければ(NO)ステップ1610で対象1小節を次の小節に移動してステップ1600以降を繰り返す。全小節で和音変換処理が終了していれば(YES)もとのルーチンに復帰する。
【0135】
このルーチンを経た結果、対象1小節でコード変化がない場合、1小節を判定区間として和音変換、7度音生成処理を行う。このような処理を行うことで、得られる効果を図17の例を用いて説明する。
【0136】
図17(a)、(b)の例では、あるパートの対象1小節の前半1/2小節内にC、E、Gのノートデータ、後半1/2小節内にC、G、Cのノートデータが存在していて、検出和音は前半1/2小節、後半1/2小節ともにCmajである。そして、指定和音として前半1/2小節、後半1/2小節ともにCmaj7が指示されたとする。
【0137】
図17(a)は図9で示した和音変換処理に基づいて行った場合であり、1/2小節単位で7度音生成処理を行っている。前半1/2小節では上記▲5▼の条件に当てはまり、図12でステップ1202→ステップ1204→ステップ1205→ステップ1207→ステップ1208→ステップ1210と進み、GをBに変換する。後半1/2小節では上記▲4▼の条件に当てはまり、図12でステップ1202→ステップ1204→ステップ1205→ステップ1206と進み、CをBに変換する。
【0138】
図17(b)は図16で示した和音変換処理に基づいて行った場合であり、1小節単位で7度音生成処理を行っている。その和音変換処理は上記▲6▼の条件に当てはまり、図12でステップ1202→ステップ1204→ステップ1211→ステップ1212と進み、CをBに変換する。
【0139】
このように、図17(a)のように図9で示した和音変換処理を行った場合では7度の音高がたくさん生成されてしまう可能性があり、図17(b)のように図16で示した和音変換処理を行った場合のほうがより音楽的に違和感のない自然な演奏データを作成することができる。
【0140】
4−3 7度音生成処理の変形例1
また、7度音生成処理において、▲5▼の条件に当てはまるとき、上記図12のステップ1208からステップ1210のように処理して5度の音を7度の音高に変換したが、図19のように前後の区間のキーオン領域(キーオン領域とはその区間内で発音されている全てのノートデータが存在する範囲をさす)の重畳部分に基づいて7度音生成を行ってもよい。
【0141】
このとき、以下の条件に基づいて7度音生成を行う。先ず、上記図12のステップ1200でノートデータを読み出した変換対象区間の前後の区間におけるキーオン領域を確定し、その前後のキーオン領域の重畳部分を確定する。
【0142】
▲5▼−1 その重畳部分に5度の音高よりも高い7度の音高、低い7度の音高ともに存在すれば、低い7度の音高を生成する。
▲5▼−2 その重畳部分に低い7度の音高のみ存在すれば、低い7度の音高を生成する。
▲5▼−3 その重畳部分に高い7度の音高のみ存在すれば、高い7度の音高を生成する。
▲5▼−4 その重畳部分に高い7度の音高も低い7度の音高も存在しなければ、低い7度の音高を生成する。
【0143】
図18(h)〜(j)は上記条件で7度音生成処理を行った例である。
変換対象区間での和音構成音がG、E、Gで構成されていて、
図18(h)は重畳部分がA〜Dである場合であり、5度の音高(G)よりも低い7度の音高(B)のみが重畳部分に存在するので、上記▲5▼−2の条件に当てはまり、最も高い5度の音高(G)をこの音より低い7度の音高(B)に変換する。
図18(i)は重畳部分がC♯〜F♯である場合であり、5度の音高(G)より低い7度の音高(B)も高い7度の音高(B)も重畳部分に存在しないので、上記▲5▼−4の条件に当てはまり、最も高い5度の音高(G)をこの音より低い7度の音高(B)に変換する。
図18(j)は重畳部分がF♯〜Bである場合であり、5度の音高(G)よりも高い7度の音高(B)のみが重畳部分に存在するので、上記▲5▼−3の条件に当てはまり、最も高い5度の音高(G)をこの音より高い7度の音高(B)に変換する。
【0144】
以下、図18の例と図19を参照して、上記条件で7度音生成処理を行った場合について説明する。
【0145】
図19では先ず、ステップ1900で変換対象区間の前後の区間でのキーオン領域を確定し、その前後のキーオン領域の重畳部分を確定する。次にステップ1901ではステップ1900で確定した重畳部分に最も高い5度の音高よりも低い7度の音高が存在するか否かの判定を行う。
【0146】
上記ステップ1901の判定で、確定した重畳部分に最も高い5度の音高よりも低い7度の音高が存在すれば(YES)、ステップ1902に進み、最も高い5度の音高をこの音より低い7度の音高の音高に変換する。これは上記▲5▼−1、▲5▼−2の条件に相当する。
【0147】
上記ステップ1901の判定で、確定した重畳部分に最も高い5度の音高よりも低い7度の音高が存在しなければ(NO)、ステップ1903に進み、ステップ1900で確定した重畳部分に最も高い5度の音高よりも高い7度の音高が存在するか否かの判定を行う。
【0148】
上記ステップ1903の判定で、確定した重畳部分に最も高い5度の音高よりも高い7度の音高が存在すれば(YES)、ステップ1904に進み、最も高い5度の音高をこの音より高い7度の音高に変換する。これは上記▲5▼−3の条件に相当する。
【0149】
上記ステップ1903の判定で、確定した重畳部分に最も高い5度の音高よりも高い7度の音高が存在しなければ(NO)、ステップ1902に進み、最も高い5度の音高をこの音より低い7度の音高に変換する。これは上記▲5▼−4の条件に相当する。
【0150】
以上のように前後の区間のキーオン領域の重畳部分に基づいて7度音生成を行うことにより、音楽的に違和感のない、より自然な演奏データを作成することができる。
【0151】
4−4 7度音生成処理の変形例2
また、図12の7度音生成処理においてステップ1212で生成すべき7度の音高に最も近いノートデータを7度の音高に変換するとしたが、強迫や弱拍にある最低音以外の和音構成音のノートデータを7度の音高に変換してもよい。また、音長の一番長い最低音以外の和音構成音のノートデータを7度の音高に変換してもよい。また、最も多く発音されている最低音以外の和音構成音のノートデータを7度の音高に変換してもよい。
【0152】
4−5 7度音生成処理の変形例3
また、図12の7度音生成処理において対象となる和音構成音を7度の音高に変換したが、変換せずに7度の音高を追加して元の対象となる和音構成音と同時に発音してもよい。
【0153】
例えば、“E”、“G”、“C”から成る和音(“Cmaj”に相当する)を“Cmaj7”に変換しようとした場合、従来技術にあっては“C”を7度の構成音である“B”に音高変換するため、変換後のノートコードは“E”、“G”、“B”から構成されており、和音“Em”に聞こえてしまう問題があった。本変形例のように7度の音高を追加するように処理すれば“B”の音高が追加されるので、変換後のノートコードは“E”、“G”、“B”、“C”から構成されており、和音“Cmaj7”として正確に変換できる。
【0154】
図11に示した7度音生成処理の例を用いて7度の音高を追加した例を図20(a)〜(g)に示す。
図20(a)は図11(a)と同様、和音検出区間Iでの発音がCのみで構成されている場合であり、上記▲1▼の条件に当てはまり、7度の音高への変換はしない。
図20(b)は図11(b)同様、和音検出区間Iでの発音がE、G、Cで構成されている場合であり、上記▲4▼の条件に当てはまり、最も高い1度の音高(C)からそれより低い7度の音高(B)を生成し、ノートデータCの発音時Bも同時に発音する。
図20(c)は図11(c)同様、和音検出区間IにC、E、G、Cのノートデータが1つずつ存在する場合であり、上記▲4▼の条件に当てはまり、最も高い1度の音高(C)からそれより低い7度の音高(B)を生成し、ノートデータCの発音時Bも同時に発音する。
図20(d)は図11(d)同様、和音検出区間Iでの発音がE、E、Gで構成されている場合であり、上記▲5▼の条件に当てはまり、最も高い5度の音高(G)からそれより低い7度の音高(B)を生成し、ノートデータGの発音時Bも同時に発音する。
図20(e)は図11(e)同様、和音検出区間Iでの発音がC、E、Gで構成されている場合であり、上記▲2▼および▲5▼の条件に当てはまり、最も高い5度の音高(G)からこの音より高い7度の音高(B)を生成し、ノートデータGの発音時Bも同時に発音する。
図20(f)は図11(f)同様、和音検出区間Iでの発音がC、Eで構成されている場合であり、上記▲3▼の条件に当てはまり、7度の音高への変換はしない。
図20(g)は図11(g)同様、和音検出区間Iでの発音がG、C、E、G、Eで構成されている場合であり、上記▲6▼の条件に当てはまり、生成すべき7度の音高(B)に最も近い和音構成音(G)から7度の音高(B)を生成し、ノートデータGの発音時Bも同時に発音する。
【0155】
4−6 7度音生成処理の変形例4
また、図12の7度音生成処理において変換対象区間内に7度の音高に変換する複数のノートデータがあった場合、その全てのノートデータを7度に変換していたが、その一部のノートデータのみを7度の音高に変換するようにしてもよい。
【0156】
さらに、図12の7度音生成処理において全小節の演奏データについて同じ7度音生成処理を行うようにしているが、Aメロ、Bメロ、サビ、エンディングなど、曲スタイルに応じて上記した変形例の処理を選択的に行うようにしてもよい。
【0157】
4−7 繰り返し回数の検出
また、和音変換処理を行うにあたって、変換対象区間のnトラックで発音されているノートデータが何らかのパターンの繰り返しによって構成されているか否かを検出し、パターンの繰り返しが認められる場合は変換対象区間を分割し、この分割された領域毎に7度音生成処理を行うようにしてもよい。
【0158】
例えば、図9のステップ906の前段において、繰り返し回数の検出を行い、和音変換処理の変換対象区間をこの繰り返し回数に基づいて複数の領域に分割し、7度音生成処理をこの領域毎に行うようにすればよい。
【0159】
繰り返し回数の検出は例えば図21のように行われる。 先ず、ステップ2100でptn1〜4の作成を行ってステップ2101に進む。
【0160】
このptnは、繰り返し領域パターンを記憶する記憶領域であり、前述した図9で読み出した1/2小節分の楽曲データのうち対象トラックnのノートデータに基づいて作成するものである。また、このptnは1/2小節を16ブロックに等分割して下記のように作成する。
ptn1=最初の16ブロック(最初の1/2小節)
ptn2=最初の 8ブロック(最初の1/4小節)
ptn3=最初の 4ブロック(最初の1/8小節)
ptn4=最初の 2ブロック(最初の1/16小節)
【0161】
ステップ2101では、ptn2+ptn2=ptn1か否かの判定を行う。ptn2+ptn2≠ptn1(NO)であれば、最初の1/4小節の2回繰り返しが最初の1/2小節と異なるということなので、繰り返しは無しと判断され、ステップ2102に進む。
【0162】
ステップ2102では、ptn1(1/2小節)で繰り返しなしと確定し、繰り返し回数を指すRに1を記憶してもとのルーチンに復帰する。
【0163】
ステップ2101で、ptn2+ptn2=ptn1(YES)であれば、ステップ2103に進み、ptn3+ptn3=ptn2か否かの判定を行う。ptn3+ptn3≠ptn2(NO)であれば、最初の1/8小節の2回繰り返しが最初の1/4小節と異なるということなので、対象の1/2小節は1/4小節の2回繰り返しと判断され、ステップ2104に進む。
【0164】
ステップ2104では、ptn2(1/4小節)を繰り返し領域と確定し、R=2を記憶してもとのルーチンに復帰する。
【0165】
ステップ2103で、ptn3+ptn3=ptn2(YES)であれば、ステップ2105に進み、ptn4+ptn4=ptn3か否かの判定を行う。ptn4+ptn4≠ptn3(NO)であれば、最初の1/16小節の2回繰り返しが最初の1/8小節と異なるということなので、対象の1/2小節は1/8小節の4回繰り返しと判断され、ステップ2106に進む。
【0166】
ステップ2106では、ptn3(1/8小節)を繰り返し領域と確定し、R=4を記憶してもとのルーチンに復帰する。
【0167】
ステップ2105で、ptn4+ptn4=ptn3(YES)であれば、最初の1/16小節の2回繰り返しが最初の1/8小節と一致するということなので、対象の1/2小節は1/16小節の8回繰り返しと判断され、ステップ2107に進む。
【0168】
ステップ2107では、ptn4(1/16小節)を繰り返し領域と確定し、R=8を記憶してもとのルーチンに復帰する。
【0169】
以上のように検出された繰り返し回数に基づいて変換対象区間を1ないし8の領域に分割し、分割された各領域毎に図12の7度音生成処理を行う。
【0170】
なお、繰り返し回数の検出は、ノートデータ中のノートナンバを参照するかノートコードを参照するかによって結果が異なる場合がある。
【0171】
図22(a)、(b)にノートナンバに基づいて繰り返し領域を検出した場合と、ノートコードに基づいて繰り返し回数を検出した場合で、図12に示した7度音生成処理を行った結果を示す。
【0172】
ここで図22の例では、あるパートの対象1/2小節の前半1/4小節内にE、Gのノートデータ、後半1/4小節内にE、Gのノートデータが存在していて、対象1/2小節での検出和音はCmajである。そして、指定和音としてCmaj7が指示されたとする。
【0173】
図22(a)はノートナンバに基づいて繰り返し領域を検出した場合で図12に示した7度音生成処理を行った結果である。前半1/2小節(E、G)と後半1/2小節(E、G)では異なるノートナンバであるので、繰り返しはなしと確定し、上記▲5▼の条件に当てはまり、ステップ1202→ステップ1204→ステップ1205→ステップ1207→ステップ1208→ステップ1210と進み、GをBに変換する。
【0174】
図22(b)はノートコードに基づいて繰り返し領域を検出した場合で図12に示した7度音生成処理を行った結果である。前半1/2小節(E)、G))と後半1/2小節(E)、G))では同じノートコード(E、G)であるので、1/4小節の2回繰り返しと確定し、前半1/4小節も後半1/4小節も上記▲2▼や▲5▼の条件に当てはまり、ステップ1202→ステップ1204→ステップ1205→ステップ1207→ステップ1208→ステップ1209と進み、G)をB)に、G)をB)に変換する。
【0175】
したがって、図22(a)、(b)に例示するようにノートナンバを参照した場合とノートコードを参照した場合とでは異なる結果が得られる。
【0176】
この繰り返し回数の検出においてノートナンバとノートコードのどちらを参照するかを全体もしくは1/2小節毎もしくは1小節毎などの単位で選択できるようにし、音楽的に違和感のない自然な演奏データを作成することができるものを選択的に使用するようにしてもよい。
【0177】
さらに、上述した7度音生成処理変形例1〜4を適宜組み合わせて行うことも、もちろん可能である。例えば、図22(c)、(d)のように図19で例示するように7度音生成処理の変形例1と組み合わせて行ってもよい。
【0178】
図22(c)はノートナンバに基づいて繰り返し領域を検出した場合で図19に示した7度音生成処理を行った結果である。前半1/2小節(E、G)と後半1/2小節(E、G)では異なるノートデータであるので、繰り返しはなしと確定し、上記▲5▼−3の条件に当てはまり、ステップ1900→ステップ1901→ステップ1903→ステップ1904と進み、GをBに変換する。
【0179】
図22(d)はノートコードに基づいて繰り返し領域を検出した場合で図19に示した7度音生成処理を行った結果である。前半1/2小節(E、G)と後半1/2小節(E、G)では同じノートコード(E、G)であるので、1/4小節の2回繰り返しと確定し、前半1/4小節区間に対して後半1/4小節区間が後区間キーオン領域となり、重畳部分(E〜G)には7度の音高がないので、上記▲5▼−4の条件に当てはまり、GをBに変換する。後半1/4小節においても同様に上記▲5▼−4の条件に当てはまり、GをBに変換する。
【0180】
以上のように、繰り返し回数を検出する手段と図12、図19に示した7度音生成処理手段を適宜組み合わせて用いて、音楽的に違和感のない自然な演奏データを作成することができるものを選択的に使用することも可能である。
【0181】
さらに、7度音生成処理は各領域毎に同じ処理を繰り返してもよいし、各領域毎に上記の7度音生成処理の変形例1〜4の処理を選択的に行うようにしてもよい。また、7度音生成処理を全ての領域で行わずに、7度音生成処理を行う領域を選択して7度音生成を行うようにしてもよい。
【0182】
4−8 その他の変形例
また、コードの検出及び指定は1/2小節毎に可能としたが、これに限らず、1拍毎や、1小節毎で行ってもよい。
【0183】
また、コードの検出はドラムパートを除く全てのパートのノートデータに基づいて行うようにしたが、一部のパートとしてもよく、この一部のパートは固定であってもよいし、使用者が指定してもよい。
【0184】
また、逆変換処理を行うについて基準和音として“Cmaj7”を用いたが、その他の和音であってもよい。その際は、図6の逆音程変換テーブルや図10の音程変換テーブルで示すシフト量を適宜変更すればよい。
【0185】
また、予めコード進行データを記憶するようにしておき、和音検出処理は省略してもよい。
【0186】
また、音高変換するパートはドラムパートを除く全てのパートのノートデータに基づいて行うようにしたが、一部のパートとしてもよく、この一部のパートは固定であってもよいし、使用者が指定してもよい。
【0187】
また、第1実施形態では和音変換処理を各トラック毎に行ったが、パート毎に行ってもよい。
【0188】
また、演奏データは楽曲を構成するメロディーパートの自動演奏データと伴奏パートの自動演奏データとから成り、伴奏パートのみの自動演奏データを和音変換処理するものであってもよい。
【0189】
また、第1実施形態では操作者によって指定コード変換処理スタート指示ボタン405が押された場合、全小節の演奏データについて和音変換処理を行うようにしているが、操作者が和音検出や和音変換処理を行いたい区間を指定して、その部分だけで和音検出や和音変換処理を行ってもよい。
【0190】
また、第1実施形態では指定コードは空白であり、操作者が図4(B)に示したコード入力画面を用いてコード入力を行うようにしているが、和音の検出を行った時点で検出した和音をあらかじめ指定コードとしてコピーしていてもよい。また、指定コードが空白のまま、操作者によって指定コード変換処理スタート指示ボタン405が押された場合は、検出コードを指定コードとしてコピーして和音変換処理を行ってもよい。
【0191】
また、検出した和音に基づいてノートデータを逆変換するものに限らず、指定された和音へと直接変換してもよい。この場合、検出した和音に基づいて各ノートデータの属性(1度、3度、5度等)を求め、本発明に適用すればよい。この場合、第4和音構成音生成処理は各音名に対応した変換テーブルを用意しておいて、求めた各ノートデータの属性とその変換テーブルに基づいて第4和音構成音生成を行えばよい。なお、各ノートデータの属性の求め方は例えば、特開平6−337677に詳しく記載されている。
【0192】
また、生成する第4和音構成音は長7度に限らず、短7度、長6度、短6度等でもよい。
【0193】
また、第4和音構成音生成規則に基づく処理フローによって第4和音構成音を生成したが、第4和音構成音生成規則をテーブル化(例えば、元ノートの組み合わせ−生成後ノートの組み合わせをテーブル化したもの)し、これに基づいて第4和音構成音を生成してもよい。
【0194】
また、和音構成音から第4和音構成音を生成するものに限らず、非和音構成音から第4和音構成音を生成してもよい。
【0195】
また、第2の実施形態において、全ての伴奏パターンが“Cmaj”に基づいて作成されているとしたが、“Cmaj7”に基づいて作成されたものも含まれていてもよい。その場合、“Cmaj”と“Cmaj7”のどちらに基づいて作成されたものなのかを識別(例えば元和音情報を伴奏パターン中に含ませておく)し、“Cmaj”であるとされたものについてのみ本発明を適用すればよい。また、全ての伴奏パターンが別の3音構成の和音に基づいて作成されていてもよく、その場合は一旦“Cmaj”に逆変換すればよいし、対応するテーブルを用意しておいてもよい。また、伴奏パターンは他の根音や他のタイプの和音が混在して作成されていてもよく、その場合は一旦“Cmaj”あるいは“Cmaj7”に逆変換すればよい。
【0196】
また、第2の実施形態において、和音の指定は鍵盤以外の演奏操作子(例えば弦楽器型等)で行ってもよい。
【0197】
また、記録媒体の演奏データではなく、演奏者によってリアルタイムに入力されるような楽曲データを変換するものであってもよい。
【0198】
また、演奏データの編集装置であって、演奏データの作成及び編集を行うものにおいて、例えばユーザーによって任意に作成及び編集される演奏データを適宜変換できるものであってもよい。
【0199】
また、演奏データ入力手段で行われる入力は、鍵盤やパネルスイッチ等から供給されるものであってもよいし、通信や各種メモリから供給されるものであってもよい。
【0200】
また、出力手段で行われる出力は、楽音として発生させるものであってもよいし、メモリに書き込むようなものであってもよい。
【0201】
また、本発明を自動演奏装置や自動伴奏装置に適用した例を説明したが、実施の形態はこれに限定されるものではない。
【0202】
例えば、本発明をパーソナルコンピュータ等の汎用計算機上で動作するアプリケーションプログラムとしてもよい。この場合、プログラムは前記の各種記録媒体によって供給されるものとしてもよいし、ネットワーク上で実行されるプログラムであって遠隔地のサーバー上もしくは該サーバーからダウンロードすることで実行されるようなものであってもよい。
【0203】
また、携帯電話やゲーム機器、ゲームソフトの一部の機能として組み込まれる形態であってもよい。
【0204】
また、演奏情報メモリ、伴奏パターンメモリは遠隔地のサーバーコンピュータ等に置かれていてもよい。
【0205】
また、本発明の音源としてソフトウェア音源を使用してもよい。
【0206】
また、第2実施形態において、本発明の自動伴奏装置で用いた鍵盤はソフトウェアキーボードやゲーム機器のコントローラーや携帯電話の操作パネルのようなものであってもよい。
【0207】
【発明の効果】
以上説明したように、本発明によれば、演奏データを4音構成の和音に応じた音高に音高変換するにあたって、演奏データが3音構成の和音に基づくものであったとしても、第4和音構成音を適宜変更して生成できるため、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【0208】
また、本発明によれば、伴奏パターンメモリ等に記憶する和音が4音構成である必要があったが、伴奏パターンメモリ等に記憶する和音が3音構成であっても4音構成の和音に正しく変換することができるので、音楽的に違和感のない自然な演奏データを作成するが可能となる。
【0209】
また、本発明によれば、第4和音構成音を生成する際、変換候補となる楽音情報を決定して変換可能であるものだけを第4和音構成音に変換するので、不適切なものまで変換してしまうことがない。
【0210】
また、本発明によれば、第4和音構成音に相当する複数の音高の楽音情報を選択的に追加するので、供給された和音に正確に変換することができる。
【0211】
また、本発明によれば、第4和音構成音を生成する際、第4和音構成音を生成するための複数の規則のうち適切なものを選択して、選択された規則に基づいて第4和音構成音に相当する楽音情報を生成するので、演奏パートの特徴(ベース系、ピアノ系、ギター系など)に応じて、音楽的に違和感のない自然な演奏データを作成することが可能となる。
【0212】
また、本発明によれば、第4和音構成音を生成する際、楽音情報のうち最低の音高にならないものを選択的に生成するするので、ルート音を変えることなく4音構成の和音に正しく変換することができる。
【0213】
また、本発明によれば、3度の音高は第4和音構成音への変換対象としないので、各ノートデータの音高差が和音として不適当なものとならない。
【0214】
また、本発明によれば、最低音以外に1度の音高がある場合はこの一度の音高からすぐ近くにある第4和音構成音(実施形態では低い7度)を生成するので、前後の区間とのつながりが不自然になることはない。
【0215】
また、本発明によれば、演奏データまたは伴奏パターンは3音構成であっても構わないのでメモリサイズを小さくすることが可能である。
【0216】
また、本発明によれば、演奏データまたは伴奏パターンの作成も3音構成の和音で行うことができ、作成が容易になる。
【0217】
また、本発明によれば、和音検出処理において、演奏データを1/2小節毎に分割し、和音検出の対象を1小節とし、対象1小節の前半1/2小節、後半1/2小節でそれぞれ和音検出を行い、前後半一方のみで和音が検出された時は、その検出された和音を対象1小節全てに適応する。そして、前後半共に和音不明であれば対象1小節を和音検出区間として和音の検出を行うようにしているので、和音検出不能区間の補償が可能となる。
【0218】
また、本発明によれば、和音変換処理において、1小節でコード変化がなかった場合は、1小節全体として変換を行っているので、より音楽的に違和感のない自然な演奏データを作成することができる。
【0219】
また、本発明によれば、前後の区間のキーオン領域の重畳部分に基づいて第4和音構成音生成処理を行っているので、音楽的に違和感のない、より自然な演奏データを作成することができる。
【0220】
また、本発明によれば、和音変換処理において、変換対象区間のnトラックで発音されているノートデータが何らかのパターンの繰り返しによって構成されているか否かを検出し、パターンの繰り返しが認められる場合は変換対象区間を分割し、この分割された領域毎に第4和音構成音生成処理を行っているので、音楽的に違和感のない、より自然な演奏データを作成することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態の自動演奏装置のブロック図である。
【図2】第1実施形態における供給される演奏データのフォーマットを示す図である。
【図3】第1実施形態におけるトラック分けを示す図である。
【図4】第1実施形態における処理ウインドウの一例の説明図である。
【図5】第1実施形態におけるメイン処理ブロック図である。
【図6】第1実施形態における逆音程変換テーブルの一例を示す図である。
【図7】第1実施形態における和音検出処理のフロチャートである。
【図8】第1実施形態における和音種類テーブルの一例を示す図である。
【図9】第1実施形態における和音変換処理のフロチャートである。
【図10】第1実施形態における音程変換テーブルの一例を示す図である。
【図11】第1実施形態における7度音変換例を示した図である。
【図12】第1実施形態における7度生成処理のフロチャートである。
【図13】本発明の第2実施形態の自動伴奏装置のブロック図である。
【図14】第2実施形態におけるメイン処理ブロック図である。
【図15】和音検出処理の変形例のフロチャートである。
【図16】和音変換処理の変形例のフロチャートである。
【図17】1小節内でコード変化がない場合に1小節単位で7度音生成処理をする理由を示した図である。
【図18】7度音生成処理の変形例を示した図である。
【図19】7度音生成処理の変形例のフロチャートである。
【図20】7度音追加例を示した図である。
【図21】繰り返し回数検出処理のフロチャートである。
【図22】7度音生成処理の別の変形例を示した図である。
【符号の説明】
101 CPU、102 入力手段、104 表示手段、106 音源手段、115 演奏情報メモリ(RAM)、116 ワーキングメモリ(RAM)、117 プログラムメモリ(ROM)、
401 演奏データ表示領域、402 和音検出処理スタート指示ボタン、403 検出コード表示領域、404 指定コード表示領域、405 指定コード変換処理スタート指示ボタン、408 コードルート指示領域、409 コードタイプ指示領域、411 コード表示領域、412 コード入力ボタン、414 コードルート選択ボタン、415 コードタイプ選択ボタン、
1308 伴奏パターンメモリ(ROM)、1309 鍵盤、1310 パネルスイッチ
[0001]
[Industrial application fields]
  The present invention is applied to an electronic musical instrument, an automatic accompaniment apparatus that performs automatic accompaniment based on performance information stored in advance or performance information supplied from outside, an automatic performance apparatus that performs automatic performance, and the like. Musical sound information conversion device that performs editing such as data conversion and correction,Its controlWay orStorage medium storing program for realizing control methodAbout.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, some sequencers that perform automatic performance or accompaniment based on performance data have a function of appropriately converting note data included in the performance data based on a chord designated by the user. Such a prior art is disclosed as a performance data editing device in, for example, Japanese Patent Laid-Open No. 8-16994. In this type of performance data editing apparatus, the root note and type of chords are detected in advance from the performance data, and all note data is once associated with the reference chord “Cmaj7” based on the detected chord information. Conversion to note data corresponding to a specified chord is performed by shifting to note data having a pitch, and then conversion to a desired chord is realized.
[0003]
[Problems to be solved by the invention]
By the way, chords are broadly divided into those having three notes (major chord, minor chord, etc.) and those having four notes or more (seventh chord, etc.). The performance data includes the fourth chord constituent sound (for example, the seventh chord is a seventh chord, and in this application, the ninth chord composing sound is also included including the ninth, eleventh, thirteenth, etc.). Yes, if the chord detected from the performance data is composed of four tones, the fourth chord component is converted to another one component such as once to convert it to a chord of any three-or four-component structure. It can be carried out.
[0004]
On the other hand, if the performance data does not include the fourth chord component and the chord detected from the performance data has a three tone configuration, the fourth chord component is converted to a four tone chord as in the above case. Must be generated. In such a case, in the prior art, a note code corresponding to “C”, which is a single component of the reference chord “Cmaj7”, is converted into a pitch “B” which is a fourth chord component. Was. However, even if the pitch of one component sound is simply converted into the fourth chord component sound in this way, there are still three types of chord component sounds that constitute the “Cmaj7” chord. In such a conventional technique, as a result of converting the pitch of one component sound into a fourth chord component sound, there is a problem that the combination of note codes after conversion does not become a chord to be converted.
[0005]
For example, "C3"," E3"," G3"," C4When trying to convert a chord consisting of “corresponding to“ Cmaj ”” to “Cmaj7”, in the prior art, “Cmaj7”3"," C4"Is the 7th component sound" B2"," B3"Pitch conversion into. As a result, the converted note code is" B2"," E3"," G3"," B3This note code combination is equivalent to the chord “Em”.3"," E3"," G3If you try to convert a chord consisting of “corresponding to“ Cmaj ”” to “Cmaj7”,3"Is the 7th component sound" B2"Pitch conversion into. As a result, the converted note code is" B3"," E3"," G3This note code combination corresponds to “Con B” which is a fractional chord.
[0006]
That is, in the prior art, when converting performance data into chords designated by the user, it is required that there are substantially four types of chord constituent sounds in the performance data, and there is a significant amount of performance data that can be converted. It was restricted.
[0007]
The present invention has been made to solve the above-mentioned problems in the prior art, and aims to correctly convert chords having four tones even if there are not four types of chords in the performance data. In addition, the processing to generate the 4th chord component is appropriately changed according to the characteristics of the performance part (bass, piano, guitar, etc.) to create natural performance data that is musically comfortable. The purpose is to do.
[0008]
[Means for Solving the Problems]
  In order to solve the above problems, a musical tone information conversion apparatus according to claim 1 of the present invention is provided.Supply means for supplying performance data including a plurality of pitch information arranged in pronunciation order, division means for dividing the entire section of the performance data supplied by the supply means into partial sections of a predetermined length, and the division means For each divided partial section, detection means for detecting chord information of a chord composed of a plurality of pitch information included in the partial section, input means for inputting chord information corresponding to the partial section, and the partial section Each time, a plurality of pitch information included in the partial section is converted into a chord corresponding to the input chord information based on the chord information detected by the detecting means and the chord information input by the input means. A conversion means for converting into pitch information as configured, and a chord composed of a plurality of pitch information included in the partial section to be converted by the conversion means has a three-tone configuration and is input When the chord information has a four-tone structure, pitch information corresponding to a predetermined part of the three chord constituent sounds among the plurality of pitch information included in the partial section to be converted is Extraction means for extracting as a pitch candidate for generating the fourth chord constituent sound, and generation means for generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction means. The fourth chord constituent sound that is preferentially generated in the overlapped portion of the key-on area of the partial section immediately before the partial section to be converted and the key-on area of the partial section immediately after, and the generation means Replacing the pitch information that is the basis for generating the fourth chord constituent sound with the pitch information of the generated fourth chord constituent sound, and the converting means includes the partial section in the partial section. Multiple pitch information included When converting, the pitch information is replaced by the replacement means converts the pitch information after the replacement thereofIt is characterized by that.
[0009]
  A music information conversion device according to claim 2 of the present invention isSupply means for supplying performance data including a plurality of pitch information arranged in pronunciation order, division means for dividing the entire section of the performance data supplied by the supply means into partial sections of a predetermined length, and the division means For each divided partial section, detection means for detecting chord information of a chord composed of a plurality of pitch information included in the partial section, input means for inputting chord information corresponding to the partial section, and the partial section Each time, a plurality of pitch information included in the partial section is converted into a chord corresponding to the input chord information based on the chord information detected by the detecting means and the chord information input by the input means. A conversion means for converting into pitch information as configured, and a chord composed of a plurality of pitch information included in the partial section to be converted by the conversion means has a three-tone configuration and is input When the chord information has a four-tone structure, pitch information corresponding to a predetermined part of the three chord constituent sounds among the plurality of pitch information included in the partial section to be converted is Extraction means for extracting as a pitch candidate for generating the fourth chord constituent sound, and generation means for generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction means. The fourth chord constituent sound that is preferentially generated in the overlapped portion of the key-on area of the partial section immediately before the partial section to be converted and the key-on area of the partial section immediately after, and the generation means Adding means for adding the pitch information of the fourth chord constituent sound generated by the step to the sounding position of the chord composed of a plurality of pitch information included in the partial section, and the converting means includes the partial section in the partial section. Change multiple pitch information included When converts the pitch information after the pitch information is added by said adding meansIt is characterized by that.
[0010]
  Other features of the invention are:A predetermined part of the three chord constituent sounds has a pitch of 5 degrees.
[0014]
  Further, according to claim 4 of the present inventionStorage mediaIsCPU,Supplying performance data containing multiple pitch information arranged in pronunciation ordermeansWhenA computer-readable storage medium storing a program for causing a computer to execute a control method for controlling a musical sound information conversion device comprising:,In the control method, the CPUSupplymeansDividing the whole section of the performance data supplied byStepWhen,The CPUSplitStepDetection for detecting chord information of a chord composed of a plurality of pitch information included in the partial section for each partial section divided byStepWhen,The CPU isFor each partial section, a plurality of pitch information included in the partial section is detected by the detection.StepChord information detected byEnteringPowermeansConversion based on the chord information input by, which converts into pitch information that forms a chord corresponding to the input chord informationStepAnd the transformationStepWhen the chord consisting of a plurality of pitch information included in the partial section to be converted by is a three-tone configuration, and the input chord information is a four-tone configuration,The CPU isAmong the plurality of pitch information included in the partial section to be converted, pitch information corresponding to a predetermined part of the three chord constituent sounds is generated to generate the fourth chord constituent sound. Extraction extracted as a pitch candidateStepWhen,The CPUExtractionStepGenerating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidates extracted byStepA preferentially generating fourth chord constituent sound that is included in the overlapped portion of the key-on area of the partial section immediately before the partial section to be converted and the key-on area of the partial section immediately after,The CPUGenerationStepReplacing the pitch information that was the basis for generating the fourth chord constituent sound with the pitch information of the generated fourth chord constituent soundStepAndPreparationThe conversionStepThen, when converting a plurality of pitch information included in the partial section, the replacementStepThe pitch information replaced by is converted into the pitch information after the replacement.
[0015]
  Further, according to claim 5 of the present inventionStorage mediaIsCPU,Supplying performance data containing multiple pitch information arranged in pronunciation ordermeansWhenA computer-readable storage medium storing a program for causing a computer to execute a control method for controlling a musical sound information conversion device comprising:,In the control method, the CPUSupplymeansDividing the whole section of the performance data supplied byStepWhen,The CPUSplitStepDetection for detecting chord information of a chord composed of a plurality of pitch information included in the partial section for each partial section divided byStepWhen,The CPU isFor each partial section, a plurality of pitch information included in the partial section is detected.StepChord information detected byEnteringPowermeansConversion based on the chord information input by, which converts into pitch information that forms a chord corresponding to the input chord informationStepAnd the transformationStepWhen the chord consisting of a plurality of pitch information included in the partial section to be converted by is a three-tone configuration, and the input chord information is a four-tone configuration,The CPU isAmong the plurality of pitch information included in the partial section to be converted, pitch information corresponding to a predetermined part of the three chord constituent sounds is generated to generate the fourth chord constituent sound. Extraction extracted as a pitch candidateStepWhen,The CPUExtractionStepGenerating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidates extracted byStepA preferentially generating fourth chord constituent sound that is included in the overlapped portion of the key-on area of the partial section immediately before the partial section to be converted and the key-on area of the partial section immediately after,The CPUGenerationStepAdds the pitch information of the fourth chord constituent sound generated by the step to the sounding position of the chord composed of a plurality of pitch information included in the partial sectionStepAndPreparationThe conversionStepThen, when converting a plurality of pitch information included in the partial section, the additionalStepThe pitch information after the pitch information is added is converted by.
[0016]
  Further, according to claim 7 of the present inventioncontrolThe method isCPU,Supplying performance data including multiple pitch information arranged in pronunciation ordermeansWhenA control method for controlling a musical sound information conversion device comprising:,The CPUSupplymeansA dividing step of dividing the entire section of the performance data supplied byThe CPUFor each partial section divided by the dividing step, detecting step for detecting chord information of a chord composed of a plurality of pitch information included in the partial section;The CPU isFor each partial section, a plurality of pitch information included in the partial section is converted into the chord information and the chord information detected by the detection step.EnteringPowermeansA conversion step for converting into pitch information that forms a chord corresponding to the input chord information, and a plurality of sounds included in the partial section to be converted by the conversion step based on the chord information input by When a chord consisting of high information has a three-tone configuration and the input chord information has a four-tone configuration,The CPU isAmong the plurality of pitch information included in the partial section to be converted, pitch information corresponding to a predetermined part of the three chord constituent sounds is generated to generate the fourth chord constituent sound. An extraction step for extracting as pitch candidates;The CPUA generation step of generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction step, wherein the key-on area and the partial section immediately after the partial section immediately before the partial section to be converted Preferentially generating a fourth chord constituent sound that is included in the overlapped portion of the key-on area ofThe CPUReplacing the pitch information that is the basis for generating the fourth chord constituent sound by the generating step with the pitch information of the generated fourth chord constituent sound, and in the converting step, When converting a plurality of pitch information included in a section, the pitch information after the replacement is converted for the pitch information replaced by the replacement step.
[0017]
  Further, according to claim 8 of the present inventioncontrolThe method isCPU,Supplying performance data including multiple pitch information arranged in pronunciation ordermeansWhenA control method for controlling a musical sound information conversion device comprising:,The CPUSupplymeansA dividing step of dividing the entire section of the performance data supplied byThe CPUFor each partial section divided by the dividing step, detecting step for detecting chord information of a chord composed of a plurality of pitch information included in the partial section;The CPU isFor each partial section, a plurality of pitch information included in the partial section is converted into the chord information and the chord information detected by the detection step.EnteringPowermeansA conversion step for converting into pitch information that forms a chord corresponding to the input chord information, and a plurality of sounds included in the partial section to be converted by the conversion step based on the chord information input by When a chord consisting of high information has a three-tone configuration and the input chord information has a four-tone configuration,The CPU isAmong the plurality of pitch information included in the partial section to be converted, pitch information corresponding to a predetermined part of the three chord constituent sounds is generated to generate the fourth chord constituent sound. An extraction step for extracting as pitch candidates;The CPUA generation step of generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction step, wherein the key-on area and the partial section immediately after the partial section immediately before the partial section to be converted Preferentially generating a fourth chord constituent sound that is included in the overlapped portion of the key-on area ofThe CPUAdding the pitch information of the fourth chord constituent sound generated by the generating step to the sounding position of the chord composed of a plurality of pitch information included in the partial section, and in the converting step, the partial step When converting a plurality of pitch information included in the section, the pitch information after the pitch information is added by the adding step is converted.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Next, a first embodiment in which the present invention is applied to an automatic performance device will be described with reference to the drawings.
[1] Hardware configuration of the first embodiment
FIG. 1 shows a schematic block diagram of the automatic performance apparatus.
The automatic performance device 100 includes a CPU 101 for controlling the automatic performance device 100 as a whole, a pointing device such as a mouse and a keyboard for inputting various data, and an input means 102 such as a keyboard, and between the CPU 101 and the input means 102. And an input means interface 103 for performing an interface operation.
[0026]
The automatic performance device 100 also includes a display unit 104 that performs various displays, a sound source unit 106 that generates music signals of a plurality of tone generation channels based on performance data supplied via the bus 105, and an output from the sound source unit 106. The effect means 107 for performing various effect processing (effect processing) on the music signal, and the sound device 108 for amplifying the sound signal input by the effect means 107 and outputting the sound signal as an acoustic signal. The pointing device has a switch or the like, and designates an arbitrary position on the display means 104 and performs an operation such as clicking (turning on the pointing device at a certain place and turning it off on the spot). The various functions can be specified.
[0027]
Further, the automatic performance device 100 includes a MIDI interface 110 that is an interface with an external MIDI device 109 and a communication interface 113 that is an interface with an external server computer 112 via a communication network 111. Has been.
[0028]
Further, an external storage device 114 such as a hard disk drive, a flexible disk drive, a CD-ROM drive, an MO (Magneto Optical) disk drive, a DVD (Digital Versatile Disc) drive, a semiconductor memory device such as a flash memory, a MIDI interface 110, A performance information memory (RAM) 115 for storing performance data supplied from the communication interface 113 and the external storage device 114, a working memory (RAM) 116 for temporarily storing various variables and data, a control program and data And the like, and a timer 118 for performing various timing controls.
[0029]
In this case, the CPU 101 includes an input means interface 103, display means 104, sound source means 106, effect means 107, MIDI interface 110, communication interface 113, external storage device 114, performance information memory (RAM) 115, working memory (RAM). 116 and a program memory (ROM) 117 are connected via a bus 105.
[0030]
The performance data supplied from the MIDI interface 110, the communication interface 113, or the external storage device 114 is composed of data of one or more channels, and the note data constituting each channel is a note representing the pitch. It has information such as number (0 to 127, C3 = 60). Note that the note code in this application is the remainder (0 to 11) obtained by dividing the note number by 12, and corresponds to the note name of the note data.
[0031]
FIG. 2 is a diagram showing a format example of the supplied performance data. The performance data supplied from the outside includes timing data and channels indicating the key-on timing by the number of clocks from the beginning of the song or the previous event data. Channel number (channel 1, channel 2,...), Event data indicating event information such as note number and velocity, and end data indicating the end of music.
[0032]
The performance data supplied from the MIDI interface 110, the communication interface 113, or the external storage device 114 is classified into the same track as the note data of the same channel as shown in FIG. It is separated and stored in a performance information memory (RAM) 115. At this time, the number of tracks is stored in a storage area tr (described later).
[0033]
Further, performance data supplied from the outside may be separated into a plurality of tracks in advance as shown in FIG.
[0034]
[2] Operation of the first embodiment
2-1 Configuration of processing screen
Next, an example of a processing screen displayed on the display unit 104 will be described with reference to FIG.
[0035]
The automatic performance device 100 has a track information display screen for displaying performance data of each track shown in FIG. 4A, and a chord input displayed when a chord designated by the operator shown in FIG. 4B is inputted. And a screen.
[0036]
The track information display screen shown in FIG. 4A includes a track number display area 400 for displaying a plurality of track numbers, and performance data stored for each track number and displaying performance data for the corresponding track for each track. An operator designates a display area 401, a chord detection process start instruction button 402 for instructing an operation for starting a chord detection process described later, a detection code display area 403 for displaying a chord detected by the chord detection process, and A designated chord display area 404 for displaying the chord, a designated chord conversion process start instruction button 405 for instructing a process for converting performance data into a chord designated by the operator, which will be described later, and a measure in which the operator is about to input the chord A bar position display cursor 406 for displaying the position of the scroll bar and a scroll bar 407 for changing the display area Equipped and are configured.
[0037]
In addition, the code input screen shown in FIG. 4B includes a code route instruction area 408 for indicating the code route, a code type instruction area 409 for specifying the code type, and the position of the bar where the operator is to input the code. A bar position display area 410 for displaying a code, a code display area 411 for displaying a currently specified code, a code input button 412 for instructing an operation for inputting a code specified by the operator to a specified position, and a code And a cancel button 413 for canceling the input. In the first embodiment, it is possible to specify chords for the first 1/2 bar and the second 1/2 bar of each bar.
[0038]
4, in the track information display screen and the code input screen, the first half of the twenty-first bar is designated as the chord input position as illustrated in the bar position display cursor 406 and the bar position display area 410.
[0039]
For example, when the operator designates and inputs the code “Cmaj” in the first half of the 21st bar, the operator clicks the first half of the 21st bar in the designated code display area 404 with the input means 102 such as a pointing device, thereby FIG. The bar position display cursor 406 is displayed at the position of the first half of the 21st bar shown in FIG. 4B, and the code input screen shown in FIG. 4B is displayed. The chord root instruction area 408 has buttons 414 for selecting each pitch name (C to B) and chromatic scale (#, ♭, etc.) corresponding to each pitch name, and corresponds to “C”. When the button is selected, “C” is designated as the root of the code. In the code type designation area 409, buttons 415 for selecting code types such as “maj” and “maj7” are arranged corresponding to each type, and when the button corresponding to “maj” is selected. “Maj” is designated as the code type. When the chord input button 412 is pressed, “Cmaj” is input in the first half of the 21st bar.
[0040]
In the processing screen of FIG. 4, the track information screen shown in FIG. 4 (A) displays only a part of a large number of tracks and a part of a plurality of measures. By changing the display area using the scroll bar 407 displayed to the right or below the display area 401, other tracks or other measures can be displayed.
[0041]
2-2 Overall operation
Next, the operation of the first embodiment configured as described above will be described. First, the flow of code conversion processing executed by the CPU 101 of the first embodiment will be described with reference to FIG.
[0042]
The CPU 101 executes various programs such as the code conversion processing program of FIG. 5 in accordance with an event generated by an operator's operation or the like. A main routine (not shown) constantly monitors the occurrence of an event, calls a program corresponding to the generated event, and executes a corresponding process. FIG. 5 shows a flow of processing executed in the CPU 101 when a chord detection instruction event, a chord information supply event, a pitch conversion instruction event, or the like is generated by an operation of the operator.
[0043]
In the following description and each flowchart, each storage area of the RAM 116 used for control is indicated by the following label, and the contents of each storage area indicated by the same label are the same unless otherwise specified.
[0044]
Imax: Storage area for counting the number of 1/2 bar intervals
I: Storage area indicating the current position of the 1/2 bar section
CHRD: a storage area for temporarily storing whether or not there is a pronunciation corresponding to each pitch name in a chord detection section (1/2 measure section), and a 12-bit storage area corresponding to a note code (0 to 11)
RPT: Storage area for counting the number of cyclic shifts when matched
RES: storage area for storing the type of chord detected when matching
SRTI: Storage area for storing chord root of detected chord in chord detection section (1/2 measure section)
STPI: Storage area for storing the type of chord detected in the chord detection section (1/2 measure section)
DRTI: Storage area for storing the chord root of the specified chord in the chord detection section (1/2 measure section)
DTPI: Storage area for storing the type of specified chord in the chord detection section (1/2 measure section)
tr: Storage area for counting the number of tracks
n: Storage area indicating the current track number
CA: a storage area for temporarily storing all note data corresponding to a pitch of 1 degree and a pitch of 5 degrees in a chord detection section (1/2 measure section)
[0045]
In the chord conversion process of FIG. 5, in response to a chord conversion process instruction event generated by an operator's operation or the like, first, the input means 500 performs a performance from the MIDI interface 110, the communication interface 113, and the external storage device 114 in advance. As shown in the block display area 401 of FIGS. 3 and 4, the supplied performance data is classified for each track and stored in the performance information memory (RAM) 115. At this time, the track information display screen shown in FIG. 4A is displayed on the display screen. At this time, both the detection code display area 403 and the specified code display area 404 are blank. Next, when a chord detection instruction event 501 occurs in response to the operation of the chord detection process start instruction button 402, the chord information extraction unit 502 starts the chord detection process (described later) in FIG. Store information in memory. (This chord detection process is performed based on all the note data of the performance data excluding the drum part. Hereinafter, the drum part refers to the track including the note data of the drum tone.) At this point, the track information display screen The code name is displayed in the upper detection code display area 403 as shown in FIG.
[0046]
The chord information supply means 503 allows the operator to input a code using the code input screen shown in FIG. 4B, so that the input code is displayed in a specified measure in the specified code display area 404. Next, when a pitch conversion instruction event 504 occurs in response to pressing of the designated code conversion process start instruction button 405, the detected chord is inversely converted 505, and the fourth chord constituent sound generation means 506 is informed. If the detected chord has a three-tone structure and the specified chord has a four-tone structure, a seventh-degree sound generation process is performed, and the conversion means 507 performs the chord conversion process (described later) in FIG. Convert performance data into chords. (This reverse conversion process is performed for all the note data of the performance data excluding the drum part, and the chord conversion process is performed for each track of the performance data.) Then, the performance data converted by the output means 508 is stored in the performance information memory. 115.
[0047]
Here, the inverse conversion process 505 is a four-tone structure with a pitch corresponding to the case where the note numbers of all the note data are the chord “Cmaj” if the detected chord is a three-tone structure in the chord detection process. If so, the note numbers of all the note data are converted into pitches corresponding to the chord “Cmaj7”. FIG. 6 shows an example of a reverse pitch conversion table. When reverse conversion is performed to “Cmaj” or “Cmaj7” based on this table, each note data is corrected so as to have an appropriate pitch relationship.
[0048]
For example, the note number of some note data is “58” (A2#), If the detected chord is “Gm” (3-tone configuration), the chord root pitch name of the detected chord is “G” when shifting to “Cmaj”. Note code “7” (see FIG. 6) is subtracted from note number “58” to obtain note number “51” (D2Shift to #). Next, since the type of the detected chord is “min” (minor), the correction data “1” is read from “D #” (note code “3”) and “min” in the reverse pitch conversion table of FIG. This correction data “1” is added to the shifted note number “51” to obtain the note number “52” (E2). As a result, the note number “58” in the chord “Gm” (A2Note data of #) is note number "52" (E in chord "Cmaj")2), And the pitch of the chord “Gm” is converted back to the pitch of “Cmaj”.
[0049]
In this embodiment, prior to the 7th tone generation process and the chord conversion process, the above-described inverse conversion process is performed, and all note data (note data) excluding the drum part of the performance data is detected as the chord root of the detected chord. Based on the type, the pitch is converted to a pitch corresponding to “Cmaj” or “Cmaj7”. Such an inverse conversion processing method is disclosed in, for example, Japanese Patent Laid-Open No. 8-160946.
[0050]
2-3 Chord detection processing
Next, with reference to FIG. 7, a chord detection process performed in the chord information extraction unit 502 in response to occurrence of a chord detection instruction event 501 by pressing the chord detection process start instruction button 402 will be described.
[0051]
In the chord detection process of FIG. 7, first, in step 700, the performance data is divided into ½ measures, and the total number of divided ½ measures is stored in Imax. In step 701, I = 1 is set. Then, the process proceeds to step 702. In the following processing, chords are detected for each section using the divided sections as chord detection sections.
[0052]
In step 702, the logical sum of all note names (note codes) of all parts except the drum part in the chord detection section I is stored in CHRD. Here, the bits corresponding to all pitch names that have been on events at least once in the chord detection section I are stored in the CHRD as “1”.
[0053]
KCD (CHRD) in step 703 is a function for performing chord matching processing (not shown) described below, and performs matching with the chord type table while cyclically shifting CHRD, and stores the detected chord type in RES. At the same time, the number of cyclic shifts is stored in the RPT as a note code corresponding to a chord chord root. RPT stores 0 to 11 if detection is successful, and -1 if it fails.
[0054]
FIG. 8 shows an example of the chord type table described above. Data in which each bit of 12 bits is associated with 12 pitch names and the bits of the chord component are set to “1” and other bits are set to “0”. This is stored for each type of chord. In the function KCD (CHRD) in step 703, chord matching processing is performed using this table. Such chord matching processing is disclosed in, for example, Japanese Patent Publication No. 57-16359.
[0055]
Next, in step 704, it is determined whether chord detection has failed. If a chord is detected, the RPT is 0 or more (NO). In step 705, the chord root RPT of the detected chord is changed to SRT.IAnd store chord type RES in STPIAnd proceed to step 709.
[0056]
If chord detection fails in step 704, RPT is -1 (YES), and in step 706, it is determined whether the current chord detection section is the head section.
[0057]
If it is determined in step 706 that I ≠ 1, that is, if it is not the first section (NO), the process proceeds to step 707 and the chord chord route SRT in the immediately preceding section is reached.I-1SRTIAnd chord type STP in the immediately preceding sectionI-1STPIAnd proceed to Step 709. In other words, the previous sectionI-1Do not change the chords determined in step.
[0058]
If it is determined in step 706 that I = 1, that is, if it is the first section (YES), the process proceeds to step 708 and SRT1, STP1A default value (for example, Cmaj) is stored in step 709 and the process proceeds to step 709.
[0059]
In step 709, it is determined whether or not I = Imax. If I ≠ Imax (NO), the pointer I of the chord detection section is incremented by 1 in step 710, and step 702 and subsequent steps are repeated. The processing in steps 702 to 710 is repeated for all the sections divided in step 700. If I = Imax is determined in step 709 (YES), the chord detection processing is terminated.
[0060]
2-4 Chord conversion processing
Next, referring to FIG. 9, an operation performed by the fourth chord constituent sound generation means 506 and the conversion means 507 after the reverse conversion processing 505 of the chord detected in response to the occurrence of the pitch conversion instruction event 504 is performed. A chord conversion process for converting performance data into chords designated by the user will be described.
[0061]
In the chord conversion process of FIG. 9, the process is performed for each section divided in step 700 of FIG. 7. First, 1 is set to I indicating the section in step 900, and 1 is set to n indicating the track number in step 901. To do.
[0062]
Chord chord root SRT of chord detection section I detected by the process of FIG.IAnd type of detected chord STPIThe chord root DRT of the chord designated by the operator at 504 in FIG.IAnd specified chord type DTPIIs read. Next, in step 903, performance data for 1/2 bar is read for each track. However, drum parts are excluded because there is no need to convert the pitch of drum parts.
[0063]
In step 904, it is determined whether or not the detected chord is composed of four tones. If the detected chord is composed of four tones (YES), the process proceeds to step 907, and pitch conversion processing is performed based on the designated chord as it is. If the detected chord is composed of three tones in step 904 (NO), the process proceeds to step 905.
[0064]
In step 905, it is determined whether or not the user-specified chord is composed of four tones. If the user's designated chord is composed of 3 tones in step 905 (NO), the detected chord is composed of 3 tones and the designated chord is composed of 3 tones, so that the process proceeds to step 907 and the pitch conversion is performed based on the designated chord as it is. Processing is performed.
[0065]
If it is determined in step 905 that the user-specified chord is composed of four notes (YES), the process proceeds to the fourth chord constituent sound generating means in step 906. In this case, since the detected chord has a three-tone configuration and the specified chord has a four-tone configuration, in step 906, the fourth chord component tone (7 degrees) of the specified chord is generated to be a four-tone chord. After performing the seventh tone generation process (described later), the process proceeds to step 907, where the pitch conversion process is performed based on the specified chord.
[0066]
Here, the pitch conversion process in step 907 corresponds to the specified chord, the note number of the note data that has been converted back to the pitch corresponding to “Cmaj” or “Cmaj7” by the inverse conversion process 505. This is a process of converting into a note number and storing it in the working memory 116.
[0067]
For example, it is assumed that “Fm” is designated and the detected chord has a four-tone structure. At this time, each note data is inversely converted into a note number in the case of “Cmaj7” by the inverse conversion process, and the pitch of these note data is converted into a note number in the case of “Fm”. FIG. 10 shows an example of the pitch conversion table, and the converted pitch is obtained based on the pitch conversion table.
[0068]
For example, in the case described above, the note number of a certain note data is “52” (E2). In this case, since the designated chord type is “min” (minor), the conversion data “−1” is read from the chord type “min” designated by the note code “E” corresponding to the note number “52”. The converted data “−1” is added to the note number “52” to be corrected to the note number “51”. Since the chord root of the designated chord is “F”, the note code “5” (see FIG. 10) of “F” is added to the corrected note number “51”, and the note number “52” (E2) Note number “56” (G2#). Such pitch conversion processing is disclosed in, for example, Japanese Patent Laid-Open No. 7-219534.
[0069]
By performing the above processing and converting all the data, “Cmaj7” is converted to a chord “Fm”.
[0070]
When the detected chord has a three-tone structure, the performance data reversely converted by the reverse conversion process is “Cmaj”, but the pitch conversion is performed in the same manner as described above based on the pitch conversion table of FIG. It can be performed.
[0071]
Performing the above-described process, the pitch corresponding to “Cmaj” or “Cmaj7” of the performance data inversely converted by the inverse conversion process is converted into a pitch corresponding to the specified chord, and the working memory 116.
[0072]
In step 908 of FIG. 9, it is determined whether n = tr. If n ≠ tr (NO), the track number n is incremented by 1 in step 909, and steps 904 and thereafter are repeated. If n = tr (YES), the process proceeds to step 910.
[0073]
In step 910, it is determined whether I = Imax. If I ≠ Imax (NO), the pointer I of the chord detection section is incremented by 1 in step 911, and step 901 and subsequent steps are repeated. If I = Imax (YES), the process returns to the original routine.
[0074]
As a result of this routine, the original performance data is converted into chords into a chord designated by the operator without changing the style.
[0075]
2-5 7th sound generation processing
The seventh-degree sound generation process in step 906 will be described. The 7th tone generation process is a process in which appropriate note data is converted to a chord “Cmaj7” from the note data reversely converted to the reference chord “Cmaj” when the detected chord has a three-tone configuration and the specified chord has a four-tone configuration. The fourth chord constituent sound (7 degrees) “B” is converted into a four-tone chord.
[0076]
When generating the seven-degree sound, the seventh-degree sound is generated based on the following rules so that it can be heard as a chord of the designated route and type and can be heard as a chord without a sense of incongruity.
(1) The lowest pitch is not subject to conversion to a pitch of 7 degrees in order to prevent misunderstanding of chords of different routes and chords of different types.
(2) The generated 7th sound is not the lowest sound.
(3) Of the 1st, 3rd, and 5th pitches, the 3rd pitch is farthest from the 7th pitch, so it generates a 7th pitch from the 3rd pitch. In this case, the pitch difference of each note data may be inappropriate as a chord, so it is not subject to conversion to 7 degrees.
(4) If there is a pitch of 1 degree other than the lowest pitch, generating a pitch of 7 degrees higher than this pitch from this pitch will change the octave and make the connection with the previous and next sections unnatural. Therefore, a pitch of 7 degrees (7 degrees lower) that is in the immediate vicinity is generated.
(5) If there is no pitch other than the lowest tone, the pitch is generated by appropriately changing the pitch from 5 ° to 7 ° higher than this sound or 7 ° lower than this sound. Also in this case, on the basis of generating a pitch of 7 degrees lower than the pitch of 5 degrees, when a pitch of 7 degrees lower than this sound is generated, the pitch of 7 degrees becomes the lowest sound, etc. Only when inconvenience occurs, a pitch of 7 degrees higher than this sound is generated.
(6) Other than the above (1) to (5) (when the pitch of the chord component is 4 or more and the number of pronunciations is 5 or more), the pitch to be generated is 7 degrees (in the first embodiment, A pitch of 7 degrees is generated from the chord constituent sound closest to the pitch of the 7 degrees within the region of the chord constituent sound.
[0077]
FIGS. 11A to 11G are examples of the seventh-degree sound generation process.
FIG. 11A shows that the pronunciation in the chord detection section I is C.3This is a case where only the above-mentioned condition is satisfied. The above condition (1) is satisfied, and the pitch is not converted to 7 degrees.
FIG. 11B shows that the pronunciation in the chord detection section I is E.3, G3, C4This is the case where the pitch of the highest pitch (C4) To a lower 7 degree pitch (B3).
FIG. 11C shows a chord detection section I with C3, E3, G3, C4In the same way as (b), the above note (4) is applied, and the highest pitch (C4) To a lower 7 degree pitch (B3).
FIG. 11D shows that the pronunciation in the chord detection section I is E.2, E3, G3This is the case where the pitch of 5 degrees is the highest (G3) To a lower 7 degree pitch (B2).
FIG. 11 (e) shows that the pronunciation in the chord detection section I is C.3, E3, G3This is the case where the pitch of 5 degrees is the highest (G3) Is 7 degrees higher than this sound (B3).
FIG. 11 (f) shows that the pronunciation in the chord detection section I is C.3, E3The above condition (3) is satisfied, and the pitch is not converted to 7 degrees.
In FIG. 11 (g), the pronunciation in the chord detection section I is G.2, C3, E3, G3, E4The pitch of 7 degrees to be generated (B3) Closest chord component (G3) Is converted to a pitch of 7 degrees.
[0078]
In the example described here, FIG. 11 (a) is an example of performance data often found in a bass performance part, and FIGS. 11 (b) to 11 (f) are often seen in a piano performance part. FIG. 11G shows an example of performance data, and FIG. 11G shows an example of performance data often found in guitar-type performance parts.
[0079]
Hereinafter, with reference to the example of FIG. 11 and FIG. 12, the seventh-degree sound generation process executed in step 906 of FIG. 9 will be described.
[0080]
First, in step 1200, note data (hereinafter referred to as chord constituent sound) from which only the chord constituent sound is excluded from the chord detection section I, that is, the non-chord constituent sound is read out, and the process proceeds to step 1201.
[0081]
In step 1201, note data having a pitch of 1 degree and a pitch of 5 degrees of the chord constituent sound are extracted as generation candidates from the chord detection section I and stored in CA, and the process proceeds to step 1202.
[0082]
In step 1202, it is determined whether or not the pitch of the chord constituent sound read in step 1200 is one (the number of pronunciations is arbitrary). If the pitch of the chord constituent sound is one (YES), step 1202 is performed. In 1203, the routine returns to the original routine even if the pitch is not changed (the pitch of 7 degrees is not generated). This corresponds to the above condition (1).
[0083]
If it is determined in step 1202 that the pitch of the chord constituent sound is not one (NO), the process proceeds to step 1204, where the pitch of the chord constituent sound is two or three (the number of pronunciations is arbitrary), or the pitch is four. Thus, it is determined whether or not the number of pronunciations of the chord constituent sounds is four (that is, they are sounded once at each pitch).
[0084]
If it is determined in step 1204 that the pitch of the chord constituent sound is two or three, or if the pitch is four and the number of pronunciations of the chord constituent sound is four (YES), the process proceeds to step 1205, and in step 1201 above It is determined whether or not note data having one pitch other than the lowest tone of the chord constituent sound exists in the stored CA.
[0085]
If there is a pitch other than the lowest tone of the chord component in the determination in step 1205 (YES), in step 1206, the highest pitch is converted to a lower pitch of 7 °. Return to the original routine. This corresponds to the above condition (3).
[0086]
If it is determined in step 1205 that there is no pitch other than the lowest tone of the chord constituent sound (NO), the process proceeds to step 1207, and the CA stored in step 1201 contains 5 other than the lowest tone of the chord constituent sound. It is determined whether or not there is note data with a certain pitch.
[0087]
If it is determined in step 1207 that there is a pitch of 5 degrees other than the lowest tone of the chord constituent sound (YES), the process proceeds to step 1208, and there is no pitch of 5 degrees other than the lowest tone of the chord constituent sound. (NO), step 1203 returns to the original routine even if the pitch is not changed (a pitch of 7 degrees is not generated). This corresponds to the above condition (2).
[0088]
In step 1208, it is determined whether or not a pitch of 7 degrees, which is lower than the pitch of 5 degrees of the highest tone, is the lowest tone. If the pitch of 7 degrees lower than the highest pitch of 5 degrees is the lowest pitch in this determination (YES), the process proceeds to step 1209, and the highest 5 degrees pitch is 7 degrees higher than this pitch. Return to the original routine after conversion to. This corresponds to the above conditions (1) and (4).
[0089]
If it is determined in step 1208 that the pitch of 7 degrees lower than the highest pitch of 5 degrees is not the lowest pitch (NO), the process proceeds to step 1210, and the highest 5 degrees pitch is set to 7 degrees lower than this pitch. It returns to the original routine even if it is converted to the pitch. This corresponds to the condition (4) above.
[0090]
If it is determined in step 1204 that the pitch of the chord constituent sound is two or three, or if the pitch is four and the number of sound of the chord constituent sound is not four (NO), it is generated in step 1211 and step 1212. A chord constituent sound closest to a power of 7 degrees (in the first embodiment, the highest pitch among the 7 degrees within the chord constituent sound area) is converted to a 7 degree pitch. Return to the original routine. This corresponds to the above condition (5).
[0091]
2-6 Effects of the first embodiment
As described above, according to the first embodiment, when the performance data is converted to a pitch corresponding to the chord having the four-tone structure, even if the performance data is based on the three-tone chord, It can be correctly converted to a 4-tone chord. Furthermore, since the fourth chord component can be changed and generated as appropriate according to the characteristics of the performance part (bass, piano, guitar, etc.), it is possible to create natural performance data with no musical discomfort. It becomes.
[0092]
Further, since the lowest pitch is not subject to conversion to the fourth chord component, it is possible to prevent misidentification of a chord of a different route or a chord of a different type. In addition, since the musical tone information that generated the fourth chord constituent tone is selectively generated from among a plurality of musical tone information that does not have the lowest pitch, it does not sound like a different chord. In addition, since the third pitch is not subject to conversion to the fourth chord constituent sound, the pitch difference of each note data does not become inappropriate as a chord. In addition, when there is a pitch other than the lowest tone, the fourth chord constituent sound (7 degrees lower in the embodiment) that is immediately close to this one pitch is generated, so that there is a connection with the preceding and following sections. There is no unnaturalness.
[0093]
Further, since the performance data may be composed of three sounds, the memory size can be reduced. Also, performance data can be created with three-tone chords, making creation easy.
[0094]
[3] Second embodiment
3-1 Hardware configuration
Next, a second embodiment in which the present invention is applied to an automatic accompaniment apparatus will be described with reference to FIG.
The automatic accompaniment apparatus 1300 includes a CPU 1301 for controlling the automatic accompaniment apparatus 1300 as a whole, sound source means 1303 for generating a music signal based on performance data supplied via the bus 1302, and music output by the sound source means 1303. An effect unit 1304 that performs various effect processing (effect processing) on the signal, and a sound device 1305 that amplifies the audio signal input by the effect unit 1304 and outputs it as an acoustic signal are configured.
[0095]
Also, a working memory (RAM) 1306 that temporarily stores various data, a program memory (ROM) 1307 that stores a control program and control fixed data, an accompaniment pattern memory (ROM) 1308 that stores accompaniment patterns, A panel switch 1310 having a keyboard 1309 for performing operations such as keyboard performance and chord designation, a pattern selection switch for selecting an accompaniment pattern for automatic accompaniment, a start / stop switch for instructing start and stop of automatic accompaniment, and other switches And a timer 1311 for performing various timing controls.
[0096]
The CPU 1301 controls the entire electronic musical instrument using the working area of the working memory 1306 based on the control program stored in the program memory 1307, plays the keyboard by operating the keyboard 1309, and sets the mode by operating the panel switch 1310. Switching, automatic accompaniment based on the accompaniment pattern ROM 1308 is performed.
[0097]
The accompaniment pattern ROM 1308 stores a plurality of accompaniment patterns, and each accompaniment pattern is composed of a plurality of tracks such as a bass and a drum. Of these, the accompaniment pattern selected according to the operation of the panel switch 1310 is read by the CPU 1301 into the working memory (RAM) 1306 and controlled according to the automatic accompaniment start / stop instruction. In this embodiment, all the accompaniment patterns stored in the accompaniment pattern ROM 1308 are stored as key codes corresponding to the chord “Cmaj”, which has three types of chord constituent sounds.
[0098]
The keyboard 1309 is virtually divided into a low-pitched left key range and a high-pitched right key range. During automatic accompaniment, the CPU 1301 performs note codes corresponding to the operated keys for key events in the right key range. The tone signal is generated and silenced, and a chord is detected based on the detected note code for the key event in the left key range. At the time of this automatic accompaniment, note data of the currently selected accompaniment pattern is read out, and the note data is converted into a pitch based on the chord detected from the keyboard 1309 and output to the sound source 1303 together with the key-on signal or key-off signal. Further, for the rhythm part, the timbre number and the key-on signal are output to the sound source 1303, and the sound generation process and the mute process for the automatic accompaniment are performed.
[0099]
3-2 Operation of the second embodiment
Next, the operation of the second embodiment configured as described above will be described.
First, the flow of code conversion processing executed by the CPU 1301 of the second embodiment will be described with reference to FIG.
[0100]
Similar to the first embodiment, the CPU 1301 executes various programs such as the code conversion processing program of FIG. 14 according to events generated by the operation of the operator or the like. A main routine (not shown) constantly monitors the occurrence of an event, calls a program corresponding to the generated event, and executes a corresponding process.
[0101]
FIG. 14 shows the flow of processing executed by the CPU 1301 when an accompaniment pattern selection event, an automatic accompaniment start event, a chord information supply event, or the like is generated by the operation of the operator.
[0102]
First, when an accompaniment pattern selection event occurs in response to an operation of the panel switch 1310 or the like by the operator, an accompaniment pattern is selected by the input means 1400. Next, when an automatic accompaniment start event occurs in response to the start switch button 1401 being operated, automatic accompaniment is started. At this time, the accompaniment pattern selected by the operator is output to the sound source 1303 and reproduced as the key code corresponding to the chord “Cmaj”. Alternatively, only the rhythm part may be played until a chord is designated by the keyboard 1309 or the like, and the parts other than the rhythm may be played only after the chord is designated.
[0103]
Next, when a chord information supply event occurs in response to a chord specified by the keyboard 1309 or the like in the chord information supply means 1402, the fourth chord constituent sound generation means 1404 performs a seventh-degree sound generation process on the conversion means. In 1405, the chord conversion process is started in real time, and the accompaniment pattern stored with the key code corresponding to the chord “Cmaj” is pitch-converted to a chord designated by the operator. In the seventh tone generation processing performed by the fourth chord constituent sound generation means 1404 and the chord conversion processing performed by the conversion means 1405, the fourth chord constituent sound generation means 506 and the conversion means 507 in FIG. 5 of the first embodiment. The processes described with reference to FIGS. 9 to 12 are applied as they are.
[0104]
Next, the accompaniment pattern after the pitch conversion is output to the sound source 1303 by the output means 1406 and reproduced.
[0105]
By performing the above processing, the accompaniment pattern composed of three types of chord constituent sounds can be converted into a four-tone chord as described in the chord conversion processing described above, and there is no musical discomfort. Natural performance data can be created.
[0106]
3-3 Effects of the second embodiment
As described above, the chords stored in the accompaniment pattern memory 1308 conventionally have to be composed of four notes, but in the automatic accompaniment apparatus of the second embodiment, the chords stored in the accompaniment pattern memory 1308 have a three-tone structure. Even if it exists, it can be correctly converted into a chord composed of four tones. Furthermore, since the fourth chord component can be changed and generated as appropriate according to the characteristics of the performance part (bass, piano, guitar, etc.), it is possible to create natural performance data with no musical discomfort. It becomes.
[0107]
Further, since the lowest pitch is not subject to conversion to the fourth chord component, it is possible to prevent misidentification of a chord of a different route or a chord of a different type. In addition, since the musical tone information that generated the fourth chord constituent tone is selectively generated from among a plurality of musical tone information that does not have the lowest pitch, it does not sound like a different chord. In addition, since the third pitch is not subject to conversion to the fourth chord constituent sound, the pitch difference of each note data does not become inappropriate as a chord. In addition, when there is a pitch other than the lowest tone, the fourth chord constituent sound (7 degrees lower in the embodiment) that is immediately close to this one pitch is generated, so that there is a connection with the preceding and following sections. There is no unnaturalness.
[0108]
Further, the accompaniment pattern stored in the accompaniment pattern memory may have a three-tone structure, so that the memory size can be reduced. In addition, since the accompaniment pattern may be based on a chord having a three-tone structure, the accompaniment pattern can also be created with a chord having a three-tone structure, and the creation becomes easy.
[0109]
[4] Modification
The embodiment described above can be variously modified as described below.
4-1 Modification of chord detection
In the first embodiment, the chord detection section is performed as a fixed section every 1/2 bar as shown in FIG. 7, but the chord detection section may be changed as appropriate as shown in FIG. Good.
[0110]
In the chord detection process of FIG. 15, the performance data is divided into ½ measures, the chord detection target is one measure, and chord detection is performed at the first half measure and the second half measure of the target measure. When a chord is detected only in one of the first and second half, the detected chord is applied to all the one measure. If the chord is unknown in both the first and second half, the chord detection is performed with the target measure being the chord detection section. This makes it possible to compensate for a section where chords cannot be detected.
[0111]
First, in step 1500, the performance data is divided into ½ measures, and the total number of divided ½ measures is stored in Imax. In step 1501, n = 1 is set, and the flow proceeds to step 1502. In step 1502, the first half of the target 1 bar, the second half of the target 1 bar, and the target 1 bar are all chord detection sections S1, S2, and S3. A process of storing the logical sum of the names in CHRD1, CHRD2, and CHRD3 is performed. CHRD1 to CHRD3 are storage areas for temporarily storing whether or not there is a pronunciation corresponding to each note name in the chord detection section, and are 12-bit storage areas corresponding to note codes (0 to 11). Here, the bits corresponding to all pitch names that are on events at least once in the chord detection section are stored as “1” in CHRD1, CHRD2, and CHRD3.
[0112]
The function KCD (CHRD1) in step 1503 is a function for performing chord matching processing as described above, and performs chord matching processing for the first half bars. Next, in step 1504, it is determined whether or not chord detection for the first half of the bar has failed. If the chord detection is successful, the RPT becomes 0 or more (NO), and in step 1505, the chord root RPT of the detected chord is changed to SRT.2n-1And store chord type RES in STP2n-1And proceed to Step 1506.
[0113]
In step 1506, the chord matching process of the latter half 1/2 bar is performed by the function KCD (CHRD2). Next, in step 1507, it is determined whether or not chord detection for the latter half 1/2 bar has failed. If the chord detection is successful, the RPT becomes 0 or more (NO), and in step 1508, the chord root RPT of the detected chord is changed to SRT.2nAnd store chord type RES in STP2nAnd proceed to Step 1518.
[0114]
If chord detection fails in step 1507, RPT indicates a negative value (YES), and chord chord root SRT detected in the first half of bar in step 1517.2n-1The second half of SRT2nAnd chord type STP2n-1STP2nAnd proceed to Step 1518.
[0115]
If chord detection fails in step 1504, RPT indicates a negative value (YES), and the chord matching process for the second half of the bar is performed using the function KCD (CHRD2) in step 1509.
[0116]
Next, in step 1510, it is determined whether or not the chord detection of the latter half 1/2 bar has failed. If the chord detection is successful, the RPT becomes 0 or more (NO), and in step 1511 the chord root RPT of the detected chord is changed to SRT.2n-1And store chord type RES in STP2n-1The process proceeds to step 1517, the same processing as described above is performed, and the process proceeds to step 1518. Thereby, the chord detected in the latter half 1/2 bar is also applied to the first half 1/2 bar in which the chord could not be detected.
[0117]
If chord detection fails in step 1510, RPT indicates a negative value (YES), and the chord matching process for the target 1 bar is performed using the function KCD (CHRD3) in step 1512.
[0118]
Next, in step 1513, it is determined whether or not the chord detection of the target 1 bar has failed. If the chord detection is successful, the RPT becomes 0 or more (NO), the same processing as described above is performed in step 1511, and the same flow as in steps 1517 and 1518 is followed. Thereby, the chord detected in the target 1 bar is applied to the first half 1/2 bar and the second half 1/2 bar where the chord could not be detected.
[0119]
If chord detection fails in step 1513, RPT indicates a negative value (YES), and in step 1514, it is determined whether n = 1.
[0120]
If it is determined in step 1514 that n = 1 is not satisfied (NO), the process proceeds to step 1515 and the chord chord route SRT in the immediately preceding section is reached.2 (n-1)SRT2n-1And chord type STP in the immediately preceding section2 (n-1)STP2n-1The process proceeds to step 1517, the same processing as described above is performed, and the process proceeds to step 1518. In other words, the previous section2 (n-1)The chord determined in (1) is applied to the first half 1/2 bar and the second half 1/2 bar where the chord of the target 1 bar could not be detected.
[0121]
If it is determined in step 1514 that n = 1 (YES), the process proceeds to step 1516, and SRT1, STP1A default value (for example, Cmaj) is stored in step 1517, and the process proceeds to step 1517. The same processing as described above is performed, and the process proceeds to step 1518. That is, the default value is applied to the first half 1/2 bar and the second half 1/2 bar where the chord of the target 1 bar could not be detected.
[0122]
In step 1518, it is determined whether or not n = Imax / 2. If n ≠ Imax / 2 (NO), n is incremented by 1 in step 1519, and step 1502 and subsequent steps are repeated. The processing in steps 1502 to 1517 is repeated for all sections divided in step 1500. If n = Imax / 2 is determined in step 1518 (YES), the chord detection processing is terminated.
[0123]
In this modification, the performance data is divided into 1/2 bars, the chord detection target is 1 bar, the chord detection is performed at the first 1/2 bar and the latter 1/2 bar of the target 1 bar, and the first half. When a chord is detected on only one side, the detected chord is applied to all the measures of the target. If the chord is unknown in both the first and second half, the chord detection is performed with the target measure being the chord detection section, so that it is possible to compensate for the chord undetectable section.
[0124]
4-2 Modification of chord conversion process
In the chord conversion process, the process is performed every 1/2 bar as shown in FIG. 9, but when there is no chord change in one bar as shown in FIG. You may make it perform.
[0125]
In the chord conversion process of FIG. 16, first, the chord detected in the target 1 bar and the specified chord are read in step 1600. That is, the detected chords and designated chords of the first half 1/2 bar and the second half 1/2 bar are read out. In the following, the same processing as in FIG.
[0126]
In step 1601, it is determined whether or not there is a change in the designated chords of the first half 1/2 bar and the second half 1/2 bar read in step 1600. If there is a change in the specified chords of the first half 1/2 bar and the second half 1/2 bar in step 1601 (YES), the process proceeds to step 1603.
[0127]
If there is no change in the specified chords of the first half 1/2 bar and the second half 1/2 bar in step 1601 (NO), the process proceeds to step 1602 where the detected chords of the first half 1/2 bar and the second half 1/2 bar read in step 1600 are detected. It is determined whether or not there has been a change.
[0128]
If there is a change in the detected chords in the first half 1/2 bar and the second half 1/2 in step 1602 (YES), the process proceeds to step 1603, and there is no change in the detected chords in the first half 1/2 bar and the second half 1/2 bar. (NO), go to Step 1604.
[0129]
In step 1603, the performance data for the first half of the bar is read for each track, the number of tracks is stored in tr, and the process proceeds to step 1605. However, drum parts are excluded because there is no need to convert the pitch of drum parts.
[0130]
In step 1604, performance data for one measure of the target measure is read for each track, the number of tracks is stored in tr, and the process proceeds to step 1605. However, drum parts are excluded because there is no need to convert the pitch of drum parts.
[0131]
In step 1605, 1 is set to n indicating the track number, and the processing from step 904 is executed. The processing from step 904 to step 909 is the same as the processing from step 904 to step 909 of the chord conversion processing shown in FIG.
[0132]
In step 1606, it is determined whether or not the performance data read in step 1603 or 1604 is one measure. If the read performance data is one measure (YES), the process proceeds to step 1609, and the read performance data is one measure. Otherwise (NO), the process proceeds to step 1607. In this case, the chord conversion process for the first half 1/2 bar has only been completed, and the chord conversion process for the second half 1/2 bar has not yet been performed.
[0133]
In step 1607, it is determined whether or not the chord conversion process for the remaining half measures has been completed. If the chord conversion process for the remaining 1/2 bar has been completed (YES), the process proceeds to step 1609. If the chord conversion process for the remaining 1/2 bar has not been completed (NO), the second half 1 is performed in step 1608. The performance data for two bars is read for each track, the number of tracks is stored in tr, and the process proceeds to step 1605. However, drum parts are excluded because there is no need to convert the pitch of drum parts.
[0134]
In step 1609, it is determined whether or not the chord conversion process has been completed for all the bars. If the chord conversion process has not been completed (NO), the target bar is moved to the next bar in step 1610, and step 1600 and subsequent steps are repeated. If the chord conversion process is completed for all measures (YES), the process returns to the original routine.
[0135]
As a result of this routine, if there is no chord change in the target 1 bar, chord conversion and 7th tone generation processing are performed using 1 bar as the determination section. The effect obtained by performing such processing will be described with reference to the example of FIG.
[0136]
In the example of FIGS. 17A and 17B, C in the first half of the target 1 bar of a certain part3, E3, G3Note data, C in the last half 1/2 bar4, G3, C3Note data is present, and the detected chord is Cmaj in both the first 1/2 bar and the second 1/2 bar. Assume that Cmaj7 is designated as the specified chord in both the first half 1/2 bar and the second half 1/2 bar.
[0137]
FIG. 17A shows a case where the chord conversion process is performed based on the chord conversion process shown in FIG. In the first half of the bar, the above condition (5) is satisfied, and in FIG. 12, step 1202 → step 1204 → step 1205 → step 1207 → step 1208 → step 1210,3B2Convert to In the second half of the bar, the above condition (4) is satisfied, and in FIG. 12, the process proceeds from step 1202 to step 1204 to step 1205 to step 1206.4B3Convert to
[0138]
FIG. 17B shows a case in which the chord conversion process shown in FIG. 16 is performed, and a seventh-degree sound generation process is performed in units of one measure. The chord conversion process satisfies the above condition (6), and in FIG. 12, the process proceeds from step 1202 to step 1204 to step 1211 to step 1212.4B3Convert to
[0139]
In this way, when the chord conversion process shown in FIG. 9 is performed as shown in FIG. 17A, a lot of pitches of 7 degrees may be generated, and as shown in FIG. When the chord conversion process shown in FIG. 16 is performed, it is possible to create natural performance data that is more musically comfortable.
[0140]
4-3 Modification 1 of 7th-degree sound generation processing
In addition, in the seventh-degree sound generation processing, when the condition (5) is satisfied, the processing is performed from step 1208 to step 1210 in FIG. 12 to convert the fifth-degree sound into a seventh-degree pitch. As described above, the seventh-degree sound generation may be performed based on the overlapped portion of the key-on area of the preceding and following sections (the key-on area indicates a range in which all note data sounded in the section exists).
[0141]
At this time, the seventh-degree sound is generated based on the following conditions. First, the key-on area in the section before and after the conversion target section from which the note data is read out in step 1200 of FIG. 12 is determined, and the overlapped portion of the key-on area before and after that is determined.
[0142]
(5) -1 If a pitch of 7 degrees higher than a pitch of 5 degrees and a pitch of 7 degrees lower than the pitch of 5 degrees are present in the superimposed portion, a pitch of 7 degrees lower is generated.
(5) -2 If only a low 7 degree pitch exists in the overlapped portion, a low 7 degree pitch is generated.
(5) -3 If only a high 7 degree pitch exists in the superposed portion, a high 7 degree pitch is generated.
(5) -4 If there is neither a high 7 degree pitch nor a low 7 degree pitch in the overlapped portion, a low 7 degree pitch is generated.
[0143]
FIGS. 18H to 18J are examples in which the seventh sound generation process is performed under the above conditions.
The chord component sound in the conversion target section is G3, E4, G4Consists of
In FIG. 18 (h), the overlapping portion is A.3~ D3And the pitch of 5 degrees (G4) Lower than 7 degrees (B3) Only exists in the overlapped portion, the above condition (5) -2 is satisfied, and the highest pitch of 5 degrees (G4) Is a 7 degree pitch (B3).
In FIG. 18 (i), the overlapping portion is C.4# ~ F4# Is the pitch of 5 degrees (G4) Lower 7 degree pitch (B3) Is a high 7 degree pitch (B4) Also does not exist in the overlapped portion, the above condition (5) -4 is satisfied, and the highest pitch of 5 degrees (G4) Is a 7 degree pitch (B3).
In FIG. 18 (j), the overlapping portion is F.4# ~ B4And the pitch of 5 degrees (G4) Higher than 7 degrees (B4) Only exists in the overlapped portion, the above condition (5) -3 is satisfied, and the highest pitch of 5 degrees (G4) Is 7 degrees higher than this sound (B4).
[0144]
Hereinafter, with reference to the example of FIG. 18 and FIG. 19, a case where the seventh-degree sound generation process is performed under the above-described conditions will be described.
[0145]
In FIG. 19, first, in step 1900, the key-on area in the section before and after the conversion target section is determined, and the overlapping part of the key-on area before and after that is determined. Next, in step 1901, it is determined whether or not there is a 7 degree pitch lower than the highest 5 degree pitch in the overlapped part determined in step 1900.
[0146]
If it is determined in step 1901 that there is a pitch of 7 degrees lower than the highest pitch of 5 degrees in the determined overlapped portion (YES), the process proceeds to step 1902 and the highest pitch of 5 degrees is set to this sound. Convert to a lower 7 degree pitch. This corresponds to the above conditions (5) -1 and (5) -2.
[0147]
If it is determined in step 1901 that there is no 7 degree pitch lower than the highest 5 degree pitch in the determined overlapped portion (NO), the process proceeds to step 1903, and the overlapped portion determined in step 1900 is the highest. It is determined whether or not a pitch of 7 degrees higher than a high pitch of 5 degrees exists.
[0148]
If it is determined in step 1903 that there is a pitch of 7 degrees higher than the highest pitch of 5 degrees in the determined overlapped portion (YES), the process proceeds to step 1904, and the highest pitch of 5 degrees is set to this sound. Convert to a higher pitch of 7 degrees. This corresponds to the above condition (5) -3.
[0149]
If it is determined in step 1903 that there is no 7 degree pitch higher than the highest 5 degree pitch in the determined overlapped portion (NO), the process proceeds to step 1902 and the highest 5 degree pitch is set to this pitch. Convert to a pitch of 7 degrees lower than the sound. This corresponds to the above condition (5) -4.
[0150]
As described above, by generating the seventh sound based on the overlapped portions of the key-on areas in the preceding and following sections, it is possible to create more natural performance data with no musical discomfort.
[0151]
4-4 Second Modification of Seven-degree Sound Generation Processing
Also, in the 7th tone generation process of FIG. 12, the note data closest to the 7th pitch to be generated in step 1212 is converted to a 7th pitch, but a chord other than the lowest tone in the obsessive or weak beat is used. The note data of the constituent sounds may be converted into a pitch of 7 degrees. Alternatively, note data of chord constituent sounds other than the lowest note having the longest note length may be converted to a pitch of 7 degrees. Alternatively, note data of chord constituent sounds other than the lowest sound that is pronounced most often may be converted to a pitch of 7 degrees.
[0152]
4-5 Modification 7 of 7th-degree sound generation processing
In addition, although the chord constituent sound that is the target in the seventh-degree sound generation process of FIG. 12 is converted to the pitch of seven degrees, the pitch of the seventh degree is added without conversion, and the original chord constituent sound that is the target You may pronounce it at the same time.
[0153]
For example, “E3"," G3"," C4When a chord consisting of “(Cmaj”) is converted to “Cmaj7”, the conventional technique uses “Cmaj”.4"B", which is the 7th component sound3Note that the converted note code is “E3"," G3"," B3There is a problem that a chord “Em” is heard. If processing is performed to add a pitch of 7 degrees as in this modification, “B3"Is added, so the converted note code is" E3"," G3"," B3"," C4"And can be accurately converted as a chord" Cmaj7 ".
[0154]
20A to 20G show examples in which 7-degree pitches are added using the example of the 7-degree sound generation process shown in FIG.
In FIG. 20A, as in FIG. 11A, the pronunciation in the chord detection section I is C.3This is a case where only the above-mentioned condition is satisfied. The above condition (1) is satisfied, and the pitch is not converted to 7 degrees.
In FIG. 20B, as in FIG. 11B, the pronunciation in the chord detection section I is E.3, G3, C4This is the case where the pitch of the highest pitch (C4) To a lower 7 degree pitch (B3Generate note data C)4When pronunciation3Is pronounced at the same time.
FIG. 20 (c) is similar to FIG.3, E3, G3, C4Note that there is one note data each, and the highest pitch (C4) To a lower 7 degree pitch (B3Generate note data C)4When pronunciation3Is pronounced at the same time.
In FIG. 20D, as in FIG. 11D, the pronunciation in the chord detection section I is E.2, E3, G3This is the case where the pitch of 5 degrees is the highest (G3) To a lower 7 degree pitch (B2) Generates note data G3When pronunciation2Is pronounced at the same time.
In FIG. 20 (e), as in FIG. 11 (e), the pronunciation in the chord detection section I is C.3, E3, G3This is the case where the pitch of 5 degrees is the highest (G3) To 7 degrees higher than this sound (B3) Generates note data G3When pronunciation3Is pronounced at the same time.
In FIG. 20 (f), as in FIG. 11 (f), the pronunciation in the chord detection section I is C.3, E3The above condition (3) is satisfied, and the pitch is not converted to 7 degrees.
In FIG. 20 (g), as in FIG. 11 (g), the pronunciation in the chord detection section I is G.2, C3, E3, G3, E4The pitch of 7 degrees to be generated (B3) Closest chord component (G3) To 7 degree pitch (B3) Generates note data G3When pronunciation3Is pronounced at the same time.
[0155]
4-6 Modification 4 of 7th-degree sound generation processing
In addition, when there are a plurality of note data to be converted to a pitch of 7 degrees in the conversion target section in the 7-degree sound generation process of FIG. 12, all the note data has been converted to 7 degrees. Only part of the note data may be converted to a pitch of 7 degrees.
[0156]
Furthermore, in the 7th sound generation process of FIG. 12, the same 7th sound generation process is performed for the performance data of all measures, but the above-described modifications such as A melody, B melody, chorus, ending, etc. The example processing may be selectively performed.
[0157]
4-7 Detection of repeat count
Further, when performing the chord conversion process, it is detected whether or not the note data sounded in the n track of the conversion target section is constituted by repetition of some pattern, and if the repetition of the pattern is recognized, the conversion target section is selected. It is also possible to divide and perform a seventh-degree sound generation process for each of the divided areas.
[0158]
For example, in the previous stage of step 906 in FIG. 9, the number of repetitions is detected, the conversion target section of the chord conversion process is divided into a plurality of areas based on the number of repetitions, and the seventh-degree sound generation process is performed for each area. What should I do?
[0159]
The number of repetitions is detected as shown in FIG. First, in step 2100, ptn1 to ptn1 are created, and the process proceeds to step 2101.
[0160]
This ptn is a storage area for storing a repetitive area pattern, and is created based on the note data of the target track n among the music data for 1/2 bar read in FIG. This ptn is created as follows by equally dividing a 1/2 bar into 16 blocks.
ptn1 = first 16 blocks (first 1/2 bar)
ptn2 = first 8 blocks (first quarter bar)
ptn3 = first 4 blocks (first 1/8 bar)
ptn4 = first 2 blocks (first 1/16 bar)
[0161]
In step 2101, it is determined whether ptn2 + ptn2 = ptn1. If ptn2 + ptn2 ≠ ptn1 (NO), it means that the 2nd repetition of the first 1/4 bar is different from the first 1/2 bar, so that it is determined that there is no repetition, and the process proceeds to Step 2102.
[0162]
In step 2102, it is determined that there is no repetition at ptn1 (1/2 measure), and the routine returns to the original routine even if 1 is stored in R indicating the number of repetitions.
[0163]
If it is determined in step 2101 that ptn2 + ptn2 = ptn1 (YES), the process proceeds to step 2103 to determine whether ptn3 + ptn3 = ptn2. If ptn3 + ptn3 ≠ ptn2 (NO), the second repetition of the first 1/8 bar is different from the first 1/4 bar, so the target 1/2 bar is determined to be the second repetition of 1/4 bar. Then, the process proceeds to Step 2104.
[0164]
In step 2104, ptn2 (1/4 bar) is determined as a repeated region, and the process returns to the original routine even if R = 2 is stored.
[0165]
If ptn3 + ptn3 = ptn2 (YES) in step 2103, the process proceeds to step 2105 to determine whether ptn4 + ptn4 = ptn3. If ptn4 + ptn4 ≠ ptn3 (NO), it means that the 2nd repetition of the first 1/16 bar is different from the first 1/8 bar, so the target 1/2 bar is determined to be 4 repetitions of the 1/8 bar. Then, the process proceeds to Step 2106.
[0166]
In step 2106, ptn3 (1/8 measure) is determined as a repeated area, and the process returns to the original routine even if R = 4 is stored.
[0167]
If ptn4 + ptn4 = ptn3 (YES) in step 2105, it means that the 2nd repetition of the first 1/16 bar coincides with the first 1/8 bar, so the target 1/2 bar is 1/16 bar. It is determined that the repetition is 8 times, and the process proceeds to Step 2107.
[0168]
In step 2107, ptn4 (1/16 measure) is determined as a repeated area, and the process returns to the original routine even if R = 8 is stored.
[0169]
Based on the number of repetitions detected as described above, the conversion target section is divided into 1 to 8 areas, and the 7th sound generation process of FIG. 12 is performed for each of the divided areas.
[0170]
Note that the number of repetitions may be different depending on whether the note number in the note data or the note code is referenced.
[0171]
FIG. 22A and FIG. 22B show the results of performing the seventh-degree sound generation process shown in FIG. 12 when the repetition area is detected based on the note number and when the number of repetitions is detected based on the note code. Indicates.
[0172]
Here, in the example of FIG. 22, E is included in the first 1/4 bar of the target 1/2 bar of a certain part.3, G3Note data, E in the last 1/4 bar4, G4Note data is present, and the detected chord in the target 1/2 measure is Cmaj. Assume that Cmaj7 is designated as the specified chord.
[0173]
FIG. 22A shows the result of the seventh-degree sound generation process shown in FIG. 12 when a repetitive region is detected based on the note number. First 1/2 bars (E3, G3) And the latter half of the bar (E4, G4) Are different note numbers, it is determined that there is no repetition, and the above condition (5) is met, and the process proceeds from step 1202 → step 1204 → step 1205 → step 1207 → step 1208 → step 1210.4B3Convert to
[0174]
FIG. 22B shows the result of performing the seventh-degree sound generation process shown in FIG. 12 when a repetitive region is detected based on the note code. First 1/2 bars (E3), G3)) And the latter half 1/2 bar (E4), G4)) Is the same note code (E, G), so it is confirmed that the 1/4 measure is repeated twice, and the first 1/4 measure and the second 1/4 measure are set to the conditions (2) and (5) above. If so, go to step 1202 → step 1204 → step 1205 → step 1207 → step 1208 → step 1209,3) B3), G4) B4).
[0175]
Accordingly, as illustrated in FIGS. 22A and 22B, different results are obtained when the note number is referred to and when the note code is referred to.
[0176]
Whether to refer to the note number or note code in the detection of the number of repetitions can be selected as a whole or in units of 1/2 measure or 1 measure, creating natural performance data that does not feel uncomfortable musically What can be used may be used selectively.
[0177]
Furthermore, it is of course possible to combine the above-described seventh-degree sound generation processing modifications 1 to 4 as appropriate. For example, as illustrated in FIG. 19 as illustrated in FIGS. 22C and 22D, the seventh-degree sound generation processing may be combined with the first modification.
[0178]
FIG. 22 (c) shows the result of the seventh-degree sound generation process shown in FIG. 19 in the case where the repeated area is detected based on the note number. First 1/2 bars (E3, G3) And the latter half of the bar (E4, G4) Is different note data, it is determined that there is no repetition, and the above condition (5) -3 is met, and the process proceeds from step 1900 to step 1901 to step 1903 to step 1904.4B4Convert to
[0179]
FIG. 22D shows the result of performing the seventh-degree sound generation process shown in FIG. 19 when a repetitive region is detected based on the note code. First 1/2 bars (E3, G3) And the latter half of the bar (E4, G4) Is the same note code (E, G), so it is confirmed that the quarter bar is repeated twice, and the latter quarter bar section becomes the rear section key-on area with respect to the former quarter bar section, and the overlapping part (E4~ G4) Does not have a pitch of 7 degrees.3B2Convert to Similarly, in the latter half 1/4 measure, the above condition (5) -4 is applied.4B3Convert to
[0180]
As described above, the musical performance-free natural performance data can be created by appropriately combining the means for detecting the number of repetitions and the seventh-degree sound generation processing means shown in FIGS. Can also be used selectively.
[0181]
Further, the seventh-degree sound generation process may be repeated for each area, or the processes of the first to fourth modifications of the seventh-degree sound generation process may be selectively performed for each area. . In addition, instead of performing the seventh-degree sound generation process in all the regions, the seventh-degree sound generation may be performed by selecting an area in which the seventh-degree sound generation process is performed.
[0182]
4-8 Other variations
Moreover, although the detection and designation of the chord are possible every 1/2 bar, the present invention is not limited to this, and it may be performed every beat or every bar.
[0183]
In addition, the chord detection is performed based on the note data of all the parts except the drum part. However, it may be a part of the part. The part may be fixed, or the user may May be specified.
[0184]
In addition, although “Cmaj7” is used as the reference chord for performing the inverse transformation process, other chords may be used. In that case, the shift amount shown in the reverse pitch conversion table of FIG. 6 or the pitch conversion table of FIG. 10 may be appropriately changed.
[0185]
Further, chord progression data may be stored in advance, and the chord detection process may be omitted.
[0186]
Also, the part to be converted is based on the note data of all parts except the drum part. However, it may be a part of the part, and this part may be fixed or used. The person may specify.
[0187]
In the first embodiment, the chord conversion process is performed for each track, but may be performed for each part.
[0188]
The performance data may be composed of automatic performance data of the melody part and automatic performance data of the accompaniment part constituting the music, and the automatic performance data of only the accompaniment part may be subjected to chord conversion processing.
[0189]
In the first embodiment, when the specified chord conversion process start instruction button 405 is pressed by the operator, the chord conversion process is performed on the performance data of all measures. However, the operator performs chord detection and chord conversion process. May be designated, and chord detection or chord conversion processing may be performed only in that section.
[0190]
In the first embodiment, the designated code is blank, and the operator inputs the code using the code input screen shown in FIG. 4B. However, it is detected when the chord is detected. The chord may be copied in advance as a specified code. Further, when the designation code conversion process start instruction button 405 is pressed by the operator while the designation code remains blank, the chord conversion process may be performed by copying the detection code as the designation code.
[0191]
The note data is not limited to reverse conversion based on the detected chord, but may be directly converted into a specified chord. In this case, the attribute (1 degree, 3 degree, 5 degree, etc.) of each note data may be obtained based on the detected chord and applied to the present invention. In this case, in the fourth chord constituent sound generation process, a conversion table corresponding to each note name is prepared, and the fourth chord constituent sound may be generated based on the obtained attribute of each note data and the conversion table. . Note that the method for obtaining the attribute of each piece of note data is described in detail, for example, in JP-A-6-337677.
[0192]
Further, the fourth chord constituent sound to be generated is not limited to 7 degrees long, but may be 7 degrees short, 6 degrees long, 6 degrees short, or the like.
[0193]
Further, the fourth chord constituent sound is generated by the processing flow based on the fourth chord constituent sound generation rule, but the fourth chord constituent sound generation rule is tabulated (for example, the combination of the original note and the generated note combination is tabulated). The fourth chord constituent sound may be generated based on this.
[0194]
Further, the fourth chord constituent sound may be generated from the non-chord constituent sound, not limited to the fourth chord constituent sound generated from the chord constituent sound.
[0195]
Further, in the second embodiment, all accompaniment patterns are created based on “Cmaj”, but those created based on “Cmaj7” may also be included. In that case, it is discriminated whether it was created based on “Cmaj” or “Cmaj7” (for example, original chord information is included in the accompaniment pattern), and what is said to be “Cmaj” Only the present invention has to be applied. In addition, all accompaniment patterns may be created based on chords of another three-tone structure. In this case, it may be converted back to “Cmaj” or a corresponding table may be prepared. . In addition, the accompaniment pattern may be created by mixing other roots and other types of chords. In that case, the accompaniment pattern may be converted back to “Cmaj” or “Cmaj7” once.
[0196]
In the second embodiment, the chord may be specified by a performance operator other than the keyboard (for example, a stringed instrument type).
[0197]
Further, music data that is input in real time by a performer may be converted instead of performance data on a recording medium.
[0198]
Further, in the performance data editing apparatus for creating and editing performance data, for example, performance data arbitrarily created and edited by a user may be appropriately converted.
[0199]
Further, the input performed by the performance data input means may be supplied from a keyboard, a panel switch or the like, or may be supplied from communication or various memories.
[0200]
The output performed by the output means may be generated as a musical sound or may be written in a memory.
[0201]
Moreover, although the example which applied this invention to the automatic performance apparatus and the automatic accompaniment apparatus was demonstrated, embodiment is not limited to this.
[0202]
For example, the present invention may be an application program that operates on a general-purpose computer such as a personal computer. In this case, the program may be supplied by the above-mentioned various recording media, or may be executed on a network and downloaded from a remote server or the server. There may be.
[0203]
Moreover, the form integrated as a part of function of a mobile telephone, a game device, and game software may be sufficient.
[0204]
Further, the performance information memory and the accompaniment pattern memory may be placed in a remote server computer or the like.
[0205]
A software sound source may be used as the sound source of the present invention.
[0206]
In the second embodiment, the keyboard used in the automatic accompaniment apparatus of the present invention may be a software keyboard, a controller of a game machine, or an operation panel of a mobile phone.
[0207]
【The invention's effect】
As described above, according to the present invention, when the performance data is converted into a pitch corresponding to the chord having the four-tone structure, even if the performance data is based on the three-tone chord, Since the four-chord constituent sounds can be generated by appropriately changing, it is possible to create natural performance data that is musically uncomfortable.
[0208]
Further, according to the present invention, the chord stored in the accompaniment pattern memory or the like needs to have a four-tone configuration, but even if the chord stored in the accompaniment pattern memory or the like has a three-tone configuration, Since it can be correctly converted, it is possible to create natural performance data that is musically comfortable.
[0209]
Further, according to the present invention, when generating the fourth chord constituent sound, the musical tone information as the conversion candidate is determined and only those that can be converted are converted into the fourth chord constituent sound. There is no conversion.
[0210]
Further, according to the present invention, musical tone information of a plurality of pitches corresponding to the fourth chord constituent tone is selectively added, so that it can be accurately converted into the supplied chord.
[0211]
According to the present invention, when the fourth chord constituent sound is generated, an appropriate one of the plurality of rules for generating the fourth chord constituent sound is selected, and the fourth chord constituent sound is selected based on the selected rule. Since musical tone information corresponding to chord constituent sounds is generated, it becomes possible to create natural musical performance data that does not feel strange according to the characteristics of the performance part (bass, piano, guitar, etc.). .
[0212]
In addition, according to the present invention, when the fourth chord constituent sound is generated, the tone information that does not have the lowest pitch is selectively generated, so that the chord having the four-tone structure can be obtained without changing the root sound. It can be converted correctly.
[0213]
Further, according to the present invention, the pitch of the third degree is not subject to conversion to the fourth chord constituent sound, so that the pitch difference of each note data does not become inappropriate as a chord.
[0214]
Further, according to the present invention, when there is a pitch of one degree other than the lowest pitch, the fourth chord constituent sound (7 degrees lower in the embodiment) that is close to this one pitch is generated. There is no unnatural connection with the section.
[0215]
Further, according to the present invention, the performance data or the accompaniment pattern may have a three-tone structure, so that the memory size can be reduced.
[0216]
In addition, according to the present invention, performance data or accompaniment patterns can be created with three-tone chords, which facilitates creation.
[0217]
Further, according to the present invention, in the chord detection process, the performance data is divided every 1/2 bar, the chord detection target is one bar, and the first half bar and the second half bar of the target bar are one. Each chord is detected, and when a chord is detected in only one of the first and second half, the detected chord is applied to all the one measure. If the chord is unknown in both the first and second half, the chord detection is performed with the target measure being the chord detection section, so that it is possible to compensate for the chord undetectable section.
[0218]
Further, according to the present invention, in the chord conversion process, when there is no chord change in one measure, since the entire one measure is converted, natural performance data that is more musically comfortable is created. Can do.
[0219]
Further, according to the present invention, since the fourth chord constituent sound generation processing is performed based on the overlapped portions of the key-on areas of the preceding and following sections, it is possible to create more natural performance data that is not musically uncomfortable. it can.
[0220]
Further, according to the present invention, in the chord conversion process, it is detected whether or not the note data sounded in the n track of the conversion target section is constituted by some pattern repetition, and when the pattern repetition is recognized. Since the conversion target section is divided and the fourth chord constituent sound generation processing is performed for each of the divided areas, more natural performance data without musical discomfort can be created.
[Brief description of the drawings]
FIG. 1 is a block diagram of an automatic performance device according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a format of performance data supplied in the first embodiment.
FIG. 3 is a diagram showing track division in the first embodiment.
FIG. 4 is an explanatory diagram of an example of a processing window in the first embodiment.
FIG. 5 is a main processing block diagram in the first embodiment.
FIG. 6 is a diagram showing an example of a reverse pitch conversion table in the first embodiment.
FIG. 7 is a flowchart of chord detection processing in the first embodiment.
FIG. 8 is a diagram showing an example of a chord type table in the first embodiment.
FIG. 9 is a flowchart of chord conversion processing in the first embodiment.
FIG. 10 is a diagram showing an example of a pitch conversion table in the first embodiment.
FIG. 11 is a diagram showing an example of seventh-degree sound conversion in the first embodiment.
FIG. 12 is a flowchart of 7-degree generation processing in the first embodiment.
FIG. 13 is a block diagram of an automatic accompaniment apparatus according to a second embodiment of the present invention.
FIG. 14 is a block diagram of main processing in the second embodiment.
FIG. 15 is a flowchart of a modification of the chord detection process.
FIG. 16 is a flowchart of a modification of the chord conversion process.
FIG. 17 is a diagram illustrating the reason for performing the seventh-degree sound generation processing in units of one measure when there is no chord change within one measure.
FIG. 18 is a diagram showing a modified example of the seventh-degree sound generation process.
FIG. 19 is a flowchart of a modification of the seventh-degree sound generation process.
FIG. 20 is a diagram showing an example of adding a seventh-degree sound.
FIG. 21 is a flowchart of the repeat count detection process.
FIG. 22 is a diagram showing another modified example of the seventh-degree sound generation process.
[Explanation of symbols]
101 CPU, 102 input means, 104 display means, 106 sound source means, 115 performance information memory (RAM), 116 working memory (RAM), 117 program memory (ROM),
401 performance data display area 402 chord detection process start instruction button 403 detection code display area 404 specified code display area 405 specified chord conversion process start instruction button 408 chord route instruction area 409 chord type instruction area 411 chord display Area, 412 code input button, 414 code route selection button, 415 code type selection button,
1308 Accompaniment pattern memory (ROM), 1309 keyboard, 1310 Panel switch

Claims (9)

発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、
該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、
該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、
前記部分区間に対応した和音情報を入力する入力手段と、
前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、
該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出手段と、
該抽出手段によって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、
該生成手段によって第4和音構成音を生成する際の基となった音高情報を、当該生成された第4和音構成音の音高情報によって置き換える置き換え手段と
を備え、
前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換え手段によって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする楽音情報変換装置。
Supply means for supplying performance data including a plurality of pitch information arranged in pronunciation order;
Dividing means for dividing the entire section of the performance data supplied by the supplying means into partial sections of a predetermined length;
Detecting means for detecting chord information of a chord composed of a plurality of pitch information included in the partial section for each partial section divided by the dividing means;
Input means for inputting chord information corresponding to the partial section;
For each partial section, a plurality of pitch information included in the partial section is associated with the input chord information based on the chord information detected by the detecting means and the chord information input by the input means. Conversion means for converting into pitch information that constitutes a chord to be performed;
When a chord composed of a plurality of pitch information included in the partial section to be converted by the converting means has a three-tone configuration and the input chord information has a four-tone configuration, the partial section to be converted Extraction that extracts pitch information corresponding to a predetermined part of the three chord constituent sounds from among the plurality of pitch information included as a pitch candidate for generating the fourth chord constituent sound Means,
A generating means for generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extracting means, wherein the key-on area and the immediately following part of the partial section immediately before the partial section to be converted Preferentially generating the fourth chord constituent sound as included in the overlapped portion of the key-on area of the section;
Replacement means for replacing the pitch information which is the basis for generating the fourth chord constituent sound by the generating means with the pitch information of the generated fourth chord constituent sound,
When converting a plurality of pitch information included in the partial section, the converting means converts the pitch information after the replacement for the pitch information replaced by the replacing means. Music information converter.
発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段と、
該供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割手段と、
該分割手段によって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出手段と、
前記部分区間に対応した和音情報を入力する入力手段と、
前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出手段によって検出された和音情報および前記入力手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換手段と、
該変換手段による変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出手段と、
該抽出手段によって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成手段であって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、
該生成手段によって生成された第4和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加手段と
を備え、
前記変換手段は、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加手段によって音高情報が追加された後の音高情報を変換することを特徴とする楽音情報変換装置。
Supply means for supplying performance data including a plurality of pitch information arranged in pronunciation order;
Dividing means for dividing the entire section of the performance data supplied by the supplying means into partial sections of a predetermined length;
Detecting means for detecting chord information of a chord composed of a plurality of pitch information included in the partial section for each partial section divided by the dividing means;
Input means for inputting chord information corresponding to the partial section;
For each partial section, a plurality of pitch information included in the partial section is associated with the input chord information based on the chord information detected by the detecting means and the chord information input by the input means. Conversion means for converting into pitch information that constitutes a chord to be performed;
When a chord composed of a plurality of pitch information included in the partial section to be converted by the converting means has a three-tone configuration and the input chord information has a four-tone configuration, the partial section to be converted Extraction that extracts pitch information corresponding to a predetermined part of the three chord constituent sounds from among the plurality of pitch information included as a pitch candidate for generating the fourth chord constituent sound Means,
A generating means for generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extracting means, wherein the key-on area and the immediately following part of the partial section immediately before the partial section to be converted Preferentially generating the fourth chord constituent sound as included in the overlapped portion of the key-on area of the section;
Adding means for adding the pitch information of the fourth chord constituent sound generated by the generating means to the sounding position of the chord composed of a plurality of pitch information included in the partial section,
The converting means converts the pitch information after the pitch information has been added by the adding means when converting a plurality of pitch information included in the partial section. .
前記3つの和音構成音中の所定の一部の和音構成音は、5度の音高のものであることを特徴とする請求項1または2に記載の楽音情報変換装置。  3. The musical tone information conversion apparatus according to claim 1, wherein a predetermined part of the three chord constituent sounds has a pitch of 5 degrees. CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって
前記制御方法は、
前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、
前記CPUが、前記生成ステップによって第4和音構成音を生成する際の基となった音高情報を、当該生成された第4和音構成音の音高情報によって置き換える置き換えステップ
備え
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする記憶媒体
A computer-readable memory storing a program for causing a computer to execute a control method for controlling a musical tone information conversion apparatus comprising a CPU and a supply means for supplying performance data including a plurality of pitch information arranged in the order of pronunciation A medium ,
The control method is:
A division step in which the CPU divides the entire section of the performance data supplied by the supply means into partial sections of a predetermined length;
The CPU is, the divided every divided part section by step, a detection step of detecting the chord information chord comprising a plurality of tone pitch information included in the subinterval,
The CPU is, for each of the subinterval, a plurality of tone pitch information contained in the part section, on the basis of the chord information input by said detected by the detecting step chord information and input means, said input A conversion step for converting into pitch information that constitutes a chord corresponding to the chord information performed;
When the chord composed of a plurality of pitch information included in the partial section to be converted by the conversion step has a three-tone configuration and the input chord information has a four-tone configuration, the CPU Pitch candidates for generating the fourth chord constituent sound from the pitch information corresponding to a predetermined part of the three chord constituent sounds among the plurality of pitch information included in the partial section of An extraction step to extract as
The CPU is a generation step of generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction step , and the key-on area of the partial section immediately before the partial section to be converted And preferentially generating the fourth chord constituent sound as included in the overlapped portion of the key-on area of the partial section immediately after,
Wherein the CPU, the pitch information is the basis in generating a fourth chord constituent notes by said generating step, and a replacement step of replacing the pitch information of the fourth chord component notes that are the product,
In the converting step , when converting a plurality of pitch information included in the partial section, the pitch information after the replacement is converted for the pitch information replaced by the replacing step . Storage medium .
CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって
前記制御方法は、
前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、
前記CPUが、前記生成ステップによって生成された第4和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップ
備え
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする記憶媒体
A computer-readable memory storing a program for causing a computer to execute a control method for controlling a musical tone information conversion apparatus comprising a CPU and a supply means for supplying performance data including a plurality of pitch information arranged in the order of pronunciation A medium ,
The control method is:
A division step in which the CPU divides the entire section of the performance data supplied by the supply means into partial sections of a predetermined length;
The CPU is, the divided every divided part section by step, a detection step of detecting the chord information chord comprising a plurality of tone pitch information included in the subinterval,
The CPU is, for each of the subinterval, a plurality of tone pitch information contained in the part section, on the basis of the chord information input by said detected by the detecting step chord information and input means, said input A conversion step for converting into pitch information that constitutes a chord corresponding to the chord information performed;
When the chord composed of a plurality of pitch information included in the partial section to be converted by the conversion step has a three-tone configuration and the input chord information has a four-tone configuration, the CPU Pitch candidates for generating the fourth chord constituent sound from the pitch information corresponding to a predetermined part of the three chord constituent sounds among the plurality of pitch information included in the partial section of An extraction step to extract as
The CPU is a generation step of generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction step , and the key-on area of the partial section immediately before the partial section to be converted And preferentially generating the fourth chord constituent sound as included in the overlapped portion of the key-on area of the partial section immediately after,
Wherein the CPU, and a additional step of adding a pitch information of the fourth chord component tones generated by the generating step, the sound producing position of a chord consisting of a plurality of tone pitch information included in the subinterval,
In the conversion step, a storage medium in converting a plurality of tone pitch information included in the subinterval, and converting the pitch information after the pitch information is added by said adding step.
前記3つの和音構成音中の所定の一部の和音構成音は、5度の音高のものであることを特徴とする請求項4または5に記載の記憶媒体6. The storage medium according to claim 4, wherein a predetermined part of the three chord constituent sounds has a pitch of 5 degrees. CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法であって
前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、
前記CPUが、前記生成ステップによって第4和音構成音を生成する際の基となった音高情報を、当該生成された第4和音構成音の音高情報によって置き換える置き換えステップと
を備え、
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記置き換えステップによって置き換えられた音高情報については、その置き換え後の音高情報を変換することを特徴とする制御方法。
A control method for controlling a musical tone information conversion apparatus comprising a CPU and a supply means for supplying performance data including a plurality of pitch information arranged in the order of pronunciation,
A division step in which the CPU divides the entire section of the performance data supplied by the supply means into partial sections of a predetermined length;
The CPU detects, for each partial section divided by the dividing step, chord information of a chord composed of a plurality of pitch information included in the partial section;
The CPU is, for each of the subinterval, a plurality of tone pitch information contained in the part section, on the basis of the chord information input by said detected by the detecting step chord information and input means, said input A conversion step for converting into pitch information that constitutes a chord corresponding to the chord information performed;
When the chord composed of a plurality of pitch information included in the partial section to be converted by the conversion step has a three-tone configuration and the input chord information has a four-tone configuration, the CPU Pitch candidates for generating a fourth chord constituent sound from pitch information corresponding to a predetermined part of the three chord constituent sounds among a plurality of pitch information included in the partial section of An extraction step to extract as
The CPU is a generation step of generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction step, and the key-on area of the partial section immediately before the partial section to be converted And preferentially generating a fourth chord constituent sound that is included in the overlapped portion of the key-on area of the partial section immediately after,
A step of replacing the pitch information, which is the basis for generating the fourth chord constituent sound by the generating step, with the pitch information of the generated fourth chord constituent sound;
In the converting step, when converting a plurality of pitch information included in the partial section, the pitch information after the replacement is converted for the pitch information replaced by the replacing step. Control method.
CPUと、発音順に並べられた複数の音高情報を含む演奏データを供給する供給手段を備えた楽音情報変換装置を制御する制御方法であって
前記CPUが、前記供給手段によって供給された演奏データの全区間を所定長の部分区間に分割する分割ステップと、
前記CPUが、前記分割ステップによって分割された部分区間毎に、当該部分区間に含まれる複数の音高情報からなる和音の和音情報を検出する検出ステップと、
前記CPUが、前記部分区間毎に、当該部分区間に含まれる複数の音高情報を、前記検出ステップによって検出された和音情報および入手段によって入力された和音情報に基づいて、該入力された和音情報に対応する和音を構成するような音高情報に変換する変換ステップと、
該変換ステップによる変換対象の部分区間に含まれる複数の音高情報からなる和音が3音構成であり、かつ前記入力された和音情報が4音構成である場合に、前記CPUが、当該変換対象の部分区間に含まれる複数の音高情報のうち、3つの和音構成音中の所定の一部の和音構成音に対応する音高情報を、第4和音構成音を生成するための音高候補として抽出する抽出ステップと、
前記CPUが、前記抽出ステップによって抽出された音高候補に属する音高情報に対応する第4和音構成音を生成する生成ステップであって、当該変換対象の部分区間の直前の部分区間のキーオン領域と直後の部分区間のキーオン領域の重畳部分に含まれるような第4和音構成音を優先的に生成するものと、
前記CPUが、前記生成ステップによって生成された第4和音構成音の音高情報を、当該部分区間に含まれる複数の音高情報からなる和音の発音位置に追加する追加ステップと
を備え、
前記変換ステップでは、当該部分区間に含まれる複数の音高情報を変換する際に、前記追加ステップによって音高情報が追加された後の音高情報を変換することを特徴とする制御方法。
A control method for controlling a musical tone information conversion apparatus comprising a CPU and a supply means for supplying performance data including a plurality of pitch information arranged in the order of pronunciation,
A division step in which the CPU divides the entire section of the performance data supplied by the supply means into partial sections of a predetermined length;
The CPU detects, for each partial section divided by the dividing step, chord information of a chord composed of a plurality of pitch information included in the partial section;
The CPU is, for each of the subinterval, a plurality of tone pitch information contained in the part section, on the basis of the chord information input by said detected by the detecting step chord information and input means, said input A conversion step for converting into pitch information that constitutes a chord corresponding to the chord information performed;
When the chord composed of a plurality of pitch information included in the partial section to be converted by the conversion step has a three-tone configuration and the input chord information has a four-tone configuration, the CPU Pitch candidates for generating a fourth chord constituent sound from pitch information corresponding to a predetermined part of the three chord constituent sounds among a plurality of pitch information included in the partial section of An extraction step to extract as
The CPU is a generation step of generating a fourth chord constituent sound corresponding to the pitch information belonging to the pitch candidate extracted by the extraction step, and the key-on area of the partial section immediately before the partial section to be converted And preferentially generating the fourth chord constituent sound as included in the overlapped portion of the key-on area of the partial section immediately after,
The CPU includes an adding step of adding the pitch information of the fourth chord constituent sound generated by the generating step to a sounding position of a chord composed of a plurality of pitch information included in the partial section,
Wherein in the converting step, the control method characterized in that when converting a plurality of tone pitch information contained in the part section converts the pitch information after the pitch information is added by said adding step.
前記3つの和音構成音中の所定の一部の和音構成音は、5度の音高のものであることを特徴とする請求項7または8に記載の制御方法。9. The control method according to claim 7, wherein a predetermined part of the three chord constituent sounds has a pitch of 5 degrees.
JP2000092339A 2000-03-29 2000-03-29 Musical sound information conversion apparatus, control method therefor, and storage medium storing program for realizing the control method Expired - Fee Related JP4253997B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000092339A JP4253997B2 (en) 2000-03-29 2000-03-29 Musical sound information conversion apparatus, control method therefor, and storage medium storing program for realizing the control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000092339A JP4253997B2 (en) 2000-03-29 2000-03-29 Musical sound information conversion apparatus, control method therefor, and storage medium storing program for realizing the control method

Publications (2)

Publication Number Publication Date
JP2001282245A JP2001282245A (en) 2001-10-12
JP4253997B2 true JP4253997B2 (en) 2009-04-15

Family

ID=18607688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000092339A Expired - Fee Related JP4253997B2 (en) 2000-03-29 2000-03-29 Musical sound information conversion apparatus, control method therefor, and storage medium storing program for realizing the control method

Country Status (1)

Country Link
JP (1) JP4253997B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITBO20020691A1 (en) * 2002-10-31 2004-05-01 Roland Europ Spa METHOD AND DEVICE FOR THE TREATMENT OF A FILE
JP6123574B2 (en) * 2013-08-21 2017-05-10 カシオ計算機株式会社 Code extraction apparatus, method, and program

Also Published As

Publication number Publication date
JP2001282245A (en) 2001-10-12

Similar Documents

Publication Publication Date Title
US20010047717A1 (en) Portable communication terminal apparatus with music composition capability
JP6465136B2 (en) Electronic musical instrument, method, and program
JP5041015B2 (en) Electronic musical instrument and musical sound generation program
JP2562370B2 (en) Automatic accompaniment device
JP4253997B2 (en) Musical sound information conversion apparatus, control method therefor, and storage medium storing program for realizing the control method
JPH05281970A (en) Automatic music arranging device and electronic musical instrument
JP4670686B2 (en) Code display device and program
JP3671788B2 (en) Tone setting device, tone setting method, and computer-readable recording medium having recorded tone setting program
JP4556852B2 (en) Electronic musical instruments and computer programs applied to electronic musical instruments
JP3430895B2 (en) Automatic accompaniment apparatus and computer-readable recording medium recording automatic accompaniment control program
JP3632487B2 (en) Chord detection device for electronic musical instruments
JP5104414B2 (en) Automatic performance device and program
JP3752956B2 (en) PERFORMANCE GUIDE DEVICE, PERFORMANCE GUIDE METHOD, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING PERFORMANCE GUIDE PROGRAM
JP3413842B2 (en) Automatic accompaniment device
JP2006292954A (en) Electronic musical instrument
JP3499672B2 (en) Automatic performance device
JPH0764545A (en) Musical composition device
JP3960242B2 (en) Automatic accompaniment device and automatic accompaniment program
JP2572317B2 (en) Automatic performance device
JP2894178B2 (en) Performance detection method in performance information
JP4470895B2 (en) Code display device and program
JP2002358081A (en) Electronic musical instrument
JP4900233B2 (en) Automatic performance device
JP3577852B2 (en) Automatic performance device
JP2848322B2 (en) Automatic accompaniment device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080714

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

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: 20090106

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: 20090119

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

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140206

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees