(57)【要約】【課題】音声信号のピッチを変更する技術において、出力される音声信号のレベルの変動を軽減することのできる技術を提供する。【解決手段】音声処理装置のＤＳＰ１９は、波形メモリ１８からの２系統の出力信号を交互にクロスフェードして出力する。相関度計測部２３は、入力される音声データの自己相関値を算出する。周期性判定部２４は、算出された自己相関値を予め定められた閾値と比較し、両者の差分に応じて音声データが周期性を有するか否かを判定する。制御部２２は、周期性判定部２４の判定結果に応じてクロスフェードの態様を切り替えるようにクロスフェードゲイン計算部２６を制御する。【選択図】図４
2011203482.tif 000002
【特許請求の範囲】
【請求項１】
音声波形を表す音声データが予め定められた書込速度で順次書き込まれるバッファと、
前記バッファに書き込まれた音声データを、前記書込速度と異なる読出速度で、複数の異なる読出位置から並行して読み出す読出手段と、
前記書込速度と等しい速度で読み出しを行う場合の読出位置を基準位置として、前記読出手段が予め定められた時間だけ前記音声データの読み出しを行う毎に、前記読出手段の読出位置を当該基準位置の方向に移動させる読出制御手段と、
前記音声データの自己相関値を予め定められたアルゴリズムに従って計算する計算手段と、
前記計算手段によって計算された自己相関値を予め定められた閾値と比較し、両者の差分に応じて前記音声データが周期性を有するか否かを判定する判定手段と、
前記読出手段によって読み出された複数の音声データをクロスフェードさせて合成する合成手段であって、前記判定手段の判定結果に基づいて当該クロスフェードの態様を切り替える合成手段と
を具備することを特徴とする音声処理装置。
【請求項２】
前記合成手段は、前記判定手段によって前記音声データが周期性を有すると判定された場合には、音量和が略一定となるように前記複数の音声データのゲインを変化させてクロスフェードを行う一方、それ以外の場合には、エネルギー和が略一定となるように前記複数の音声データのゲインを変化させてクロスフェードを行う
ことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
音声波形を表す音声データの自己相関値に基づいて判定されたデータであって当該音声データが周期性を有するか否かを示すデータが付与された音声データが、予め定められた書込速度で順次書き込まれるバッファと、
前記バッファに書き込まれた音声データを、前記書込速度とは異なる読出速度で、複数の異なる読出位置から並行して読み出す読出手段と、
前記書込速度と等しい速度で読み出しを行う場合の読出位置を基準位置として、前記読出手段が予め定められた時間だけ前記音声データの読み出しを行う毎に、前記読出手段の読出位置を当該基準位置の方向に移動させる読出制御手段と、
前記読出手段によって読み出された複数の音声データをクロスフェードさせて合成する合成手段であって、当該音声データに付与されたデータに基づいて当該クロスフェードの態様を切り替える合成手段と
を具備することを特徴とする音声処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号のピッチを変換する技術に関する。
【背景技術】
【０００２】
カラオケ装置においては、自分の音域に合わないなどの理由により、歌唱者自身が歌いやすいキー（調）で歌唱することを可能にすべく伴奏音のキーをシフトさせる、いわゆるキーコントロールと呼ばれる機能を備えたものがある。特許文献１には、音声波形を表す音声データのリングバッファへの書込速度と読出速度とを異ならせることにより、音声信号のピッチを変換する技術が開示されている。
【０００３】
特許文献１に記載の技術においては、音声データの読出速度を変更することにより発生する時間の伸縮を回避するため、標準の（ピッチシフトがない）速度で読み出したときの波形位置（以下「基準波形位置」）からのずれが大きくなったときに、読出位置を基準波形位置に戻す（読出アドレスをジャンプさせる）処理が行われている。このとき、音声データの読出アドレスをジャンプさせることによって波形の不連続性が発生するが、特許文献１に記載の技術では、音声データの読出処理系統を２系統設け、その２系統の出力を交互にクロスフェードすることにより、波形の不連続によるノイズの発生を防ぐ構成となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６４２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の技術では、２系統の出力を交互にクロスフェードさせる構成となっているため、入力される音声データによっては、出力される音声の音量レベルが小刻みに変動してしまい、その結果、トレモロのように不自然に聞こえてしまう場合があった。
本発明は上述した背景の下になされたものであり、音声信号のピッチを変換する技術において、出力される音声信号のレベルの変動を軽減することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明は、音声波形を表す音声データが予め定められた書込速度で順次書き込まれるバッファと、前記バッファに書き込まれた音声データを、前記書込速度と異なる読出速度で、複数の異なる読出位置から並行して読み出す読出手段と、前記書込速度と等しい速度で読み出しを行う場合の読出位置を基準位置として、前記読出手段が予め定められた時間だけ前記音声データの読み出しを行う毎に、前記読出手段の読出位置を当該基準位置の方向に移動させる読出制御手段と、前記音声データの自己相関値を予め定められたアルゴリズムに従って計算する計算手段と、前記計算手段によって計算された自己相関値を予め定められた閾値と比較し、両者の差分に応じて前記音声データが周期性を有するか否かを判定する判定手段と、前記読出手段によって読み出された複数の音声データをクロスフェードさせて合成する合成手段であって、前記判定手段の判定結果に基づいて当該クロスフェードの態様を切り替える合成手段とを具備することを特徴とする音声処理装置を提供する。
【０００７】
本発明の好適な態様において、前記合成手段は、前記判定手段によって前記音声データが周期性を有すると判定された場合には、音量和が略一定となるように前記複数の音声データのゲインを変化させてクロスフェードを行う一方、それ以外の場合には、エネルギー和が略一定となるように前記複数の音声データのゲインを変化させてクロスフェードを行う
【０００８】
本発明の更に好適な態様において、前記合成手段は、前記判定手段によって前記音声データが周期性を有すると判定された場合には、前記複数の音声データのゲインを直線的にフェードイン又はフェードアウトさせることによってクロスフェードを行う一方、それ以外の場合には、前記複数の音声データのゲインを三角関数曲線に従ってフェードイン又はフェードアウトさせることによってクロスフェードを行ってもよい。
また、本発明の更に好ましい態様において、前記合成手段は、前記音声データの振幅がゼロになるタイミングで前記クロスフェードの態様を切り替えてもよい。
また、本発明の更に好ましい態様において、前記判定手段は、前記自己相関値が前記閾値を予め定められた時間以上継続して下回っているか否かを判定してもよい。
また、本発明の別の好ましい態様において、前記判定手段は、予め定められた単位時間毎に前記判定処理を行うようにしてもよい。
また、本発明の別の好ましい態様において、前記判定手段は、前記音声データの音量が予め定められた閾値以上変化した場合に前記判定処理を行うようにしてもよい。
【０００９】
また、本発明は、音声波形を表す音声データの自己相関値に基づいて判定されたデータであって当該音声データが周期性を有するか否かを示すデータが付与された音声データが、予め定められた書込速度で順次書き込まれるバッファと、前記バッファに書き込まれた音声データを、前記書込速度とは異なる読出速度で、複数の異なる読出位置から並行して読み出す読出手段と、前記書込速度と等しい速度で読み出しを行う場合の読出位置を基準位置として、前記読出手段が予め定められた時間だけ前記音声データの読み出しを行う毎に、前記読出手段の読出位置を当該基準位置の方向に移動させる読出制御手段と、前記読出手段によって読み出された複数の音声データをクロスフェードさせて合成する合成手段であって、当該音声データに付与されたデータに基づいて当該クロスフェードの態様を切り替える合成手段とを具備することを特徴とする音声処理装置を提供する。
【発明の効果】
【００１０】
本発明によれば、音声信号のピッチを変換する技術において、出力される音声信号のレベルの変動を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】音声処理装置のハードウェア構成の一例を示すブロック図である。
【図２】ピッチ変換処理の内容を説明するための概念図である。
【図３】２系統のバッファ出力信号の読出アドレスとゲインの時間的変化を示す図である。
【図４】ＤＳＰの機能的構成の一例を示す図である。
【図５】クロスフェード処理の概念を表す図である。
【図６】クロスフェード処理の概念を表す図である。
【図７】２系統のバッファ出力信号の読出アドレスとゲインの時間的変化を示す図である。
【発明を実施するための形態】
【００１２】
＜音声処理装置の構成＞
図１は、この発明の一実施形態である音声処理装置１のハードウェア構成を例示したブロック図である。音声処理装置１は、例えば、カラオケ伴奏を再生するカラオケ装置や、パーソナルコンピュータ等の汎用コンピュータである。図において、ＣＰＵ（Central Processing Unit）１１は、ＲＯＭ（Read Only Memory）１２に記憶されているコンピュータプログラムを読み出してＲＡＭ（Random Access Memory）１３にロードし、これを実行することにより、音声処理装置１の各部を制御する。外部記憶装置１４は、ハードディスクや光ディスク等の大容量の記憶手段である。通信Ｉ／Ｆ１５は、通信回線で結ばれた他の装置（例えば、カラオケ装置の管理室のサーバ等）との間でデータの授受を行うインターフェースである。
【００１３】
表示回路１６は、液晶ディスプレイ等の表示装置に画像を表示するための回路である。具体的には、例えば、音声処理装置１がカラオケ装置である場合には、動画像や設定画面を表示装置に表示するための回路が表示回路１６に相当し、音声処理装置１が汎用コンピュータである場合には、ビデオカードが表示回路１６に相当する。入力装置１７は、操作された内容に応じた操作信号を出力する操作入力装置である。具体的には、例えば、音声処理装置１がカラオケ装置である場合には、リモコンや装置本体付属の操作子が入力装置１７に相当し、音声処理装置１が汎用コンピュータである場合には、キーボードやマウスが入力装置１７に相当する。
【００１４】
波形メモリ１８は、ＤＳＰ（Digital Signal Processor）１９の処理対象となるデータを一時的に記憶するバッファである。この実施形態では、波形メモリ１８は、リング状に書き込み／読み出しを行うリングバッファである。波形メモリ１８には、通信Ｉ／Ｆ１５を介して取得される楽曲データや、マイクロホン（図示略）で収音された音声を表す音声信号がＡ（Analog）／Ｄ（Digital）変換されたデータ、外部記憶装置１４に記憶された楽曲データ等の、音声波形を表すデータ（以下「音声データ」と称する）が一時的に蓄積される。波形メモリ１８としては、音声データのビットデータをサンプリングタイムで入出力する速度に対応できるものが必要である。
【００１５】
ＤＳＰ１９は、波形メモリ１８に記憶された音声データに対してピッチ変換処理等の各種デジタル信号処理を行う。Ｄ／Ａ変換器２０は、ＤＳＰ１９から出力されるデジタル信号をアナログ信号に変換し、アナログの出力信号を取り出す。この出力信号は、増幅器（図示略）を介してスピーカ（図示略）へ出力される。
【００１６】
＜ピッチ変換処理の概要＞
次に、ＤＳＰ１９が行うピッチ変換処理の概要について図面を参照しつつ説明する。ＤＳＰ１９は、波形メモリ１８からの音声データの読出速度を変更することによってピッチの変更を行う。具体的には、ＤＳＰ１９は、ピッチを高くする場合には音声データの読出速度を速くし、ピッチを低くする場合には音声データの読出速度を遅くする。
【００１７】
図２は、ＤＳＰ１９が行うピッチ変換処理の内容を説明するための概念図である。図２において、横軸は経過時間を示し、縦軸は波形メモリ１８内のアドレスを示す。すなわち、図２は、時間の経過に伴う音声データの読出位置の変化を概略的に示す図である。図２において、直線Ｓ１は、書込速度と等しい速度で読出を行った場合の読出位置（以下「基準位置」）の遷移を示すものである。
【００１８】
波形メモリ１８への書き込み及び波形メモリ１８からの読み出しは、同一の方向に沿ってリング状に行われる。波形メモリ１８へは、予め定められた書込速度（基準のサンプリング周波数）で順次書き込みが行われる。一方、読出を行う場合は、ＤＳＰ１９は、ピッチの変更量に応じて読出速度を変更する。具体的には、ピッチを上げる場合には、ＤＳＰ１９は、書込速度よりも速い速度（図２の直線Ｓ２参照）で音声データを読み出す。また、ピッチを下げる場合には、音声処理装置１は、書込速度よりも遅い速度（図２の直線Ｓ３参照）で音声データを読み出す。
【００１９】
ここで、読出速度を変更することにより発生する問題点とその対応について図面を参照しつつ説明する。図２に示すように、ピッチアップしたときの波形読出アドレスの遷移（図２の直線Ｓ２参照）は、ピッチシフトしない場合（図２の直線Ｓ１参照）よりも速くアドレスが進む。すなわち、読出速度を速くした場合には音声データの再生時間が短くなってしまう。一方、ピッチダウンしたときの波形読出アドレスの遷移（図２の直線Ｓ３参照）は、ピッチシフトしない場合よりも遅くなる。すなわち、読出速度を遅くした場合には音声データの再生時間が長くなってしまう。このように、波形の読出速度を変更すると時間の伸縮が発生してしまい、音声のテンポが変化してしまう。更に、読出位置がアドレスの書込位置を追い抜いてしまい、リングバッファの１周期前のデータを読み出してしまう可能性がある。
【００２０】
そこで、この実施形態では、ＤＳＰ１９は、書込速度と等しい速度で読み出した場合の読出位置（基準位置）からのずれが大きくなったときに、読出位置を基準位置に戻すことにより時間的な伸縮の発生を回避する。すなわち、ＤＳＰ１９は、予め定められた時間だけ音声データの読出を行う毎に、読出位置（アドレス）を基準位置に移動させる（ジャンプさせる）処理を行う。具体的には、図２に示す例においてピッチを上げる場合には、ＤＳＰ１９は、時刻ｔ１，ｔ２，ｔ３，ｔ４，ｔ５において波形アドレスの読出位置を基準位置にジャンプさせる（図２のＳ４参照）。ピッチを下げる場合も同様であり、ＤＳＰ１９は、時刻ｔ１，ｔ２，ｔ３，ｔ４，ｔ５において波形アドレスの読出位置を基準位置にジャンプさせる（図２のＳ５参照）。
【００２１】
次いで、アドレス（読出位置）をジャンプさせることにより発生する問題点とその対応について図面を参照しつつ説明する。読出アドレスを所定間隔毎にジャンプさせる処理を行うことによって、アドレスをジャンプさせるタイミングにおいて波形の不連続が発生する。この波形の不連続によって出力音声にノイズが発生してしまう。そこで、この実施形態では、ノイズの発生を軽減するために、波形の読出処理を２系統設け、その２系統の出力を交互にクロスフェードすることにより、波形不連続によるノイズの発生を軽減させる。クロスフェードとは、２つの信号のうち一方をフェードアウトし、他方をフェードインして継ぎ目なく信号を接続する技術である。
【００２２】
図３は、２系統のバッファ出力信号（以下、「バッファ出力信号１８Ａ、１８Ｂ」という）のそれぞれの読出アドレス（以下「読出アドレス２４Ａ、２４Ｂ」という）とゲインの時間的変化を示す図である。図３の（Ａ）は、バッファ出力信号１８Ａのゲインの時間変化を表す図であり、横軸は経過時間を示し、縦軸はゲインを示す。（Ｂ）は、基準位置に対するバッファ出力信号１８Ａの読出位置の差分の変化を表す図であり、横軸は経過時間を示し、縦軸は基準位置に対するバッファ出力信号１８Ａの読出位置のアドレス差を示す。（Ｃ）は、バッファ出力信号１８Ｂのゲインの時間変化を表す図であり、横軸は経過時間を示し、縦軸はゲインを示す。（Ｄ）は、基準位置に対するバッファ出力信号１８Ｂの差分の変化を表す図であり、横軸は経過時間を示し、縦軸は基準位置に対するバッファ出力信号１８Ｂの読出位置のアドレス差を示す。
【００２３】
上述した図２に示す例においては、ＤＳＰ１９は、基準位置からのずれが大きくなったときに、読出アドレスを基準位置にジャンプさせるようにしたが、図３の（Ｂ），（Ｄ）に示す例においては、ＤＳＰ１９は、基準位置からのずれが大きくなったときに、読出アドレスを基準位置の方向に予め定められた量だけ移動させる処理を行う。要は、ＤＳＰ１９は、予め定められた時間だけ音声データの読出を行う毎に、読出位置を基準位置の方向に移動させる（ジャンプさせる）処理を行う。
【００２４】
ＤＳＰ１９は、バッファ出力信号の読出アドレスをジャンプさせるタイミングで、ジャンプする側のバッファ出力信号のゲインを０％にする一方、他方の出力を１００％にする。これにより、アドレスのジャンプによるノイズが軽減される。具体的には、図３において、バッファ出力信号１８Ａの読出アドレス２４Ａをジャンプさせるタイミング（図３（Ｂ）の時刻ｔ１２，ｔ１４，ｔ１６，ｔ１８，ｔ２０参照）で、バッファ出力信号１８Ａのゲインが常にゼロとなるように制御する（図３（Ａ）の時刻ｔ１２，ｔ１４，ｔ１６，ｔ１８，ｔ２０参照）。これにより、バッファ出力信号１８Ａの波形不連続によるノイズの発生が軽減される。バッファ出力信号１８Ｂについても同様であり、バッファ出力信号１８Ｂの読出アドレス２４Ｂをジャンプさせるタイミング（図３（Ｄ）の時刻ｔ１１，ｔ１３，ｔ１５，ｔ１７，ｔ１９参照）で、バッファ出力信号１８Ｂのゲインが常にゼロとなるように制御する（図３（Ｄ）の時刻ｔ１１，ｔ１３，ｔ１５，ｔ１７，ｔ１９参照）。これにより、バッファ出力信号１８Ｂの波形不連続によるノイズの発生が軽減される。
また、図示のように、読出アドレス２４Ａ、２４Ｂのジャンプを発生させる時刻を異ならせている。これにより、アドレスジャンプの発生時刻が重ならないから、アドレスジャンプに起因したノイズが軽減される。
【００２５】
ピッチを下げる場合には、図３において読出アドレス２４Ａ、２４Ｂのグラフは基準位置Ｓ１に対して反転した形状となる。
以上がこの実施形態においてＤＳＰ１９が行うピッチ変換処理の概要である。
【００２６】
＜ＤＳＰの構成＞
次に、図４を参照しつつ、上述したピッチ変換処理に係るＤＳＰ１９の機能的構成について詳述する。同図において、波形解析部２１は、音声データの波形を解析するものである。波形解析部２１は、ＬＰＦ２１１と基本周期検出部２１２とアタック検出部２１３とを備えている。ＬＰＦ２１１は音声データから低周波成分のみを取り出すためのフィルタである。音声データをＬＰＦ２１１に通すことによって高周波成分がカットされ、基本周期の検出が容易になる。基本周期検出部２１２は、ＬＰＦ２１１を通した音声データから基本周期を検出し、検出結果を制御部２２へ送る。基本周期検出部２１２の基本周期の検出方法としては、例えばＦＦＴ変換により信号の周波数成分を検出することにより行う。アタック検出部２１３は、音声データからアタックを検出する。ここで、アタックとは、平均的な音声の波高レベルよりも極端に高い部分又は振幅上昇が急激な信号の区間である。アタック検出部２１３は、所定の時間間隔毎に切り出した音声データのエネルギー和をそれぞれ計算し、平均的な音声の波高レベルより極端に高い区間、又はエネルギーの増加が急激な区間を、アタックとして検出する。アタック検出部２１３は、アタックの検出結果を示す信号を制御部２２に出力する。
【００２７】
相関度計測部２３は、波形メモリ１８から一定長の音声データを読み出し、読み出した音声データの自己相関値を予め定められたアルゴリズムに従って計算する。周期性判定部２４は、相関度計測部２３が計算した自己相関値をもとに音声データの周期性の有無を判定する。周期性の有無の判定としては、ここでは、周期性がある場合には基本周期の整数倍の時刻の自己相関値に大きなピークが存在するという性質に従って判定を行う。すなわち、周期性判定部２４は、自己相関値を予め定められた閾値と比較し、両者の差分に応じて音声データが周期性を有するか否かを判定する。より具体的には、周期性判定部２４は、音声データの基本周期の範囲で、判定閾値以上の自己相関値が存在すれば周期性ありと判定する一方、判定閾値以上の自己相関値が存在しない場合は周期性なしと判定する。
【００２８】
制御部２２は、波形解析部２１の解析結果及び周期性判定部２４の判定結果に基づいて、読出アドレス制御部２５やクロスフェードゲイン計算部２６に指示を送る。具体的には、例えば、制御部２２は、基本周期検出部２１２の検出した周期に基づいてクロスフェード時に合成するバッファ出力信号１８Ａ、１８Ｂの基本周期の位相が合うように、クロスフェード開始時、終了時を調整する指示を送る。また、急峻に音量が上下するアタックの場合には、アタックの部分は急激な音量変化を伴うため、波形の接続により２度打ちが生じやすいことから、クロスフェード合成部２７の動作を中止し、バッファ出力信号１８Ａ、１８Ｂのいずれかの出力をそのまま出すように、クロスフェードゲイン計算部２６に指示を送る。また、制御部２２は、周期性判定部２４の判定結果に応じて、クロスフェード合成部２７のクロスフェードの態様を切り替えるように、クロスフェードゲイン計算部２６に指示を送る。
【００２９】
読出アドレス制御部２５は、制御部２２からの指示に基づいて、波形メモリ１８における音声データの読出位置を算出して、読出アドレスを指示する。上述したように、読出アドレス制御部２５は、ピッチを上げる場合には読出速度を速くする一方、ピッチを下げる場合には読出速度を遅くする。バッファ出力信号１８Ａ、１８Ｂは、読出アドレス制御部２５の指示に従って波形メモリ１８から読み出され、クロスフェード合成部２７に送られる。
【００３０】
なお、読出速度を速めたり遅くしたりしてバッファ出力信号の時間軸圧伸を行う場合には、指定されたピッチ変換率に正確に対応する圧伸を行おうとすると読出アドレスは小数点以下を含むことになる。そこで、波形メモリ１８の出力を合成する加算部（図示略）を設け、小数点部分については、小数点をはさんで整数値の両側のアドレスに書き込まれたデータについて比例配分を行い、データを加算してもよい。
【００３１】
クロスフェードゲイン計算部２６は、クロスフェード合成部２７におけるクロスフェードのゲインカーブを計算し、クロスフェード合成部２７にゲインの指示を行う。クロスフェード合成部２７は、クロスフェードゲイン計算部２６の指示に基づいて、バッファ出力信号１８Ａ、１８Ｂのゲインをそれぞれ調整し、ゲインが調整されたバッファ出力信号１８Ａ、１８Ｂを加算し、Ｄ／Ａ変換器２０に出力する。すなわち、クロスフェード合成部２７は、バッファ出力信号１８Ａ、１８Ｂをクロスフェードさせて合成する。
【００３２】
このとき、クロスフェードゲイン計算部２６は、ゲイン一定の区間がなく連続的に小刻みにクロスフェードを行うようゲイン調整しているので、ジャンプするアドレス量が小さくなり、音色のずれを小さくすることができる。このように連続的にクロスフェードさせる場合には、いずれのクロスフェード時間においてもクロスフェードする信号の基本周期の位相をそろえた方が滑らかにクロスフェードさせることができる。そこで、クロスフェード時の基本周期の位相をそろえるため、図４で説明した基本周期検出部２１２は、基本周期を求めている。制御部２２は、この基本周期をクロスフェードゲイン計算部２６に指示する。クロスフェードゲイン計算部２６は、この基本周期の位相をそろえるため、バッファ出力信号１８Ａのゲインをフェードアウトさせるとき、フェードアウト区間長をこの基本周期の整数倍とする。また、クロスフェードゲイン計算部２６は、これに合わせてバッファ出力信号１８Ｂのゲインをフェードインさせるとき、フェードイン区間長をこの基本周期の整数倍とする。バッファ出力信号１８Ａのゲインをフェードインさせるときも同様である。
【００３３】
次に、クロスフェードゲイン計算部２６のクロスフェード方法について、図５および図６を用いて具体的に説明する。図５および図６は、クロスフェード処理の概念を表す図である。この実施形態では、クロスフェードゲイン計算部２６は、周期性判定部２４の判定結果に基づいてクロスフェードの態様を切り替える。より具体的には、この実施形態では、クロスフェードゲイン計算部２６は、周期性判定部２４によって音声データが周期性を有すると判定された場合には、複数の音声データのゲインを直線的にフェードイン又はフェードアウトさせることによってクロスフェードを行う（図５参照）。一方、それ以外の場合（すなわち音声データに周期性がない場合）には、クロスフェードゲイン計算部２６は、複数の音声データのゲインを三角関数曲線に従ってフェードイン又はフェードアウトさせることによってクロスフェードを行う（図６参照）。
【００３４】
図５は、ゲインレベル一定で合成する場合を示しており、図６はエネルギー和（波高値の２乗の時間積分で計算される）が一定である場合を示している。いずれも、横軸が時刻［ｍ秒］、縦軸がゲイン比率［％］である。図５に示す例では、クロスフェードゲイン計算部２６は、ゲイン比率を０％から１００％まで直線的に変化させる。すなわち、クロスフェードゲイン計算部２６は、クロスフェード合成部２７で合成される音声データの音量和が略一定となるように、ゲイン値を調整する。このように、クロスフェードゲイン計算部２６は、複数の音声データのゲインを直線的にフェードイン又はフェードアウトさせることによってクロスフェードを行う。より具体的には、図５（Ａ）で示すように、クロスフェードゲイン計算部２６は、フェードアウトする信号のゲインを、時間と共に直線的に減衰させ、図５（Ｂ）で示すように、フェードインする信号のゲインを、時間と共に直線的に増大させる。このようにして、フェードアウトする信号とフェードインする信号を加えると、音量和のレベルが一定となるようにすることができる。この合成方法は、入力信号に周期性がある場合に滑らかに接続できる。一方、入力信号に周期性がない場合に、レベルが変動する場合がある。
【００３５】
図５に示すクロスフェード合成処理において、複数の信号を滑らかに接続するためには、フェードアウトする信号とフェードインする信号の位相を合わせる必要がある。連続的にクロスフェードをする場合には、いずれのクロスフェード時間についても、周期的信号の位相を合わせる必要があるから、クロスフェード時間長を各々基本周期の整数倍にする。なお、図５では、図示の便宜上、基本周期を８つ含むとしているが、実際にはこれよりも多い周期数の期間にわたりクロスフェードを実行するのが通常である。
【００３６】
一方、図６は、エネルギー和（波高値の２乗の時間積分で計算される）が一定である場合を示している。このようにクロスフェードのゲインを設定する場合には、フェードアウトする信号のエンベロープレベルの時間変化は図６（Ａ）で示すような余弦関数の曲線になり、フェードインする信号のエンベロープレベルの時間変化は図６（Ｂ）で示すような正弦関数の曲線になる。すなわち、クロスフェードゲイン計算部２６は、複数の音声データのゲインを三角関数曲線に従ってフェードイン又はフェードアウトさせることによってクロスフェードを行う。なお、ゲインの２乗和が一定となる関数であれば、他の関数でも良い。この合成方法は、入力信号に周期性がない場合に滑らかに接続できる。一方、入力信号に周期性がある場合にはレベルが小刻みに変動してしまう場合がある。
【００３７】
図６に示した方法においても、クロスフェード合成部２７で滑らかに接続するためには、フェードアウトする信号とフェードインする信号の位相を合わせる。連続的にクロスフェードをする場合には、位相を合わせるためクロスフェード時間を基本周期の整数倍にすることが望ましい。図６では、説明の容易等のため、基本周期を８つ含むとしている。
【００３８】
＜クロスフェード切替処理の動作例＞
次いで、ＤＳＰ１９が行うクロスフェードの切替処理の具体的な動作の一例について、図７を参照しつつ説明する。図７は、２系統のバッファ出力信号の読出アドレスとゲインの時間的な変化を示す図であり、前述した図３に対応するものである。図７の（Ａ）は、バッファ出力信号１８Ａのゲインの時間変化を表す図であり、横軸は経過時間を示し、縦軸はゲインを示す。（Ｂ）は、基準位置に対するバッファ出力信号１８Ａの読出位置の差分の変化を表す図であり、横軸は経過時間を示し、縦軸は基準位置に対するバッファ出力信号１８Ａの読出位置のアドレス差を示す。（Ｃ）は、バッファ出力信号１８Ｂのゲインの時間変化を表す図であり、横軸は経過時間を示し、縦軸はゲインを示す。（Ｄ）は、基準位置に対するバッファ出力信号１８Ｂの差分の変化を表す図であり、横軸は経過時間を示し、縦軸は基準位置に対するバッファ出力信号１８Ｂの読出位置のアドレス差を示す。
【００３９】
ＤＳＰ１９の周期性判定部２４は、相関度計測部２３から通知される自己相関値に基づいて、入力される音声データに周期性があるか否かを判定する。この判定は、予め定められた単位時間毎に行うようにしてもよい。制御部２２は、周期性判定部２４の判定結果に応じてクロスフェードの態様を切り替えるようにクロスフェードゲイン計算部２６を制御する。具体的には、例えば、図７に示す例において、周期性がないと判定されている期間（図７の時刻ｔ２１までの期間）においてはバッファ出力信号１８Ａおよび１８Ｂのゲインを三角関数曲線に従って変化させることによってクロスフェードを行わせる（図７の（Ａ）、（Ｃ）参照）。ここで、時刻ｔ２１において音声データに周期性があると判定された場合には、クロスフェードゲイン計算部２６は、音声データのゲインを直線的に変化させるようにクロスフェードの態様を変更する（図７（Ａ）、（Ｃ）の時刻ｔ２１から時刻ｔ２２参照）。更に、時刻ｔ２２において音声データに周期性がないと判定された場合には、クロスフェードゲイン計算部２６は、音声データのゲインが三角関数曲線に従って変化するようにクロスフェードの態様を再度変更する。
【００４０】
このように、この実施形態では、入力信号の周期性を判定し、入力信号の周期性に応じて好適なクロスフェード波形を自動的に切り替えることにより、入力信号が周期的であっても非周期的であっても滑らかに接続することができる。具体的には、例えば、カラオケ伴奏などの、複数の音源（楽音トラック）からなる信号についてはほぼ周期性がないと考えられるので、クロスフェード波形を正弦／余弦曲線とするのが好ましい。ただしカラオケ伴奏においても単独楽器での独奏部分などでは周期性があるので、クロスフェード波形を直線とすることが好ましい。
【００４１】
以上説明したように本実施形態によれば、音声データの自己相関値を計測し、計測した相関度に応じて音声データの周期性の有無を判定し、判定結果に応じて動的にクロスフェードの態様を切り替えるから、これにより、音声データのレベルの小刻みな変動を軽減することができ、トレモロのような不自然な音量の揺れの発生を軽減することができる。
【００４２】
＜変形例＞
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。なお、以下の各態様を適宜に組み合わせてもよい。
（１）上述の実施形態では、ＤＳＰ１９は、２系統のバッファ出力信号１８Ａ、１８Ｂを合成して出力したが、合成する音声データの数は２に限らず、３以上の出力タップを設け、３以上の音声データを合成するようにしてもよい。
【００４３】
（２）上述の実施形態では、音声データに周期性がない場合に、音声データのゲインを三角関数曲線に従ってフェードイン又はフェードアウトさせることによってクロスフェードを行うようにしたが、周期性がない場合のクロスフェードの態様はこれに限らず、ゲインの２乗和が一定となる関数であれば、他の関数を用いてクロスフェードを行うようにしてもよい。
【００４４】
（３）上述の実施形態において、周期性判定部２４が、音声データの自己相関値が予め定められた閾値を予め定められた時間以上継続して下回っているか否かを判定するようにしてもよい。より具体的には、周期性判定部２４は、音声データの自己相関値が予め定められた閾値を予め定められた時間以上継続して下回っている場合（すなわち自己相関値に大きなピークが存在しない場合）には周期性なしと判定する一方、それ以外の場合（すなわち自己相関に大きなピークが存在する場合）には周期性ありと判定する。
【００４５】
（４）上述の実施形態において、周期性判定部２４は、予め定められた単位時間毎に周期性の有無の判定を行うようにしてもよく、また、例えば、予め定められたタイミングで周期性の有無の判定を行うようにしてもよい。周期性の判定を行うタイミングとしては、例えば、ＤＳＰ１９が音声データのレベルをモニタリングしておき、レベルが予め定められた閾値以上変化した場合（すなわちレベルが急激に変化した場合）に、周期性の有無の判定を行うようにしてもよい。例えば、カラオケ楽曲の伴奏音において、複数の楽器の合奏から単独楽器の独奏にかわる場合には、そのタイミングにおいて音量レベルが変化する場合がある。そのため、そのような周期性の有無が変化する可能性のあるタイミングで周期性の有無の判定を行うようにしてもよい。
【００４６】
（５）上述の実施形態において、ＤＳＰ１９は、音声データの振幅がゼロになるタイミングでクロスフェードの態様を切り替えるようにしてもよい。このようにすることによって、波形の不連続によるノイズの発生をより軽減することができる。
【００４７】
（６）上述の実施形態では、音声処理装置１が、入力される音声データの相関度に基づいて周期性の有無を判定し、その判定の結果に応じてクロスフェード波形を切り替えた。これに代えて、周期性の有無を示すパラメータ（データ）を音声データに予め付与しておくデータ構成としてもよい。この場合は、音声処理装置１は、入力された音声データに付与されたデータを判定し、判定結果に応じてクロスフェードの態様を切り替えればよい。この場合、周期性の有無を示すパラメータは、音声データの予め定められた単位区間毎に付与するようにしてもよく、また、例えば、周期性の有無が変化する位置に付与するようにしてもよく、要は、音声データの周期性の有無を示すデータが音声データに付与されていればよい。
この態様によれば、ピッチ変換処理を行う際にその都度周期性の有無の判定を行う必要がないため、ピッチ変換処理を行う際のＤＳＰ１９の処理負荷を軽減することができる。
【００４８】
（７）上述の実施形態において、周期性の有無の判定に用いる閾値を、音声処理装置１の利用者が入力装置１７を用いて設定できるようにしてもよい。また、例えば、楽曲データに閾値を付加しておく構成とし、周期性判定部２４が、楽曲データのピッチ変換処理を行う際に、その楽曲データに付与された閾値を用いて周期性の有無の判定を行うようにしてもよい。
【００４９】
（８）上述の実施形態における音声処理装置１のＣＰＵ１１、ＤＳＰ１９によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供し得る。また、インターネットのようなネットワーク経由で音声処理装置１にダウンロードさせることも可能である。
【符号の説明】
【００５０】
１…音声処理装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…外部記憶装置、１５…通信Ｉ／Ｆ、１６…表示回路、１７…入力装置、１８…波形メモリ、１９…ＤＳＰ、２０…Ｄ／Ａ変換器、２１…波形解析部、２２…制御部、２３…相関度計測部、２４…周期性判定部、２５…読出アドレス制御部、２６…クロスフェードゲイン計算部、２７…クロスフェード合成部、２１１…ＬＰＦ、２１２…基本周期検出部、２１３…アタック検出部。
【図１】
2011203482.tif 000003
【図２】
2011203482.tif 000004
【図３】
2011203482.tif 000005
【図４】
2011203482.tif 000006
【図５】
2011203482.tif 000007
【図６】
2011203482.tif 000008
【図７】
2011203482.tif 000009