(57)【要約】【課題】楽曲のタイムストレッチ（速度変換）及びピッチシフト（ピッチ変換）の技術に関し、減衰系楽器の波形信号に対しても音質の低下の少ない音声変換装置を提供する。【解決手段】フィルタバンク部からの周波数帯域毎の複素信号出力を極座標変換して振幅信号と位相信号を得て、振幅信号に対して振幅補間部２０４で補間演算処理を実行し、補間された振幅信号と、位相信号に対して信号処理を行って得た位相信号とから、周波数帯域毎の波形信号を再構成し、その出力を合成して、タイムストレッチまたはピッチシフトが施された波形信号を出力する音声変換装置において、振幅補間部２０４は、周波数帯域毎に、減衰信号推定部４０１で振幅信号が減衰系信号か否かを推定し、補間方法選択部４０４は、振幅信号が減衰系信号であると推定されたか否か応じて、対数補間部４０６または線形補間部４０５を選択し、振幅信号に対して選択された補間演算処理を実行する。【選択図】図１２
2015210420.tif 000002
【特許請求の範囲】
【請求項１】
入力波形信号を複数の周波数帯に分割して当該周波数帯域毎に複素信号を出力するフィルタバンク部と、
前記周波数帯域毎に前記複素信号を極座標変換して振幅信号と位相信号を出力する極座標変換部と、
前記周波数帯域毎に、前記振幅信号が減衰系信号であるか否かを推定し、前記振幅信号が前記減衰系信号であると推定されたか否か応じて、対数補間による補間演算処理または線形補間による補間演算処理を選択し、前記振幅信号に対して前記選択された補間演算処理を実行する振幅補間部と、
前記周波数帯域毎に、当該振幅補間部から出力される補間された振幅信号と、前記位相信号に対して信号処理を行って得た位相信号とから、前記周波数帯域毎の波形信号を再構成する波形再構成部と、
前記波形再構成部が出力する前記周波数帯域毎の波形信号を合成した波形信号を出力する波形合成部と、
を備えることを特徴とする変換装置。
【請求項２】
前記振幅信号に対して対数演算を実行し、当該実行の結果を直線に近似できるか否かによって、前記振幅信号が減衰系信号であるか否かを推定する、
ことを特徴とする請求項１に記載の変換装置。
【請求項３】
前記位相信号に対する信号処理は、前記周波数帯域毎に、前記極座標変換部が出力する位相信号を微分して瞬時周波数信号を計算し、当該瞬時周波数信号を補間し、当該補間後の瞬時周波数信号に所定の乗数を乗算し、当該乗算後の瞬時周波数信号から前記位相信号を再構成して出力する処理である、
ことを特徴とする請求項１または２のいずれかに記載の変換装置。
【請求項４】
変換装置が、
入力波形信号を複数の周波数帯に分割して当該周波数帯域毎に複素信号を出力し、
前記周波数帯域毎に前記複素信号を極座標変換して振幅信号と位相信号を出力し、
前記周波数帯域毎に、前記振幅信号が減衰系信号であるか否かを推定し、前記振幅信号が前記減衰系信号であると推定されたか否か応じて、対数補間による補間演算処理または線形補間による補間演算処理を選択し、前記振幅信号に対して前記選択された補間演算処理を実行し、
前記周波数帯域毎に、前記補間された振幅信号と、前記位相信号に対して信号処理を行って得た位相信号とから、前記周波数帯域毎の波形信号を再構成し、
前記周波数帯域毎の波形信号を合成した波形信号を出力する、変換方法。
【請求項５】
入力波形信号を複数の周波数帯に分割して当該周波数帯域毎に複素信号を出力するフィルタバンク実行処理と、
前記周波数帯域毎に前記複素信号を極座標変換して振幅信号と位相信号を出力する極座標変換処理と、
前記周波数帯域毎に、前記振幅信号が減衰系信号であるか否かを推定し、前記振幅信号が前記減衰系信号であると推定されたか否か応じて、対数補間による補間演算処理または線形補間による補間演算処理を選択し、前記振幅信号に対して前記選択された補間演算処理を実行する振幅補間処理と、
前記周波数帯域毎に、当該振幅補間処理で出力される補間された振幅信号と、前記位相信号に対して信号処理を行って得た位相信号とから、前記周波数帯域毎の波形信号を再構成する波形再構成処理と、
前記波形再構成処理で出力される前記周波数帯域毎の波形信号を合成した波形信号を出力する波形合成処理と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲のタイムストレッチ（速度変換）及びピッチシフト（ピッチ変換）の技術に関する。
【背景技術】
【０００２】
波形入力に対してタイムストレッチまたはピッチシフトを実現する従来技術として、次のようなものが知られている（例えば特許文献１，２に記載の技術）。複素信号を出力するフィルタバンクにて複数の周波数帯に波形信号を分割する。そして、周波数帯域毎に分割された波形信号に対して、極座標変換にて振幅と位相を計算する。さらに位相の時間差分から瞬時周波数を求める。振幅と瞬時周波数の線形補間処理によりタイムストレッチを行う。さらに、補間後の瞬時周波数に所定の乗数を乗じてピッチシフトを行う。ピッチ変換後の瞬時周波数を積算することで位相の再構成を行い、補間後の振幅と再構成した位相から周波数帯域毎の波形の再構成を行う。そして、各周波数帯毎に再構成された波形を加算して合成し、タイムストレッチ及びピッチシフトが施された波形信号を得る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４１２４０号公報
【特許文献２】特開２０１４−４１２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、入力される波形信号がピアノやギターなどの、ある時定数で振幅が減衰する楽器（以下減衰系楽器）の楽音信号である場合、減衰信号は直線的には減衰しない。このため、振幅と瞬時周波数に対して線形補間処理を実行した場合、補間する位置によりまちまちの誤差が乗るので、音質の低下が引き起こされるという課題があった。
【０００５】
そこで、本発明は、減衰系楽器の波形信号に対しても音質の低下の少ない音声変換装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
態様の一例では、入力波形信号を複数の周波数帯に分割してその周波数帯域毎に複素信号を出力するフィルタバンク部と、周波数帯域毎に複素信号を極座標変換して振幅信号と位相信号を出力する極座標変換部と、周波数帯域毎に、振幅信号が減衰系信号であるか否かを推定し、振幅信号が減衰系信号であると推定されたか否か応じて、対数補間による補間演算処理または線形補間による補間演算処理を選択し、振幅信号に対して選択された補間演算処理を実行する振幅補間部と、周波数帯域毎に、その振幅補間部から出力される補間された振幅信号と、位相信号に対して信号処理を行って得た位相信号とから、周波数帯域毎の波形信号を再構成する波形再構成部と、波形再構成部が出力する周波数帯域毎の波形信号を合成した波形信号を出力する波形合成部と、を備える。
【発明の効果】
【０００７】
本発明によれば、減衰系楽器の波形信号に対しても音質の低下の少ない変換装置を提供することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態のタイムストレッチ及びピッチシフト装置の全体構成の一例を示す図である。
【図２】タイムストレッチ及びピッチシフト部１０２の機能ブロック図の一例を示す図である。
【図３】オーバーラップセーブ法の説明図（その１）である。
【図４】オーバーラップセーブ法の説明図（その２）である。
【図５】フィルタバンク部２０１の構成例を示す機能ブロック図である。
【図６】品質を保証する最低音高のユーザ設定画面例を示す図である。
【図７】フィルタバンク部２０１の１つのチャンネルからの出力信号の波形例を示す図である。
【図８】極座標変換部２０２から出力される信号の波形例を示す図である。
【図９】瞬時周波数計算部２０３から出力される周波数相当の信号の波形例を示す図である。
【図１０】振幅信号の減衰信号部分をグラフ化した例を示す図である。
【図１１】線形補間と対数補間のどちらを実行させるかをユーザに選ばせるための設定画面例を示す図である。
【図１２】振幅補間部２０４の構成例を示す機能ブロック図である。
【図１３】振幅補間部２０４が出力する信号の波形例を示す図である。
【図１４】瞬時周波数補間部２０５が出力する信号の波形例を示す図である。
【図１５】瞬時周波数乗算部２０６でピッチを１オクターブを上げた場合の出力信号の波形例を示す図である。
【図１６】位相再構成部２０７の出力信号の波形例を示す図である。
【図１７】波形再構成部２０８が出力する信号の波形例を示す図（その１）である。
【図１８】波形再構成部２０８が出力する信号の波形例を示す図（その２）である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。本実施形態のタイムストレッチ及びピッチシフト装置の全体構成の一例を図１に示す。図１において、１０１は音響データ取得部、１０２はタイムストレッチ及びピッチシフト部、１０３は音響データ再生部、１０４は表示部、１０５は操作部、１０６は制御部である。
音響データ取得部１０１は、処理すべき楽曲の音響データを逐次またはブロック読み出しして、タイムストレッチ及びピッチシフト部１０２に供給する。
【００１０】
タイムストレッチ及びピッチシフト部１０２は、音響データ取得部１０１から供給された音響データに対し、再生速度設定とピッチシフト設定に基づいてタイムストレッチ及びピッチシフトを行い、処理済みの音響データを音響データ再生部１０３に出力する。
【００１１】
音響データ再生部１０３は、タイムストレッチ及びピッチシフト部１０２が出力した処理済み音響データを再生する。
【００１２】
表示部１０４は、処理すべき楽曲の選択画面をユーザに提示したり、再生速度設定やピッチシフト設定、楽曲の再生、一時停止、停止などの操作画面、その他設定画面の表示を行う。
【００１３】
操作部１０５は、表示部１０４の表示内容に対するユーザ操作を提供し、ユーザの操作を取得する。
【００１４】
制御部１０６は、操作部１０５が取得したユーザ操作に基づき、音響データ取得部１０１、タイムストレッチ及びピッチシフト部１０２、音響データ再生部１０３、表示部１０４の制御を行う。
【００１５】
タイムストレッチ及びピッチシフト部１０２の機能ブロック図の一例を図２に示す。図２において、２０１はフィルタバンク部、２０２は極座標変換部、２０３は瞬時周波数計算部、２０４は振幅補間部、２０５は瞬時周波数補間部、２０６は瞬時周波数乗算部、２０７は位相再構成部、２０８は波形再構成部、２０９は波形合成部である。なお、２０２〜２０８は周波数帯１つ分のみ表示しているが、実際にはフィルタバンクのチャンネル数分、同一の構成が存在しているものとする。
【００１６】
図２において、フィルタバンク部２０１は、実数信号列から周波数帯毎に分解された複素信号列を生成し極座標変換部２０２に出力する。時刻ｔ（サンプル）における音響データｘ（ｔ）が下記数１式で表されてる場合に、下記数２式の近似が成り立つように信号に分解する。  なお、ｂは各周波数帯のインデックス、総数はＢで、Ａｂ（ｔ）は周波数帯ｂの振幅を、φｂ（ｔ）は周波数帯ｂの位相を表す。
【００１７】
【数１】
2015210420.tif 000003
【００１８】
【数２】
2015210420.tif 000004
【００１９】
フィルタバンク部２０１の特性は、音高や時間周波数分解能などを考慮した音響用フィルタバンクなどが望ましい。
【００２０】
フィルタバンク部２０１の計算方法で最も単純なものは、時間領域で畳み込みを行うことであるが、計算量が膨大になるので、高速畳み込み技法であるオーバーラップセーブ法（以下「ＯＬＳ」と称する）で計算する。
【００２１】
時間領域での畳み込みは、周波数領域での乗算に相当する。このような計算（循環畳み込み）はデータが周期性を持っていれば問題ないが、音響データは一般的に周期性を持たないので音響データの先頭部分と末尾部分が干渉する。オーバーラップセーブ法ではブロック単位で前記計算を行い、この干渉部分を破棄する。
【００２２】
フィルタ係数が、例えば、時刻ゼロを中心として、プラス、マイナス方向に長さＬで全部で長さＬ＊２＋１と長さＮの信号を畳み込みを行った場合、その結果で有効な信号の長さはＮ−Ｌ＊２になる。このときの信号と結果の関係は図３に示すようになる。図３（ａ）に示される細線の矩形部分が信号、図３（ｂ）に示される斜線の矩形部分が無効な結果、太線の矩形部分が有効な結果である。
【００２３】
よって、より長い信号に対しても、無効部分を破棄し、畳み込みの有効な計算結果を適切に連結するようにすれば、畳み込みを分割して計算できる。この様子を図４に示す。図４において、（ａ）は元の信号、（ｂ）は信号の切り出し、（ｃ）は畳み込みの結果、（ｄ）は有効部分を連結した畳み込みの最終結果である。なお、切り出しの際に元の信号の範囲外をゼロとする。これは音楽などでは妥当な仮定である。
【００２４】
また、時間領域での畳み込みは、周波数領域での各周波数成分毎の乗算であることはよく知られている。そこで信号を切り出す長さＮが高速フーリエ変換が可能なように決めれば効果的に計算できる。Ｎは小さな素数の積で構成されればよいが、もっとも効果的なのは２のべき乗のときである。なお、フーリエ変換では無限に続く周期信号を仮定しているので、破棄すべき無効部分では切り出した信号の先頭部分と末尾部分が干渉している。
【００２５】
以上は、フィルタ１つ分の説明であるが、フィルタバンクでも同様に考えることができる。ただ、フーリエ変換は高速フーリエ変換とはいえ計算量がおおいので、すべてのフィルタで信号の切り出し位置を共通化することで、フーリエ変換を共有することができ計算量を削減できる場合が多い。このときの破棄量は、本実施形態では、一番フィルタ長の長いものに合わせる。音響用フィルタバンクでは最も低音のフィルタ長がそれに当たる。以下に説明する図５において、高速フーリエ変換部３０４が共通化されているのは上述の理由による。なお、条件によっては上述の共通化を１つでなく複数にしたほうが計算量が減る場合もあるがここでは割愛する。
【００２６】
この破棄する長さは、フィルタバンク部２０１の最低音高のフィルタ長をＬ＊２＋１とするとＬ＊２になる。
【００２７】
また、ブロック長は２のべき乗でかつ、破棄する長さに比べ十分大きいことが望ましい。しかし、メモリ容量の制約などからブロック長はあまり大きくできない。このため計算効率が低下する。
【００２８】
ところで、人間の聴覚上、ある程度以下の周波数は分解能や歪みに対して鈍感になる。そこで、本実施形態では、品質を保持する最低音高に基づいて破棄長を決定する。これにより破棄長を減らして計算効率を改善することができる。
【００２９】
以上を考慮したフィルタバンク部２０１の構成例を示す機能ブロック図を図５に示す。図５において、３０１は品質を保証する最低音高取得部、３０２は破棄長決定部、３０３はブロック読み出し部、３０４は高速フーリエ変換部、３０５はフィルタ係数乗算、３０６は逆高速フーリエ変換部、３０７は干渉部分破棄部である。なお、３０５〜３０７は周波数帯１つ分のみ表示しているが、実際にはフィルタバンク部２０１のチャンネル数分、同一の構成が存在しているものとする。
【００３０】
品質を保証する最低音高取得部３０１は、予め実験的に決定した所定の音高を取得してもいいし、ユーザが設定した音高を取得してもよい。ユーザが図１の操作部１０５から設定する場合の図１の表示部１０４の設定画面例を図６に示す。図６（ａ）は音高名を、図６（ｂ）は変換品質を、選択させるようになっている。変換品質と音高名の対応は例えば、高がＡ０、中がＡ１、低がＡ２という風にする。なお、フィルタバンク部２０１の最低音高はＡ０を仮定している。よってＡ０が選択された場合は計算効率は従来のオーバーラップセーブ法と変わらない。
【００３１】
破棄長決定部３０２は、品質を保証する最低音高取得部３０１が取得した音高に基づいて破棄長を決定する。ここで決定した破棄長はブロック読み出し部３０３と干渉部分破棄部３０７で利用される。上述の取得した音高のフィルタ長をＬｄ＊２＋１とすると、破棄長は、Ｌｄ＊２になる。音響用フィルタバンクなど定Ｑ性があるフィルタバンク部２０１は音高の周波数とフィルタ長の積が一定になる性質があるので、周波数比とＬとからＬｄを簡易的に計算してもよい。
【００３２】
ブロック読み出し部３０３は、本来の読み出し位置のＬｄ分手前からブロック長分音響データを読み出して、高速フーリエ変換部３０４に供給する。Ｌｄ分手前から読み出すのは後で破棄することを考慮したものである。なお、読み出しデータ位置が音響データの範囲外の場合はゼロを読み出すものとする。
【００３３】
高速フーリエ変換部３０４は、ブロック読み出し部３０３から供給されたデータに対し、高速フーリエ変換の演算を実行して周波数領域のデータに変換し、フィルタ係数乗算部３０５に供給する。
【００３４】
フィルタ係数乗算部３０５は、高速フーリエ変換部３０４が供給した周波数領域のデータと、周波数領域のフィルタ係数の乗算を行い、乗算結果を逆高速フーリエ変換部３０６に供給する。周波数領域のフィルタ係数は予めフーリエ変換したものを用意しておけばよいので毎回計算する必要はないし、音響用フィルタバンクでは元々周波数領域でフィルタ係数を計算するので、予めフーリエ変換自体必要ない。
【００３５】
逆高速フーリエ変換部３０６は、フィルタ係数乗算部３０５から供給された乗算結果に対し、逆高速フーリエ変換の演算を実行して時間領域のデータに変換し、干渉部分破棄部３０７に供給する。ここまでで循環畳み込みが完了している。
【００３６】
干渉部分破棄部３０７は、逆高速フーリエ変換部３０６から供給された時間領域のデータの干渉部分の破棄を行う。干渉部分は先頭と末尾のそれぞれの長さＬｄの部分の計Ｌｄ＊２が該当箇所である。
【００３７】
以上により、オーバーラップセーブ法によるフィルタバンク処理が完了している。
【００３８】
いま、上述の動作を実行するフィルタバンク部２０１のあるチャンネル出力が、単一の周波数かつ振幅がある時定数で減衰する信号を仮定すると、フィルタバンク部２０１の１つのチャンネルからは、例えば図７に示される波形例を有する信号が出力される。図７において、（ａ）は実部信号、（ｂ）は虚部信号である。元の入力信号は実部しかないがフィルタバンク部２０１により虚部も復元される。
【００３９】
図２の説明に戻って、極座標変換部２０２は、フィルタバンク部２０１から出力された複素信号を極座標変換して、振幅と位相を出力する。図８は、極座標変換部２０２から出力される信号の波形例を示しており、（ａ）は振幅信号、（ｂ）は位相信号である。この例では、図８（ａ）に例示される振幅信号は、下に凸の曲線を描いて減衰してゆく様子が示されている。
【００４０】
次に、図２の瞬時周波数計算部２０３は、極座標変換部２０２が出力する位相信号列を微分して、瞬時周波数を計算する。いま、人が音を聞く場合、その音の高さは位相ではなく、瞬時周波数においてである。ある周波数帯ｂの位相φｂ（ｔ）と瞬時周波数ｆｂ（ｔ）の関係は、下記数３式のようになる。
【００４１】
【数３】
2015210420.tif 000005
【００４２】
瞬時周波数計算部２０３では、数３式のｆｂ（ｔ）に相当する信号を計算する。数３式から明らかなように位相φｂ（ｔ）を微分すればｆｂ（ｔ）は求まるが、数値計算の関係と、後述する位相再構成を考慮して、微分を差分演算にて計算する。差分演算により求めた周波数相当は、下記数４式に示す信号になる。
【００４３】
【数４】
2015210420.tif 000006
【００４４】
ただ、差分を求めるといっても、図８（ｂ）にあるように位相が±πの範囲に折りたたまれている。そこで、周波数相当の取りうる範囲は±πになるように必要に応じて２πを加減算して範囲を適正な値にする。このようにして求めた周波数相当の信号を図９（ａ）に示す。なお、折りたたみを解消した理想的な位相は図９（ｂ）のようになる。これは図９（ａ）の信号を積算したものに等しい。
【００４５】
図２に示される振幅補間部２０４と瞬時周波数補間部２０５で、タイムストレッチが実行される。
【００４６】
具体的には、再生速度ｓに対応した読み出し位置ｔ’のデータ（振幅と瞬時周波数）が補間によって算出されることで、再サンプリングが実行される。なお、読み出し位置ｔ’は、再生速度ｓずつ増加する。
【００４７】
振幅補間部２０４は、極座標変換部２０２が出力した振幅信号を補間することで再サンプリングを実行する。
【００４８】
従来は線形補間での補間のみであったが、ピアノやギターなどある時定数で振幅が減衰する楽器（以下減衰系楽器）の場合、線形補間すると誤差が発生するので音質が低下する。そこで、本実施形態では、このことを考慮して対数補間ができるようにしてある。図１０（ａ）は、振幅信号の減衰信号部分をグラフ化した例であり、図１０（ｂ）は、減衰信号部分を対数化してグラフ化つまり片対数でグラフ化したものである。図１０（ａ）では減衰信号は下に凸で、仮に線形補間した場合、補間する位置によりまちまちの誤差が乗るので、音質の低下が引き起こされる。一方、図１０（ｂ）では減衰信号は直線になっているので、同グラフ上で線形補間つまり対数補間しても誤差は発生しない。なお、線形補間は下記数５式で、対数補間は下記数６式で、それぞれ計算されるものとする。ここでｔｉはｔ’の整数部、ｔｒはｔ’の小数部、時刻ｔのデータをｄ（ｔ）とする。
【００４９】
【数５】
2015210420.tif 000007
【００５０】
【数６】
2015210420.tif 000008
【００５１】
線形補間と対数補間のどちらを実行させるかをユーザに選ばせて、実行させる場合、例えば図２の表示部１０４に図１１のような設定画面を表示して、操作部１０５で楽曲内の主要な楽器音を選択させる。この例ではピアノ、ギター、ドラムなどが減衰系楽器に対応し、トランペット、バイオリン、ボーカルなどが非減衰系楽器に対応する。一般的に叩いたり、打鍵したり、爪弾く楽器は減衰系であり、息を吹き込んだり、弓でこすったりする楽器は非減衰系の場合が多い。そして、減衰系楽器を選択した場合には対数補間が、そうでない場合は線形補間が実行される。なお、この選択は、楽曲全体かつすべての周波数帯で同一の補間方法が実行される。
【００５２】
線形補間と対数補間のどちらを実行させるかをユーザに選択させず、周波数帯毎にかつ補間毎に、現在の振幅が減衰信号か否かを自動推定して、この推定結果で補間方法を適宜切り替えるようにすることもできる。図１０（ｂ）から明らかなように振幅を対数化したものが直線に乗るならば、その信号は減衰信号であると看做すことができる。
【００５３】
以上のことから、減衰信号を自動推定して補間方法を切り替える場合の振幅補間部２０４の構成例を示す機能ブロック図を図１２に示す。図１２において、４０１は減衰信号推定部、４０２は対数演算部、４０３は直線判定部、４０４は補間方法選択部、４０５は線形補間部、４０６は対数補間部である。
【００５４】
減衰信号推定部４０１は対数演算部４０２と直線判定部４０３から構成される。減衰信号推定結果は補間方法選択部４０４に供給される。
【００５５】
対数演算部４０２は、入力された振幅の対数を計算し、直線判定部４０３に供給する。
【００５６】
直線判定部４０３は、対数演算部４０２から供給される対数化した振幅を３以上の所定の数を用いて、これらのデータが直線上に乗るかの判定を行い、その判定結果を減衰信号制定部４０１の推定結果とする。この判定方法としては例えば、最小２乗法による直線近似の誤差を求め、この誤差が所定の閾値を下回るならば直線に乗るものと判定する方法を採用できる。
【００５７】
いま、ある時刻のサンプルを基準にサンプル位置をｘｉ＝−ｋ，−ｋ＋１，…，−１，０，１，…，ｋ−１，ｋとし、それに対する振幅を対数化したものｙｉに対し、直線判定部４０３は、下記数７式で示す直線の係数ａ、ｂを、下記数８式で示す二乗誤差Ｅが最小になるように最小二乗法により求める。
【００５８】
【数７】
2015210420.tif 000009
【００５９】
【数８】
2015210420.tif 000010
【００６０】
直線判定部４０３は、このときの最小二乗誤差Ｅを所定の閾値と比較する。直線判定部４０３は、Ｅが所定の閾値未満ならば対数化したものが直線に乗ると判定し、そうでなければ対数化したものが直線に乗らないと判定する。
【００６１】
図４の補間方法選択部４０４は、減衰信号推定部４０１の推定結果に基づき線形補間部４０５または対数補間部４０６を排他的に実行するための選択を行う。上述の推定結果が減衰信号ならば対数補間部４０６を、そうでなければ線形補間部４０５を選択する。
【００６２】
線形補間部４０５は、それが補間方法選択部４０４により選択されている場合、線形補間を実行する。
【００６３】
対数補間部４０６は、それが補間方法選択部４０４により選択されている場合、対数補間を実行する。
【００６４】
振幅補間部２０４が出力する信号の波形例を、図１３に示す。この例は、図１０（ａ）の振幅信号の入力において再生速度を０．７倍した場合の例である。図１０（ａ）の元の信号との比較のためグラフの範囲は０〜３秒に制約しているが、表示範囲外にも補間した振幅は存在する。
【００６５】
図２に戻り、瞬時周波数補間部２０５は、瞬時周波数計算部２０３の出力を線形補間することで再サンプリングを行う。
【００６６】
瞬時周波数補間部２０５が出力する信号の波形例を、図１４に示す。今回は単一の周波数を仮定しているので、補間した結果は、瞬時周波数計算部２０３が計算した周波数相当の信号例を示す図９（ａ）と等しくなる。
【００６７】
瞬時周波数乗算部２０６は、瞬時周波数補間部２０５の出力の瞬時周波数に、ピッチシフト分の乗数ｐをかけてピッチシフトを行う。例えばキーをｋ変更する場合、乗数ｐは下記数９式のようになる。
【００６８】
【数９】
2015210420.tif 000011
【００６９】
なお、ｋが正の数の場合はピッチが上がり、負の数の場合はピッチが下がる。またｋの値が１変化すれば半音分音の高さが変わる。
【００７０】
瞬時周波数乗算部２０６でピッチを１オクターブを上げた場合の出力信号の波形例を、図１５に示す。これは、図１４に例示される瞬時周波数相当の信号を、２倍したものに相当する。
【００７１】
位相再構成部２０７は、瞬時周波数乗算部２０６の出力する瞬時周波数を積分（実際には積算）して、位相を再構成する。この処理は瞬時周波数計算部２０３の処理の逆変換に相当する。なお、計算精度を保持するため、積算結果が所定の範囲内、例えば±πの範囲になるようにするのが望ましい。
【００７２】
図１６（ａ）は単純に積算されて再構成された位相である。ところで、音響処理に単精度浮動小数などを使う場合は、有効桁数の関係から計算精度が低下して品質が低下する場合がある。また後述する波形構成部２０８で三角関数を使う際に内部で剰余を計算するが、剰余は計算時間がかかる場合が多い。以上を考えて、積算中に位相の範囲が±πを超えないように範囲調整を行うような工夫をしたほうが望ましい場合が多い。その場合の出力例は、図１６（ｂ）のようになる。
【００７３】
波形再構成部２０８は、振幅補間部２０４が出力した振幅と、位相再構成部２０７が出力する位相から下記数１０式を計算することで、波形の再構成を行う。なお、ｔは波形再構成時の時刻（サンプル）、Ａ’は前記振幅、φ’は前記位相である。
【００７４】
【数１０】
2015210420.tif 000012
【００７５】
波形再構成部２０８が出力する信号の波形例を、図１７に示す。振幅の変化は遅く、周波数は高くなっているのが見て取れる。本実施形態では、速度とピッチは独立して調整可能である。参考として、速度のみを変化させた波形を図１８（ａ）に、ピッチのみ変化させた波形を図１８（ｂ）に示す。
【００７６】
波形合成部２０９は、波形再構成部２０８の出力を周波数帯分加算することで、波形の合成を行う。なお、ピッチシフトによりナイキスト周波数を超える周波数帯は加算から除外するのが望ましい。
【００７７】
以上のようにして、減衰系楽器の楽音信号に対しても音質の低下の少ない音声変換装置を提供することが可能となる。
【００７８】
ここで、図１の制御部１０６は、タイムストレッチ及びピッチシフト部の処理のための制御プログラムを記憶するメモリと、当該制御プログラムを実行するプロセッサとを含むコンピュータで実現されてよい。この場合、制御部１０６は、可搬記録媒体に記録された制御プログラムまたはネットワークから取得した制御プログラムを上記メモリ内に読み込んで実行するように構成されてよい。
以上の実施形態に関して、更に以下の付記を開示する。
【００７９】
（付記１）
入力波形信号を複数の周波数帯に分割して当該周波数帯域毎に複素信号を出力するフィルタバンク部と、
前記周波数帯域毎に前記複素信号を極座標変換して振幅信号と位相信号を出力する極座標変換部と、
前記周波数帯域毎に、前記振幅信号が減衰系信号であるか否かを推定し、前記振幅信号が前記減衰系信号であると推定されたか否か応じて、対数補間による補間演算処理または線形補間による補間演算処理を選択し、前記振幅信号に対して前記選択された補間演算処理を実行する振幅補間部と、
前記周波数帯域毎に、当該振幅補間部から出力される補間された振幅信号と、前記位相信号に対して信号処理を行って得た位相信号とから、前記周波数帯域毎の波形信号を再構成する波形再構成部と、
前記波形再構成部が出力する前記周波数帯域毎の波形信号を合成した波形信号を出力する波形合成部と、
を備えることを特徴とする変換装置。
（付記２）
前記振幅信号に対して対数演算を実行し、当該実行の結果を直線に近似できるか否かによって、前記振幅信号が減衰系信号であるか否かを推定する、
ことを特徴とする付記１に記載の変換装置。
（付記３）
前記位相信号に対する信号処理は、前記周波数帯域毎に、前記極座標変換部が出力する位相信号を微分して瞬時周波数信号を計算し、当該瞬時周波数信号を補間し、当該補間後の瞬時周波数信号に所定の乗数を乗算し、当該乗算後の瞬時周波数信号から前記位相信号を再構成して出力する処理である、
ことを特徴とする付記１または２のいずれかに記載の変換装置。
（付記４）
変換装置が、
入力波形信号を複数の周波数帯に分割して当該周波数帯域毎に複素信号を出力し、
前記周波数帯域毎に前記複素信号を極座標変換して振幅信号と位相信号を出力し、
前記周波数帯域毎に、前記振幅信号が減衰系信号であるか否かを推定し、前記振幅信号が前記減衰系信号であると推定されたか否か応じて、対数補間による補間演算処理または線形補間による補間演算処理を選択し、前記振幅信号に対して前記選択された補間演算処理を実行し、
前記周波数帯域毎に、前記補間された振幅信号と、前記位相信号に対して信号処理を行って得た位相信号とから、前記周波数帯域毎の波形信号を再構成し、
前記周波数帯域毎の波形信号を合成した波形信号を出力する、変換方法。
（付記５）
入力波形信号を複数の周波数帯に分割して当該周波数帯域毎に複素信号を出力するフィルタバンク実行処理と、
前記周波数帯域毎に前記複素信号を極座標変換して振幅信号と位相信号を出力する極座標変換処理と、
前記周波数帯域毎に、前記振幅信号が減衰系信号であるか否かを推定し、前記振幅信号が前記減衰系信号であると推定されたか否か応じて、対数補間による補間演算処理または線形補間による補間演算処理を選択し、前記振幅信号に対して前記選択された補間演算処理を実行する振幅補間処理と、
前記周波数帯域毎に、当該振幅補間処理で出力される補間された振幅信号と、前記位相信号に対して信号処理を行って得た位相信号とから、前記周波数帯域毎の波形信号を再構成する波形再構成処理と、
前記波形再構成処理で出力される前記周波数帯域毎の波形信号を合成した波形信号を出力する波形合成処理と、
をコンピュータに実行させるためのプログラム。
【符号の説明】
【００８０】
１０１  音響データ取得部
１０２  タイムストレッチ及びピッチシフト部
１０３  音響データ再生部
１０４  表示部
１０５  操作部
１０６  制御部
２０１  フィルタバンク部
２０２  極座標変換部
２０３  瞬時周波数計算部
２０４  振幅補間部
２０５  瞬時周波数補間部
２０６  瞬時周波数乗算部
２０７  位相再構成部
２０８  波形再構成部
２０９  波形合成部
３０１  品質を保証する最低音高取得部
３０２  破棄長決定部
３０３  ブロック読み出し部
３０４  高速フーリエ変換部
３０５  フィルタ係数乗算
３０６  逆高速フーリエ変換部
３０７  干渉部分破棄部
４０１  減衰信号推定部
４０２  対数演算部
４０３  直線判定部
４０４  補間方法選択部
４０５  線形補間部
４０６  対数補間部
【図１】
2015210420.tif 000013
【図２】
2015210420.tif 000014
【図３】
2015210420.tif 000015
【図４】
2015210420.tif 000016
【図５】
2015210420.tif 000017
【図６】
2015210420.tif 000018
【図７】
2015210420.tif 000019
【図８】
2015210420.tif 000020
【図９】
2015210420.tif 000021
【図１０】
2015210420.tif 000022
【図１１】
2015210420.tif 000023
【図１２】
2015210420.tif 000024
【図１３】
2015210420.tif 000025
【図１４】
2015210420.tif 000026
【図１５】
2015210420.tif 000027
【図１６】
2015210420.tif 000028
【図１７】
2015210420.tif 000029
【図１８】
2015210420.tif 000030