説明

音声処理装置および方法、並びにプログラム

【課題】楽曲からなる音声信号よりサビ部分を高速に精度良く抽出するできるようにする。
【解決手段】特徴量抽出部32は、取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する。変化点検出部33は、時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する。変化点統合部34は、変化点を統合する。サビ解析部35は、統合された変化点を境界とするブロック単位に特徴量に基づいて、音声信号におけるサビ箇所を解析する。サビ統合部36は、サビ情報を統合する。サビ情報出力部37は、サビ統合部36により統合されたサビ箇所を、サビ情報として出力する。本発明は、音声処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声処理装置および方法、並びにプログラムに関し、特に、楽曲からなる音声信号よりサビとなる部分を高精度に抽出できるようにした音声処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、携帯電話に代表されるように、いつでもどこでもインターネットに繋がるユピキタスネットワークの時代が到来し、個人の楽しみ方や生活スタイルが多様化した。こうした中、楽曲などからなる音楽に目を向けると、つい最近までは購入した音楽アルバムCD(Compact Disc)をテープやMD(MiniDisc)に取り込み、電車や街中など屋外ではオーディオプレーヤで試聴するスタイルが一般的であった。しかしながら、近年においてはフラッシュメモリなど大容量記憶媒体を搭載したオーディオプレーヤが台頭し、何千曲(何万曲)もの楽曲を大容量記憶媒体に取り込み保持して視聴するスタイルが一般的となった。さらに、ネットワーク機能を持ち、オーディオプレーヤを備えたモバイル機器では屋外でもインターネットに繋ぎ音楽を試聴したり購入したりすることが可能となっている。
【0003】
このように、気軽に大量の楽曲を保持し、屋外に気軽に持ち運べるようになった。しかしながら、自分でも把握しきれないほど大量の楽曲から、聴きたい楽曲をストレスなく簡単に探すことが課題となっている。
【0004】
すなわち、楽曲を選択する際、ユーザは楽曲の冒頭箇所を聴くか、曲名やアーティストで選択することで、その楽曲を視聴するか否か判断する場合が多い。ところが、ほとんどの楽曲の冒頭は伴奏から始まるため楽曲の冒頭を聴いて、聞きたい楽曲であるか否かを判断することは難しい。さらに、大量の楽曲を取り込んでいると自分が把握していない楽曲に遭遇する場合もあり、視聴したいと思ったタイミングで、視聴したいと思う楽曲を聴く機会の損失に繋がってしまう。
【0005】
こうした課題を解決する手段として、楽曲の中で最も盛り上がる「サビ」と呼ばれる箇所を再生することで楽曲の検索性を高める方法がある。「サビ」は楽曲の中で最も盛り上がる部分であるため、ユーザに最も強い印象を残す部分であり、サビ部分を精度良く検出し、楽曲選択時にサビ部分を再生することで、楽曲の検索性は高まる。また、音楽ランキングのテレビ番組のように、サビ部分を順に再生することは音楽の楽しみ方の一つとなる。
【0006】
また、サビ部分の検出の方法として、自己相関による類似度算出によって、サビ部分を抽出する方法が提案されている(特許文献1参照)。
【0007】
さらに、主に音声信号レベルに着目し、音声の変化点の検出と併せサビ部分を抽出する手法として、2乗平均平方等を特徴量として構成される評価関数の極大値から音声の変化点を検出し、サビ部分を抽出する手法が提案されている(特許文献2参照)。
【0008】
また、音声信号レベルを特徴量として、そのレベルまたは変化量の閾値判別によって音声の変化点を検出し、音声の変化点の間隔の組み合わせまたは時間分布の類似区間からサビ部分を抽出する手法が提案されている(特許文献3参照)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特許第4243682号
【特許文献2】特許第3886372号
【特許文献3】特開2008−262043号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1の手法では、楽曲中で「サビ」の出現頻度が最も高く、繰り返し、再生されることを前提にしており、音楽の性質を踏まえた有効な手法ではあるが、楽曲によっては最も多く繰り返される部分が「サビ」とならない場合がある。すなわち、最も多く繰り返される部分がAメロである楽曲が存在する。また、特徴量抽出や類似度算出などを行うための処理負荷が大きい。
【0011】
また、特許文献2,3の手法については、「サビ」が「Aメロ」や「間奏」などと比較して音声信号レベルが大きいという音楽性質を踏まえた手法であるが、特許文献1の手法と比較して処理構造が簡潔なため、処理速度の高速化を期待できる。
【0012】
しかしながら、実際の楽曲は時間的な音声信号レベルの起伏が激しく、更に曲調やテンポ量(BPM:1分間当たりのビート量)など楽曲に依存するが、特許文献2,3では触れられておらず、音声の変化点が過剰に検出されたり、サビ部分ではない突発的に大きい音声信号レベルの部分が誤検出されてしまうなど、サビ箇所の誤検出が起こりやすくなってしまう。また、特徴量算出の粒度を粗くすれば(処理時間長を長くすれば)、時間的な音声信号レベル等の起伏は軽減されるが時間的分解能を損なうため、処理時間長を適度に調整する必要がある。また、突発的に大きい音声信号の扱いに配慮する必要がある。
【0013】
本発明はこのような状況に鑑みてなされたものであり、特に、音声信号に基づいて、音響変化点を検出すると共に、併せて、サビ箇所を高速に精度良く抽出するようにするものである。
【課題を解決するための手段】
【0014】
本発明の一側面の音声処理装置は、楽曲の音声信号を取得する音声信号取得手段と、前記音声信号取得手段により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出手段と、前記特徴量抽出手段により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出手段と、前記変化点検出手段により検出された変化点を境界とするブロック単位に特徴量抽出手段により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析手段と、前記サビ解析手段により解析された前記サビ箇所を、サビ情報として出力するサビ情報出力手段とを含む。
【0015】
前記特徴量の種別には、ステレオ和信号の2乗平均平方、ステレオ差信号の2乗平均平方、ステレオ和信号の振幅2乗和、およびステレオ差信号の振幅2乗和のいずれか、またはそれらいずれかの組み合わせを含ませるようにすることができる。
【0016】
前記変化点検出手段には、前記時系列の特徴量を平滑化する平滑手段と、前記変化量を算出する変化量算出手段と、前記変化量のそれぞれについて、前記変化点のものであるか否かを判定する変化点判定手段と、前記変化量の算出箇所を制御し、前記変化点を検出した場合、前記変化点の位置を記録する変化点検出制御手段と、前記複数の変化点を統合する変化点統合手段とを含ませるようにすることができる。
【0017】
前記変化点検出手段には、前記時系列の特徴量を正規化する正規化手段をさらに含ませるようにすることができる。
【0018】
前記変化点検出手段には、前記変化点の数と所定の閾値との比較により、前記変化点の数が前記所定の閾値よりも多い場合、前記変化点の数を少なくするように前記所定の閾値を変化させる、および、前記平滑化手段による、前記時系列の特徴量を平滑化し直す、のいずれか、または、その両方を実行し、前記変化量のそれぞれについて、前記変化点であるか否かを判定し直す変化点再検出手段を含ませるようにすることができる。
【0019】
前記変化点検出手段には、所定時間より長く前記変化点が存在しない期間が存在する場合、前記変化点の数を多くするように前記所定の閾値を変化させ、前記変化量のそれぞれについて、前記変化点であるか否かを判定し直す変化点再検出手段を含ませるようにすることができる。
【0020】
前記平滑化手段には、前記時系列の特徴量を、所定期間における移動平均により平滑化させるようにすることができる。
【0021】
前記平滑化手段には、前記時系列の特徴量を、予め求めたテンポ量に基づいた所定期間における移動平均により平滑化させるようにすることができる。
【0022】
前記変化点検出手段には、前記変化点のうち隣接する複数の変化点を統合する変化点調整手段を含ませるようにすることができる。
【0023】
前記変化点検出手段には、前記変化点のうち隣接する2つの変化点を、中間点で統合する変化点調整手段を含ませるようにすることができる。
【0024】
前記サビ解析手段には、前記変化点を境界とするブロックに区切るブロック区切手段と、前記ブロック単位で前記特徴量の平均を求め、前記特徴量の平均が最大となるブロックを、サビブロックとして検出するサビブロック検出手段と、前記サビブロック検出手段により検出したサビブロックと連なるブロックであることを制約条件に解析対象となるブロックの位置を制御するサビブロック制御手段と、前記解析対象となるブロックを解析するサビブロック解析手段と、前記サビブロック解析手段の解析結果に基づいて、前記解析対象となるブロックがサビブロックであるか否かを判定するサビブロック判定手段とを含ませるようにすることができる。
【0025】
前記サビブロック検出手段には、前記ブロック単位の前記特徴量の平均が最大となるブロックが所定期間よりも短い場合、前記ブロック単位の前記特徴量の平均の算出範囲を前記ブロックよりも長い所定の長さにまで広げて求められる前記特徴量の平均を、前記特徴量の平均とさせるようにすることができる。
【0026】
前記サビブロック解析手段には、前記解析対象のブロックを解析することにより、前記解析対象のブロックにおける前記特徴量の平均を求めて解析結果とし、前記サビブロック判定手段は、前記サビブロック検出手段で検出したサビブロックにおける前記特徴量の平均と、前記音声信号取得手段により取得された楽曲の音声信号の全体における特徴量の平均との差分に基づいて所定の閾値を計算し、前記解析対象のブロックにおける前記特徴量の平均と、楽曲の音声信号の全体における特徴量の平均との差分と、前記閾値との比較により、前記解析対象となるブロックがサビブロックであるか否かを判定させるようにすることができる。
【0027】
前記サビブロック解析手段には、前記サビブロック判定手段により、前記解析対象となるブロックがサビブロックではないと判定された場合、前記所定の閾値を小さくするようにして補正し、再度、前記解析対象となるブロックを解析し、前記サビブロックであるか否かを判定するサビブロック補正手段を含ませるようにすることができる。
【0028】
前記サビブロック解析手段には、前記サビブロック判定手段により、前記解析対象となるブロックがサビブロックではないと判定された場合、前記解析対象となるブロックにおけるサンプル数を減らすようにして補正し、再度、前記解析対象となるブロックを解析し、前記サビブロックであるか否かを判定するサビブロック補正手段を含ませるようにすることができる。
【0029】
複数の前記予め定められた種別の特徴量によるサビ情報を統合するサビ情報統合手段をさらに含ませるようにすることができる。
【0030】
前記音声信号取得手段には、取得した楽曲の音声信号のMDCT係数を出力させるようにすることができる。
【0031】
本発明の一側面の音声処理方法は、楽曲の音声信号を取得する音声信号取得手段と、前記音声信号取得手段により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出手段と、前記特徴量抽出手段により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出手段と、前記変化点検出手段により検出された変化点を境界とするブロック単位に特徴量抽出手段により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析手段と、前記サビ解析手段により解析された前記サビ箇所を、サビ情報として出力するサビ情報出力手段とを含む音声処理装置の音声処理方法であって、前記音声信号取得手段における、前記楽曲の音声信号を取得する音声信号取得ステップと、前記特徴量抽出手段における、前記音声信号取得ステップの処理により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出ステップと、前記変化点検出手段における、前記特徴量抽出ステップの処理により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出ステップと、前記サビ解析手段における、前記変化点検出ステップの処理により検出された変化点を境界とするブロック単位に特徴量抽出ステップの処理により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析ステップと、前記サビ情報出力手段における、前記サビ解析ステップにより解析された前記サビ箇所を、サビ情報として出力するサビ情報出力ステップとを含む。
【0032】
本発明の一側面のプログラムは、楽曲の音声信号を取得する音声信号取得手段と、前記音声信号取得手段により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出手段と、前記特徴量抽出手段により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出手段と、前記変化点検出手段により検出された変化点を境界とするブロック単位に特徴量抽出手段により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析手段と、前記サビ解析手段により解析された前記サビ箇所を、サビ情報として出力するサビ情報出力手段とを含む音声処理装置を制御するコンピュータに、前記音声信号取得手段における、前記楽曲の音声信号を取得する音声信号取得ステップと、前記特徴量抽出手段における、前記音声信号取得ステップの処理により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出ステップと、前記変化点検出手段における、前記特徴量抽出ステップの処理により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出ステップと、前記サビ解析手段における、前記変化点検出ステップの処理により検出された変化点を境界とするブロック単位に特徴量抽出ステップの処理により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析ステップと、前記サビ情報出力手段における、前記サビ解析ステップにより解析された前記サビ箇所を、サビ情報として出力するサビ情報出力ステップとを含む処理を実行させる。
【0033】
本発明の一側面においては、楽曲の音声信号が取得され、取得された音声信号より、予め定められた種別の特徴量が時系列に抽出され、時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点が検出され、検出された変化点を境界とするブロック単位に抽出された特徴量に基づいて、前記音声信号におけるサビ箇所が解析され、解析された前記サビ箇所が、サビ情報として出力される。
【0034】
本発明の音声処理装置は、独立した装置であっても良いし、音声処理を行うブロックであっても良い。
【発明の効果】
【0035】
本発明の一側面によれば、入力された楽曲からなる音声信号よりサビ部分を高精度で抽出することが可能となる。
【図面の簡単な説明】
【0036】
【図1】本発明を適用した音楽解析装置の一実施の形態の構成例を示すブロック図である。
【図2】図1の変化点検出部の構成例を示す図である。
【図3】図1のサビ解析部の構成例を示す図である。
【図4】音楽解析処理を説明するフローチャートである。
【図5】変化点検出処理を説明するフローチャートである。
【図6】変化点検出処理を説明する図である。
【図7】変化点検出処理を説明する図である。
【図8】変化点の統合を説明する図である。
【図9】平滑化が不十分である場合の波形例を示す図である。
【図10】サビ解析処理を説明するフローチャートである。
【図11】サビ解析処理を説明する図である。
【図12】サビ解析処理を説明する図である。
【図13】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための最良の形態】
【0037】
[音楽解析装置の構成例]
図1は、本発明を適用した音楽解析装置のハードウェアの一実施の形態の構成例を示している。図1の音楽解析装置11は、楽曲からなる音声信号の入力を受け付けて取得し、特徴量を抽出して解析することで、楽曲の中の、いわゆるサビ部分を抽出して、これをサビ情報として出力する。ここで、サビ部分とは、楽曲の中で最も盛り上がる部分、または、聴者に最も強い印象を与える部分であり、楽曲の中でも、聴者がその部分さえ聞けば、曲名やアーティスト名などの詳細は思い出せなくても、どの曲であるかを認識できる可能性の高い部分である。
【0038】
音楽解析装置11は、取得部31、特徴量抽出部32、変化点検出部33、変化点統合部34、サビ解析部35、サビ統合部36、およびサビ情報出力部37を備えている。
【0039】
取得部31は、入力される楽曲(オーディオコンテンツ)からなる音声信号を取得する。取得部31は、PCM(Pulse Code Modulation)形態の音声信号を受け付けて特徴量抽出部32に供給する。また、取得部31は、PCM形態以外の音声信号を受け付けると、対応してPCM形態に変換する機能を備えており、必要に応じてPCM形態に変換する。音声信号のPCM形態以外の形態としては、例えば、MP3(Moving Picture Experts Group Audio Layer-3)などの圧縮形態でもよい。この場合、取得部31は、必要に応じて圧縮形態に対応してデコード処理を行い、デコード処理過程での音声信号の形態であるMDCT(modified discrete cosine transform)係数等を特徴量抽出部32に供給するようにしてもよい。
【0040】
尚、楽曲からなる音声信号はメモリを効率良く扱うためMP3など圧縮形態であることが多く、音声信号を保持するバッファサイズの制約などを理由に、処理時間長(フレーム長)を固定して扱うと都合が良い。そこで、ここでは、フレーム長を固定(1024[sample/channel]など)したものとして説明するが、フレーム長は自由に設定できるものであり、このフレーム長に限定されるものではない。また、楽曲からなる音声信号のサンプリング周波数やチャンネル数は限定しないが、オーディオCD(Compact Disc)に代表されるようにサンプリング周波数は、一般に44100[Hz]でありチャンネル数は2[channel]とされている。
【0041】
特徴量抽出部32は、取得部31より供給されてくるPCM形態の音声信号より、予め定められた種別の特徴量を時系列に抽出し、時系列特徴量として変化点検出部33に供給する。ここでいう特徴量の種別としては、例えば、音楽解析や音声認識などで一般に使用されている、ゼロクロスレート、スペクトルセントロイド、スペクトル変化量、およびメル周波数ケプストラム係数などである。ゼロクロスレートとは、時間軸信号における正負符号変化の回数比を特徴量としたものである。スペクトルセントロイドは、周波数スペクトルの重心位置を特徴量としたものである。スペクトル変化量は、周波数スペクトルの変化量を特徴量としたものである。メル周波数ケプストラム係数は、周波数スペクトルをメル尺度で圧縮し、その対数であるメル周波数スペクトルをフーリエ変換して得られた係数を特徴量としたものである。特徴量抽出部32は、これらのうちのいずれかの種別の特徴量を、予め定められた特徴量として時系列に抽出するようにしても良いし、複数の種別の組み合わせを予め定められた特徴量として時系列に抽出するようにしてもよい。尚、以降においては説明の便宜上、特徴量抽出部32は、予め定められた特徴量として音声信号レベルを時系列に抽出する場合の例について説明を進めるものとする。また、特徴量の種別はこれ以外のものであってもよいものであり、上述のものに限定されるものではない。
【0042】
ここで、音声信号レベルについて触れる。一般に、サビ部分は、Aメロと呼ばれるサビと異なる最初のメロディの部分や間奏などと比較して音声信号レベルが大きいという音楽性質を持つといわれている。このため、以下の式(1)で示されるステレオ和信号M(n)は特徴量としては有用な信号であると考えられる。また、サビ部分は、楽曲の中で最も盛り上がる部分であることから、Aメロや間奏などと比較して音数が多く(楽器音やバックコーラスなど)広い範囲に音が定位する傾向があるため、以下の式(2)で示されるステレオ差信号S(n)もまた特徴量として有用であると考えられる。
【0043】
M(n)=(L(n)+R(n))/2
・・・(1)
【0044】
S(n)=(L(n)−R(n))/2
・・・(2)
【0045】
ここで、L(n)は左チャンネルの音声信号レベル、R(n)は右チャンネルの音声信号レベル、nはサンプル番号をそれぞれ表している。
【0046】
ステレオ和信号M(n)およびステレオ差信号S(n)それぞれに対して音声信号レベルを算出する方法としては、振幅の2乗平均平方値(RMS)、または2乗和などがあるが、ここでは2乗平均平方値(RMS)を特徴量とした場合の例について説明するものとする。2乗平均平方値RMS(N)は、以下の式(3)のように表現される。
【0047】
【数1】

・・・(3)
【0048】
ここで、x(n)は、ステレオ和信号M(n)、またはステレオ差信号S(n)のフレーム内時刻nにおける信号の振幅値であり、Kはフレームのサンプル数、Nはフレーム番号をそれぞれ表している。
【0049】
以降においては、特徴量抽出部32は、入力される楽曲からなるPCM形態の音声信号より、ステレオ和信号の2乗平均平方値(RMSM)と、ステレオ差信号の2乗平均平方値(RMSL)をフレーム単位で時系列特徴量として出力する場合の例について説明する。
【0050】
変化点検出部33は、特徴量抽出部32より供給されてくる時系列特徴量に基づいて、所定の間隔で連続する特徴量間の差分絶対値が大きくなる変化点を検出し、検出した変化点の情報を変化点統合部34に供給する。特徴量の種別が複数の場合、変化点検出部33は、特徴量の種別毎に変化点を検出し、それぞれの特徴量の種別毎に変化点の情報を変化点統合部34に供給する。尚、変化点検出部33の詳細な構成については、図2を参照して後述する。
【0051】
変化点統合部34は、変化点検出部33より供給されてくる、全ての種別の変化点の情報に基づいて、変化点間の時間間隔が近いもの同士を統合し、変化点統合情報としてサビ解析部35に供給する。変化点統合部34は、複数の種別の特徴量の変化点の情報についても、統一して1つの変化点統合情報とする。
【0052】
サビ解析部35は、変化点統合部34より供給されてくる変化点統合情報に基づいて、種別毎の時系列特徴量の情報をブロック化して、特徴量のブロック当たりの平均レベルが最大となるブロックを基準として、サビ部分を検出する。サビ解析部35は、特徴量の種別毎に検出されたサビ部分の基準となるブロックから順次前後のブロックのレベルと、楽曲全体の平均レベルとの比較によりサビ部分の開始点および終了点を求め、サビ統合部36に供給する。尚、サビ解析部35の詳細な構成については、図3を参照して後述する。
【0053】
サビ統合部36は、特徴量の種別毎に求められたサビ部分の開始点および終了点の位置の情報を統合することでサビ情報を生成しサビ情報出力部37に供給する。サビ情報出力部37は、供給されてきたサビ情報を、取得された楽曲からなる音声信号におけるサビ部分を示す情報として出力する。
【0054】
[変化点検出部の構成例]
次に、図2を参照して、変化点検出部33の詳細な構成について説明する。
【0055】
変化点検出部33は、正規化部51、平滑部52、変化量算出部53、変化点判定部54、変化点検出制御部55、変化点調整部56、および変化点再検出判定部57を備えている。
【0056】
正規化部51は、特徴量抽出部32より供給されてくる時系列特徴量について、以下の式(4)で示されるように、その最大値でそれぞれの時系列特徴量を除して正規化し、時系列正規化特徴量として平滑部52に供給する。
【0057】
g(N)=f(N)/fmax
・・・(4)
【0058】
ここで、g(N)は、N番目のフレームの時系列正規化特徴量を、f(N)は、N番目のフレームの時系列特徴量を、fmaxは、時系列特徴量のうち最大値をそれぞれ表している。
【0059】
平滑部52は、以下の式(5)で示される移動平均を求めることにより、正規化された時系列特徴量を平滑化して変化量算出部53に供給する。
【0060】
【数2】

・・・(5)
【0061】
ここで、MA(N)は、N番目のフレームの時系列正規化特徴量の移動平均値を、g(k+N)は、(k+N)番目のフレームの時系列正規化特徴量を、Lは、移動平均の対象となる長さ(サンプル数)を、Nはフレーム番号をそれぞれ表している。
【0062】
すなわち、時系列正規化特徴量は、フレーム長が短くなると時間分解能は高くなるが、波形の起伏が激しくなり、閾値との比較が困難になる恐れがある。このため、サンプル数Lの範囲における移動平均値とすることで、時系列正規化特徴量が平滑化される。尚、このサンプル数Lは、入力された音声信号を構成する楽曲のテンポ量により変化させるようにしてもよいものである。
【0063】
変化量算出部53は、以下の式(6)で示されるように、平滑化された時系列正規化特徴量の変化量Dを近傍のフレーム同士の差分絶対値として求め、変化量Dとして順次変化点判定部54に供給する。変化点判定部54は、変化量Dと所定の閾値とを比較し、所定の閾値よりも大きいとき、変化点であるものと認識し、比較結果として変化点検出制御部55に供給する。
【0064】
D=ABS(MA(N+J)−MA(N))
・・・(6)
【0065】
ここで、Dは、変化量を、ABS()は、絶対値を、MA(N+J),MA(N)は、フレーム番号(N+J),Nの時系列正規化特徴量の移動平均値を、Jは、フレーム数をそれぞれ表している。
【0066】
変化点判定部54は、変化量算出部53より供給されてくる変化量と所定の閾値とを比較し、所定の閾値よりも大きいとき、変化点であるものとみなし、それ以外のとき変化点ではないものとみなす比較結果を変化点検出制御部55に供給する。
【0067】
変化点検出制御部55は、変化点判定部54より供給されてくる変化点であるか否かを示す比較結果を変化点調整部56に供給する。また、変化点検出制御部55は、比較結果が変化点である場合、変化量算出部53を制御して、変化点であるとされたフレーム位置から所定の距離だけ離れたフレームから変化量を順次算出させる。すなわち、変化点は、順次フレーム番号順に計算されるが、変化点が検出された場合、変化量の算出位置を大きく変更することで、変化点近傍での変化点検出の重複検出を防ぎ、効果の薄い変化点が検出されるのを抑制する。
【0068】
変化点調整部56は、変化点検出制御部55より供給されてくる比較結果である変化点の情報に基づいて、フレーム間距離が所定の距離より短い間隔で求められている変化点同士を統合し、変化点の間隔を調整して、変化点再検出判定部57に供給する。変化点調整部56は、例えば、フレーム間距離が所定の距離内にある2つの変化点については、その中間位置に統合する。尚、統合の手法はこれに限るものではなく、その他の手法であってもよいものである。また、統合する際のフレーム間距離は、音声信号である楽曲のテンポ量に応じて設定されるものであっても良い。
【0069】
変化点再検出判定部57は、調整された変化点の情報に基づいて、総数が所定の閾値より多いか否か、および、変化点の存在しないフレーム間隔が所定の閾値よりも短いか否かを判定し、判定結果に応じて、変化点を再検出するか否かを判定する。例えば、変化点の総数が所定の閾値より多い場合、変化点の情報が多く起伏の多いことになるため、変化点再検出判定部57は、平滑部52を制御して移動平均のサンプル数Lを増やすようにさせる。尚、変化点を減らせるようにすればよいので、再検出判定部57は、平滑部52を制御して移動平均のサンプル数Lを増やすようにさせることに代えて、変化量算出部53を制御して所定の閾値を大きくさせるようにしてもよい。また、例えば、変化点の存在しないフレーム間隔が所定の閾値よりも長い場合、変化点の情報がない間隔が大きすぎると考えられるため、変化点再検出判定部57は、変化量算出部53を制御して所定の閾値を小さくし、変化点を検出し易く制御する。そして、変化点再検出判定部57は、調整された変化点の情報に基づいて、総数が所定の閾値より多くなく、かつ、変化点の存在しないフレーム間隔が所定の閾値よりも短い場合、供給されてきた変化点の情報を出力する。
【0070】
[サビ解析部の構成例]
次に、図3を参照して、サビ解析部35の詳細な構成について説明する。
【0071】
ブロック区切部71は、変化点統合情報の変化点の情報に基づいて、種別毎に時系列正規化特徴量を変化点の間隔でブロック単位に区切り、サビブロック検出部72に供給する。
【0072】
サビブロック検出部72は、ブロック区切部71より供給されてくるブロック単位で、種別毎に、時系列正規化特徴量の平均値をブロック平均値として求め、最大値となるブロックをサビブロックとして検出し、サビブロック制御部73に供給する。
【0073】
サビブロック制御部73は、サビブロックの時間方向に前方、および後方に隣接するブロックをサビブロックの開始位置および終了位置の候補となるブロックとしてサビブロック解析部74に供給する。
【0074】
サビブロック解析部74は、サビブロックの開始位置および終了位置の候補となるブロックの時系列正規化特徴量のブロック平均値を計算し、サビブロック判定部75に供給する。
【0075】
サビブロック判定部75は、サビブロックの開始位置および終了位置の候補となるブロックの時系列正規化特徴量のブロック平均値と楽曲の音声信号の全体における特徴量の平均との差分と、以下の式(7)により設定される閾値Vthとを比較する。
【0076】
Vth=(BMAmax−MAav)×α
・・・(7)
【0077】
ここで、Vthは、閾値を、BMAmaxは、時系列正規化特徴量の平均が最大となるブロックにおける、時系列正規化特徴量のブロック平均値を、MAavは、時系列正規化特徴量の楽曲全体の平均値を、αは調整係数を、それぞれ表している。尚、時系列正規化特徴量の楽曲全体の平均値MAavを算出する際、無音箇所など他と比べて著しく音響信号レベルが小さい箇所については、算出対象から除外することが望ましい。
【0078】
そして、サビブロック判定部75は、ブロック平均値と楽曲の音声信号の全体における特徴量の平均との差分が閾値Vthより大きい場合、その候補となるブロックをサビブロックとして、開始位置および終了位置を更新する。そして、サビブロック判定部75は、サビブロック制御部73を制御して、さらに、前方、および後方のブロックについて同様の処理を繰り返すように指示する。サビブロック判定部75は、この処理を繰り返し、閾値Vthよりもブロック平均値と楽曲の音声信号の全体における特徴量の平均との差分が低い場合、その候補となるブロックを、サビブロック補正部76に供給する。
【0079】
サビブロック補正部76は、サビブロックの候補となるブロックについて、調整係数αを調整して閾値Vthを下げる、または、開始点および終了点のブロックのそれぞれの先頭付近、および終了付近の時系列特徴量を外したブロック平均値により、再度、同様の処理を繰り返す。この処理により、サビブロック補正部76は、サビブロックの末端となるブロックが開始位置および終了位置のブロックであるか否かを再判定する。ブロック平均値と楽曲の音声信号の全体における特徴量の平均との差分が閾値より大きい場合、サビブロック補正部76は、その候補となるブロックをサビブロックとして、開始位置および終了位置を更新し出力する。また、ブロック平均値と楽曲の音声信号の全体における特徴量の平均との差分が閾値より小さい場合、サビブロック補正部76は、従来のサビブロックの開始位置および終了位置を出力する。
【0080】
[音楽解析処理]
次に、図4のフローチャートを参照して、音楽解析処理について説明する。
【0081】
ステップS1において、取得部31は、入力されてくる楽曲からなる音声信号を取得し、必要に応じて圧縮形態の音声信号をデコードし、PCM形態の音声信号に変換して、特徴量抽出部32に供給する。
【0082】
ステップS2において、特徴量抽出部32は、楽曲を構成する音声信号より予め設定されている種別の特徴量を時系列に抽出し、時系列特徴量として抽出する。ここで、特徴量抽出部32により抽出されるべき時系列特徴量の種別は、上述した音声信号レベルであるステレオ和信号、およびステレオ差信号であるものとして説明を進めるが、それ以外の種別の時系列特徴量であってもよい。
【0083】
ステップS3において、変化点検出部33は、変化点検出処理を実行し、時系列特徴量の種別毎に変化点を検出し、変化点検出結果を変化点統合部34に供給する。
【0084】
[変化点検出処理]
ここで、図5のフローチャートを参照して、変化点検出処理について説明する。
【0085】
ステップS31において、正規化部51は、上述した式(4)を計算することにより、種別毎に時系列特徴量のうち最大値となる値で、全ての時系列特徴量を除することにより、正規化し、時系列正規化特徴量として平滑部52に供給する。
【0086】
ステップS32において、平滑部52は、種別毎の時系列特徴量の全てについて、サンプル数L分だけの移動平均を求めて置換することにより、平滑化して変化量算出部53に供給する。尚、サンプル数Lについては、初期の処理においては、デフォルトの設定値となるが、2回目以降においては、後述する処理により、変化点再検出判定部57により全体の変化点数に基づいて設定される値となる。
【0087】
また、各時系列特徴量を平滑化するのは、例えば、図6の波形Aで示されるような音声信号より抽出される時系列正規化特徴量が、図6の波形Bで示されるようなものであるとき、時系列正規化特徴量は起伏が激しくなり、Aメロとサビ部分の境界など意味のある変化点を検出する際の弊害となる。尚、図6の波形Aの下部における白黒の帯部分は、黒色部分がサビ部分であり、白色部分がサビ部分ではない部分を示している。
【0088】
これに対して、図6の波形C乃至Hで示されるように、平滑化がなされると波形の起伏がなくなり、Aメロとサビ部分の境界と変化点との関係を明確にすることが可能となる。尚、波形C乃至Hについては、それぞれ、0.5秒分、1.0秒分、2.0秒分、4.0秒分、8.0秒分、および12.0秒分のそれぞれの移動平均対象の長さとなる時系列正規化特徴量を、移動平均として置換することにより平滑化したときの波形を示している。
【0089】
しかしながら、図6の波形Hで示されるように移動平均対象の長さを極端に長くすると時間分解能が悪化するため、移動平均対象の長さは適度にとる必要がある。この例の場合、波形Eで示される、移動平均対象の長さを2[sec]程度に対応するサンプル数Lに設定すると良い。移動平均対象の長さは、テンポ量(BPM、1分間当たりのビート量)に応じて設定されることが望ましい。例えば、移動平均対象の長さは、テンポ量に基づき1小節長に設定するようにしてもよい。
【0090】
ステップS33において、変化点再検出判定部57は、変化点となる変化量の閾値を設定する。すなわち、変化点再検出判定部57は、初期の処理においては、デフォルトの値となるが、2回目以降においては、所定時間内に存在する変化点数により設定する。
【0091】
ステップS34において、変化量算出部53は、変化点を検出すべき領域を設定する。尚、この変化点を検出すべき領域については、予め設定されるものであるが、通常、最初の処理においては、取得された楽曲からなる音声信号の全体とされる。
【0092】
ステップS35において、変化量算出部53は、上述した式(6)を計算することにより、入力されてくる時系列正規化特徴量のうち、未処理のものの中で最もフレーム番号Nが小さいものと、そのフレーム番号Nに所定のサンプル数Jを加算したフレーム番号(N+J)の時系列正規化特徴量の値の差分絶対値を変化量Dとして算出し、変化点判定部54に供給する。
【0093】
ステップS36において、変化点判定部54は、供給されてくる変化量Dと閾値とを比較し、変化量が閾値よりも大きいか否かを判定する。例えば、ステップS36において、変化量が閾値よりも大きく、閾値条件を満たすと判定された場合、処理は、ステップS37に進む。
【0094】
ステップS37において、変化点判定部54は、判定結果と共に、供給されてきた変化量を求めたフレームNの時系列正規化特徴量が取得されたタイミングが変化点位置であることを示す情報を変化点検出制御部55に供給する。変化点検出制御部55は、供給されてきた変化量を求めたフレームNの時系列正規化特徴量が取得されたタイミングが変化点位置であることを示す情報を変化点調整部56に供給して記憶させる。
【0095】
ステップS38において、変化点判定部54は、現在比較した変化量のフレーム番号Nに所定値Tを加算し、フレーム番号(N+T)までの変化量と閾値との比較処理は処理済であるものとして、以降の処理を実行させるように、変化点検出制御部55を制御する。
【0096】
すなわち、図7で示されるように、時刻t6に対応する変化量が所定の閾値よりも大きく、閾値条件を満たしている場合、処理したフレーム番号N(t6)に対して、所定値Tを加算したタイミング時刻t11に相当するフレーム番号N(t11)にフレーム番号を変更し、このフレーム番号に対応する変化点までの変化量は算出されたものとする。これは、変化点を検出した場合、変化量の算出位置を大きく変更することで、変化点近傍での変化点検出の重複を防ぎ、効果の薄い変化点検出を抑制するためである。新しく更新された変化量の算出位置は、例えば、変化量を算出する場合と同様、元の算出位置から1小節程度離れた位置にすると良い。尚、図7においては、横軸が時刻であり、縦軸が各時刻に対応するタイミングにおける時系列正規化特徴量の値を示している。各時刻t1乃至t7、およびt11乃至t12間の時間Tfは、上述したサンプル数Kに対応するフレーム長である。
【0097】
ステップS39において、変化点判定部54は、指定した領域について、全てのフレーム番号の変化量の算出が完了されたか否かを判定する。すなわち、次に変化量を算出するフレーム番号に対応する位置が、指定された領域を超えているか否かにより判定されることになる。ステップS39において、指定した領域について、全てのフレーム番号の変化量の算出が完了していないと判定された場合、処理は、ステップS35に戻る。一方、ステップS36において、変化量が閾値よりも小さく、閾値条件を満たしていない場合、ステップS37,S38の処理はスキップされる。すなわち、指定した領域について、全ての変化量が求められたと判定されるまで、ステップS35乃至S39の処理が繰り返される。
【0098】
そして、ステップS39において、指定した領域について、全ての変化量が求められたと判定された場合、処理は、ステップS40に進む。
【0099】
ステップS40において、変化点調整部56は、検出した変化点について、近傍のものとなるものを統合し、統合した変化点の情報を変化点再検出判定部57に供給する。
【0100】
すなわち、変化点調整部56は、図8の上段で示されるように、予め定めた統合範囲Dt内に含まれる時刻t21,t22に対応するタイミングの変化点を、図8の下段で示されるように、時刻t21,t22の中間である時刻t31に統合する。尚、統合に当たっては、2つのタイミングの中間以外のタイミングに統合するようにしてもよいものである。また、統合範囲Dtについては、テンポ量に応じて変えるようにしてもよいものである。
【0101】
ステップS41において、変化点再検出判定部57は、供給されてきた変化点のタイミングの情報に基づいて、変化点を検出した領域全体における変化点数が所定の閾値より少ないという閾値条件を満たすか否かを判定する。ステップS41において、例えば、変化点を検出した領域全体における変化点数が所定の閾値よりも少ないという閾値条件を満たさない場合、処理は、ステップS43に進む。
【0102】
すなわち、図9の上段で示されるような音声信号の波形の場合、その時系列正規化特徴量は、2.0秒間隔で平滑化しても、図9の下段で示されるような波形となる。すなわち、図9の下段の波形は、起伏が激しく、図6の波形Eと比較すると、平滑化が不足した波形であり、検出した変化点数が予め定めた閾値より多くなる恐れがある。そのため、変化点を過剰に検出してしまい、サビ検出性能の劣化要因となる恐れがある。テンポ量(BPM)が小さい楽曲の場合や、伴奏がピアノだけの楽曲など楽器数が少ない場合に、このような音声信号レベルの起伏が激しくなる傾向がある。尚、図9の上段における下部の白色および黒色からなる帯部分はサビ部分を示すものであり、黒色がサビ部分を、白色がサビ部分ではない領域を示している。
【0103】
そこで、ステップS43において、変化点再検出判定部57は、平滑部52を制御して、平滑化の際の移動平均対象の範囲を長くし、処理は、ステップS32に戻る。この結果、移動平均対象の範囲が長くなった状態で、変化点が再度検出される。楽曲の総時間は楽曲によって異なるため、変化点数の閾値は単位時間当たりの変化点数(例えば、1分あたりの変化点数)であることが望ましい。尚、変化点数を減らすことができればよいので、移動平均対象の範囲を長くする代わりに、変化点判定部54における閾値を大きく設定し直し、変化点を検出し難い状態として、再度変化点を検出するようにしてもよい。
【0104】
一方、ステップS41において、変化点検出を行った領域全体における変化点数が所定の閾値よりも少ないという閾値条件を満たす場合、処理は、ステップS42に進む。
【0105】
ステップS42において、変化点再検出判定部57は、予め定めた所定時間内に変化点のない領域が存在するか判定する。この所定時間はテンポ量に応じて変えても良い。ステップS42において、予め定めた所定時間内に変化点のない領域がある場合、処理は、ステップS44に進む。
【0106】
ステップS44において、変化点再検出判定部57は、変化点判定部54を制御して、変化点を検出し易くするため閾値を所定値だけ小さく設定させるように制御すると共に、変化点検出領域を該当領域に設定し、処理は、ステップS33に戻る。
【0107】
すなわち、変化点の無い領域については、変化点を求める必要があるため、変化点判定部54における閾値を小さく、緩めに設定させることで、変化点が求めやすい状態として、再度、処理を繰り返す。
【0108】
そして、ステップS42において、予め定めた所定時間内に変化点のない領域が存在しないと判定された場合、処理は、ステップS45に進む。
【0109】
ステップS45において、変化点再検出判定部57は、求められた変化点の情報を出力する。尚、複数の種別の時系列特徴量を扱う場合、種別毎に変化点の情報が生成されて出力されることになる。
【0110】
以上の処理により、時系列正規化特徴量の変化量が閾値よりも大きなタイミングが変化点として求められて、それらの時系列の情報が変化点情報として出力される。また、複数の種別の時系列特徴量を扱う場合、種別毎に変化点の情報が生成されて、それぞれの変化点情報が出力される。
【0111】
ここで、図4のフローチャートの説明に戻る。
【0112】
ステップS3において、変化点検出処理が実行されることにより、変化点情報が変化点検出部33により生成されて、変化点統合部34に供給されると、ステップS4において、変化点統合部34は、これらの変化点情報を統合する。すなわち、複数の種別のそれぞれの変化点情報が供給されてくることになるが、最終的に必要なのは、楽曲における変化点であり、複数の種別の変化点情報があったとしても、類似した傾向を示すものもあるので、近傍にある変化点については、種別に関わらず、順次統合する。尚、統合方法については、図8を参照して説明した処理と同様であるので、その説明は省略する。
【0113】
ステップS5において、サビ解析部35は、サビ解析処理を実行して、時系列正規化特徴量の種別毎に、サビブロックの先頭位置と終了位置を求めてサビ統合部36に供給する。
【0114】
[サビ解析処理]
ここで、図10のフローチャートを参照して、サビ解析処理について説明する。
【0115】
ステップS71において、ブロック区切部71は、時系列正規化特徴量を、変化点を境界とするブロックに区切り、時系列正規化特徴量をブロック単位に分割する。
【0116】
ステップS72において、サビブロック検出部72は、ブロック単位で時系列正規化特徴量の平均値を求め、最大値となるブロックをサビブロックとして検出する。すなわち、音声信号のレベルを特徴量とした場合、「サビ部分」は、「Aメロ」や「間奏」などと比較して音声信号レベルが大きいという音楽性質を持つため、時系列正規化特徴量の平均が最大となるブロックがサビブロックとして検出される。
【0117】
ステップS73において、サビブロック検出部72は、ブロック単位に分割された時系列正規化特徴量の平均が最大値となるブロックの長さが所定の長さより短いか否かを判定し、判定結果をサビブロック制御部73に供給する。
【0118】
ステップS73において、時系列正規化特徴量の平均が最大値となるブロックの長さが所定の長さよりも短いか否か、すなわち、時系列正規化特徴量の平均が最大値となるブロックが極端に短く、時系列正規化特徴量の平均が、突発的に大きいとみなされる場合、処理は、ステップS74に進む。
【0119】
ステップS74において、サビブロック制御部73は、時系列正規化特徴量の平均が最大値となるブロックの長さを、所定の長さにまで広げ、所定の長さにまで広げられたブロックの長さから求められる時系列正規化特徴量の平均を、そのブロックにおける時系列正規化特徴量の平均とする。
【0120】
すなわち、例えば、図11における時刻t75乃至t76のブロックの時系列正規化特徴量の平均は、最大値となるが、ブロックの長さが所定の長さよりも短いため、突発的に大きな変化となっている。このような場合、ブロック単位の平均値が他のブロックと比較して大きくなり、後述する閾値条件が必要以上に厳しくなることで、サビ開始位置を検出する際の妨げとなってしまう恐れがある。このため、ブロック長が予め定めた閾値より小さい場合、特徴量平均の算出対象を予め定めた範囲まで広げることでこのような弊害を軽減する。この閾値および特徴量平均の算出対象となる範囲はテンポ量に応じて変えても良い。尚、図11においては、波形図の下部に設けられた各時刻t71乃至t79が変化点として求められたタイミングであり、各間隔がブロックとして分割され、時刻t75乃至t76のブロックがサビブロックとして検出される。
【0121】
また、ステップS73において、時系列正規化特徴量の平均が最大値となるブロックの長さが所定の長さよりも短くない場合、ステップS74の処理はスキップされ、ステップS73の処理の後、処理は、ステップS75に進む。
【0122】
ステップS75において、サビブロック制御部73は、サビブロックの情報に基づいて、上述した式(7)で示されるブロック単位の時系列特徴量平均の最大値と楽曲の音声信号の全体における特徴量の平均値との差分に基づいて閾値Vthを計算する。
【0123】
ステップS76において、サビブロック制御部73は、サビブロックの情報に基づいて、サビブロック開始位置の情報を更新する。そして、サビブロック制御部73は、種別毎に、各ブロック単位の時系列正規化特徴量の平均値、サビブロック、各ブロック、および時系列正規化特徴量のそれぞれの情報、サビブロック開始位置の情報、並びに、閾値Vthをサビブロック解析部74に供給する。
【0124】
すなわち、例えば、図12の上段で示されるような時系列正規化特徴量の波形があり、波形の下に時刻t101乃至t107のそれぞれの間隔毎にブロックが設定され、時刻t105乃至t106のブロックがサビブロックとして検出された場合、サビブロック制御部73は、サビブロックである時刻t105乃至t106のブロックの先頭位置である時刻t105をサビブロックの開始位置として更新する。尚、図12においては、右下がりの斜線部はサビブロックであり、白色のブロックはそれ以外のブロックである。
【0125】
ステップS77において、サビブロック解析部74は、サビブロックの開始位置の時間的に前のタイミングのブロックをサビブロックの先頭ブロックの候補として解析対象に設定する。そして、サビブロック解析部74は、種別毎に、各ブロック単位の時系列正規化特徴量の平均値、サビブロック、各ブロック、および時系列正規化特徴量のそれぞれの情報、サビブロック開始位置、解析対象のブロックの情報、並びに閾値Vthをサビブロック判定部75に供給する。
【0126】
ステップS78において、サビブロック判定部75は、先頭ブロックの候補である解析対象となるブロックの時系列正規化特徴量の平均値を求める。
【0127】
ステップS79において、サビブロック判定部75は、解析対象となるブロックの時系列正規化特徴量の平均値と楽曲の音声信号の全体における特徴量の平均値との差分が閾値Vthよりも大きく、閾値条件を満たしているか否かを判定する。
【0128】
ステップS79において、例えば、図12の上から3段目で示されるように、右上がりの斜線部で示される時刻t104乃至t105のブロックが解析対象となるブロックの場合、時系列正規化特徴量の平均値と楽曲の音声信号の全体における特徴量の平均値との差分が閾値Vthよりも大きく、閾値条件を満たしているとき、処理は、ステップS76に戻る。
【0129】
すなわち、この場合、ステップS76において、サビブロックは、図12の4段目で示されるように、右下がりの斜線部で示される時刻t104乃至t106の2つのブロックから構成され、その開始位置は、時刻t104に更新される。このとき、ステップS77においては、図12の5段目で示されるように、時刻t103乃至t104のブロックが解析対象に設定される。
【0130】
一方、ステップS79において、時系列正規化特徴量の平均値と楽曲の音声信号の全体における特徴量の平均値との差分が閾値Vthよりも小さく、閾値条件を満たさない場合、処理は、ステップS80に進む。
【0131】
ステップS80において、サビブロック判定部75は、種別毎に、各ブロック単位の時系列正規化特徴量の平均値、サビブロック、各ブロック、および時系列正規化特徴量のそれぞれの情報、サビブロック開始位置、解析対象のブロックの情報、並びに閾値Vthをサビブロック補正部76に供給する。サビブロック補正部76は、解析対象のブロックがサビブロックであるか否かを詳細に判定する。すなわち、「サビ部分の直前のブロック」から「サビ部分」に遷移するに際して、徐々に音声信号のレベルが上がることが多い。こうした場合、解析対象となるブロックが遷移箇所を含むと、時系列正規化特徴量の平均が小さくなってしまう場合がある。このような弊害を考慮するため、サビブロック補正部76は、ブロック内先頭付近の時系列正規化特徴量を、平均を求める算出対象から外して、解析対象のブロックの時系列正規化特徴量の補正平均を求め直し、閾値Vthとの比較により、閾値条件を満たすか否かによりサビブロックであるか否かを判定する。
【0132】
ステップS80において、解析対象のブロックの時系列正規化特徴量の補正平均と楽曲の音声信号の全体における特徴量の平均値との差分が閾値Vthよりも大きく、閾値条件を満たすとみなされた場合、処理は、ステップS81に進む。
【0133】
ステップS81において、サビブロック補正部76は、解析対象のブロックを、サビブロックの先頭位置に更新して記憶する。
【0134】
一方、ステップS80において、解析対象のブロックの時系列正規化特徴量の補正平均と楽曲の音声信号の全体における特徴量の平均値との差分が閾値Vthよりも小さく、閾値条件を満たさないとみなされた場合、図12の6段目で示されるように、候補であった時刻t103乃至t104のブロックは、サビブロックではないものとみなされる。そして、ステップS81の処理がスキップされる。
【0135】
ステップS82において、サビ解析部35は、終了位置設定処理を実行し、上述したサビブロックの開始位置を決定する手法と同様の手法によりサビブロックの終了位置を設定する。尚、サビブロックの終了位置設定処理については、ステップS75乃至S81の処理と同様の手法であって、時間の進む方向に解析対象ブロックを設定すること以外は同様であるので、その説明は省略するものとする。
【0136】
ステップS83において、サビブロック補正部76は、求められたサビブロックの先頭位置および終了位置の情報をサビ統合部36に出力する。
【0137】
以上の処理により、時系列正規化特徴量のうち、ブロック単位の平均値が最大値となるブロックを中心として、サビブロックの開始位置および終了位置の情報が求められる。また、複数の種別の時系列正規化特徴量が用いられた場合、時系列正規化特徴量の種別毎に、サビブロックの開始位置および終了位置の情報が求められることになる。
【0138】
ここで、図4のフローチャートの説明に戻る。
【0139】
ステップS5において、サビ解析処理により時系列正規化特徴量の種別毎にサビブロックの開始位置および終了位置の情報が求められてサビ統合部36に供給される。
【0140】
そして、ステップS6において、サビ統合部36は、サビ解析部35より供給されてきた、時系列正規化特徴量の種別毎のサビブロックの開始位置および終了位置の情報を取得し、複数のサビブロックを統合する。より具体的には、サビ統合部36は、サビブロックであるか否かの判定に使用する閾値Vthが小さい場合、検出したブロックがサビ部分である信頼性が低くなる傾向があるため、閾値等を指標に最も信頼性の高い特徴量により求められたサビブロックを統合結果として出力する。また、どの種別の特徴量がサビ解析に有効であるかについては、予め分かっているので、サビ統合部36は、特徴量についてサビ解析に有効な順に予め採用の優先度を決めておき、閾値等を指標に信頼性の低い場合のみ他の特徴量による検出結果を出力するようにしてもよい。尚、時系列正規化特徴量の種別が1種類である場合は、この処理は、スキップされる。
【0141】
ステップS7において、サビ統合部36は、統合されたサビブロックの情報を出力する。
【0142】
以上のように、時系列正規化特徴量をフレーム毎に設定し、各時系列正規化特徴量の移動平均を求め、フレーム単位の変化量から所定の変化量より大きな位置を変化点として求め、変化点間をブロックとして設定し、ブロック単位で時系列正規化特徴量の平均を求め、その最大値となるブロックをサビブロックとして検出し、検出されたサビブロックの開始位置と終了位置とを求めることで、サビブロックの範囲を検出するようにした。結果として、サビ部分は、音声信号のレベルが高まるという傾向に基づいて、正確に求めることが可能となる。
【0143】
さらに、時系列特徴量の平均が最大となるブロックをサビブロックとして検出しているが、逆に「サビ」が「Aメロ」や「間奏」などと比較して小さくなる特性を持つ種別の時系列特徴量を使用する場合、時系列特徴量の平均が最小となるブロックを検出するようにして、この場合は時系列特徴量の正負極性を反転して扱うことで、共通した処理とするようにしてもよい。
【0144】
本発明によれば、サビ部分を精度良く抽出することができ、ユーザが所望とする楽曲の検索性能を高めることができる。また、複数の楽曲のサビ部分について、音声信号の変化点を開始位置として連続再生することができる。
【0145】
また、上述したように簡潔な処理構造で実現することができるため、処理能力の低いプロセッサでも高速な処理が可能であり、また実装も容易である。さらに、楽曲中での繰り返しパターンを考慮していないため類似度算出のための自己相関処理は不要であり、楽曲後半を解析対象から外すなどすることにより、更なる高速化を実現することが可能となる。
【0146】
さらに、楽曲検索の機能や複数楽曲のサビ部分について連続再生する機能を持ったアプリケーションとして活用することが可能となる。
【0147】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0148】
図13は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェイス1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
【0149】
入出力インタフェイス1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
【0150】
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0151】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【符号の説明】
【0152】
11 音楽解析装置, 31 取得部, 32 特徴量抽出部, 33 変化点検出部, 34 変化点統合部, 35 サビ解析部, 36 サビ統合部, 37 サビ情報出力部, 51 正規化部, 52 平滑部, 53 変化量算出部, 54 変化点判定部, 55 変化点検出制御部, 56 変化点調整部, 57 変化点再検出判定部, 71 ブロック区切部, 72 サビブロック検出部, 73 サビブロック制御部, 74 サビブロック解析部, 75 サビブロック判定部, 76 サビブロック補正部

【特許請求の範囲】
【請求項1】
楽曲の音声信号を取得する音声信号取得手段と、
前記音声信号取得手段により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出手段と、
前記特徴量抽出手段により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出手段と、
前記変化点検出手段により検出された変化点を境界とするブロック単位に特徴量抽出手段により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析手段と、
前記サビ解析手段により解析された前記サビ箇所を、サビ情報として出力するサビ情報出力手段と
を含む音声処理装置。
【請求項2】
前記特徴量の種別は、ステレオ和信号の2乗平均平方、ステレオ差信号の2乗平均平方、ステレオ和信号の振幅2乗和、およびステレオ差信号の振幅2乗和のいずれか、またはそれらいずれかの組み合わせを含む
請求項1に記載の音声処理装置。
【請求項3】
前記変化点検出手段は、
前記時系列の特徴量を平滑化する平滑手段と、
前記変化量を算出する変化量算出手段と、
前記変化量のそれぞれについて、前記変化点のものであるか否かを判定する変化点判定手段と、
前記変化量の算出箇所を制御し、前記変化点を検出した場合、前記変化点の位置を記録する変化点検出制御手段と、
前記複数の変化点を統合する変化点統合手段とを含む
請求項1に記載の音声処理装置。
【請求項4】
前記変化点検出手段は、
前記時系列の特徴量を正規化する正規化手段をさらに含む
請求項3に記載の音声処理装置。
【請求項5】
前記変化点検出手段は、
前記変化点の数と所定の閾値との比較により、前記変化点の数が前記所定の閾値よりも多い場合、前記変化点の数を少なくするように前記所定の閾値を変化させる、および、前記平滑化手段による、前記時系列の特徴量を平滑化し直す、のいずれか、または、その両方を実行し、前記変化量のそれぞれについて、前記変化点であるか否かを判定し直す変化点再検出手段を含む
請求項3に記載の音声処理装置。
【請求項6】
前記変化点検出手段は、
所定時間より長く前記変化点が存在しない期間が存在する場合、前記変化点の数を多くするように前記所定の閾値を変化させ、前記変化量のそれぞれについて、前記変化点であるか否かを判定し直す変化点再検出手段を含む
請求項3に記載の音声処理装置。
【請求項7】
前記平滑化手段は、前記時系列の特徴量を、所定期間における移動平均により平滑化する
請求項3に記載の音声処理装置。
【請求項8】
前記平滑化手段は、前記時系列の特徴量を、予め求めたテンポ量に基づいた所定期間における移動平均により平滑化する
請求項7に記載の音声処理装置。
【請求項9】
前記変化点検出手段は、
前記変化点のうち隣接する複数の変化点を統合する変化点調整手段を含む
請求項3に記載の音声処理装置。
【請求項10】
前記変化点検出手段は、
前記変化点のうち隣接する2つの変化点を、中間点で統合する変化点調整手段を含む
請求項9に記載の音声処理装置。
【請求項11】
前記サビ解析手段は、
前記変化点を境界とするブロックに区切るブロック区切手段と、
前記ブロック単位で前記特徴量の平均を求め、前記特徴量の平均が最大となるブロックを、サビブロックとして検出するサビブロック検出手段と、
前記サビブロック検出手段により検出したサビブロックと連なるブロックであることを制約条件に解析対象となるブロックの位置を制御するサビブロック制御手段と、
前記解析対象となるブロックを解析するサビブロック解析手段と、
前記サビブロック解析手段の解析結果に基づいて、前記解析対象となるブロックがサビブロックであるか否かを判定するサビブロック判定手段とを含む
請求項1に記載の音声処理装置。
【請求項12】
前記サビブロック検出手段は、前記特徴量の平均が最大となるブロックが所定期間よりも短い場合、前記ブロック単位の前記特徴量の平均の算出範囲を前記ブロックよりも長い所定の長さにまで広げて求められる前記特徴量の平均を、前記特徴量の平均とする
請求項11に記載の音声処理装置。
【請求項13】
前記サビブロック解析手段は、前記解析対象のブロックを解析することにより、前記解析対象のブロックにおける前記特徴量の平均を求めて解析結果とし、
前記サビブロック判定手段は、前記サビブロック検出手段で検出したサビブロックにおける前記特徴量の平均と、前記音声信号取得手段により取得された楽曲の音声信号の全体における特徴量の平均との差分に基づいて所定の閾値を計算し、前記解析対象のブロックにおける前記特徴量の平均と楽曲の音声信号の全体における特徴量の平均との差分と、前記閾値との比較により、前記解析対象となるブロックがサビブロックであるか否かを判定する
請求項11に記載の音声処理装置。
【請求項14】
前記サビブロック解析手段は、
前記サビブロック判定手段により、前記解析対象となるブロックがサビブロックではないと判定された場合、前記所定の閾値を小さくするようにして補正し、再度、前記解析対象となるブロックを解析し、前記サビブロックであるか否かを判定するサビブロック補正手段を含む
請求項13に記載の音声処理装置。
【請求項15】
前記サビブロック解析手段は、
前記サビブロック判定手段により、前記解析対象となるブロックがサビブロックではないと判定された場合、前記解析対象となるブロックにおけるサンプル数を減らすようにして補正し、再度、前記解析対象となるブロックを解析し、前記サビブロックであるか否かを判定するサビブロック補正手段を含む
請求項13に記載の音声処理装置。
【請求項16】
複数の前記予め定められた種別の特徴量によるサビ情報を統合するサビ情報統合手段をさらに含む
請求項11に記載の音声処理装置。
【請求項17】
前記音声信号取得手段は、取得した楽曲の音声信号のMDCT係数を出力する
請求項1に記載の音声処理装置。
【請求項18】
楽曲の音声信号を取得する音声信号取得手段と、
前記音声信号取得手段により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出手段と、
前記特徴量抽出手段により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出手段と、
前記変化点検出手段により検出された変化点を境界とするブロック単位に特徴量抽出手段により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析手段と、
前記サビ解析手段により解析された前記サビ箇所を、サビ情報として出力するサビ情報出力手段と
を含む音声処理装置の音声処理方法であって、
前記音声信号取得手段における、前記楽曲の音声信号を取得する音声信号取得ステップと、
前記特徴量抽出手段における、前記音声信号取得ステップの処理により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出ステップと、
前記変化点検出手段における、前記特徴量抽出ステップの処理により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出ステップと、
前記サビ解析手段における、前記変化点検出ステップの処理により検出された変化点を境界とするブロック単位に特徴量抽出ステップの処理により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析ステップと、
前記サビ情報出力手段における、前記サビ解析ステップにより解析された前記サビ箇所を、サビ情報として出力するサビ情報出力ステップと
を含む音声処理方法。
【請求項19】
楽曲の音声信号を取得する音声信号取得手段と、
前記音声信号取得手段により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出手段と、
前記特徴量抽出手段により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出手段と、
前記変化点検出手段により検出された変化点を境界とするブロック単位に特徴量抽出手段により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析手段と、
前記サビ解析手段により解析された前記サビ箇所を、サビ情報として出力するサビ情報出力手段と
を含む音声処理装置を制御するコンピュータに、
前記音声信号取得手段における、前記楽曲の音声信号を取得する音声信号取得ステップと、
前記特徴量抽出手段における、前記音声信号取得ステップの処理により取得された音声信号より、予め定められた種別の特徴量を時系列に抽出する特徴量抽出ステップと、
前記変化点検出手段における、前記特徴量抽出ステップの処理により時系列に抽出された特徴量の変化量が、所定の閾値よりも大きく変化する変化点を検出する変化点検出ステップと、
前記サビ解析手段における、前記変化点検出ステップの処理により検出された変化点を境界とするブロック単位に特徴量抽出ステップの処理により抽出された特徴量に基づいて、前記音声信号におけるサビ箇所を解析するサビ解析ステップと、
前記サビ情報出力手段における、前記サビ解析ステップにより解析された前記サビ箇所を、サビ情報として出力するサビ情報出力ステップと
を含む処理を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−108451(P2012−108451A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2011−37393(P2011−37393)
【出願日】平成23年2月23日(2011.2.23)
【出願人】(000002185)ソニー株式会社 (34,172)