以下、図面を参照しつつ本発明の実施形態について説明する。
(A:第1実施形態)
図1は、本発明の第1実施形態の音響処理装置100Aの構成例を示す図である。図1に示すように、音響処理装置100Aには信号供給装置200が接続される。信号供給装置200は、相異なる音源が発音した複数の音響成分(歌唱音や伴奏音)の混合音の時間波形を表現する音響信号xを音響処理装置100Aに供給する。周囲の音響を収音して音響信号xを生成する収音機器や、可搬型または内蔵型の記録媒体(例えばCD)から音響信号xを取得して音響処理装置100Aに供給する再生装置や、通信網から音響信号xを受信して音響処理装置100Aに供給する通信装置が信号供給装置200として採用され得る。
音響処理装置100Aは、信号供給装置200から供給される音響信号xと、この音響信号xにより音の時間波形が表される楽曲についての楽曲情報DMとにおいて互いに対応する音の発音タイミングの時間差を補正し、音響信号xと楽曲情報DMとを時間軸上において同期させる装置である。ここで、楽曲情報DMとは、楽曲を構成するパート毎に当該パートを構成する各音符の音高を時系列に指定する情報である。例えば、音符の音高を指定するイベントデータ(ノートオンイベント)と各イベントデータの処理の時点を指定するタイミングデータとを楽曲のパート毎に時系列に配列したSMF(Standard MIDI File)形式またはSMAF(Synthetic music
Mobile Application Format)の時系列データが楽曲情報DMとして好適である。
図1に示すように、音響処理装置100Aは、演算処理装置22Aと記憶装置24とを具備するコンピュータシステムで実現される。記憶装置24は、演算処理装置22Aが実行するプログラムや演算処理装置22Aが使用する各種の情報を記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体が記憶装置24として任意に採用される。図1に示すように、記憶装置24は、演算処理装置22Aが使用する情報の一つとして楽曲情報DMを記憶しており、この楽曲情報DMを演算処理装置22Aへ供給する。なお、音響信号xを記憶装置24に格納した構成(したがって、信号供給装置200は省略される)や、信号供給装置200によって楽曲情報DMを音響処理装置100Aへ供給する構成も採用され得る。
演算処理装置22Aは、記憶装置24に格納されたプログラムを実行することで、共通の楽曲についての音響信号xと楽曲情報DMとを時間軸上で同期させるための複数の機能、すなわち、第1ピッチ軌跡生成部220、第2ピッチ軌跡生成部222、遅延量算定部224、および遅延補正部226を実現する。なお、演算処理装置22Aの各機能を複数の集積回路に分散した構成や、専用の電子回路(DSP)が各機能を実現する構成も採用され得る。
第1ピッチ軌跡生成部220には音響信号xが与えられる。第1ピッチ軌跡生成部220は、音響信号xの表す音における主旋律(メロディ)の基本周波数の時間波形(以下、第1のピッチ軌跡)を表す時系列データx(n)を当該音響信号xを解析して生成し、遅延量算定部224に与える第1の時系列データ生成手段として機能する。より詳細に説明すると、第1ピッチ軌跡生成部220は、音響信号xを所定時間長ずつ区画して得られる各単位区間Tuについて主旋律(例えば、歌唱音)を構成する音の基本周波数Ftarの値を表す周波数情報DFを生成し、これら周波数情報DFを時系列データx(n)として出力する。なお、記号nは時系列データx(n)の抽出元となった単位区間Tuを示すインデックスである。複数の単位区間Tuのなかには、主旋律の音を含んでいない(すなわち、主旋律が発音されていない)ものが有り得る。第1ピッチ軌跡生成部220は、主旋律の音を含んでいない単位区間Tuについては基本周波数Ftarの値がゼロであることを示す周波数情報DFを生成する。単位区間Tuから特定の音響成分(以下「目標成分」、本実施形態では目標成分は主旋律である)の基本周波数を抽出する方法について種々の態様が考えられる。この第1ピッチ軌跡生成部220の具体的な構成および動作については後に明らかにする。
第2ピッチ軌跡生成部222は、楽曲情報DMにしたがって発音される音のうち主旋律を構成する音の基本周波数の時間波形(以下、第2のピッチ軌跡)を表す時系列データd(n)を楽曲情報DMを解析して生成し、遅延量算定部224に与える第2の時系列データ生成手段として機能する。より詳細に説明すると、第2ピッチ軌跡生成部222は、楽曲情報DMの主旋律パートに含まれているイベントデータおよびタイミングデータを参照して主旋律の基本周波数の時間変動を表すピッチ軌跡を生成し、このピッチ軌跡を単位区間Tuの時間長に応じたサンプリング周期でサンプリングして時系列データd(n)を生成する。
遅延量算定部224は、N個の単位区間Tuについての時系列データx(n)および時系列データd(n)を受け取ったことを契機として、音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差(本実施形態では、前者を基準とした場合の後者の遅延量)Dを算定する処理を実行する。従来、当該時間差の算定方法としては、時系列データx(n)と時系列データd(n)の相互相関係数を利用する方法が用いられることが多かった。これに対して、本実施形態では、図2(a)に示す適応フィルタ処理を実行することで上記時間差が算定される。図2(a)を参照すれば明らかなように、この適応フィルタ処理は、時系列データx(n)をフィルタ係数列w(i)のFIRフィルタに入力して得られる信号y(n)と参照信号d(n)との誤差信号e(n)が最小になるよう係数列w(i)を更新する処理である。遅延量算定部224は、このようして算定されるフィルタ係数列w(i)のうちの最大のもののインデックスを時系列データx(n)に対する時系列データd(n)の遅延量Dとして特定し、当該遅延量Dを遅延補正部226に与える。例えば、行列Wを構成する成分のうちk行1列成分w(k)が最大であった場合には、遅延量算定部224は、時系列データx(n)に対する時系列データd(n)の遅延量Dとしてkを遅延補正部226に与える。この遅延量D(=k)は、時系列データx(n−k)と時系列データd(n)とが対応していることを意味している。
図2(a)に示す適応フィルタ処理を実行することで、音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差を算定することができる理由は以下の通りである。まず、図2(b)に示すように、時系列データx(n)を未知のシステムに入力しその出力信号として時系列データd(n)が得られると仮定し、上記未知のシステムが係数列w(1)〜w(N)のFIRフィルタにより表現されると仮定する。すると、上記未知のシステムの出力信号y(n)は以下の数式(1)のように表すことができる。数式(1)から理解されるように、係数列w(i)には、x(n)に対するy(n)の遅延の情報が含まれていることが期待される。
ここで、係数列w(1)〜w(N)を適応フィルタ処理(図2(a)参照)により求めると、この係数列w(i)は以下の数式(2A)または数式(2B)に示すWiener-Hopf解に近づくことが知られている。数式(2A)および数式(2B)において記号Wは係数列w(i)に対応するN行1列行列を意味し、記号Pは時系列データx(n)と時系列データd(n)との相互相関ベクトル(N行1列の行列)を意味し、数式(2A)の記号Rは時系列データx(n)の自己相関行列(N行N列の行列)を意味し、数式(2B)の記号R
−1は、同自己相関行列の逆行列を意味する。
ここで、数式(2A)または数式(2B)を参照すれば明らかように、自己相関行列Rを無視すれば係数列w(i)を求めることは、入力信号と参照信号の相互相関を求めることと同等である。すなわち、行列Wを適応フィルタ処理により求めることは入力信号と参照信号の相互相関を求めることと等価なのである。これが、図2(a)に示す適応フィルタ処理によって、音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差を算定することができる理由である。また、本実施形態の方法によれば、数十秒分よりも少ない数の時系列データx(n)およびd(n)があれば上記時間差を算定することができ、適応フィルタの性能(収束速度)次第ではさらに少ないデータ数で上記時間差を算定することが可能である。相互相関係数を利用して上記時間差を算定する場合には概ね数十秒分の時系列データx(n)およびd(n)が必要となることが知られている。したがって、本実施形態によれば、相互相関係数を利用して上記時間差を算出する場合に比較してより少ないデータ量の演算で上記時間差を補正することが可能になる。本実施形態では上記適応フィルタ処理を実行して係数列w(i)を算出したが、時系列データx(n)およびd(n)に基づいて自己相関行列Rおよび相互相関ベクトルPを算出し、この自己相関行列Rおよび相互相関ベクトルPを用いて数式(2A)を満たす行列Wを掃き出し法等により求めても良く、さらに自己相関行列Rの逆行列R−1を算出し数式(2B)に示す演算を行って行列Wを求めても勿論良い。
遅延補正部226は、楽曲情報DMに含まれる各タイミングデータを、遅延量算定部224から与えられる遅延量Dに応じた時間だけ早いタイミングを表すタイミングデータに補正して新たな楽曲情報DM´を生成し出力する。この楽曲情報DM´においては、各音について音響信号xにおいて対応する音との発音タイミングの時間差が補正されているため、音響信号xの再生と同時に楽曲情報DM´の再生を開始すると、両者が時間軸上において同期することとなる。なお、本実施形態では、共通の楽曲の音響信号xと楽曲情報DMにおいて互いに対応する音の発音タイミングの時間差を楽曲情報DMの補正により解消したが、音響信号xの補正により当該時間差を解消しても勿論良い。また、本実施形態では、音響信号xに対して楽曲情報DMが遅れている場合について説明したが、楽曲情報DMに対して音響信号xが遅延している場合においても同様に両者の時間差を補正することができる。要は、音響信号xを所定時間だけ先行させた状態で上記時間差を算出すれば良く、具体的には音響信号xの先頭から上記所定時間に応じた数分の単位区間Tuを無視し、以降の単位区間Tuについて周波数情報DFを算出するようにすれば良い。
以上説明したように、本実施形態の音響処理装置100Aによれば、相互相関係数を利用する場合よりも少ないデータ量の演算で、共通の楽曲を表す楽曲情報DMおよび音響信号xにおける互いに対応する音の発音タイミングの時間差を補正し、時間軸上において両者を同期させることが可能になる。
次に、先に説明を省略した第1ピッチ軌跡生成部220の構成および動作について説明する。
<第1ピッチ軌跡生成部220>
図3は、第1ピッチ軌跡生成部220の構成を示すブロック図である。
図3に示すように、第1ピッチ軌跡生成部220は、周波数分析部31と基本周波数解析部33とを含んでいる。既に述べたように、第1ピッチ軌跡生成部220は、音響信号xを時間軸上で区分した単位区間Tuから目標成分の基本周波数を抽出するものである。ここで、目標成分とは、本実施形態では主旋律を構成する成分である。この目標成分の抽出を行うため、周波数分析部31は、音響信号xの単位区間Tu毎に周波数スペクトルXを生成する。この周波数スペクトルXは、相異なる周波数(周波数帯域)fに対応する複数の周波数成分X(f,t)で表現される複素スペクトルである。記号tは時間(例えば単位時間Tuの番号)を意味する。周波数スペクトルXの生成には、例えば短時間フーリエ変換等の公知の周波数分析が任意に採用され得る。
基本周波数解析部33は、周波数分析部31が生成した周波数スペクトルXを解析することで目標成分の基本周波数Ftar(tar:target)の時系列を特定して単位区間Tu毎に周波数情報DFを生成する。具体的には、音響信号xの複数の単位区間Tuのうち目標成分が存在する各単位区間Tuについては目標成分の基本周波数Ftarを指定する周波数情報DFが生成され、複数の単位区間Tuのうち目標成分が存在しない各単位区間Tuについては目標成分の非発音を意味する周波数情報DFが生成される。
図4は、基本周波数解析部33のブロック図である。図4に示すように、基本周波数解析部33は、周波数検出部62と指標算定部64と遷移解析部66と情報生成部68とを有する。基本周波数解析部33では、目標成分の基本周波数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の各要素の機能を以下に説明する。
<周波数検出部62>
周波数検出部62は、音響信号xの各音響成分に対応するN個の候補周波数Fc(1)〜Fc(N)を検出する。候補周波数Fc(n)(n=1〜N)の検出には公知の技術が任意に採用され得るが、図5を参照して以下に例示する方法が格別に好適である。図5の処理は単位区間Tu毎に実行される。なお、以下に例示する方法の詳細は、A. P. Klapuri,”Multiple fundamental frequency
estimation based on harmonicity and spectral smoothnes”, IEEE Trans. Speech and
Audio Proc., 11(6), 804-816, 2003に開示されている。
図5の処理を開始すると、周波数検出部62は、周波数分析部31が生成した周波数スペクトルXのピークを強調した周波数スペクトルZpを生成する(S22)。具体的には、周波数検出部62は、以下の数式(3A)から数式(3C)の演算で周波数スペクトルZpの各周波数fの周波数成分Zp(f,t)を算定する。
数式(3C)の定数k0および定数k1は所定値(例えばk0=50Hz、k1=6kHz)に設定される。数式(3B)は、周波数スペクトルXのピークを強調する演算である。数式(3A)の記号Xaは、周波数スペクトルXの周波数成分X(f,t)の周波数軸上の移動平均である。したがって、数式(3A)から理解されるように、周波数スペクトルXのピークに対応する周波数成分Zp(f,t)が極大となり、相隣接するピーク間の周波数成分Zp(f,t)が0となる周波数スペクトルZpが生成される。
周波数検出部62は、周波数スペクトルZpをJ個の帯域成分Zp_1(f,t)〜Zp_J(f,t)に分割する(S23)。第j番目(j=1〜J)の帯域成分Zp_j(f,t)は、以下の数式(4)で表現されるように、処理S22で生成した周波数スペクトルZp(周波数成分Zp(f,t))に窓関数Wj(f)を乗算した成分である。
数式(4)の記号Wj(f)は、周波数軸上に設定された窓関数を意味する。窓関数W1(f)〜WJ(f)は、人間の聴覚特性(メル尺度)を考慮して、図6に示すように高域側ほど分解能が低下するように設定される。図7には、処理S23で生成される第j番目の帯域成分Zp_j(f,t)が図示されている。
周波数検出部62は、処理S23で算定したJ個の帯域成分Zp_1(f,t)〜Zp_J(f,t)の各々について、以下の数式(5)で表現される関数値Lj(δF)を算定する(S24)。
図7に示すように、帯域成分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)を正規化する要素である。
数式(5)の記号max{A(Fs,δF)}は、相異なる周波数Fsについて算定された関数値A(Fs,δF)のうちの最大値を意味する。図8は、数式(5)で算定される関数値Lj(δF)と各対象周波数fpの周波数δFとの関係を示すグラフである。図8に示すように、関数値Lj(δF)には複数のピークが存在する。数式(5)から理解されるように、周波数δFの間隔で配列する各対象周波数fpが帯域成分Zp_j(f,t)の各ピークの周波数(すなわち、調波周波数)に近似するほど、関数Lj(δF)は大きな数値になる。すなわち、関数値Lj(δF)がピークとなる周波数δFは、帯域成分Zp_j(f,t)の基本周波数に該当する可能性が高い。
周波数検出部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を確率変数とする基本周波数の確率密度関数に相当する。
周波数検出部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)が大きい数値となり易いという傾向があるからである。以上に説明した図5の処理(S22〜S26)が単位区間Tu毎に実行されることでN個の候補周波数Fc(1)〜Fc(N)が単位区間Tu毎に特定される。
<指標算定部64>
図4の指標算定部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 Coefficient)を例示する。ただし、MFCC以外の特徴量を利用することも可能である。
図9は、指標算定部64の動作のフローチャートである。図9の処理が単位区間Tu毎に順次実行されることで単位区間Tu毎にN個の特性指標値V(1)〜V(N)が算定される。図9の処理を開始すると、指標算定部64は、N個の候補周波数Fc(1)〜Fc(N)から1個の候補周波数Fc(n)を選択する(S31)。そして、指標算定部64は、音響信号xの複数の音響成分のうち処理S31で選択した候補周波数Fc(n)を基本周波数とする調波成分の特徴量(MFCC)を算定する(S32〜S35)。
まず、指標算定部64は、図10に示すように、周波数分析部31が生成した周波数スペクトルXからパワースペクトル|X2|を生成し(S32)、パワースペクトル|X2|のうち処理S31で選択した候補周波数Fc(n)とその倍音周波数κFc(n)(κ=2,3,4……)との各々に対応するパワー値を特定する(S33)。例えば、指標算定部64は、候補周波数Fc(n)と各倍音周波数κFc(n)とを中心周波数として周波数軸上に設定した窓関数(例えば三角窓)をパワースペクトル|X2|に乗算し、窓関数毎の乗算値の最大値を候補周波数Fc(n)および各倍音周波数κFc(n)に対応するパワー値として特定する。
指標算定部64は、図10に示すように、候補周波数Fc(n)および各倍音周波数κFc(n)について処理S33で算定したパワー値を補間することで包絡線ENV(n)を生成する(S34)。具体的には、パワー値を変換した対数値(db値)の補間を実行してからパワー値に再変換することで包絡線ENV(n)が算定される。処理S34での補間は例えばラグランジュ補間等の公知の補間技術が任意に採用され得る。以上の説明から明らかように、包絡線ENV(n)は、音響信号xのうち候補周波数Fc(n)を基本周波数とする調波成分の周波数スペクトルの包絡線に相当する。指標算定部64は、処理S34で算定した包絡線ENV(n)から特徴量(MFCC)を算定する(S35)。MFCCの算定の方法は任意である。
指標算定部64は、処理S35で算定したMFCCから特性指標値V(n)(目標成分らしさの尤度)を算定する(S36)。特性指標値の算定の方法は任意であるが、SVM(Support Vector Machine)が好適である。すなわち、指標算定部64は、音声(歌唱音)と非音声(例えば楽器の演奏音)とが混在する学習サンプルを複数のクラスタに分類する分離平面(境界)を事前に学習し、各クラスタ内のサンプルが音声に該当する確率(例えば0以上かつ1以下の中間的な数値)をクラスタ毎に設定する。特性指標値V(n)を算定する段階では、指標算定部64は、処理S35で算定したMFCCが所属するべきクラスタを分離平面の適用で決定し、そのクラスタに付与された確率を特性指標値V(n)として特定する。例えば候補周波数Fc(n)に対応する音響成分が目標成分(歌唱音)に該当する可能性が高いほど特性指標値V(n)は1に近い値に設定され、目標成分に該当しない確率が高いほど特性指標値V(n)は0に近い値に設定される。
指標算定部64は、N個の候補周波数Fc(1)〜Fc(N)の全部について以上の処理(S31〜S36)を実行したか否かを判定する(S37)。処理S37の判定結果が否定である場合、指標算定部64は、未処理の候補周波数Fc(n)を選択したうえで(S31)、前述の処理S32から処理S37の処理を実行する。そして、N個の候補周波数Fc(1)〜Fc(N)の全部を処理すると(S37:YES)、指標算定部64は図9の処理を終了する。したがって、相異なる候補周波数Fc(n)に対応するN個の特性指標値V(1)〜V(N)が単位区間Tu毎に順次算定される。
<遷移解析部66>
図4の遷移解析部66は、周波数検出部62が単位区間Tu毎に算定したN個の候補周波数Fc(1)〜Fc(N)から、目標成分の基本周波数Ftarに該当する可能性が高い候補周波数Fc(n)を選択する。すなわち、基本周波数Ftarの時系列が特定される。図4に示すように、遷移解析部66は、第1処理部71と第2処理部72とを含んで構成される。第1処理部71および第2処理部72の各々の機能について以下に詳述する。
<第1処理部71>
第1処理部71は、N個の候補周波数Fc(1)〜Fc(N)のうち目標成分の基本周波数Ftarに該当する可能性が高い候補周波数Fc(n)を単位区間Tu毎に特定する。図11は、第1処理部71の動作のフローチャートである。周波数検出部62がN個の候補周波数Fc(1)〜Fc(N)を最新の1個の単位区間(以下では特に「新規単位区間」という)Tuについて特定するたびに図11の処理が実行される。
図11の処理は、概略的には、図12に示すように、新規単位区間Tuを最後尾とするK個の単位区間Tuにわたる経路(以下では「推定系列」という)RAを特定する処理である。推定系列RAは、各単位区間TuのN個の候補周波数Fc(n)(図12では4個の候補周波数Fc(1)〜Fc(4))のうち目標成分に該当する可能性(尤度)が高い候補周波数Fc(n)をK個の単位区間Tuについて配列した時系列(候補周波数Fc(n)の遷移)に相当する。推定系列RAの探索には公知の技術が任意に採用され得るが、演算量の削減の観点から動的計画法が格別に好適である。図11では、動的計画法の例示であるビタビ(Viterbi)アルゴリズムを利用して推定系列RAを特定する場合が想定されている。図11の処理を以下に詳述する。
第1処理部71は、新規単位区間Tuについて特定されたN個の候補周波数Fc(1)〜Fc(N)のうちの1個の候補周波数Fc(n)を選択する(S41)。そして、第1処理部71は、図13に示すように、処理S41で選択した候補周波数Fc(n)が新規単位区間Tuに出現する確率(PA1(n),PA2(n))を算定する(S41)。
確率P
A1(n)は、候補周波数Fc(n)について図5の処理S25で算定された尤度Ls(δF)(=Ls(Fc(n)))に応じて可変に設定される。具体的には、候補周波数Fc(n)の尤度Ls(Fc(n))が大きいほど確率P
A1(n)は大きい数値に設定される。第1処理部71は、例えば、尤度Ls(Fc(n))に応じた変数λ(n)を確率変数とする正規分布(平均μ
A1,分散σ
A1 2)を表現する以下の数式(6)の演算で候補周波数Fc(n)の確率P
A1(n)を算定する。
数式(6)の変数λ(n)は、例えば尤度Ls(Fc(n))を正規化した数値である。尤度Ls(Fc(n))の正規化の方法は任意であるが、例えば尤度Ls(Fc(n))を尤度Ls(δF)の最大値で除算した数値が正規化後の尤度λ(n)として好適である。平均μ
A1および分散σ
A1 2の数値は実験的または統計的に選定される(例えば、μ
A1=1,σ
A1=0.4)。
処理S42で算定される確率P
A2(n)は、候補周波数Fc(n)について指標算定部64が算定した特性指標値V(n)に応じて可変に設定される。具体的には、候補周波数Fc(n)の特性指標値V(n)が大きい(目標成分に該当する可能性が高い)ほど確率P
A2(n)は大きい数値に設定される。第1処理部71は、例えば、特性指標値V(n)を確率変数とする正規分布(平均μ
A2,分散σ
A2 2)を表現する以下の数式(7)の演算で候補周波数Fc(n)の確率P
A2(n)を算定する。平均μ
A2および分散σ
A2 2の数値は実験的または統計的に選定される(例えば、μ
A2=σ
A2=1)。
第1処理部71は、図13に示すように、新規単位区間Tuについて処理S41で選択した候補周波数Fc(n)と、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)との組み合わせについてN個の確率P
A3(n)_1〜P
A3(n)_Nを算定する(S43)。確率P
A3(n)_ν(ν=1〜N)は、直前の単位区間Tuの第ν番目の候補周波数Fc(ν)から新規単位区間Tuの候補周波数Fc(n)に遷移する確率を意味する。具体的には、単位区間Tuの間で音響成分の音高が極端に変化する可能性が低いという傾向を考慮して、直前の候補周波数Fc(ν)と現在の候補周波数Fc(n)との差異(音高差)が大きいほど、確率P
A3(n)_νは小さい数値に設定される。第1処理部71は、例えば以下の数式(8)の演算でN個の確率P
A3(n)_1〜P
A3(n)_Nを算定する。
数式(8)は、関数値min{6,max(0,|ε|−0.5)}を確率変数とする正規分布(平均μ
A3,分散σ
A3 2)を表現する。数式(8)の記号εは、半音を単位として直前の候補周波数Fc(ν)と現在の候補周波数Fc(n)との差分を表現した変数を意味する。関数値min{6,max(0,|ε|−0.5)}は、半音単位の周波数差εの絶対値|ε|から0.5を減算した数値(負数となる場合は0)が6を下回る場合にはその値に設定され、数値が6を上回る場合(すなわち、6半音を上回る程度に周波数が相違する場合)には6に設定される。なお、音響信号xの最初の単位区間Tuの確率P
A3(n)_1〜P
A3(n)_Nは所定の値(例えば1)に設定される。また、平均μ
A3および分散σ
A3 2の数値は実験的または統計的に選定される(例えば、μ
A3=0,σ
A3=4)。
以上の手順で確率(PA1(n),PA2(n),PA3(n)_1〜PA3(n)_N)を算定すると、第1処理部71は、図14に示すように、新規単位区間Tuの候補周波数Fc(n)と、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)との各組み合わせについて確率πA(1)〜πA(N)を算定する(S44)。確率πA(n)は、図13の確率PA1(n)と確率PA2(n)と確率PA3(n)_νとに応じた数値である。例えば、確率PA1(n)と確率PA2(n)と確率PA3(n)_νの各々の対数値の加算値が確率πA(n)として算定される。以上の説明から理解されるように、確率πA(n)は、直前の単位区間Tuの第ν番目の候補周波数Fc(ν)から新規単位区間Tuの候補周波数Fc(n)に遷移する確率(尤度)を意味する。
第1処理部71は、処理S44で算定したN個の確率πA(1)〜πA(N)のうちの最大値πA_maxを選択し、図14に示すように、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)のうち最大値πA_maxに対応する候補周波数Fc(ν)と候補周波数Fc(n)とを連結する経路(図14の太線)を設定する(S45)。更に、第1処理部71は、新規単位区間Tuの候補周波数Fc(n)について確率ΠA(n)を算定する(S46)。確率ΠA(n)は、直前の単位区間TuのN個の候補周波数Fc(1)〜Fc(N)のうち処理S45で選択した候補周波数fc(ν)について過去に算定した確率ΠA(ν)と現在の候補周波数について処理S45で算定した確率πA_maxとに応じた数値(例えば各々の対数値の加算値)に応じて設定される。
第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)毎に算出される。
新規単位区間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が特定される。
<第2処理部72>
ところで、音響信号xのなかには目標成分が存在しない単位区間Tu(例えば歌唱音が停止した区間)も存在する。第1処理部71による推定系列RAの探索では各単位区間における目標成分の有無が判定されないから、実際には目標成分が存在しない単位区間Tuについても推定系列RA上では候補周波数Fc(n)が特定される。以上の事情を考慮して、第2処理部72は、推定系列RAの各候補周波数Fc(n)に対応するK個の単位区間Tuの各々について目標成分の有無を判定する。
図15は、第2処理部72の動作のフローチャートである。第1処理部71が推定系列RAを特定するたび(単位区間Tu毎)に図15の処理が実行される。図15の処理は、概略的には、図16に示すように、推定系列RAに対応するK個の単位区間Tuにわたる経路(以下では「状態系列」という)RBを特定する処理である。状態系列RBは、K個の単位区間Tuの各々について目標成分の発音状態Sv(v:voiced)および非発音状態Su(u:unvoiced)の何れかを選択して配列した時系列(発音状態/非発音状態の遷移)に相当する。各単位区間Tuの発音状態Svは、推定系列RAのうちその単位区間Tuの候補周波数Fc(n)が目標成分として発音される状態を意味し、非発音状態Suは、目標成分が発音されない状態を意味する。状態系列RBの探索には公知の技術が任意に採用され得るが、演算量削減の観点から動的計画法が格別に好適である。図15では、動的計画法の例示であるビタビアルゴリズムを利用して状態系列RBを特定する場合が想定されている。図15の処理を以下に詳述する。
第2処理部72は、K個の単位区間Tuの何れか(以下「選択単位区間」という)を選択する(S51)。具体的には、図15の第1回目の処理S51ではK個の単位区間Tuのうち最初の単位区間Tuが選択され、第2回目以降の処理S51の実行毎に直後の単位区間Tuが選択される。
第2処理部72は、図17に示すように、選択単位区間Tuについて確率PB1_vと確率PB1_uとを算出する(S52)。確率PB1_vは、選択単位区間Tuにて目標成分が発音状態Svに該当する確率を意味し、確率PB1_uは、選択単位区間Tuにて目標成分が非発音状態Suに該当する確率を意味する。
選択単位区間Tuの候補周波数Fc(n)が目標成分に該当する可能性が高いほど、その候補周波数Fc(n)について指標算定部64が算定した特性指標値V(n)(目標成分らしさ)は大きい数値になるという傾向を考慮して、発音状態Svの確率P
B1_vの算定には特性指標値V(n)が適用される。具体的には、第2処理部72は、特性指標値V(n)を確率変数とする正規分布(平均μ
B1,分散σ
B1 2)を表現する以下の数式(9)の演算で確率P
B1_vを算定する。数式(9)から理解されるように、特性指標値V(n)が大きいほど確率P
B1_vは大きい値に設定される。平均μ
B1および分散σ
B1 2の数値は実験的または統計的に選定される(例えば、μ
B1=σ
B1=1)。
他方、非発音状態Suの確率P
B1_uは、例えば以下の数式(10)で算定される固定値である。
次いで、第2処理部72は、図17にて破線で示すように、選択単位区間Tuの発音状態Svおよび非発音状態Suと直前の単位区間Tuの発音状態Svおよび非発音状態Suとの組み合わせについて遷移の確率(P
B2_vv,P
B2_uv,P
B2_uu,P
B2_vu)を算定する(S53)。確率P
B2_vvは、図17から理解されるように、直前の単位区間Tuの発音状態Svから選択単位区間Tuの発音状態Svに遷移する確率(vv:voiced→voiced)を意味する。同様に、確率P
B2_uvは、非発音状態Suから発音状態Svに遷移する確率(uv:unvoiced→voiced)を意味し、確率P
B2_uuは、非発音状態Suから非発音状態Suに遷移する確率(uu:unvoiced→unvoiced)を意味し、確率P
B2_vuは、発音状態Svから非発音状態Suに遷移する確率(vu:voiced→unvoiced)を意味する。具体的には、第2処理部72は、各確率を以下の数式(11A)および数式(11B)のように算定する。
前述の数式(8)で算定される確率PA3(n)_νと同様に、直前の単位区間Tuと選択単位区間Tuとの間で候補周波数Fc(n)の周波数差εの絶対値|ε|が大きいほど数式(11A)の確率PB2_vvは小さい数値に設定される。数式(11A)の平均μB2および分散σB2 2の数値は実験的または統計的に選定される(例えば、μB2=0,σB2=4)。数式(11A)および数式(11B)から理解されるように、相前後する単位区間Tuにて発音状態Svが維持される確率PB2_vvは、発音状態Svおよび非発音状態Suの一方から他方へ遷移する確率(PB2_uv,PB2_vu)や非発音状態Suが維持される確率PB2_uuと比較して低い確率に設定される。
第2処理部72は、直前の単位区間Tuの発音状態Svおよび非発音状態Suの何れかを、選択単位区間Tuの発音状態Svに関する各確率(PB1_v,PB2_vv,PB2_uv)に応じて選択して選択単位区間Tuの発音状態Svに連結する(S54A〜S54C)。まず、第2処理部72は、図18に示すように、直前の選択単位区間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_uと確率PB2_uvとに応じて算定される。
第2処理部72は、図18に示すように、直前の単位区間Tuの状態(発音状態Sv/非発音状態Su)のうち確率πBvvおよび確率πBuvの最大値πBv_maxに対応する状態を選択して選択単位区間Tuの発音状態Svと連結し(S54B)、選択単位区間Tuについて確率ΠBを算定する(S54C)。確率ΠBは、直前の単位区間Tuについて処理S54Bで選択した状態について過去に算定された確率ΠBと処理S54Bで特定した最大値πBv_maxとに応じた数値(例えば各々の対数値の加算値)に設定される。
第2処理部72は、選択単位区間Tuの非発音状態Suについても同様に、直前の単位区間Tuの発音状態Svおよび非発音状態Suの何れかを、選択単位区間Tuの非発音状態Suに関する各確率(PB1_u,PB2_uu,PB2_vu)に応じて選択してその非発音状態Suに連結する(S55A〜S55C)。すなわち、第2処理部72は、図19に示すように、確率PB1_uおよび確率PB2_uuに応じた確率(すなわち非発音状態Suから非発音状態Suに遷移する確率)πBuuと、確率PB1_uおよび確率PB2_vuに応じた確率πBvuとを算定し(S55A)、直前の単位区間Tuの発音状態Svおよび非発音状態Suのうち確率πBuuおよび確率πBvuの最大値πBu_maxに対応する状態(図19では発音状態Sv)を選択して選択単位区間Tuの非発音状態Suに連結する(S55B)。そして、第2処理部72は、処理S55Bで選択した状態について過去に算定した確率ΠBと処理S55Bで選択した確率πBu_maxとに応じて選択単位区間Tuの非発音状態Suの確率ΠBを算定する(S55C)。
選択単位区間Tuの発音状態Svおよび非発音状態Suの各々について以上の手順で直前の単位区間Tuの状態との連結(S54B,S55B)と確率ΠBの算定(S54C,S55C)とを完了すると、第2処理部72は、K個の単位区間Tuの全部について処理が完了したか否かを判定する(S56)。処理S56の判定の結果が否定である場合、第2処理部72は、現在の選択単位区間Tuの直後の単位区間Tuを新規な選択単位区間Tuとして選択したうえで(S51)、前述の処理S52からS56の処理を実行する。
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)が判定される。
<情報生成部68>
情報生成部68は、遷移解析部66による処理の結果(推定系列RA、状態系列RB)に応じて単位区間Tu毎に周波数情報DFを生成する。具体的には、第2処理部72が特定した状態系列RBにて発音状態Svに該当する単位区間Tuについて、情報生成部68は、第1処理部71が特定した推定系列RAのK個の候補周波数Fc(n)のうちその単位区間Tuに対応する候補周波数Fc(n)を目標成分の基本周波数Tarとして指定する周波数情報DFを生成する。他方、状態系列RBにおいて非発音状態Suに該当する単位区間Tuについて、情報生成部68は、目標成分の非発音を意味する周波数情報DF(例えば数値がゼロに設定された周波数情報DF)を生成する。
以上が第1ピッチ軌跡生成部220の構成および第1ピッチ軌跡生成部220を構成する各部の動作の詳細である。
以上に説明した形態では、音響信号xから抽出されるN個の候補周波数Fc(1)〜Fc(N)のうち目標成分に該当する可能性が高い候補周波数Fc(n)を単位区間Tu毎に選択した推定系列RAと、単位区間Tu毎の目標成分の有無(発音状態Sv/非発音状態Su)を推定した状態系列RBとが生成され、推定系列RAと状態系列RBとの双方を利用して周波数情報DFが生成される。したがって、目標成分の発音が途中で途切れる場合でも目標成分の基本周波数tarの時系列を適切に検出することが可能である。例えば、遷移解析部66が第1処理部71のみを具備する構成と比較すると、音響信号xのうち目標成分が実際には存在しない単位区間Tuについて基本周波数Ftarが誤検出される可能性を低減することが可能である。
各周波数δFが音響信号xの基本周波数に該当する尤度Ls(δF)に応じた確率PA1(n)が推定系列RAの探索に適用されるから、音響信号xのうち高強度の目標成分の基本周波数Ftarの時系列を高精度に特定できるという利点もある。また、音響信号xのうち各候補周波数Fc(n)に対応する調波成分の音響特性と所期の音響特性との類否を示す特性指標値V(n)に応じた確率PA2(n)や確率PB1_vが推定系列RAや状態系列RBの探索に適用されるか、所期の音響特性の目標成分の基本周波数Ftarの時系列(発音の有無)を高精度に特定できるという利点もある。
更に、相前後する各単位区間Tuでの候補周波数Fc(n)の周波数差εに応じた確率PA3(n)_νおよびPB2_vvが推定系列RAや状態系列RBの探索に適用されるから、基本周波数が短時間に過度に変化するような推定系列RAや状態系列RBの誤検出が防止され、結果的に目標成分の基本周波数Ftarの時系列(発音の有無)を高精度に特定できるという利点がある。
(B:第2実施形態)
次いで本発明の第2実施形態について説明する。
図20は、本発明の第2実施形態の音響処理装置100Bの構成を示すブロック図である。図20では図1におけるものと同一の構成要素には同一の符号が付されている。図20と図1とを対比すれば明らかなように、音響処理装置100Bは演算処理装置22Aに変えて演算処理装置22Bを有する点が音響処理装置100Aと異なる。
音響処理装置100Bは、音響処理装置100Aと同様に、音響信号xと楽曲情報DMとの発音タイミングの時間差を補正する装置である。ただし、音響処理装置100Bの記憶装置24には第1実施形態におけるものと異なるプログラムが記憶されている。このため、音響信号xと楽曲情報DMとの発音タイミングの時間差を補正するために音響処理装置100Bが実行する処理は、第1実施形態におけるものとは異なる処理となる。
より詳細に説明すると、演算処理装置22Bは、記憶装置24に格納されたプログラムを実行することで、第1ピッチ軌跡生成部220、第2ピッチ軌跡生成部222、遅延量算定部244、遅延補正部226、および確率軌跡算定部228として機能する。図20と図1とを対比すれば明らかように、演算処理装置22Bの構成は、確率軌跡算定部228を設けた点と、遅延量算定部224に換えて遅延量算定部244を設けた点が、演算処理部22Aの構成と異なる。以下、第1実施形態との相違点である確率軌跡算定部228および遅延量算定部244について詳細に説明する。
図20に示すように、確率軌跡算定部228には楽曲情報DMが与えられる。確率軌跡算定部228は、楽曲情報DMを解析し、主旋律を構成する音についての各時刻における発音確率を表すとともに、音が緩やかに立上がりかつ緩やかに立下がることを表す第3の時系列データc(n)を生成して遅延量算定部244に与える。より詳細に説明すると、確率軌跡算定部228は、音の立上がりにおいては値が0から1まで徐々に変化する一方、音の立下りにおいては値が1から0まで徐々に変化し、かつピッチが一定である期間(ピッチがゼロの期間、すなわち、主旋律の音が発音されていない期間を含む)が長いほど1に近い値となる時系列データc(n)を楽曲情報DMの主旋律パートに含まれているイベントデータおよびタイミングデータに基づいて生成する。例えば、楽曲情報DMの主旋律パートにおけるピッチが図21(a)のように時間変化する場合には、確率軌跡算定部228は、図21(b)に示す確率曲線を表す時系列データc(n)を当該楽曲情報DMに基づいて生成する、といった具合である。
ここで、時系列データc(n)の具体的な生成方法としては、楽曲情報DMの主旋律パートに含まれているイベントデータの表すノートのオン/オフタイミングに対応する各時点を中心とする所定時間長の区間を二次関数(一次、或いはより高次の関数でも良い)等を用いて平滑化(補間)して時系列データc(n)を生成する態様が考えられる。この場合、楽音等の波形が図21(c)のように音量が急激に立上るアタック部と緩やかに減衰するリリース部とを有することを考慮し、図21(d)に示すように上記平滑化する区間の時間長を立上り時と立下り時とで異ならせる。具体的には、立上り区間TAを立下り区間TSよりも短くする。すなわち、立上り時の勾配を立下り時の勾配よりも大きくする。このようにすると、より自然な音の立上り感および立下り感を再現することができると期待される。なお、音の立上り区間TAと立下り区間TSの長さの比をどの程度にするのかについては適宜実験を行って定めても良く、統計的に定めても良い。また、本実施形態では、二次関数等による補間によって音の立上がおよび立下りを緩やかにしたが、上記所定区間におけるサンプリングレートを高くすることで実現しても良い。
遅延量算定部244は、音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差Dを適応フィルタ処理によって算定する点は遅延量算定部224と同一である。ただし、遅延量算定部244は、時系列データd(n)の表すピッチ軌跡を、図22に示すように、音の立ち上がりおよび立下りにおいて周波数が徐々に変化するように時系列データc(n)に基づいて制御しつつ上記適応フィルタ処理を実行する点が遅延量算定部224と異なる。ここで、遅延量算定部244に上記制御を行わせるようにした理由は以下の通りである。
楽曲情報DMの主旋律パートに含まれているイベントデータおよびタイミングデータに基づいて得られるピッチ軌跡は、前掲図21(a)に示すように、音の立上りおよび立下りにおいて急峻に変化する矩形波状の波形となり、当該ピッチ軌跡をサンプリングして時系列データd(n)を生成する際にサンプリング位置が1サンプルでもずれるとそのサンプリング位置における音の発音の有無が大きく変化する。このため、このような時系列データd(n)を用いて楽曲情報DMと音響信号xにおける互いに対応する音の発音タイミングの時間差を算定しようとしても、精度良く算定することができない場合がある。このような不具合が生じないようにするため、本実施形態では、時系列データd(n)の表すピッチ軌跡を、図22に示すように、音の立ち上がりおよび立下りにおいて周波数が徐々に変化するように制御しつつ上記適応フィルタ処理を実行することとし、さらに当該制御に時系列データc(n)を利用するようにしたのである。したがって、本実施形態によれば、第1実施形態よりも高い精度で上記時間差を算出し、共通の楽曲についての楽曲情報DMと音響信号xとの同期再生をより高い精度で実現することが可能になる。
(C:第3実施形態)
次いで本発明の第3実施形態の音響処理装置100Cについて説明する。この音響処理装置100Cも、音響処理装置100Aや音響処理装置100Bと同様に、共通の楽曲についての音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差を補正する装置である。図23は、本実施形態の音響処理装置100Cの構成を示すブロック図である。図23では図1におけるものと同一の構成要素には同一の符号が付されている。図23と図1とを対比すれば明らかように、音響処理装置100Cは演算処理装置22Bに変えて演算処理装置22Cを有する点が音響処理装置100Aと異なる。
演算処理装置22Cは、記憶装置24に格納されたプログラムを実行することで、第1ピッチ軌跡生成部240、第2ピッチ軌跡生成部222、遅延量算定部224、遅延補正部226、および確率軌跡算定部228として機能する。図23に示すように、本実施形態では、第1ピッチ軌跡生成部220に換えて第1ピッチ軌跡生成部240が設けられている点と、確率軌跡算定部228により生成される時系列データc(n)が第1ピッチ軌跡生成部240に与えられる点が上記第1実施形態と異なる。確率軌跡算定部228については第2実施形態にて説明したものと同一である。このため、以下では、第1ピッチ軌跡生成部240を中心に説明する。
図24(a)は第1ピッチ軌跡生成部240の構成例を示すブロック図である。第1ピッチ軌跡生成部240は、前述した第1および第2実施形態における第1ピッチ軌跡生成部220と同様に、音響信号xを解析して第1のピッチ軌跡を表す時系列データx(n)を生成し出力する時系列データ生成手段である。図24(a)と図3とを比較すれば明らかなように、第1ピッチ軌跡生成部240は、基本周波数解析部33に換えて基本周波数解析部330を有している点が第1ピッチ軌跡生成部220と異なる。
基本周波数解析部330は、第1および第2実施形態における基本周波数解析部33と同様に、周波数分析部31が生成した周波数スペクトルXを解析することで目標成分の基本周波数Ftarの時系列を特定して単位区間Tu毎に周波数情報DFを生成する。図24(b)は基本周波数解析部330の構成例を示す図であり、基本周波数解析部330は、遷移解析部66に換えて遷移解析部660を有している点が基本周波数解析部33と異なる。そして、遷移解析部660は第2処理部72に換えて第2処理部720を有している点が遷移解析部66と異なる。この第2処理部720は、状態系列RBの算定を行う点では第2処理部72と同一であるが、時系列データc(n)を用いて尤度(ΠB(n))の補正を行いつつ状態系列RBの算定を行う点が第2処理部72と異なる。
より詳細に説明すると、第2処理部720は、各単位区間Tuにおいて時系列データc(n)の表す確率曲線(各時刻における主旋律の音の発音/非発音の確率を表す曲線:図21(b)参照)の示す確率の対数値を確率ΠB(n)に加算した値を新たな尤度(確率ΠB(n))としてビタビアルゴリズム処理を実行し、状態系列RBを特定する。ここで、第2処理部72における処理において使用されていた尤度は歌唱音らしさを表す特性指標値V(n)に応じて算定されており、上記確率曲線の表す確率とは独立に主旋律の音の有無を表している。このように、本実施形態では、歌唱音らしさとは全く別個の観点から見た主旋律の音の有無を表す確率を用いて上記尤度が補正されるため、ビタビアルゴリズム処理による推定精度をより高めることができると期待される。
このように、本実施形態の音響処理装置100Cによれば、上記第1実施形態或いは第2実施形態よりも高い精度で音響信号xについての主旋律のピッチ軌跡を算出することが可能になる。なお、本実施形態では、ビタビアルゴリズムにしたがって状態系列RBを特定する際に用いる尤度を時系列c(n)に応じて補正する場合について説明した。同様に、推定系列RAを特定する際の尤度(ΠA(n))を時系列データc(n)に応じて補正することも考えられる。しかし、ノートオンからノートオフに遷移する部分、或いはノートオフからノートオンに遷移する部分において楽曲情報DMを過度に信頼すると、実際の演奏開始タイミングとのズレや、オーバーシュート/アンダーシュートなどを考慮しずらくなる。したがって、本実施形態のように、状態系列RBを特定する際に用いる尤度の補正に時系列データc(n)を用いるほうが好ましいと言える。なお、本実施形態では、第1実施形態の第1ピッチ軌跡生成部220を第1ピッチ軌跡生成部240に置き換え、確率軌跡算定部228を設ける場合について説明したが、第2実施形態の第1ピッチ軌跡生成部220を上記第1ピッチ軌跡生成部240で置き換えても勿論良い。
(D:第4実施形態)
次いで本発明の第4実施形態の音響処理装置100Dについて説明する。この音響処理装置100Dも、音響処理装置100A、音響処理装置100Bおよび音響処理装置10Cと同様に、共通の楽曲についての音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差を補正する装置である。図25は、音響処理装置100Dの構成を示すブロック図である。図25では図1におけるものと同一の構成要素には同一の符号が付されている。図25と図1とを対比すれば明らかように、音響処理装置100Dの構成は、演算処理装置22Aに換えて演算処理装置22Dを設けた点が音響処理装置100Aの構成と異なる。
演算処理装置22Dは、記憶装置24に格納されたプログラムを実行することで、第1ピッチ軌跡生成部220、第2ピッチ軌跡生成部242、遅延量算定部224、遅延補正部226、および確率軌跡算定部228として機能する。図25に示すように、演算処理装置22Dの構成は、第2ピッチ軌跡生成部222に換えて第2ピッチ軌跡生成部242を有する点と、確率軌跡算定部228を有する点が演算処理装置22Aの構成と異なる。本実施形態においても確率軌跡算定部228は第2実施形態におけるものと同一であるため説明を省略し、以下では第2ピッチ軌跡生成部242を中心に説明する。
図26は、第2ピッチ軌跡生成部242の構成例を示す図である。図26に示すように、第2ピッチ軌跡生成部242は、解析処理部40、およびテンポ補正部60を有している。解析処理部40は、音響信号xと楽曲情報DMが指定する各楽音の時系列とについて楽曲中で相対応する位置を特定(同期解析)する。解析処理部40は、第1特徴抽出部42と第2特徴抽出部46と同期解析部48とを含んでいる。
第1特徴抽出部42は、音響信号xを時間軸上で区分した単位区間(フレーム)F1毎に(図27参照)、音響信号xのクロマベクトル(ピッチクラスプロファイル(PCP:pitch class profile))Ψ1を順次に算定する。クロマベクトルΨ1は、音響信号xの和声感(ハーモニー感)の指標となる特徴量であり、音階中の相異なる音名(C,C#,D,D#,E,F,F#,G,G#,A,A#,B)に対応する12次元のベクトルで表現される。クロマベクトルΨ1を構成する12個の要素の各々は、音響信号xのうち当該要素に対応する音名の周波数成分(1オクターブに相当する周波数帯域を音名毎に区分した12個の周波数帯域のうち当該音名に対応する周波数帯域の成分)の強度を複数のオクターブについて加算または平均した数値に相当する。すなわち、第1特徴抽出部42は、高速フーリエ変換などの公知の技術で音響信号xの単位区間F1毎に周波数スペクトル(パワースペクトル)を生成し、周波数スペクトルのうち1オクターブに相当する周波数帯域を複数のオクターブについて加算することでクロマベクトルΨ1を生成する。
第2特徴抽出部46は、楽曲情報DMの表す音の時間波形を時間軸上で区分したとした場合における単位区間F2毎に(図27参照)、当該楽曲情報DMについてのクロマベクトルΨ2を以下の要領で算出する。本実施形態においては、単位区間F1と単位区間F2とは同じ時間長の区間であるが、単位区間F1と単位区間F2とを相異なる時間長に設定しても勿論良い。より詳細に説明すると、第2特徴抽出部46は、楽曲のパート毎に楽曲情報DMに含まれる当該パートのイベントデータおよびタイミングデータを参照し、イベントデータの表すノート番号の周波数に相当する音名にてノートオンからノートオフの期間に値が1の要素を有し、それ以外は値が0の要素を有する12次元ベクトルを単位区間F2毎に生成する。そして、第2特徴抽出部46は、各パートについて単位区間F2毎に算出した上記12次元ベクトルを、同じ単位区間F2に対応するもの同士を重み付け加算する。なお、この重み付け加算において各パートの重みをどの程度にするのかについては適宜実験を行って定めても良く、統計的に定めても良いが、主旋律パートから算出したものに最も重い重みを付与することが好ましい。そして、第2特徴抽出部46は、単位区間F2毎に重み付け加算を行って得られた12次元ベクトルの時系列に対して、音の立上りにおいては当該音に対応する要素が徐々に表れ(すなわち、当該要素の値が時間の経過とともに0から1まで徐々に増加し)、かつ立下りにおいては当該音に対応する要素が徐々に消える(当該要素の値が時間の経過とともに1から0まで徐々に減少する)ようにする補正を時系列データc(n)にしたがって施し(例えば、該当する要素に同時刻における時系列データc(n)を乗算する等)、当該補正後の12次元ベクトルをクロマベクトルΨ2として出力する。なお、本実施形態と類似の方法として、MIDI音源を用いて楽曲情報DMを波形化し、第1特徴抽出部42と同様の処理を行ってクロマベクトルを生成する態様も考えられる。
図26の同期解析部48は、第1特徴抽出部42が単位区間F1毎に生成した各クロマベクトルΨ1と第2特徴抽出部46が単位区間F2毎に生成した各クロマベクトルΨ2とを比較し、音響信号P1と楽曲情報DM(以下、便宜上、「音響信号P2」とも呼ぶ)とにおいて楽曲中で相互に対応する時間軸上の位置(例えば楽曲の同じ楽音に対応する位置)を比較の結果に応じて特定する。具体的には、同期解析部48は、図27に例示した対応テーブルTBL1を生成する。対応テーブルTBL1は、音響信号P1の複数の単位区間F1(F1[1]〜F1[M])と音響信号P2の複数の単位区間F2(F2[1]〜F2[N])とのうちクロマベクトルΨ1とクロマベクトルΨ2とが相互に類似する(すなわち、波形の特徴が同一のまたは類似する)単位区間F1と単位区間F2とを対応させるデータテーブルである。
図26に示すように、同期解析部48は、同期点検出部52と区間対照部54とを含んでいる。同期点検出部52は、音響信号P1の同期点S1と音響信号P2の同期点S2とを検出する。同期点S1および同期点S2は、楽曲の歌唱や伴奏が開始する時点(楽曲の開始前の無音の区間が終了する時点)である。すなわち、同期点S1および同期点S2は、音響信号P1と音響信号P2とが最初に同期する時点に相当する。同期点Sk(k=1,2)は単位区間Fkの番号で指定される。
図28は、同期点検出部52の動作のフローチャートである。同期点検出部52は、音響信号Pk(k=1,2)の基準点αkを特定する(SA1,SA2)。基準点αk(k=1,2)は音響信号Pkの強度(音量)が最初に閾値を上回る時点である。
図29は、同期点検出部52が基準点αkを特定する処理(SA1,SA2)のフローチャートである。同期点検出部52は、基準点αkをゼロ(各音響信号Pkにおける最初の単位区間Fk)に初期化したうえで(SB1)、音響信号Pkのうち基準点αkでの強度Lkが所定の閾値LTHを上回るか否かを判定する(SB2)。強度Lkが閾値LTHを下回る場合(SB2:NO)、同期点検出部52は、基準点αkを所定値δ(例えばδ=1)だけ後方の時点に更新し(SB3)、更新後の基準点αkについてステップSB2の処理を実行する。強度Lkが閾値LTHを上回ると(SB2:YES)、同期点検出部52は図29の処理を終了する。したがって、音響信号Pkのうち強度Lkが最初に閾値LTHを上回る時点が基準点αkとして確定する。
ところで、音響信号P2のうち強度L2が最初に閾値LTHを上回る基準点α2は、楽曲が実際に開始する時点(音響信号P1にて楽曲が開始する時点)に該当しない可能性がある。例えば、伴奏音に先立って歌唱音が開始する楽曲のカラオケ用の楽曲情報DMを想定すると、音響信号P2においては歌唱者が拍子を把握するための拍子音が伴奏音の開始前に発生する。したがって、拍子音の時点が基準点α2として検出される可能性がある。そこで、同期点検出部52は、図28のステップSA3において、音響信号P1の各クロマベクトルΨ1と音響信号P2の各クロマベクトルΨ2とを比較する(すなわち両者の音楽的な類否を判断する)ことで、音響信号P2における正確な同期点S2を特定する。音響信号P1の同期点S1は、ステップSA1で特定した基準点α1に設定される。
図30は、図28のステップSA3の処理の概要を示す説明図である。同期点検出部52は、音響信号P1のうち同期点S1(基準点α1)を始点とする参照区間σREFのクロマベクトルΨ1と、音響信号P2のうち始点SXや時間長WXが相違する複数の候補区間σXの各々のクロマベクトルΨ2とを比較する。すなわち、同期点検出部52は、図30に示すように、時間軸上の始点SXを変化させた複数の場合の各々について、音響信号P2のうち当該始点SXからの時間長WXが相違する複数の候補区間σXの各々のクロマベクトルΨ2を、音響信号P1の参照区間σREFのクロマベクトルΨ1と比較する。そして、同期点検出部52は、複数の候補区間σXのうちクロマベクトルΨ2が参照区間σREFのクロマベクトルΨ1に最も類似する候補区間σXを、参照区間σREFに対応する同期区間σSとして特定する。同期区間σSの始点が同期点S2に相当する。
図31は、図30の動作のフローチャートである。図31に示すように、同期点検出部52は、候補区間σXと参照区間σREFとの音楽的な類否の指標(以下「類否指標」という)γが代入される変数βを最大値γMAXに初期化し、参照区間σREFの同期点S1を基準点α1に設定する(SC1)。また、同期点検出部52は、候補区間σXの時間長WXを下限値LAに初期化し、候補区間σXの始点SXを、図30に示すように、図28のステップSA2で特定した基準点α2から所定の時間長Tだけ手前の時点(α2−T)に初期化する(SC2)。下限値LAは、参照区間σREFよりも短い時間(例えば時間長WREFの半分)に設定される。また、時間長Tは、例えば参照区間σREFの時間長WREFの半分(WREF/2)に設定される。
同期点検出部52は、音響信号P1の参照区間σREF内の各単位区間F1のクロマベクトルΨ1と、音響信号P2のうち始点SXから時間長WXにわたる候補区間σX内の各単位区間F2のクロマベクトルΨ2とを比較する(SC3,SC4)。具体的には、同期点検出部52は、候補区間σXを参照区間σREFの時間長WREFに伸縮し(すなわち、始点および終点を参照区間σREFに合致させ)、伸縮後の候補区間σXのうち参照区間σREF内の各単位区間F1に対応する時点のクロマベクトルΨ2を、伸縮前の候補区間σX内の各単位区間F2のクロマベクトルΨ2の補間により算定する(SC3)。そして、同期点検出部52は、参照区間σREF内のクロマベクトルΨ1と候補区間σX内の補間後のクロマベクトルΨ2との距離Dを、相対応する時点のクロマベクトルΨ1とクロマベクトルΨ2との対毎に算定し、距離Dの総和または平均を類否指標γとして算定する(SC4)。距離Dは、クロマベクトルΨ1とクロマベクトルΨ2との類否の尺度となる指標値である。例えば、クロマベクトルΨ1とクロマベクトルΨ2との内積や幾何距離が距離Dとして算定される。したがって、類否指標γが小さいほど、音響信号P1の参照区間σREFと音響信号P2の候補区間σXとが音楽的に類似するという傾向がある。
同期点検出部52は、ステップSC4で算定した類否指標γが変数βを下回るか否かを判定する(SC5)。類否指標γが変数βを下回る場合(SC5:YES)、同期点検出部52は、直前のステップSC4で算定した類否指標γを変数βに代入し、現時点の候補区間σXの時間長WXを同期区間σSの暫定的な時間長WSとして設定し、現時点の候補区間σXの始点SXを暫定的な同期点S2(同期区間σSの始点)として設定する(SC6)。他方、類否指標γが変数βを上回る場合(SC5:NO)、同期点検出部52は、ステップSC6を実行せずに処理をステップSC7に移行する。すなわち、時間長WSおよび同期点S2は、参照区間σREFに音楽的に類似する候補区間σXの時間長WXおよび始点SXに順次に更新される。
次いで、同期点検出部52は、現時点の候補区間σXの時間長WXに所定値Bを加算し(SC7)、加算後の時間長WXが上限値LBを上回るか否かを判定する(SC8)。上限値LBは、参照区間σREFよりも長い時間(例えば時間長WREFの1.5倍)に設定される。ステップSC8の結果が否定である場合、同期点検出部52は処理をステップSC3に移行する。すなわち、図30に示すように、更新前の候補区間σXと始点SXが共通で時間長WXが相違する(所定値Bだけ長い)新たな候補区間σXについて参照区間σREFとの類否が判定される(SC3〜SC8)。
他方、ステップSC8の結果が肯定である場合(WX>LB)、同期点検出部52は、図30に示すように、候補区間σXの始点SXを所定値Cだけ後方に移動し、候補区間σXの時間長WXを下限値LA(例えば参照区間σREFの時間長WREFの半分)に初期化する(SC9)。そして、同期点検出部52は、ステップSC9での更新後の始点SXが、図30に示すように音響信号P2の基準点α2から所定値T(例えば時間長WREFの半分)だけ経過した時点よりも後方か否かを判定する(SC10)。ステップSC10の結果が否定である場合、同期点検出部52は、ステップSC9での更新後の始点SXについてステップSC3以降の処理(候補区間σXの時間長WXを変化させながら参照区間σREFと始点SXからの候補区間σXとを比較する処理)を反復する。他方、ステップSC10の結果が肯定である場合、同期点検出部52は図31の処理を終了する。
以上の処理の結果、図30に示すように、音響信号P2の基準点α2から前後の時間長T(合計2T)にわたる範囲内で始点SXを所定値Cずつ移動させた複数の場合の各々について、下限値LAから上限値LBまでの範囲内で時間長WXを所定値Bずつ変化させた複数の候補区間σXの各々と参照区間σREFとの音楽的な類否が判定される。そして、図31の処理が終了した段階では、複数の候補区間σXのうち類否指標γが最小となる候補区間σX(参照区間σREFに最も類似する候補区間σX)の時間長WXおよび始点SXが、同期区間σSの時間長WSおよび同期点S2として確定する。以上が同期点検出部52の動作である。
図26の区間対照部54は、音響信号P1の各単位区間F1と音響信号P2の各単位区間F2との対応を解析することで対応テーブルTBL1を生成する。つまり、区間対照部54は、音響信号P1の各単位区間F1と音響信号P2の各単位区間F2とについて波形の特徴(本実施形態では、音楽的な特徴)が同一のまたは類似するもの同士を対応付ける対応付け手段の役割を果たす。区間対照部54による音響信号P1と音響信号P2との対比には、以下に例示するDP(dynamic programming:動的計画法)マッチングが好適に採用される。図32に示すように、区間対照部54は、音響信号P1のうち同期点S1に対応する単位区間F1[1]から最後の単位区間F1[M]までの時系列(横軸)と、音響信号P2のうち同期点検出部52が図31の処理で特定した同期点S2に対応する単位区間F2[1]から最後の単位区間F2[N]までの時系列(縦軸)とを対比する。すなわち、同期点検出部52による前述の処理は、区間対照部54による解析の対象となる区間の先頭(楽曲の開始点)を音響信号P1と音響信号P2とで対応させる処理(先頭合わせ)に相当する。
区間対照部54は、まず、音響信号P1の単位区間F1[1]〜F1[M]の時系列と音響信号P2の単位区間F2[1]〜F2[N]の時系列との各々から単位区間F1[m](m=1〜M)および単位区間F2[n](n=1〜N)を選択する全通りの組合せについて、単位区間F1[m]のクロマベクトルΨ1と単位区間F2[n]のクロマベクトルΨ2との距離D[m,n](例えば内積や幾何距離)を算定する。したがって、距離D[1,1]〜D[M,N]で構成されるM行×N列の行列(コストマトリクス)が生成される。
区間対照部54は、単位区間F1[1](同期点S1)および単位区間F2[1](同期点S2)の組合せに対応する時点p[1,1]から、任意の単位区間F1[m]および単位区間F2[n]の組合せに対応する時点p[m,n]までの複数の経路のうち、距離D[1,1]〜D[m,n]の累積値g[m,n]が最小値となる経路について当該累積値g[m,n]を順次に特定する。そして、区間対照部54は、図32に示すように、音響信号P1の最後の単位区間F1[M]と音響信号P2の最後の単位区間F2[N]とに対応する時点p[M,N]での累積値g[M,N]が最小となる最適経路(マッチングパス)MPを特定し、最適経路MP上の各時点に対応する単位区間F1[m]と単位区間F2[n]とを対応させた図27の対応テーブルTBL1を作成する。
テンポ補正部60は、楽曲情報DMのうち主旋律パートが指定する楽音の波形を表す音響信号を生成し、当該音響信号をサンプリングして時系列データd(n)を生成する。テンポ補正部60は、音響信号P1の再生に同期するように楽曲情報DMの再生テンポを対応テーブルTBL1に応じて可変に設定する。具体的には、テンポ補正部60は、対応テーブルTBL1にて各単位区間F1に対応づけられた単位区間F2が当該単位区間F1の再生と同期して再生れるように楽曲情報DMの再生テンポを制御する。これにより、音響信号P1(すなわち、音響信号x)とテンポを揃えた時系列データd(n)が生成される。以下、当該時系列データd(n)と音響信号xから生成される時系列データx(n)とに基づいて音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差が補正される。
以上説明したように本実施形態の音響処理装置100Dによれば、共通の楽曲についての楽曲情報DMと音響信号xとにおいて互いに対応する音の発音タイミングに時間差があり、かつ音響信号xのテンポが途中から変っている場合(すなわち、楽曲全体にわたって当該時間差が一様ではない場合)であっても両者を時間軸上において同期させることが可能になる。なお、本実施形態では、クロマベクトルを用いたDPマッチングによって音響信号xと楽曲情報DMのテンポのずれを事前に補正する場合について説明したが、他の特徴量(例えばスペクトログラムやMFCC)を用いたDPマッチングにより両者のテンポずれを補正するようにしても勿論良い。また、本実施形態では、第1実施形態の音響処理装置100Aの第2ピッチ軌跡生成部222を第2ピッチ軌跡生成部242で置き換え、確率軌跡算定部228を設ける場合について説明した。しかし、第2実施形態の音響処理装置100Bの第2ピッチ軌跡生成部222を第2ピッチ軌跡生成部242で置き換えても良く、また、第3実施形態の音響処理装置100Cの第2ピッチ軌跡生成部222を第2ピッチ軌跡生成部242で置き換えても良い。さらに、第2実施形態における第1ピッチ軌跡生成部220を上記第3実施形態の第1ピッチ軌跡生成部240で置き換え、かつ第2実施形態の第2ピッチ軌跡生成部222を本実施形態の第2ピッチ軌跡生成部242で置き換えても良い。
(E:変形例)
以上本発明の各実施形態について説明したが、これら実施形態に以下の変形を加えても勿論良い。
(1)上記各実施形態の音響処理装置の具体的な利用態様としては、特許文献1に開示された技術と同様にカラオケ装置における伴奏音と歌詞の同期再生への適用が考えられる。また、相異なる音源が発音した複数の音響成分(歌唱音や伴奏音)の混合音の時間波形を表現する音響信号から各音響成分を分離抽出するためのマスクを生成する装置(所謂音源分離装置)への適用も考えられる。このような音源分離装置の具体例としては、楽曲の歌唱音と伴奏音とを含む音響信号から歌唱音成分を除去してカラオケ演奏用の音響信号をバッチ処理等により事前に作成するカラオケオーサリング装置が挙げられる。他にも、楽曲の歌いまわしについて複数のバリエーションで記録された音響信号の各々に対して当該楽曲の楽曲情報を同期させて「歌いまわし教師情報」を作成し、この教師情報と採点における歌唱ピッチ推定結果とのマッチングで採点を行うことや、複数の「歌いまわし教師情報」のどれに近いかを点数化して表示することへの応用が考えられる。
(2)指標算定部64は省略され得る。指標算定部64を省略した構成では、第1処理部71による推定系列RAの特定や第2処理部72による状態系列RBの特定に特性指標値V(n)が適用されない。例えば、図11の処理S42での確率PA2(n)の算定が省略され、尤度Ls(Fc(n))に応じた確率PA1(n)と前後の単位区間Tuでの周波数差εに応じた確率PA3(n)_νとに応じて推定系列RAが特定される。また、図15の処理S52での確率PB1_vの算定が省略され、処理S53で算定される確率(PB2_vv,PB2_uv,PB2_uu,PB2_vu)に応じて状態系列RBが特定される。また、特性指標値V(n)を算定する手段はSVMに限定されない。例えばk-meansアルゴリズム等の公知の技術による学習の結果を利用した構成でも、特性指標値V(n)の算定が実現される。
(3)上記第1〜第4実施形態では、共通の楽曲についての楽曲情報と音響信号とにおける互いに対応する音の発音タイミングの時間差を適応フィルタ処理によって求めたが、DPマッチング等の他の方法によって当該時間差を求めても勿論良い。
(4)周波数検出部62がN個の候補周波数Fc(1)〜Fc(N)を検出する方法は任意である。例えば特許文献2に開示された方法で基本周波数の確率密度関数を推定し、確率密度の顕著なピークが存在するN個の基本周波数を候補周波数Fc(1)〜Fc(N)として特定する構成も採用され得る。
(5)上記第3実施形態では、時系列データc(n)を時系列データx(n)の生成に利用するとともに、当該時系列データx(n)と時系列データd(n)とを用いて、共通の楽曲についての音響信号xと楽曲情報DMとにおける互いに対応する音の発音タイミングの時間差を補正した。しかし、第3実施形態の音響処理装置100Cから第2ピッチ軌跡生成部222、遅延量算定部224および遅延補正部226を省略し、時系列データx(n)の生成までに留めても良い。このような音響処理装置は、共通する楽曲の音響信号xと楽曲情報DMの何れか一方を補正することにより両者の同期を図るものではないが、音響信号xについての主旋律のピッチ軌跡の算出精度を向上させるものであり、広い意味では音響信号xと楽曲情報DMの両者の同期を図る技術と言える。同様に、第4実施形態の音響処理装置100Dから第1ピッチ軌跡生成部222、遅延量算定部224および遅延補正部226を省略して新たな音響処理装置を構成しても良く、さらに、テンポ補正部60に換えて、楽曲情報DMにおける音の発音タイミングを表すデータを対応テーブルTBL1の格納内容に応じて補正する楽曲情報補正手段を設けて新たな音響処理装置を構成しても良い。
(6)上記各実施形態では、本発明の特徴を顕著に示す処理を演算処理装置に実行させるプログラムが記憶装置24に予め記憶されていた。しかし、これらプログラムを例えばCD−ROM(Compact Disk-Read Only Memory)等のコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布されるプログラムにしたがって一般的なコンピュータを作動させることで、当該コンピュータを本発明の音響処理装置として機能させることが可能になるからである。
(7)上記各実施形態では、楽曲の主旋律における基本周波数の時間変化を表すピッチ軌跡に着目して共通の楽曲についての音響信号と楽曲情報との同期再生を実現する場合について説明したが、主旋律以外の「音の並び」(例えば特徴的な旋律やフレーズなど)に着目して上記同期再生を実現しても勿論良い。また、上記第各実施形態では、確率軌跡算定部228により算定される時系列データc(n)に基づいて、音の立上り区間については音が緩やかに立上り、かつ音の立下り区間については音が緩やかに立下がるようにする制御(例えば、第2実施形態では、周波数が緩やかに変化するようにする制御、第4実施形態では、当該音に対応するクロマベクトルの要素が徐々に表れ、徐々に消えるようにする制御)を行った。しかし、音の立上り区間と立下り区間の何れか一方についてのみ上記制御を行うようにしても勿論良い。そして、音の立上り区間についてのみ上記制御を行う場合には、時系列データc(n)として、音の並び(例えば、主旋律)を構成する音の各時刻における発音確率を表すとともに、当該音が緩やかに立上ることを表す時系列データを確率軌跡算定部228に算定させるようにすれば良い。同様に、音の立下り区間についてのみ上記制御を行う場合には、時系列データc(n)として、音の並び(例えば、主旋律)を構成する音の各時刻における発音確率を表すとともに、当該音が緩やかに立下がることを表す時系列データを確率軌跡算定部228に算定させるようにすれば良い。