JP4313563B2 - 楽曲検索装置及び方法 - Google Patents
楽曲検索装置及び方法 Download PDFInfo
- Publication number
- JP4313563B2 JP4313563B2 JP2002352864A JP2002352864A JP4313563B2 JP 4313563 B2 JP4313563 B2 JP 4313563B2 JP 2002352864 A JP2002352864 A JP 2002352864A JP 2002352864 A JP2002352864 A JP 2002352864A JP 4313563 B2 JP4313563 B2 JP 4313563B2
- Authority
- JP
- Japan
- Prior art keywords
- chord
- music
- data
- change
- music data
- 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
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/38—Chord
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/432—Query formulation
- G06F16/433—Query formulation using audio data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
- G06F16/634—Query by example, e.g. query by humming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/571—Chords; Chord sequences
- G10H2210/576—Chord progression
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
- G10H2240/131—Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
- G10H2240/141—Library retrieval matching, i.e. any of the steps of matching an inputted segment or phrase with musical database contents, e.g. query by humming, singing or playing; the steps may include, e.g. musical analysis of the input, musical feature extraction, query formulation, or details of the retrieval process
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Library & Information Science (AREA)
- Acoustics & Sound (AREA)
- Electrophonic Musical Instruments (AREA)
- Auxiliary Devices For Music (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明が属する技術分野】
本発明は、検索対象の楽曲に対応した楽曲を検索する楽曲検索装置及び方法に関する。
【0002】
【従来の技術】
テレビやラジオで放送中に流れる楽曲音の楽曲名や歌手名が分からず、その楽曲音を改めて聞くために楽曲情報が知りたいことがある。そのようなときに楽曲名等の楽曲情報を検索するものとして楽曲検索装置が知られている。
従来の楽曲検索装置においては、特許文献1及び2に示されたように、各楽曲の楽曲データに基づいて楽曲のテンポ、楽器パターン、音程、拍子毎の和音、特定の和音の頻度及びリズムパターン等の特徴パラメータを検出してそれらのインデックスとして格納した記憶手段が備えられ、所望の楽曲について同様に特徴パラメータを検出してそれらのインデックスを抽出インディクスとし、抽出インディクスと格納されたインデックスとを比較して所望の楽曲についての情報を表示することが行われる。
【0003】
【特許文献1】
特開平10−134549号公報
【0004】
【特許文献2】
特開平6−290574号公報
【0005】
【発明が解決しようとする課題】
しかしながら、従来の楽曲検索装置においては、所望の楽曲についての情報を正確に検索するためには楽曲毎に多種の特徴パラメータを抽出して記憶手段に予め格納しておく必要があるので、構成が複雑になるという問題点があった。
本発明が解決しようとする課題には、上記の問題点が一例として挙げられ、所望の楽曲に対応した楽曲について簡単な構成で正確に検索することができる楽曲検索装置及び方法を提供することが本発明の目的である。
【0006】
【課題を解決するための手段】
本発明の楽曲検索装置は、楽曲の和音の時系列変化を示す和音進行楽曲データを複数の楽曲分蓄積した蓄積手段と、オーディオ信号データとして入力された楽曲の少なくとも一部分の和音の時系列変化を示す検索対象の和音進行楽曲データを生成する検索対象データ生成手段と、各和音変化での和音根音の変化量と各和音変化後の和音の種類を示す属性とに基づいて前記検索対象の和音進行楽曲データと前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々との間の類似度を算出する比較手段と、前記比較手段によって算出された前記複数の楽曲各々の類似度に応じて前記複数の楽曲のうちの少なくとも1楽曲を示す検索出力を生成する出力手段と、を備えたことを特徴としている。
【0007】
本発明の楽曲検索方法は、楽曲の和音の時系列変化を示す和音進行楽曲データを複数の楽曲分蓄積した蓄積手段を備えた楽曲検索装置の楽曲検索方法であって、検索対象データ生成手段がオーディオ信号データとして入力された楽曲の少なくとも一部分の和音の時系列変化を示す検索対象の和音進行楽曲データを生成する検索対象データ生成ステップと、比較手段が各和音変化での和音根音の変化量と各和音変化後の和音の種類を示す属性とに基づいて前記検索対象の和音進行楽曲データと前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々との間の類似度を算出する比較ステップと、出力手段が前記比較ステップによって算出された前記複数の楽曲各々の類似度に応じて前記複数の楽曲のうちの少なくとも1楽曲を示す検索出力を生成する出力ステップと、を備えたことを特徴としている。
【0008】
本発明のプログラムは、オーディオ信号データとして入力された楽曲を検索するためのプログラムであって、コンピュータに、楽曲の少なくとも一部分の和音の時系列変化を示す検索対象の和音進行楽曲データを生成する検索対象データ生成ステップと、各和音変化での和音根音の変化量と各和音変化後の和音の種類を示す属性とに基づいて前記検索対象の和音進行楽曲データと蓄積手段に蓄積された複数の楽曲の和音進行楽曲データ各々との間の類似度を算出する比較ステップと、前記比較ステップにおいて算出された前記複数の楽曲各々の類似度に応じて前記複数の楽曲のうちの少なくとも1楽曲を示す検索出力を生成する出力ステップと、を実行させることを特徴としている。
【0009】
【発明の実施の形態】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図1は本発明を適用した楽曲処理システムを示している。この楽曲処理システムは、マイク入力装置1、ライン入力装置2、楽曲入力装置3、操作入力装置4、入力切替スイッチ5、アナログ/ディジタル変換装置6、和音解析装置7、データ蓄積装置8,9、一時記憶メモリ10、和音進行比較装置11、表示装置12、楽曲再生装置13、ディジタル/アナログ変換装置14及びスピーカ15を備えている。
【0010】
マイク入力装置1は、楽曲音をマイクロホンで集音可能にされ、その集音した楽曲音を示すアナログのオーディオ信号を出力する。ライン入力装置2には、例えば、ディスクプレーヤやテープレコーダが接続され、楽曲音を示すアナログのオーディオ信号を入力できるようにされている。楽曲入力装置3は和音解析装置7及びデータ蓄積装置8に接続され、ディジタル化されたオーディオ信号(例えば、PCMデータ)を再生する装置であり、例えば、CDプレーヤである。操作入力装置4は本システムに対してユーザが操作してデータや指令を入力するための装置である。操作入力装置4の出力は入力切替スイッチ5、和音解析装置7、和音進行比較装置11及び楽曲再生装置13に接続されている。
【0011】
入力切替スイッチ5は、マイク入力装置1及びライン入力装置2のうちのいずれか1の出力信号を選択的にアナログ/ディジタル変換装置6に供給する。入力切替スイッチ5の切替動作は操作入力装置4からの指令に応じて実行される。
アナログ/ディジタル変換装置6は、和音解析装置7及びデータ蓄積装置8に接続され、アナログのオーディオ信号をディジタル化し、ディジタル化オーディオ信号を楽曲データとしてデータ蓄積装置8に供給する。データ蓄積装置8にはアナログ/ディジタル変換装置6及び楽曲入力装置3供給された楽曲データ(PCMデータ)がファイルとして記憶される。
【0012】
和音解析装置7は、供給された楽曲データの和音を後述する和音解析動作によって解析する。一時記憶メモリ10には和音解析装置7によって解析された楽曲データの各和音が第1及び第2和音候補として一時的に記憶される。データ蓄積装置9には和音解析装置7によって解析されて和音進行楽曲データが楽曲毎にファイルとして記憶される。
【0013】
和音進行比較装置11は、検索対象の和音進行楽曲データとデータ蓄積装置9に記憶された和音進行楽曲データとを比較し、検索対象の和音進行楽曲データと類似性の高い和音進行楽曲データを検出する。表示装置12には和音進行比較装置11による比較結果が楽曲リストとして表示される。
楽曲再生装置13は、和音進行比較装置11によって類似性が最も高いとして検出された楽曲のデータファイルをデータ蓄積装置8から読み出して再生し、ディジタルオーディオ信号として順次出力する。ディジタル/アナログ変換装置14は楽曲再生装置13によって再生されたディジタルオーディオ信号をアナログオーディオ信号に変換する。
【0014】
和音解析装置7、和音進行比較装置11及び楽曲再生装置13各々は操作入力装置4からの指令に応じて動作する。
次に、かかる構成の楽曲処理システムの動作について説明する。
ここでは楽曲音を示すアナログオーディオ信号がライン入力装置2から入力切替スイッチ5を介してアナログ/ディジタル変換装置6に供給され、そこでディジタル信号に変換された後、和音解析装置7に供給されたとする。
【0015】
上記した和音解析動作としては前処理、本処理及び後処理がある。和音解析装置7は前処理として周波数誤差検出動作を行う。
周波数誤差検出動作においては、図2に示すように、時間変数T及び帯域データF(N)が0に初期化され、更に変数Nの範囲が−3〜3の如く初期設定される(ステップS1)。入力ディジタル信号に対してフーリエ変換によって周波数変換を0.2秒間隔で行うことによって周波数情報f(T)が得られる(ステップS2)。
【0016】
今回のf(T)、前回のf(T−1)及び前々回のf(T−2)を用いて移動平均処理が行われる(ステップS3)。この移動平均処理では、0.6秒以内では和音が変化することが少ないという仮定で過去2回分の周波数情報が用いられる。移動平均処理は次式によって演算される。
f(T)=(f(T)+f(T−1)/2.0+f(T−2)/3.0)/3.0……(1)
ステップS3の実行後、変数Nが−3に設定され(ステップS4)、その変数Nは4より小であるか否かが判別される(ステップS5)。N<4の場合には、移動平均処理後の周波数情報f(T)から周波数成分f1(T)〜f5(T)が各々抽出される(ステップS6〜S10)。周波数成分f1(T)〜f5(T)は、(110.0+2×N)Hzを基本周波数とした5オクターブ分の平均律の12音のものである。12音はA,A#,B,C,C#,D,D#,E,F,F#,G,G#である。図3はA音を1.0とした場合の12音及び1オクターブ高いA音各々の周波数比を示している。ステップS6のf1(T)はA音を(110.0+2×N)Hzとし、ステップS7のf2(T)はA音を2×(110.0+2×N)Hzとし、ステップS8のf3(T)はA音を4×(110.0+2×N)Hzとし、ステップS9のf4(T)はA音を8×(110.0+2×N)Hzとし、ステップS10のf5(T)はA音を16×(110.0+2×N)Hzとしている。
【0017】
ステップS6〜S10の実行後、周波数成分f1(T)〜f5(T)は1オクターブ分の帯域データF'(T)に変換される(ステップS11)。帯域データF'(T)は、
F'(T)=f1(T)×5+f2(T)×4+f3(T)×3+f4(T)×2+f5(T)……(2)
の如く表される。すなわち、周波数成分f1(T)〜f5(T)各々は個別に重み付けされた後、加算される。1オクターブの帯域データF'(T)は、帯域データF(N)に加算される(ステップS12)。その後、変数Nには1が加算され(ステップS13)、そして、ステップS5が再度実行される。
【0018】
ステップS6〜S13の動作は、ステップS5においてNが4より小、すなわち−3〜+3の範囲であると判断される限り繰り返される。これによって音成分F(N)は−3〜+3の範囲の音程誤差を含む1オクターブ分の周波数成分となる。
ステップS5においてN≧4と判別された場合には、変数Tが所定値Mより小であるか否かが判別される(ステップS14)。T<Mの場合には、変数Tに1が加算され(ステップS15)、ステップS2が再度実行される。M回分の周波数変換による周波数情報f(T)に対して変数N毎の帯域データF(N)が算出される。
【0019】
ステップS14においてT≧Mと判別された場合には、変数N毎の1オクターブ分の帯域データF(N)のうちの各周波数成分の総和が最大値となるF(N)が検出され、その検出F(N)のNが誤差値Xとして設定される(ステップS16)。この前処理によって誤差値Xを求めることによってオーケストラの演奏音等の楽曲音全体の音程が平均律と一定の差をもっている場合に、それを補償して後述の和音解析の本処理を行うことができる。
【0020】
前処理の周波数誤差検出動作が終了すると、和音解析動作の本処理が行われる。なお、誤差値Xが既に分かっている場合やその誤差を無視できる場合には、前処理は省略しても良い。本処理では楽曲全部について和音解析が行われるために楽曲の最初の部分から入力ディジタル信号は和音解析装置7に供給されるとする。
【0021】
本処理おいては、図4に示すように、入力ディジタル信号に対してフーリエ変換によって周波数変換を0.2秒間隔で行うことによって周波数情報f(T)が得られる(ステップS21)。このステップS21が周波数変換手段に対応する。そして、今回のf(T)、前回のf(T−1)及び前々回のf(T−2)を用いて移動平均処理が行われる(ステップS22)。ステップS21及びS22は上記したステップS2及びS3と同様に実行される。
【0022】
ステップS22の実行後、移動平均処理後の周波数情報f(T)から周波数成分f1(T)〜f5(T)が各々抽出される(ステップS23〜S27)。上記したステップS6〜S10と同様に、周波数成分f1(T)〜f5(T)は、(110.0+2×N)Hzを基本周波数とした5オクターブ分の平均律の12音A,A#,B,C,C#,D,D#,E,F,F#,G,G#である。ステップS23のf1(T)はA音を(110.0+2×N)Hzとし、ステップS24のf2(T)はA音を2×(110.0+2×N)Hzとし、ステップS25のf3(T)はA音を4×(110.0+2×N)Hzとし、ステップS26のf4(T)はA音を8×(110.0+2×N)Hzとし、ステップS27のf5(T)はA音を16×(110.0+2×N)Hzとしている。ここで、NはステップS16で設定されたXである。
【0023】
ステップS23〜S27の実行後、周波数成分f1(T)〜f5(T)は1オクターブ分の帯域データF'(T)に変換される(ステップS28)。このステップS28も上記のステップS11と同様に式(2)を用いて実行される。帯域データF'(T)は各音成分を含むことになる。ステップS23〜S28が成分抽出手段に相当する。
【0024】
ステップS28の実行後、帯域データF'(T)中の各音成分のうちの強度レベルが大きいものから6音が候補として選択され(ステップS29)、その6音候補から2つの和音M1,M2が作成される(ステップS30)。候補の6音のうちから1つの音を根音(ルート)として3音からなる和音が作成される。すなわち6C3通りの組み合わせの和音が考慮される。各和音を構成する3音のレベルが加算され、その加算結果の値が最大となった和音が第1和音候補M1とされ、加算結果の値が2番目に大きい和音が第2和音候補M2とされる。
【0025】
帯域データF'(T)の各音成分が図5に示すように12音に対する強度レベルを示す場合には、ステップS29ではA,E,C,G,B,Dの6音が選択される。その6音A,E,C,G,B,Dのうちの3音から作成される3和音は、(A,C,E)からなる和音Am、(音C,E,G)からなる和音C、(音E,B,G)からなる和音Em、(音G,B,D)からなる和音G、……の如くである。和音Am(音A,C,E)の合計強度レベルは12、和音C(音C,E,G)の合計強度レベルは9、和音Em(音E,B,G)の合計強度レベルは7、和音G(音G,B,D)の合計強度レベルは4である。よって、ステップS30では和音Amの合計強度レベル12が最大となるので、第1和音候補M1として和音Amが設定され、和音Cの合計強度レベル7が2番目に大きいので、第2和音候補M2として和音Cが設定される。
【0026】
また、帯域データF'(T)の各音成分が図6に示すように12音に対する強度レベルを示す場合には、ステップS29ではC,G,A,E,B,Dの6音が選択される。その6音C,G,A,E,B,Dのうちの3音から作成される3和音は、(音C,E,G)からなる和音C、(A,C,E)からなる和音Am、(音E,B,G)からなる和音Em、(音G,B,D)からなる和音G、……の如くである。和音C(音C,E,G)の合計強度レベルは11、和音Am(音A,C,E)の合計強度レベルは10、和音Em(音E,B,G)の合計強度レベルは7、和音G(音G,B,D)の合計強度レベルは6である。よって、ステップS30では和音Cの合計強度レベル11が最大となるので、第1和音候補M1として和音Cが設定され、和音Amの合計強度レベル10が2番目に大きいので、第2和音候補M2として和音Amが設定される。
【0027】
和音を構成する音は3音に限らず、セブンスやディミニッシュセブンス等の4音もある。4音からなる和音に対しては図7に示すように3音からなる2つ以上の和音に分類されるとしている。よって、4音からなる和音に対しても3音からなる和音と同様に、帯域データF'(T)の各音成分の強度レベルに応じて2つの和音候補を設定することができる。
【0028】
ステップS30の実行後、ステップS30において設定された和音候補数があるか否かが判別される(ステップS31)。ステップS30では少なくとも3つの音を選択するだけの強度レベルに差がない場合には和音候補が全く設定されないことになるので、ステップS31の判別が行われる。和音候補数>0である場合には、更に、その和音候補数が1より大であるか否かが判別される(ステップS32)。
【0029】
ステップS31において和音候補数=0と判別された場合には前回T−1(約0.2秒前)の本処理において設定された和音候補M1,M2が今回の和音候補M1,M2として設定される(ステップS33)。ステップS32において和音候補数=1と判別された場合には今回のステップS30の実行では第1和音候補M1だけが設定されたので、第2和音候補M2は第1和音候補M1と同一の和音に設定される(ステップS34)。ステップS29〜S34が和音候補検出手段に相当する。
【0030】
ステップS32において和音候補数>1と判別された場合には今回のステップS30の実行では第1及び第2和音候補M1,M2の両方が設定されたので、時刻、第1及び第2和音候補M1,M2が一時記憶メモリ10に記憶される(ステップS35)。一時記憶メモリ10には図8に示すように時刻、第1和音候補M1、第2和音候補M2が1組となって記憶される。時刻は0.2秒毎に増加するTで表される本処理実行回数である。そのTの順に第1及び第2和音候補M1,M2が記憶される。
【0031】
具体的には、一時記憶メモリ10に各和音候補を図8に示したように1バイトで記憶させるために、基本音(根音)とその属性との組み合わせが用いられる。基本音には平均律の12音が用いられ、属性にはメジャー{4,3}、マイナー{3,4}、セブンス候補{4,6}及びディミニッシュセブンス(dim7)候補{3,3}の和音の種類が用いられる。{ }内は半音を1とした場合の3音の差である。本来、セブンス候補は{4,3,3}及びディミニッシュセブンス(dim7)候補{3,3,3}であるが、3音で示すために上記のように表示している。
【0032】
基本音の12音は図9(a)に示すように16ビット(16進表記)で表され、属性の和音の種類は同様に図9(b)に示すように16ビット(16進表記)で表される。その基本音の下位4ビットと属性の下位4ビットがその順に連結されて図9(c)に示すように8ビット(1バイト)として和音候補として用いられる。ステップS35はステップS33又はS34を実行した場合にもその直後に実行される。
【0033】
ステップS35の実行後、楽曲が終了したか否かが判別される(ステップS36)。例えば、入力アナログオーディオ信号の入力がなくなった場合、或いは操作入力装置4からの楽曲の終了を示す操作入力があった場合には楽曲が終了したと判断される。これによって本処理が終了する。
楽曲の終了が判断されるまでは変数Tに1が加算され(ステップS37)、ステップS21が再度実行される。ステップS21は上記したように0.2秒間隔で実行され、前回の実行時から0.2秒が経過して再度実行される。
【0034】
後処理においては、図10に示すように、一時記憶メモリ10から全ての第1及び第2和音候補がM1(0)〜M1(R)及びM2(0)〜M2(R)として読み出される(ステップS41)。0は開始時刻であり、開始時刻の第1及び第2和音候補がM1(0)及びM2(0)である。Rは最終時刻であり、最終時刻の第1及び第2和音候補がM1(R)及びM2(R)である。読み出された第1和音候補M1(0)〜M1(R)及び第2和音候補M2(0)〜M2(R)について平滑化が行われる(ステップS42)。この平滑化は和音の変化時点とは関係なく0.2秒間隔で和音候補を検出したことにより和音候補に含まれるノイズによる誤差を除去するために行われる。平滑化の具体的方法としては、3つの連続する第1和音候補M1(t−1),M1(t),M1(t+1)についてM1(t−1)≠M1(t)かつM1(t)≠M1(t+1)の関係が成立するか否かが判別され、その関係が成立する場合には、M1(t+1)にM1(t)は等しくされる。この判別は第1和音候補毎に行われる。第2和音候補についても同様の方法により平滑化は行われる。なお、M1(t+1)にM1(t)を等しくするのではなく、逆に、M1(t+1)をM1(t)に等しくしても良い。
【0035】
平滑化後、第1及び第2和音候補の入れ替え処理が行われる(ステップS43)。一般的に0.6秒のような短い期間には和音が変化する可能性は低い。しかしながら、信号入力段の周波数特性及び信号入力時のノイズによって帯域データF'(T)中の各音成分の周波数が変動することによって第1及び第2和音候補が0.6秒以内に入れ替わることが起きることがあり、これに対処するためにステップS43は行われる。第1及び第2和音候補が入れ替えの具体的方法としては、5つの連続する第1和音候補M1(t−2),M1(t−1),M1(t),M1(t+1),M1(t+2)及びそれに対応する5つの連続する第2和音候補M2(t−2),M2(t−1),M2(t),M2(t+1),M2(t+2)についての次の如き判別が実行される。すなわち、M1(t−2)=M1(t+2),M2(t−2)=M2(t+2),M1(t−1)=M1(t)=M1(t+1)=M2(t−2)及びM2(t−1)=M2(t)=M2(t+1)=M1(t−2)の関係が成立するか否かが判別される。この関係が成立する場合には、M1(t−1)=M1(t)=M1(t+1)=M1(t−2)及びM2(t−1)=M2(t)=M2(t+1)=M2(t−2)が定められ、M1(t−2)とM2(t−2)と間で和音の入れ替えが行われる。なお、M1(t−2)とM2(t−2)との間で和音の入れ替えに代えてM1(t+2)とM2(t+2)との間で和音の入れ替えを行っても良い。また、M1(t−2)=M1(t+1),M2(t−2)=M2(t+1),M1(t−1)=M1(t)=M1(t+1)=M2(t−2)及びM2(t−1)=M2(t)=M2(t+1)=M1(t−2)の関係が成立するか否かが判別される。この関係が成立する場合には、M1(t−1)=M1(t)=M1(t−2)及びM2(t−1)=M2(t)=M2(t−2)が定められ、M1(t−2)とM2(t−2)との間で和音の入れ替えが行われる。なお、M1(t−2)とM2(t−2)との間で和音の入れ替えに代えてM1(t+1)とM2(t+1)との間で和音の入れ替えを行っても良い。
【0036】
ステップS41において読み出された第1和音候補M1(0)〜M1(R)及び第2和音候補M2(0)〜M2(R)の各和音が、例えば、図11に示すように時間経過と共に変化する場合には、ステップS42の平均化を行うことによって図12に示すように修正される。更に、ステップS43の和音の入れ替えを行うことによって第1及び第2和音候補の和音の変化は図13に示すように修正される。なお、図11〜図13は和音の時間変化を折れ線グラフとして示しており、縦軸は和音の種類に対応した位置となっている。
【0037】
ステップS43の和音の入れ替え後の第1和音候補M1(0)〜M1(R)のうちの和音が変化した時点tのM1(t)及び第2和音候補M2(0)〜M2(R)のうちの和音が変化した時点tのM2(t)が各々検出され(ステップS44)、その検出された時点t(4バイト)及び和音(4バイト)が第1及び第2和音候補毎にデータ蓄積装置9に記憶される(ステップS45)。ステップS45で記憶される1楽曲分のデータが和音進行楽曲データである。かかるステップS41〜S45が平滑化手段に相当する。
【0038】
ステップS43の和音の入れ替え後の第1和音候補M1(0)〜M1(R)及び第2和音候補M2(0)〜M2(R)の和音が図14(a)に示すように時間経過と共に変化する場合には、変化時点の時刻と和音とがデータとして抽出される。図14(b)が第1和音候補の変化時点のデータ内容であり、F,G,D,B♭,Fが和音であり、それらは16進データとして0x08,0x0A,0x05,0x01,0x08と表される。変化時点tの時刻はT1(0),T1(1),T1(2),T1(3),T1(4)である。また、図14(c)が第2和音候補の変化時点のデータ内容であり、C,B♭,F#m,B♭,Cが和音であり、それらは16進データとして0x03,0x01,0x29,0x01,0x03と表される。変化時点tの時刻はT2(0),T2(1),T2(2),T2(3),T2(4)である。図14(b)及び図14(c)に示したデータ内容は楽曲の識別情報と共にデータ蓄積装置9には、ステップS45においては図14(d)に示すような形式で1ファイルとして記憶される。
【0039】
異なる楽曲音を示すアナログオーディオ信号について上記した和音分析動作を繰り返すことによりデータ蓄積装置9には複数の楽曲毎のファイルとして和音進行楽曲データが蓄積されることになる。また、楽曲入力装置4から出力される楽曲音を示すディジタルオーディオ信号について上記した和音分析動作を行うことによりデータ蓄積装置9には和音進行楽曲データが蓄積されることになる。なお、データ蓄積装置8にはデータ蓄積装置9の和音進行楽曲データに対応したPCM信号からなる楽曲データが蓄積される。
【0040】
ステップS44において第1和音候補のうちの和音が変化した時点の第1和音候補及び第2和音候補のうちの和音が変化した時点の第2和音候補が各々検出され、それが最終的な和音進行楽曲データとなるので、MP3のような圧縮データに比べても1楽曲当たりの容量を小さくすることができ、また、各楽曲のデータを高速処理することができる。
【0041】
また、データ蓄積装置9に書き込まれた和音進行楽曲データは、実際の楽曲と時間的に同期した和音データとなるので、第1和音候補のみ、或いは第1和音候補と第2和音候補との論理和出力を用いて実際に和音を楽曲再生装置13によって生成すれば、楽曲の伴奏が可能となる。
上記した実施例においては、ライン入力装置2に入力されたアナログオーディオ信号を和音進行楽曲データに変換する場合について説明したが、楽曲入力装置3から出力されるディジタルオーディオ信号或いはマイク入力装置1に入力される演奏音を和音進行楽曲データに変換する場合についても上記の実施例の場合と同様である。また、ディジタルオーディオ信号はPCM信号に限らず、MP3のような圧縮されたファイルに応じた信号でも良い。圧縮ファイルの復号化に際して平均律周波数幅を満たす周波数分解能を有する周波数領域の情報が得られるならば、フーリエ変換等の周波数変換を省略することができる。
【0042】
次に、マイク入力装置2に入力される楽曲音に対応する和音進行楽曲データを検索対象のデータとしてデータ蓄積装置9を検索する楽曲検索動作について説明する。楽曲検索動作は入力楽曲音に応じて検索対象の和音進行楽曲データを作成するデータ入力処理と、その検索対象の和音進行楽曲データの楽曲をデータ蓄積装置9に蓄積された和音進行楽曲データに応じて検索してその楽曲音を再生する検索再生処理とからなる。データ入力処理は和音解析装置7によって実行され、検束再生処理は和音進行比較装置11及び楽曲再生装置13によって実行される。
【0043】
楽曲検索動作のデータ入力処理においては、図15及び図16に示すように、マイク入力装置1の出力とアナログディジタル変換装置6とが入力切替スイッチ5によって接続され(ステップS51)、マイク入力装置2から出力されるアナログオーディオ信号が入力切替スイッチ5を介してアナログディジタル変換装置6へ供給される。アナログディジタル変換装置6はアナログオーディオ信号をディジタルオーディオ信号に変換して和音解析装置7に供給する。このステップS51は、ライン入力装置2からのオーディオ信号をアナログディジタル変換装置6に供給する場合には必要ない。
【0044】
和音候補総数hが0に設定され(ステップS52)、周波数誤差検出動作が実行される(ステップS53)。周波数誤差検出動作は上記したステップS1〜S16の動作である。
周波数誤差検出動作後、入力ディジタル信号に対してフーリエ変換によって周波数変換を0.2秒間隔で行うことによって周波数情報f(T)が得られる(ステップS54)。そして、今回のf(T)、前回のf(T−1)及び前々回のf(T−2)を用いて移動平均処理が行われる(ステップS55)。そして、移動平均処理後の周波数情報f(T)から周波数成分f1(T)〜f5(T)が各々抽出される(ステップS56〜S60)。その周波数成分f1(T)〜f5(T)は1オクターブ分の帯域データF'(T)に変換される(ステップS61)。帯域データF'(T)中の各音成分のうちの強度レベルが大きいものから6音が候補として選択され(ステップS62)、その6音候補から2つの和音M1,M2が作成される(ステップS63)。ステップS63において設定された和音候補数があるか否かが判別される(ステップS64)。和音候補数>0である場合には、更に、その和音候補数が1より大であるか否かが判別される(ステップS65)。ステップS64において和音候補数=0と判別された場合には前回T−1(約0.2秒前)において設定された和音候補M1,M2が今回の和音候補M1,M2として設定される(ステップS66)。
【0045】
ステップS65において和音候補数=1と判別された場合には今回のステップS63の実行では第1和音候補M1だけが設定されたので、第2和音候補M2は第1和音候補M1と同一の和音に設定される(ステップS67)。ステップS65において和音候補数>1と判別された場合には時刻、第1及び第2和音候補M1,M2が一時記憶メモリ10に記憶される(ステップS68)。
【0046】
ステップS68はステップS66又はS67を実行した場合にもその直後に実行される。
ステップS54〜S68は和音解析動作の本処理のステップS21〜S35と同一である。
ステップS68の実行後、和音候補総数hが所定数Hより大であるか否かが判別される(ステップS69)。所定数Hは楽曲を検索するために必要な和音数である。h≦Hの場合には第1和音候補M1が変化したか否かが判別される(ステップS70)。すなわち、前回の第1和音候補M1(t-1)と今回の第1和音候補M1(t)とが異なるか否かが判別される。M1(t-1)=M1(t)であるならば、同一の和音であるので、変数Tに1が加算され(ステップS71)、ステップS54が再度実行される。ステップS54は上記したように0.2秒間隔で実行され、前回の実行時から0.2秒が経過して再度実行される。M1(t-1)≠M1(t)であるならば、和音が変化したので、和音候補総数hに1が加算され(ステップS72)、その後、ステップS71が実行される。
【0047】
ステップS69においてh>Hであると判別された場合には、和音解析動作の後処理が実行される(ステップS73)。このステップS73は図10に示したステップS41〜S45と同一の動作である。ステップS51〜S73がデータ入力処理である。この結果、検索対象の和音進行楽曲データが作成される。この検索対象の和音進行楽曲データは所定数Hの和音を含んでおり、楽曲全てのデータではない。
【0048】
かかるデータ入力処理が検索対象データ生成手段に相当する。
データ入力処理後、楽曲検索動作の検索再生処理が行われる。検索再生処理においては、図17に示すように、入力楽曲音のオーディオ信号についての第1和音候補M1(0)〜M1(a-1)及び第2和音候補M2(0)〜M2(b-1)が蓄積手段であるデータ蓄積装置9から読み出される(ステップS81)。aは第1和音候補の総数であり、bは第2和音候補の総数である。読み出された第1和音候補M1(0)〜M1(a-1)に対して第1和音差分値MR1(0)〜MR1(a-2)が計算される(ステップS82)。第1和音差分値は、MR1(0)=M1(1)−M1(0),MR1(1)=M1(2)−M1(1),……,MR1(a-2)=M1(a-1)−M1(a-2)の如く計算される。この計算では第1和音差分値MR1(0)〜MR1(a-2)各々が0より小であるか否かを判別し、0より小の第1和音差分値には12を加算することが行われる。また、第1和音差分値MR1(0)〜MR1(a-2)各々には和音変化後の和音属性MA1(0)〜MA1(a-2)が付加される。読み出された第2和音候補M2(0)〜M2(b-1)に対しても第2和音差分値MR2(0)〜MR2(b-2)が計算される(ステップS83)。第2和音差分値は、MR2(0)=M2(1)−M2(0),MR2(1)=M2(2)−M2(1),……,MR2(b-2)=M2(b-1)−M2(b-2)の如く計算される。この計算においても第2和音差分値MR2(0)〜MR2(b-2)各々が0より小であるか否かを判別し、0より小の第2和音差分値には12を加算することが行われる。また、第2和音差分値MR2(0)〜MR2(b-2)各々には和音変化後の和音属性MA2(0)〜MA2(b-2)が付加される。なお、和音属性MA1(0)〜MA1(a-2),MA2(0)〜MA2(b-2)には図9(b)に示した数値が用いられる。
【0049】
図18はステップS82及びS83の動作例を説明している。すなわち、和音候補がAm7,Dm,C,F,Em,F,B♭#の列である場合に、和音差分値は5,10,5,11,1,5となり、和音変化後の和音属性は0x02,0x00,0x00,0x02,0x00,0x00となる。なお、和音変化後の和音属性がセブンスの場合にはそれに代えてメジャーとしている。セブンスを用いてもそれの比較演算結果への影響が小さいので、演算量を削減するためである。
【0050】
ステップS83の実行後、データ蓄積装置9に和音進行楽曲データとして蓄積されている楽曲の総楽曲数がZとして取得され(ステップS84)、カウンタ値Cが0に初期化される(ステップS85)。
データ蓄積装置9からC番目の和音進行楽曲データの第1和音候補がU1(0)〜U1(ua-1)として、第2和音候補がU2(0)〜U2(ub-1)として各々読み出される(ステップS86)。uaはC番目の和音進行楽曲データの第1和音候補の総数、ubはC番目の和音進行楽曲データの第2和音候補の総数である。
【0051】
読み出された第1和音候補U1(0)〜U1(ua-1)に対して第1和音差分値UR1(0)〜UR1(ua-2)が計算される(ステップS87)。ステップS87の第1和音差分値は、UR1(0)=U1(1)−U1(0),UR1(1)=U1(2)−U1(1),……,UR1(ua-2)=U1(ua-1)−U1(ua-2)の如く計算される。この計算では第1和音差分値UR1(0)〜UR1(ua-2)各々が0より小であるか否かを判別し、0より小の第1和音差分値には12を加算することが行われる。また、第1和音差分値UR1(0)〜UR1(ua-2)各々には和音変化後の和音属性UA1(0)〜UA1(ua-2)が付加される。読み出された第2和音候補U2(0)〜U2(ub-1)に対しても第2和音差分値UR2(0)〜UR2(ub-2)が計算される(ステップS88)。第2和音差分値は、UR2(0)=U2(1)−U2(0),UR2(1)=U2(2)−U2(1),……,UR2(ub-2)=U2(ub-1)−U2(ub-2)の如く計算される。この計算においても第2和音差分値UR2(0)〜UR2(ub-2)各々が0より小であるか否かを判別し、0より小の第2和音差分値には12を加算することが行われる。また、第2和音差分値UR2(0)〜UR2(ub-2)各々には和音変化後の和音属性UA2(0)〜UA2(ub-2)が付加される。
【0052】
入力楽曲音についてのステップS82にて得られた第1和音差分値MR1(0)〜MR1(a-2)及び和音属性MA1(0)〜MA1(a-2)並びにステップS83にて得られた第2和音差分値MR2(0)〜MR2(b-2)及び和音属性MA2(0)〜MA2(b-2)と、ステップS87にて得られた蓄積されたC番目の和音進行楽曲データについての第1和音差分値UR1(0)〜UR1(ua-2)及び和音属性UA1(0)〜UA1(ua-2)とに応じて相互相関演算が行われる(ステップS89)。相互相関演算では相関係数COR(t)が次式(3)の如く算出される。相関係数COR(t)が小さいほど類似性が高いことを示す。
COR(t)=Σ10(|UR1(t+n)-MR1(n')|+|UA1(t+n)-MA1(n')|
+|WU1(t+n+1)/WU1(t+n)-WM1(n'+1)/WM1(n')|)
+Σ10(|UR1(t+m)-MR2(m')|+|UA1(t+m)-MA2(m')|
+|WU1(t+m+1)/WU1(t+m)-WM2(m'+1)/WM2(m')|) ……(3)
ただし、WU1(),WM1(),WM2()は各和音が維持される時間幅、t=0〜ua−2、Σ演算はn=0〜a−2及びn'=0〜a−2,m=0〜b−2及びm'=0〜b−2である。
【0053】
ステップS89の相関係数COR(t)はtが0〜ua−2の範囲で各々算出される。また、ステップS89の相関係数COR(t)の演算では飛び越し処理が行われる。飛び越し処理においては、(UR1(t+n+n1)−MR1(n'+n2))の最小値が検出される。n1及びn2各々は0〜2までのいずれかの整数である。すなわち、n1及びn2各々を0〜2までの範囲で変化させて(UR1(t+n+n1)−MR1(n'+n2))の最小値となるときが検出される。そのときのn+n1が新たなnに、n'+n2が新たなn'とされる。また、(UR1(t+m+m1)−MR2(m'+m2))の最小値が検出される。m1及びm2各々は0〜2までのいずれかの整数である。すなわち、m1及びm2各々を0〜2までの範囲で変化させて(UR1(t+m+m1)−MR2(m'+m2))の最小値となるときが検出される。そのときのm+m1が新たなmに、m'+m2が新たなm'とされる。その後、式(3)に応じて相関係数COR(t)が算出される。
【0054】
更に、各時点の和音から変化後の和音が検索対象の和音進行楽曲データ及びC番目の和音進行楽曲データがC及びAmのいずれであっても、或いはCm及びE♭のいずれであっても同一とみなす。すなわち、変化後の和音が関係調の和音であれば、上記の式の|UR1(t+n)−MR1(n')|+|UA1(t+n)−MA1(n')|=0或いは|UR1(t+m)−MR2(m')|+|UA1(t+m)−MA2(m')|=0である。例えば、和音Fから一方のデータが7度差でメジャーに変化し、他方のデータが4度差でマイナーに変化した場合には同一とし、また和音Fから一方のデータが7度差でマイナーに変化し、他方のデータが10度差でメジャーに変化した場合にも同一として処理される。
【0055】
図19(a)はC番目の和音進行楽曲データと検索対象の和音進行楽曲データとの関係を示している。検索対象の和音進行楽曲データはtの進行に従ってC番目の和音進行楽曲データとの比較部分が変化する。図19(b)は相関係数COR(t)の変化を示している。
図19(c)はC番目の和音進行楽曲データと検索対象の和音進行楽曲データとの相互相関演算における、各和音が維持される時間幅WU(1)〜WU(5)、飛び越し処理部分及び関係調の部分を示している。C番目の和音進行楽曲データと検索対象の和音進行楽曲データとの間の矢印線は同一和音を示している。その矢印線のうちの同一時間にない傾いた矢印線で結ばれた和音は、飛び越し処理で検出された和音である。また、矢印線が波線になっているものは関係調の和音である。
【0056】
算出された相関係数COR(0)〜COR(ua-2)のうちから最小値がMIN[COR(t)]として検出され、それがそのままCOR_MIN(C)としてされる(ステップS90)。
更に、ステップS82にて得られた第1和音差分値MR1(0)〜MR1(a-2)及び和音属性MA1(0)〜MA1(a-2)並びにステップS83にて得られた第2和音差分値MR2(0)〜MR2(b-2)及び和音属性MA2(0)〜MA2(b-2)と、ステップS88にて得られた蓄積されたC番目の和音進行楽曲データについての第1和音差分値UR2(0)〜UR2(ub-2)及び和音属性UA2(0)〜UA2(ub-2)とに応じて相互相関演算が行われる(ステップS91)。この相互相関演算では相関係数COR(t)が次式(4)の如く算出される。
COR(t)=Σ10(|UR2(t+n)-MR1(n')|+|UA2(t+n)-MA1(n')|
+|WU2(t+n+1)/WU2(t+n)-WM1(n'+1)/WM1(n')|)
+Σ10(|UR2(t+m)-MR2(m')|+|UA2(t+m)-MA2(m')|
+|WU2(t+m+1)/WU2(t+m)-WM2(m'+1)/WM2(m')|) ……(4)
ただし、WU2(),WM1(),WM2()は各和音が維持される時間幅、t=0〜ub−2、Σ演算はn=0〜a−2及びn'=0〜a−2,m=0〜b−2及びm'=0〜b−2である。
【0057】
ステップS91の相関係数COR(t)はtが0〜ub−2の間で変化する範囲で各々算出される。また、ステップS91の相関係数COR(t)の演算では、先ず(UR2(t+n+n1)−MR1(n'+n2))の最小値が検出される。n1及びn2各々は0〜2までのいずれかの整数である。すなわち、n1及びn2各々を0〜2までの範囲で変化させて(UR2(t+n+n1)−MR1(n'+n2))の最小値となるときのn+n1が新たなnに、n'+n2が新たなn'とされる。また、(UR2(t+m+m1)−MR2(m'+m2))の最小値が検出される。m1及びm2各々は0〜2までのいずれかの整数である。すなわち、m1及びm2各々を0〜2までの範囲で変化させて(UR2(t+m+m1)−MR2(m'+m2))の最小値となるときのm+m1が新たなmに、m'+m2が新たなm'とされる。その後、式(4)に応じて相関係数COR(t)が算出される。
【0058】
更に、各時点の和音から変化後の和音が検索対象の和音進行楽曲データ及びC番目の和音進行楽曲データがC及びAmのいずれであっても、或いはCm及びE♭のいずれであっても同一とみなす。すなわち、変化後の和音が関係調の和音であれば、上記の式の|UR2(t+n)−MR1(n')|+|UA2(t+n)−MA1(n')|=0或いは|UR2(t+m)−MR2(m')|+|UA2(t+m)−MA2(m')|=0である。
【0059】
算出された相関係数COR(0)〜COR(ub-2)のうちから最小値がMIN[COR(t)]として検出され、それがCOR_MIN(C)に加算される(ステップS92)。
ステップS92の実行後、カウンタ値Cに1が加算され(ステップS93)、そのカウンタ値CがステップS84のZ−1より大であるか否かが判別される(ステップS94)。C≦Z−1であるならば、データ蓄積装置9に和音進行楽曲データとして蓄積されている全ての楽曲に対して相関係数COR(t)が算出されていない。よって、ステップS86に戻って上記のステップS86〜S94の動作が繰り返される。
【0060】
C>Z−1であるならば、全ての楽曲各々の相関係数最小値COR_MIN(0)〜COR_MIN(Z-1)を小さい順に楽曲名、ファイル名等の楽曲情報を結果表示装置12にリスト表示させる(ステップS95)。また、そのリストの第1番目の楽曲の楽曲データがデータ蓄積装置8から読み出されて楽曲再生装置13に供給される(ステップS96)。これにより、楽曲再生装置13は供給された楽曲データを順次再生し、それがディジタル信号としてディジタル/アナログ変換装置14に供給される。ディジタル/アナログ変換装置14においてアナログオーディオ信号に変換された後、スピーカ15から再生音が出力されることになる。この再生音は検索対象の和音進行楽曲データの楽曲音として可能性が最も高い楽曲音である。
【0061】
上記の検索再生処理のステップS81〜S94が類似度(相関係数COR(t))を算出する比較手段に相当し、ステップS95及びS96は検索出力を生成する出力手段に相当する。
かかる楽曲検索動作においては、検索対象の和音進行楽曲データと蓄積された複数の楽曲の和音進行楽曲データ各々とを和音変化時の和音の根音変化量(差分値)と変化後の和音の属性とについて比較するので、原曲に対して転調や編曲されたカバー曲やBGM曲のような楽曲を正確に検索することができる。
【0062】
また、テレビドラマやコマーシャルに用いられる楽曲のタイトルや歌手名が分からない場合には、上記の楽曲検索動作によって所望の楽曲についてのタイトルや歌手名等の楽曲情報を容易に入手することができる。
更に、検索対象の和音進行楽曲データと蓄積された複数の楽曲の和音進行楽曲データ各々とを和音変化時の和音の根音変化量と変化後の和音の属性とに加えて和音変化前後の和音の時間的長さの比について比較することにより、所望の楽曲をより正確に検索することができる。これは、楽曲全体の速度が編曲等によって変わっても全体的な各和音の時間的長さの比率に変化はなく、同一楽曲であれば互いに一致することに基づいている。
【0063】
また、上記した飛び越し処理及び関係調処理は、和音の変化前後の差分値の演算の際に入力楽曲音がアナログ信号である場合における外部雑音や入力装置の周波数特性の影響を排除するため、或いは入力楽曲音がデータ蓄積装置9に蓄積されている楽曲と編曲が異なるものであった場合にデータ蓄積装置9に蓄積されている楽曲と曲調がほぼ一致するものであっても和音進行データの和音の位置や属性が完全に一致しないことが起きるので、それを防止するために行われる。すなわち、一時的に和音進行が異なっても一定時間幅内で和音進行の傾向が類似していることを検出することができるので、比較する楽曲の編曲が互いに異なっていても同一楽曲であるか否かを正確に判別することができる。更に、飛び越し処理及び関係調処理を施すことによってその施した部分以外の相互相関演算においても正確な類似度を求めることができる。
【0064】
なお、上記した実施例においては、データベースを形成するデータ蓄積装置8,9が入力装置1〜4、和音解析装置7、和音進行比較装置11及び表示装置12等の装置と同一の位置に設けられているが、データ蓄積装置8,9及び和音進行比較装置11はそれ以外の装置とは異なる位置にサーバとして設けられてネットワークで入力装置1〜4、和音解析装置7及び表示装置12等の装置を含むクライアントと接続されるようにしても良い。この場合に、和音進行楽曲データは1楽曲当たり例えば、5Kバイトのように比較的小さいデータであるので、低速のネットワーク回線を利用してもクライアント側で入力された楽曲音に対してサーバ側で楽曲検索し、その検索結果をクライアント側で直ちに表示することができる。また、そのサーバはクライアント側で入力された楽曲の一部分に対応する楽曲部分だけの楽曲データをデータ蓄積装置8から読み出してクライアントに送信することによりクライアントでは検索結果をより早急に得ることができる。
【0065】
また、入力される検索対象の楽曲を示すオーディオ信号はビデオ信号を含んだ信号でも良い。データ蓄積装置8には楽曲データだけでなくそのビデオ信号をディジタル化したデータも記憶され、検索結果の楽曲の再生音と共に対応する映像が表示されるようにしても良い。
図20は本発明の他の実施例を示している。図20の楽曲処理システムにおいては、図1のシステム中の和音解析装置7、一時記憶メモリ10及び和音進行比較装置11がコンピュータ21によって形成されている。コンピュータ21は記憶装置22に記憶されたプログラムに応じて上記の和音解析動作及び楽曲検索動作を実行する。記憶装置22はハードディスクドライブに限らず、記録媒体のドライブ装置でも良い。その記録媒体のドライブ装置の場合には記録媒体に和音進行楽曲データを書き込むようにしても良い。
【0066】
以上のように、本発明によれば、和音進行楽曲データを複数の楽曲分蓄積した蓄積手段と、検索対象の和音進行楽曲データを生成する検索対象データ生成手段と、検索対象の和音進行楽曲データとその複数の楽曲の和音進行楽曲データ各々とを和音変化時の和音の根音変化量と変化後の和音の属性とについて比較して複数の楽曲毎の類似度を算出する比較手段と、その類似度の算出結果に応じた検索出力を生成する出力手段とを備えたことにより、複数の楽曲の中から所望の楽曲に対応した楽曲について簡単な構成で正確に検索することができる。
【図面の簡単な説明】
【図1】本発明を適用した楽曲処理システムの構成を示すブロック図である。
【図2】周波数誤差検出動作を示すフローチャートである。
【図3】A音を1.0とした場合の12音及び1オクターブ高いA音各々の周波数比を示す図である。
【図4】和音解析動作の本処理を示すフローチャートである。
【図5】帯域データの各音成分の強度レベル例を示す図である。
【図6】帯域データの各音成分の強度レベル例を示す図である。
【図7】4音からなる和音に対する3音からなる和音への変換を示す図である。
【図8】一時記憶メモリへの記録フォーマットを示す図である。
【図9】基本音及び和音の属性の表記方法、並びに和音候補の表記方法を示す図である。
【図10】和音解析動作の後処理を示すフローチャートである。
【図11】平滑化処理前の第1及び第2和音候補の時間変化を示す図である。
【図12】平滑化処理後の第1及び第2和音候補の時間変化を示す図である。
【図13】入れ替え処理後の第1及び第2和音候補の時間変化を示す図である。
【図14】和音進行楽曲データの作成方法及びそのフォーマットを示す図である。
【図15】楽曲検索動作のデータ入力処理を示すフローチャートである。
【図16】図15のデータ入力処理の続き部分を示すフローチャートである。
【図17】楽曲検索動作の検索再生処理を示すフローチャートである。
【図18】和音変化の和音差分値及び変化後の属性の例を示す図である。
【図19】C番目の和音進行楽曲データと検索対象の和音進行楽曲データとの関係、相関係数COR(t)の変化、並びに各和音が維持される時間幅、飛び越し処理部分及び関係調の部分を示している。
【図20】本発明の他の実施例として楽曲処理システムの構成を示すブロック図である。
【符号の説明】
6 アナログ/ディジタル変換装置
7 和音解析装置
8,9 データ蓄積装置
11 和音進行比較装置
13 楽曲再生装置
14 ディジタル/アナログ変換装置
21 コンピュータ
Claims (10)
- 楽曲の和音の時系列変化を示す和音進行楽曲データを複数の楽曲分蓄積した蓄積手段と、
オーディオ信号データとして入力された楽曲の少なくとも一部分の和音の時系列変化を示す検索対象の和音進行楽曲データを生成する検索対象データ生成手段と、
各和音変化での和音根音の変化量と各和音変化後の和音の種類を示す属性とに基づいて前記検索対象の和音進行楽曲データと前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々との間の類似度を算出する比較手段と、
前記比較手段によって算出された前記複数の楽曲各々の類似度に応じて前記複数の楽曲のうちの少なくとも1楽曲を示す検索出力を生成する出力手段と、を備えたことを特徴とする楽曲検索装置。 - 前記比較手段は、前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々の比較開始位置を逐次変化させて前記複数の楽曲の和音進行楽曲データ各々と前記検索対象の和音進行楽曲データとを比較することを特徴とする請求項1記載の楽曲検索装置。
- 前記比較手段は、前記検索対象の和音進行楽曲データと前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々とを和音変化時の和音の根音変化量と和音変化後の和音の種類を示す属性とに加えて和音変化前後の和音の時間的長さの比について比較して前記複数の楽曲毎の類似度を算出することを特徴とする請求項1記載の楽曲検索装置。
- 前記比較手段は、前記検索対象の和音進行楽曲データと前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々とを時間的に前後に飛び越して比較することを特徴とする請求項1記載の楽曲検索装置。
- 前記比較手段は、前記検索対象の和音進行楽曲データが示す和音変化後の和音と前記蓄積手段に蓄積された前記和音進行楽曲データが示す和音変化後の和音とが関係調にあるときその双方の和音変化後の和音を同一の和音とみなすことを特徴とする請求項1記載の楽曲検索装置。
- 前記検索対象の和音進行楽曲データと前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々とは和音変化時点毎に2つの和音を第1及び第2和音候補として有し、
前記比較手段は、前記検索対象の和音進行楽曲データの第1及び第2和音候補と前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々の第1及び第2和音候補とを相互に比較することを特徴とする請求項1記載の楽曲検索装置。 - 前記複数の楽曲毎に、楽曲を示す入力オーディオ信号を所定の時間毎に周波数成分の大きさを示す周波数信号に変換する周波数変換手段と、前記周波数変換手段によって得られた周波数信号から平均律の各音に対応した周波数成分を前記所定の時間毎に抽出する成分抽出手段と、
前記成分抽出手段によって抽出された各音に対応した周波数成分のうちのレベル合計が大となる3つの周波数成分の組によって各々形成される2つの和音を第1及び第2和音候補として検出する和音候補検出手段と、
前記和音候補検出手段によって繰り返し検出された前記第1及び第2和音候補各々の列を平滑化処理して前記蓄積手段に記憶させるべき前記和音進行楽曲データを生成する平滑化手段と、を備えたことを特徴とする請求項1又は6記載の楽曲検索装置。 - 前記検索対象データ生成手段は、楽曲を示す入力オーディオ信号を所定の時間毎に周波数成分の大きさを示す周波数信号に変換する周波数変換手段と、
前記周波数変換手段によって得られた周波数信号から平均律の各音に対応した周波数成分を前記所定の時間毎に抽出する成分抽出手段と、
前記成分抽出手段によって抽出された各音に対応した周波数成分のうちのレベル合計が大となる3つの周波数成分の組によって各々形成される2つの和音を第1及び第2和音候補として所定数だけ検出する和音候補検出手段と、
前記和音候補検出手段によって繰り返し検出された前記第1及び第2和音候補各々の列を平滑化処理して前記検索対象の前記和音進行楽曲データを生成する平滑化手段と、を備えたことを特徴とする請求項1又は6記載の楽曲検索装置。 - 楽曲の和音の時系列変化を示す和音進行楽曲データを複数の楽曲分蓄積した蓄積手段を備えた楽曲検索装置の楽曲検索方法であって、
検索対象データ生成手段がオーディオ信号データとして入力された楽曲の少なくとも一部分の和音の時系列変化を示す検索対象の和音進行楽曲データを生成する検索対象データ生成ステップと、
比較手段が各和音変化での和音根音の変化量と各和音変化後の和音の種類を示す属性とに基づいて前記検索対象の和音進行楽曲データと前記蓄積手段に蓄積された前記複数の楽曲の和音進行楽曲データ各々との間の類似度を算出する比較ステップと、
出力手段が前記比較ステップによって算出された前記複数の楽曲各々の類似度に応じて前記複数の楽曲のうちの少なくとも1楽曲を示す検索出力を生成する出力ステップと、を備えたことを特徴とする楽曲検索方法。 - オーディオ信号データとして入力された楽曲を検索するためのプログラムであって、コンピュータに、
楽曲の少なくとも一部分の和音の時系列変化を示す検索対象の和音進行楽曲データを生成する検索対象データ生成ステップと、
各和音変化での和音根音の変化量と各和音変化後の和音の種類を示す属性とに基づいて前記検索対象の和音進行楽曲データと蓄積手段に蓄積された複数の楽曲の和音進行楽曲データ各々との間の類似度を算出する比較ステップと、
前記比較ステップにおいて算出された前記複数の楽曲各々の類似度に応じて前記複数の楽曲のうちの少なくとも1楽曲を示す検索出力を生成する出力ステップと、を実行させることを特徴とするプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002352864A JP4313563B2 (ja) | 2002-12-04 | 2002-12-04 | 楽曲検索装置及び方法 |
DE60302420T DE60302420T2 (de) | 2002-12-04 | 2003-12-01 | Musiksuchgerät und -verfahren |
EP03027489A EP1426921B1 (en) | 2002-12-04 | 2003-12-01 | Music searching apparatus and method |
US10/724,902 US7288710B2 (en) | 2002-12-04 | 2003-12-02 | Music searching apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002352864A JP4313563B2 (ja) | 2002-12-04 | 2002-12-04 | 楽曲検索装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004185432A JP2004185432A (ja) | 2004-07-02 |
JP4313563B2 true JP4313563B2 (ja) | 2009-08-12 |
Family
ID=32310726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002352864A Expired - Fee Related JP4313563B2 (ja) | 2002-12-04 | 2002-12-04 | 楽曲検索装置及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7288710B2 (ja) |
EP (1) | EP1426921B1 (ja) |
JP (1) | JP4313563B2 (ja) |
DE (1) | DE60302420T2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4244133B2 (ja) * | 2002-11-29 | 2009-03-25 | パイオニア株式会社 | 楽曲データ作成装置及び方法 |
GB0230097D0 (en) * | 2002-12-24 | 2003-01-29 | Koninkl Philips Electronics Nv | Method and system for augmenting an audio signal |
JP2005173938A (ja) * | 2003-12-10 | 2005-06-30 | Pioneer Electronic Corp | 曲検索装置、曲検索方法及び曲検索用プログラム並びに情報記録媒体 |
KR20060073100A (ko) * | 2004-12-24 | 2006-06-28 | 삼성전자주식회사 | 특정 패턴 타입의 음원 미디어를 검색하는 음원 검색기 및그 동작방법 |
JP4650270B2 (ja) * | 2006-01-06 | 2011-03-16 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
JP2007219178A (ja) * | 2006-02-16 | 2007-08-30 | Sony Corp | 楽曲抽出プログラム、楽曲抽出装置及び楽曲抽出方法 |
US7705231B2 (en) * | 2007-09-07 | 2010-04-27 | Microsoft Corporation | Automatic accompaniment for vocal melodies |
JP4823804B2 (ja) * | 2006-08-09 | 2011-11-24 | 株式会社河合楽器製作所 | コード名検出装置及びコード名検出用プログラム |
CN101652807B (zh) | 2007-02-01 | 2012-09-26 | 缪斯亚米有限公司 | 音乐转录的方法、***及装置 |
WO2008101130A2 (en) * | 2007-02-14 | 2008-08-21 | Museami, Inc. | Music-based search engine |
US7528317B2 (en) * | 2007-02-21 | 2009-05-05 | Joseph Patrick Samuel | Harmonic analysis |
JP4389950B2 (ja) * | 2007-03-02 | 2009-12-24 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US8283546B2 (en) * | 2007-03-28 | 2012-10-09 | Van Os Jan L | Melody encoding and searching system |
US20080300702A1 (en) * | 2007-05-29 | 2008-12-04 | Universitat Pompeu Fabra | Music similarity systems and methods using descriptors |
JP5093806B2 (ja) * | 2008-02-11 | 2012-12-12 | 株式会社イクシコム | 類似音楽検索システム |
WO2009103023A2 (en) | 2008-02-13 | 2009-08-20 | Museami, Inc. | Music score deconstruction |
JP5290822B2 (ja) * | 2009-03-24 | 2013-09-18 | 株式会社エクシング | カラオケ装置、カラオケ装置の制御方法、及びカラオケ装置の制御プログラム |
JP5659648B2 (ja) * | 2010-09-15 | 2015-01-28 | ヤマハ株式会社 | コード検出装置およびコード検出方法を実現するためのプログラム |
JP5296813B2 (ja) * | 2011-01-19 | 2013-09-25 | ヤフー株式会社 | 楽曲レコメンド装置、方法及びプログラム |
JP2012194653A (ja) * | 2011-03-15 | 2012-10-11 | Nec Corp | データ処理装置、データ処理システム、データ処理方法およびプログラム |
GB2490877B (en) * | 2011-05-11 | 2018-07-18 | British Broadcasting Corp | Processing audio data for producing metadata |
GB2560458B (en) * | 2011-05-11 | 2019-01-30 | British Broadcasting Corp | Processing audio data for producing metadata |
US20120304062A1 (en) * | 2011-05-23 | 2012-11-29 | Speakertext, Inc. | Referencing content via text captions |
JP5935503B2 (ja) * | 2012-05-18 | 2016-06-15 | ヤマハ株式会社 | 楽曲解析装置および楽曲解析方法 |
JP6500870B2 (ja) * | 2016-09-28 | 2019-04-17 | カシオ計算機株式会社 | コード解析装置、方法、及びプログラム |
JP6500869B2 (ja) * | 2016-09-28 | 2019-04-17 | カシオ計算機株式会社 | コード解析装置、方法、及びプログラム |
JP6950470B2 (ja) * | 2017-11-07 | 2021-10-13 | ヤマハ株式会社 | 音響装置および音響制御プログラム |
KR102546902B1 (ko) * | 2021-08-05 | 2023-06-23 | 이유 | 음악 코드 기반 시각적 문서 편집 기능을 제공하는 서비스 제공 장치 및 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2624090B2 (ja) * | 1992-07-27 | 1997-06-25 | ヤマハ株式会社 | 自動演奏装置 |
US5440756A (en) * | 1992-09-28 | 1995-08-08 | Larson; Bruce E. | Apparatus and method for real-time extraction and display of musical chord sequences from an audio signal |
JP3433818B2 (ja) | 1993-03-31 | 2003-08-04 | 日本ビクター株式会社 | 楽曲検索装置 |
US5521323A (en) * | 1993-05-21 | 1996-05-28 | Coda Music Technologies, Inc. | Real-time performance score matching |
US5760325A (en) * | 1995-06-15 | 1998-06-02 | Yamaha Corporation | Chord detection method and apparatus for detecting a chord progression of an input melody |
JP3196604B2 (ja) * | 1995-09-27 | 2001-08-06 | ヤマハ株式会社 | 和音分析装置 |
US5952597A (en) * | 1996-10-25 | 1999-09-14 | Timewarp Technologies, Ltd. | Method and apparatus for real-time correlation of a performance to a musical score |
JPH10134549A (ja) | 1996-10-30 | 1998-05-22 | Nippon Columbia Co Ltd | 楽曲検索装置 |
US6166314A (en) * | 1997-06-19 | 2000-12-26 | Time Warp Technologies, Ltd. | Method and apparatus for real-time correlation of a performance to a musical score |
US5913259A (en) * | 1997-09-23 | 1999-06-15 | Carnegie Mellon University | System and method for stochastic score following |
US6057502A (en) * | 1999-03-30 | 2000-05-02 | Yamaha Corporation | Apparatus and method for recognizing musical chords |
JP4389330B2 (ja) * | 2000-03-22 | 2009-12-24 | ヤマハ株式会社 | 演奏位置検出方法および楽譜表示装置 |
-
2002
- 2002-12-04 JP JP2002352864A patent/JP4313563B2/ja not_active Expired - Fee Related
-
2003
- 2003-12-01 EP EP03027489A patent/EP1426921B1/en not_active Expired - Fee Related
- 2003-12-01 DE DE60302420T patent/DE60302420T2/de not_active Expired - Lifetime
- 2003-12-02 US US10/724,902 patent/US7288710B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7288710B2 (en) | 2007-10-30 |
EP1426921A1 (en) | 2004-06-09 |
DE60302420T2 (de) | 2006-08-03 |
EP1426921B1 (en) | 2005-11-23 |
DE60302420D1 (de) | 2005-12-29 |
JP2004185432A (ja) | 2004-07-02 |
US20040144238A1 (en) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4313563B2 (ja) | 楽曲検索装置及び方法 | |
JP4203308B2 (ja) | 楽曲構造検出装置及び方法 | |
JP4244133B2 (ja) | 楽曲データ作成装置及び方法 | |
JP4199097B2 (ja) | 楽曲自動分類装置及び方法 | |
US6188010B1 (en) | Music search by melody input | |
KR100893797B1 (ko) | 콘텐츠 검색 장치 및 방법과 통신 시스템 및 방법 | |
Marolt | A mid-level representation for melody-based retrieval in audio collections | |
US20060075883A1 (en) | Audio signal analysing method and apparatus | |
KR100512143B1 (ko) | 멜로디 기반 음악 검색방법과 장치 | |
US20070051230A1 (en) | Information processing system and information processing method | |
KR20060019096A (ko) | 허밍 기반의 음원 질의/검색 시스템 및 그 방법 | |
JP4202964B2 (ja) | 映像データへの楽曲データ付加装置 | |
JP2003058147A (ja) | 音楽コンテンツ自動分類装置及び自動分類方法 | |
KR100468971B1 (ko) | 멜로디 기반 검색이 가능한 음악 재생장치 | |
JPWO2006062064A1 (ja) | 楽曲処理装置 | |
JP3934556B2 (ja) | 信号識別子の抽出方法及びその装置、信号識別子からデータベースを作成する方法及びその装置、及び、検索時間領域信号を参照する方法及びその装置 | |
JP2014109603A (ja) | 演奏評価装置、演奏評価方法 | |
JP2012159717A (ja) | 楽曲データの変化点検出装置、楽曲データの変化点検出方法及び楽曲データの変化点検出プログラム | |
EP2355104A1 (en) | Apparatus and method for processing audio data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090323 |
|
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: 20090512 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4313563 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140522 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |