JP3807333B2 - Melody search device and melody search program - Google Patents
Melody search device and melody search program Download PDFInfo
- Publication number
- JP3807333B2 JP3807333B2 JP2002080099A JP2002080099A JP3807333B2 JP 3807333 B2 JP3807333 B2 JP 3807333B2 JP 2002080099 A JP2002080099 A JP 2002080099A JP 2002080099 A JP2002080099 A JP 2002080099A JP 3807333 B2 JP3807333 B2 JP 3807333B2
- Authority
- JP
- Japan
- Prior art keywords
- performance data
- melody
- group
- note
- search
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、一連の音符列を表す演奏データによってそれぞれ構成された複数グループの演奏データの中から、メロディパートに関する演奏データを検索するメロディ検索装置およびコンピュータ読み取り可能なメロディ検索プログラムに関する。
【0002】
【従来の技術】
自動演奏用の演奏データは、メロディ、リズム、和音伴奏、ベース伴奏などの各演奏パートごとに、一連の音符列を表す演奏データをグループ化し、複数グループの演奏データを各トラックに対応させている。そして、メロディパートの演奏データを取り出して、メロディパートのみの演奏音を聞いたり、同メロディパートをアレンジしたり、メロディパートを和音伴奏パートまたはベース伴奏パートのアレンジの参考にしたりする場合、曲全体の演奏データの中からメロディパートの演奏データのみを取り出す必要がある。従来、このようなメロディパートの演奏データの取り出しにおいては、ユーザが手作業で行なっていた。
【0003】
【発明が解決しようとする課題】
しかしながら、多数の演奏パートを含む演奏データ中から適正なメロディパートの演奏データのみを取り出す作業は手間がかかる。また、初心者にあっては、このようなメロディパートの演奏データの取り出しが不能である場合もある。
【0004】
【発明の概要】
本発明は、上記問題に対処するためになされたもので、その目的は、一連の音符列を表す演奏データによってそれぞれ構成された複数グループの演奏データの中から、メロディパートに関する演奏データを自動的に検索することが可能なメロディ検索装置を提供することにある。
【0005】
前記目的を達成するために、本発明の特徴は、一連の音符列を表す演奏データによってそれぞれ構成された複数グループの演奏データの中から、メロディパートに対応したグループの演奏データを検索するメロディ検索装置において、一連の演奏データによって表された音符列の平均音長を各グループごとにそれぞれ計算して、同計算した平均音長が、所定値以上、曲全体の平均音長よりも所定値以上長い、または他のグループの計算した平均音長に対して相対的に長いグループの演奏データをメロディパートの候補から除外するようにしたことにある。
【0011】
この本発明の特徴によれば、複数グループの演奏データの中から、メロディパートに対応しないグループの演奏データが除外されて、メロディパートに対応したグループの演奏データが取り出される。したがって、メロディパートに関する演奏データがユーザによる手間を省いて自動的に検索されることになるので、メロディパートのみの演奏音を聞いたり、同メロディパートをアレンジしたり、メロディパートを和音伴奏パートまたはベース伴奏パートのアレンジの参考にしたりする場合に便利になる。
【0014】
また、本発明の他の特徴は、一連の音符列を表す演奏データによってそれぞれ構成された複数グループの演奏データの中から、メロディパートに属する演奏データを抽出するメロディ検索装置において、曲全体を検索区間として、前記複数グループのうちから、メロディパートに属する演奏データを含む一つのグループを検索する第1メロディ検索手段と、前記第1メロディ検索手段によって検索された一つのグループの演奏データに基づいて、同一つのグループ内における音符の存在しない区間を無音区間として検出する無音区間検出手段と、前記無音区間検出手段によって検出された無音区間を検索対象として、前記複数グループのうちで前記第1メロディ検索手段によって検索された一つのグループを除外したグループに属する演奏データのうちから、前記無音区間を検索対象としたメロディパートに属する演奏データを検索する第2メロディ検索手段とを備え、前記第1メロディ検索手段によって検索された一つのグループに属する演奏データに、前記第2メロディ検索手段によって検索されたメロディパートに属する演奏データを加えた演奏データを、曲全体のメロディパートの演奏データとするようにしたことにある。
【0016】
この本発明の他の特徴によれば、複数グループにわたってメロディパートに関する演奏データが用意されている場合、例えば通常のメロディパートにギターソロパートなどが付加されている場合でも、このギターソロパートと連結したメロディパートの演奏データを得ることができる。
【0017】
また、前述した本発明に関する特徴は、メロディ検索方法およびコンピュータプログラムに関する発明として捉えることもできる。
【0018】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて説明する。図1は、本発明に係るメロディ検索装置を内蔵した電子楽器の概略ブロック図である。
【0019】
この電子楽器は、演奏操作子群11、パネル操作子群12及びディスプレイ13を備えている。演奏操作子群11は、例えば複数の鍵からなる鍵盤などで構成されており、それらの操作により楽音の発生および発生楽音の音高を指示する。パネル操作子群12は、操作パネルにそれぞれ配設され、それらの操作により発生楽音の音色、音量などの指定、ディスプレイ13の表示内容の指示などを含む電子楽器全体の作動を指示する。なお、このパネル操作子群12には、テンキー、カーソル移動キー、マウスなどの操作子も含まれる。これらの演奏操作子群11及びパネル操作子群12の各操作は、バス20に接続された検出回路14,15によりそれぞれ検出される。ディスプレイ13は、CRT表示器、液晶表示器などで構成されており、各種情報を文字、数字または画像表示するものである。このディスプレイ13は、バス20に接続された表示回路16により表示制御される。
【0020】
また、この電子楽器は、バス20に接続された音源回路17も備えている。音源回路17は、楽音信号を時分割で形成するための複数の楽音信号形成チャンネルを有しており、バス20を介して供給された演奏情報(キーオン信号、キーオフ信号、音高データ(音名データ)、音色情報など)に基づいて楽音信号を形成して出力する。なお、この音源回路17は、ピアノ音、ギター音のような音高を有する楽音信号ばかりではなく、ドラム、シンバルなどのリズム楽器の楽音信号も形成する。音源回路17には、D/A変換器、アンプ、スピーカからなるサウンドシステム18が接続されており、同システム18は音源回路17からの楽音信号に対応した楽音を発生する。
【0021】
また、バス20には、CPU21,ROM22、RAM23、タイマ24および外部記憶装置25も接続されている。CPU21,ROM22、RAM23およびタイマ24は、マイクロコンピュータ本体部を構成するもので、各種プログラムを実行して電子楽器の各種動作を制御する。
【0022】
外部記憶装置25は、予め組み込まれたハードディスクHDなどの記録媒体、着脱可能に組み付けられるフレキシブルディスクFD、コンパクトディスグCDなどの記録媒体と、同記録媒体に対してプログラム及びデータの読み書きを可能とするドライブ装置とからなる。外部記録媒体には、各種プログラムおよび各種データが記憶されている。本実施形態では、特に図2のメロディ形成プログラム(図3のメロディ検索ルーチンを含む)が記憶されているとともに、各種の曲に対応した複数組の自動演奏データも記憶されている。また、各種プログラムおよび各種データの一部に関しては、ROM22にも記憶されている。
【0023】
ここで、一曲分の自動演奏データについて、一例を上げて説明しておく。この自動演奏データは、図4(A)に示すように、第1〜第nトラックからなる複数トラック分の演奏データによって構成されている。1トラック分の自動演奏データは、例えば、メロディパート、リズムパート、和音伴奏パート、ベース伴奏パートなどにそれぞれ対応している。各トラックの演奏データは、演奏データの開始および終了をそれぞれ表すスタートコードおよびエンドコードの間に挟まれて、曲の進行(時間経過)に従って配列された音色選択データ、ボリュームデータ、エクスプレッションデータ、ノートオンイベントデータ、ノートオフイベントデータ、デュレーションデータなどからなる。なお、このトラックが、本発明に係り、一連の演奏データによって構成されるグループに対応する。
【0024】
音色選択データは、楽音信号の音色を曲の開始時に指定または曲の途中で変更するためのデータであり、図4(B)に示すように、識別コードとしての音色選択コードに、音源チャンネル(MIDIチャンネル)番号データおよび音色名データを付加して構成されている。音源チャンネル番号データは、音色名データが適用される音源回路17内の音源チャンネル(MIDIチャンネル)を表す。音色名データは、前記音源チャンネルにて形成される楽音信号の音色を表す。
【0025】
ボリュームデータは、楽音信号の音量を曲の開始時に指定または曲の途中で変更するためのデータであり、図4(C)に示すように、識別コードとしてのボリュームコードに、音源チャンネル番号データおよび音量データを付加して構成されている。音源チャンネル番号データは、音量データが適用される音源回路17内の音源チャンネルを表す。音量データは、前記音源チャンネルにて形成される楽音信号の音量レベルを表す。なお、音量データは、その値が大きくなるに従って大きくなる音量レベルを表しており、本実施形態においては「0」〜「127」のうちのいずれかの値を取り得る。
【0026】
エクスプレッションデータも、楽音信号の音量を曲の開始時に指定または曲の途中で変更するためのデータであり、図4(D)に示すように、識別コードとしてのエクスプレッションコードに、前記ボリュームデータの場合と同様な音源チャンネル番号データおよび音量データを付加して構成されている。このエクスプレッションデータは、電子楽器におけるエクスプレッションペダルの情報に相当し、楽音信号の音量をダイナミックに変更制御ものである。一方、ボリュームデータは、電子楽器におけるボリューム操作子の情報に相当し、楽音信号の音量をスタティックに変更制御するものである。
【0027】
ノートオンイベントデータは、楽音信号の発生開始を指示するためのデータであり、図4(E)に示すように、識別コードとしてのノートオンコードに、音源チャンネル番号データ、ノートナンバデータおよびベロシティデータを付加して構成されている。音源チャンネル番号データは、ノートナンバデータおよびベロシティデータが適用される音源回路17内の音源チャンネルを表す。ノートナンバデータは、前記音源チャンネルにて生成される楽音信号の音高を表す。ベロシティデータは、電子楽器における鍵タッチの強さの情報に相当し、前記ノートナンバデータにより指定される楽音信号の音量レベルを表す。なお、ベロシティデータも、その値が大きくなるに従って大きくなる音量レベルを表しており、本実施形態においては「0」〜「127」のうちのいずれかの値を取り得る。
【0028】
また、このノートオンイベントデータは、通常、音高を有する楽音信号に利用されるものであるが、ドラム、シンバルなどのリズム楽器音の発生指示のためにも利用される。この場合、ノートナンバデータに代えて、リズム楽器名を表す楽器名データが利用される。
【0029】
ノートオフイベントデータは、楽音信号の発生終了を指示するためのデータであり、図4(F)に示すように、識別コードとしてのノートオフコードに、前記ノートオンイベントデータの場合と同様な音源チャンネル番号データおよびノートナンバデータを付加して構成されている。ただし、この場合も、リズム楽器に関しては、ノートナンバデータに代えて、リズム楽器名を表す楽器名データが利用される。
【0030】
デュレーションデータは、演奏データの再生時における前述した音色選択データ、ボリュームデータ、エクスプレッションデータ、ノートオンイベントデータ、ノートオフイベントデータなどの出現時間間隔を表すもので、識別コードとしてのデュレーションコードに、チック数データを付加して構成されている。チック数データは、所定の基準音符長に対するテンポクロック信号の数を表すデータ(一種の音符長を表すデータ)として定義されるもので、本実施形態では4分音符長がチック数「480」に定義されている。なお、テンポクロック信号は、曲のテンポによって変更される基準クロック信号をさす。
【0031】
このような複数トラックの演奏データは、自動演奏再生プログラムによって再生されて、前述した音色名データ、音量データ、ノートナンバデータ、ベロシティデータおよびこれらのデータに基づいて生成した新たなデータが、曲の進行に従って音源回路17に供給される。そして、音源回路17は、前記供給された各データに応じて制御されて、同各データに応じた楽音信号を発生する。しかし、本発明には、この演奏データの再生は直接関係しないので、これ以上の説明は省略する。また、この演奏データ中の音源チャンネル番号データによって表された音源チャンネルは、音源回路17において楽音信号を形成する一つずつの楽音信号形成チャンネルを意味するものではなく、音源回路17における複数の楽音信号形成チャンネルを含む楽音信号形成チャンネル群を示している。
【0032】
ふたたび、図1の説明に戻る。バス20には、MIDIインターフェース回路26および通信インターフェース回路27も接続されている。MIDIインターフェース回路26は、自動演奏装置(シーケンサ)、鍵盤などの演奏装置、他の楽器、パーソナルコンピュータなどの他のMIDI対応機器31に接続されて、同機器31から自動演奏データを含む各種のMIDI情報を受信し、または同機器31に各種のMIDI情報を送信するためのインターフェース回路である。通信インターフェース回路27は、インターネットなどの通信ネットワーク32を介して外部との交信を可能とするものである。
【0033】
次に、上記のように構成した実施形態の動作を説明する。まず、ユーザは、図示しないプログラムの実行により、ディスプレイ13の画面を見ながらパネル操作子群12を操作することにより、メロディパートに関する演奏データを取り出そうとする曲の演奏データを選択してRAM23に記憶させる。この場合、演奏データとしては、外部記憶装置25に予め記憶されている自動演奏データ、MIDIインターフェース回路26を介して入力可能なMIDI対応機器31に記憶されている自動演奏データ、通信インターフェース回路27および通信ネットワーク32を介して入手可能な自動演奏データを利用できる。場合によっては、本電子楽器における演奏操作子群11およびパネル操作子群12を用いた演奏による演奏データをRAM23または外部記憶装置25に記憶しておいて、同記憶しておいた演奏データを用いることもできる。
【0034】
次に、ユーザは、外部記憶装置25内のハードディスグHD、フレキシブルディスクFD、コンパクトディスグCDなどの記録媒体またはROM22に記憶されているメロディ形成プログラムを起動する。なお、このメロディ形成プログラムが外部記憶装置25およびROM22に記憶されていない場合には、MIDIインターフェース回路26を介したMIDI対応機器31、または通信インターフェース回路27および通信ネットワーク32を介した外部からメロディ形成プログラムの提供を受けることも可能である。
【0035】
このメロディ形成プログラムの実行は、図2のステップ100にて開始され、CPU21は、ステップ102にてメロディ検索区間の初期化処理を実行する。この初期化処理においては、メロディ検索区間として、曲全体すなわち図4の各トラックにおけるスタートコードとエンドコードで挟まれた全ての演奏データがそれぞれ指定される。この処理後、ステップ104にて、メロディ検索ルーチンが実行される。
【0036】
このメロディ検索ルーチンは図3に詳細に示されており、その実行がステップ200にて開始される。この実行開始後、CPU21はステップ202〜212からなる各種除外処理を実行する。このメロディ検索ルーチンによる処理の特徴は、前記ステップ202〜212の各種除外処理においてメロディ以外のパートの特徴を有する演奏データを記憶したトラックを抽出して、同抽出したトラックを順次除外していき、最後に残ったトラックを、メロディパートの演奏データが記憶されているトラックであるとして決定するようにしている。以下、ステップ202〜212の各種除外処理のアルゴリズムについて順次説明する。
【0037】
a.ステップ202のリズムパート除外処理
複数パートを含む曲に関する演奏データにおいては、発生される楽音信号の音色を少なくともトラックごとに指定することが原則である。また、ドラム、シンバルなどのリズム楽器の音色を指定する演奏データを含むトラックはリズムパートに関するものである。これらの点に着目して、このリズムパート除外処理においては、複数トラックの中からリズムパートに関するトラックを除外する。
【0038】
具体的には、演奏データがGM規格に基づいていれば、リズム楽器は音源回路17の音源チャンネル「10」に割当てられるようになっている。なお、GM規格とは、MIDI音源標準化の規格をさす。したがって、このリズムパート除外処理においては、CPU21は、演奏データがGM規格に基づいていること(演奏データに通常記録されている)を確認した上で、各トラックの演奏データを順次読み出して、同読み出した演奏データが音源チャンネルを「10」を指定しているかを順次調べる。そして、音源チャンネル「10」を指定している演奏データを含んでいれば、同演奏データを含むトラックをリズムパートに関するものであると判定して(図4参照)、同トラックをメロディパート候補から除外する。また、リズム楽器名を表す演奏データを含むトラックをリズムパートに関するものであると判定して(図4参照)、同トラックをメロディパート候補から除外するようにしてもよい。この場合には、演奏データがGM規格に基づいたものである必要はない。
【0039】
b.ステップ204のベースパート除外処理
ベースパートの演奏に利用されるエレクトリックベース、コントラバスなどのベースパート用楽器は、メロディ演奏に利用されることはない。この点に着目して、このベースパート除外処理においては、前記ステップ202の除外処理後における残りの複数のトラックの中から、ベースパートに関するトラックを除外する。具体的には、CPU21は、前記残りの各トラックの演奏データを順次読み出して、同読み出した演奏データがベースパート用楽器名を表しているかを調べる。そして、ベースパート用楽器名を指定するための演奏データを含んでいれば、同演奏データを含むトラックをベースパートに関するものであると判定して(図4参照)、同トラックをメロディパート候補から除外する。
【0040】
c.ステップ206の音符存在範囲率による除外処理
トラックがメロディパートに関するものであれば、曲全体中に、ある程度以上(例えば、曲全体の60パーセント以上)の区間で音符が存在していると考えられる。この点に着目して、この音符存在範囲率による除外処理においては、前記ステップ204の処理後における残りの複数トラックの中から、曲全体に対する音符を含む区間の割合が所定値以下であるトラックは、メロディパートに関するものでないとして、同トラックをメロディパート候補から除外する。
【0041】
具体的には、CPU21は、前記ステップ204の除外処理後に残っている複数トラックの各トラックの演奏データを順次読み出して、同読み出した演奏データに基づいて音符が存在している区間を各トラックごとに調べる。すなわち、一つのノートオンイベントデータが現われてから同ノートオンイベントデータに対応するノートオフイベントが現われるまでの区間を、音符が存在している区間とする。そして、次の音符が存在している区間が前記一つの音符が存在している区間に連続する限り、この連続する区間を音符が存在する区間とする。一方、次の音符の区間が、前の音符の区間終了後に開始される場合には、前の音符の区間終了から次の音符の区間開始までを音符の存在しない区間とする。
【0042】
なお、前の音符の区間終了から次の音符の区間開始までの期間が短い場合には、連続する区間とみなすようにしてもよい。例えば、前の音符の区間終了から次の音符の区間開始までの期間が、32分音符に相当する時間以下であれば連続した音符の存在する区間とみなし、同期間が32分音符分に相当する時間を越える場合には音符の存在しない区間とする。
【0043】
図5は一つのトラックの演奏データの解析結果を表しており、この場合、曲全体中で、区間A,B,Cが音符の存在する区間である。そして、区間A,B,Cの各長さを加算し、同加算された長さを曲全体の長さで除算して音符存在範囲率を計算する。例えば、曲の全体の長さを16小節とし、区間A,B,Cがそれぞれ4,8,2小節であったならば、音符存在範囲率は0.88(=(4+8+2)/16)になる。なお、実際には、この区間の計算はチック数によって計算されるので、12小節分のチック数「26,800」を16小節分のチック数「30,720」で除算することにより計算される。
【0044】
このような音符存在範囲率を各トラックごとに計算した後、前記ステップ202,204の除外処理によって残っている複数トラックの中から、音符存在範囲率が所定値(例えば、0.6)以下であるトラックを、メロディパート候補から除外する。
【0045】
また、前記のように、音符存在範囲率が所定値以下のトラックをメロディパート候補から除外することに代えまたは加えて、音符存在範囲率が他のトラックと比べて相対的に低いトラックをメロディパート候補から除外するようにしてもよい。すなわち、音符存在範囲率が低い順に一つまたは複数のトラックをメロディパート候補から除外するようにしてもよい。
【0046】
d.ステップ208の平均音量による除外処理
トラックがメロディパートに関するものであれば、同トラックの演奏データによって発音される楽音信号の平均音量は大きいはずである。例えば、メロディパートの楽音信号の平均音量は、少なくとも、全てのトラックごとの平均音量の中の最大値(以下、最大平均音量という)の80パーセント以上であると考えられる。この点に着目し、この平均音量による除外処理においては、前記ステップ206の除外処理後に残っている複数トラックの中から、演奏データによって指定される平均音量が、前記最大平均音量よりも所定値以上小さいトラックを、メロディパートに関するものでないとしてメロディパート候補から除外する。
【0047】
具体的には、CPU21は、前記ステップ202〜206の除外処理後に残っている複数トラックの各トラックの演奏データを順次読み出して、同読み出した演奏データに基づいて音符の平均音量を各トラックごとに計算する。一つのトラックに属する音符の音量は、ボリュームデータ中の音量データと、エクスプレッションデータ中の音量データと、各ノートオンイベントデータ中のベロシティデータとの積を、前記音量データ(ベロシティデータでも同じ)の取り得る値の最大値(本実施形態では「127」)を2乗した値で除算して決定される。
【0048】
したがって、CPU21は、各トラックごとに、直前に現われたボリュームデータおよびエクスプレッションデータ中の各音量データをそれぞれ独立に記憶しておく。そして、ノートオンイベントデータが現われるたびに前記記憶しておいた両音量データの積に、ノートイベントデータ中のベロシティデータ値を乗算した値(=ボリュームデータ中の音量データ値*エクスプレッションデータ中の音量データ値*ベロシティデータ値)を計算し、この乗算結果を前記音量データの取り得る値の最大値(例えば、「127」)の2乗値で除算して一音符分の音量データを計算する。
【0049】
次に、CPU21は、一つのトラックに含まれる全ての音符に関する一音符分の音量データを加算し、同加算結果を同トラックに含まれる音符の数で除算して、一つのトラックに関する一音符分の平均音量を計算する。このような一音符分の平均音量の計算は、各トラック毎に行われる。このような一音分の平均音量を各トラックごとに計算した後、前記ステップ202〜206の除外処理後に残っている全てのトラックの中で、前記計算した平均音量が最大のトラックを抽出する。そして、この抽出トラックの平均音量を最大平均音量とする。そして、平均音量が最大平均音量よりも所定値以上小さいトラックを、メロディパート候補から除外する。この場合、前記所定値以上小さい音量とは、最大平均音量よりも所定比率分以上小さい音量であっても、最大平均音量よりも絶対的な所定値以上小さい音量であってもよい。
【0050】
また、前記のように各トラックの平均音量を最大平均音量と比較するのに代えてまたは加えて、次のようにして各トラックをメロディパート候補から除外するようにしてもよい。すなわち、平均音量が絶対的な所定値以下であるトラックを、メロディパート候補から除外するようにする。また、全てのトラックの平均音量の平均値をさらに計算し、各トラックの平均音量が前記平均値よりも所定値以上低いとき、同各トラックをメロディパート候補から除外するようにする。
【0051】
さらに、前記平均音量に関する除外条件に代えまたは加えて、一音符分の平均音量が他のトラックと比べて相対的に小さいトラックをメロディパート候補から除外するようにしてもよい。すなわち、一音符分の平均音量が低い順に一つまたは複数のトラックをメロディパート候補から除外するようにしてもよい。
【0052】
e.ステップ210の平均音長による除外処理
トラックがメロディパートに関するものであれば、同トラックの各演奏データによって発音される楽音信号の平均音長はそれほど長くないはずである。例えば、メロディパートの楽音信号の平均音長は、2分音符に相当する長さ程度未満であると考えられる。平均音長が長いパートは、ストリングス音などの伴奏パートや、パッドの伴奏パートであると考えれる。なお、パッドとは、シンセサイザーなどの音色名の一つで比較的丸みのある持続音(白玉と呼ばれることもある)である。この点に着目して、この平均音長による除外処理においては、前記ステップ202〜208の除外処理後に残っている複数トラックの中から、演奏データによって指定される楽音信号の音長の平均値が所定長以上であるトラックは、メロディパートに関するものでないとして、同トラックをメロディパート候補から除外する。
【0053】
具体的には、CPU21は、前記ステップ202〜208の除外処理後に残っている複数トラックの各トラックの演奏データを順次読み出して、同読み出した演奏データに基づいて音符の平均音長を各トラックごとに計算する。音符の音長は、ノートオンイベントデータが現われたタイミングから、同ノートオンイベントデータに対応したノートオフイベントデータの現われるまでの時間長にほぼ等しい。
【0054】
したがって、CPU21は、ノートオンイベントデータにより表された一音符ごとに、同ノートオンイベントデータの発生タイミングからノートオフイベントデータの発生タイミングまでの時間長を計算する。この時間長は、対応する音符のノートオンイベントデータとノートオフイベントデータとの間に位置するデュレーションデータすなわちチック数を累算することにより計算される。これにより、一つの音符の音符長が計算される。
【0055】
次に、CPU21は、一つのトラックに含まれる全ての音符に関する音符長を加算して、同加算結果を同トラックに含まれる音符の数で除算して、一つのトラックに関する平均音長を計算する。このような平均音長の計算は各トラック毎に行われる。このように平均音長を各トラックごとに計算した後、同平均音長が所定値以上であるトラックを、メロディパート候補から除外する。この場合、前述したように音長はチック数によって表されるので、チック数と所定値とが比較される。そして、本実施形態では、4分音符の音符長はチック数「480」に対応するので、例えば前記計算した平均音長を表すチック数が「960」以上のトラックがメロディパート候補から除外される。
【0056】
また、前記のように各トラックの平均音長を絶対的な所定値と比較するのに代えてまたは加えて、次のようにして各トラックをメロディパート候補から除外するようにしてもよい。すなわち、さらに全てのトラックの平均音長の平均値を計算し、各トラックの平均音長が前記平均値よりも所定値以上長いとき、同各トラックをメロディパート候補から除外するようにする。なお、この場合も、平均値よりも所定値以上長い平均音長とは、平均値よりも所定比率分以上長い音長であっても、平均値よりも絶対的な所定値以上長い音長であってもよい。
【0057】
さらに、前記平均音長に関する除外条件に代えまたは加えて、平均音長が他のトラックと比べて相対的に長いトラックをメロディパート候補から除外するようにしてもよい。すなわち、平均音長が長い順に一つまたは複数のトラックをメロディパート候補から除外する。
【0058】
f.ステップ212の重複率による除外処理
トラックがメロディパートに関するものであれば、単旋律が多く、複数音が同時に重複して発音されることは少ない。単旋律であっても、テヌート演奏の場合は前後の音符が若干重なるので「重複なし」とは言い切れないが、重複はあまり多くないと考えられる。これに対して、伴奏パートなどでは、和音などのように複数音が同時に発音される可能性が極めて高い。この点に着目して、この重複率による除外処理においては、前記ステップ202〜210の除外処理後に残っている複数トラックの中から、重複率の高いトラックを、メロディパートに関するものでないとして、メロディパート候補から除外する。なお、この重複率は、一曲に登場する音符の音長の合計を、音符が存在する区間の合計で除算した値として定義される。
【0059】
具体的には、CPU21は、前記ステップ202〜210の除外処理後に残っている複数トラックの各トラックの演奏データを順次読み出して、同読み出した演奏データに基づいて重複率を各トラックごとに計算する。まず、一つのトラックに関し、一曲に登場する音符の音長の合計を計算する。この音長の合計は、新たに計算することも可能であるが、前記ステップ210の平均音長の計算過程で計算した一つのトラックに含まれる全ての音符に関する音符長の加算値を記憶しておいて、この記憶値を利用すると便利である。
【0060】
次に、音符が存在する区間の合計を計算する。この区間の合計は、新たに計算することも可能であるが、前記ステップ206の音符存在範囲率の計算過程で計算した音符が存在する区間の加算結果を記憶しておいて、この記憶値を利用すると便利である。そして、前記一曲に登場する音符の音長の合計値を前記音符が存在する区間の合計値で除算すれば、重複率が計算される。このような重複率の計算を各トラックごとに行った後、同重複率が所定値以上であるトラックを、メロディパート候補から除外する。例えば、この所定値としては、「2.0」程度の値を採用できる。
【0061】
また、前記のように各トラックの重複率を絶対的な所定値と比較するのに代えてまたは加えて、次のようにして各トラックをメロディパート候補から除外するようにしてもよい。すなわち、前記ステップ202〜210の除外処理後に残っている全てのトラックの重複率の平均値をさらに計算し、各トラックの重複率が前記平均値よりも所定値以上高いとき、同各トラックをメロディパート候補から除外するようにする。この場合も、平均値よりも所定値以上高い重複率とは、平均値よりも所定比率分以上高い重複率であっても、平均値よりも絶対的な所定値以上高い重複率であってもよい。
【0062】
さらに、前記メロディパート候補からの除外条件に代えまたは加えて、重複率が他のトラックと比べて相対的に大きいトラックをメロディパート候補から除外するようにしてもよい。すなわち、重複率が大きい順に一つまたは複数のトラックをメロディパート候補から除外する。
【0063】
次に、同ステップ212にてメロディパートに対応するトラックを決定する。この決定においては、前記ステップ202〜212の除外処理によって一つのトラックしか残されていなければ、同一つのトラックをメロディパートに対応したトラックとして決定する。一方、複数のトラックがメロディパート候補として残っている場合には、重複率が最も低いトラックをメロディパートに関するトラックとして決定する。そして、ステップ214にて、このメロディ検索ルーチンの実行を終了する。
【0064】
このようにしてメロディパートに対応したトラックが検索されるが、前述したステップ202〜212による除外処理はどのような順番でもよい。また、ステップ202〜212の除外処理のうちのいずれか一つまたは複数の処理を省略してもよい。しかしながら、ステップ212においては、除外処理のほかに最終的に一つのトラックを決定する処理も行っている。したがって、ステップ202〜212の除外処理条件の順番を入れ替えた場合、最後のステップの除外処理後に複数トラックが残っている場合には、前記残っている複数トラックの中から、重複率の最も低いトラックをメロディパートに対応するトラックとして決定する。また、入れ替えられた最後のステップの除外処理条件により、最もメロディパートに適した一つトラックを決定するようにしてもよい。さらに、音符存在範囲率、平均音量、平均音長および重複率の全て、または一部を組み合わせて評価して、最もメロディパートに適した一つトラックを決定するようにしてもよい。
【0065】
ふたたび、図2のメロディ形成プログラムの説明に戻る。前記ステップ104のメロディ検索ルーチンの実行後、ステップ106にて前記メロディパートに無音区間が存在するかをチェックする。この無音区間のチェックは、複数のトラックに跨ってメロディパートに関する演奏データが記憶されている可能性があるからである。
【0066】
この無音区間のチェックにおいては、CPU21は、前記メロディパートに関するトラックであると判定されたトラックの演奏データを順次読み出して、発音の指示されていない無音区間をチェックする。具体的には、ノートオンイベントデータが現われてからノートオフイベントデータが現われるまでの区間は、楽音の発音が指示されている区間であるので、それ以外の区間、すなわちノートオンイベントデータが全く現われる前または全てのノートオンイベントデータによる発音指示がノートオフイベントデータによって打ち消されてから、次にノートオンイベントが新たに現われるまでの区間を検出する。なお、この場合、検出した区間が短い場合(例えば、2分音符相当長さ以下の場合)には、休符に関するタイミングもあるので、無音区間として検出しないようにする。そして、この無音区間が存在しなければ、ステップ106にて「No」と判定して、ステップ110に進む。
【0067】
一方、前記無音区間が存在すれば、ステップ106にて「Yes」と判定して、ステップ108に進む。ステップ108においては、前記検出した無音区間を検索区間に設定して、ステップ104に戻る。ステップ104においては、前記メロディパートとして決定したトラック以外の全てのトラックに対して、前記設定された検索区間(無音区間)を対象に、上述した図3のメロディ検索ルーチンの処理を実行する。したがって、この無音区間に対して、前記決定したトラック以外のトラックがメロディパートに関するトラックとして決定される。
【0068】
なお、前記無音区間のチェックにおいて、複数の無音区間が設定されれば、ステップ108にて検索区間として複数の無音区間が設定され、ステップ104のメロディ検索ルーチンの処理により同複数の無音区間に対してメロディパートに関するトラックがそれぞれ決定される。ただし、メロディ検索処理ルーチンにおける各処理においては、複数の無音区間は独立して処理される。
【0069】
前記ステップ104のメロディ検索ルーチンの実行後、CPU21は、ステップ106にてふたたび無音区間をチェックする。これは、前記2回目のメロディ検索によっても、1回目のメロディ検索による無音区間内にさらに無音区間が存在することがあるからである。そして、曲全体にわたって無音区間がなくなるまで、ステップ104〜108の処理を繰り返し実行する。これにより、曲全体にわたって無音区間が無くなれば、前述のように、ステップ106にて「Yes」と判定して、ステップ110に進む。
【0070】
図6の上部は、この無音区間の再メロディ検索の様子を示している。この場合、1回目のメロディ検索により、メロディパートのトラックとしてトラックiが決定されている。この場合、トラックiにおけるメロディA−1、メロディA−2及びメロディA−3の各間に無音区間が存在する。また、2回目のメロディ検索により、前回の無音区間に対するメロディパートのトラックとしてトラックjが決定されている。この場合、トラックjにおけるメロディB−1とメロディB−2との間、およびトラックiにおけるメロディA−2とトラックjにおけるメロディB−3との間に無音区間が存在する。そして、前記メロディB−1とメロディB−2との間の無音区間に対しては、メロディパートのトラックとしてトラックkが決定されている。また、前記メロディA−2とメロディB−3との間の無音区間に対しては、メロディパートのトラックとしてトラックmが決定されている。そして、これらの場合のメロディをメロディC−1およびメロディD−1としてそれぞれ表している。
【0071】
ステップ110においては、複数のメロディ区間が存在するか、言い換えれば複数のトラックの演奏データがメロディとして決定されたかを判定する。複数のメロディ区間が存在しなければ、ステップ110にて「No」と判定して、ステップ114に進む。そして、ステップ114にて前記メロディ検索ルーチンにて決定されたトラックの演奏データをメロディに関するデータとして決定して、ステップ116にてこのメロディ形成プログラムの実行を終了する。
【0072】
一方、複数のメロディ区間が存在する場合、ステップ110にて「Yes」と判定し、ステップ112にてメロディとして決定された各区間を連結する。この各区間の連結においては、前記メロディパートとして決定された各トラック中の演奏データのうちで、メロディ部として決定された各演奏データを抽出して、これらの各演奏データを順次RAM23に書き込みながら連結する。この連結した例を図6の下部に示す。
【0073】
そして、このステップ114の処理後、ステップ116にてこのメロディ形成プログラムの実行を終了する。なお、このようにして決定されたメロディを表す演奏データは、メロディ抽出のために外部記憶装置25などから読み出した複数のトラックからなる演奏データと共に記憶しておくとよい。
【0074】
上記作動説明からも理解できるとおり、図3のメロディ検索ルーチンの実行により、複数トラックの演奏データの中から、メロディパートに対応しないグループの演奏データが除外されて、メロディパートに対応したグループの演奏データが取り出される。したがって、メロディパートに関する演奏データがユーザによる手間を省いて自動的に検索されることになるので、メロディパートのみの演奏音を聞いたり、同メロディパートをアレンジしたり、メロディパートを和音伴奏パートまたはベース伴奏パートのアレンジの参考にしたりする場合に便利になる。
【0075】
また、このメロディ検索ルーチンにおいては、リズム楽器、ベースパート、音符存在範囲率、平均音量、平均音長および音符の重複率からなる複数の異なる条件により、複数グループの演奏データをメロディパートの候補から順次除外していって、同除外後に残ったグループの演奏データをメロディパートの演奏データとして決定している。したがって、メロディパートに対応したグループの演奏データの検索が精度よく行なわれる。
【0076】
また、上記実施形態おいては、図2のステップ104〜114の処理により、メロディ検索に検索された演奏データ中の無音区間が調べられ、無音区間が存在すれば同無音区間を対象とするメロディ検索が繰り返し実行されて、新たなメロディパートに対応する演奏データが検索される。そして、これらの検索された複数の演奏データは連結されて、連続したメロディパートの演奏データが形成される。その結果、複数のトラックにわたってメロディパートに関する演奏データが用意されている場合、例えば通常のメロディパートにギターソロパートなどが付加されている場合でも、このギターソロパートと連結したメロディパートの演奏データを得ることができる。
【0077】
なお、上記実施形態においては、複数パートの各演奏データを複数のトラックにそれぞれ分けて記憶した例について説明した。しかし、本発明は、一つのトラック内に複数パートの演奏データを混在させて記憶した自動演奏用データにも適用できる。この場合、各イベントデータ中の音源チャンネル番号データをチェックすることにより、各パートを区別するようにするとよい。
【0078】
また、上記実施形態においてはメロディ検索装置を電子楽器に適用した例について説明したが、パーソナルコンピュータなどのプログラム処理可能な各種電子機器であれば、どのような電子機器にも本発明は適用できる。
【0079】
さらに、本発明の実施にあたっては、上記実施形態およびその変形例に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形も可能である。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係るメロディ検索装置を適用した電子楽器の全体概略ブロック図である。
【図2】 図1のCPUによって実行されるメロディ形成プログラムを示すフローチャートである。
【図3】 図2のメロディ検索ルーチンの詳細を示すフローチャートである。
【図4】 演奏データの一例を示すフォーマット図である。
【図5】 音符存在範囲率の計算を説明するための説明図である。
【図6】 複数のメロディの連結例を説明するための説明図である。
【符号の説明】
11…演奏操作子群、12…パネル操作子群、13…ディスプレイ、17…音源回路、21…CPU、22…ROM、23…RAM、25…外部記憶装置。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a melody search apparatus and a computer-readable melody search program for searching for performance data related to a melody part from a plurality of groups of performance data each composed of performance data representing a series of musical note strings.
[0002]
[Prior art]
Performance data for automatic performance is a group of performance data representing a series of musical notes for each performance part such as melody, rhythm, chord accompaniment, and bass accompaniment, and multiple groups of performance data are associated with each track. . If you retrieve performance data of the melody part and hear the performance sound of the melody part only, arrange the melody part, or use the melody part as a reference for the arrangement of the chord accompaniment part or bass accompaniment part, It is necessary to extract only the performance data of the melody part from the performance data. Conventionally, the user has performed manual extraction of performance data of such a melody part.
[0003]
[Problems to be solved by the invention]
However, it takes time and effort to extract only performance data of an appropriate melody part from performance data including a large number of performance parts. Further, for beginners, it may be impossible to extract performance data of such a melody part.
[0004]
Summary of the Invention
The present invention has been made to cope with the above-described problems, and its purpose is to automatically perform performance data relating to a melody part from a plurality of groups of performance data each composed of performance data representing a series of note strings. It is an object of the present invention to provide a melody search device that can be searched for.
[0005]
To achieve the above object, the present invention Special In the melody search device for searching the performance data of the group corresponding to the melody part from the performance data of a plurality of groups each constituted by performance data representing a series of note strings, The average pitch of the note strings represented by the series of performance data is calculated for each group, and the calculated average pitch is equal to or greater than a predetermined value and longer than the average pitch of the entire song, or Performance data of a group that is relatively longer than the average pitch calculated by other groups is selected from melody part candidates. It is to be excluded.
[0011]
According to this feature of the present invention, the performance data of the group corresponding to the melody part is taken out from the performance data of the plurality of groups, the performance data of the group not corresponding to the melody part is excluded. Therefore, the performance data related to the melody part is automatically searched without the user's trouble, so that the performance sound of only the melody part can be heard, the melody part can be arranged, the melody part can be a chord accompaniment part or This is useful when you want to reference the arrangement of the bass accompaniment part.
[0014]
Another feature of the present invention is that In a melody search device for extracting performance data belonging to a melody part from a plurality of groups of performance data each composed of performance data representing a series of note strings, the entire song is used as a search section, and the plurality of groups. A first melody search means for searching for one group including performance data belonging to the melody part, and a single melody searched by the first melody search means. Based on group performance data, Within the same group A silent section detecting means for detecting a section in which no note exists as a silent section; By silent section detection means Detected silent section The performance data belonging to the melody part for which the silent section is to be searched from among the performance data belonging to the group excluding one group searched by the first melody search means from among the plurality of groups is searched. And a second melody search means for searching, wherein the performance data belonging to one group searched by the first melody search means is added with performance data belonging to the melody part searched by the second melody search means. The data is now the performance data of the melody part of the entire song There is.
[0016]
According to another aspect of the invention, multiple A few When performance data relating to a melody part is prepared over a loop, for example, even when a guitar solo part is added to a normal melody part, performance data of a melody part connected to the guitar solo part can be obtained.
[0017]
Further, the present invention relates to the above-described present invention. Special The symbol can also be understood as an invention relating to a melody search method and a computer program.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a schematic block diagram of an electronic musical instrument incorporating a melody search device according to the present invention.
[0019]
This electronic musical instrument includes a
[0020]
The electronic musical instrument also includes a
[0021]
In addition, a
[0022]
The
[0023]
Here, an example of the automatic performance data for one song will be described. As shown in FIG. 4A, the automatic performance data is composed of performance data for a plurality of tracks including the first to nth tracks. The automatic performance data for one track corresponds to, for example, a melody part, rhythm part, chord accompaniment part, bass accompaniment part, and the like. The performance data of each track is sandwiched between start codes and end codes representing the start and end of the performance data, respectively, and tone selection data, volume data, expression data, notes arranged according to the progress of the music (time passage) It consists of on-event data, note-off event data, duration data, and the like. Note that this track corresponds to a group constituted by a series of performance data according to the present invention.
[0024]
The timbre selection data is data for specifying the timbre of the musical tone signal at the start of the music or changing it in the middle of the tune, and as shown in FIG. MIDI channel) number data and tone name data are added. The sound source channel number data represents a sound source channel (MIDI channel) in the
[0025]
The volume data is data for designating or changing the volume of the musical tone signal at the start of the song or in the middle of the song. As shown in FIG. 4C, the volume data as the identification code includes the sound source channel number data and It is configured with volume data added. The sound source channel number data represents a sound source channel in the
[0026]
The expression data is also data for designating or changing the volume of the musical tone signal at the start of the song or in the middle of the song. As shown in FIG. 4D, in the case of the volume data, the expression code is an identification code. The same tone generator channel number data and volume data are added. This expression data corresponds to information about an expression pedal in an electronic musical instrument, and is for dynamically changing the volume of a musical tone signal. On the other hand, the volume data corresponds to information of a volume operator in the electronic musical instrument, and controls the change of the volume of the tone signal statically.
[0027]
The note-on event data is data for instructing the start of generation of a musical sound signal. As shown in FIG. 4 (E), the note-on code as the identification code, sound source channel number data, note number data, and velocity data Is added. The sound source channel number data represents a sound source channel in the
[0028]
The note-on event data is normally used for a musical tone signal having a pitch, but is also used for instructing generation of rhythm instrument sounds such as drums and cymbals. In this case, instrument name data representing the rhythm instrument name is used instead of the note number data.
[0029]
The note-off event data is data for instructing the end of generation of the musical tone signal. As shown in FIG. 4F, the note-off event data as the identification code is added to the note-off event data as shown in FIG. It is configured by adding channel number data and note number data. However, in this case as well, for rhythm instruments, instrument name data representing rhythm instrument names is used instead of the note number data.
[0030]
The duration data represents the time interval of appearance of the tone selection data, volume data, expression data, note-on event data, note-off event data, and the like described above during playback of performance data. It is configured by adding numerical data. The tick number data is defined as data representing the number of tempo clock signals with respect to a predetermined reference note length (data representing a kind of note length). In the present embodiment, the quarter note length is changed to the tick number “480”. Is defined. The tempo clock signal refers to a reference clock signal that is changed according to the tempo of the song.
[0031]
Such multi-track performance data is reproduced by an automatic performance reproduction program, and the above-described tone name data, volume data, note number data, velocity data and new data generated based on these data are stored in the song. The
[0032]
Returning to the description of FIG. A
[0033]
Next, the operation of the embodiment configured as described above will be described. First, by executing a program (not shown), the user operates the
[0034]
Next, the user activates a recording medium such as a hard disk HD, a flexible disk FD, and a compact disk CD in the
[0035]
The execution of this melody formation program is started in
[0036]
This melody search routine is shown in detail in FIG. After starting this execution, the
[0037]
a. Rhythm part exclusion process in
In performance data relating to a piece of music including a plurality of parts, it is a general rule that the tone color of the generated tone signal is specified for each track. A track including performance data for specifying the tone color of a rhythm instrument such as a drum or a cymbal relates to a rhythm part. Focusing on these points, in this rhythm part exclusion process, a track related to the rhythm part is excluded from a plurality of tracks.
[0038]
Specifically, if the performance data is based on the GM standard, the rhythm instrument is assigned to the tone generator channel “10” of the
[0039]
b. Base part exclusion process in
Bass part instruments such as electric bass and contrabass used for playing the bass part are not used for playing the melody. Focusing on this point, in this base part exclusion process, a track related to the base part is excluded from the remaining plurality of tracks after the exclusion process in
[0040]
c. Exclusion processing based on the note presence range ratio in
If the track is related to the melody part, it is considered that notes exist in a section of a certain amount or more (for example, 60% or more of the whole song) in the whole song. Focusing on this point, in the exclusion process based on the note presence range ratio, tracks whose ratio of the section including the notes to the entire music is equal to or less than a predetermined value from the remaining plurality of tracks after the process of
[0041]
Specifically, the
[0042]
If the period from the end of the previous note interval to the start of the next note interval is short, it may be regarded as a continuous interval. For example, if the period from the end of the previous note interval to the start of the next note interval is equal to or shorter than the time corresponding to a 32nd note, it is considered as a continuous note interval, and the interval between synchronizations corresponds to a 32nd note If the time is exceeded, the section does not have a note.
[0043]
FIG. 5 shows the analysis result of the performance data of one track. In this case, sections A, B, and C are sections in which musical notes exist in the entire song. Then, the lengths of sections A, B, and C are added, and the added length is divided by the length of the entire song to calculate the note presence range ratio. For example, if the total length of the song is 16 bars and the sections A, B, and C are 4, 8, and 2 bars, respectively, the note presence range rate is 0.88 (= (4 + 8 + 2) / 16). Become. Actually, since the calculation of this section is calculated by the number of ticks, it is calculated by dividing the tick number “26,800” for 12 bars by the “30,720” for 16 bars. .
[0044]
After calculating such a note presence range rate for each track, the note presence range rate is less than or equal to a predetermined value (for example, 0.6) from among the plurality of tracks remaining after the exclusion process in
[0045]
Further, as described above, instead of or in addition to excluding a track having a note existence range rate of a predetermined value or less from the melody part candidate, a track having a relatively low note existence range rate compared to other tracks is added to the melody part. You may make it exclude from a candidate. That is, one or a plurality of tracks may be excluded from the melody part candidates in order from the lowest note presence range rate.
[0046]
d. Exclusion processing based on average volume in
If the track is related to the melody part, the average volume of the tone signal generated by the performance data of the track should be large. For example, it is considered that the average volume of the musical tone signal of the melody part is at least 80% of the maximum value (hereinafter referred to as the maximum average volume) of the average volumes for all tracks. Focusing on this point, in the exclusion process based on the average volume, the average volume designated by the performance data from the plurality of tracks remaining after the exclusion process in
[0047]
Specifically, the
[0048]
Therefore, the
[0049]
Next, the
[0050]
Further, instead of or in addition to comparing the average volume of each track with the maximum average volume as described above, each track may be excluded from the melody part candidates as follows. That is, tracks whose average volume is less than or equal to an absolute predetermined value are excluded from melody part candidates. Further, the average value of the average sound volume of all tracks is further calculated, and when the average sound volume of each track is lower than the average value by a predetermined value or more, the respective track is excluded from the melody part candidates.
[0051]
Furthermore, instead of or in addition to the exclusion condition relating to the average volume, a track whose average volume for one note is relatively smaller than other tracks may be excluded from the melody part candidates. That is, one or a plurality of tracks may be excluded from the melody part candidates in order from the lowest average volume for one note.
[0052]
e. Exclusion processing based on average sound length in
If the track is related to the melody part, the average tone length of the musical sound signal generated by each performance data of the track should not be so long. For example, the average tone length of the musical tone signal of the melody part is considered to be less than the length corresponding to the half note. A part having a long average sound length is considered to be an accompaniment part such as a string sound or an accompaniment part of a pad. The pad is one of timbre names such as a synthesizer and is a relatively rounded continuous sound (sometimes called a white ball). Focusing on this point, in the exclusion process based on the average tone length, the average value of the tone lengths of the musical sound signal designated by the performance data is selected from the plurality of tracks remaining after the exclusion process in
[0053]
Specifically, the
[0054]
Therefore, the
[0055]
Next, the
[0056]
Further, instead of or in addition to comparing the average sound length of each track with an absolute predetermined value as described above, each track may be excluded from melody part candidates as follows. That is, the average value of the average sound lengths of all the tracks is calculated, and when the average sound length of each track is longer than the average value by a predetermined value or more, the respective tracks are excluded from the melody part candidates. In this case as well, the average sound length longer than the average value by a predetermined value or longer is a sound length longer than the average value by a predetermined ratio or longer than the average value. There may be.
[0057]
Furthermore, instead of or in addition to the exclusion condition regarding the average sound length, a track whose average sound length is relatively longer than other tracks may be excluded from the melody part candidates. That is, one or a plurality of tracks are excluded from the melody part candidates in order of increasing average sound length.
[0058]
f. Exclusion processing based on duplication rate in
If the track is related to the melody part, there are many single melodies, and multiple sounds are rarely pronounced simultaneously. Even if it is a single melody, in the case of tenuto performance, the preceding and following notes are slightly overlapped, so it cannot be said that there is no “overlap”, but it is considered that there is not much overlap. On the other hand, in an accompaniment part etc., there is a very high possibility that a plurality of sounds will be pronounced simultaneously such as chords. Focusing on this point, in the exclusion process based on the duplication rate, it is assumed that a track with a high duplication rate is not related to the melody part among the plurality of tracks remaining after the exclusion process of
[0059]
Specifically, the
[0060]
Next, the total of the section where a note exists is calculated. The total of the sections can be newly calculated, but the addition result of the section where the notes calculated in the calculation process of the note existence range ratio in the
[0061]
Further, instead of or in addition to comparing the overlap rate of each track with an absolute predetermined value as described above, each track may be excluded from the melody part candidates as follows. That is, the average value of the overlap ratios of all the tracks remaining after the exclusion process in the
[0062]
Further, instead of or in addition to the exclusion condition from the melody part candidate, a track having a relatively high overlap rate compared to other tracks may be excluded from the melody part candidate. That is, one or more tracks are excluded from the melody part candidates in descending order of overlap rate.
[0063]
Next, in
[0064]
In this way, the track corresponding to the melody part is searched, but the exclusion process in
[0065]
Returning to the explanation of the melody formation program in FIG. After the execution of the melody search routine in
[0066]
In checking the silent section, the
[0067]
On the other hand, if the silent section exists, “Yes” is determined in
[0068]
In the silent section check, if a plurality of silence sections are set, a plurality of silence sections are set as search sections in
[0069]
After execution of the melody search routine in
[0070]
The upper part of FIG. 6 shows a state of re-melody search in this silent section. In this case, the track i is determined as the track of the melody part by the first melody search. In this case, a silent section exists between each of melody A-1, melody A-2, and melody A-3 in track i. Also, the track j is determined as the track of the melody part for the previous silent section by the second melody search. In this case, there is a silent section between melody B-1 and melody B-2 in track j, and between melody A-2 in track i and melody B-3 in track j. For the silent section between the melody B-1 and the melody B-2, the track k is determined as the track of the melody part. For the silent section between the melody A-2 and the melody B-3, the track m is determined as the melody part track. The melody in these cases is represented as melody C-1 and melody D-1.
[0071]
In
[0072]
On the other hand, if there are a plurality of melody sections, “Yes” is determined in
[0073]
Then, after the process of
[0074]
As can be understood from the above operation description, the performance data of the group corresponding to the melody part is excluded from the performance data of the plurality of tracks by the execution of the melody search routine of FIG. Data is retrieved. Therefore, the performance data related to the melody part is automatically searched without the user's trouble, so that the performance sound of only the melody part can be heard, the melody part can be arranged, the melody part can be a chord accompaniment part or This is useful when you want to reference the arrangement of the bass accompaniment part.
[0075]
Also, in this melody search routine, multiple groups of performance data are selected from melody part candidates under a plurality of different conditions consisting of a rhythm instrument, bass part, note presence range rate, average volume, average note length, and note overlap rate. The performance data of the group remaining after the exclusion is determined as the performance data of the melody part. Therefore, the performance data of the group corresponding to the melody part is searched with high accuracy.
[0076]
Further, in the above embodiment, the silent section in the performance data searched for the melody search is checked by the processing in
[0077]
In the above-described embodiment, an example in which performance data of a plurality of parts is stored separately on a plurality of tracks has been described. However, the present invention can also be applied to automatic performance data in which performance data of a plurality of parts are mixed and stored in one track. In this case, each part may be distinguished by checking the sound source channel number data in each event data.
[0078]
In the above-described embodiment, an example in which the melody search device is applied to an electronic musical instrument has been described. However, the present invention can be applied to any electronic device as long as it is a variety of electronic devices that can be programmed such as a personal computer.
[0079]
Furthermore, in carrying out the present invention, the present invention is not limited to the above-described embodiment and its modifications, and various modifications can be made without departing from the object of the present invention.
[Brief description of the drawings]
FIG. 1 is an overall schematic block diagram of an electronic musical instrument to which a melody search device according to an embodiment of the present invention is applied.
FIG. 2 is a flowchart showing a melody forming program executed by the CPU of FIG.
FIG. 3 is a flowchart showing details of a melody search routine in FIG. 2;
FIG. 4 is a format diagram showing an example of performance data.
FIG. 5 is an explanatory diagram for explaining calculation of a note presence range rate;
FIG. 6 is an explanatory diagram for explaining a connection example of a plurality of melodies.
[Explanation of symbols]
DESCRIPTION OF
Claims (4)
一連の演奏データによって表された音符列の平均音長を各グループごとにそれぞれ計算して、同計算した平均音長が、所定値以上、曲全体の平均音長よりも所定値以上長い、または他のグループの計算した平均音長に対して相対的に長いグループの演奏データをメロディパートの候補から除外するようにしたことを特徴とするメロディ検索装置。In a melody search device for searching performance data of a group corresponding to a melody part from performance data of a plurality of groups each constituted by performance data representing a series of note strings,
The average pitch of the note strings represented by the series of performance data is calculated for each group, and the calculated average pitch is equal to or greater than a predetermined value and longer than the average pitch of the entire song, or A melody search apparatus characterized in that performance data of a group that is relatively long with respect to an average tone length calculated by another group is excluded from melody part candidates.
曲全体を検索区間として、前記複数グループのうちから、メロディパートに属する演奏データを含む一つのグループを検索する第1メロディ検索手段と、
前記第1メロディ検索手段によって検索された一つのグループの演奏データに基づいて、同一つのグループ内における音符の存在しない区間を無音区間として検出する無音区間検出手段と、
前記無音区間検出手段によって検出された無音区間を検索対象として、前記複数グループのうちで前記第1メロディ検索手段によって検索された一つのグループを除外したグループに属する演奏データのうちから、前記無音区間を検索対象としたメロディパートに属する演奏データを検索する第2メロディ検索手段とを備え、
前記第1メロディ検索手段によって検索された一つのグループに属する演奏データに、前記第2メロディ検索手段によって検索されたメロディパートに属する演奏データを加えた演奏データを、曲全体のメロディパートの演奏データとするようにしたことを特徴とするメロディ検索装置。In a melody search apparatus for extracting performance data belonging to a melody part from a plurality of groups of performance data each constituted by performance data representing a series of note strings,
First melody search means for searching one group including performance data belonging to the melody part from the plurality of groups, with the entire song as a search section;
Silent section detecting means for detecting a section in which no note exists in the same group as a silent section based on the performance data of one group searched by the first melody searching means ;
The silent section detected by the silent section detected by the silent section detecting means is selected as a search target, and the silent section is selected from the performance data belonging to the group excluding one group searched by the first melody searching means among the plurality of groups. Second melody search means for searching performance data belonging to the melody part for which
The performance data obtained by adding the performance data belonging to the melody part searched by the second melody search means to the performance data belonging to one group searched by the first melody search means is used as performance data of the entire melody part. A melody search device characterized by that.
前記コンピュータに、In the computer,
一連の演奏データによって表された音符列の平均音長を各グループごとにそれぞれ計算させて、同計算させた平均音長が、所定値以上、曲全体の平均音長よりも所定値以上長い、または他のグループの計算した平均音長に対して相対的に長いグループの演奏データをメロディパートの候補から除外させるようにしたことを特徴とするメロディ検索プログラム。The average pitch of the note sequence represented by a series of performance data is calculated for each group, and the calculated average pitch is equal to or greater than a predetermined value and longer than the average pitch of the entire song, Alternatively, a melody search program characterized in that performance data of a group relatively longer than the average pitch calculated by another group is excluded from melody part candidates.
前記コンピュータに、
曲全体を検索区間として、前記複数グループのうちから、メロディパートに属する演奏データを含む一つのグループを検索させ、
前記検索させた一つのグループの演奏データに基づいて、同一つのグループ内における音符の存在しない区間を無音区間として検出させ、かつ
前記検出させた無音区間を検索対象として、前記複数グループのうちで前記検索させた一つのグループを除外したグループに属する演奏データのうちから、前記無音区間を検索対象としたメロディパートに属する演奏データを検索させて、
前記検索させた一つのグループに属する演奏データに、前記検索させたメロディパートに属する演奏データを加えた演奏データを、曲全体のメロディパートの演奏データとさせるようにしたことを特徴とするメロディ検索プログラム。 In a computer-readable melody search program for causing a computer to extract performance data belonging to a melody part from a plurality of groups of performance data each composed of performance data representing a series of note strings,
In the computer,
With the entire song as a search section, one group including performance data belonging to the melody part is searched from the plurality of groups,
Based on the retrieved performance data of one group, a section in which no note exists in the same group is detected as a silent section; and
Performance data belonging to a melody part whose search target is the silent section from among the performance data belonging to the group excluding the searched one group among the plurality of groups with the detected silent section as a search target Let's search for
Melody search characterized in that performance data obtained by adding performance data belonging to the retrieved melody part to performance data belonging to the retrieved group is used as performance data of the entire melody part. Program .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002080099A JP3807333B2 (en) | 2002-03-22 | 2002-03-22 | Melody search device and melody search program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002080099A JP3807333B2 (en) | 2002-03-22 | 2002-03-22 | Melody search device and melody search program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003280651A JP2003280651A (en) | 2003-10-02 |
JP3807333B2 true JP3807333B2 (en) | 2006-08-09 |
Family
ID=29229273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002080099A Expired - Fee Related JP3807333B2 (en) | 2002-03-22 | 2002-03-22 | Melody search device and melody search program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3807333B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006106818A (en) * | 2004-09-30 | 2006-04-20 | Toshiba Corp | Music retrieval device, music retrieval method and music retrieval program |
JP6617784B2 (en) * | 2018-03-14 | 2019-12-11 | カシオ計算機株式会社 | Electronic device, information processing method, and program |
-
2002
- 2002-03-22 JP JP2002080099A patent/JP3807333B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003280651A (en) | 2003-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000514571A (en) | Automatic improvisation system and method | |
JP3528654B2 (en) | Melody generator, rhythm generator, and recording medium | |
JP2002023747A (en) | Automatic musical composition method and device therefor and recording medium | |
JP2900753B2 (en) | Automatic accompaniment device | |
JP3807333B2 (en) | Melody search device and melody search program | |
JP4089447B2 (en) | Performance data processing apparatus and performance data processing program | |
JP3879524B2 (en) | Waveform generation method, performance data processing method, and waveform selection device | |
JPH06202621A (en) | Music retrieval device utilizing music performance information | |
JP3531507B2 (en) | Music generating apparatus and computer-readable recording medium storing music generating program | |
JP2940449B2 (en) | Automatic performance device | |
JP2016161900A (en) | Music data search device and music data search program | |
JP6554826B2 (en) | Music data retrieval apparatus and music data retrieval program | |
JP3752859B2 (en) | Automatic composer and recording medium | |
JP3430895B2 (en) | Automatic accompaniment apparatus and computer-readable recording medium recording automatic accompaniment control program | |
JP3194850B2 (en) | Electronic musical instrument with automatic performance function | |
JP5104414B2 (en) | Automatic performance device and program | |
JP3143039B2 (en) | Automatic performance device | |
JP3413842B2 (en) | Automatic accompaniment device | |
JP4186802B2 (en) | Automatic accompaniment generator and program | |
JP3637782B2 (en) | Data generating apparatus and recording medium | |
JP5104293B2 (en) | Automatic performance device | |
JP5387031B2 (en) | Electronic music apparatus and program | |
JP5387032B2 (en) | Electronic music apparatus and program | |
JPH0527757A (en) | Electronic musical instrument | |
JP4900233B2 (en) | Automatic performance device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060406 |
|
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: 20060425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060508 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110526 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130526 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140526 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |