JP5127982B2 - 音楽検索装置 - Google Patents
音楽検索装置 Download PDFInfo
- Publication number
- JP5127982B2 JP5127982B2 JP2011501362A JP2011501362A JP5127982B2 JP 5127982 B2 JP5127982 B2 JP 5127982B2 JP 2011501362 A JP2011501362 A JP 2011501362A JP 2011501362 A JP2011501362 A JP 2011501362A JP 5127982 B2 JP5127982 B2 JP 5127982B2
- Authority
- JP
- Japan
- Prior art keywords
- pitch
- search
- music
- unit
- feature vector
- 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
- 238000000605 extraction Methods 0.000 claims description 88
- 239000013598 vector Substances 0.000 claims description 66
- 238000012545 processing Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 8
- 239000011295 pitch Substances 0.000 description 173
- 238000004364 calculation method Methods 0.000 description 49
- 230000001755 vocal effect Effects 0.000 description 37
- 239000011159 matrix material Substances 0.000 description 36
- 230000005236 sound signal Effects 0.000 description 23
- 238000000034 method Methods 0.000 description 22
- 238000001228 spectrum Methods 0.000 description 15
- 238000013500 data storage Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013518 transcription Methods 0.000 description 2
- 230000035897 transcription Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/0008—Associated control or indicating means
-
- 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/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/066—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
-
- 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Acoustics & Sound (AREA)
- Auxiliary Devices For Music (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Electrophonic Musical Instruments (AREA)
Description
この発明は、楽曲を検索する音楽検索装置に関するものである。
楽曲を検索する従来の技術として、ハミング歌唱を手掛かりとした曲の旋律に基づいて楽曲を検索する方法が提案されている(例えば、特許文献1,2、非特許文献1〜3)。この方法では、入力されたハミング歌唱に基づく検索キーと、曲の旋律データに基づく検索キーとを照合することにより、所望の楽曲が検索される。
ハミング歌唱に基づく検索キーは、ハミングの各音符区間で算出した音高(音程)で構成される音高系列から相対音高を求めることにより作成される。
また、曲の旋律データに基づく検索キーは、当該曲の旋律データから抽出した音高系列を用いて、ハミング側と同様の処理で作成される。なお、曲の旋律データには、MIDIデータが用いられ、MIDIデータは楽曲提供者から供給されるため、採譜の誤りは殆どない。
また、曲の旋律データに基づく検索キーは、当該曲の旋律データから抽出した音高系列を用いて、ハミング側と同様の処理で作成される。なお、曲の旋律データには、MIDIデータが用いられ、MIDIデータは楽曲提供者から供給されるため、採譜の誤りは殆どない。
また、楽曲の検索には、音符を単位とするDP(Dynamic Programming)マッチングを用いる。例えば、非特許文献3に開示されるような、曲中の歌唱の類似度と照合区間との両方を検出するスポッティング検索が可能な連続DPが用いられる。
楽曲から旋律データを抽出する従来の技術として、非特許文献4には、楽曲中の主旋律となるボーカルパートの旋律データを抽出する、ボーカルパートに限定した基本周波数推定手法が開示されている。
さらに、非特許文献5には、ステレオで収録された音楽音響信号から個々の音源を分離する従来の技術として、左右のチャンネルの信号の周波数成分ごとの音量比を用いて、曲全体をクラスタリングする方法が提案されている。
園田智也、外2名、「WWW上での歌声による曲検索システム」、電子情報通信学会論文誌、Vol.J82−D−II、No.4、pp.721−731、1999年4月
蔭山哲也、高島洋典、「ハミング歌唱を手掛かりとするメロディ検索」、電子情報通信学会論文誌Vol.J77−D−II、No.8、pp.1543−1551、1994年8月
橋口博樹、外4名、「モデル依存傾斜制限型の連続DPを用いた鼻歌入力による楽曲信号のスポッティング検索」、電子情報通信学会論文誌、Vol.J84−D−II、No.12、pp.2479−2488、2001年12月
藤原弘将、外2名、「歌声GMMとビタビ探索を用いた多重相中のボーカルパートに限定した基本周波数推定手法」、情報処理学会 音楽情報科学研究会 研究報告2007−MUS−71(20)、Vol.2007、No.81、pp.119−126、2007年8月2日
三輪明宏、守田了、「ステレオ音響信号を用いた三重奏に対する自動採譜」、電子情報通信学会論文誌、Vol.J84−D−II、No.7、pp.1251−1260、2001年7月
従来の技術では、入力された歌唱音声やハミングから音符区間を推定し、当該音符区間の音高推定等を行って音高や音長を求め、得られた音高や音長の時系列に基づいて、楽曲の旋律データを検索していた。このため、歌唱者の歌唱に変動があると、音符区間や音高に誤りが生じ、楽曲の検索誤りが発生するという課題があった。
また、検索対象となる楽曲の旋律データから検索キーを作成していたため、旋律データが存在しない曲の検索ができないという課題があった。
また、検索対象となる楽曲の旋律データから検索キーを作成していたため、旋律データが存在しない曲の検索ができないという課題があった。
この発明は、上記のような課題を解決するためになされたもので、旋律データが存在しない楽曲の検索を可能とし、かつピッチ周波数の抽出に起因した検索誤りの発生を防止できる音楽検索装置を得ることを目的とする。
この発明に係る音楽検索装置は、検索入力からピッチ周波数系列を抽出し、当該ピッチ周波数系列から所定の時間窓毎に切り出した系列に対して、当該切り出した系列が取り得るピッチ曲線の形状を表す所定の関数で得られる関数値との内積演算を行うことにより、検索入力の旋律の特徴を表す特徴ベクトル時系列を生成する第1の特徴抽出部と、検索対象からピッチ周波数系列を抽出し、当該ピッチ周波数系列から所定の時間窓毎に切り出した系列に対して、前記所定の関数で得られる関数値との内積演算を行うことにより、検索対象の旋律の特徴を表す特徴ベクトル時系列を生成する第2の特徴抽出部と、検索入力の特徴ベクトル時系列と検索対象の特徴ベクトル時系列との間で照合を行って、検索入力の特徴ベクトル時系列の、検索対象の特徴ベクトル時系列における照合位置及び類似度を算出し、当該類似度に基づいて検索対象から楽曲を検索する検索部とを備えるものである。
この発明によれば、検索入力となる歌唱及び検索対象となる曲データの旋律を表現するピッチ周波数系列を推定し、当該ピッチ周波数系列から所定の時間窓で切り出した系列に対し、当該系列が取り得るピッチ曲線の形状を表す関数で得られる関数値との内積演算を行うことにより旋律の特徴量を求め、求めた特徴量のベクトルからなる特徴ベクトル時系列で入力歌唱と検索対象曲との旋律を照合し、この照合結果に基づいて検索対象曲から所望の楽曲を検索する。このように構成することにより、旋律データが存在しない曲の検索が可能となり、ピッチ周波数の抽出に起因した検索誤りを防止することができるという効果がある。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1は、この発明の実施の形態1による音楽検索装置の構成を示すブロック図である。図1において、実施の形態1による音楽検索装置は、音声入力部2、特徴抽出部3,8、曲取込部5、曲データ記憶部6、ボーカル強調部7、索引記憶部9及び検索部10を備える。音声入力部2は、歌唱者が発した歌唱者音声1を入力して音声信号として出力する構成部であり、音声を収音するマイクや収音されたアナログの音声信号をデジタル信号に変換するA/D変換器等から構成される。
実施の形態1.
図1は、この発明の実施の形態1による音楽検索装置の構成を示すブロック図である。図1において、実施の形態1による音楽検索装置は、音声入力部2、特徴抽出部3,8、曲取込部5、曲データ記憶部6、ボーカル強調部7、索引記憶部9及び検索部10を備える。音声入力部2は、歌唱者が発した歌唱者音声1を入力して音声信号として出力する構成部であり、音声を収音するマイクや収音されたアナログの音声信号をデジタル信号に変換するA/D変換器等から構成される。
特徴抽出部(第1の特徴抽出部)3は、音声入力部2から入力した音声信号から、歌唱者音声(検索入力)1の旋律を表す特徴ベクトル時系列を抽出する構成部であって、ピッチ抽出部31、重み計算部32、窓部33a,33b、係数行列部34及び内積演算部35を備える。ピッチ抽出部31は、音声入力部2から出力される音声信号サンプルを所定の時間窓内でフレームとして取得し、取得したフレーム毎にピッチ周波数を推定する構成部である。重み計算部32は、ピッチ抽出部31で推定されたピッチ周波数の確からしさを表す数値(確度)である重み係数を算出する構成部である。
窓部33aは、ピッチ抽出部31から出力されたピッチ周波数系列から所定の時間窓内に含まれるピッチ周波数のサンプル系列を切り出す構成部である。窓部33bは、重み計算部32から出力された重み係数の重み系列から、窓部33aで切り出されたピッチ周波数のサンプル系列に対応する、所定の時間窓内に含まれる重み係数のサンプル系列を切り出す構成部である。
係数行列部34は、内積演算部35が使用する係数行列を格納する記憶部であり、例えば(M+1)行×N列の係数行列を格納する。ここで、Nは、内積演算における時間窓の幅であり、(M+1)は内積を計算する関数値の数である。また、係数行列の各行には、窓部33aによって窓幅N毎に切り出されたピッチ周波数のサンプル系列が取り得るピッチ曲線の形状を表す関数の関数値が格納される。内積演算部35は、窓部33aで切り出されたサンプル系列と係数行列部34中の係数行列とに対して、窓部33bで切り出された上記サンプル系列に対応する重み係数を加重として内積演算を行う構成部である。
曲取込部5は、検索対象の曲データを取り込む構成部であり、外部機器との間のインタフェースやネットワークを介した通信処理部等から構成され、CDや携帯音楽プレーヤー及びネットワーク上の音楽サイト等に格納された音楽メディア4から、少なくとも楽曲の音楽音響信号を含む曲データを取り込む。曲データ記憶部6は、曲取込部5により取り込まれた曲データを格納する記憶部である。ボーカル強調部(強調処理部)7は、曲データ記憶部6から読み出した曲データに含まれる楽曲の音楽音響信号におけるボーカル成分を強調する構成部である。
特徴抽出部(第2の特徴抽出部)8は、ボーカル強調部7でボーカル成分が強調された音楽音響信号(検索対象)から旋律を表す特徴ベクトル時系列を抽出する構成部であり、ピッチ抽出部81、重み計算部82、窓部83a,83b、係数行列部84及び内積演算部85を備える。ピッチ抽出部81は、ボーカル強調部7から入力した音楽音響信号をフレームとして取得し、ピッチ抽出部31と同様な手法で、取得したフレーム毎にピッチ周波数を推定する構成部である。重み計算部82は、ピッチ抽出部81で推定されたピッチ周波数の確からしさを表す数値である重み係数を算出する構成部である。
窓部83aは、ピッチ抽出部81から出力されたピッチ周波数系列から、所定の時間窓内に含まれるピッチ周波数のサンプル系列を切り出す構成部である。窓部83bは、重み計算部82から出力された重み係数の重み系列から、窓部83aで切り出されたピッチ周波数のサンプル系列に対応する、所定の時間窓内に含まれる重み係数のサンプル系列を切り出す構成部である。
係数行列部84は、内積演算部85が使用する係数行列を格納する記憶部であり、特徴抽出部3の係数行列部34と同一の係数行列を格納する。内積演算部85は、窓部83aで切り出されたサンプル系列と係数行列部84中の係数行列とに対して、窓部83bで切り出された上記サンプル系列に対応する重み係数を加重として内積演算を行う構成部である。
索引記憶部9は、特徴抽出部8で抽出された特徴ベクトル時系列を、曲データ記憶部6に格納されている曲データに対応付けて記憶する記憶部である。検索部10は、特徴抽出部3で抽出された特徴ベクトル時系列と、索引記憶部9から読み出した特徴ベクトル時系列との間で照合を行い、この照合結果に基づいて索引記憶部9の特徴ベクトル時系列に対応する曲データを曲データ記憶部6から検索し、検索結果11として出力する構成部であり、上記照合を実行する照合部101及び検索結果11を生成して出力する出力部102を備える。
次に動作について説明する。
(1)検索動作の概要
先ず、音声入力部2が、歌唱者音声1を入力し、マイク及びA/D変換器等によって、サンプリング周波数44.1kHzのPCM(Pulse Code Modulation)信号として当該歌唱者音声1から得られるデジタル化された音声信号を出力する。特徴抽出部3は、音声入力部2からの音声信号を入力し、当該音声信号から歌唱者音声1に含まれる旋律情報を表す特徴量のベクトルの時系列である特徴ベクトル系列を抽出して出力する。
(1)検索動作の概要
先ず、音声入力部2が、歌唱者音声1を入力し、マイク及びA/D変換器等によって、サンプリング周波数44.1kHzのPCM(Pulse Code Modulation)信号として当該歌唱者音声1から得られるデジタル化された音声信号を出力する。特徴抽出部3は、音声入力部2からの音声信号を入力し、当該音声信号から歌唱者音声1に含まれる旋律情報を表す特徴量のベクトルの時系列である特徴ベクトル系列を抽出して出力する。
一方、ボーカル強調部7は、曲データ記憶部6から読み出した曲データの音楽音響信号に後述する処理を施して、楽曲中のボーカル成分を強調した音楽音響信号を生成して出力する。特徴抽出部8は、ボーカル強調部7から入力したボーカル成分が強調された音楽音響信号から、当該音楽音響信号の元になった曲データに含まれる旋律の特徴を表す特徴量のベクトルを成分とする特徴ベクトル時系列を抽出する。
この後、特徴抽出部8は、抽出した特徴ベクトル時系列を、その元になった曲データに対応付けて索引記憶部9へ格納する。例えば、曲データ記憶部6に格納されている曲データ毎に曲番号が付されている場合であれば、元になった曲データの曲番号とともに索引記憶部9に記憶される。
検索部10は、特徴抽出部3から入力した特徴ベクトル時系列と、索引記憶部9から読み出した特徴ベクトル時系列との間で連続DPによる系列間の照合を行い、曲中の照合位置及び類似度を計算し、類似度の高い候補から順に検索結果11として出力する。
(2)特徴抽出部3による動作(検索入力側の特徴抽出過程)
特徴抽出部3のピッチ抽出部31は、音声入力部2から出力されるサンプリングされた音声信号に対して、40ミリ秒の間隔(サンプル数で1764点の間隔)で、長さNP=8192点の時間窓を時間軸方向に移動しながら、この時間窓をかけた音声信号サンプルをフレームとして取得し、取得されたフレームに対して周知のケプストラム法によるピッチ抽出を行って、フレーム毎にピッチ周波数を推定する。
特徴抽出部3のピッチ抽出部31は、音声入力部2から出力されるサンプリングされた音声信号に対して、40ミリ秒の間隔(サンプル数で1764点の間隔)で、長さNP=8192点の時間窓を時間軸方向に移動しながら、この時間窓をかけた音声信号サンプルをフレームとして取得し、取得されたフレームに対して周知のケプストラム法によるピッチ抽出を行って、フレーム毎にピッチ周波数を推定する。
ここで、ケプストラムは、上記時間窓で切り出された音声信号サンプルに対し、FFT演算、絶対値演算及び対数演算を施して求めた対数振幅周波数スペクトルを、さらに逆FFT演算することにより得られる波形である。また、ピッチ抽出とは、このケプストラム波形からピッチ周期に対応するピークを検出し、このピークの位置(時間の次元を持つ)の逆数としてピッチ周波数を求める方法である。
なお、ピッチ抽出には様々な方法があるが、この実施の形態1では、対数振幅周波数スペクトル上に広がるボーカル成分の調波構造を検出するため、ケプストラム法を用いる。ケプストラムを算出する対数スペクトルの周波数範囲はボーカルの主要な成分が存在する領域とする。具体的には、サンプリング周波数44.1kHzの信号を1/4のサンプリング周波数11.025kHzにダウンサンプリングしてから、対数振幅周波数スペクトルを求め、0〜5512.5Hzに帯域制限された対数振幅周波数スペクトルからケプストラムを求める。この後、ケプストラムの波形上で、ピッチ周期に対応するピークのうちから閾値を超えるピークを検出する。ケプストラムピークに関する閾値としては、例えば0.2とする。
図2は、検索入力側の特徴抽出過程を説明するための図である。図2(a)には、入力された歌唱者音声1のスペクトログラムの一例を示している。ピッチ抽出部31は、このスペクトログラムを対象としてピッチ周波数の推定を実行する。
図2(b)は、図2(a)のスペクトログラムから得たピッチ周波数のグラフであり、横軸は時間、縦軸はピッチ周波数(単位はセント)である。Hz単位の周波数とセント単位の周波数は、下記式(1)により換算することができる。
また、以降の説明では、入力歌唱のj番目のフレームにおけるピッチ周波数をy(j)で表すこととする。ここで、j=1,2,・・・,J(Jは、入力歌唱のフレーム数)である。なお、ピッチ周波数の検出されなかったフレームのピッチ周波数は0とする。
図2(b)は、図2(a)のスペクトログラムから得たピッチ周波数のグラフであり、横軸は時間、縦軸はピッチ周波数(単位はセント)である。Hz単位の周波数とセント単位の周波数は、下記式(1)により換算することができる。
また、以降の説明では、入力歌唱のj番目のフレームにおけるピッチ周波数をy(j)で表すこととする。ここで、j=1,2,・・・,J(Jは、入力歌唱のフレーム数)である。なお、ピッチ周波数の検出されなかったフレームのピッチ周波数は0とする。
次に、重み計算部32は、ピッチ抽出部31で推定されたピッチ周波数の確からしさを表す数値である重み係数を算出する。重み係数としては、ピッチ周波数の確からしさを表す数値であれば、どのようなものでもかまわない。例えば、図2(c)に示すように、ピッチ周波数の重み係数として、ピッチ抽出部31で得られたケプストラム法によるケプストラム波形上のピッチ周期に対応するピークの高さを用いてもよい。以下、j番目のフレームにおける重み係数をw(j)(j=1,2,・・・,J)とする。
係数行列部34に格納される係数行列は、内積演算における窓の幅をNとし、内積を計算する関数値の数を(M+1)とした場合、(M+1)行×N列の行列となる。また、係数行列の各行には、ピッチ曲線の形状を表す関数値が格納される。なお、各行の関数値を与える関数は、ピッチ曲線の形状を表す関数であれば、どのようなものでもかまわない。この実施の形態1では、各行の関数値を与える関数として、周期によって大局的な形状から詳細な特徴を表すことができるコサイン関数を用いる。
具体的には、コサイン関数の周期を表すインデックスをm(1≦m≦M+1)とし、係数行列のm行n列の値をC(m,n)(1≦n≦N)とすれば、係数行列のm行n列の値は、下記式(2)を用いて算出することができる。ここで、nは窓の先頭を1とする相対的なフレーム時刻である。また、mは周期を決めるインデックスであり、時間窓内の関数形状は、m=1のとき一定値、m=2のときは約半周期分の余弦波形状に対応する。
なお、以降の説明では、窓の幅NをN=64、MをM=5と設定する。図2(d)に係数行列の1〜4行に格納されている関数形状(この場合、コサイン関数)を例示する。
なお、以降の説明では、窓の幅NをN=64、MをM=5と設定する。図2(d)に係数行列の1〜4行に格納されている関数形状(この場合、コサイン関数)を例示する。
窓部33aでは、ピッチ抽出部31が出力するピッチ周波数系列から、j番目のフレームを中心として時間窓内に含まれるピッチ周波数のN個のサンプル系列y(j+n)(n=−N/2,1−N/2,2−N/2,・・・,N/2−1)が切り出される。ここで、中心フレームの番号jは、音声の開始フレーム1から終了フレームJまでに1フレームを単位として逐次更新される。なお、添え字が範囲外の値は全て0とみなす(即ち、j≦0又はj>Jとなるjに対してy(j)=0とする)。
また、窓部33bは、重み計算部32が出力する重み系列からj番目のフレームを中心として時間窓内に含まれる重み係数のN個のサンプル系列w(j+n)(n=−N/2,−N/2+1,−N/2+2,・・・,N/2−1)を切り出す。
内積演算部35は、窓部33aにより切り出されたピッチ周波数のN個のサンプル系列と係数行列部34から読み出した係数行列とに対し、窓部33bで切り出されたサンプル系列の重み係数を加重として、下記式(3)に従って内積演算を行う。下記式(3)において、Y(j,m)は、j番目のフレームを中心とするピッチと重み係数との積からなる系列{y(j+n)w(j+n)|n=−N/2,−N/2+1,・・・,N/2−1}と、m番目の係数系列{C(m,n)|n=1,2,・・・、N}との間での内積を重み係数の総和で除した値である。このように内積演算に重みをつけることにより、重みが小さい(即ち、不確実性の大きい)フレームにおけるピッチの特徴量に占める影響を小さくすることができる。
上述の内積演算を各フレームについて行うことにより、(M+1)次元の特徴ベクトルY(j,*)(1≦*≦M+1)のフレームにわたる系列{Y(1,*),・・・,Y(J,*)}が得られる。このようにして得られた特徴ベクトル時系列を図2(e)に例示する。なお、図2(e)において、特徴ベクトル時系列a0がインデックスm=1に対応し、特徴ベクトル時系列a1がインデックスm=2、特徴ベクトル時系列a2がインデックスm=3、特徴ベクトル時系列a3がインデックスm=4に対応する。図2(e)に示すような特徴ベクトル時系列が、内積演算部35から検索部10へ出力される。
(3)ボーカル強調部7の動作(ボーカル強調処理)
この実施の形態1では、演歌、ポップス曲等のステレオで収録されたボーカル曲を検索の対象とする。ボーカル強調部7では、曲の主旋律成分が中央定位することが多いという事実に基づいて、ステレオ曲の中央定位成分を強調したモノラル音響信号を出力する。
即ち、ボーカル強調部7は、曲データ記憶部6に格納されるステレオ曲の左右チャンネルの音楽音響信号から、中央定位成分が強調されたモノラル音楽音響信号を生成することにより、ステレオ中央に定位した歌手の歌唱成分(ボーカル)を強調した音楽音響信号を出力する。
この実施の形態1では、演歌、ポップス曲等のステレオで収録されたボーカル曲を検索の対象とする。ボーカル強調部7では、曲の主旋律成分が中央定位することが多いという事実に基づいて、ステレオ曲の中央定位成分を強調したモノラル音響信号を出力する。
即ち、ボーカル強調部7は、曲データ記憶部6に格納されるステレオ曲の左右チャンネルの音楽音響信号から、中央定位成分が強調されたモノラル音楽音響信号を生成することにより、ステレオ中央に定位した歌手の歌唱成分(ボーカル)を強調した音楽音響信号を出力する。
図3は、図1中のボーカル強調部7の構成を示すブロック図である。図3において、ボーカル強調部7は、信号分離部702、窓部704L,704R、FFT部705L,705R、ピーク検出部706L,706R、一致評価部707、音量比計算部708、ゲイン計算部709、低域補正部710、加算平均部711、ゲイン乗算部712、逆FFT部714及びオーバーラップ加算部715を備える。
信号分離部702は、曲データ記憶部6から読み出されたステレオ曲の曲入力信号701を入力して、左チャンネルの音楽音響信号703Lと右チャンネルの音楽音響信号703Rとに分離し、窓部704L,704Rへそれぞれ出力する。窓部704L,704Rでは、信号分離部702から入力した左右の各チャンネルの音楽音響信号703L,703Rから、時間窓関数に基づく信号サンプルで構成されるフレームをそれぞれ切り出し、FFT部705L,705Rへ出力する。
FFT部705L,705Rは、窓部704L,704Rによりそれぞれ切り出されたフレームに対して、長さNF点(NF=8192)のFFT(Fast Fourier Transform)による周波数分析を行い、左右の各チャンネルの短時間周波数スペクトル(複素周波数スペクトル)Zk L,Zk Rを求める。ここで、kは離散周波数、L,Rは左右の各チャンネルを表す。
次に、ピーク検出部706L,706Rは、左右の各チャンネルの短時間周波数スペクトルZk L,Zk Rに対し、振幅スペクトル|Zk L|,|Zk R|上で調波構造成分に対応するローカルピークを検出する。一致評価部707は、ピーク検出部706L,706Rからのピーク検出結果を入力して、左右のチャンネル間で周波数位置が一致又は近接する(つまり、周波数位置の差がΔ以下である)ローカルピーク位置の集合Peaksを求める。例えば、Δ=2であるものとする。
音量比計算部708は、一致評価部707で求めたローカルピーク位置集合Peaks中の各ローカルピーク位置i(i∈Peaks)について、下記式(4a)に従って、左右チャンネル間の音量比riを求める。
ゲイン計算部709では、下記式(4c)に基づいて、周波数領域で、各ローカルピークi∈Peaksを中心とし、高さがg(ri)であるインパルス列とバンド幅が2b+1であるインパルス応答hkを畳込みゲインGkを求める。
ここで、g(ri)は、下記式(4b)で表されるゲイン関数である。この関数は、音量比rが1でゲインが1となり、音量比rが1から離れるに従って、ゲインが0に近づき、音量比rが閾値rθ以下であると、ゲインが0となる。
なお、このゲイン関数は、音量比rに対してゲインg(r)が図4に示すような特性を有する。
また、低域補正部710は、ゲイン計算部709の出力のゲインにおける低い周波数領域に残存するベース音の成分を抑圧するため、下記式(4e)に従って、遷移領域[Fb1,Fb2]でゲインが0から1まで直線的に増加する低域遮断特性HPFkを求める。
一方、加算平均部711は、FFT部705L,705Rによって得られた左右の各チャンネルの複素周波数スペクトルの加算平均を算出する。ゲイン乗算部712では、加算平均部711からの複素周波数スペクトルに対し、下記式(4f)に従って、ゲインGkと低域遮断特性HPFkとを乗算することにより、モノラルの複素周波数スペクトル713(複素周波数スペクトルZk C)を得る。
逆FFT部714は、ゲイン乗算部712で得られた複素周波数スペクトル713に対して逆FFT処理を施すことにより、信号波形に戻す。オーバーラップ加算部715は、このようにして戻されたフレーム単位の信号波形に対し、オーバーラップ加算法に従ってフレーム間で重み付け重畳加算を実行することで、最終的に、ボーカル成分が強調されたモノラル音響信号716を生成し出力する。なお、rθは、例えばrθ=0.8であり、bは、例えばb=6であるものとする。
ゲイン計算部709では、下記式(4c)に基づいて、周波数領域で、各ローカルピークi∈Peaksを中心とし、高さがg(ri)であるインパルス列とバンド幅が2b+1であるインパルス応答hkを畳込みゲインGkを求める。
ここで、g(ri)は、下記式(4b)で表されるゲイン関数である。この関数は、音量比rが1でゲインが1となり、音量比rが1から離れるに従って、ゲインが0に近づき、音量比rが閾値rθ以下であると、ゲインが0となる。
なお、このゲイン関数は、音量比rに対してゲインg(r)が図4に示すような特性を有する。
また、低域補正部710は、ゲイン計算部709の出力のゲインにおける低い周波数領域に残存するベース音の成分を抑圧するため、下記式(4e)に従って、遷移領域[Fb1,Fb2]でゲインが0から1まで直線的に増加する低域遮断特性HPFkを求める。
一方、加算平均部711は、FFT部705L,705Rによって得られた左右の各チャンネルの複素周波数スペクトルの加算平均を算出する。ゲイン乗算部712では、加算平均部711からの複素周波数スペクトルに対し、下記式(4f)に従って、ゲインGkと低域遮断特性HPFkとを乗算することにより、モノラルの複素周波数スペクトル713(複素周波数スペクトルZk C)を得る。
逆FFT部714は、ゲイン乗算部712で得られた複素周波数スペクトル713に対して逆FFT処理を施すことにより、信号波形に戻す。オーバーラップ加算部715は、このようにして戻されたフレーム単位の信号波形に対し、オーバーラップ加算法に従ってフレーム間で重み付け重畳加算を実行することで、最終的に、ボーカル成分が強調されたモノラル音響信号716を生成し出力する。なお、rθは、例えばrθ=0.8であり、bは、例えばb=6であるものとする。
図5は、元の音楽音響信号のスペクトログラム、そのピッチ抽出結果及びボーカル強調した後の音楽音響信号のスペクトログラム並びにそのピッチ抽出結果の一例を示す図である。音楽音響信号のスペクトログラムは、図5(a)及び図5(c)に示すように、色の濃さがスペクトル成分の強度に対応している。
図5の例では、図5(a)に示す元の音楽音響信号において、歌手の歌唱と背景にピアノ演奏が入っているため、図5(b)に示すように、元の音楽音響信号からは歌唱のピッチ抽出が困難な箇所がある。
一方、図5(c)に示すボーカル強調した後の音楽音響信号では、ピアノの演奏成分が抑圧されて、歌手の歌唱成分が強調されるため、図5(d)に示すように、歌唱のピッチ抽出が容易となっている。
一方、図5(c)に示すボーカル強調した後の音楽音響信号では、ピアノの演奏成分が抑圧されて、歌手の歌唱成分が強調されるため、図5(d)に示すように、歌唱のピッチ抽出が容易となっている。
(4)特徴抽出部8による動作(検索対象側の特徴抽出過程)
特徴抽出部8は、ボーカル強調部7によってボーカル成分を強調されたモノラルの音楽音響信号を入力し、当該音楽音響信号から曲データの旋律の特徴を抽出する。
先ず、ピッチ抽出部81は、ボーカル強調部7から出力される、図6(a)に示すような曲スペクトログラムを与えるモノラルの音楽音響信号を、所定の時間窓によるフレームを処理単位として入力する。この後、ピッチ抽出部31と同様な処理で、ケプストラムを求め、当該ケプストラム波形上のピッチ周期に対応するピークの位置からピッチ周波数を推定して、フレーム毎に推定したピッチ周波数の系列(図6(b)参照)を出力する。
なお、以降の説明では、曲番号kの曲データにおけるi番目のフレームのピッチ周波数をx(i;k)とする。ここで、1≦k≦Kとして、Kは、検索対象の曲数とする。
特徴抽出部8は、ボーカル強調部7によってボーカル成分を強調されたモノラルの音楽音響信号を入力し、当該音楽音響信号から曲データの旋律の特徴を抽出する。
先ず、ピッチ抽出部81は、ボーカル強調部7から出力される、図6(a)に示すような曲スペクトログラムを与えるモノラルの音楽音響信号を、所定の時間窓によるフレームを処理単位として入力する。この後、ピッチ抽出部31と同様な処理で、ケプストラムを求め、当該ケプストラム波形上のピッチ周期に対応するピークの位置からピッチ周波数を推定して、フレーム毎に推定したピッチ周波数の系列(図6(b)参照)を出力する。
なお、以降の説明では、曲番号kの曲データにおけるi番目のフレームのピッチ周波数をx(i;k)とする。ここで、1≦k≦Kとして、Kは、検索対象の曲数とする。
次に、重み計算部82は、重み計算部32と同様な処理で、ピッチ抽出部81で推定されたピッチ周波数の確からしさを表す数値である重み係数を算出する。ここでは、ピッチ抽出部81で得たケプストラム波形上のピッチ周期に対応するピークの高さを重み係数として、フレーム毎に求めた重み係数の系列(図6(c)参照)を出力する。
以下、i番目のフレームの重み係数をw(i;k)(i=1,2,・・・,I(k))とする。I(k)は、曲番号kの曲データにおけるフレーム数である。
以下、i番目のフレームの重み係数をw(i;k)(i=1,2,・・・,I(k))とする。I(k)は、曲番号kの曲データにおけるフレーム数である。
係数行列部84には、特徴抽出部3の係数行列部34と同一の係数行列が格納される(図6(d)参照)。窓部83aでは、ピッチ抽出部81が出力するピッチ周波数系列から、i番目のフレームを先頭として時間窓内に含まれるピッチ周波数のN個のサンプル系列x(i+n;k)(n=−N/2,−N/2+1,−N/2+2,・・・,N/2−1)が切り出される。ただし、i≦0又はi>I(k)となるiに対してはx(i;k)=0とみなす。
また、窓部33bは、重み計算部82が出力する重み系列からi番目のフレームを先頭として時間窓内に含まれる重み係数のN個のサンプル系列w(i+n;k)(n=−N/2,−N/2+1,−N/2+2,・・・,N/2−1)を切り出す。
内積演算部85は、特徴抽出部3の内積演算部35と同様に、窓部83aにより切り出されたピッチ周波数のN個のサンプル系列と係数行列部84から読み出した係数行列とに対し、窓部83bで切り出されたサンプル系列の重み係数を加重として、下記式(5)に従って内積演算を行う。ここでは、曲番号kのi番目のフレームの次元kの特徴量をX(i,m;k)とし、係数行列の成分C(m,n)は、上記式(2)で与えられる。
上述の内積演算を各フレームについて行うことにより、図6(e)に示す特徴ベクトル時系列が得られる。なお、図6(e)において、特徴ベクトル時系列b0がインデックスm=1に対応し、特徴ベクトル時系列b1がインデックスm=2、特徴ベクトル時系列b2がインデックスm=3、特徴ベクトル時系列b3がインデックスm=4に対応する。図6(e)に示すような特徴ベクトル時系列が、内積演算部85から索引記憶部9へ出力される。索引記憶部9では、内積演算部85から取得した特徴ベクトル時系列を、曲データ記憶部6に格納されている、その元となった曲データの曲番号とともに記憶する。
(5)検索部10による動作(検索処理)
照合部101は、特徴抽出部3により抽出された特徴ベクトル時系列と、索引記憶部9から読み出した特徴ベクトル時系列との間で周知の連続DPによる照合を行う。ここで、曲データ記憶部6に記憶される曲数を1以上の整数Kとし、特徴抽出部3で抽出した入力歌唱(検索入力)の特徴ベクトル時系列をX(j,m)(mは次元)とし、k番目の曲(検索対象)の特徴ベクトル時系列をY(i,m;k)とする。
なお、jは入力歌唱側のフレーム番号であり、j=1,2,・・・,Jとなり、Jは歌唱側のフレーム数である。また、iは曲側のフレーム番号であり、i=1,2,・・・,I(k)となり、I(k)はk番目の曲のフレーム数である。
照合部101は、特徴抽出部3により抽出された特徴ベクトル時系列と、索引記憶部9から読み出した特徴ベクトル時系列との間で周知の連続DPによる照合を行う。ここで、曲データ記憶部6に記憶される曲数を1以上の整数Kとし、特徴抽出部3で抽出した入力歌唱(検索入力)の特徴ベクトル時系列をX(j,m)(mは次元)とし、k番目の曲(検索対象)の特徴ベクトル時系列をY(i,m;k)とする。
なお、jは入力歌唱側のフレーム番号であり、j=1,2,・・・,Jとなり、Jは歌唱側のフレーム数である。また、iは曲側のフレーム番号であり、i=1,2,・・・,I(k)となり、I(k)はk番目の曲のフレーム数である。
連続DPによる照合処理とは、曲(検索対象曲)の特徴ベクトル時系列の中でi番目のフレームを入力歌唱(検索入力)の終端とした入力歌唱の始端が照合するフレーム位置とその類似度とを算出する処理であり、下記式(6)で表される漸化式を用いて算出する。なお、下記式(6)におけるd(i,j;k)は局所距離であり、局所距離d(i,j;k)は、特徴ベクトル間のユークリッド距離として、下記式(7)を用いて算出される。ここで、絶対音高のずれを除去するため、局所距離は、ピッチの平均値を表すm=1の特徴量を除いたm=2〜M+1の範囲の特徴量を用いている。
照合部101は、上述のようにして得た類似度S(i,j;k)の最大ピークE(k)を、下記式(8)を用いて探索する。なお、iの探索範囲がJ/2以上となっているのはDP照合経路の傾斜制限により、J/2未満を探索することが無意味だからである。
この結果、i番目のフレームを入力歌唱の終端とした照合区間の類似度S(E(k),J;k)と照合区間の始端フレームB(E(k),J;k)とが得られる。
ここで、E(k)は、類似度S(i,j;k)が最大となる入力歌唱の終端フレームに対応する照合区間の曲側の終端フレーム番号である。
この結果、i番目のフレームを入力歌唱の終端とした照合区間の類似度S(E(k),J;k)と照合区間の始端フレームB(E(k),J;k)とが得られる。
ここで、E(k)は、類似度S(i,j;k)が最大となる入力歌唱の終端フレームに対応する照合区間の曲側の終端フレーム番号である。
図7は、図1中の検索部による連続DPを説明するための図であり、図7(a)は連続DPにおけるスポッティングの概要を示しており、図7(b)は連続DPにおける局所パスを示している。図7(a)において、上記式(6)に示した漸化式による類似度計算によって類似度S(i,J;k)が得られ、当該類似度がピークとなるフレームを照合区間としている。図7(a)では、照合区間を網掛けの矩形で記載している。
図7(a)の例では、入力歌唱の特徴ベクトル時系列{Y(1,*),Y(2,*),・・・,Y(J,*)}が、曲側の特徴ベクトル時系列の部分区間{Y(B(E(k),J;k),*;k),Y(B(E(k),J;k)+1,*;k),・・・,Y(E(k),*;k)}と照合している。また、図7(b)は、連続DPにおける局所パスを示しており、上記式(6)における各経路に対応する。
上述のようにして、照合部101は、曲番号k(k=1,2,・・・,K)について、曲番号k、類似度S(E(k),J;k)、照合区間{[B(E(k),J;k),E(k)]}の3つの情報からなる組を求め、これらの処理結果を出力部102に出力する。
出力部102では、照合部101から入力した、各曲番号k(k=1,2,・・・,K)についての曲番号k、類似度S(E(k),J;k)及び照合区間{[B(E(k),J;k),E(k)]}の3つの情報からなる組を類似度の順に並べ替え、類似度の大きい方から検索結果11として出力する。
出力部102では、照合部101から入力した、各曲番号k(k=1,2,・・・,K)についての曲番号k、類似度S(E(k),J;k)及び照合区間{[B(E(k),J;k),E(k)]}の3つの情報からなる組を類似度の順に並べ替え、類似度の大きい方から検索結果11として出力する。
以上のように、この実施の形態1によれば、入力歌唱及び検索対象曲の旋律を表現するピッチ周波数を推定し、所定の時間窓内で規定したフレーム毎に当該ピッチ周波数の確からしさを重みとしてピッチ曲線の形状を表す関数との内積演算により特徴量を求め、求めた特徴量のベクトルからなる特徴ベクトル時系列で入力歌唱と検索対象曲との旋律を照合し、この照合結果に基づいて曲データ記憶部6から所望の曲データを検索する。
このように構成することで、旋律データがない曲の検索を可能とし、さらにピッチ抽出誤りによる検索誤りを防止することができる。
このように構成することで、旋律データがない曲の検索を可能とし、さらにピッチ抽出誤りによる検索誤りを防止することができる。
実施の形態2.
上記実施の形態1では、重みとして、ピッチ周期に対応するケプストラム波形のピークの大きさを用いる場合を示したが、この実施の形態2では、推定したピッチ周波数系列におけるピッチ周波数の局所的な変動量により重み係数を計算する場合について述べる。
上記実施の形態1では、重みとして、ピッチ周期に対応するケプストラム波形のピークの大きさを用いる場合を示したが、この実施の形態2では、推定したピッチ周波数系列におけるピッチ周波数の局所的な変動量により重み係数を計算する場合について述べる。
実施の形態2による音楽検索装置は、上記実施の形態1で図1を用いて説明した構成と基本的に同一であるが、重み計算部32,82が、ピッチ周波数の局所的な変動量により重み係数を計算する点で異なる。従って、実施の形態2による音楽検索装置の構成については、図1を参照するものとする。
次に動作について説明する。
ここでは、曲側(検索対象側)での特徴抽出過程を例に説明する。
先ず、ピッチ抽出部81は、ボーカル強調部7から出力される、図8(a)に示すような曲スペクトログラムを与えるモノラルの音楽音響信号を、所定の時間窓によるフレームを処理単位として入力する。
この後、上記実施の形態1と同様な処理で、ケプストラムを求め、当該ケプストラム波形上のピッチ周期に対応するピークの位置からピッチ周波数を推定して、フレーム毎に推定したピッチ周波数の系列(図8(b)参照)を出力する。
ここでは、曲側(検索対象側)での特徴抽出過程を例に説明する。
先ず、ピッチ抽出部81は、ボーカル強調部7から出力される、図8(a)に示すような曲スペクトログラムを与えるモノラルの音楽音響信号を、所定の時間窓によるフレームを処理単位として入力する。
この後、上記実施の形態1と同様な処理で、ケプストラムを求め、当該ケプストラム波形上のピッチ周期に対応するピークの位置からピッチ周波数を推定して、フレーム毎に推定したピッチ周波数の系列(図8(b)参照)を出力する。
次に、重み計算部82では、曲番号kのi番目のフレームのピッチ周波数をy(i;k)とした場合、i番目のフレームの重み係数w(i;k)を、下記式(9a)及び下記式(9b)に従って計算する(図8(c)参照)。ここで、δは、δ=2とおくことができる。下記式(9a)は、i番目のフレームのピッチ周波数が0、即ち、ピッチが検出されないときの重み係数w(i;k)を0とする。また、i番目のフレームを中心とする幅±δ内のピッチ周波数の変動量が閾値Θvを超えると、重み係数w(i;k)を0とする。変動量が閾値Θv以下のとき、重み係数w(i;k)を1とする。変動量v(i;k)は、下記式(9b)で計算される。
係数行列部84には、特徴抽出部3の係数行列部34と同一の係数行列が格納される(図8(d)参照)。窓部83aでは、ピッチ抽出部81が出力するピッチ周波数系列から、i番目のフレームを先頭として時間窓内に含まれるピッチ周波数のN個のサンプル系列x(i+n;k)(n=−N/2,−N/2+1,−N/2+2,・・・,N/2−1)が切り出される。また、窓部83bは、重み計算部82が出力する重み系列からi番目のフレームを先頭として時間窓内に含まれる重み係数のN個のサンプル系列w(i+n;k)(n=−N/2,−N/2+1,−N/2+2,・・・,N/2−1)を切り出す。
内積演算部85は、特徴抽出部3の内積演算部35と同様に、窓部83aにより切り出されたピッチ周波数のN個のサンプル系列と係数行列部84から読み出した係数行列とに対し、窓部83bで切り出されたサンプル系列の重み係数を加重として、上記式(5)に従って内積演算を行う。ここでは、曲番号kのi番目のフレームの次元mの特徴量をX(i,m;k)とし、係数行列の成分C(m,n)は、上記式(2)で与えられる。
上述の内積演算を各フレームについて行うことにより、図8(e)に示す特徴ベクトル時系列が得られる。なお、図8(e)において、特徴ベクトル時系列c0がインデックスm=1に対応し、特徴ベクトル時系列c1がインデックスm=2、特徴ベクトル時系列c2がインデックスm=3、特徴ベクトル時系列c3がインデックスm=4に対応する。
図8(e)に示すような特徴ベクトル時系列が内積演算部85から索引記憶部9へ出力される。索引記憶部9では、内積演算部85から取得した特徴ベクトル時系列を、曲データ記憶部6に格納されている、その元となった曲データの曲番号とともに記憶する。
上記以外の処理は、実施の形態1と同様である。
図8(e)に示すような特徴ベクトル時系列が内積演算部85から索引記憶部9へ出力される。索引記憶部9では、内積演算部85から取得した特徴ベクトル時系列を、曲データ記憶部6に格納されている、その元となった曲データの曲番号とともに記憶する。
上記以外の処理は、実施の形態1と同様である。
以上のように、この実施の形態2によれば、ピッチ周波数の局所的な変動量により重み係数を計算するので、上記実施の形態1と同様な効果を得ることができる。
実施の形態3.
上記実施の形態1,2では、曲のピッチ周波数の抽出を単一のピッチ候補を求めることにより行っていたため、ピッチ周波数の数は、フレーム毎に0又は1であった。
これに対し、この実施の形態3は、マルチピッチ抽出を行う。この場合、ピッチ周波数の候補がフレーム毎に0又1若しくは2以上となるので、ピッチ周波数の候補の重みを考慮して特徴ベクトル時系列が生成される。
上記実施の形態1,2では、曲のピッチ周波数の抽出を単一のピッチ候補を求めることにより行っていたため、ピッチ周波数の数は、フレーム毎に0又は1であった。
これに対し、この実施の形態3は、マルチピッチ抽出を行う。この場合、ピッチ周波数の候補がフレーム毎に0又1若しくは2以上となるので、ピッチ周波数の候補の重みを考慮して特徴ベクトル時系列が生成される。
また、実施の形態3による音楽検索装置は、上記実施の形態1で図1を用いて説明した構成と基本的に同一であるが、特徴抽出部3,8の少なくとも一方にてマルチピッチ抽出を行い、これに応じた検索を検索部10が実行する点で異なる。従って、実施の形態3による音楽検索装置の構成については、図1を参照するものとする。
次に、曲側(検索対象側)での特徴抽出過程を例にして動作を説明する。
(1)特徴抽出部8による動作(検索対象側の特徴抽出過程)
図9は、実施の形態3による複数のピッチ候補からの特徴抽出過程を説明するための図である。図9(a)は、上述のマルチピッチ抽出による曲のピッチ周波数を例示する。図9(a)において、ピッチ候補1は、フレーム番号i1のフレームからフレーム番号i2のフレームまでの範囲にあり、ピッチ候補3は、フレーム番号i3のフレームからフレーム番号i4のフレームまでの範囲にある。また、ピッチ候補2は、フレーム番号i1のフレームの前からフレーム番号i4のフレームの後まで続いている。
また、図9(b)に示すように、各ピッチ候補1〜3は、ピッチ周波数の推定の確からしさに対応する重みが与えられている。図9(c)は、各フレームにおけるピッチ候補数の変化を示している。
(1)特徴抽出部8による動作(検索対象側の特徴抽出過程)
図9は、実施の形態3による複数のピッチ候補からの特徴抽出過程を説明するための図である。図9(a)は、上述のマルチピッチ抽出による曲のピッチ周波数を例示する。図9(a)において、ピッチ候補1は、フレーム番号i1のフレームからフレーム番号i2のフレームまでの範囲にあり、ピッチ候補3は、フレーム番号i3のフレームからフレーム番号i4のフレームまでの範囲にある。また、ピッチ候補2は、フレーム番号i1のフレームの前からフレーム番号i4のフレームの後まで続いている。
また、図9(b)に示すように、各ピッチ候補1〜3は、ピッチ周波数の推定の確からしさに対応する重みが与えられている。図9(c)は、各フレームにおけるピッチ候補数の変化を示している。
先ず、ピッチ抽出部81は、ボーカル強調部7から出力されるモノラルの音楽音響信号を、所定幅Nの時間窓によるフレームを処理単位として入力し、これのケプストラム波形からマルチピッチ抽出によりピッチ周波数を推定し、フレーム毎にピッチ周波数及びピッチ候補数を得る。ここでは、図9に示すフレーム番号i1からフレーム番号i4までの範囲が時間窓内に入ったものとする。
次に、ピッチ抽出部81は、時間窓内のピッチ候補数が変化したフレーム位置を変化点として求める。このピッチ候補数の変化点を境として、ピッチ抽出部81は、図9(d)に示すように各ピッチ曲線を切断し、切断した部分ピッチ曲線の集合を得る。図9(d)において、A1,A2,B1,C1,C2は、ピッチ候補数の変化点で切断された部分ピッチ曲線を示しており、A0,B0,C0は、本当はピッチが存在していない可能性を考慮して追加された候補(ピッチ無し候補)であり、その重み係数は、所定の値(例えば、0.1)に設定される。
重み計算部82は、これらの部分ピッチ曲線を組み合わせて、{A0,B0,C0},{A0,B0,C1},{A0,B0,C2},{A0,B1,C0}等の時間窓内のピッチ曲線候補を生成する。即ち、時間窓内の部分ピッチ曲線のとり得る全ての組み合わせとして得られる、時間窓内のピッチ曲線(ピッチ候補が取り得るピッチ曲線)に対応する重み曲線(上記ピッチ曲線に沿うようピッチ候補を重み付ける重み曲線)を生成する。
続いて、内積演算部85は、生成された時間窓内における全てのピッチ曲線候補と重み曲線候補とについて、係数行列との重み付き内積演算を実行する。
例えば、フレーム番号iのフレームを中心とする時間窓内で部分ピッチ曲線を組み合わせて得られる曲番号kのピッチ曲線の候補数をNC(i;k)とし、このうち、c番目(ただし、1≦c≦NC(i;k))のピッチ曲線をxc(i,n;k,c)、c番目の重み曲線をwc(i,n;k,c)、c番目のピッチ曲線とc番目の重み曲線から抽出されるc番目の次元mの特徴量をXC(i,m;k,c)、c番目の特徴量XC(i,m;k,c)に対する分岐重みをWC(i;k,c)とすると、特徴量XC(i,m;k,c)と分岐重みWC(i;k,c)とは、下記式(10)を用いて算出できる。
例えば、フレーム番号iのフレームを中心とする時間窓内で部分ピッチ曲線を組み合わせて得られる曲番号kのピッチ曲線の候補数をNC(i;k)とし、このうち、c番目(ただし、1≦c≦NC(i;k))のピッチ曲線をxc(i,n;k,c)、c番目の重み曲線をwc(i,n;k,c)、c番目のピッチ曲線とc番目の重み曲線から抽出されるc番目の次元mの特徴量をXC(i,m;k,c)、c番目の特徴量XC(i,m;k,c)に対する分岐重みをWC(i;k,c)とすると、特徴量XC(i,m;k,c)と分岐重みWC(i;k,c)とは、下記式(10)を用いて算出できる。
上記特徴抽出の結果として得られた候補数NC(i;k)、特徴量XC(i,m;k,c)及び分岐重みWC(i;k,c)は、特徴抽出部8から索引記憶部9に出力される。索引記憶部9では、特徴抽出部8から取得した上記情報を、曲データ記憶部6に格納されている、その元となった曲データの曲番号kとともに記憶する。
(2)検索部10による動作(検索処理)
照合部101は、特徴抽出部3により抽出された各ピッチ候補による特徴ベクトル時系列と、索引記憶部9から読み出した各ピッチ候補による特徴ベクトル時系列との間で連続DPによる照合を行う。ここで、上記式(6)の漸化式における局所距離は、ユークリッド距離の重み付け和として、下記式(11)から算出される。なお、絶対音高のずれを除去するため、局所距離の計算では、ピッチの平均値を表すm=1の特徴量を除いて、m=2〜M+1の範囲の特徴量を用いる。
照合部101は、特徴抽出部3により抽出された各ピッチ候補による特徴ベクトル時系列と、索引記憶部9から読み出した各ピッチ候補による特徴ベクトル時系列との間で連続DPによる照合を行う。ここで、上記式(6)の漸化式における局所距離は、ユークリッド距離の重み付け和として、下記式(11)から算出される。なお、絶対音高のずれを除去するため、局所距離の計算では、ピッチの平均値を表すm=1の特徴量を除いて、m=2〜M+1の範囲の特徴量を用いる。
出力部102では、照合部101による上記照合処理にて得られた、各曲番号kについての曲番号k、類似度、及び照合区間の3つの情報からなる組を類似度の順に並べ替え、類似度の大きい方から検索結果11として出力する。
以上のように、この実施の形態3によれば、特徴抽出の時間窓内で複数のピッチ候補が取り得る全てのピッチ曲線から複数の特徴ベクトルを求めて照合に用いるので、より頑健な音楽検索が可能となる。
また、上記実施の形態1〜3では、ハミング歌唱を検索入力としたが、曲の一部を検索の手掛り(検索入力)とすることもできる。この場合、特徴抽出部3の代用として、ボーカル強調部7と特徴抽出部8とを組み合わせたものと置き換える。
さらに、上記実施の形態1〜3では、ピッチ周波数を抽出するためにケプストラム法を用いる場合を示したが、ピッチ周波数の抽出方法として、周知の自己相関法や、相互相関法等を用いてもかまわない。また、周知のマルチピッチの抽出方法を用いてよい。
さらに、上記実施の形態1〜3では、特徴ベクトル間の局所距離を計算するため、ユークリッド距離を用いたが、周知のマハラノビス距離や周知の多次元ガウス分布や多次元ガウス混合分布のような統計的な尺度を用いてもかまわない。
さらに、上記実施の形態1〜3では、ボーカル強調部7がゲインGkを求めるため、左右チャンネルの振幅スペクトルのローカルピークを求め、左右のローカルピークの位置が一致するローカルピーク位置を中心とする2b+1の帯域幅の周波数成分を通過させる場合を示したが、簡易な方法として、ローカルピークの抽出を省略し、全ての離散周波数kで音量比rkを求め、ゲインGkをGk=g(rk)としてもよい。
なお、上記実施の形態1〜3において、ボーカル強調部7が、ボーカル成分の主に存在する周波数範囲、例えば100〜3400Hzでゲイン1を持ち、それ以外の周波数ではゲインを1より小さくする帯域通過特性を掛けてもよい。
また、上記実施の形態1〜3では、曲(検索対象の楽曲)の音楽音響信号からピッチを抽出する場合を示したが、MIDI情報等の旋律データが付いた曲については、主旋律に対応する旋律データからピッチを生成してもよい。この場合、ピッチの重みは1として、通常の重み無しの内積演算によって特徴ベクトルを計算することができる。なお、この場合であっても、検索入力側ではピッチ抽出が必要であり、ピッチの重みを考慮することが効を奏する。
この発明に係る音楽検索装置は、旋律データが存在しない曲の検索が可能となり、ピッチ周波数の抽出に起因した検索誤りを防止できるため、楽曲を検索する音楽検索装置等に用いるのに適している。
Claims (9)
- 検索入力の旋律と検索対象の旋律とを照合し、当該照合結果に基づいて前記検索対象から所望の楽曲を検索する音楽検索装置において、
前記検索入力からピッチ周波数系列を抽出し、当該ピッチ周波数系列から所定の時間窓毎に切り出した系列に対して、当該切り出した系列が取り得るピッチ曲線の形状を表す所定の関数で得られる関数値との内積演算を行うことにより、前記検索入力の旋律の特徴を表す特徴ベクトル時系列を生成する第1の特徴抽出部と、
前記検索対象からピッチ周波数系列を抽出し、当該ピッチ周波数系列から前記所定の時間窓毎に切り出した系列に対して、前記所定の関数で得られる関数値との内積演算を行うことにより、前記検索対象の旋律の特徴を表す特徴ベクトル時系列を生成する第2の特徴抽出部と、
前記検索入力の特徴ベクトル時系列と前記検索対象の特徴ベクトル時系列との間で照合を行って、前記検索入力の特徴ベクトル時系列の、前記検索対象の特徴ベクトル時系列における照合位置及び類似度を算出し、当該類似度に基づいて前記検索対象から楽曲を検索する検索部とを備えたことを特徴とする音楽検索装置。 - 第1及び第2の特徴抽出部は、ピッチ周波数系列から所定の時間窓毎に切り出した系列に対して、当該系列が取り得るピッチ曲線に沿うよう重み付けをしてから、所定の関数で得られる関数値との内積演算を行うことにより、特徴ベクトル時系列を生成することを特徴とする請求項1記載の音楽検索装置。
- 第1及び第2の特徴抽出部の少なくとも一方は、所定の時間窓毎に複数のピッチ周波数の候補を抽出し、前記時間窓内のピッチ周波数の候補に対して、当該候補が取り得るピッチ曲線に沿うよう重み付けをしてから、所定の関数で得られる関数値との内積演算を行うことにより、特徴ベクトル時系列を生成することを特徴とする請求項1記載の音楽検索装置。
- 重み付けに使用する重みは、抽出されたピッチ周波数の確度であることを特徴とする請求項2記載の音楽検索装置。
- 重み付けに使用する重みは、抽出されたピッチ周波数の確度であることを特徴とする請求項3記載の音楽検索装置。
- 重み付けに使用する重みは、抽出されたピッチ周波数の変動量であることを特徴とする請求項2記載の音楽検索装置。
- 重み付けに使用する重みは、抽出されたピッチ周波数の変動量であることを特徴とする請求項3記載の音楽検索装置。
- 検索入力及び検索対象の少なくとも一方の主旋律成分を強調して、ピッチ周波数の抽出対象とする強調処理部を備えたことを特徴とする請求項1記載の音楽検索装置。
- 所定の関数は、コサイン関数であることを特徴とする請求項1記載の音楽検索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011501362A JP5127982B2 (ja) | 2009-02-27 | 2009-11-16 | 音楽検索装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009046525 | 2009-02-27 | ||
JP2009046525 | 2009-02-27 | ||
PCT/JP2009/006112 WO2010097870A1 (ja) | 2009-02-27 | 2009-11-16 | 音楽検索装置 |
JP2011501362A JP5127982B2 (ja) | 2009-02-27 | 2009-11-16 | 音楽検索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010097870A1 JPWO2010097870A1 (ja) | 2012-08-30 |
JP5127982B2 true JP5127982B2 (ja) | 2013-01-23 |
Family
ID=42665097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011501362A Expired - Fee Related JP5127982B2 (ja) | 2009-02-27 | 2009-11-16 | 音楽検索装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2402937B1 (ja) |
JP (1) | JP5127982B2 (ja) |
WO (1) | WO2010097870A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598515A (zh) * | 2014-12-03 | 2015-05-06 | 百度在线网络技术(北京)有限公司 | 歌曲搜索方法、装置和系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5747562B2 (ja) * | 2010-10-28 | 2015-07-15 | ヤマハ株式会社 | 音響処理装置 |
JP5732994B2 (ja) * | 2011-04-19 | 2015-06-10 | ソニー株式会社 | 楽曲検索装置および方法、プログラム、並びに記録媒体 |
JP6061714B2 (ja) * | 2013-02-12 | 2017-01-18 | 公立大学法人会津大学 | 類似系列区間検出装置および類似系列区間検出プログラム |
CN104091598A (zh) * | 2013-04-18 | 2014-10-08 | 腾讯科技(深圳)有限公司 | 一种音频文件的相似计算方法及装置 |
CN105139866B (zh) * | 2015-08-10 | 2018-10-16 | 泉州师范学院 | 南音的识别方法及装置 |
CN106601268B (zh) * | 2016-12-26 | 2020-11-27 | 腾讯音乐娱乐(深圳)有限公司 | 一种多媒体数据处理方法及装置 |
CN109829515B (zh) * | 2019-03-07 | 2020-08-28 | 北京市博汇科技股份有限公司 | 一种音频指纹匹配方法以及音频指纹匹配装置 |
CN110364182B (zh) * | 2019-08-01 | 2022-06-14 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种声音信号处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004534274A (ja) * | 2001-03-23 | 2004-11-11 | インスティチュート・フォー・インフォコム・リサーチ | 内容ベースのマルチメディア情報検索で使用するためデジタル表示で音楽情報を表示する方法およびシステム |
JP3764033B2 (ja) * | 2000-07-10 | 2006-04-05 | シャープ株式会社 | 楽曲検索装置および方法 |
JP2007183921A (ja) * | 2005-11-09 | 2007-07-19 | Sony Deutsche Gmbh | 3d検索アルゴリズムを用いる楽曲情報検索 |
JP2009015535A (ja) * | 2007-07-03 | 2009-01-22 | Nippon Laboatec Kk | 類似音楽検索装置、類似音楽検索方法、類似音楽検索プログラム及びコンピュータで読み取り可能な記録媒体 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5874686A (en) * | 1995-10-31 | 1999-02-23 | Ghias; Asif U. | Apparatus and method for searching a melody |
JP3467415B2 (ja) | 1998-12-01 | 2003-11-17 | 日本電信電話株式会社 | 音楽検索装置,音楽検索方法および音楽検索プログラムを記録した記録媒体 |
JP3844627B2 (ja) | 1999-04-12 | 2006-11-15 | アルパイン株式会社 | 音楽検索システム |
JP3709817B2 (ja) * | 2001-09-03 | 2005-10-26 | ヤマハ株式会社 | 音声合成装置、方法、及びプログラム |
US20050086052A1 (en) * | 2003-10-16 | 2005-04-21 | Hsuan-Huei Shih | Humming transcription system and methodology |
-
2009
- 2009-11-16 EP EP09840724.0A patent/EP2402937B1/en not_active Not-in-force
- 2009-11-16 WO PCT/JP2009/006112 patent/WO2010097870A1/ja active Application Filing
- 2009-11-16 JP JP2011501362A patent/JP5127982B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3764033B2 (ja) * | 2000-07-10 | 2006-04-05 | シャープ株式会社 | 楽曲検索装置および方法 |
JP2004534274A (ja) * | 2001-03-23 | 2004-11-11 | インスティチュート・フォー・インフォコム・リサーチ | 内容ベースのマルチメディア情報検索で使用するためデジタル表示で音楽情報を表示する方法およびシステム |
JP2007183921A (ja) * | 2005-11-09 | 2007-07-19 | Sony Deutsche Gmbh | 3d検索アルゴリズムを用いる楽曲情報検索 |
JP2009015535A (ja) * | 2007-07-03 | 2009-01-22 | Nippon Laboatec Kk | 類似音楽検索装置、類似音楽検索方法、類似音楽検索プログラム及びコンピュータで読み取り可能な記録媒体 |
Non-Patent Citations (4)
Title |
---|
CSNG200300636010; 西村 拓一: '類似メロディー区間検出による音楽時系列検索の高速化' 情報処理学会研究報告 Vol.2001 No.16 , 社団法人情報処理学会 * |
CSNG200700940006; 市川 拓人: '音程特徴量の確率分布を考慮したハミング入力楽曲検索システム' 情報処理学会研究報告 Vol.2007 No.81 , 社団法人情報処理学会 * |
JPN6012051709; 市川 拓人: '音程特徴量の確率分布を考慮したハミング入力楽曲検索システム' 情報処理学会研究報告 Vol.2007 No.81 , 社団法人情報処理学会 * |
JPN6012051710; 西村 拓一: '類似メロディー区間検出による音楽時系列検索の高速化' 情報処理学会研究報告 Vol.2001 No.16 , 社団法人情報処理学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598515A (zh) * | 2014-12-03 | 2015-05-06 | 百度在线网络技术(北京)有限公司 | 歌曲搜索方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2402937A4 (en) | 2012-09-19 |
WO2010097870A1 (ja) | 2010-09-02 |
JPWO2010097870A1 (ja) | 2012-08-30 |
EP2402937A1 (en) | 2012-01-04 |
EP2402937B1 (en) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5127982B2 (ja) | 音楽検索装置 | |
CN103854644B (zh) | 单声道多音音乐信号的自动转录方法及装置 | |
Vincent | Musical source separation using time-frequency source priors | |
US8889976B2 (en) | Musical score position estimating device, musical score position estimating method, and musical score position estimating robot | |
US20080300702A1 (en) | Music similarity systems and methods using descriptors | |
WO2009001202A1 (en) | Music similarity systems and methods using descriptors | |
CN104620313A (zh) | 音频信号分析 | |
Tsai et al. | Background music removal based on cepstrum transformation for popular singer identification | |
Argenti et al. | Automatic transcription of polyphonic music based on the constant-Q bispectral analysis | |
Martins et al. | Polyphonic instrument recognition using spectral clustering. | |
Bay et al. | Harmonic source separation using prestored spectra | |
Benetos et al. | Auditory spectrum-based pitched instrument onset detection | |
Dziubinski et al. | Estimation of musical sound separation algorithm effectiveness employing neural networks | |
Klapuri | Pattern induction and matching in music signals | |
Dong et al. | Vocal Pitch Extraction in Polyphonic Music Using Convolutional Residual Network. | |
Hu et al. | Singer identification based on computational auditory scene analysis and missing feature methods | |
Nagavi et al. | An extensive analysis of query by singing/humming system through query proportion | |
Waghmare et al. | Analyzing acoustics of indian music audio signal using timbre and pitch features for raga identification | |
Pandey et al. | Combination of k-means clustering and support vector machine for instrument detection | |
Gurunath Reddy et al. | Predominant melody extraction from vocal polyphonic music signal by time-domain adaptive filtering-based method | |
Barthet et al. | Speech/music discrimination in audio podcast using structural segmentation and timbre recognition | |
Pishdadian et al. | On the transcription of monophonic melodies in an instance-based pitch classification scenario | |
Zhang et al. | Maximum likelihood study for sound pattern separation and recognition | |
Loni et al. | Singing voice identification using harmonic spectral envelope | |
Rajan et al. | Melody extraction from music using modified group delay functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20121002 |
|
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: 20121030 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |