JP3750547B2 - フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3750547B2 JP3750547B2 JP2001072518A JP2001072518A JP3750547B2 JP 3750547 B2 JP3750547 B2 JP 3750547B2 JP 2001072518 A JP2001072518 A JP 2001072518A JP 2001072518 A JP2001072518 A JP 2001072518A JP 3750547 B2 JP3750547 B2 JP 3750547B2
- Authority
- JP
- Japan
- Prior art keywords
- phrase
- phrases
- pitch
- matching
- distribution
- 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
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
- Auxiliary Devices For Music (AREA)
Description
【発明の属する技術分野】
本発明は、2つのフレーズの一致または不一致を判定するフレーズ間のマッチングを取るフレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。なお、2つのフレーズの類似度を求めることも一致または不一致を判定することに相当するものとする。
【0002】
【従来の技術】
従来、1曲の中で同じフレーズ(メロディ)部分を探して曲の構成(楽節構成等)を把握したり、同じフレーズ部分となったフレーズを曲のアレンジの基本データとしたり、あるいは、指定したフレーズの断片を含む曲を探す曲検索機能を実現するために、2つのフレーズのマッチングを取ることが広く行われている。
【0003】
従来のフレーズマッチング手法としては、フレーズのリズムのマッチングに関して、第1に音符単位に比較する手法、第2に所定の単位長毎に比較する手法などがある。第1の手法は、2つのフレーズの完全一致を見つけるのには適しているが、例えば一方のフレーズでは1つの四分音符のところが、他方のフレーズでは2つの八分音符からなっているなど、微妙に譜割が異なるような2つのフレーズのマッチングには適していない。すなわち、2つのフレーズの各音符についての対応関係を見つけるのが非常に困難であり、このため、人間が感じるような「完全には同じではないが、ほぼ同じようなフレーズである」というあいまいな分析結果を得ることは難しい。また、正確に対応関係を見つけるには複雑なマッチングアルゴリズムを必要とする。
【0004】
一方、第2の手法は、各フレーズを八分符長等の所定の単位長毎に分割し、両フレーズを単位長毎に比較する手法であって、例えば上記「一方のフレーズは1つの四分音符で、他方のフレーズは2つの八分音符」のような部分は共に「2つの八分音符」となるので、比較的簡単なアルゴリズムで微妙に譜割の異なる2つのフレーズのマッチングを取ることができる。
【0005】
また、フレーズのピッチのマッチングに関して、第3に音高を比較する手法、第4に直前の音符や基準音符からの音程変化を比較する手法などがある。第3の手法は、2つのフレーズの対応する音符毎にその音高を比較し、一致していれば同じフレーズと判断するものである。したがって、移調されていない2つのフレーズの場合はよいが、移調されていると「異なるフレーズ」と判定されてしまう。
【0006】
また、第4の手法は、2つのフレーズの各々について、各音符の直前の音符や基準音符からの音程変化を求め、音程変化同士を比較するものである。例えば、直前の音符からの音程変化の場合、一方のフレーズが「C4→E4→G4→E4」と変化していれば音程変化は「4半音→3半音→−3半音」となり、他方のフレーズが「C♯4→F4→G♯4→F4」と変化していれば音程変化はこちらも「4半音→3半音→−3半音」となり、移調されている2つのフレーズは音程変化が一致すると判定される。また、基準音符からの音程変化の場合、最初の音符を基準とすると、一方のフレーズ「C4→E4→G4→E4」は「4半音→7半音→4半音」となり、他方のフレーズ「C♯4→F4→G♯4→F4」も同様に「4半音→7半音→4半音」となって、移調されている2つのフレーズを音程変化が一致すると判定される。
【0007】
【発明が解決しようとする課題】
従来のフレーズのピッチのマッチングに関して言うと、上述した第3の手法では移調されているフレーズに対応できない。また、第4の手法では移調されいているフレーズにも対応できるものの、微妙にピッチが異なる2つのフレーズに対応できない。すなわち、2つのフレーズが「C4→E4→G4→E4」と「C4→F4→G4→E4」のように1音符だけ異なる場合、直前の音符からの音程変化を見る手法では、「4半音→3半音→−3半音」と「5半音→2半音→−3半音」のように1音符の違いが2箇所の音程変化の違いとなってしまう。また、基準音符からの音程変化を見る手法では、「C4→E4→G4→E4」と「C♯4→E4→G4→E4」のように基準音符の1音符が異なると、「4半音→7半音→4半音」と「3半音→6半音→3半音」のように全く異なる判定結果となってしまう。
さらに、移調量を別途求める必要がある。
【0008】
本発明は、譜割が微妙に異なる2つのフレーズに対しても正確にマッチングを取ることができ、かつ、移調されていたりあるいはフレーズの一部分だけ音高がずれていたとしても、比較的正確にマッチングを取れるようにすることを課題とする。
【0009】
【課題を解決するための手段】
本発明の請求項1のフレーズ分析装置は、比較する2つのフレーズの各々を所定の単位長の区間に分割するフレーズ分割手段と、該分割された2つのフレーズの対応する区間同士の音程を求め、該音程毎の出現頻度の分布を取る分布検出手段と、該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定する判定手段と、を備えたことを特徴とする。なお、この明細書で「音程」とは2つの音の音高差のことを表現している。後述の実施形態では「音程」の一例としてキーコードの差を用いているが、音高差を定量的に表現できるものであれば何でもよい。
【0010】
本発明の請求項2のフレーズ分析装置は、比較する2つのフレーズの各々を所定の単位長の区間に分割するフレーズ分割手段と、該分割された2つのフレーズの対応する区間同士の音程を求め、該音程毎の出現頻度の分布を取る分布検出手段と、該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定する判定手段と、前記分布の最大となった音程を2つのフレーズ間の移調量とする移調量設定手段と、を備えたことを特徴とする。
【0011】
本発明の請求項3フレーズ分析装置は、請求項1または請求項2の構成を備え、前記分布検出手段は、前記2つのフレーズの小節線を一致させて前記区間同士の音程を求めることを特徴とする。
【0012】
本発明の請求項4のフレーズ分析装置は、請求項2の構成を備え、さらに前記2つのフレーズのうちの比較元フレーズの調の種類と主音が解っている場合、前記一致と判定された比較対象フレーズの調の種類は比較元フレーズのもとの同じとし、該一致と判定された比較対象フレーズの調の主音を比較元フレーズの主音に前記移調量だけ加算した値とする調設定手段、を備えたことを特徴とする。
【0013】
本発明の請求項5のコンピュータ読み取り可能な記録媒体は、比較する2つのフレーズの各々を所定の単位長の区間に分割するステップと、該分割された2つのフレーズの対応する区間同士の音程を求めるステップと、該音程毎の出現頻度の分布を取るステップと、該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定するステップと、をコンピュータに実行させるフレーズ分析プログラムを記録したものである。
【0014】
本発明の請求項6のコンピュータ読み取り可能な記録媒体は、比較する2つのフレーズの各々を所定の単位長の区間に分割するステップと、該分割された2つのフレーズの対応する区間同士の音程を求めるステップと、該音程毎の出現頻度の分布を取るステップと、該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定するステップと、前記分布の最大となった音程を2つのフレーズ間の移調量とするステップと、をコンピュータに実行させるフレーズ分析プログラムを記録したものである。
【0015】
本発明の請求項7のコンピュータ読み取り可能な記録媒体は、請求項5または請求項6の構成を備え、前記音程を求めるステップは、前記2つのフレーズの小節線を一致させて前記区間同士の音程を求めることを特徴とするフレーズ分析プログラムを記録したものである。
【0016】
本発明の請求項8のコンピュータ読み取り可能な記録媒体は、請求項6の構成を備え、さらに前記2つのフレーズのうちの比較元フレーズの調の種類と主音が解っている場合、前記一致と判定された比較対象フレーズの調の種類を比較元フレーズのもとの同じとし、該一致と判定された比較対象フレーズの調の主音を比較元フレーズの主音に前記移調量だけ加算した値とするステップを有することを特徴とするフレーズ分析プログラムを記録したものである。
【0017】
請求項1のフレーズ分析装置によれば、所定の単位長で分割された2つのフレーズの対応する区間同士の音程を求め、該音程毎の出現頻度の分布を取り、この分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定するので、2つのフレーズの全体的な音高の違い(出現頻度が最大である音程)をもを考慮しているので、譜割が微妙に異なる2つのフレーズに対しても正確にマッチングを取ることができ、かつ、移調されていたりあるいはフレーズの一部分だけ音高がずれていたとしても、比較的正確にマッチングを取ることができる。
【0018】
請求項2のフレーズ分析装置によれば、請求項1と同様な作用効果が得られるとともに、分布の最大となった音程を2つのフレーズ間の移調量とするので、適正な移調量を得ることができる。
【0019】
請求項3のフレーズ分析装置によれば、請求項1または請求項2と同様な作用効果が得られるとともに、2つのフレーズの小節線を一致させて区間同士の音程を求めるので、小節線を考慮したマッチングを行うことができる。
【0020】
請求項4のフレーズ分析装置によれば、請求項2と同様な作用効果が得られるとともに、比較元フレーズの調の種類と主音が解っている場合、比較対照フレーズの調の種類と適正な主音を決定することができる。
【0021】
本発明の請求項5〜請求項8の各コンピュータ読み取り可能な記録媒体は、請求項1〜請求項4のフレーズ分析装置にそれぞれ対応するフレーズ分析プログラムを記録したものであり、各フレーズ分析プログラムの実行により、対応する各請求項と同様な作用効果が得られる。
【0022】
【発明の実施の形態】
以下、図面を参照して本発明の一実施の形態について説明する。図7は本発明を適用した電子楽器のブロック図であり、CPU1はROM2に格納されている制御プログラムに基づいてRAM3のワーキングエリアを使用して電子楽器全体の制御を行う。通常の電子楽器の基本的な機能として、CPU1は検出回路4aから鍵盤等の演奏操作子4の操作イベントを検出してマニュアル演奏の制御を行う。さらに、検出回路5aからスイッチ等のパネル操作子5の操作イベントを検出し各種スイッチの操作に応じた処理を行う。また、CPU1は表示回路6aを介して表示器等からなるディスプレイ6の制御を行う。
【0023】
タイマ7は自動演奏処理等を行うための割込み信号を発生する回路である。音源回路8は、CPU1から設定されるキーコード、音色データ、音量データなどに応じて楽音信号を発生し、効果回路9は、CPU1から設定される設定内容に応じた効果を楽音信号に付加し、それをサウンドシステム10に出力する。サウンドシステム10はD/A変換や増幅等を行ってスピーカーで発音する。
【0024】
外部記憶装置11はハードディスク装置(HDD)、フロッピィディスク装置(FDD)、CD−ROM装置、光磁気ディスク(MO)装置、デジタル多目的ディスク(DVD)装置等であり、例えばこの外部記憶装置11から本発明のフレーズ分析プログラムや演奏データを供給したり、各種データを保存するために用いられる。また、MIDIインターフェース12は他のMIDI機器20との間で各種データの授受を行うものであり、本発明のフレーズ分析プログラムや演奏データなどを他のMIDI機器20との間で授受することができる。さらに、通信インターフェース13を介して通信ネットワーク30に接続し、サーバコンピュータ40から本発明のフレーズ分析プログラムや演奏データなどの各種データの配信を受けるようにすることもできる。
【0025】
なお、この実施形態では、フレーズ分析プログラムは制御プログラムの一部としてROM2に格納されているものとする。
【0026】
図1〜図4はCPU1が実行する制御プログラムの要部を示すフローチャートであり、各フローチャートに基づいてCPU1の制御動作について説明する。図1はフレーズ分析プログラムとしてのマッチング処理のフローチャートである。このマッチング処理は後述の図2〜図4の各種処理に利用されるサブルーチンの処理であり、この処理が起動される前に、分析の基準となる比較元フレーズ(以後、「マッチング元フレーズ」という。)と、分析対象とする演奏データにおける比較対象フレーズ(以後、「マッチング対象フレーズ」という。)とが、それぞれ設定されている。
【0027】
先ず、ステップS1で、マッチング元フレーズを所定の単位長毎のステップに分割し、ステップS2でマッチング対象フレーズを同じく所定の単位長毎のステップに分割する。これらの分割処理では、所定の単位長とは例えば八分音符単位など予め設定された長さであり、フレーズの演奏データに含まれるタイミングデータ(演奏データの形式に応じて決まるタイミング)や小節マークデータ等により小節線の位置を検出し、その小節線の位置を基準に例えば八分音符長に相当するクロック数毎にフレーズの演奏データを分割する。そして、各分割された演奏データの音高を各ステップに対応付けて記憶するなどの処理を行う。
【0028】
具体的には、単位長毎の各ステップに対応する各記憶領域を設け、各記憶領域に対応する音符の音高のデータ(例えばキーコード)を記憶することで、各ステップに音高を付与する。このとき、例えば四分音符を八分音符で分割すると、この四分音符に対応する前後2つのステップに分割されるが、前後各ステップにその四分音符の音高を付与する。このことはフレーズを単位長の音符に分解したフレーズに変換することにも相当する。
【0029】
なお、マッチング元フレーズ、マッチング対象フレーズは、休符を含む場合、その休符長を直前の音符の音符長に加算して休符を削除したものを使うことが望ましい。また、マッチング元フレーズの演奏データとマッチング対象フレーズの演奏データの形式(フォーマット)が異なっている場合は、前処理でそれぞれ同じ形式となるように変換するとよい。
【0030】
フレーズの分割が終了すると、ステップS3で、マッチング元フレーズとマッチング対象フレーズのそれぞれの最初の小節線を一致させ、両フレーズのこの小節線から同じタイミングの両ステップを対応させる。次に、ステップS4で、対応させた各ステップにおける両フレーズの音符の音程(音高差)を取り、全ステップで得られる音程について同音程となるステップの組数を音程毎に合計(集計)する。すなわち、あるステップでは音程=−1音半、あるステップでは音程=−1音、あるステップでは音程=−半音、あるステップでは音程=同音、あるステップでは音程=半音、あるステップでは音程=1音、あるステップでは音程=1音半、…のように、各ステップでの両フレーズの音符の音程を求め、これらの音程のうち同じ音程であるステップの数をその音程の合計値とする。そして、ステップS5で、合計値が最大となる音程の合計値の、全体(全合計値の合計)に対する割合を一致度として求め、元のルーチンに復帰する。
【0031】
なお、マッチング元フレーズとマッチング対象フレーズとの長さが異なっていたり、両フレーズ内での小節線の位置が異なる場合もあるので、ステップ3の処理でステップの対応付けを行う場合、次のようにする。例えば図5のaのようなマッチング元フレーズとbのようなマッチング対象フレーズの場合、ステップを対応付けるマッチング区間としてc〜fいずれかのようにする。cの例は、マッチング対象フレーズの先頭からマッチング元フレーズの最後までをマッチング区間とした例である。すなわち、両フレーズに共通する区間すべてをマッチング区間としている。また、dの例は、マッチング対象フレーズの先頭から両フレーズに共通な最後の小節線までをマッチング区間とした例である。すなわち、両フレーズに共通な区間のうちの最後の小節線の前までをマッチング区間としている。また、eの例は、両フレーズに共通な最初の小節線からマッチング元フレーズの最後までをマッチング区間とした例である。すなわち、両フレーズに共通な区間のうち最初の小節線以降をマッチング区間としている。また、fの例は、両フレーズに共通な区間のうちの最初の小節線から最後の小節線までをマッチング区間とした例である。
【0032】
このように、フレーズのマッチングは、両フレーズの小節線が一致するようにして行い、両フレーズ先頭や最後の位置がずれていてもよく、その場合、ずれているところは比較対象としない。また、両フレーズの長さが異なっていてもよく、その場合、短いフレーズの終わりまで、あるいは短いフレーズよりもさらに短い所定長(例えば2小節等)のみ、マッチング区間とすればよい。
【0033】
以上のマッチング処理により、同じ音程であるステップの数の各合計値のうち合計値が最大となる音程(以後、「最大頻度音程」という。)がどのような音程であっても、一致度が高ければ、マッチング対象フレーズはマッチング元フレーズにメロディラインが近似(あるいは一致)しており、その最大頻度音程を両フレーズ間の調の主音の差(移調量)とみなすことができる。また、最大頻度音程が同音であれば、主音も同じとみなすことができる。
【0034】
図2は上記マッチング処理を利用した曲構造解析処理のフローチャートであり、ステップS11で、分析対象とする演奏データを所定のアルゴリズムにしたがって、あるいはユーザの指示によりフレーズに分割する。次に、ステップS12で、マッチング元フレーズ(例えば先頭フレーズ)とマッチング対象フレーズ(例えば第2フレーズ)を設定し、ステップS13で図1のマッチング処理を行う。マッチング処理が終了すると前記一致度が求められるので、ステップS14で一致度を判定する。判定の結果、一致度が所定の閾値未満であれば、ステップS15で両フレーズを非類似とみなしてステップS18に進む。一致度が所定の閾値以上であれば、ステップS16で両フレーズを類似とみなしてステップS18に進む。一致度が100%であれば、ステップS17で両フレーズを一致とみなしてステップS18に進む。
【0035】
ステップS18では、マッチング対象フレーズに対して、一致状態、類似状態または非類似状態の判定結果を決定して記憶する。このとき、一致または類似の場合には、マッチング元フレーズに調が設定あるいは検出されている場合には、マッチング対象フレーズの調の種類(長調または短調)をマッチング元フレーズの調の種類と同一とし、マッチング対象フレーズの調の主音を前記移調量(最大頻度音程)だけシフトしたものとする。なお、移調量が1オクターブを越える場合は、移調量を12で割った余りだけシフトしたものとする。また、調が設定あるいは検出されていない場合は、単に移調量を設定するだけとする。
【0036】
次に、ステップS19で、演奏データの最後のフレーズまで、マッチング元フレーズとして設定し終えたか否かを判定し、NOであればステップS20で次のマッチング元フレーズ(例えば先頭フレーズのまま)とマッチング対象フレーズ(例えば第3フレーズ)を設定し、ステップS13に進む。このとき、マッチング元フレーズは固定しておき、マッチング対象フレーズを1つずつ後ろにずらしていき、マッチング対象フレーズが最後のフレーズまで達したら、マッチング元フレーズを1つ後ろのフレーズに設定する。これを、マッチング元フレーズが最後のフレーズに達するまで繰り返す。また、ステップS19で、YESであれば、処理を終了する。
【0037】
以上の曲構造解析処理では、演奏データを複数のフレーズに分割し、ステップS12及びステップS20のマッチング元フレーズとマッチング対象フレーズの設定処理により、基本的には任意のフレーズをマッチング元フレーズとするとともにその他のフレーズをマッチング対象フレーズとしてマッチング処理を行い、この処理を全てのフレーズをマッチング元フレーズの対象として実行する。ただし、一度「他のフレーズと一致または類似」と決定されたフレーズは、マッチング元フレーズには設定しないで、「非類似」と決定されたフレーズのみを新たなマッチング元フレーズとして設定するものとする。
【0038】
以上のように曲構造解析処理により、演奏データ中の各フレーズ間で、一致するフレーズの有無、類似するフレーズの有無とその移調量または調の主音、非類似のフレーズの有無を解析することができる。
【0039】
図3はマッチング処理を利用した楽節先頭決定処理のフローチャートであり、ステップS21で、分析対象とする演奏データを所定のアルゴリズムにしたがって、あるいはユーザの指示によりフレーズに分割する。次に、ステップS22で曲の先頭のフレーズをマッチング元フレーズに設定してステップS23に進む。ステップS23では、次のフレーズをマッチング対象フレーズに設定し、ステップS24で図1のマッチング処理を行う。
【0040】
マッチング処理が終了すると前記一致度が求められるので、ステップS25で一致度は所定の閾値以上か否かを判定し、一致度が閾値以上でなければステップS23に戻り、一致度が閾値以上であればステップS26で、マッチング対象フレーズを楽節の先頭のフレーズの1つに設定し、ステップS27に進む。ステップS27では、演奏データの最後のフレーズまで、マッチング対象フレーズとして設定し終えたか否かを判定し、NOであればステップS23に戻り、YESであれば、処理を終了する。
【0041】
以上の楽節先頭決定処理により、演奏データの曲を構成する各楽節の先頭のフレーズ(楽節の先頭位置)の少なくとも一部を決定することができる。すなわち、曲の先頭フレーズ(第1楽節の最初のフレーズ)と一致または類似するフレーズは、楽節の先頭のフレーズの1つとみなせるので、複数のフレーズのうち、楽節先頭となりうるフレーズを決定することができる。なお、以上の処理では、曲の先頭フレーズと一致または類似するフレーズのみを検出してそれを楽節の先頭フレーズの1つとしているが、ユーザにより指定あるいは所定のアルゴリズムにしたがって自動検出された楽節の先頭フレーズがある場合、そのフレーズと一致または類似するフレーズを検出して、楽節の先頭フレーズの1つを決定するようにしてもよい。
【0042】
図4はマッチング処理を利用した曲検索処理のフローチャートであり、この曲検索処理は、ネットワーク上のサーバ、他のパーソナルコンピュータ、他の電子楽器、あるいは当該電子楽器の外部記憶装置11など、各種の記憶装置に構築された曲データベースから曲を検索するための処理である。例えば、曲の一部のフレーズを知っているが、何という曲であったかあるいはどのような曲であったかが解らず、それ検索したいというときなどに利用することができる。
【0043】
先ず、ステップS31で、検索したい曲の一部のフレーズをマッチング元フレーズとして入力する。このマッチング元フレーズの入力はどのような方式でもよい。例えば、鍵盤等の演奏操作子でリアルタイム演奏して入力したり、鼻歌等の音声を入力してこれを分析して音符データに変換するなどがある。次に、ステップS32で、曲データベース中の最初の曲をマッチング対象曲に設定し、ステップS33に進む。
【0044】
ステップS33では、フレーズ単位または小節単位でマッチング位置をずらしながら(すなわちマッチング対象フレーズを更新しながら)前記図1のマッチング処理により、マッチング元フレーズとマッチング対象フレーズの一致、類似または非類似の判定を行う。そして、マッチング対象曲全体についてマッチング処理を行う。
【0045】
次に、ステップS34で、マッチング対象曲の全フレーズの一致度のうち、最大の一致度をそのマッチング対象曲の一致度(以後、「曲一致度」という。)とし、その曲一致度が所定の閾値以上であるか否かを判定する。曲一致度が閾値以上でなければステップS36に進み、曲一致度が閾値以上であれば、ステップS35で、そのマッチング対象曲をマッチした曲のリストに追加し、ステップS36に進む。ステップS36では曲データベース中の全曲について終了したか否かを判定し、全曲終了していなければ、ステップS37で曲データベース中の次の曲をマッチング対象曲に設定してステップS33に戻り、全曲終了していればステップS38でマッチした曲のリストを提示して処理を終了する。
【0046】
なお、ステップS38で曲のリストを提示する際には、曲目、演奏(歌唱)者、作曲者、作詞者(歌詞があれば)等のうちの少なくとも1つを表示する。これにあわせて、各曲の演奏データあるいはその一部を再生してもよい。また、楽譜を表示してもよい。さらに、例えばテレビ番組の「○○主題歌」「○○のCMソング」など関連情報を表示してもよい。
【0047】
また、曲一致度が閾値以上の全ての曲を提示せずに、そのうちの最も曲一致度の高い曲を1ないし複数曲提示してもよいし、曲一致度に応じてある程度絞り込んで曲を提示するようにしてもよい。
【0048】
図6はマッチング元フレーズとマッチング対象フレーズの一例を示す図であり、例えば、a.のフレーズ1をマッチング元フレーズ、b.のフレーズ2をマッチング対象フレーズとする。この例ではフレーズ1とフレーズ2は一致はしないが、全体的なメロディラインやリズムも似ており、類似と判定するのが妥当な例である。以下、この例についての実施形態の処理過程とその結果の具体例を概説すると次のようになる。
【0049】
フレーズ1とフレーズ2をそれぞれ八分音符単位でステップ分けし、各ステップに対応する音符を調べると、各ステップにおけるピッチ(音高:キーコード)は次表1の上段と中段のようになることが判る。そして、各ステップにおけるフレーズ1とフレーズ2の音程(音高差)は次表1の下段のようになる。
【0050】
【表1】
【0051】
例えば、フレーズ1におけるステップ番号2のステップは、最初の「中央ハ」の四分音符の後半の八分音符長の部分に相当するのでこのステップのピッチはステップ番号1と同じで“60”となる。
【0052】
そして、全ステップについて同じ音程となるステップの数を集計すると、その合計数は次表2のようになり、音程“2”の合計数が“18”となって最も多くなっている。
【0053】
【表2】
【0054】
したがって、この例では、移調量は“2”とする。また、全体(全ステップ数=24)に対する音程“2”の合計数の割合(=一致度)は、18/24=75%となる。したがって、例えば「類似」とみなす閾値を75%とすると、フレーズ1とフレーズ2は「類似」とみなせる。なお、この実施形態では、同じ音程となるステップの数を集計することが「音程毎の出現頻度の分布を取ること」に相当し、合計数の最も多い合計数の割合(一致度)から「一致」「類似」「非類似」を判定することが、「2つのフレーズの一致または不一致を判定すること」に相当する。
【0055】
なお、ここで、実施形態との比較のために図6のフレーズについて従来のマッチング処理を行った例について説明する。第1従来例は、八分音符単位でステップ分けして前後の音符(ステップ)との音程をとる方法であり、処理結果は次表3のようになる。
【0056】
【表3】
【0057】
このうち、例えばステップ2番,4番,…のようにフレーズ1とフレーズ2で音程が一致するステップの数(一致数)は“15”となり、ステップ3番,8番,…のように音程が一致しないステップの数(不一致数)は“8”となる。そこで、一致数の全体(一致数+不一致数)に対する割合を一致度とすると、一致度は15/23=65.2%となり、「類似」とみなす閾値を75%とすると、フレーズ1とフレーズ2は「類似」とみなせなくなる。これは不一致音符(ステップ)の前と後の2箇所で不一致として計数されるからである。また、仮に一致または類似とみなせたとしても、移調量は別途求める必要がある。
【0058】
また、第2従来例は、八分音符単位でステップ分けして基準音符からの音程をとる方法であり、処理結果は次表4のようになる。
【0059】
【表4】
【0060】
この場合、前記同様な一致数は“2”(ステップ2番,8番)となり、不一致数は“21”(ステップ1番,2番,8番以外)となる。そして、前記同様な一致度は、、一致度は2/23=8.7%となり、「類似」とみなす閾値を75%とすると、フレーズ1とフレーズ2は「類似」とみなせなくなる。これは先頭の音符がずれていることによる。この例でも、仮に一致または類似とみなせたとしても、移調量は別途求める必要がある。
【0061】
以上のように、本発明によれば上記従来例よりも判定確度が高いことが判る。また、本発明によれば移調量も同時に判定することができる。
【0062】
なお、ステップ分けする際の所定長は、固定であってもよいし、可変であってもよい。可変の場合には、ユーザが設定できるようにしてもよいし、曲データを分析して自動決定するようにしてもよい。この自動決定の場合は、例えば、最短音符長を所定長としたり、平均音符長を求めて、それよりも短い所定音符長とするなどがある。
【0063】
また、類似判定する際の閾値は、固定であってもよいし、可変であってもよい。可変の場合には、ユーザが設定できるようにしてもよいし、用途に応じて自動的に設定してもよい。例えば、ある程度厳密なマッチングが必要な曲構造解析の場合は75%とし、入力するフレーズを間違える可能性のある曲検索の場合は60%とするなどがある。
【0064】
また、実施形態ではマッチング区間の例として図5に4つの例を示したが、何れか固定であってもよいし、複数例の中から選択可能としてもよい。選択する場合は、ユーザが選択できるようにしてもよいし、用途に応じて自動選択してもよい。例えば、ある程度厳密なマッチングが必要な曲構造解析では長い区間を選択し、大量の曲データとのマッチングを取らなければならない曲検索では短い区間を選択するなどがある。
【0065】
曲データのフォーマットは、演奏イベントの発生時刻を1つ前のイベントからの時間で表した「イベント+相対時間」、演奏イベントの発生時刻を曲内や小節内における絶対時間で表した「イベント+絶対時間」、音符の音高と符長あるいは休符と休符長で表した「音高(休符)+符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等、どのような形式でもよい。
【0066】
また、メモリ上において、時系列の演奏データが連続する領域に記憶されていてもよいし、飛び飛びの領域に散在して記憶されているデータを、連続するデータとして別途管理するようにしてもよい。すなわち、時系列的に連続するデータとして管理することができればよく、メモリ上で連続して記憶されているか否かは問題ではない。
【0067】
実施形態では本発明を電子楽器に適用した例を示したが、パーソナルコンピュータとソフトウエアにより、実施形態と同様な処理を行って、フレーズ分析装置を構築したりフレーズ分析方法を実施することができる。また、ネットワークを利用してフレーズ分析方プログラムを実行してもよい。ネットワークを利用する場合、ユーザの入力処理等はそのネットワークに接続するパーソナルコンピュータや電子楽器から行い、サーバ側で前記各種の処理を行って、その処理の結果をパーソナルコンピュータや電子楽器に送信し出力するようにしてもよい。
【0068】
また、本発明は、カラオケ装置や、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、前記のように機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として本発明の所定の機能を実現するようにしてもよい。また、フレーズ分析プログラムや処理に利用する各種データを外部記憶媒体から、あるいは通信インターフェースを介して外部装置から電子楽器やパーソナルコンピュータに供給してもよい。通信インターフェース及び通信ネットワークは、有線のものに限らず無線でもよい。また無線及び有線の双方を備えていてもよい。
【0069】
また、演奏データ等の通信には、専用のMIDIインターフェースに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースを用いて、MIDIインターフェースを構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信するようにしてもよい。
【0070】
【発明の効果】
請求項1のフレーズ分析装置または請求項5のコンピュータ読み取り可能な記録媒体に記録されたフレーズ分析プログラムの実行によれば、譜割が微妙に異なる2つのフレーズに対しても正確にマッチングを取ることができ、かつ、移調されていたりあるいはフレーズの一部分だけ音高がずれていたとしても、比較的正確にマッチングを取ることができる。
【0071】
請求項2のフレーズ分析装置または請求項6のコンピュータ読み取り可能な記録媒体に記録されたフレーズ分析プログラムの実行によれば、請求項1と同様な効果が得られるとともに、分布の最大となった音程を2つのフレーズ間の移調量とするので、適正な移調量を得ることができる。
【0072】
請求項3のフレーズ分析装置または請求項7のコンピュータ読み取り可能な記録媒体に記録されたフレーズ分析プログラムの実行によれば、請求項1または請求項2と同様な効果が得られるとともに、2つのフレーズの小節線を一致させて区間同士の音程を求めるので、小節線を考慮したマッチングを行うことができる。
【0073】
請求項4のフレーズ分析装置または請求項8のコンピュータ読み取り可能な記録媒体に記録されたフレーズ分析プログラムの実行によれば、請求項2と同様な効果が得られるとともに、比較元フレーズの調の種類と主音が解っている場合、比較対照フレーズの調の種類と適正な主音を決定することができる。
【図面の簡単な説明】
【図1】本発明の実施形態におけるマッチング処理のフローチャートである。
【図2】本発明の実施形態における曲構造解析処理のフローチャートである。
【図3】本発明の実施形態における楽節先頭決定処理のフローチャートである。
【図4】本発明の実施形態における曲検索処理のフローチャートである。
【図5】本発明の実施形態におけるマッチング区間の例を示す図である。
【図6】本発明の実施形態におけるマッチング元フレーズとマッチング対象フレーズの一例を示す図である。
【図7】本発明を適用した実施形態の電子楽器のブロック図である。
【符号の説明】
1…CPU、2…ROM、3…RAM、11…外部記憶装置
Claims (8)
- 比較する2つのフレーズの各々を所定の単位長の区間に分割するフレーズ分割手段と、
該分割された2つのフレーズの対応する区間同士の音程を求め、該音程毎の出現頻度の分布を取る分布検出手段と、
該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定する判定手段と、
を備えたことを特徴とするフレーズ分析装置。 - 比較する2つのフレーズの各々を所定の単位長の区間に分割するフレーズ分割手段と、
該分割された2つのフレーズの対応する区間同士の音程を求め、該音程毎の出現頻度の分布を取る分布検出手段と、
該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定する判定手段と、
前記分布の最大となった音程を2つのフレーズ間の移調量とする移調量設定手段と、
を備えたことを特徴とするフレーズ分析装置。 - 前記分布検出手段は、前記2つのフレーズの小節線を一致させて前記区間同士の音程を求めることを特徴とする請求項1または請求項2記載のフレーズ分析装置。
- さらに前記2つのフレーズのうちの比較元フレーズの調の種類と主音が解っている場合、前記一致と判定された比較対象フレーズの調の種類は比較元フレーズのもとの同じとし、該一致と判定された比較対象フレーズの調の主音を比較元フレーズの主音に前記移調量だけ加算した値とする調設定手段、を備えたことを特徴とする請求項2記載のフレーズ分析装置。
- 比較する2つのフレーズの各々を所定の単位長の区間に分割するステップと、
該分割された2つのフレーズの対応する区間同士の音程を求めるステップと、
該音程毎の出現頻度の分布を取るステップと、
該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定するステップと、
をコンピュータに実行させるフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 比較する2つのフレーズの各々を所定の単位長の区間に分割するステップと、
該分割された2つのフレーズの対応する区間同士の音程を求めるステップと、
該音程毎の出現頻度の分布を取るステップと、
該分布の最大となる音程の出現頻度に応じて2つのフレーズの一致または不一致を判定するステップと、
前記分布の最大となった音程を2つのフレーズ間の移調量とするステップと、
をコンピュータに実行させるフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記音程を求めるステップは、前記2つのフレーズの小節線を一致させて前記区間同士の音程を求めることを特徴とする請求項5または請求項6記載のフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体。
- さらに前記2つのフレーズのうちの比較元フレーズの調の種類と主音が解っている場合、前記一致と判定された比較対象フレーズの調の種類を比較元フレーズのもとの同じとし、該一致と判定された比較対象フレーズの調の主音を比較元フレーズの主音に前記移調量だけ加算した値とするステップを有することを特徴とする請求項6記載のフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001072518A JP3750547B2 (ja) | 2001-03-14 | 2001-03-14 | フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001072518A JP3750547B2 (ja) | 2001-03-14 | 2001-03-14 | フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002268632A JP2002268632A (ja) | 2002-09-20 |
JP3750547B2 true JP3750547B2 (ja) | 2006-03-01 |
Family
ID=18930088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001072518A Expired - Fee Related JP3750547B2 (ja) | 2001-03-14 | 2001-03-14 | フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3750547B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200218A (ja) * | 2006-01-30 | 2007-08-09 | Yamaha Corp | 電子音楽装置及びプログラム |
JP4819574B2 (ja) * | 2006-05-23 | 2011-11-24 | Necシステムテクノロジー株式会社 | メロディ検索装置及びこれに対する入力装置並びにメロディ検索方法 |
JP4748395B2 (ja) * | 2006-11-08 | 2011-08-17 | カシオ計算機株式会社 | 楽曲構造分析装置および楽曲構造分析処理プログラム |
JP4742288B2 (ja) * | 2006-11-16 | 2011-08-10 | カシオ計算機株式会社 | 練習手順生成装置および練習手順生成処理プログラム |
US7525037B2 (en) * | 2007-06-25 | 2009-04-28 | Sony Ericsson Mobile Communications Ab | System and method for automatically beat mixing a plurality of songs using an electronic equipment |
JP5228432B2 (ja) * | 2007-10-10 | 2013-07-03 | ヤマハ株式会社 | 素片検索装置およびプログラム |
KR101424974B1 (ko) * | 2008-03-17 | 2014-08-04 | 삼성전자주식회사 | 복수의 반복되는 부분들을 가진 음악 데이터의 첫 번째부분만을 재생하는 방법 및 장치 |
JP2011138153A (ja) * | 2011-02-18 | 2011-07-14 | Casio Computer Co Ltd | 楽曲構造分析装置および楽曲構造分析処理プログラム |
JP6040809B2 (ja) * | 2013-03-14 | 2016-12-07 | カシオ計算機株式会社 | コード選択装置、自動伴奏装置、自動伴奏方法および自動伴奏プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3413844B2 (ja) * | 1992-03-25 | 2003-06-09 | ヤマハ株式会社 | 演奏データの調検出装置 |
JP3307156B2 (ja) * | 1995-04-24 | 2002-07-24 | ヤマハ株式会社 | 音楽情報分析装置 |
JP3206370B2 (ja) * | 1995-05-02 | 2001-09-10 | ヤマハ株式会社 | 音楽情報分析装置 |
JP3799761B2 (ja) * | 1997-08-11 | 2006-07-19 | ヤマハ株式会社 | 演奏装置、カラオケ装置および記録媒体 |
-
2001
- 2001-03-14 JP JP2001072518A patent/JP3750547B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002268632A (ja) | 2002-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3704980B2 (ja) | 自動作曲装置と記録媒体 | |
US8680387B2 (en) | Systems and methods for composing music | |
JP2014194536A (ja) | コード検出装置およびコード検出方法を実現するためのプログラム | |
JP2000514571A (ja) | 自動即興演奏システム及び方法 | |
JP3528654B2 (ja) | メロディ生成装置及びリズム生成装置と記録媒体 | |
JP3750547B2 (ja) | フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN110867174A (zh) | 自动混音装置 | |
CN113689836A (zh) | 一种将音频转换成音符并显示的方法及终端 | |
WO2020145326A1 (ja) | 音響解析方法および音響解析装置 | |
JP2007140165A (ja) | カラオケ装置およびカラオケ装置用プログラム | |
JP3239897B1 (ja) | 作詞作曲装置及びプログラム | |
US20010015122A1 (en) | Electronic musical instrument performance position retrieval system | |
JP2003131674A (ja) | 楽曲検索システム | |
JP4218066B2 (ja) | カラオケ装置およびカラオケ装置用プログラム | |
JP3633335B2 (ja) | 楽曲生成装置および楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3582315B2 (ja) | 練習支援装置、練習支援方法および記憶媒体 | |
JP6315677B2 (ja) | 演奏装置及びプログラム | |
JP3879524B2 (ja) | 波形生成方法、演奏データ処理方法および波形選択装置 | |
JP2016161900A (ja) | 音楽データ検索装置及び音楽データ検索プログラム | |
JPH06202621A (ja) | 楽曲演奏情報を利用した楽曲検索装置 | |
JP6554826B2 (ja) | 音楽データ検索装置及び音楽データ検索プログラム | |
JP4218064B2 (ja) | カラオケ装置およびカラオケ装置用プログラム | |
JP2000112472A (ja) | 自動作曲装置と記録媒体 | |
JP3752859B2 (ja) | 自動作曲装置と記録媒体 | |
JP3777976B2 (ja) | 演奏情報解析装置及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050816 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051017 |
|
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: 20051115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051128 |
|
R150 | Certificate of patent 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 (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081216 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111216 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111216 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121216 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131216 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |