(57)【特許請求の範囲】
【請求項１】
筐体の周囲の騒音を集音するマイクと、
前記マイクにより集音された音の信号の波形から得られる複数の特徴量を特徴量ベクトルとして抽出する特徴量抽出手段と、
前記抽出された特徴量ベクトルと、音楽の信号の波形の特徴量として予め設定された同次元の特徴量ベクトルとのベクトル間距離を算出する距離算出手段と、
前記マイクにより集音された音のリズムを検出するリズム検出手段と、
前記リズム検出手段の検出結果に基づいて、前記算出されたベクトル間距離の重み付けをして、前記重み付けされた距離を閾値判定することにより、前記マイクにより集音された音に音楽が含まれているか否かを判定する判定手段と、
前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定された場合、前記マイクにより集音された音の音量または周波数特性を変更するように前記マイクにより集音された音の信号を加工する加工手段と、
前記マイクにより集音された音の信号と、再生されたコンテンツの音の信号とを加算して出力する加算手段と
を備え、
前記リズム検出手段は、
前記マイクにより集音された音の信号の波形のピークを検出し、
前記検出されたピークの時間的位置と、予め設定されたビート間隔におけるビートの時間的位置との適合度を算出して、前記ビートと前記ピークが合致したか否かを判定し、
単位時間内に前記ピークと合致した前記ビートの数を保持する
コンテンツ再生装置。
【請求項２】
前記特徴量抽出手段は、
前記マイクにより集音された音の信号の波形を所定の時間的長さを有するフレームに分割し、
前記判定手段はさらに、予め設定された複数の前記フレームにおいて前記マイクにより集音された音に音楽が含まれていたか否かを判定し、
前記加工手段は、前記判定手段により予め設定された複数の前記フレームにおいて前記マイクにより集音された音に音楽が含まれていたと判定された場合、前記マイクにより集音された音の信号を加工する
請求項１に記載のコンテンツ再生装置。
【請求項３】
前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定された場合、再生されたコンテンツの音の音量または周波数特性を変更するように再生された前記コンテンツの音の信号を加工する他の加工手段をさらに備える
請求項１に記載のコンテンツ再生装置。
【請求項４】
前記リズム検出手段はさらに、
前記単位時間より短い所定の時間内に前記ビートと前記ピークが合致したか否かを判定し、
前記判定結果に基づいて前記ビート間隔を更新する
請求項１に記載のコンテンツ再生装置。
【請求項５】
前記単位時間毎に前記ピークと合致した前記ビートの数に応じた重み係数を設定し、前記距離算出手段が算出した前記ベクトル間距離に乗じる重み制御手段をさらに備える
請求項１に記載のコンテンツ再生装置。
【請求項６】
前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定されてから音楽が含まれていないと判定されるまでの間、
前記重み制御手段は、前記ビートの数に応じた重み係数の値を変更する
請求項５に記載のコンテンツ再生装置。
【請求項７】
マイクが、筐体の周囲の騒音を集音し、
特徴量抽出手段が、前記マイクにより集音された音の信号の波形から得られる複数の特徴量を特徴量ベクトルとして抽出し、
距離算出手段が、前記抽出された特徴量ベクトルと、音楽の信号の波形の特徴量として予め設定された同次元の特徴量ベクトルとのベクトル間距離を算出し、
リズム検出手段が、前記マイクにより集音された音のリズムを検出し、
判定手段が、前記リズム検出手段の検出結果に基づいて、前記算出されたベクトル間距離の重み付けをして、前記重み付けされた距離を閾値判定することにより、前記マイクにより集音された音に音楽が含まれているか否かを判定し、
加工手段が、前記マイクにより集音された音に音楽が含まれていると判定された場合、前記マイクにより集音された音の音量または周波数特性を変更するように前記マイクにより集音された音の信号を加工し、
加算手段が、前記マイクにより集音された音の信号と、再生されたコンテンツの音の信号とを加算して出力し、
前記リズム検出手段が、
前記マイクにより集音された音の信号の波形のピークを検出し、
前記検出されたピークの時間的位置と、予め設定されたビート間隔におけるビートの時間的位置との適合度を算出して、前記ビートと前記ピークが合致したか否かを判定し、
単位時間内に前記ピークと合致した前記ビートの数を保持するステップ
を含むコンテンツ再生方法。
【請求項８】
コンピュータを、
筐体の周囲の騒音を集音するマイクと、
前記マイクにより集音された音の信号の波形から得られる複数の特徴量を特徴量ベクトルとして抽出する特徴量抽出手段と、
前記抽出された特徴量ベクトルと、音楽の信号の波形の特徴量として予め設定された同次元の特徴量ベクトルとのベクトル間距離を算出する距離算出手段と、
前記マイクにより集音された音のリズムを検出するリズム検出手段と、
前記リズム検出手段の検出結果に基づいて、前記算出されたベクトル間距離の重み付けをして、前記重み付けされた距離を閾値判定することにより、前記マイクにより集音された音に音楽が含まれているか否かを判定する判定手段と、
前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定された場合、前記マイクにより集音された音の音量または周波数特性を変更するように前記マイクにより集音された音の信号を加工する加工手段と、
前記マイクにより集音された音の信号と、再生されたコンテンツの音の信号とを加算して出力する加算手段とを備え、
前記リズム検出手段が、
前記マイクにより集音された音の信号の波形のピークを検出し、
前記検出されたピークの時間的位置と、予め設定されたビート間隔におけるビートの時間的位置との適合度を算出して、前記ビートと前記ピークが合致したか否かを判定し、
単位時間内に前記ピークと合致した前記ビートの数を保持するコンテンツ再生装置として機能させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ再生装置および方法、並びにプログラムに関し、特に、常に快適に音楽を聴きながら、周囲の音にも配慮することができるようにするコンテンツ再生装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来より、音響信号が音楽であるのか、音声であるのかを分類する技術の研究が行われている。
【０００３】
例えば、音楽に比べて重畳した音声や背景音などの音量が大きい場合などは、音響信号が音楽であるのか、音声であるのかを分類することが難しい。このため、音楽区間検出のための技術として、入力音響信号から短時間フレーム毎に音響特徴ベクトル列を算出して各フレームについて音楽を含むか否かを表す音楽情報評価値を算出し、音楽開始・終了時刻を判定する技術などが提案されている（例えば、特許文献１参照）。
【０００４】
また、目的とするオーディオ信号源を聴取しつつも、周囲音についても的確に聴取可能としたヘッドフォンを提供するために、聴取音レベル検知器にて検知された聴取音レベルと外部音検知器にて検知された外部音レベルとに基づいて可変利得増幅器の利得を制御する技術も提案されている（例えば、引用文献２参照）。
【０００５】
【特許文献１】特開２００９−８８３６号公報
【特許文献２】特開２００５−２９５１７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば、ユーザがヘッドフォンで音楽を聴いている場合、周囲音として音楽が流れているときに、周囲音をヘッドフォンの内部で聴こえるようにすると、極めて煩わしく感じられる。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、常に快適に音楽を聴きながら、周囲の音にも配慮することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面は、筐体の周囲の騒音を集音するマイクと、前記マイクにより集音された音の信号の波形から得られる複数の特徴量を特徴量ベクトルとして抽出する特徴量抽出手段と、前記抽出された特徴量ベクトルと、音楽の信号の波形の特徴量として予め設定された同次元の特徴量ベクトルとのベクトル間距離を算出する距離算出手段と、前記マイクにより集音された音のリズムを検出するリズム検出手段と、前記リズム検出手段の検出結果に基づいて、前記算出されたベクトル間距離の重み付けをして、前記重み付けされた距離を閾値判定することにより、前記マイクにより集音された音に音楽が含まれているか否かを判定する判定手段と、前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定された場合、前記マイクにより集音された音の音量または周波数特性を変更するように前記マイクにより集音された音の信号を加工する加工手段と、前記マイクにより集音された音の信号と、再生されたコンテンツの音の信号とを加算して出力する加算手段とを備え、前記リズム検出手段は、前記マイクにより集音された音の信号の波形のピークを検出し、前記検出されたピークの時間的位置と、予め設定されたビート間隔におけるビートの時間的位置との適合度を算出して、前記ビートと前記ピークが合致したか否かを判定し、単位時間内に前記ピークと合致した前記ビートの数を保持するコンテンツ再生装置である。
【０００９】
前記特徴量抽出手段は、前記マイクにより集音された音の信号の波形を所定の時間的長さを有するフレームに分割し、前記判定手段はさらに、予め設定された複数の前記フレームにおいて前記マイクにより集音された音に音楽が含まれていたか否かを判定し、前記加工手段は、前記判定手段により予め設定された複数の前記フレームにおいて前記マイクにより集音された音に音楽が含まれていたと判定された場合、前記マイクにより集音された音の信号を加工するようにすることができる。
【００１１】
前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定された場合、再生されたコンテンツの音の音量または周波数特性を変更するように再生された前記コンテンツの音の信号を加工する他の加工手段をさらに備えるようにすることができる。
【００１３】
前記リズム検出手段はさらに、前記単位時間より短い所定の時間内に前記ビートと前記ピークが合致したか否かを判定し、前記判定結果に基づいて前記ビート間隔を更新するようにすることができる。
【００１４】
前記単位時間毎に前記ピークと合致した前記ビートの数に応じた重み係数を設定し、前記距離算出手段が算出した前記ベクトル間距離に乗じる重み制御手段をさらに備えるようにすることができる。
【００１５】
前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定されてから音楽が含まれていないと判定されるまでの間、前記重み制御手段は、前記ビートの数に応じた重み係数の値を変更するようにすることができる。
【００１６】
本発明の一側面は、マイクが、筐体の周囲の騒音を集音し、特徴量抽出手段が、前記マイクにより集音された音の信号の波形から得られる複数の特徴量を特徴量ベクトルとして抽出し、距離算出手段が、前記抽出された特徴量ベクトルと、音楽の信号の波形の特徴量として予め設定された同次元の特徴量ベクトルとのベクトル間距離を算出し、リズム検出手段が、前記マイクにより集音された音のリズムを検出し、判定手段が、前記リズム検出手段の検出結果に基づいて、前記算出されたベクトル間距離の重み付けをして、前記重み付けされた距離を閾値判定することにより、前記マイクにより集音された音に音楽が含まれているか否かを判定し、加工手段が、前記マイクにより集音された音に音楽が含まれていると判定された場合、前記マイクにより集音された音の音量または周波数特性を変更するように前記マイクにより集音された音の信号を加工し、加算手段が、前記マイクにより集音された音の信号と、再生されたコンテンツの音の信号とを加算して出力し、前記リズム検出手段が、前記マイクにより集音された音の信号の波形のピークを検出し、前記検出されたピークの時間的位置と、予め設定されたビート間隔におけるビートの時間的位置との適合度を算出して、前記ビートと前記ピークが合致したか否かを判定し、単位時間内に前記ピークと合致した前記ビートの数を保持するステップを含むコンテンツ再生方法である。
【００１７】
本発明の一側面は、コンピュータを、筐体の周囲の騒音を集音するマイクと、前記マイクにより集音された音の信号の波形から得られる複数の特徴量を特徴量ベクトルとして抽出する特徴量抽出手段と、前記抽出された特徴量ベクトルと、音楽の信号の波形の特徴量として予め設定された同次元の特徴量ベクトルとのベクトル間距離を算出する距離算出手段と、前記マイクにより集音された音のリズムを検出するリズム検出手段と、前記リズム検出手段の検出結果に基づいて、前記算出されたベクトル間距離の重み付けをして、前記重み付けされた距離を閾値判定することにより、前記マイクにより集音された音に音楽が含まれているか否かを判定する判定手段と、前記判定手段により前記マイクにより集音された音に音楽が含まれていると判定された場合、前記マイクにより集音された音の音量または周波数特性を変更するように前記マイクにより集音された音の信号を加工する加工手段と、前記マイクにより集音された音の信号と、再生されたコンテンツの音の信号とを加算して出力する加算手段とを備え、前記リズム検出手段が、前記マイクにより集音された音の信号の波形のピークを検出し、前記検出されたピークの時間的位置と、予め設定されたビート間隔におけるビートの時間的位置との適合度を算出して、前記ビートと前記ピークが合致したか否かを判定し、単位時間内に前記ピークと合致した前記ビートの数を保持するコンテンツ再生装置として機能させるプログラムである。
【００１８】
本発明の一側面においては、筐体の周囲の騒音が集音され、前記マイクにより集音された音の信号の波形から得られる複数の特徴量が特徴量ベクトルとして抽出され、前記抽出された特徴量ベクトルと、音楽の信号の波形の特徴量として予め設定された同次元の特徴量ベクトルとのベクトル間距離が算出され、前記マイクにより集音された音のリズムが検出され、前記音のリズムの検出結果に基づいて、前記算出されたベクトル間距離の重み付けをして、前記重み付けされた距離を閾値判定することにより、前記集音された音に音楽が含まれているか否かが判定され、前記判定手段により前記集音された音に音楽が含まれていると判定された場合、前記集音された音の音量または周波数特性を変更するように前記集音された音の信号が加工され、前記集音された音の信号と、再生されたコンテンツの音の信号とが加算されて出力される。また、前記音のリズムを検出する際には、前記マイクにより集音された音の信号の波形のピークが検出され、前記検出されたピークの時間的位置と、予め設定されたビート間隔におけるビートの時間的位置との適合度を算出して、前記ビートと前記ピークが合致したか否かが判定され、単位時間内に前記ピークと合致した前記ビートの数が保持される。
【発明の効果】
【００１９】
本発明によれば、常に快適に音楽を聴きながら、周囲の音にも配慮することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明を適用した音楽再生装置の一実施の形態に係る構成例を示すブロック図である。
【図２】本発明を適用した音楽再生装置の一実施の形態に係る構成例を示すブロック図である。
【図３】本発明を適用した音楽再生装置の一実施の形態に係る構成例を示すブロック図である。
【図４】音楽検出部の詳細な構成例を示すブロック図である。
【図５】図４のフレーム分割部と音響特徴量抽出部の処理を説明する図である。
【図６】音楽再生処理の例を説明するフローチャートである。
【図７】音楽検出処理の例を説明するフローチャートである。
【図８】音楽検出部の別の詳細な構成例を示すブロック図である。
【図９】リズム検出部の処理を説明する図である。
【図１０】リズム検出部の詳細な構成例を示すブロック図である。
【図１１】トラッカーの詳細な構成例を示すブロック図である。
【図１２】ビート数と重み係数を説明する図である。
【図１３】ビート数と重み係数を説明する図である。
【図１４】音楽検出部による音楽の検出結果を、Ｆ値(F-measure)により評価した評価結果を説明する図である。
【図１５】音楽検出処理の別の例を説明するフローチャートである。
【図１６】リズム検出処理の例を説明するフローチャートである。
【図１７】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２２】
図１は、本発明を適用した音楽再生装置２０の一実施の形態に係る構成例を示すブロック図である。音楽再生装置２０は、例えば、いわゆるヘッドフォンステレオとして構成されるようにしてもよいし、あるいは、単にヘッドフォンとして構成されるようにしてもよい。すなわち、ここで説明する音楽再生装置２０は、必ずしも音楽のコンテンツを再生する機能などを一体的に有している必要はなく、例えば、デジタルオーディオプレーヤと接続されるヘッドフォンなどのように構成されるようにしてもよい。
【００２３】
同図に示されるように音楽再生装置２０は、マイク２１、音楽検出部２２、加工部２３、加算器２４、加工部２５、およびスピーカ２６により構成されている。
【００２４】
マイク２１は、周囲の音を集音し、集音した音に対応する信号を出力する。ここで、集音される音には、例えば、ユーザが歩いている道を通る自動車の音、ユーザの周囲にいる人たちの話し声、ユーザが訪れた店舗などにおいてＢＧＭとして流れている音楽などが含まれる。
【００２５】
音楽検出部２２は、マイク２１から出力される信号に音楽が含まれているか否かを判定することで、周囲の音の中の音楽を検出するようになされている。なお、音楽検出部２２の詳細な構成については後述する。
【００２６】
加工部２３は、音楽検出部２２の検出結果に基づいて、マイク２１から出力される信号を加工するようになされている。加工部２３は、例えば、マイク２１から出力される信号の音量を調節するような加工をするものであってもよいし、マイク２１から出力される信号の周波数特性を変更するような加工をするものであってもよい。
【００２７】
加工部２５は、音楽検出部２２の検出結果に基づいて、図示せぬ再生部により再生された音楽のコンテンツの信号（音楽信号）を加工するようになされている。加工部２５は、例えば、音楽信号の音量を調節するような加工をするものであってもよいし、音楽信号の周波数特性を変更するような加工をするものであってもよい。
【００２８】
なお、加工部２５は設けられないようにしてもよい。
【００２９】
加算器２４は、加工部２３から出力された信号と、加工部２５から出力された信号を加算してスピーカ２６から出力するようになされている。
【００３０】
スピーカ２６は、入力された信号に対応する音を出力し、その音がユーザの耳に聞こえる音となる。
【００３１】
すなわち、音楽再生装置２０は、再生された音楽とともに、必要に応じて周囲の音を聴くことができるようになされている。
【００３２】
つまり、例えば、ヘッドフォンで音楽を聴いている場合、周囲の音が聞こえにくいため、音楽に重畳して周囲の音を聴かせるようになされているのである。これにより、人の呼びかけに気付くことができたり、車の走行音が聞こえてくることによって安全性が向上したりすることが期待される。
【００３３】
しかしながら、周囲で音楽が流れている場合にはこれを重畳してしまうと、再生中のコンテンツの音楽と競合してしまう。このため、音楽検出部２２で音楽が検出され、音量が変更されたり、周波数特性を変えるフィルタ処理が行われるなどといった加工が加工部２３、または、加工部２５によりなされるのである。
【００３４】
音楽検出部２２乃至加工部２５は、図２に示されるように、図中の点線で示されるヘッドフォンなどの筐体の内部に設けられるようにしてもよい。あるいはまた、音楽検出部２２乃至加工部２５は、図３に示されるように、図中の点線で示されるデジタルオーディオプレーヤなどの筐体の外部に設けられるようにしてもよい。
【００３５】
図４は、音楽検出部２２の詳細な構成例を示すブロック図である。同図に示されるように、音楽検出部２２は、フレーム分割部４１、音響特徴量抽出部４２、および識別部４３により構成されている。
【００３６】
フレーム分割部４１は、入力された信号に短時間の窓関数を乗じるなどして、入力された信号を所定の時間的長さを有する複数のフレームに分割する。そして、フレームに分割された信号のそれぞれについてフーリエ変換を行うことにより周波数解析を行うようになされている。
【００３７】
ここで、短時間の窓関数は時間の一部が重なり合うように（オーバーラップさせて）設定することができ、例えば、ハミング窓、ハニング窓やブラックマン窓などの窓関数が用いられる。
【００３８】
音響特徴量抽出部４２は、例えば、フレーム分割部４１によりフーリエ変換が行われる前後で、特徴量を数種類抽出する。
【００３９】
図５を参照してさらに説明する。図５は、フレーム分割部４１と音響特徴量抽出部４２の処理の例を説明する図である。同図の上側に記載された波形６１は、図１乃至図３のマイク２１により集音された音の信号の波形を表している。
【００４０】
フレーム分割部４１は、波形６１を、所定の時間的長さのフレームである、フレーム６２−１、フレーム６２−２、フレーム６２−３、・・・に分割するようになされている。
【００４１】
音響特徴量抽出部４２は、上述したように、例えば、フレーム分割部４１によりフーリエ変換が行われる前後で、次元の小さい特徴量を数種類抽出する。
【００４２】
例えば、フーリエ変換前に零交差率（Zero Cross）、フーリエ変換後にメル周波数ケプストラム係数（ＭＦＣＣ）、スペクトル重心（Centroid）、スペクトルフラックス（Flux）、ロールオフ（Roll off）などの特徴量が抽出される。
【００４３】
図５の例では、フレーム６２−１に含まれる波形から、特徴量群６３−１が抽出されている。同様に、フレーム６２−２に含まれる波形から、特徴量群６３−２が抽出され、フレーム６２−３に含まれる波形から、特徴量群６３−３が抽出され、・・・のように特徴量群が抽出されることになる。
【００４４】
特徴量群６３−１、特徴量群６３−２、特徴量群６３−３、・・・は、それぞれ各フレームの特徴量ベクトルとして識別部４３に供給される。
【００４５】
識別部４３は、例えば、予め音楽の信号から抽出された複数の特徴量ベクトルを用いて、正解のラベル付きでの一般的な教師学習により、音楽の信号の特徴量を学習しておくようになされている。例えば、ガウシアンミクスチャーモデル、kNN分類器、サポートベクトルマシンなどを用いた学習が行われる。
【００４６】
この学習により、例えば、特徴量群６３−１、特徴量群６３−２、特徴量群６３−３、・・・と同次元の特徴量ベクトルであって、音楽の信号に対応する代表的な特徴量ベクトルが得られることになる。代表的な特徴量ベクトルは、例えば、バラードの音楽の信号に対応する特徴量ベクトル、ロックの音楽の信号に対応する特徴量ベクトル、・・・などのように複数の特徴量ベクトルが得られるようにしてもよい。
【００４７】
識別部４３は、各フレームの特徴量ベクトルと、上述した代表的な特徴量ベクトルとの距離を算出し、算出されたベクトル間の距離を閾値と比較し、ベクトル間の距離が閾値以下である場合、そのフレームに対応付けられた識別フラグをオンにする。なお、代表的な特徴量ベクトルが複数ある場合、各フレームの特徴量ベクトルと、複数の代表的な特徴量ベクトルとの距離がそれぞれ算出され、いずれかの距離が閾値以下である場合、そのフレームに対応付けられた識別フラグがオンとされる。
【００４８】
そして、識別部４３は、例えば、過去１０フレーム分の識別フラグがオンである場合、現在のフレームは、音楽の信号のフレームであると判定するようになされている。
【００４９】
なお、上記の判定の方式は例であり、他の方式により、音楽の信号のフレームであるか否かが判定されるようにしてもよい。
【００５０】
このようにして、マイク２１により集音された音の中の音楽が検出されることになる。
【００５１】
そして、音楽検出部２２により音楽が検出された場合、加工部２３が、マイク２１から出力される信号の音量を小さくしたり、マイク２１から出力される信号における所定の周波数帯域の信号を除去して周波数特性を変えるなどの加工を行うようになされている。
【００５２】
このようにすることで、例えば、人の呼びかけに気付くことができたり、車の走行音が聞こえてくることによって安全性を向上させることができるとともに、ユーザの周囲で音楽が流れているときでも煩わしさを感じさせないようにすることができる。
【００５３】
次に、図６のフローチャートを参照して、図１の音楽再生装置２０による音楽再生処理の例について説明する。
【００５４】
ステップＳ２１において、マイク２１は、周囲の音を集音する。ここで、集音された音の信号は、音楽検出部２２と加工部２３に出力される。
【００５５】
ステップＳ２２において、音楽検出部２２は、図７を参照して後述する音楽検出処理を実行する。
【００５６】
ステップＳ２３において、加工部２３または加工部２５は、音楽が検出されたか否かを判定する。
【００５７】
ステップＳ２３において、音楽が検出されたと判定された場合、処理は、ステップＳ２４に進み、加工部２３または加工部２５は、入力された信号を加工する。このとき、例えば、音量を小さく（または大きく）したり、周波数特性を特殊なものとするフィルタ処理などがなされることになる。すなわち、加工部２３または加工部２５から出力される信号に対応する音の音量、周波数特性などが、通常の値とは異なる特殊な値に設定される。
【００５８】
要は、マイク２１により集音された音に音楽が含まれている場合、加工部２３または加工部２５によりコンテンツの音楽を聴き易くするような加工がなされるのである。
【００５９】
一方、ステップＳ２３において、音楽が検出されなかったと判定された場合、ステップＳ２４の処理はスキップされる。すなわち、加工部２３または加工部２５は、入力された信号の加工を行わず、そのまま出力する。
【００６０】
なお、加工部２３から出力された信号は、加算器２４により音楽信号と加算されて出力されることになる。
【００６１】
このようにして音楽再生処理が実行される。
【００６２】
次に、図７のフローチャートを参照して、図６のステップＳ２２の音楽検出処理の詳細な例について説明する。
【００６３】
ステップＳ４１において、フレーム分割部４１は、入力された信号に短時間の窓関数を乗じるなどして、入力された信号を所定の時間的長さを有する複数のフレームに分割する。そして、フレームに分割された信号のそれぞれについてフーリエ変換を行うことにより周波数解析を行う。
【００６４】
ステップＳ４２において、ステップＳ４１の処理に伴って、フレーム分割部４１によりフーリエ変換が行われる前後で、特徴量を数種類抽出する。このとき、上述したように、例えば、零交差率（Zero Cross）、フーリエ変換後にメル周波数ケプストラム係数（ＭＦＣＣ）、スペクトル重心（Centroid）、スペクトルフラックス（Flux）、ロールオフ（Roll off）などの特徴量が抽出される。
【００６５】
ステップＳ４３において、音響特徴量抽出部４２は、ステップＳ４２で抽出された特徴量からなる特徴量ベクトルと、予め学習されている音楽の信号に対応する代表的な特徴量ベクトルとの距離を算出する。
【００６６】
ステップＳ４４において、識別部４３は、ステップＳ４３で算出されたベクトル間の距離が閾値以下であるか否かを判定する。ステップＳ４４において、算出されたベクトル間の距離が閾値以下であると判定された場合、処理は、ステップＳ４５に進む。
【００６７】
ステップＳ４５において、識別部４３は、当該フレームに対応付けられた識別フラグをオンにする。
【００６８】
ステップＳ４６において、識別部４３は、例えば、過去の所定数のフレーム（例えば、１０フレーム）分の識別フラグがオンであるか否かを判定する。
【００６９】
ステップＳ４６において、過去の所定数のフレーム分の識別フラグがオンであると判定された場合、処理は、ステップＳ４７に進み、識別部４３は、識別結果として音楽検出信号を出力する。これにより、加工部２３、または加工部２５に、音楽が検出されたことが通知されることになる。
【００７０】
一方、ステップＳ４６において、過去の所定数のフレーム分の識別フラグがオフであると判定された場合、ステップＳ４７の処理は、スキップされる。
【００７１】
また、ステップＳ４４において、算出されたベクトル間の距離が閾値以下ではないと判定された場合、ステップＳ４５乃至ステップＳ４７の処理は、スキップされる。
【００７２】
このようにして、音楽検出処理が実行される。
【００７３】
ところで、図４を参照して上述した例においては、特徴量ベクトルのベクトル間距離の比較の結果に基づいて音楽が検出されるものとした。しかしながら、この方式では、安定的に音楽を検出できない場合がある。
【００７４】
例えば、短時間で音楽検出部２２の検出結果が変動して安定しなかったり、あるいはまた、周囲の音に雑音が多く含まれている場合などは、検出結果の精度を欠いたりする可能性がある。
【００７５】
そこで、本発明においては、より安定的かつ正確に音楽を検出できるようにする方式も提案する。
【００７６】
図８は、図１の音楽検出部２２の別の構成例を示すブロック図である。図８において、音楽検出部２２は、フレーム分割部８１、音響特徴量抽出部８２、識別部８３、およびリズム検出部８４により構成されている。
【００７７】
図８のフレーム分割部８１、音響特徴量抽出部８２、および識別部８３は、それぞれ図４のフレーム分割部４１、音響特徴量抽出部４２、および識別部４３と同様の機能ブロックであるので、詳細な説明は省略する。図８の例では、図４の場合と異なり、リズム検出部８４が設けられている。
【００７８】
リズム検出部８４は、マイク２１により集音された音の中のリズムを検出する。そして、リズム検出部８４によるリズムの検出の結果に基づいて、例えば、識別部８３による閾値判定の重みを調節することにより、より安定的かつ正確に音楽を検出できるようになされている。
【００７９】
図９は、リズム検出部の処理を説明する図である。同図は、横軸が時間とされ、領域９１には、マイク２１により集音された音の信号の波形であって、フレーム分割部８１により分割された複数フレーム分の波形が示されている。
【００８０】
領域９２には、領域９１に示された波形の包絡線（エンベロープ）が示されている。エンベロープは、例えば、領域９１に示された波形の信号を、ローパスフィルタを通過させることにより得られる。エンベロープを得ることにより波形のピークを検出することが容易になる。
【００８１】
領域９３には、エンベロープに基づいて得られた波形のピークが図中垂直方向に伸びたバーによって示されている。すなわち、領域９３に示された複数のバーのそれぞれの図中水平方向の位置が波形のピークの時間的な位置に対応することになる。
【００８２】
図９の領域９３の下側には、トラッカー１、トラッカー２、トラッカー３、トラッカー４、・・・による検出結果が示されている。
【００８３】
トラッカー１、トラッカー２、トラッカー３、トラッカー４、・・・は、それぞれリズム検出部８４に設けられた機能ブロックであり、例えば、テンポに応じたビート間隔を設定するようになされている。なお、トラッカー１、トラッカー２、トラッカー３、トラッカー４、・・・を個々に区別する必要がない場合、単にトラッカーと称する。
【００８４】
例えば、トラッカー１はｂｐｍ（beats per minute）＝１００、トラッカー２はｂｐｍ（beats per minute）＝５０、・・・などのようにそれぞれ異なるテンポのビート間隔が予め設定されている。
【００８５】
個々のトラッカーのそれぞれは、設定されたビート間隔と領域９３に示されたピークの位置の適合度を算出するようになされている。図９において、トラッカー１、トラッカー２、トラッカー３、トラッカー４と記載された部分の右側に示される図中水平方向の線上に図中垂直方向に伸びたバーによって示された図中水平方向の位置が、個々のトラッカーに設定されたビートの位置とされる。
【００８６】
例えば、トラッカー１は、バー１０１−１乃至バー１０１−７で示された位置に対応するビート間隔を設定している。トラッカー１は、バー１０１−１と領域９３に示されるピークの位置との時間的差異に基づいて、ビートの位置（ビート位置）とピークの位置（ピーク位置）の適合度（ピーク適合度）を算出する。例えば、ピーク適合度が閾値を超えた場合、トラッカー１が設定したビートとピークが合致したものと判定されるようになされている。図９の例では、ピークと合致したビートに円が付されており、例えば、トラッカー１のバー１０１−１、バー１０１−２、バー１０１−４、バー１０１−６においてビートとピークが合致している。
【００８７】
そして、トラッカー１は、例えば、単位時間においてピークと合致したビートの数をカウントして保持するようになされている。図９に示される時間を単位時間とすると、トラッカー１の場合、４つのビートがピークと合致したことになる。
【００８８】
なお、例えば、単位時間より短い所定の時間内にピークと合致したビートが検出されない場合、トラッカー１のテンポが変更されてビート間隔の更新が行われる。例えば、ｂｐｍ＝１００であったテンポが、ｂｐｍ＝１０５に変更されて新たにビート間隔が設定される。あるいはまた、トラッカー１の曲調が変更されることによりビート間隔の更新が行われるようにしてもよい。例えば、初期値としてトラッカー１に設定されていたビート間隔がロックの曲調の短いビート間隔であった場合、曲調がボサノバに変更されて、新たに長いビート間隔が設定されるようにしてもよい。
【００８９】
トラッカー２、トラッカー３、トラッカー４、・・・においても同様の処理が行われることになる。このようにして、個々のトラッカーは、それぞれ自分が設定したビート間隔においてピークと合致したビートの数（ビート数）を保持するようになされている。
【００９０】
リズム検出部８４は、例えば、個々のトラッカーのビート数のうち、最大のものを選択し、そのビート数を識別部８３に供給するようになされている。この場合、識別部８３は、例えば、ビート数に対応する重み係数を、上述した特徴量ベクトルのベクトル間距離に乗じて閾値判定するようになされている。
【００９１】
図１０は、リズム検出部８４の詳細な構成例を示すブロック図である。同図に示されるように、リズム検出部８４は、エンベロープ算出部１２１、ピーク検出部１２２、選択部１２３、トラッカー１３１−１、トラッカー１３１−２、・・・により構成されている。なお、図１０のトラッカー１３１−１、トラッカー１３１−２、・・・が、図９のトラッカー１、トラッカー２、・・・に対応する。
【００９２】
エンベロープ算出部１２１は、フレーム分割部８１から出力されるフレーム分割された信号の波形に基づいてエンベロープを算出する。これにより、例えば、図９の領域９２に示されるようなエンベロープが得られることになる。
【００９３】
ピーク検出部１２２は、エンベロープ算出部１２１により算出されたエンベロープに基づいて、波形のピークを検出する。これにより、例えば、図９の領域９３に示されるようなピーク位置が得られることになる。ピーク検出部１２２の検出結果は、トラッカー１３１−１、トラッカー１３１−２、・・・に供給されるようになされている。
【００９４】
選択部１２３は、トラッカー１３１−１、トラッカー１３１−２、・・・が保持するビート数のうち、最大のものを選択するようになされている。
【００９５】
図１１は、図１０のトラッカー１３１の詳細な構成例を示すブロック図である。なお、図１０のトラッカー１３１−１、トラッカー１３１−２、・・・は、それぞれ同様に構成されるものなので、ここではまとめてトラッカー１３１と称している。
【００９６】
図１１に示されるように、トラッカー１３１は、ビート間隔設定部１５１、ピーク適合度算出部１５２、ビート間隔更新部１５３、およびビート数保持部１５４により構成されている。
【００９７】
ビート間隔設定部１５１は、例えば、図９を参照して上述したバー１０１−１、バー１０１−２、・・・のようにビート間隔を設定する。
【００９８】
ピーク適合度算出部１５２は、例えば、図９を参照して上述したように、ビート位置とピーク位置との時間的差異に基づいて、ピーク適合度を算出する。
【００９９】
ビート間隔更新部１５３は、例えば、所定の時間内にピークと合致したビートが検出されない場合、テンポ、曲調などを変更してビート間隔を新たに設定する（更新する）ようになされている。
【０１００】
ビート数保持部１５４は、単位時間内にピークと合致したビートの数であるビート数を保持するようになされている。
【０１０１】
このようにして、ビート数が保持され、そのビート数に応じた重み係数が設定されて重みづけがなされることになる。
【０１０２】
図１２と図１３は、ビート数と重み係数を説明する図である。
【０１０３】
図１２は、音楽検出部２２から音楽検出信号が出力されていない場合（すなわち、音楽が検出されていない場合）のビート数と重み係数の関係を説明する図である。
【０１０４】
同図に示されるように、ビート数が多くなるに従って、重み係数の値が減少するようになされている。特にビート数がＮを超えてから、急峻に重みが減少するようになされている。例えば、識別部８３が、図７のステップＳ４４の処理において閾値判定する際に、ステップＳ４３で算出されたベクトル間距離に図１２に示されるような重み係数を乗じるようにすれば、ビート数の値が大きくなるほど、音楽検出信号が出力される可能性が高くなる。ただし、ビート数がＮ以下である場合は、ビート数の値が大きくなっても音楽検出信号が出力される可能性はあまり高くならない。
【０１０５】
図１３は、音楽検出部２２から音楽検出信号が出力されている場合（すなわち、音楽が検出された場合）のビート数と重み係数の関係を説明する図である。
【０１０６】
同図に示されるように、ビート数が多くなるに従って、重み係数の値が減少するようになされている。特にビート数が０からＭの間において、急峻に重みが減少するようになされている。例えば、識別部８３が、図６のステップＳ４４の処理において閾値判定する際に、ステップＳ４３で算出されたベクトル間距離に図１３に示されるような重み係数を乗じるようにすれば、ビート数の値が大きくなるほど、音楽検出信号が出力される可能性が高くなる。ただし、ビート数がＭを超える場合は、ビート数の値が小さくても音楽検出信号が出力される可能性は高い。
【０１０７】
すなわち、音楽が検出されるまでは、ある程度のビート数が検出されない限り、音楽検出信号が出力されないように重み係数が設定され、音楽が検出された後は、検出されたビート数がよほど少なくない限り、音楽検出信号が出力されるように重み係数が設定される。このようにすることで、より正確かつ安定的に音楽を検出することが可能となる。
【０１０８】
このように、リズム検出部８４による検出結果に基づいて識別部８３の処理が行われるようにすることで、より正確、かつ安定的に音楽を検出することができるようになる。例えば、周囲の音に大きな雑音が含まれている場合であっても、音楽のビート位置を検出することは比較的容易だからである。
【０１０９】
図１４は、音楽検出部２２による音楽の検出結果を、Ｆ値(F-measure)により評価した評価結果を説明する図である。同図の横軸は、周囲の音におけるノイズの大きさの度合（ＳＮＲ）を表しており、同図の縦軸はＦ値を表している。また、図中四角形の記号でプロットされた点からなる線１８１は、図８に示される構成の音楽検出部２２による検出結果を表しており、図中菱形の記号でプロットされた点からなる線１８２は、図４に示される構成の音楽検出部２２による検出結果を表している。
【０１１０】
図１４に示されるように、線１８２は、図中右方向に向かって大きく下降しており、周囲の音におけるノイズの度合が大きくなるほど、Ｆ値が低くなり総合性能が低下している。一方、線１８１は、図中右方向に向かって緩やかに下降しており、周囲の音におけるノイズの度合が大きくなっても、Ｆ値はあまり低くならず総合性能が低下していない。
【０１１１】
すなわち、図８に示される構成の音楽検出部２２を用いれば、周囲の音に大きな雑音が含まれている場合であっても、より正確、かつ安定的に音楽を検出できることが分かる。
【０１１２】
次に、図１５のフローチャートを参照して、図８の構成を採用した場合における図６のステップＳ２２の音楽検出処理の例について説明する。
【０１１３】
図１５のステップＳ８１乃至ステップＳ８３は、それぞれ図７のステップＳ４１乃至ステップＳ４３と同様の処理なので詳細な説明は省略する。
【０１１４】
ステップＳ８４において、リズム検出部８４は、図１６を参照して後述するリズム検出処理を実行する。これにより周囲の音の中のリズムの検出が行われることになる。
【０１１５】
ステップＳ８５において、識別部８３は、ステップＳ８４の処理に伴って出力されたビート数に対応する重み係数を設定し、ステップＳ８３の処理で算出されたベクトル間距離にその重み係数を乗じる。このとき、例えば、図１２と図１３を参照して上述したように、重み係数が設定されてベクトル間距離に乗じられる。
【０１１６】
図１５のステップＳ８６乃至ステップＳ８９の処理は、図７のステップＳ４４乃至ステップＳ４７の処理と同様なので詳細な説明は省略する。
【０１１７】
次に、図１６のフローチャートを参照して、図１５のステップＳ８４のリズム検出処理の詳細な例について説明する。
【０１１８】
ステップＳ１０１において、エンベロープ算出部１２１は、フレーム分割部８１から出力されるフレーム分割された信号の波形に基づいてエンベロープを算出する。これにより、例えば、図９の領域９２に示されるようなエンベロープが得られることになる。
【０１１９】
ステップＳ１０２において、ピーク検出部１２２は、ステップＳ１０１の処理により算出されたエンベロープに基づいて、波形のピークを検出する。これにより、例えば、図９の領域９３に示されるようなピーク位置が得られることになる。ピーク検出部１２２の検出結果は、トラッカー１３１−１、トラッカー１３１−２、・・・に供給されるようになされている。従って、ステップＳ１０３乃至ステップＳ１０９の処理は、それぞれのトラッカーで並行して実行される処理となる。
【０１２０】
ステップＳ１０３において、ビート間隔設定部１５１は、例えば、図９を参照して上述したバー１０１−１、バー１０１−２、・・・のようにビート間隔を設定する。
【０１２１】
ステップＳ１０４において、ピーク適合度算出部１５２は、例えば、ビート位置とピーク位置との時間的差異に基づいて、ピーク適合度を算出する。
【０１２２】
ステップＳ１０５において、ピーク適合度算出部１５２は、例えば、ステップＳ１０４の処理で算出されたピーク適合度を閾値判定することで、ピーク位置がビート位置と合致したか否かを判定する。
【０１２３】
ステップＳ１０５において、合致したと判定された場合、処理は、ステップＳ１０６に進む。
【０１２４】
ステップＳ１０６において、ビート数保持部１５４は、ビート数をカウントアップして保持する。
【０１２５】
一方、ステップＳ１０５において、合致しなかったと判定された場合、処理は、ステップＳ１０７に進む。
【０１２６】
ステップＳ１０７において、ビート間隔更新部１５３は、例えば、所定の時間内にピークと合致したビートが検出されたか否かを判定する。
【０１２７】
ステップＳ１０７において、所定の時間内にピークと合致したビートが検出されなかったと判定された場合、処理は、ステップＳ１０８に進む。
【０１２８】
ステップＳ１０８において、ビート間隔更新部１５３は、ビート間隔を新たに設定する（更新する）。例えば、テンポ、曲調などを変更してビート間隔が更新される。なお、このとき、ビート数保持部１５４に保持されているビート数がクリアされるようになされている。
【０１２９】
一方、ステップＳ１０７において、所定の時間内にピークと合致したビートが検出されたと判定された場合、ステップＳ１０８の処理はスキップされる。
【０１３０】
ステップＳ１０７において、所定の時間内にピークと合致したビートが検出されたと判定された場合若しくはステップＳ１０８の処理の後、または、ステップＳ１０６の処理の後、処理は、ステップＳ１０９に進む。
【０１３１】
ステップＳ１０９において、単位時間分のフレームの処理がなされたか否かが判定され、まだ、単位時間分のフレームの処理がなされていないと判定された場合、処理は、ステップＳ１０３に戻り、それ以降の処理が繰り返し実行される。
【０１３２】
一方、ステップＳ１０９において、単位時間分のフレームの処理がなされたと判定された場合、処理は、ステップＳ１１０に進む。ステップＳ１１０において、選択部１２３は、トラッカー１３１−１、トラッカー１３１−２、・・・のそれぞれが、ステップＳ１０６の処理により保持してビート数のうち、最大のものを選択して出力する。
【０１３３】
このようにして、リズム検出処理が実行される。
【０１３４】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータにネットワークや記録媒体からインストールされる。また、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図１７に示されるような汎用のパーソナルコンピュータ７００などに、ネットワークや記録媒体からインストールされる。
【０１３５】
図１７において、ＣＰＵ（Central Processing Unit）７０１は、ＲＯＭ（Read Only Memory）７０２に記憶されているプログラム、または記憶部７０８からＲＡＭ（Random Access Memory）７０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ７０３にはまた、ＣＰＵ７０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１３６】
ＣＰＵ７０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４を介して相互に接続されている。このバス７０４にはまた、入出力インタフェース７０５も接続されている。
【０１３７】
入出力インタフェース７０５には、キーボード、マウスなどよりなる入力部７０６、ＬＣＤ(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部７０７が接続されている。また、入出力インタフェース７０５には、ハードディスクなどより構成される記憶部７０８、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部７０９が接続されている。通信部７０９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１３８】
入出力インタフェース７０５にはまた、必要に応じてドライブ７１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１が適宜装着されている。そして、それらのリムーバブルメディアから読み出されたコンピュータプログラムが、必要に応じて記憶部７０８にインストールされる。
【０１３９】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア７１１などからなる記録媒体からインストールされる。
【０１４０】
なお、この記録媒体は、図１７に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア７１１により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているＲＯＭ７０２や、記憶部７０８に含まれるハードディスクなどで構成されるものも含む。
【０１４１】
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４２】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１４３】
２０  音楽再生装置，  ２１  マイク，  ２２  音楽検出部，  ２３  加工部，  ２４  加算器，  ２５  加工部，  ２６  スピーカ，  ４１  フレーム分割部，  ４２  音響特徴量抽出部，  ４３  識別部，  ８１  フレーム分割部，  ８２  音響特徴量抽出部，  ８３  識別部，  ８４  リズム検出部，  １２１  エンベロープ算出部，  １２２  ピーク検出部，  １２３  選択部，  １３１  トラッカー，  １５１  ビート間隔設定部，  １５２  ピーク適合度算出部，  １５３  ビート間隔更新部，  １５４  ビート数保持部
【図１】
0005641326.tif 000002
【図２】
0005641326.tif 000003
【図３】
0005641326.tif 000004
【図４】
0005641326.tif 000005
【図５】
0005641326.tif 000006
【図６】
0005641326.tif 000007
【図７】
0005641326.tif 000008
【図８】
0005641326.tif 000009
【図９】
0005641326.tif 000010
【図１０】
0005641326.tif 000011
【図１１】
0005641326.tif 000012
【図１２】
0005641326.tif 000013
【図１３】
0005641326.tif 000014
【図１４】
0005641326.tif 000015
【図１５】
0005641326.tif 000016
【図１６】
0005641326.tif 000017
【図１７】
0005641326.tif 000018