JP3807333B2 - Melody search device and melody search program - Google Patents

Melody search device and melody search program Download PDF

Info

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
Application number
JP2002080099A
Other languages
Japanese (ja)
Other versions
JP2003280651A (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 JP2002080099A priority Critical patent/JP3807333B2/en
Publication of JP2003280651A publication Critical patent/JP2003280651A/en
Application granted granted Critical
Publication of JP3807333B2 publication Critical patent/JP3807333B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 performance operator group 11, a panel operator group 12, and a display 13. The performance operator group 11 is composed of, for example, a keyboard composed of a plurality of keys, and instructs the generation of musical sounds and the pitch of the generated musical sounds by these operations. The panel operator group 12 is disposed on each operation panel, and instructs the operation of the entire electronic musical instrument including designation of tone color, volume, etc. of generated musical tone, indication of display contents on the display 13, and the like. The panel operator group 12 includes operators such as a numeric keypad, a cursor movement key, and a mouse. The operations of the performance operator group 11 and the panel operator group 12 are detected by detection circuits 14 and 15 connected to the bus 20, respectively. The display 13 includes a CRT display, a liquid crystal display, and the like, and displays various information as characters, numbers, or images. The display 13 is controlled by a display circuit 16 connected to the bus 20.
[0020]
The electronic musical instrument also includes a tone generator circuit 17 connected to the bus 20. The tone generator circuit 17 has a plurality of tone signal forming channels for forming a tone signal in a time-sharing manner, and performance information (key-on signal, key-off signal, pitch data (pitch name) supplied via the bus 20 is provided. A musical tone signal is formed and output based on (data), timbre information, etc.). The tone generator circuit 17 forms not only musical tone signals having pitches such as piano sounds and guitar sounds, but also musical tone signals of rhythm instruments such as drums and cymbals. A sound system 18 including a D / A converter, an amplifier, and a speaker is connected to the tone generator circuit 17, and the system 18 generates a tone corresponding to a tone signal from the tone generator circuit 17.
[0021]
In addition, a CPU 21, ROM 22, RAM 23, timer 24 and external storage device 25 are also connected to the bus 20. The CPU 21, ROM 22, RAM 23, and timer 24 constitute a microcomputer main body, and execute various programs to control various operations of the electronic musical instrument.
[0022]
The external storage device 25 can read and write programs and data to and from a recording medium such as a hard disk HD incorporated in advance, a recording medium such as a flexible disk FD and a compact disk CD that are detachably assembled. Drive device. Various programs and various data are stored in the external recording medium. In the present embodiment, in particular, the melody formation program of FIG. 2 (including the melody search routine of FIG. 3) is stored, and a plurality of sets of automatic performance data corresponding to various songs are also stored. Various programs and some data are also stored in the ROM 22.
[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 sound source circuit 17 to which the timbre name data is applied. The timbre name data represents the timbre of the musical tone signal formed in the sound source channel.
[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 sound source circuit 17 to which the volume data is applied. The volume data represents the volume level of the tone signal formed in the sound source channel. Note that the volume data represents a volume level that increases as the value increases. In the present embodiment, the volume data can take any value from “0” to “127”.
[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 sound source circuit 17 to which the note number data and velocity data are applied. The note number data represents the pitch of the tone signal generated in the sound source channel. The velocity data corresponds to information on the strength of key touch in the electronic musical instrument, and represents the volume level of the tone signal specified by the note number data. The velocity data also represents a volume level that increases as the value increases, and in this embodiment, can take any value from “0” to “127”.
[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 sound source circuit 17 is supplied in accordance with the progress. The tone generator circuit 17 is controlled according to the supplied data and generates a musical sound signal according to the data. However, since the present invention is not directly related to the reproduction of the performance data, further explanation is omitted. The sound source channel represented by the sound source channel number data in the performance data does not mean one tone signal forming channel for forming a tone signal in the tone generator circuit 17, but a plurality of tone sounds in the tone generator circuit 17. The musical tone signal forming channel group including the signal forming channel is shown.
[0032]
Returning to the description of FIG. A MIDI interface circuit 26 and a communication interface circuit 27 are also connected to the bus 20. The MIDI interface circuit 26 is connected to other MIDI-compatible devices 31 such as an automatic performance device (sequencer), a performance device such as a keyboard, other musical instruments, and a personal computer, and various MIDI data including automatic performance data from the same device 31. This is an interface circuit for receiving information or transmitting various MIDI information to the device 31. The communication interface circuit 27 enables communication with the outside via a communication network 32 such as the Internet.
[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 panel operator group 12 while viewing the screen of the display 13 to select performance data of a song for which performance data related to the melody part is to be extracted and store it in the RAM 23. Let In this case, as performance data, automatic performance data stored in advance in the external storage device 25, automatic performance data stored in a MIDI-compatible device 31 that can be input via the MIDI interface circuit 26, a communication interface circuit 27, and Automatic performance data available via the communication network 32 can be used. In some cases, performance data by performance using the performance operator group 11 and the panel operator group 12 in the electronic musical instrument is stored in the RAM 23 or the external storage device 25, and the stored performance data is used. You can also
[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 external storage device 25 or a melody forming program stored in the ROM 22. If this melody formation program is not stored in the external storage device 25 or the ROM 22, the melody formation is performed from the MIDI compatible device 31 via the MIDI interface circuit 26 or from the outside via the communication interface circuit 27 and the communication network 32. It is also possible to receive a program.
[0035]
The execution of this melody formation program is started in step 100 of FIG. 2, and the CPU 21 executes initialization processing of the melody search section in step 102. In this initialization process, the entire tune, that is, all performance data sandwiched between start codes and end codes in each track in FIG. After this processing, in step 104, a melody search routine is executed.
[0036]
This melody search routine is shown in detail in FIG. After starting this execution, the CPU 21 executes various exclusion processes consisting of steps 202 to 212. The characteristic of the processing by this melody search routine is that the tracks storing the performance data having the characteristics of parts other than the melody are extracted in the various exclusion processes in steps 202 to 212, and the extracted tracks are sequentially excluded. The last remaining track is determined as the track in which the performance data of the melody part is stored. Hereinafter, the various exclusion processing algorithms in steps 202 to 212 will be sequentially described.
[0037]
a. Rhythm part exclusion process in step 202
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 tone generator circuit 17. The GM standard refers to a standard for MIDI sound source standardization. Therefore, in this rhythm part exclusion process, the CPU 21 confirms that the performance data is based on the GM standard (normally recorded in the performance data), and then sequentially reads the performance data of each track. It is sequentially checked whether the read performance data designates the sound source channel “10”. If the performance data designating the sound source channel “10” is included, it is determined that the track including the performance data relates to the rhythm part (see FIG. 4), and the track is selected from the melody part candidates. exclude. Alternatively, it may be determined that a track including performance data representing a rhythm instrument name relates to a rhythm part (see FIG. 4), and the track is excluded from melody part candidates. In this case, the performance data need not be based on the GM standard.
[0039]
b. Base part exclusion process in step 204
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 step 202. Specifically, the CPU 21 sequentially reads the performance data of the remaining tracks, and checks whether the read performance data represents a bass part instrument name. If the performance data for designating the instrument name for the bass part is included, it is determined that the track including the performance data relates to the bass part (see FIG. 4), and the track is selected from the melody part candidates. exclude.
[0040]
c. Exclusion processing based on the note presence range ratio in step 206
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 step 204 are as follows. The track is excluded from the melody part candidates because it is not related to the melody part.
[0041]
Specifically, the CPU 21 sequentially reads out the performance data of each track of the plurality of tracks remaining after the exclusion process in the step 204, and sets a section where a note exists for each track based on the read performance data. Look into. That is, a section from when one note-on event data appears until a note-off event corresponding to the note-on event data appears is a section where a note exists. As long as the section in which the next note exists continues to the section in which the one note exists, this continuous section is set as the section in which the note exists. On the other hand, when the next note interval starts after the end of the previous note interval, the interval from the end of the previous note interval to the start of the next note interval is defined as a non-existent interval.
[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 steps 202 and 204. A track is excluded from melody part candidates.
[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 step 208
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 step 206 is a predetermined value or more than the maximum average volume. A small track is excluded from the melody part candidates as not relating to the melody part.
[0047]
Specifically, the CPU 21 sequentially reads out the performance data of each track of the plurality of tracks remaining after the exclusion process in the steps 202 to 206, and based on the read performance data, the average sound volume of the notes for each track. calculate. The volume of the notes belonging to one track is the product of the volume data in the volume data, the volume data in the expression data, and the velocity data in each note-on event data. It is determined by dividing the maximum value (in this embodiment, “127”) that can be taken by a squared value.
[0048]
Therefore, the CPU 21 stores the volume data in the immediately preceding volume data and the volume data in the expression data independently for each track. Each time note-on event data appears, a value obtained by multiplying the product of both stored volume data by the velocity data value in the note event data (= volume data value in volume data * volume in expression data) (Data value * velocity data value) is calculated, and the multiplication result is divided by the square value of the maximum value (for example, "127") that can be taken by the volume data to calculate volume data for one note.
[0049]
Next, the CPU 21 adds the volume data for one note related to all the notes included in one track, divides the result of addition by the number of notes included in the same track, and equals the one note related to one track. Calculate the average volume of. Such calculation of the average volume for one note is performed for each track. After calculating the average sound volume for one sound for each track, the track having the maximum calculated average sound volume is extracted from all the tracks remaining after the exclusion process in steps 202 to 206. The average volume of the extracted track is set as the maximum average volume. Then, tracks whose average volume is smaller than the maximum average volume by a predetermined value or more are excluded from melody part candidates. In this case, the volume smaller than the predetermined value may be a volume smaller than the maximum average volume by a predetermined ratio or a volume smaller than the absolute maximum by an absolute predetermined value.
[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 step 210
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 steps 202 to 208. A track having a predetermined length or longer is not related to the melody part, and the track is excluded from the melody part candidates.
[0053]
Specifically, the CPU 21 sequentially reads out the performance data of each track of the plurality of tracks remaining after the exclusion process in steps 202 to 208, and calculates the average note length for each track based on the read performance data. To calculate. The note length is approximately equal to the time length from when the note-on event data appears until the note-off event data corresponding to the note-on event data appears.
[0054]
Therefore, the CPU 21 calculates the time length from the occurrence timing of the note-on event data to the occurrence timing of the note-off event data for each note represented by the note-on event data. This time length is calculated by accumulating duration data, that is, the number of ticks located between the note-on event data and note-off event data of the corresponding note. Thereby, the note length of one note is calculated.
[0055]
Next, the CPU 21 adds the note lengths for all the notes included in one track, divides the addition result by the number of notes included in the same track, and calculates the average note length for one track. . Such calculation of the average sound length is performed for each track. After calculating the average sound length for each track in this way, tracks whose average sound length is a predetermined value or more are excluded from melody part candidates. In this case, as described above, since the sound length is represented by the number of ticks, the number of ticks is compared with a predetermined value. In the present embodiment, the note length of a quarter note corresponds to the number of ticks “480”, and therefore, for example, a track whose tic number representing the calculated average length is “960” or more is excluded from the melody part candidates. .
[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 step 212
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 steps 202 to 210. Exclude from candidates. This overlap rate is defined as a value obtained by dividing the total length of notes appearing in one song by the total number of intervals in which notes exist.
[0059]
Specifically, the CPU 21 sequentially reads out the performance data of each track of the plurality of tracks remaining after the exclusion process in steps 202 to 210, and calculates the overlap rate for each track based on the read performance data. . First, the total length of the notes appearing in one song is calculated for one track. The total note length can be calculated anew, but the sum of note lengths for all notes included in one track calculated in the process of calculating the average note length in step 210 is stored. It is convenient to use this stored value.
[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 step 206 is stored, and this stored value is stored. It is convenient to use. Then, the duplication rate is calculated by dividing the total value of the note lengths of the notes appearing in the song by the total value of the section where the notes are present. After calculating the duplication rate for each track, tracks having the duplication rate of a predetermined value or more are excluded from the melody part candidates. For example, a value of about “2.0” can be adopted as the predetermined value.
[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 steps 202 to 210 is further calculated, and when the overlap ratio of each track is higher than the average value by a predetermined value or more, each track is melodies. Exclude from part candidates. In this case, the overlap rate higher than the average value by a predetermined value or more may be a overlap rate higher than the average value by a predetermined ratio or higher than the average value. Good.
[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 step 212, the track corresponding to the melody part is determined. In this determination, if only one track remains in the exclusion process in steps 202 to 212, the same track is determined as a track corresponding to the melody part. On the other hand, when a plurality of tracks remain as melody part candidates, the track with the lowest overlap rate is determined as the track related to the melody part. In step 214, the execution of this melody search routine is terminated.
[0064]
In this way, the track corresponding to the melody part is searched, but the exclusion process in steps 202 to 212 described above may be performed in any order. Further, any one or more of the exclusion processes in steps 202 to 212 may be omitted. However, in step 212, in addition to the exclusion process, a process of finally determining one track is also performed. Therefore, when the order of the exclusion process conditions in steps 202 to 212 is changed, and a plurality of tracks remain after the exclusion process in the last step, the track with the lowest overlap rate is selected from the remaining plurality of tracks. Is determined as the track corresponding to the melody part. Further, one track most suitable for the melody part may be determined according to the exclusion process condition of the last step replaced. Furthermore, it is also possible to evaluate a combination of all or a part of the note presence range rate, average volume, average sound length, and overlap rate to determine one track most suitable for the melody part.
[0065]
Returning to the explanation of the melody formation program in FIG. After the execution of the melody search routine in step 104, it is checked in step 106 whether a silent section exists in the melody part. This is because the silent section check may store performance data relating to the melody part across a plurality of tracks.
[0066]
In checking the silent section, the CPU 21 sequentially reads the performance data of the track determined to be a track related to the melody part, and checks the silent section where the pronunciation is not instructed. Specifically, the interval from the time when the note-on event data appears until the time when the note-off event data appears is the interval in which the tone of the musical tone is instructed, so the other interval, that is, the note-on event data appears at all. A section from when the sound generation instruction by the previous or all note-on event data is canceled by the note-off event data until the next note-on event newly appears is detected. In this case, when the detected section is short (for example, when it is equal to or shorter than the half note length), there is a timing related to a rest, so that it is not detected as a silent section. If this silent section does not exist, “No” is determined in step 106, and the process proceeds to step 110.
[0067]
On the other hand, if the silent section exists, “Yes” is determined in step 106, and the process proceeds to step 108. In step 108, the detected silent section is set as a search section, and the process returns to step 104. In step 104, the above-described processing of the melody search routine of FIG. 3 is executed for all the tracks other than the track determined as the melody part for the set search section (silent section). Therefore, tracks other than the determined track are determined as tracks related to the melody part for this silent section.
[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 step 108, and the melody search routine in step 104 performs processing for the plurality of silence sections. Tracks related to the melody part are determined respectively. However, in each process in the melody search process routine, a plurality of silent sections are processed independently.
[0069]
After execution of the melody search routine in step 104, the CPU 21 checks the silent section again in step 106. This is because, even in the second melody search, there may be a silent section in the silent section by the first melody search. Then, the processes of steps 104 to 108 are repeatedly executed until there is no silent section over the entire song. As a result, if there is no silent section over the entire song, as described above, “Yes” is determined in step 106 and the process proceeds to step 110.
[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 step 110, it is determined whether there are a plurality of melody sections, in other words, whether the performance data of a plurality of tracks has been determined as a melody. If a plurality of melody sections do not exist, “No” is determined in step 110, and the process proceeds to step 114. In step 114, the performance data of the track determined in the melody search routine is determined as data relating to the melody, and in step 116, the execution of the melody forming program is terminated.
[0072]
On the other hand, if there are a plurality of melody sections, “Yes” is determined in step 110 and the sections determined as melody in step 112 are connected. In the connection of each section, the performance data determined as the melody portion is extracted from the performance data in each track determined as the melody part, and the performance data is sequentially written in the RAM 23. Link. An example of this connection is shown in the lower part of FIG.
[0073]
Then, after the process of step 114, the execution of the melody forming program is terminated at step 116. The performance data representing the melody determined in this way may be stored together with performance data including a plurality of tracks read from the external storage device 25 or the like for melody extraction.
[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 steps 104 to 114 in FIG. 2, and if there is a silent section, the melody for the silent section is targeted. The search is repeatedly executed, and the performance data corresponding to the new melody part is searched. The plurality of searched performance data are connected to form continuous melody part performance data. As a result, when performance data related to a melody part is prepared across multiple tracks, for example, even when a guitar solo part is added to a normal melody part, performance data of the melody part linked to this guitar solo part can be obtained. Can do.
[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 SYMBOLS 11 ... Performance operator group, 12 ... Panel operator group, 13 ... Display, 17 ... Sound source circuit, 21 ... CPU, 22 ... ROM, 23 ... RAM, 25 ... External storage device.

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 a computer-readable melody search program for causing a computer to search 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,
前記コンピュータに、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 .
JP2002080099A 2002-03-22 2002-03-22 Melody search device and melody search program Expired - Fee Related JP3807333B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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