<A:第1実施形態>
図1は、本発明の第1実施形態に係る音響処理装置100のブロック図である。音響処理装置100は、楽曲の楽音の再生と楽曲の歌詞の表示とを並列に実行するカラオケ装置として好適に利用される。図1に示すように、音響処理装置100には、表示装置72と収音装置74と放音装置76と入力装置78と信号供給装置80とが接続される。
表示装置(例えば液晶表示装置)72は、音響処理装置100による制御のもとに楽曲の歌詞を表示する。収音装置(マイク)74は、周囲の音響(歌唱音や楽器の演奏音など)に応じた音響信号QBを生成する。なお、周囲の音響に応じたアナログ信号をデジタルの音響信号QBに変換するA/D変換器の図示は省略されている。放音装置(例えばスピーカやヘッドホン)76は、音響処理装置100から出力される音響信号QCに応じた音響を再生する。入力装置78は、利用者からの操作を受付ける操作子で構成される。
信号供給装置80は、楽曲の楽音(歌唱音や伴奏音)の波形を表すデジタルの音響信号P1を音響処理装置100に供給する。例えば、半導体記録媒体や光ディスクなどの記録媒体から音響信号P1を取得して音響処理装置100に出力する再生装置(例えば、携帯型の音楽再生装置)や、インターネットなどの通信網から音響信号P1を受信して音響処理装置100に出力する通信装置が、信号供給装置80として好適に採用される。
音響処理装置100は、演算処理装置12と記憶装置14とで構成されるコンピュータシステムである。記憶装置14は、演算処理装置12が実行するプログラムや演算処理装置12が使用するデータを記憶する。半導体記録媒体や磁気記録媒体などの公知の記録媒体が記憶装置14として任意に採用される。なお、音響信号P1を記憶装置14に格納した構成も採用される。
図1に示すように、記憶装置14は、相異なる楽曲に対応する複数の楽曲データD0を記憶する。例えばインターネットなどの通信網を介して受信された楽曲データD0が記憶装置14に格納される。楽曲データD0は、楽曲を構成する各楽音を時系列に指定する楽音データDAと、楽曲の歌詞の文字を時系列に指定する表示データDBとを含んで構成される。例えば、楽音の音高・強度や歌詞の文字を指定するイベントデータと各イベントデータの処理の時点(例えば相前後するイベントデータの処理の間隔)を指定するタイミングデータとを時系列に配列したMIDI形式(具体的にはXF形式)のデータ列が楽曲データD0(DA,DB)として好適に採用される。
楽音データDAが指定する楽音の時系列と表示データDBが指定する歌詞の時系列とが時間軸上で相互に対応(同期)するように楽音データDAと表示データDBとは作成される。他方、楽曲データD0の楽曲と音響信号P1の楽曲とは共通し得るが、楽曲データD0と音響信号P1とは別個に作成されるから、楽音データDAが指定する楽音の時系列(表示データDBが指定する歌詞の時系列)と音響信号P1が表す楽音の波形とは完全には同期しない。
演算処理装置12は、記憶装置14に格納されたプログラムを実行することで、音響信号P1の再生(楽曲のストリーミング再生)と表示データDBが指定する歌詞の表示とを同期させるための複数の機能(第1保持部161,第2保持部162,再生制御部20,出力処理部30,解析処理部40,表示制御部60)を実現する。したがって、音響処理装置100の利用者は、音響信号P1の再生音(楽音データDAから生成される楽音よりも一般的には高音質な楽音)のもとで歌詞を確認しながら歌唱を練習することが可能である。なお、演算処理装置12の各機能を複数の集積回路に分散した構成や、専用の電子回路(DSP)が各機能を実現する構成も採用され得る。
入力装置78の操作で利用者が指定した楽曲の音響信号P1が信号供給装置80から第1保持部161に供給される。第1保持部161は、信号供給装置80から供給される音響信号P1を順次に取得および保持するバッファ回路である。他方、第2保持部162は、入力装置78の操作で利用者が選択した楽曲の楽曲データD0(楽音データDAおよび表示データDB)を記憶装置14から順次に取得および保持するバッファ回路である。
再生制御部20は、第1保持部161に保持された音響信号P1から音響信号QAを生成する。具体的には、再生制御部20は、成分抑制部22とピッチ変換部24とテンポ調整部26とを含んで構成される。成分抑制部22は、音響信号P1のうち特定のパートの成分を抑制(理想的には除去)する。例えば、音響処理装置100の利用者が音響信号P1の再生音(伴奏音)に合わせて歌唱する場合、成分抑制部22は、音響信号P1のうち歌唱音のパートの成分を抑制する。成分抑制部22による処理(マイナスワン処理)には公知の技術が任意に採用される。ピッチ変換部24は、入力装置78に対する利用者からの操作(キー指定)に応じて音響信号P1のピッチを変更する。テンポ調整部26は、入力装置78に対する利用者からの操作(テンポ指定)に応じて音響信号P1のテンポを変更する。
再生制御部20(テンポ調整部26)による処理後の音響信号QAは出力処理部30に供給される。出力処理部30は、音響信号QAおよび音響信号QBから音響信号QCを生成して放音装置76に出力する。出力処理部30は、再生制御部20からの音響信号QAと収音装置74からの音響信号QBとを混合する混合部(ミキサ)32と、混合部32による処理後の音響信号に各種の効果(例えばリバーブやエコー)を付与する効果付与部34と、効果付与部34による処理後の音響信号をアナログの音響信号QCに変換するD/A変換部36とを含んで構成される。音響信号QCに応じた音響が放音装置76から放射される。
図1の解析処理部40は、第1保持部161に保持された音響信号P1と楽音データDAが指定する各楽音の時系列とについて楽曲中で相対応する位置を特定(同期解析)する。解析処理部40は、第1特徴抽出部42とデータ変換部44と第2特徴抽出部46と同期解析部48とを含んで構成される。
第1特徴抽出部42は、第1保持部161が保持する音響信号P1を時間軸上で区分した単位区間(フレーム)F1毎に(図2参照)、音響信号P1のクロマベクトル(ピッチクラスプロファイル(PCP:pitch class profile))Ψ1を順次に算定する。クロマベクトルΨ1は、音響信号P1の和声感(ハーモニー感)の指標となる特徴量であり、音階中の相異なる音名(C,C#,D,D#,E,F,F#,G,G#,A,A#,B)に対応する12次元のベクトルで表現される。クロマベクトルΨ1を構成する12個の要素の各々は、音響信号P1のうち当該要素に対応する音名の周波数成分(1オクターブに相当する周波数帯域を音名毎に区分した12個の周波数帯域のうち当該音名に対応する周波数帯域の成分)の強度を複数のオクターブについて加算または平均した数値に相当する。すなわち、第1特徴抽出部42は、高速フーリエ変換などの公知の技術で音響信号P1の単位区間F1毎に周波数スペクトル(パワースペクトル)を生成し、周波数スペクトルのうち1オクターブに相当する周波数帯域を複数のオクターブについて加算することでクロマベクトルΨ1を生成する。
図1のデータ変換部44は、第2保持部162が保持する楽曲データD0のうち楽音データDAが指定する楽音の波形を表す音響信号P2を生成する。具体的には、楽音データDAのイベントデータが指定する楽音の波形を順次に発生する公知の音源(MIDI音源)がデータ変換部44として好適に採用される。データ変換部44が生成する音響信号P2が表す楽音の波形は表示データDBが指定する歌詞の時系列に同期する。すなわち、音響信号P2を再生したときに各楽音が発生する時点と、当該楽音の再生の時点で歌唱すべき歌詞を表示データDBが指定する時点とは時間軸上で対応(理想的には合致)する。
第2特徴抽出部46は、データ変換部44が生成した音響信号P2を時間軸上で区分した単位区間F2毎に(図2参照)、音響信号P2のクロマベクトル(ピッチクラスプロファイル)Ψ2を順次に算定する。クロマベクトルΨ2は、クロマベクトルΨ1と同様に、相異なる音名(クロマ)に対応する12個の要素の各々が、音響信号P2のうち当該要素に対応する音名の成分の強度を複数のオクターブにわたって加算または平均した数値に設定された12次元のベクトルである。第2特徴抽出部46は、第1特徴抽出部42と同様の方法で、音響信号P2のクロマベクトルΨ2を単位区間F2毎に生成する。単位区間F1と単位区間F2とは同じ時間長の区間である。ただし、単位区間F1と単位区間F2とを相異なる時間長に設定した構成も採用され得る。
図1の同期解析部48は、第1特徴抽出部42が単位区間F1毎に生成した各クロマベクトルΨ1と第2特徴抽出部46が単位区間F2毎に生成した各クロマベクトルΨ2とを比較し、音響信号P1と音響信号P2とにおいて楽曲中で相互に対応する時間軸上の位置(例えば楽曲の同じ楽音に対応する位置)を比較の結果に応じて特定する。具体的には、同期解析部48は、図2に例示した対応テーブルTBL1を生成する。対応テーブルTBL1は、音響信号P1の複数の単位区間F1(F1[1]〜F1[M])と音響信号P2の複数の単位区間F2(F2[1]〜F2[N])とのうちクロマベクトルΨ1とクロマベクトルΨ2とが相互に類似する単位区間F1と単位区間F2とを対応させるデータテーブルである。
図1に示すように、同期解析部48は、同期点検出部52と区間対照部54とを含んで構成される。同期点検出部52は、音響信号P1の同期点S1と音響信号P2の同期点S2とを検出する。同期点S1および同期点S2は、楽曲の歌唱や伴奏が開始する時点(楽曲の開始前の無音の区間が終了する時点)である。すなわち、同期点S1および同期点S2は、音響信号P1と音響信号P2とが最初に同期する時点に相当する。同期点S1は単位区間F1の番号で指定され、同期点S2は単位区間F2の番号で指定される。
図3は、同期点検出部52の動作のフローチャートである。例えば入力装置78に対する所定の操作を契機として音響信号P1の再生の開始前に図3の処理が実行される。同期点検出部52は、音響信号P1の基準点α1と音響信号P2の基準点α2とを特定する(SA1,SA2)。基準点αk(k=1,2)は、音響信号Pkの強度(音量)が最初に閾値を上回る時点である。
図4は、同期点検出部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は図4の処理を終了する。したがって、音響信号Pkのうち強度Lkが最初に閾値LTHを上回る時点が基準点αkとして確定する。
ところで、音響信号P2のうち強度L2が最初に閾値LTHを上回る基準点α2は、楽曲が実際に開始する時点(音響信号P1にて楽曲が開始する時点)に該当しない可能性がある。例えば、伴奏音に先立って歌唱音が開始する楽曲のカラオケ用の楽曲データD0を想定すると、楽曲データD0(楽音データDA)から生成される音響信号P2においては、歌唱者が拍子を把握するための拍子音が伴奏音の開始前に発生する。したがって、拍子音の時点が基準点α2として検出される可能性がある。そこで、同期点検出部52は、図3のステップSA3において、音響信号P1の各クロマベクトルΨ1と音響信号P2の各クロマベクトルΨ2とを比較する(すなわち両者の音楽的な類否を判断する)ことで、音響信号P2における正確な同期点S2を特定する。音響信号P1の同期点S1は、ステップSA1で特定した基準点α1に設定される。
図5は、図3のステップSA3の処理の概要を示す説明図である。同期点検出部52は、音響信号P1のうち同期点S1(基準点α1)を始点とする参照区間σREFのクロマベクトルΨ1と、音響信号P2のうち始点SXや時間長WXが相違する複数の候補区間σXの各々のクロマベクトルΨ2とを比較する。すなわち、同期点検出部52は、図5に示すように、時間軸上の始点SXを変化させた複数の場合の各々について、音響信号P2のうち当該始点SXからの時間長WXが相違する複数の候補区間σXの各々のクロマベクトルΨ2を、音響信号P1の参照区間σREFのクロマベクトルΨ1と比較する。そして、同期点検出部52は、複数の候補区間σXのうちクロマベクトルΨ2が参照区間σREFのクロマベクトルΨ1に最も類似する候補区間σXを、参照区間σREFに対応する同期区間σSとして特定する。同期区間σSの始点が同期点S2に相当する。
図6は、図5の動作のフローチャートである。図6に示すように、同期点検出部52は、候補区間σXと参照区間σREFとの音楽的な類否の指標(以下「類否指標」という)γが代入される変数βを最大値γMAXに初期化し、参照区間σREFの同期点S1を基準点α1に設定する(SC1)。また、同期点検出部52は、候補区間σXの時間長WXを下限値LAに初期化し、候補区間σXの始点SXを、図5に示すように、図3のステップ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に移行する。すなわち、図5に示すように、更新前の候補区間σXと始点SXが共通で時間長WXが相違する(所定値Bだけ長い)新たな候補区間σXについて参照区間σREFとの類否が判定される(SC3〜SC8)。
他方、ステップSC8の結果が肯定である場合(WX>LB)、同期点検出部52は、図5に示すように、候補区間σXの始点SXを所定値Cだけ後方に移動し、候補区間σXの時間長WXを下限値LA(例えば参照区間σREFの時間長WREFの半分)に初期化する(SC9)。そして、同期点検出部52は、ステップSC9での更新後の始点SXが、図5に示すように音響信号P2の基準点α2から所定値T(例えば時間長WREFの半分)だけ経過した時点よりも後方か否かを判定する(SC10)。ステップSC10の結果が否定である場合、同期点検出部52は、ステップSC9での更新後の始点SXについてステップSC3以降の処理(候補区間σXの時間長WXを変化させながら参照区間σREFと始点SXからの候補区間σXとを比較する処理)を反復する。他方、ステップSC10の結果が肯定である場合、同期点検出部52は図6の処理を終了する。
以上の処理の結果、図5に示すように、音響信号P2の基準点α2から前後の時間長T(合計2T)にわたる範囲内で始点SXを所定値Cずつ移動させた複数の場合の各々について、下限値LAから上限値LBまでの範囲内で時間長WXを所定値Bずつ変化させた複数の候補区間σXの各々と参照区間σREFとの音楽的な類否が判定される。そして、図6の処理が終了した段階では、複数の候補区間σXのうち類否指標γが最小となる候補区間σX(参照区間σREFに最も類似する候補区間σX)の時間長WXおよび始点SXが、同期区間σSの時間長WSおよび同期点S2として確定する。以上が同期点検出部52の動作である。
図1の区間対照部54は、音響信号P1の各単位区間F1と音響信号P2の各単位区間F2との対応を解析することで対応テーブルTBL1を生成する。区間対照部54による音響信号P1と音響信号P2との対比には、以下に例示するDP(dinamic programming:動的計画法)マッチングが好適に採用される。図7に示すように、区間対照部54は、音響信号P1のうち同期点S1に対応する単位区間F1[1]から最後の単位区間F1[M]までの時系列(横軸)と、音響信号P2のうち同期点検出部52が図6の処理で特定した同期点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は、図7に示すように、音響信号P1の最後の単位区間F1[M]と音響信号P2の最後の単位区間F2[N]とに対応する時点p[M,N]での累積値g[M,N]が最小となる最適経路(マッチングパス)MPを特定し、最適経路MP上の各時点に対応する単位区間F1[m]と単位区間F2[n]とを対応させた図2の対応テーブルTBL1を作成する。
図1の表示制御部60は、第2保持部162に保持された表示データDBが指定する歌詞の各文字を表示装置72に順次に表示させる。表示制御部60は、音響信号P1の再生に同期するように表示データDBの処理(表示装置72に対する表示の指示)のテンポを対応テーブルTBL1に応じて可変に設定する。具体的には、対応テーブルTBL1にて各単位区間F1に対応づけられた単位区間F2の歌詞の文字が、音響信号P1のうち当該単位区間F1が再生される時点で表示装置72に表示されるように、表示制御部60は表示データDBの処理のテンポを制御する。また、表示データDBの処理のテンポはテンポ調整部26が設定したテンポにも依存する。すなわち、表示制御部60は、テンポ調整部26が設定したテンポが速いほど表示データDBの処理のテンポを上昇させる。
例えば、図8のように、音響信号P1の単位区間F1[1]と音響信号P2の単位区間F2[1]とが対応し、音響信号P1の単位区間F1[2]およびF1[3]と音響信号P2の単位区間F2[2]とが対応する場合を想定する。図8の関係のもとで表示データDBの処理のテンポを固定した場合、音響信号P1の再生に対して歌詞の表示が先に進み、音響信号P1の再生と歌詞の表示とが同期しない状態となる。そこで、表示制御部60は、図8に示すように、単位区間F2[1]の表示データDBを処理するテンポの半分のテンポ(tempo×1/2)で単位区間F2[2]内の表示データDBを処理する。したがって、音響信号P1の単位区間F1[2]および単位区間F1[3]が再生される区間内(単位区間F1[2]の始点から単位区間F1[3]の終点まで)では、表示データDBのうち単位区間F2[2]の歌詞が表示され、音響信号P1の単位区間F1[4]の再生が開始する時点で単位区間F2[3]の歌詞の表示が開始する。
他方、図9のように、音響信号P1の単位区間F1[1]と音響信号P2の単位区間F2[1]とが対応し、音響信号P1の単位区間F1[2]と音響信号P2の単位区間F2[2]〜F2[4]とが対応する場合を想定する。図9の関係のもとで表示データDBの処理のテンポを固定した場合、歌詞の表示が音響信号P1の再生に対して遅延し、音響信号P1の再生と歌詞の表示とが同期しない状態となる。そこで、表示制御部60は、図9に示すように、単位区間F2[1]の表示データDBを処理するテンポの3倍のテンポ(tempo×3)で単位区間F2[2]〜F2[4]内の表示データDBを処理する。したがって、音響信号P1の単位区間F1[2]が再生される区間内(単位区間F1[2]の始点から終点まで)では、表示データDBのうち単位区間F2[2]〜F2[4]の歌詞が順次に表示され、音響信号P1の単位区間F1[3]の再生が開始する時点で単位区間F2[5]の歌詞の表示が開始する。
表示データDBの処理のテンポは例えば以下の方法で制御される。まず、表示制御部60は、単位区間F1と単位区間F2との先後に応じて、表示データDBの再生速度(例えば、所定の時間内に処理する単位区間F2の個数(frame/sec))を算出する。例えば、歌詞の表示が音響信号P1の再生に先行する場合(図8の場合)には再生速度を低速に設定し、歌詞の表示が音響信号P1の再生に遅延する場合(図9の場合)には再生速度を高速に設定する。そして、表示制御部60は、表示データDBの処理の間隔の単位(分解能)を規定するチック(tick)の間隔を再生速度に応じて可変に設定する(例えば、再生速度が高いほどチックの間隔を短縮する)ことで表示データDBの処理のテンポを可変に制御する。
以上の形態においては、音響信号P1の各単位区間F1と音響信号P2の各単位区間F2との音楽的な類否に応じて楽曲中での単位区間F1と単位区間F2との対応が解析され、相対応する単位区間F1と単位区間F2とが同期するように表示データDBの処理のテンポが可変に制御される。したがって、例えば楽曲の全区間や歌唱区間の始点または終点のみで音響信号の再生と歌詞の表示とを同期させる特許文献1の構成と比較すると、例えば楽曲の途中で音響信号P1と楽曲データD0との同期が外れる場合でも、音響信号P1の再生と歌詞の表示とを高精度に同期させることが可能である。
ところで、音響信号P1の再生と歌詞の表示とを同期させる方法としては、例えば、音響信号P1の拍点と音響信号P2の拍点とを対応させる方法も想定され得る。しかし、拍点を利用する方法では、例えば音響信号P1または音響信号P2の拍点の検出漏れに起因して音響信号P1の再生と歌詞の表示とがずれた場合(例えば音響信号P1の再生に対して1拍分だけ遅延して歌詞が表示される場合)に、両者の同期を回復することが困難であるという問題がある。本実施形態においては、和声感の指標となるクロマベクトル(Ψ1,Ψ2)の比較の結果に応じて音響信号P1の再生と歌詞の表示との同期が確保されるから、両者の同期が外れる可能性が低く、仮に何らかの事情で両者の同期が外れた場合でも速やかに同期を回復することが可能である。
さらに、第1実施形態においては、音響信号P2のうち始点SXおよび時間長WXを変化させた複数の候補区間σXの各々が音響信号P1の参照区間σREFと比較され、複数の候補区間σXのうち参照区間σREFに類似する候補区間σX(同期区間σS)の始点SXが、音響信号P1の同期点S1に対応する同期点S2として特定される。したがって、例えば、音響信号P1に存在しない音響(例えば拍子音)が音響信号P2の先頭の部分に含まれる場合でも、音響信号P1と音響信号P2とで相互に同期する同期点(S1,S2)を正確に検出できるという利点がある。ただし、音響信号P2の先頭の部分の音響が特段の問題とならない場合には、基準点α2を同期点S2とする構成も採用され得る。
<B:第2実施形態>
次に、本発明の第2実施形態について説明する。第2実施形態においては、区間対照部54の動作が第1実施形態とは相違する。図10は、第2実施形態における区間対照部54の動作の説明図である。なお、以下の各形態において作用や機能が第1実施形態と同等である要素については、以上と同じ符号を付して各々の詳細な説明を適宜に省略する。
図10に示すように、音響信号P1は複数の参照区間σREF(σREF[1],σREF[2],……)に区分される。各参照区間σREFの時間長WREFは、単位区間F1の所定個に相当する固定値である。区間対照部54は、各参照区間σREF[i]に対応する同期区間σS[i](σS[1],σS[2],……)を音響信号P2について順次に特定する(i=1,2,3,……)。具体的には、図10に示すように、区間対照部54は、音響信号P1の複数の参照区間σREFの各々(σREF[i])について、当該参照区間σREF[i]の各単位区間F1のクロマベクトルΨ1と音響信号P2の候補区間σX内の各単位区間F2のクロマベクトルΨ2とを、候補区間σXの時間長WXを変化させながら順次に比較する。そして、区間対照部54は、複数の候補区間σXのうち参照区間σREF[i]に音楽的に最も類似する候補区間σXを同期区間σS[i]として特定する。以上の処理が順次に反復されることで、音響信号P2は、図10に示すように、相異なる参照区間σREF[i]に対応する複数の同期区間σS(σS[1],σS[2],……)に区分される。図10の時点R1[i]は音響信号P1の参照区間σREF[i]の終点に相当し、時点R2[i]は音響信号P2の同期区間σS[i]の終点に相当する。
図11は、区間対照部54の動作のフローチャートである。同期点検出部52が図3の処理を完了すると図11の処理が開始される。区間対照部54は、参照区間σREFや同期区間σSを識別する変数(番号)iをゼロに初期化したうえで、図10に示すように、音響信号P1の時点R1[i](参照区間σREF[1]の始点R1[0])を同期点S1に設定し、音響信号P2の時点R2[i](候補区間σS[1]の始点R2[0])を同期点S2に設定する(SD1)。同期点S1は、同期点検出部52が図3のステップSA1で特定した基準点α1に相当し、同期点S2は、同期点検出部52が図6の処理で特定した時点である。
次いで、区間対照部54は、変数iを1に変更したうえで、図10に示すように、音響信号P1の時点R1[i](参照区間σREF[1]の終点R1[1])を、同期点S1(時点R1[0])から時間長WREFだけ経過した時点(S1+WREF)に設定し、音響信号P2の時点R2[i](同期区間σS[1]の終点R2[1])を、同期点S2(時点R2[0])から同期区間σS[1]の時間長WS[1]だけ経過した時点(S2+WS[1])に設定する(SD2)。音響信号P2の最初の同期区間σS[1]は、同期点検出部52が図6の処理で特定した同期区間σSである。したがって、図6の処理(ステップSC6)で同期点検出部52が設定した時間長WSが同期区間σS[1]の時間長WS[1]として図11のステップSD2に適用される。
次いで、区間対照部54は、変数iに1を加算したうえで(SD3)、変数βを最大値γMAXに初期化し、基準長WPREを時間長WS[i-1]に初期化し、候補区間σXの時間長WXを基準長WPRE(WS[i-1])の半分に初期化する(SD4)。基準長WPREは、候補区間σXの時間長WXを変化させる範囲を規定する数値である。
以上の初期化が完了すると、区間対照部54は、図6のステップSC3およびステップSC4と同様に、音響信号P1の参照区間σREF[i]内の各単位区間F1のクロマベクトルΨ1と、音響信号P2のうち時点R2[i-1]から時間長WXにわたる候補区間σX内の各単位区間F2のクロマベクトルΨ2とを比較する(SD5,SD6)。具体的には、区間対照部54は、音響信号P2の候補区間σXを参照区間σREF[i]の時間長WREFに伸縮し、伸縮後の候補区間σXのうち参照区間σREF[i]内の各単位区間F1に対応する時点のクロマベクトルΨ2を、伸縮前の候補区間σX内の各単位区間F2のクロマベクトルΨ2の補間により算定する(SD5)。そして、区間対照部54は、参照区間σREF[i]内の各クロマベクトルΨ1と補間後の各クロマベクトルΨ2との距離Dの総和または平均を類否指標γとして算定する(SD6)。
区間対照部54は、ステップSD6で算定した類否指標γが変数βを下回るか否かを判定する(SD7)。類否指標γが変数βを下回る場合(SD7:YES)、区間対照部54は、直前のステップSD6で算定した類否指標γを変数βに代入し、現時点の候補区間σXの時間長WXを同期区間σS[i]の暫定的な時間長WS[i]として設定する(SD8)。他方、類否指標γが変数βを上回る場合(SD7:NO)、区間対照部54は、ステップSD8を実行せずに処理をステップSD9に移行する。すなわち、時間長WS[i]は、参照区間σREF[i]に音楽的に類似する候補区間σXの時間長WXに順次に更新される。
次いで、区間対照部54は、現時点の候補区間σXの時間長WXに所定値Bを加算し(SD9)、加算後の時間長WXが基準長WPRE(時間長WS[i-1])の1.5倍を上回るか否かを判定する(SD10)。ステップSD10の結果が否定である場合、区間対照部54は処理をステップSD5に移行する。すなわち、図10に示すように、更新前の候補区間σXと始点(時点R2[i-1])が共通で時間長WXが相違する(所定値Bだけ長い)新たな候補区間σXについて参照区間σREF[i]との類否が判定される(SD5〜SD10)。
他方、ステップSD10の結果が肯定である場合、区間対照部54は、現時点での時間長WS[i]を同期区間σS[i]の時間長として確定する(SD11)。すなわち、区間対照部54は、図10に示すように、同期区間σS[i]の終点R2[i]を、既知の時点R2[i-1]から現時点での時間長WS[i]だけ後方の時点(R2[i-1]+WS[i])に設定する。また、区間対照部54は、参照区間σREF[i]の終点R1[i]を、時点R1[i-1]から時間長WREFだけ後方の時点(R1[i-1]+WREF)に設定する。
そして、区間対照部54は、音響信号P1および音響信号P2の全区間の処理が完了したか否かを判定する(SD12)。具体的には、区間対照部54は、ステップSD11で確定した時点R1[i]から時間長WREFだけ経過した時点(R1[i]+WREF)が音響信号P1の終点よりも後方であるか否かの判定と、ステップSD11で確定した時点R2[i]から時間長WS[i]だけ経過した時点(R2[i]+WS[i])が音響信号P2の終点よりも後方であるか否かの判定とを実行する。そして、双方の判定の結果が否定である場合(全区間の処理が完了していない場合)、区間対照部54は、変数iに1を加算したうえで(SD3)、ステップSD4からステップSD12の処理(すなわち、更新後の変数iに対応する同期区間σS[i]の特定)を実行する。他方、ステップSD12の何れかの判定の結果が肯定である場合(音響信号P1または音響信号P2について全区間の処理が完了した場合)、区間対照部54は図11の処理を終了する。
以上の処理の結果、図10に示すように、同期区間σS[i-1]の終点R2[i-1]からの時間長WXを基準長WPREの半分から1.5倍までの範囲内で所定値Bずつ変化させた複数の候補区間σXの各々と参照区間σREF[i]との音楽的な類否が順次に判定される。そして、複数の候補区間σXのうち類否指標γが最小となる候補区間σX(参照区間σREF[i]に最も類似する候補区間σX)が音響信号P2の同期区間σS[i]として特定される。区間対照部54が以上の処理を実行することで、音響信号P1の各参照区間σREF[i]と音響信号P2の各同期区間σS[i]とを対応させる図12の対応テーブルTBL2が記憶装置14に生成される。対応テーブルTBL2は、図12に示すように、各参照区間σREF[i]の終点R1[i]と当該参照区間σREF[i]に対応する同期区間σS[i]の終点R2[i]とを対応づけるデータテーブルである。
表示制御部60は、音響信号P1の再生に同期するように表示データDBの処理(表示装置72に対する表示の指示)のテンポを対応テーブルTBL2に応じて可変に設定する。具体的には、音響信号P2の同期区間σS[i](R2[i-1]〜R2[i])に対応する歌詞の文字が、音響信号P1の参照区間σREF[i](R1[i-1]〜R1[i])が再生される期間内に表示装置72に表示されるように、表示制御部60は表示データDBの処理のテンポを制御する。例えば、表示制御部60は、参照区間σREF[i]の時間長WREFに対する同期区間σS[i]の時間長WS[i]の相対比((R2[i]−R2[i-1])/(R1[i]−R1[i-1])を所定の基準値に乗算したテンポで表示データDBを処理する。
以上の形態においては、音響信号P1の各参照区間σREF[i]に楽曲中で対応する同期区間σS[i]が音響信号P2について特定され、相対応する参照区間σREF[i]と同期区間σS[i]とが同期するように表示データDBの処理のテンポが可変に制御される。したがって、楽曲の全区間や歌唱区間の始点または終点のみで音響信号の再生と歌詞の表示とを同期させる特許文献1の技術と比較すると、例えば楽曲の途中で音響信号P1と楽曲データD0との同期が外れる場合でも、音響信号P1の再生と歌詞の表示とを高精度に同期させることが可能である。さらに、第2実施形態においては、複数の単位区間F1で構成される参照区間σREFと複数の単位区間F2で構成される同期区間σSとの対応が解析される(すなわち、複数の単位区間を単位として同期解析を実行する)から、各単位区間F1と各単位区間F2との対応を解析する第1実施形態と比較して、同期解析部48の処理の負荷が軽減されるという利点もある。もっとも、第1実施形態によれば、第2実施形態と比較して、音響信号P1と音響信号P2との対応を単位区間(F1,F2)毎に仔細に特定できるという利点がある。
また、第2実施形態においては、音響信号P2のうち時間長WXを変化させた複数の候補区間σXの各々が音響信号P1の参照区間σREF[i]と比較され、複数の候補区間σXのうち参照区間σREF[i]に類似する候補区間σXが同期区間σS[i]として特定される。したがって、例えば音響信号P1や音響信号P2のテンポが楽曲中で変化する場合でも、相互に同期する参照区間σREF[i]と同期区間σS[i]とを高精度に検出できるという利点がある。
ところで、区間対照部54が特定する同期区間σS[i]の時間長WS[i]は、候補区間σXの時間長WXの変化の範囲(以下「探索範囲」という)内の数値に制限される。したがって、探索範囲が固定された構成では、実際の同期区間σS[i]は充分に長いにも関わらず時間長WS[i]が探索範囲の上限値に制限される場合や、実際の同期区間σS[i]は充分に短いにも関わらず時間長WS[i]が探索範囲の下限値に制限される場合がある。すなわち、同期区間σS[i]の時間長WS[i]を正確に特定できないという問題がある。
他方、第2実施形態における時間長WXの探索範囲は、直前の同期区間σS[i-1]の時間長WS[i-1](基準長WPRE)に応じて設定される。具体的には、第2実施形態の探索範囲は時間長WS[i-1]の半分から1.5倍までの範囲である。したがって、直前の同期区間σS[i-1]の時間長WS[i-1]が長いほど、同期区間σS[i]の候補となる候補区間σXの時間長WXの上限値(1.5×WS[i-1])は長い時間となり、時間長WS[i-1]が短いほど候補区間σXの時間長WXの下限値(0.5×WS[i-1])は短い時間となる。そして、相前後する同期区間σS(σS[i-1],σS[i])で時間長WSが極端に相違する可能性は低いという傾向があるから、第2実施形態によれば、探索範囲を固定した構成と比較して、同期区間σS[i]の時間長WS[i]が探索範囲内に包含される可能性が高い。したがって、探索範囲に制限されずに時間長WS[i]を正確に特定できるという利点がある。もっとも、同期区間σS[i]の時間長WS[i]の変動が小さいことを前提とすれば、時間長WS[i]が探索範囲に制限される可能性は低いから、探索範囲を固定した構成も採用され得る。
<C:第3実施形態>
第3実施形態の音響処理装置100においては、入力装置78に対する利用者からの操作に応じて音響信号P1の再生点が変更される。例えば、表示制御部60は、図13の操作画面720を表示する。操作画面720は、楽曲(音響信号P1)の全区間を表す直線状の再生領域721と、再生領域721上に配置された指示子722とを含むGUIである。指示子722は、楽曲のうち再生中の時点を示す画像である。したがって、楽曲の再生が進行するにつれて、指示子722は再生領域721の左端から右端に向けて経時的に移動する。利用者は、入力装置78を操作して指示子722を移動することで楽曲の再生点を任意に変更することが可能である。
第3実施形態の同期点検出部52は、第1実施形態と同様の機能のほか(または第1実施形態の機能に代えて)、音響信号P1のうち利用者による変更後の再生点(以下「再生指示点」という)に楽曲中で対応する音響信号P2の時点を特定する機能を具備する。図14は、再生点の変更が指示された場合に同期点検出部52が実行する処理のフローチャートである。利用者による再生点の変更を契機として図14の処理が開始される。
図14の処理を開始すると、同期点検出部52は、音響信号P1のうち再生指示点t1を含む参照区間σREFを設定する(SE1)。例えば、図13に示すように、再生指示点t1を始点とする所定の時間長WREFの区間が参照区間σREFとして特定される。次いで、同期点検出部52は、音響信号P2のうち再生指示点t1に対応する基準点t2を特定する(SE2)。例えば、同期点検出部52は、図13に示すように音響信号P2のうち再生指示点t1と同時刻の時点や、音響信号P2の全区間に対する位置が音響信号P1の全区間に対する再生指示点t1の位置と同等となる時点(例えば音響信号P2の始点からみて全区間の1/3に相当する時点)を基準点t2として特定する。
そして、同期点検出部52は、基準点α1および基準点α2から同期点S1および同期点S2を特定する第1実施形態と同様の方法で、再生指示点t1および基準点t2から同期点S1および同期点S2を特定する(SE3)。すなわち、同期点検出部52は、基準点α1を再生指示点t1に置換するとともに基準点α2を基準点t2に置換して図6の処理を実行することで同期点S1および同期点S2を特定する。
具体的には、同期点検出部52は、図13に示すように、音響信号P1のうちステップSE1で特定した参照区間σREF内の各クロマベクトルΨ1と音響信号P2に画定された候補区間σX内の各クロマベクトルΨ2との類否指標γを、候補区間σXの始点SXおよび時間長WXを変化させた複数の場合の各々について算定する。始点SXは、ステップSE2で特定した基準点t2から前後に所定の時間長T(合計2T)にわたる範囲内で順次に変更され、時間長WXは、下限値LAから上限値LBまでの範囲内(例えば時間長WREFの半分から1.5倍の範囲内)で順次に変更される。同期点検出部52は、複数の候補区間σXのうち類否指標γが最小となる候補区間σX(すなわちステップSE1で特定した参照区間σREFに音楽的に最も類似する候補区間σX)を同期区間σSとして探索し、同期区間σSの始点を同期点S2として特定する。
区間対照部54は、音響信号P1のうち同期点S1から開始する各単位区間F1と音響信号P2のうち同期点S2から開始する各単位区間F2との対応を第1実施形態と同様の方法で特定する。なお、音響信号P1のうち同期点S1から開始する各参照区間σREFと音響信号P2のうち同期点S2から開始する各同期区間σSとを第2実施形態と同様の方法で区間対照部54が特定する構成も好適である。
第3実施形態においては、利用者からの指示に応じて可変に設定された再生指示点t1と再生指示点t1に応じた基準点t2とから同期点S1および同期点S2が特定されるから、音響信号P1の再生と歌詞の表示とを任意の再生指示点t1から同期させることが可能である。また、音響信号P1の再生と歌詞の表示とが任意の再生指示点t1から同期するから、音響信号P1および音響信号P2の全区間にわたる相互間の対応を楽曲の再生前に特定しておく必要はない。すなわち、音響信号P1と音響信号P2とにおける楽曲中の対応を解析する処理を音響信号P1の再生と並列に実行する構成でも、利用者が再生指示点t1を指示した場合には、音響信号P1の再生と歌詞の表示とを当該再生指示点t1から同期させることが可能である。したがって、楽曲の全区間にわたる音響信号P1を第1保持部161に格納する構成や、楽曲の全区間にわたる楽音データDAを第2保持部162に格納する構成は不要である。すなわち、第1保持部161や第2保持部162の容量が削減されるという利点もある。
<D:変形例>
以上の形態には様々な変形が加えられる。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は併合され得る。
(1)変形例1
第1実施形態においては、候補区間σXの始点SXおよび時間長WXを変化させて参照区間σREFと順次に比較したが、図6の処理では同期点S2が特定されれば足りる(同期区間σSの時間長WSの特定までは必須ではない)から、時間長WXを所定値(例えば時間長WREF)に固定して始点SXのみを変化させる構成も採用される。すなわち、図6のステップSC7およびステップSC8は省略され得る。再生指示点t1および基準点t2から同期点S1および同期点S2を特定する第3実施形態の処理でも同様に、時間長WXを所定値に固定して始点SXのみを変化させる構成が採用され得る。
(2)変形例2
以上の各形態で固定値として例示した各数値は可変値に適宜に変更され得る。例えば、以上の各形態では参照区間σREFの時間長WREFを所定値に固定したが、時間長WREFを可変に制御する構成も好適である。具体的には、楽曲データD0が指定するテンポや楽音データDAが指定する音数に応じて同期解析部48が時間長WREFを可変に制御する構成が採用される。例えば、同期解析部48は、テンポが速いほど時間長WREFを短い時間に設定し、単位時間あたりの音数が多いほど時間長WREFを短い時間に設定する。以上の構成によれば、テンポが速い楽曲や音数が多い楽曲についても音響信号P1と音響信号P2との対応を高精度に特定できるという利点がある。
また、以上の各形態においては、候補区間σXの時間長WXを変動させる範囲(探索範囲)を規定する時間長Tを所定値に固定したが、時間長Tを可変に制御する構成も好適である。例えば、同期解析部48は、楽曲データD0が指定するテンポが速いほど時間長Tを短い時間に設定し(探索範囲を狭い範囲に設定し)、楽音データDAが単位時間あたりに指定する音数が多いほど時間長Tを短い時間に設定する。以上の構成によれば、楽曲のテンポが速い場合や音数が多い場合でも適切な同期区間σSを高精度に特定できるという利点がある。
さらに、以上の各形態においては、候補区間σXの時間長WXの変化量Bや始点SXの移動量Cを所定値に固定したが、変化量Bや移動量Cを可変に制御する構成も好適である。例えば、同期解析部48は、楽曲データD0で指定されるテンポが速いほど変化量Bや移動量Cを小さい数値に設定し、楽音データDAが単位時間あたりに指定する音数が多いほど変化量Bや移動量Cを小さい数値に設定する。以上の構成によれば、楽曲のテンポが速い場合や音数が多い場合でも適切な同期区間σSを高精度に特定できるという利点がある。
また、楽曲の後方ほど音響信号P1と音響信号P2との同期のずれが顕著となる。そこで、第3実施形態では、参照区間σREFの時間長WREFや探索範囲を規定する時間長Tを、図13の指示子722の移動量Δtに応じて可変に制御する構成が好適である。具体的には、同期解析部48は、移動量Δtが大きいほど(すなわち、再生指示点t1が楽曲の後方に位置するほど)、時間長WREFまたは時間長Tを長い時間に設定する。以上の構成によれば、移動量Δtが大きい場合でも、再生指示点t1以後における音響信号P1と音響信号P2との対応を正確に特定することが可能である。
(3)変形例3
表示装置72に表示される情報は歌詞に限定されない。例えば、楽曲の楽譜(コード譜やタブ譜)を表示データDBが時系列に指定する構成や、楽曲に関する画像(例えばカラオケの背景画像)を表示データDBが時系列に指定する構成も好適である。すなわち、表示データDBは、楽曲の歌唱や演奏に関する画像(歌詞,楽譜,背景画像)を時系列に指定するデータとして包括される。なお、表示データDBが楽音データDAとは別個に用意された構成は必須ではない。例えば、楽音データDAが時系列に指定する楽音を楽曲の楽譜の表示に流用する構成も採用される。
また、音響信号P1の再生と同期させるべき動作は、歌詞や楽譜の表示に限定されない。具体的には、楽曲の再生に関する動作を時系列に指示する指示データの処理(当該動作を実行する要素の制御)を音響信号P1の再生と同期させる構成が採用される。指示データは、表示データDBと同様に、楽音データDAが指定する楽音の時系列と指示データによる指示の時系列とが時間軸上で相互に対応(同期)するように作成される。例えば、楽曲の再生時における照明機器の動作(明滅や照度)を時系列に指定する指示データや、効果付与部34が付加する音響効果の態様(効果の種類や程度)を時系列に指定する指示データを、表示データDBの代わりに(または表示データDBとともに)、音響信号P1の再生と同期して処理する構成も好適である。
以上の例示から理解されるように、表示データDBや指示データは、楽曲に関する情報(歌詞や楽譜、または、楽曲の再生に関する要素の動作の指示)を時系列に指定する制御データとして包括され、制御データを処理する要素(例えば以上の各形態における表示制御部60)は、音響信号P1の再生と制御データの処理とが同期するように、同期解析部48による解析の結果に応じて制御データを処理する要素(制御手段)として包括される。
(4)変形例4
以上の形態においてはデータ変換部44が楽音データDAから音響信号P2を生成する構成を例示したが、同期解析用の音響信号P2を楽音データDAの代わりに(または楽音データDAとともに)記憶装置14に格納した構成も採用される。解析処理部40は、記憶装置14に格納された音響信号P2について同期解析を実行する。音響信号P2を記憶装置14に格納した構成ではデータ変換部44が省略され得る。もっとも、データ変換部44を具備する構成によれば、カラオケ用に作成された既存の楽曲データD0の楽音データDAを解析処理部40による同期解析に流用できるという利点や、音響信号P2を記憶装置14に格納する構成と比較して記憶装置14に必要な容量が削減されるという利点がある。
(5)変形例5
以上の形態においては楽音データDAを音響信号P1との同期解析のみに利用する構成を例示したが、楽音データDAに応じた音響信号P2を音響信号P1とともに再生する構成も好適に採用される。例えば、ガイドメロディを示す楽音データDAから音響信号P2を生成して音響信号P1とともに再生すれば、利用者による歌唱や演奏の練習を支援することが可能である。また、再生制御部20は適宜に省略される。例えば、成分抑制部22を省略して音響信号P1の全部のパートを再生する構成や、ピッチ変換部24やテンポ調整部26を省略してピッチやテンポを変化させない構成も採用され得る。
(6)変形例6
以上の各形態では、音響信号Pkの強度(音量)に応じて基準点αkを特定する図4の処理と、クロマベクトル(Ψ1,Ψ2)の比較で同期点S2を特定する図6の処理とを同期点検出部52が実行した。しかし、クロマベクトルは和声感(和音感)を示す特徴量であるから、楽曲が例えば打楽器の楽音から開始する場合には同期点S2の正確な特定が困難となる。したがって、同期点検出部52が図4の処理のみを実行する構成(図6の処理を省略した構成)も採用される。図4の処理で特定した基準点αkが同期点Skとして区間対照部54による処理に適用される。