説明

音響処理装置

【課題】目標成分が途切れる場合でも基本周波数を正確に特定する。
【解決手段】周波数検出部62は、音響信号xの単位区間Tu毎に候補周波数Fc(1)〜Fc(N)を特定する。第1処理部71は、単位区間Tu毎に選択した候補周波数Fc(n)を複数の単位区間Tuにわたり配列した系列であって目標成分の基本周波数Ftarの時系列の可能性が高い推定系列RAを探索する。第2処理部72は、単位区間Tu毎の目標成分の発音状態Svおよび非発音状態Suの何れかの状態を複数の単位区間Tuにわたり配列した状態系列RBを探索する。情報生成部68は、状態系列RBの発音状態Svに対応する単位区間Tuについて推定系列RAのうち当該単位区間Tuでの候補周波数Fc(n)を目標成分の基本周波数Ftarとして指定し、状態系列RBの非発音状態Suに対応する単位区間Tuについて非発音を示す周波数情報DFを単位区間Tu毎に生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響信号のうち特定の音響成分(以下では「目標成分」という)の基本周波数の時系列を推定する技術に関する。
【背景技術】
【0002】
複数の音響成分(例えば歌唱音と伴奏音)が混在する音響信号のうち特定の目標成分の基本周波数(ピッチ)を推定する技術が従来から提案されている。例えば特許文献1には、相異なる基本周波数の調波構造を示す複数の音モデルの混合分布として音響信号を近似したときの各音モデルの重み値から基本周波数の確率密度関数を順次に推定し、確率密度関数に存在する複数のピークのうち顕著なピークに対応する基本周波数の軌跡を特定する技術が開示されている。確率密度関数に存在する複数のピークの解析には、複数のエージェントに各ピークを追跡させるマルチエージェントモデルが採用される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−125562号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の技術では、基本周波数の時間的な連続性を前提として確率密度関数のピークが追跡されるから、目標成分の発音が頻繁に途切れる場合(目標成分の基本周波数の存否が時間的に切替わる場合)には基本周波数の時系列を正確に特定できないという問題がある。以上の事情を考慮して、本発明は、目標成分の発音が途切れる場合にも目標成分の基本周波数を正確に特定することを目的とする。
【課題を解決するための手段】
【0005】
以上の課題を解決するために本発明が採用する手段を説明する。なお、本発明の理解を容易にするために、以下の説明では、本発明の要素と後述の実施形態の要素との対応を括弧書で付記するが、本発明の範囲を実施形態の例示に限定する趣旨ではない。
【0006】
本発明の音響処理装置は、音響信号の単位区間毎に複数の基本周波数(例えばN個の候補周波数Fc(1)〜Fc(N))を特定する周波数検出手段(例えば周波数検出部62)と、各単位区間の複数の基本周波数から選択した基本周波数を複数の単位区間にわたり配列した系列であって音響信号のうち目標成分の基本周波数の時系列に該当する可能性が高い推定系列(例えば推定系列RA)を、動的計画法による経路探索で特定する第1処理手段(例えば第1処理部71)と、各単位区間における目標成分の発音状態および非発音状態の何れかの状態を複数の単位区間にわたり配列した状態系列(例えば状態系列RB)を、動的計画法による経路探索で特定する第2処理手段(例えば第2処理部72)と、状態系列の発音状態に対応する単位区間について推定系列のうち当該単位区間に対応する基本周波数を示し、状態系列の非発音状態に対応する単位区間について非発音を示す周波数情報(例えば周波数情報DF)を、単位区間毎に生成する情報生成手段(例えば情報生成部68)とを具備する。以上の構成においては、周波数検出手段が単位区間毎に検出する複数の基本周波数のうち目標成分に該当する可能性が高い基本周波数を単位区間毎に選択した推定系列と、単位区間毎の目標成分の有無を推定した状態系列とを利用して周波数情報が生成される。したがって、目標成分の発音が途切れる場合でも目標成分の基本周波数の時系列を適切に検出することが可能である。
【0007】
本発明の好適な態様において、周波数検出手段は、各周波数が音響信号の基本周波数に該当する尤度(例えば尤度Ls(δF))を算定するとともに尤度が高い複数の周波数を基本周波数として選択し、第1処理手段は、尤度に応じた確率(例えば確率PA1(n))を複数の基本周波数の各々について単位区間毎に算定し、当該確率を利用した経路探索で推定系列を特定する。以上の態様においては、周波数検出手段が算定する尤度に応じた確率が推定系列の特定に利用されるから、音響信号のうち高強度の目標成分について基本周波数の時系列を高精度に特定できるという利点がある。
【0008】
本発明の好適な態様に係る音響処理装置は、音響信号のうち周波数検出手段が検出した各基本周波数に対応する調波成分の音響特性と目標成分に対応する音響特性との類否を示す特性指標値(例えば特性指標値V(n))を複数の基本周波数の各々について単位区間毎に算定する指標算定手段(例えば指標算定部64)を具備し、第1処理手段は、複数の基本周波数の各々について特性指標値に応じて単位区間毎に算定される確率(例えば確率PA2(n))を利用した経路探索で推定系列を特定する。以上の態様においては、各基本周波数に対応する調波成分の音響特性と目標成分に対応する音響特性との類否を示す特性指標値に応じた確率が推定系列の特定に利用されるから、所期の音響特性の目標成分の基本周波数の時系列を高精度に特定できるという利点がある。更に好適な態様において、第2処理手段は、推定系列上の基本周波数に対応する特性指標値に応じて単位区間毎に算定される発音状態の確率(例えば確率PB1_v)と、非発音状態の確率(例えば確率PB1_u)とを利用した経路探索で状態系列を特定する。以上の態様においては、特性指標値に応じた確率が状態系列の特定に利用されるから、目標成分の有無を高精度に特定することが可能である。
【0009】
本発明の好適な態様において、第1処理手段は、周波数検出手段が複数の単位区間の各々について特定した各基本周波数と当該単位区間の直前の単位区間の各基本周波数との差異(例えば周波数差ε)に応じて各基本周波数の組合せ毎に算定される確率(例えば確率PA3(n)_ν)を利用した経路探索で推定系列を特定する。以上の態様では、相前後する各単位区間での基本周波数の周波数差に応じた確率が推定系列の探索に適用されるから、基本周波数が短時間に過度に変化するような推定系列の誤検出が防止される。別の態様において、第2処理手段は、推定系列における各単位区間の基本周波数と推定系列のうち当該単位区間の直前の単位区間の基本周波数との差異に応じて発音状態間の遷移について算定される確率(例えば確率PB2_vv)と、相前後する各単位区間における発音状態および非発音状態の一方から非発音状態への遷移に関する確率(例えば確率PB2_uv,PB2_uu,PB2_vu)とを利用した経路探索で状態系列を特定する。以上の態様においては、相前後する各単位区間での基本周波数の周波数差に応じた確率が状態系列の探索に適用されるから、基本周波数が短時間に過度に変化するような発音状態間の遷移を示す状態系列の誤検出が防止される。
【0010】
本発明の好適な態様に係る音響処理装置は、基準音高の時系列を記憶する記憶手段(例えば記憶装置24)と、複数の単位区間の各々について、周波数検出手段が当該単位区間について特定した複数の基本周波数の各々と、当該単位区間に対応する基準音高との差異に応じた音高尤度(例えば音高尤度LP(n))を算定する音高評価手段(例えば音高評価部82)とを具備し、第1処理手段は、複数の基本周波数の各々について音高尤度を利用した経路探索で推定系列を特定し、第2処理手段は、推定系列上の基本周波数に対応する音高尤度に応じて単位区間毎に算定される発音状態の確率と、非発音状態の確率とを利用した経路探索で状態系列を特定する。以上の態様では、周波数検出手段が検出した基本周波数と基準音高との差異に応じた音高尤度が第1処理手段および第2処理手段による経路探索に適用されるから、目標成分の基本周波数を高精度に特定できるという利点がある。なお、以上の態様の具体例は第2実施形態として後述される。
【0011】
本発明の好適な態様に係る音響処理装置は、基準音高の時系列を記憶する記憶手段(例えば記憶装置24)と、周波数情報が示す基本周波数が、当該周波数情報に対応する時点の基準音高の1.5倍の周波数を含む所定の範囲内にある場合に基本周波数を1/1.5倍に補正し、基準音高の2倍の周波数を含む所定の範囲内にある場合に基本周波数を1/2倍に補正する補正手段(例えば補正部84)とを具備する。以上の態様では、周波数情報が示す基本周波数が基準音高に応じて補正される(五度エラーやオクターブエラーが補償される)から、目標成分の基本周波数を正確に特定することが可能である。なお、以上の態様の具体例は、例えば第3実施形態として後述される。
【0012】
以上の各態様に係る音響処理装置は、処理係数列の生成に専用されるDSP(Digital Signal Processor)などのハードウェア(電子回路)によって実現されるほか、CPU(Central Processing Unit)等の汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、音響信号の単位区間毎に複数の基本周波数を特定する周波数検出処理と、各単位区間の複数の基本周波数から選択した基本周波数を複数の単位区間にわたり配列した系列であって音響信号のうち目標成分の基本周波数の時系列に該当する可能性が高い推定系列を、動的計画法による経路探索で特定する第1処理と、各単位区間における目標成分の発音状態および非発音状態の何れかの状態を複数の単位区間にわたり配列した状態系列を、動的計画法による経路探索で特定する第2処理と、状態系列の発音状態に対応する単位区間について推定系列のうち当該単位区間に対応する基本周波数を示し、状態系列の非発音状態に対応する単位区間について非発音を示す周波数情報を、単位区間毎に生成する情報生成処理とをコンピュータに実行させる。以上のプログラムによれば、本発明に係る音響処理装置と同様の作用および効果が奏される。本発明のプログラムは、コンピュータが読取可能な記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、通信網を介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1実施形態に係る音響処理装置のブロック図である。
【図2】基本周波数解析部のブロック図である。
【図3】周波数検出部の動作のフローチャートである。
【図4】帯域成分を生成する窓関数の模式図である。
【図5】周波数検出部の動作の説明図である。
【図6】周波数検出部が基本周波数を検出する動作の説明図である。
【図7】指標算定部の動作のフローチャートである。
【図8】指標算定部が特徴量(MFCC)を抽出する動作の説明図である。
【図9】第1処理部の動作のフローチャートである。
【図10】第1処理部が単位区間毎に候補周波数を選択する処理の説明図である。
【図11】第1処理部の処理に適用される確率の説明図である。
【図12】第1処理部の処理に適用される確率の説明図である。
【図13】第2処理部の動作のフローチャートである。
【図14】第2処理部が単位区間毎に目標成分の有無を判定する処理の説明図である。
【図15】第2処理部の処理に適用される確率の説明図である。
【図16】第2処理部の処理に適用される確率の説明図である。
【図17】第2処理部の処理に適用される確率の説明図である。
【図18】本発明の第2実施形態における基本周波数解析部のブロック図である。
【図19】第2実施形態の音高評価部が音高尤度を選定する処理の説明図である。
【図20】第3実施形態における基本周波数解析部のブロック図である。
【図21】補正部による補正の前後の基本周波数と基準音高との関係を示すグラフである。
【図22】基本周波数と補正値との関係を示すグラフである。
【図23】第4実施形態における基本周波数解析部のブロック図である。
【発明を実施するための形態】
【0014】
<A:第1実施形態>
図1は、本発明の第1実施形態の音響処理装置100のブロック図である。図1に示すように、音響処理装置100には信号供給装置200が接続される。信号供給装置200は、相異なる音源が発音した複数の音響成分(歌唱音や伴奏音)の混合音の時間波形を表現する音響信号xを音響処理装置100に供給する。周囲の音響を収音して音響信号xを生成する収音機器や、可搬型または内蔵型の記録媒体(例えばCD)から音響信号xを取得して音響処理装置100に供給する再生装置や、通信網から音響信号xを受信して音響処理装置100に供給する通信装置が信号供給装置200として採用され得る。
【0015】
音響処理装置100は、信号供給装置200が供給する音響信号xのうち特定の音響成分(目標成分)の基本周波数を示す周波数情報DFを音響信号xの単位区間(フレーム)Tu毎に順次に生成する。以下の説明では、音響信号xに含まれる歌唱音を目標成分とした場合を想定する。
【0016】
図1に示すように、音響処理装置100は、演算処理装置22と記憶装置24とを具備するコンピュータシステムで実現される。記憶装置24は、演算処理装置22が実行するプログラムや演算処理装置22が使用する各種の情報を記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体が記憶装置24として任意に採用される。なお、音響信号xを記憶装置24に格納した構成(したがって信号供給装置200は省略される)も採用され得る。
【0017】
演算処理装置22は、記憶装置24に格納されたプログラムを実行することで、周波数情報DFを生成するための複数の機能(周波数分析部31および基本周波数解析部33)を実現する。なお、演算処理装置22の各機能を複数の集積回路に分散した構成や、専用の電子回路(DSP)が各機能を実現する構成も採用され得る。
【0018】
周波数分析部31は、音響信号xを時間軸上で区分した単位区間Tu毎に周波数スペクトルXを生成する。周波数スペクトルXは、相異なる周波数(周波数帯域)fに対応する複数の周波数成分X(f,t)で表現される複素スペクトルである。記号tは時間(例えば単位区間Tuの番号)を意味する。周波数スペクトルXの生成には、例えば短時間フーリエ変換等の公知の周波数分析が任意に採用され得る。
【0019】
基本周波数解析部33は、周波数分析部31が生成した周波数スペクトルXを解析することで目標成分の基本周波数Ftar(tar:target)の時系列を特定して単位区間Tu毎に周波数情報DFを生成する。具体的には、音響信号xの複数の単位区間Tuのうち目標成分が存在する各単位区間Tuについては目標成分の基本周波数Ftarを指定する周波数情報DFが生成され、複数の単位区間Tuのうち目標成分が存在しない各単位区間Tuについては目標成分の非発音を意味する周波数情報DFが生成される。
【0020】
図2は、基本周波数解析部33のブロック図である。図2に示すように、基本周波数解析部33は、周波数検出部62と指標算定部64と遷移解析部66と情報生成部68とを含んで構成される。目標成分の基本周波数Ftarの候補となるN個の周波数(以下「候補周波数」という)Fc(1)〜Fc(N)を周波数検出部62が単位区間Tu毎に特定し、目標成分が存在する単位区間TuについてN個の候補周波数Fc(1)〜Fc(N)の何れかを遷移解析部66が目標成分の基本周波数Ftarとして選定する。指標算定部64は、遷移解析部66での解析処理に適用されるN個の特性指標値V(1)〜V(N)を単位区間Tu毎に算定する。情報生成部68は、遷移解析部66による解析処理の結果に応じた周波数情報DFを生成および出力する。基本周波数解析部33の各要素の機能を以下に説明する。
【0021】
<周波数検出部62>
周波数検出部62は、音響信号xの各音響成分に対応するN個の候補周波数Fc(1)〜Fc(N)を検出する。候補周波数Fc(n)(n=1〜N)の検出には公知の技術が任意に採用され得るが、図3を参照して以下に例示する方法が格別に好適である。図3の処理は単位区間Tu毎に順次に実行される。なお、以下に例示する方法の詳細は、A. P. Klapuri, "Multiple fundamental frequency estimation based on harmonicity and spectral smoothness", IEEE Trans. Speech and Audio Proc., 11(6), 804-816, 2003に開示されている。
【0022】
図3の処理を開始すると、周波数検出部62は、周波数分析部31が生成した周波数スペクトルXのピークを強調した周波数スペクトルZpを生成する(S22)。具体的には、周波数検出部62は、以下の数式(1A)から数式(1C)の演算で周波数スペクトルZpの各周波数fの周波数成分Zp(f,t)を算定する。
【数1】

【0023】
数式(1C)の定数k0および定数k1は所定値(例えばk0=50Hz,k1=6kHz)に設定される。数式(1B)は、周波数スペクトルXのピークを強調する演算である。数式(1A)の記号Xaは、周波数スペクトルXの周波数成分X(f,t)の周波数軸上の移動平均である。したがって、数式(1A)から理解されるように、周波数スペクトルXのピークに対応する周波数成分Zp(f,t)が極大値となり、相隣接するピークの間の周波数成分Zp(f,t)が0となる周波数スペクトルZpが生成される。
【0024】
周波数検出部62は、周波数スペクトルZpをJ個の帯域成分Zp_1(f,t)〜Zp_J(f,t)に分割する(S23)。第j番目(j=1〜J)の帯域成分Zp_j(f,t)は、以下の数式(2)で表現されるように、処理S22で生成した周波数スペクトルZp(周波数成分Zp(f,t))に窓関数Wj(f)を乗算した成分である。
【数2】

数式(2)の記号Wj(f)は、周波数軸上に設定された窓関数を意味する。窓関数W1(f)〜WJ(f)は、人間の聴覚特性(メル尺度)を考慮して、図4に示すように高域側ほど分解能が低下するように設定される。図5には、処理S23で生成される第j番目の帯域成分Zp_j(f,t)が図示されている。
【0025】
周波数検出部62は、処理S23で算定したJ個の帯域成分Zp_1(f,t)〜Zp_J(f,t)の各々について、以下の数式(3)で表現される関数値Lj(δF)を算定する(S24)。
【数3】

【0026】
図5に示すように、帯域成分Zp_j(f,t)は、周波数FLjから周波数FHjまでの周波数帯域Bj内に分布する。周波数帯域Bj内には、低域側の周波数FLjに対して周波数Fs(オフセット)だけ高域側の周波数(FLj+Fs)を起点として周波数δFの間隔(周期)毎に対象周波数fpが設定される。周波数Fsおよび周波数δFは可変値である。記号I(Fs,δF)は、周波数帯域Bj内の対象周波数fpの総数を意味する。以上の説明から理解されるように、関数値a(Fs,δF)は、周波数帯域Bj内のI(Fs,δF)個の対象周波数fpの各々における帯域成分Zp_j(f,t)の合計値(I(Fs,δF)個の数値の総和)に相当する。変数c(Fs,δF)は、関数値a(Fs,δF)を正規化する要素である。
【0027】
数式(3)の記号max{A(Fs,δF)}は、相異なる周波数Fsについて算定される複数の関数値A(Fs,δF)のうちの最大値を意味する。図6は、数式(3)で算定される関数値Lj(δF)と各対象周波数fpの周波数δFとの関係を示すグラフである。図6に示すように、関数値Lj(δF)には複数のピークが存在する。数式(3)から理解されるように、周波数δFの間隔で配列する各対象周波数fpが帯域成分Zp_j(f,t)の各ピークの周波数(すなわち調波周波数)に近似するほど関数値Lj(δF)は大きい数値となる。すなわち、関数値Lj(δF)がピークとなる周波数δFは、帯域成分Zp_j(f,t)の基本周波数に該当する可能性が高い。
【0028】
周波数検出部62は、処理S24で帯域成分Zp_j(f,t)毎に算定した関数値Lj(δF)をJ個の帯域成分Zp_1(f,t)〜Zp_J(f,t)について加算または平均することで関数値Ls(δF)(Ls(δF)=L1(δF)+L2(δF)+L3(δF)+……+LJ(δF))を算定する(S25)。以上の説明から理解されるように、周波数δFが音響信号xの何れかの音響成分の基本周波数に近いほど、関数値Ls(δF)は大きい数値となる。すなわち、関数値Ls(δF)は、各周波数δFが音響成分の基本周波数に該当する尤度(確率)を意味し、関数値Ls(δF)の分布は、周波数δFを確率変数とする基本周波数の確率密度関数に相当する。
【0029】
周波数検出部62は、処理S25で算定した尤度Ls(δF)の複数のピークのうち各ピークでの尤度Ls(δF)の数値の降順でN個(すなわち尤度Ls(δF)が大きい方からN個)のピークを選択し、各ピークに対応するN個の周波数δFを候補周波数Fc(1)〜Fc(N)として特定する(S26)。尤度Ls(δF)が大きい周波数δFを目標成分(歌唱音)の基本周波数Ftarの候補となる候補周波数Fc(1)〜Fc(N)として選択するのは、音響信号xのなかで比較的に顕著な音響成分(音量が大きい音響成分)である目標成分は、目標成分以外の音響成分と比較して尤度Ls(δF)が大きい数値になり易いという傾向があるからである。以上に説明した図3の処理(S22〜S26)が単位区間Tu毎に順次に実行されることでN個の候補周波数Fc(1)〜Fc(N)が単位区間Tu毎に特定される。
【0030】
<指標算定部64>
図2の指標算定部64は、周波数検出部62が処理S26で特定したN個の候補周波数Fc(1)〜Fc(N)の各々について、音響信号xのうちその候補周波数Fc(n)(n=1〜N)に対応する調波成分の音響特性(典型的には音色)と目標成分に想定される音響特性との類否を示す特性指標値V(n)を単位区間Tu毎に算定する。すなわち、特性指標値V(n)は、候補周波数Fc(n)が目標成分に該当する可能性を音響特性の観点から評価した指標(歌唱音を目標成分とした本実施形態では音声らしさの尤度)に相当する。以下の説明では、音響特性を表現する特徴量としてMFCC(Mel Frequency Cepstral Coeffcient)を例示する。ただし、MFCC以外の特徴量を利用することも可能である。
【0031】
図7は、指標算定部64の動作のフローチャートである。図7の処理が単位区間Tu毎に順次に実行されることで単位区間Tu毎にN個の特性指標値V(1)〜V(N)が算定される。図7の処理を開始すると、指標算定部64は、N個の候補周波数Fc(1)〜Fc(N)から1個の候補周波数Fc(n)を選択する(S31)。そして、指標算定部64は、音響信号xの複数の音響成分のうち処理S31で選択した候補周波数Fc(n)を基本周波数とする調波成分の特徴量(MFCC)を算定する(S32〜S35)。
【0032】
まず、指標算定部64は、図8に示すように、周波数分析部31が生成した周波数スペクトルXからパワースペクトル|X|2を生成し(S32)、パワースペクトル|X|2のうち処理S31で選択した候補周波数Fc(n)とその倍音周波数κFc(n)(κ=2,3,4,……)との各々に対応するパワー値を特定する(S33)。例えば、指標算定部64は、候補周波数Fc(n)と各倍音周波数κFc(n)とを中心周波数として周波数軸上に設定された各窓関数(例えば三角窓)をパワースペクトル|X|2に乗算し、窓関数毎の乗算値の最大値(図8の黒点)を候補周波数Fc(n)および各倍音周波数κFc(n)に対応するパワー値として特定する。
【0033】
指標算定部64は、図8に示すように、候補周波数Fc(n)および各倍音周波数κFc(n)について処理S33で算定したパワー値を補間することで包絡線ENV(n)を生成する(S34)。具体的には、パワー値を変換した対数値(dB値)の補間を実行してからパワー値に再変換することで包絡線ENV(n)が算定される。処理S34での補間には、例えばラグランジュ補間等の公知の補間技術が任意に採用され得る。以上の説明から理解されるように、包絡線ENV(n)は、音響信号xのうち候補周波数Fc(n)を基本周波数とする調波成分の周波数スペクトルの包絡線に相当する。指標算定部64は、処理S34で生成した包絡線ENV(n)からMFCC(特徴量)を算定する(S35)。MFCCの算定の方法は任意である。
【0034】
指標算定部64は、処理S35で算定したMFCCから特性指標値V(n)(目標成分らしさの尤度)を算定する(S36)。特性指標値V(n)の算定の方法は任意であるが、SVM(Support Vector Machine)が好適である。すなわち、指標算定部64は、音声(歌唱音)と非音声(例えば楽器の演奏音)とが混在する学習サンプルを複数のクラスタに分類する分離平面(境界)を事前に学習し、各クラスタ内のサンプルが音声に該当する確率(例えば0以上かつ1以下の中間的な数値)をクラスタ毎に設定する。特性指標値V(n)を算定する段階では、指標算定部64は、処理S35で算定したMFCCが所属すべきクラスタを分離平面の適用で決定し、そのクラスタに付与された確率を特性指標値V(n)として特定する。例えば候補周波数Fc(n)に対応する音響成分が目標成分(歌唱音)に該当する可能性が高いほど特性指標値V(n)は1に近い数値に設定され、目標成分に該当しない確率が高いほど特性指標値V(n)は0に近い数値に設定される。
【0035】
指標算定部64は、N個の候補周波数Fc(1)〜Fc(N)の全部について以上の処理(S31〜S36)を実行したか否かを判定する(S37)。処理S37の判定の結果が否定である場合、指標算定部64は、未処理の候補周波数Fc(n)を新規に選択したうえで(S31)、前述の処理S32から処理S37の処理を実行する。そして、N個の候補周波数Fc(1)〜Fc(N)の全部を処理すると(S37:YES)、指標算定部64は図7の処理を終了する。したがって、相異なる候補周波数Fc(n)に対応するN個の特性指標値V(1)〜V(N)が単位区間Tu毎に順次に算定される。
【0036】
<遷移解析部66>
図2の遷移解析部66は、周波数検出部62が単位区間Tu毎に算定したN個の候補周波数Fc(1)〜Fc(N)から、目標成分の基本周波数Ftarに該当する可能性が高い候補周波数Fc(n)を選択する。すなわち、基本周波数Ftarの時系列(軌跡)が特定される。図2に示すように、遷移解析部66は、第1処理部71と第2処理部72とを含んで構成される。第1処理部71および第2処理部72の各々の機能について以下に詳述する。
【0037】
<第1処理部71>
第1処理部71は、N個の候補周波数Fc(1)〜Fc(N)のうち目標成分の基本周波数Ftarに該当する可能性が高い候補周波数Fc(n)を単位区間Tu毎に特定する。図9は、第1処理部71の動作のフローチャートである。周波数検出部62がN個の候補周波数Fc(1)〜Fc(N)を最新の1個の単位区間(以下では特に「新規単位区間」という)Tuについて特定するたびに図9の処理が実行される。
【0038】
図9の処理は、概略的には、図10に示すように、新規単位区間Tuを最後尾とするK個の単位区間Tuにわたる経路(以下では「推定系列」という)RAを特定する処理である。推定系列RAは、各単位区間TuのN個の候補周波数Fc(n)(図10では4個の候補周波数Fc(1)〜Fc(4))のうち目標成分に該当する可能性(尤度)が高い候補周波数Fc(n)をK個の単位区間Tuについて配列した時系列(候補周波数Fc(n)の遷移)に相当する。推定系列RAの探索には公知の技術が任意に採用され得るが、演算量の削減の観点から動的計画法が格別に好適である。図9では、動的計画法の例示であるビタビ(viterbi)アルゴリズムを利用して推定系列RAを特定する場合が想定されている。図9の処理を以下に詳述する。
【0039】
第1処理部71は、新規単位区間Tuについて特定されたN個の候補周波数Fc(1)〜Fc(N)のうちの1個の候補周波数Fc(n)を選択する(S41)。そして、第1処理部71は、図11に示すように、処理S41で選択した候補周波数Fc(n)が新規単位区間Tuに出現する確率(PA1(n),PA2(n))を算定する(S42)。
【0040】
確率PA1(n)は、候補周波数Fc(n)について図3の処理S25で算定された尤度Ls(δF)(=Ls(Fc(n))に応じて可変に設定される。具体的には、候補周波数Fc(n)の尤度Ls(Fc(n))が大きいほど確率PA1(n)は大きい数値に設定される。第1処理部71は、例えば、尤度Ls(Fc(n))に応じた変数λ(n)を確率変数とする正規分布(平均μA1,分散σA12)を表現する以下の数式(4)の演算で候補周波数Fc(n)の確率PA1(n)を算定する。
【数4】

数式(4)の変数λ(n)は、例えば尤度Ls(Fc(n))を正規化した数値である。尤度Ls(Fc(n))の正規化の方法は任意であるが、例えば尤度Ls(Fc(n))を尤度Ls(δF)の最大値で除算した数値が正規化後の尤度λ(n)として好適である。平均μA1および分散σA12の数値は実験的または統計的に選定される(例えばμA1=1,σA1=0.4)。
【0041】
処理S42で算定される確率PA2(n)は、候補周波数Fc(n)について指標算定部64が算定した特性指標値V(n)に応じて可変に設定される。具体的には、候補周波数Fc(n)の特性指標値V(n)が大きい(目標成分に該当する可能性が高い)ほど確率PA2(n)は大きい数値に設定される。第1処理部71は、例えば、特性指標値V(n)を確率変数とする正規分布(平均μA2,分散σA22)を表現する以下の数式(5)の演算で確率PA2(n)を算定する。平均μA2および分散σA22の数値は実験的または統計的に選定される(例えばμA2=σA2=1)。
【数5】

【0042】
第1処理部71は、図11に示すように、新規単位区間Tuについて処理S41で選択した候補周波数Fc(n)と、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)との各組合せについてN個の確率PA3(n)_1〜PA3(n)_Nを算定する(S43)。確率PA3(n)_ν(ν=1〜N)は、直前の単位区間Tuの第ν番目の候補周波数Fc(ν)から新規単位区間Tuの候補周波数Fc(n)に遷移する確率を意味する。具体的には、単位区間Tuの間で音響成分の音高が極端に変化する可能性は低いという傾向を考慮して、直前の候補周波数Fc(ν)と現在の候補周波数Fc(n)との差異(音高差)が大きいほど確率PA3(n)_νは小さい数値に設定される。第1処理部71は、例えば以下の数式(6)の演算でN個の確率PA3(n)_1〜PA3(n)_Nを算定する。
【数6】

数式(6)は、関数値min{6,max(0,|ε|−0.5)}を確率変数とする正規分布(平均μA3,分散σA32)を表現する。数式(6)の記号εは、半音を単位として直前の候補周波数Fc(ν)と現在の候補周波数Fc(n)との差分を表現した変数を意味する。関数値min{6,max(0,|ε|−0.5)}は、半音単位の周波数差εの絶対値|ε|から0.5を減算した数値(負数となる場合は0)が6を下回る場合にはその数値に設定され、数値が6を上回る場合(すなわち6半音を上回る程度に周波数が相違する場合)には6に設定される。なお、音響信号xの最初の単位区間Tuの確率PA3(n)_1〜PA3(n)_Nは所定値(例えば1)に設定される。また、平均μA3および分散σA32の数値は実験的または統計的に選定される(例えばμA3=0,σA3=4)。
【0043】
以上の手順で確率(PA1(n),PA2(n),PA3(n)_1〜PA3(n)_N)を算定すると、第1処理部71は、図12に示すように、新規単位区間Tuの候補周波数Fc(n)と、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)との各組合せについてN個の確率πA(1)〜πA(N)を算定する(S44)。確率πA(ν)は、図11の確率PA1(n)と確率PA2(n)と確率PA3(n)_νとに応じた数値である。例えば確率PA1(n)と確率PA2(n)と確率PA3(n)_νとの各々の対数値の加算値が確率πA(ν)として算定される。以上の説明から理解されるように、確率πA(ν)は、直前の単位区間Tuの第ν番目の候補周波数Fc(ν)から新規単位区間Tuの候補周波数Fc(n)に遷移する確率(尤度)を意味する。
【0044】
第1処理部71は、処理S44で算定したN個の確率πA(1)〜πA(N)のうちの最大値πA_maxを選択し、図12に示すように、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)のうち最大値πA_maxに対応する候補周波数Fc(ν)と新規単位区間Tuの候補周波数Fc(n)とを連結する経路(図12の太線)を設定する(S45)。更に、第1処理部71は、新規単位区間Tuの候補周波数Fc(n)について確率ΠA(n)を算定する(S46)。確率ΠA(n)は、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)のうち処理S45で選択した候補周波数Fc(ν)について過去に算定した確率ΠA(ν)と現在の候補周波数Fc(n)について処理S45で選択した最大値πA_maxとに応じた数値(例えば各々の対数値の加算値)に設定される。
【0045】
第1処理部71は、新規単位区間TuのN個の候補周波数Fc(1)〜Fc(N)の全部について以上の処理(S41〜S46)を実行したか否かを判定する(S47)。処理S47の判定の結果が否定である場合、第1処理部71は、未処理の候補周波数Fc(n)を新規に選択したうえで(S41)、処理S42から処理S47を実行する。すなわち、処理S41から処理S47が新規単位区間TuのN個の候補周波数Fc(1)〜Fc(N)の各々について実行され、直前の単位区間Tuの1個の候補周波数Fc(ν)からの経路(処理S45)とその経路に対応する確率ΠA(n)(処理S46)とが新規単位区間Tuの候補周波数Fc(n)毎に算定される。
【0046】
新規単位区間Tuの全部(N個)の候補周波数Fc(1)〜Fc(N)について処理が完了すると(S47:YES)、第1処理部71は、新規単位区間Tuを最後尾とするK個の単位区間Tuにわたる推定系列RAを確定する(S48)。推定系列RAは、新規単位区間TuのN個の候補周波数Fc(1)〜Fc(N)のうち処理S46で算定した確率ΠA(n)が最大となる候補周波数Fc(n)から、処理S45で連結した各候補周波数Fc(n)をK個の単位区間Tuにわたって順次に遡及(バックトラック)した経路である。なお、処理S41から処理S47を完了した単位区間TuがK個未満である段階(すなわち音響信号xの始点から第(K−1)個までの各単位区間Tuについて処理が完了した段階)では推定系列RAの確定(処理S48)は実行されない。以上に説明したように、周波数検出部62が新規単位区間TuについてN個の候補周波数Fc(1)〜Fc(N)を特定するたびに、その新規単位区間Tuを最後尾とするK個の単位区間Tuにわたる推定系列RAが特定される。
【0047】
<第2処理部72>
ところで、音響信号xのなかには目標成分が存在しない単位区間Tu(例えば歌唱音が停止した区間)も存在する。第1処理部71による推定系列RAの探索では各単位区間Tuにおける目標成分の有無が判断されないから、実際には目標成分が存在しない単位区間Tuについても推定系列RA上では候補周波数Fc(n)が特定される。以上の事情を考慮して、第2処理部72は、推定系列RAの各候補周波数Fc(n)に対応するK個の単位区間Tuの各々について目標成分の有無を判定する。
【0048】
図13は、第2処理部72の動作のフローチャートである。第1処理部71が推定系列RAを特定するたび(単位区間Tu毎)に図13の処理が実行される。図13の処理は、概略的には、図14に示すように、推定系列RAに対応するK個の単位区間Tuにわたる経路(以下では「状態系列」という)RBを特定する処理である。状態系列RBは、K個の単位区間Tuの各々について目標成分の発音状態Sv(v:voiced)および非発音状態Su(u:unvoiced)の何れかを選択して配列した時系列(発音状態/非発音状態の遷移)に相当する。各単位区間Tuの発音状態Svは、推定系列RAのうちその単位区間Tuの候補周波数Fc(n)が目標成分として発音される状態を意味し、非発音状態Suは目標成分が発音されない状態を意味する。状態系列RBの探索には公知の技術が任意に採用され得るが、演算量の削減の観点から動的計画法が格別に好適である。図13では、動的計画法の例示であるビタビアルゴリズムを利用して状態系列RBを特定する場合が想定されている。図13の処理を以下に詳述する。
【0049】
第2処理部72は、K個の単位区間Tuの何れか(以下「選択単位区間」という)を選択する(S51)。具体的には、図13の第1回目の処理S51ではK個の単位区間Tuのうち最初の単位区間Tuが選択され、第2回目以降の処理S51の実行毎に直後の単位区間Tuが選択される。
【0050】
第2処理部72は、図15に示すように、選択単位区間Tuについて確率PB1_vと確率PB1_uとを算定する(S52)。確率PB1_vは、選択単位区間Tuにて目標成分が発音状態Svに該当する確率を意味し、確率PB1_uは、選択単位区間Tuにて目標成分が非発音状態Suに該当する確率を意味する。
【0051】
選択単位区間Tuの候補周波数Fc(n)が目標成分に該当する可能性が高いほど、その候補周波数Fc(n)について指標算定部64が算定した特性指標値V(n)(目標成分らしさ)は大きい数値となるという傾向を考慮して、発音状態Svの確率PB1_vの算定には特性指標値V(n)が適用される。具体的には、第2処理部72は、特性指標値V(n)を確率変数とする正規分布(平均μB1,分散σB12)を表現する以下の数式(7)の演算で確率PB1_vを算定する。数式(7)から理解されるように、特性指標値V(n)が大きいほど確率PB1_vは大きい数値に設定される。平均μB1および分散σB12の数値は実験的または統計的に選定される(例えばμB1=σB1=1)。
【数7】

【0052】
他方、非発音状態Suの確率PB1_uは、例えば以下の数式(8)で算定される固定値である。
【数8】

【0053】
次いで、第2処理部72は、図15に破線で示すように、選択単位区間Tuの発音状態Svおよび非発音状態Suと直前の単位区間Tuの発音状態Svおよび非発音状態Suとの各組合せについて遷移の確率(PB2_vv,PB2_uv,PB2_uu,PB2_vu)を算定する(S53)。確率PB2_vvは、図15から理解されるように、直前の単位区間Tuの発音状態Svから選択単位区間Tuの発音状態Svに遷移する確率(vv:voiced->voiced)を意味する。同様に、確率PB2_uvは、非発音状態Suから発音状態Svに遷移する確率(uv:unvoiced->voiced)を意味し、確率PB2_uuは、非発音状態Suから非発音状態Suに遷移する確率(uu:unvoiced->unvoiced)を意味し、確率PB2_vuは、発音状態Svから非発音状態Suに遷移する確率(vu:voiced->unvoiced)を意味する。具体的には、第2処理部72は、各確率を以下の数式(9A)および数式(9B)のように算定する。
【数9】

【0054】
前述の数式(6)で算定される確率PA3(n)_νと同様に、直前の単位区間Tuと選択単位区間Tuとの間で候補周波数Fc(n)の周波数差εの絶対値|ε|が大きいほど数式(9A)の確率PB2_vvは小さい数値に設定される。数式(9A)の平均μB2および分散σB22の数値は実験的または統計的に選定される(例えばμB2=0,σB2=4)。数式(9A)および数式(9B)から理解されるように、相前後する単位区間Tuにて発音状態Svが維持される確率PB2_vvは、発音状態Svおよび非発音状態Suの一方から他方に遷移する確率(SPB2_uv,PB2_vu)や非発音状態Suが維持される確率PB2_uuと比較して低い確率に設定される。
【0055】
第2処理部72は、直前の単位区間Tuの発音状態Svおよび非発音状態Suの何れかを、選択単位区間Tuの発音状態Svに関する各確率(PB1_v,PB2_vv,PB2_uv)に応じて選択して選択単位区間Tuの発音状態Svに連結する(S54A〜S54C)。まず、第2処理部72は、図16に示すように、直前の単位区間Tuの状態(発音状態Sv/非発音状態Su)から選択単位区間Tuの発音状態Svに遷移する確率(πBvv,πBuv)を算定する(S54A)。確率πBvvは、直前の単位区間Tuの発音状態Svから選択単位区間Tuの発音状態Svに遷移する確率であり、処理S52で算定した確率PB1_vと処理S53で算定した確率PB2_vvとに応じた数値(例えば各々の対数値の加算値)に設定される。同様に、確率πBuvは、直前の単位区間Tuの非発音状態Suから選択単位区間Tuの発音状態Svに遷移する確率を意味し、確率PB1_vと確率PB2_uvとに応じて算定される。
【0056】
第2処理部72は、図16に示すように、直前の単位区間Tuの状態(発音状態Sv/非発音状態Su)のうち確率πBvvおよび確率πBuvの最大値πBv_maxに対応する状態を選択して選択単位区間Tuの発音状態Svと連結し(S54B)、選択単位区間Tuの発音状態Svについて確率ΠBを算定する(S54C)。確率ΠBは、直前の単位区間Tuについて処理S54Bで選択した状態について過去に算定された確率ΠBと処理S54Bで特定した最大値πBv_maxとに応じた数値(例えば各々の対数値の加算値)に設定される。
【0057】
第2処理部72は、選択単位区間Tuの非発音状態Suについても同様に、直前の単位区間Tuの発音状態Svおよび非発音状態Suの何れかを、選択単位区間Tuの非発音状態Suに関する各確率(PB1_u,PB2_uu,PB2_vu)に応じて選択してその非発音状態Suに連結する(S55A〜S55C)。すなわち、第2処理部72は、図17に示すように、確率PB1_uおよび確率PB2_uu応じた確率(すなわち非発音状態Suから非発音状態Suに遷移する確率)πBuuと、確率PB1_uおよび確率PB2_vuに応じた確率πBvuとを算定し(S55A)、直前の単位区間Tuの発音状態Svおよび非発音状態Suのうち確率πBuuおよび確率πBvuの最大値πBu_maxに対応する状態(図17では発音状態Sv)を選択して選択単位区間Tuの非発音状態Suと連結する(S55B)。そして、第2処理部72は、処理S55Bで選択した状態について過去に算定した確率ΠBと処理S55Bで選択した確率πBu_maxとに応じて選択単位区間Tuの非発音状態Suの確率ΠBを算定する(S55C)。
【0058】
選択単位区間Tuの発音状態Svおよび非発音状態Suの各々について以上の手順で直前の単位区間Tuの状態との連結(S54B,S55B)と確率ΠBの算定(S54C,S55C)とを完了すると、第2処理部72は、K個の単位区間Tuの全部について処理が完了したか否かを判定する(S56)。処理S56の判定の結果が否定である場合、第2処理部72は、現在の選択単位区間Tuの直後の単位区間Tuを新規な選択単位区間Tuとして選択したうえで(S51)、前述の処理S52から処理S56の処理を実行する。
【0059】
K個の単位区間Tuの各々について処理が完了すると(S56:YES)、第2処理部72は、K個の単位区間Tuにわたる状態系列RBを確定する(S57)。具体的には、第2処理部72は、K個のうち最後尾の単位区間Tuの発音状態Svおよび非発音状態Suのうち確率ΠBが大きい状態から、処理S54Bまたは処理S55Bで連結した経路をK個の単位区間Tuにわたって順次に遡及することで状態系列RBを特定する。そして、K個の単位区間Tuにわたる状態系列RBのうち第1番目の単位区間Tuでの状態(発音状態Sv/非発音状態Su)を、その1個の単位区間Tuの状態(目標成分の発音の有無)として確定する(S58)。すなわち、新規単位区間Tuから(K−1)個だけ過去の単位区間Tuについて目標成分の有無(発音状態Sv/非発音状態Su)が判定される。
【0060】
<情報生成部68>
情報生成部68は、遷移解析部66による処理の結果(推定系列RA,状態系列RB)に応じて単位区間Tu毎に周波数情報DFを生成する。具体的には、第2処理部72が特定した状態系列RBにて発音状態Svに該当する単位区間Tuについて、情報生成部68は、第1処理部71が特定した推定系列RAのK個の候補周波数Fc(n)のうちその単位区間Tuに対応する候補周波数Fc(n)を目標成分の基本周波数Ftarとして指定する周波数情報DFを生成する。他方、状態系列RBにおいて非発音状態Suに該当する単位区間Tuについて、情報生成部68は、目標成分の非発音を意味する周波数情報DF(例えば数値がゼロに設定された周波数情報DF)を生成する。
【0061】
以上に説明した形態では、音響信号xから検出されるN個の候補周波数Fc(1)〜Fc(N)のうち目標成分に該当する可能性が高い候補周波数Fc(n)を単位区間Tu毎に選択した推定系列RAと、単位区間Tu毎の目標成分の有無(発音状態Sv/非発音状態Su)を推定した状態系列RBとが生成され、推定系列RAと状態系列RBとの双方を利用して周波数情報DFが生成される。したがって、目標成分の発音が途切れる場合でも目標成分の基本周波数Ftarの時系列を適切に検出することが可能である。例えば、遷移解析部66が第1処理部71のみを具備する構成と比較すると、音響信号xのうち目標成分が実際には存在しない単位区間Tuについて基本周波数Ftarが誤検出される可能性を低減することが可能である。
【0062】
各周波数δFが音響信号xの基本周波数に該当する尤度Ls(δF)に応じた確率PA1(n)が推定系列RAの探索に適用されるから、音響信号xのうち高強度の目標成分の基本周波数Ftarの時系列を高精度に特定できるという利点もある。また、音響信号xのうち各候補周波数Fc(n)に対応する調波成分の音響特性と所期の音響特性との類否を示す特性指標値V(n)に応じた確率PA2(n)や確率PB1_vが推定系列RAや状態系列RBの探索に適用されるから、所期の音響特性の目標成分の基本周波数Ftarの時系列(発音の有無)を高精度に特定できるという利点もある。
【0063】
更に、相前後する各単位区間Tuでの候補周波数Fc(n)の周波数差εに応じた確率PA3(n)_νおよび確率PB2_vvが推定系列RAや状態系列RBの探索に適用されるから、基本周波数が短時間に過度に変化するような推定系列RAや状態系列RBの誤検出が防止され、結果的に目標成分の基本周波数Ftarの時系列(発音の有無)を高精度に特定できるという利点がある。
【0064】
<B:第2実施形態>
本発明の第2実施形態を以下に説明する。なお、以下に例示する各構成において作用や機能が第1実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【0065】
図18は、第2実施形態における基本周波数解析部33のブロック図である。図18には記憶装置24が併記されている。第2実施形態の記憶装置24には楽曲情報DMが記憶される。楽曲情報DMは、楽曲を構成する各音符の音高(以下「基準音高」という)PREFを時系列に指定する。以下の例示では、楽曲の主旋律に相当する歌唱音(ガイドメロディ)の音高が基準音高PREFとして指定される場合を想定する。例えば、楽曲の音高を指定するイベントデータ(ノートオンイベント)と各イベントデータの処理の時点を指定するタイミングデータとを時系列に配列したMIDI(Musical Instrument Digital Interface)形式の時系列データが楽曲情報DMとして好適に採用される。
【0066】
第2実施形態で処理対象となる音響信号xは、記憶装置24に記憶された楽曲情報DMと楽曲が共通する。したがって、音響信号xの目標成分(歌唱音)が示す音高の時系列と楽曲情報DMが指定する基準音高PREFの時系列とは時間軸上で相互に対応する。第2実施形態の基本周波数解析部33は、楽曲情報DMで指定される基準音高PREFの時系列を、音響信号xの目標成分の基本周波数Ftarの時系列を特定するために利用する。
【0067】
図18に示すように、第2実施形態の基本周波数解析部33は、第1実施形態と同様の要素(周波数検出部62,指標算定部64,遷移解析部66,情報生成部68)に音高評価部82を追加した構成である。音高評価部82は、周波数検出部62が特定したN個の候補周波数Fc(1)〜Fc(N)の各々について音高尤度LP(n)(LP(1)〜LP(N))を単位区間Tu毎に算定する。各単位区間Tuの音高尤度LP(n)は、楽曲のうちその単位区間Tuに対応する時点について楽曲情報DMが指定する基準音高PREFと、周波数検出部62が検出した候補周波数Fc(n)との差異に応じた数値である。基準音高PREFが楽曲の歌唱音に対応する第2実施形態では、音高尤度LP(n)は、各候補周波数Fc(n)が楽曲の歌唱音に該当する可能性の指標(尤度)として機能する。例えば、音高尤度LP(n)は、候補周波数Fc(n)と基準音高PREFとの差異が小さいほど大きい数値となるように所定の範囲(1以下の正数)内で選定される。
【0068】
図19は、音高評価部82が音高尤度LP(n)を選定する処理の説明図である。図19には、候補周波数Fc(n)を確率変数とする確率分布αが図示されている。確率分布αは、例えば基準音高PREFを平均値とする正規分布である。図19の横軸(確率分布αの確率変数)は、セント(cent)を単位とした候補周波数Fc(n)である。
【0069】
音高評価部82は、楽曲のうち楽曲情報DMが基準音高PREFを指定する区間(すなわち楽曲内で歌唱音が存在する区間)内の各単位区間Tuについては、図19の確率分布αにおいて候補周波数Fc(n)に対応する確率を音高尤度LP(n)として特定する。他方、楽曲のうち楽曲情報DMが基準音高PREFを指定しない区間(すなわち楽曲内で歌唱音が存在しない区間)内の各単位区間Tuについては、音高評価部82は音高尤度LP(n)を所定の下限値に設定する。
【0070】
ところで、目標成分の周波数は、例えばビブラート等の音楽的な表現により、所期の周波数を中心として時間的に変動(揺動)する可能性がある。そこで、基準音高PREFを中心とする所定の範囲内(目標成分の周波数の変動が予定される所定の範囲内)では音高尤度LP(n)が過度に小さい数値とならないように、確率分布αの形状(具体的には分散)が選定される。例えば、歌唱音のビブラートによる周波数の変動は、目標の周波数を中心とした4半音分(高域側2半音および低域側2半音)の範囲にわたる。したがって、基準音高PREFを中心とした4半音程度の範囲内では音高尤度LP(n)が過度に小さい数値とならないように、確率分布αの分散は、基準音高PREFに対して1半音程度の周波数幅(PREF×21/12)に設定される。なお、図19ではセントを単位とした周波数を横軸に図示したが、周波数の単位をヘルツ(Hz)とした場合の確率分布αは、基準音高PREFを挟んだ高域側と低域側とで形状(分散)が相違する。
【0071】
図18の第1処理部71は、図9の処理S44で候補周波数Fc(n)毎に算定する確率πA(ν)に、音高評価部82が算定した音高尤度LP(n)を反映させる。具体的には、第1処理部71は、図9の処理S42で算定した確率PA1(n)および確率PA2(n)と、処理S43で算定した確率PA3(n)_νと、音高評価部82が算定した音高尤度LP(n)との各々の対数値の加算値を確率πA(ν)として算定する。
【0072】
したがって、候補周波数Fc(n)の音高尤度LP(n)が高いほど、処理S46で算定される確率ΠA(n)は大きい数値となる。すなわち、音高尤度LP(n)が高い候補周波数Fc(n)(すなわち、楽曲の歌唱音に該当する可能性が高い候補周波数Fc(n))ほど、推定経路RAの経路上の周波数として選択される可能性が高い。以上に説明したように、第2実施形態の第1処理部71は、各候補周波数Fc(n)の音高尤度LP(n)を利用した経路探索で推定経路RAを特定する手段として機能する。
【0073】
また、第2処理部72は、図13の処理S54Aで発音状態Svについて算定される確率πBvvおよび確率πBuvに、音高評価部82が算定した音高尤度LP(n)を反映させる。具体的には、第2処理部72は、処理S52で算定した確率PB1_vと、処理S53で算定した確率PB2_vvと、推定経路RAのうち選択単位区間Tuに対応する候補周波数Fc(n)の音高尤度LP(n)との各々の対数値の加算値を確率πBvvとして算定する。同様に、確率PB1_vと確率PB2_uvと音高尤度LP(n)とに応じて確率πBuvが算定される。
【0074】
したがって、候補周波数Fc(n)の音高尤度LP(n)が高いほど、処理S54Cで確率πBvvまたはπBuvに応じて算定される確率ΠBは大きい数値となる。すなわち、音高尤度LP(n)が高い候補周波数Fc(n)の発音状態Svほど状態系列RBとして選択される可能性が高い。他方、楽曲のうち基準音高PREFの音響成分が存在しない単位区間Tu内の候補周波数Fc(n)については音高尤度LP(n)が下限値に設定されるから、基準音高PREFの音響成分が存在しない各単位区間Tu(すなわち非発音状態Suが選択されるべき単位区間Tu)について発音状態Svが誤選択される可能性を充分に低減することが可能である。以上に説明したように、第2実施形態の第2処理部72は、推定経路RA上の候補周波数Fc(n)の音高尤度LP(n)を利用した経路探索で状態系列RBを特定する手段として機能する。
【0075】
第2実施形態でも第1実施形態と同様の効果が実現される。また、第2実施形態では、各候補周波数Fc(n)と楽曲情報DMで指定される基準音高PREFとの差異に応じた音高尤度LP(n)が推定経路RAおよび状態系列RBの経路探索に適用されるから、音高尤度LP(n)を利用しない第1実施形態と比較して、目標成分の基本周波数Ftarの推定精度を向上させることが可能である。もっとも、第1処理部71による推定経路RAの探索と第2処理部72による状態系列RBの探索との一方のみに音高尤度LP(n)を反映させる構成も採用され得る。
【0076】
なお、音高尤度LP(n)は、目標成分(歌唱音)らしさを示す指標という観点からすると特性指標値V(n)と性質が類似するから、特性指標値V(n)の代わりに音高尤度LP(n)を適用する(図18の構成から指標算定部64を省略する)ことも可能である。すなわち、図9の処理S42で特性指標値V(n)に応じて算定される確率PA2(n)が音高尤度LP(n)に置換され、図13の処理S52で特性指標値V(n)に応じて算定される確率PB1_vが音高尤度LP(n)に置換される。
【0077】
また、記憶装置24内の楽曲情報DMが楽曲の複数のパートの各々について基準音高PREFの時系列の指定(トラック)を含む構成では、各候補周波数Fc(n)の音高尤度LP(n)の算定と推定経路RAおよび状態系列RBの探索とを、楽曲のパート毎に実行することが可能である。具体的には、音高評価部82は、楽曲の複数のパートの各々について、そのパートの基準音高PREFと各候補周波数Fc(n)との差異に応じた音高尤度LP(n)(LP(1)〜LP(N))を単位区間Tu毎に算定する。そして、複数のパートの各々について、そのパートの各音高尤度LP(n)を適用した推定経路RAおよび状態系列RBの経路探索が第2実施形態と同様に実行される。以上の構成によれば、楽曲の複数のパートの各々について基本周波数Ftarの時系列(周波数情報DF)を生成することが可能である。
【0078】
<C:第3実施形態>
図20は、第3実施形態における基本周波数解析部33のブロック図である。第3実施形態の基本周波数解析部33は、第1実施形態と同様の要素(周波数検出部62,指標算定部64,遷移解析部66,情報生成部68)に補正部84を追加した構成である。補正部84は、情報生成部68が生成する周波数情報DF(基本周波数Ftar)を補正することで周波数情報DF_c(c:corrected)を生成する。周波数情報DF_cは、各基本周波数Ftarを補正した基本周波数Ftar_cの時系列を示す。なお、第2実施形態と同様に、記憶装置24には、音響信号xと共通の楽曲の基準音高PREFを時系列に指定する楽曲情報DMが格納される。
【0079】
図21の部分(A)は、第1実施形態と同様の方法で生成された周波数情報DFが示す基本周波数Ftarの時系列と、楽曲情報DMが指定する基準音高PREFの時系列とを併記したグラフである。符号Eaで示すように基準音高PREFの1.5倍程度の周波数が基本周波数Ftarとして誤検出される場合(以下ではこの誤検出を「五度エラー」という)と、符号Ebで示すように基準音高PREFの2倍の周波数が基本周波数Ftarとして誤検出される場合(以下ではこの誤検出を「オクターブエラー」という)とが図21の部分(A)から把握される。五度エラーおよびオクターブエラーの原因としては、例えば音響信号xの各音響成分の倍音成分が相互に重複することや、1オクターブだけ離れた音響成分または5度の関係にある音響成分が楽曲内で音楽的に発生し易いことが想定される。
【0080】
図20の補正部84は、周波数情報DFが示す基本周波数Ftarの時系列に発生する以上のような誤差(特に五度エラーやオクターブエラー)を補正することで周波数情報DF_c(補正後の基本周波数Ftar_cの時系列)を生成する。具体的には、補正部84は、以下の数式(10)に示すように、基本周波数Ftarと補正値βとの乗算で補正後の基本周波数Ftar_cを単位区間Tu毎(基本周波数Ftar毎)に算定する。
Ftar_c=β×Ftar ……(10)
【0081】
ただし、歌唱音のビブラート等の音楽的な表現により基本周波数Ftarと基準音高PREFとの相違が発生した場合にまで基本周波数Ftarを補正することは妥当ではない。そこで、基本周波数Ftarが、楽曲のうち基本周波数Ftarに対応する時点の基準音高PREFに対して所定の範囲内にある場合、補正部84は、周波数情報DFが指定する基本周波数Ftarを補正せずに基本周波数Ftar_cとして確定する。例えば、基本周波数Ftarが基準音高PREFに対して高域側の3半音程度の範囲内(すなわちビブラート等の音楽的な表現として想定される基本周波数Ftarの変動の範囲内)にある場合、補正部84は数式(10)の補正を停止する。
【0082】
数式(10)の補正値βは、基本周波数Ftarに応じて可変に設定される。図22は、基本周波数Ftar(横軸)と補正値β(縦軸)との関係を定義する関数Λのグラフである。図22では、正規分布を示す関数Λを例示した。基本周波数Ftarに対応する時点の基準音高PREFの1.5倍の周波数(Ftar=1.5PREF)について補正値βが1/1.5(≒0.67)となり、かつ、基準音高PREFの2倍の周波数(Ftar=2PREF)について補正値βが1/2(=0.5)となるように、補正部84は、楽曲情報DMが指定する基準音高PREFに応じて関数Λ(例えば正規分布の平均や分散)を選定する。
【0083】
図20の補正部84は、基準音高PREFに応じた関数Λにおいて基本周波数Ftarに対応する補正値βを特定して数式(10)の演算に適用する。すなわち、例えば基本周波数Ftarが基準音高PREFの1.5倍である場合には、数式(10)の補正値βが1/1.5に設定され、基本周波数Ftarが基準音高PREFの2倍である場合には、数式(10)の補正値βが1/2に設定される。したがって、図21の部分(B)に示すように、五度エラーにより基準音高PREFの1.5倍程度と誤検出された基本周波数Ftarやオクターブエラーにより基準音高PREFの2倍程度と誤検出された基本周波数Ftarは、基準音高PREFに近い基本周波数Ftar_cに補正される。
【0084】
第3実施形態においても第1実施形態と同様の効果が実現される。また、第3実施形態では、遷移解析部66が解析した基本周波数Ftarの時系列が楽曲情報DMの各基準音高PREFに応じて補正されるから、第1実施形態と比較して目標成分の基本周波数Ftar_cを正確に検出することが可能である。前述の例示では特に、補正前の基本周波数Ftarが基準音高PREFの1.5倍である場合の補正値βが1/1.5に設定され、基本周波数Ftarが基準音高PREFの2倍である場合の補正値βが1/2に設定されるから、基本周波数Ftarの推定時に特に発生し易い五度エラーやオクターブエラーを有効に補償できるという利点がある。
【0085】
なお、第1実施形態を基礎とした構成を以上の説明では例示したが、補正部84を具備する第3実施形態の構成は第2実施形態にも同様に適用され得る。また、以上の例示では正規分布を示す関数Λを利用して補正値βを決定したが、補正値βを決定する方法は適宜に変更される。例えば、基準音高PREFの1.5倍の周波数を含む所定の範囲(例えば基準音高PREFを中心として1半音程度の帯域幅の範囲)内に基本周波数Ftarがある場合(五度エラーの発生が推定される場合)には補正値βを1/1.5に設定し、基準音高PREFの2倍の周波数を含む所定の範囲内に基本周波数Ftarがある場合(オクターブエラーの発生が推定される場合)には補正値βを1/2に設定することも可能である。すなわち、補正値βが基本周波数Ftarに対して連続的に変化する構成は必須ではない。
【0086】
<D:第4実施形態>
第2実施形態および第3実施形態では、音響信号xの目標成分の音高の時系列と楽曲情報DMが指定する基準音高PREFの時系列(以下「基準音高系列」という)との間で時間的な対応を仮定したが、実際には両者が完全には対応しない場合もある。そこで、第4実施形態では、音響信号xに対する基準音高系列の相対的な位置(時間軸上の時刻)を調整する。
【0087】
図23は、第4実施形態における基本周波数解析部33のブロック図である。図23に示すように、第4実施形態の基本周波数解析部33は、第2実施形態と同様の要素(周波数検出部62,指標算定部64,遷移解析部66,情報生成部68,音高評価部82)に時間調整部86を追加した構成である。
【0088】
時間調整部86は、音響信号xの目標成分の音高の時系列と記憶装置24内の楽曲情報DMが指定する基準音高系列とが相互に時間軸上で対応するように音響信号x(各単位区間Tu)と基準音高系列との相対的な位置(時間差)を決定する。音響信号xと基準音高系列との間で時間軸上の位置を調整する方法は任意であるが、情報生成部68が第1実施形態または第2実施形態と同様の方法で特定した基本周波数Ftarの時系列(以下「解析音高系列」という)と楽曲情報DMが指定する基準音高系列とを対比する方法を以下では例示する。解析音高系列は、時間調整部86による処理の結果(すなわち基準音高系列との時間的な対応)を加味せずに特定された基本周波数Ftarの時系列である。
【0089】
時間調整部86は、音響信号xの全体にわたる解析音高系列と楽曲の全体にわたる基準音高系列との間で両者の時間差Δを変数とする相互相関関数C(Δ)を算定し、相互相関関数C(Δ)の関数値(相互相関)が最大となる時間差ΔAを特定する。例えば、相互相関関数C(Δ)の関数値が増加から減少に変化する地点の時間差Δが時間差ΔAとして特定される。相互相関関数C(Δ)を平滑化してから時間差ΔAを特定する構成も好適である。そして、時間調整部86は、解析音高系列および基準音高系列の一方を他方に対して時間差ΔAだけ遅延(または先行)させる。以上のように解析音高系列と基準音高系列とに時間差ΔAを付与した状態で、解析音高系列の単位区間Tu毎に、基準音高系列のうちその単位区間Tuと同時刻に位置する基準音高PREFが特定される。
【0090】
音高評価部82は、時間調整部86による解析の結果を利用して音高尤度LP(n)を単位区間Tu毎に算定する。具体的には、周波数検出部62が各単位区間Tuについて検出した候補周波数Fc(n)と、時間調整部86による調整後(時間差ΔAの付与後)の基準音高系列においてその単位区間Tuと同時刻に位置する基準音高PREFとの差異に応じて、音高評価部82は音高尤度LP(n)を算定する。遷移解析部66(第1処理部71および第2処理部72)は、第2実施形態と同様に、音高評価部82が算定した音高尤度LP(n)を利用した経路探索を実行する。以上の説明から理解されるように、遷移解析部66は、時間調整部86が基準音高系列と対比する解析音高系列を特定するための経路探索(すなわち、時間調整部86による解析の結果を加味しない経路探索)と、時間調整部86による解析の結果を加味した経路探索とを順次に実行する。
【0091】
第4実施形態では、時間調整部86が時間軸上の位置を調整した音響信号xと基準音高系列との間で音高尤度LP(n)が算定されるから、音響信号xと基準音高系列との時間軸上の位置が相互に対応しない場合でも、基本周波数Ftarの時系列を高精度に特定できるという利点がある。
【0092】
なお、以上の説明では、音高評価部82による音高尤度LP(n)の算定に時間調整部86による解析の結果を適用したが、時間調整部86を第3実施形態に追加し、補正部84による基本周波数Ftarの補正に時間調整部86での解析の結果を利用することも可能である。すなわち、補正部84は、各単位区間Tuの基本周波数Ftarが、時間調整部86による調整後の基準音高系列においてその単位区間Tuと同時刻に位置する基準音高PREFの1.5倍である場合に補正値βが1/1.5となり、基本周波数Ftarが基準音高PREFの2倍である場合に補正値βが1/2となるように関数Λを選定する。
【0093】
なお、以上の説明では、楽曲の全体について解析音高系列と基準音高系列とを対比したが、楽曲の所定の区間(例えば先頭から14秒ないし15秒程度の区間)のみについて解析音高系列と基準音高系列とを対比して時間差ΔAを特定することも可能である。また、解析音高系列および基準音高系列の各々を先頭から所定の時間毎に区分し、解析音高系列と基準音高系列との間で相互に対応する区間同士を対比することで、区間毎に時間差ΔAを算定する構成も好適である。以上のように楽曲の区間毎に時間差ΔAを算定する構成によれば、解析音高系列と基準音高系列とでテンポが相違する場合でも、各単位区間Tuに対応する基準音高PREFを高精度に特定できるという利点がある。
【0094】
<E:変形例>
以上の形態には様々な変形が加えられる。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は併合され得る。
【0095】
(1)変形例1
指標算定部64は省略され得る。指標算定部64を省略した構成では、第1処理部71による推定系列RAの特定や第2処理部72による状態系列RBの特定に特性指標値V(n)が適用されない。例えば、図9の処理S42での確率PA2(n)の算定が省略され、尤度Ls(Fc(n))に応じた確率PA1(n)と前後の単位区間Tuでの周波数差εに応じた確率PA3(n)_νとに応じて推定系列RAが特定される。また、図13の処理S52での確率PB1_vの算定が省略され、処理S53で算定される確率(PB2_vv,PB2_uv,PB2_uu,PB2_vu)に応じて状態系列RBが特定される。また、特性指標値V(n)を算定する手段はSVMに限定されない。例えば、k-meansアルゴリズム等の公知の技術による学習の結果を利用した構成でも、特性指標値V(n)の算定が実現される。
【0096】
(2)変形例2
周波数検出部62がN個の候補周波数Fc(1)〜Fc(N)を検出する方法は任意である。例えば、特許文献1に開示された方法で基本周波数の確率密度関数を推定し、確率密度関数の顕著なピークが存在するN個の基本周波数を候補周波数Fc(1)〜Fc(N)として特定する構成も採用され得る。
【0097】
(3)変形例3
音響処理装置100が生成した周波数情報DFを利用する方法は任意である。例えば、第2実施形態から第4実施形態では、周波数情報DFが示す基本周波数Ftarの時系列のグラフと楽曲情報DMが示す基準音高PREFの時系列のグラフとを表示装置に同時に表示することで両者の対応を容易に確認することが可能である。また、例えば歌唱表現(歌い回し)が相違する複数の音響信号xの各々について基本周波数Ftarの時系列を模範データ(教師情報)として生成および保持し、利用者の歌唱音を示す音響信号xから生成される基本周波数Ftarの時系列を各模範データと比較することで利用者の歌唱を採点することも可能である。また、相異なる歌手の複数の音響信号xの各々について基本周波数Ftarの時系列を模範データ(教師情報)として生成および保持し、利用者の歌唱音を示す音響信号xから生成される基本周波数Ftarの時系列を各模範データと比較することで、歌唱音が利用者に類似する歌手を特定することも可能である。
【符号の説明】
【0098】
100……音響処理装置、200……信号供給装置、22……演算処理装置、24……記憶装置、31……周波数分析部、33……基本周波数解析部、62……周波数検出部、64……指標算定部、66……遷移解析部、68……情報生成部、71……第1処理部、72……第2処理部。


【特許請求の範囲】
【請求項1】
音響信号の単位区間毎に複数の基本周波数を特定する周波数検出手段と、
前記各単位区間の前記複数の基本周波数から選択した基本周波数を複数の単位区間にわたり配列した系列であって前記音響信号のうち目標成分の基本周波数の時系列に該当する可能性が高い推定系列を、動的計画法による経路探索で特定する第1処理手段と、
前記各単位区間における前記目標成分の発音状態および非発音状態の何れかの状態を前記複数の単位区間にわたり配列した状態系列を、動的計画法による経路探索で特定する第2処理手段と、
前記状態系列の発音状態に対応する単位区間について前記推定系列のうち当該単位区間に対応する基本周波数を示し、前記状態系列の非発音状態に対応する単位区間について非発音を示す周波数情報を、前記単位区間毎に生成する情報生成手段と
を具備する音響処理装置。
【請求項2】
前記周波数検出手段は、各周波数が前記音響信号の基本周波数に該当する尤度を算定するとともに尤度が高い複数の周波数を基本周波数として選択し、
前記第1処理手段は、前記尤度に応じた確率を前記複数の基本周波数の各々について単位区間毎に算定し、当該確率を利用した経路探索で前記推定系列を特定する
請求項1の音響処理装置。
【請求項3】
前記音響信号のうち前記周波数検出手段が検出した前記各基本周波数に対応する調波成分の音響特性と前記目標成分に対応する音響特性との類否を示す特性指標値を前記複数の基本周波数の各々について前記単位区間毎に算定する指標算定手段を具備し、
前記第1処理手段は、前記複数の基本周波数の各々について前記特性指標値に応じて前記単位区間毎に算定される確率を利用した経路探索で前記推定系列を特定し、
前記第2処理手段は、前記推定系列上の基本周波数に対応する前記特性指標値に応じて前記単位区間毎に算定される前記発音状態の確率と、前記非発音状態の確率とを利用した経路探索で前記状態系列を特定する
請求項1または請求項2の音響処理装置。
【請求項4】
前記第1処理手段は、前記周波数検出手段が複数の単位区間の各々について特定した各基本周波数と当該単位区間の直前の単位区間の前記各基本周波数との差異に応じて前記各基本周波数の組合せ毎に算定される確率を利用した経路探索で前記推定系列を特定する
請求項1から請求項3の何れかの音響処理装置。
【請求項5】
前記第2処理手段は、前記推定系列における前記各単位区間の基本周波数と前記推定系列のうち当該単位区間の直前の単位区間の基本周波数との差異に応じて前記発音状態間の遷移について算定される確率と、相前後する各単位区間における発音状態および非発音状態の一方から非発音状態への遷移に関する確率とを利用した経路探索で前記状態系列を特定する
請求項1から請求項4の何れかの音響処理装置。
【請求項6】
基準音高の時系列を記憶する記憶手段と、
複数の単位区間の各々について、前記周波数検出手段がと当該単位区間について特定した複数の基本周波数の各々と、当該単位区間に対応する前記基準音高との差異に応じた音高尤度を算定する音高評価手段とを具備し、
前記第1処理手段は、前記複数の基本周波数の各々について前記音高尤度を利用した経路探索で前記推定系列を特定し、
前記第2処理手段は、前記推定系列上の基本周波数に対応する前記音高尤度に応じて単位区間毎に算定される前記発音状態の確率と、前記非発音状態の確率とを利用した経路探索で前記状態系列を特定する
請求項1から請求項5の何れかの音響処理装置。
【請求項7】
基準音高の時系列を記憶する記憶手段と、
前記周波数情報が示す基本周波数が、当該周波数情報に対応する時点の基準音高の1.5倍の周波数を含む所定の範囲内にある場合に基本周波数を1/1.5倍に補正し、基準音高の2倍の周波数を含む所定の範囲内にある場合に基本周波数を1/2倍に補正する補正手段と
を具備する請求項1から請求項6の何れかの音響処理装置。


【図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

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2012−108453(P2012−108453A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2011−45975(P2011−45975)
【出願日】平成23年3月3日(2011.3.3)
【出願人】(000004075)ヤマハ株式会社 (5,930)