(57)【要約】  再生装置は、入力された信号に対してテンポ変換を行って再生する。再生装置は、入力された信号から波形を切り出す波形切り出し手段と、波形切り出し手段によって切り出された波形に対して、テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化手段と、を備える。当該再生装置によれば、テンポ変換に起因する音質劣化の発生を適切に抑制することが可能となる。
2012035595.tif 000002
【特許請求の範囲】
【請求項１】
入力された信号に対してテンポ変換を行って再生する再生装置であって、
前記入力された信号から、波形を切り出す波形切り出し手段と、
前記波形切り出し手段によって切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化手段と、を備えることを特徴とする再生装置。
【請求項２】
前記位相ランダム化手段は、前記切り出された波形に対して、長さが「１」で位相が前記再生スピードに応じてランダムなベクトルを乗算する処理を行うことを特徴とする請求項１に記載の再生装置。
【請求項３】
前記位相ランダム化手段は、前記再生スピードが「１」未満である場合にのみ、前記ランダム化する処理を行うことを特徴とする請求項１又は２に記載の再生装置。
【請求項４】
前記波形切り出し手段によって前回切り出された波形と前記波形切り出し手段によって今回切り出された波形との位相ずれに応じて、前記今回切り出された波形を巡回させる処理を行う波形巡回手段を更に備え、
前記位相ランダム化手段は、前記波形巡回手段によって前記巡回させる処理が行われた後の波形に対して、前記ランダム化する処理を行うことを特徴とする請求項１乃至３のいずれか一項に記載の再生装置。
【請求項５】
前記波形巡回手段は、前記位相ずれ分だけ、前記今回切り出された波形の位相を進める処理又は遅らせる処理を行うと共に、前記今回切り出された波形において前記位相ずれ分に対応するサンプルを、前記今回切り出された波形の後ろ又は前に回す処理を行うことを特徴とする請求項４に記載の再生装置。
【請求項６】
前記位相ランダム化手段は、前記波形巡回手段によって前記巡回させる処理が行われた波形をフーリエ変換した波形に対して、前記ランダム化する処理を行うことを特徴とする請求項４又は５に記載の再生装置。
【請求項７】
前記波形巡回手段は、前記切り出された波形をフーリエ変換した波形に対して、前記巡回させる処理を行うことを特徴とする請求項４又は５に記載の再生装置。
【請求項８】
前記切り出された波形を、連続で繰り返し再生可能な波形に変換する処理を行うループ波形化手段を更に備え、
前記波形巡回手段は、前記ループ波形化手段によって前記変換する処理が行われた後の波形に対して、前記巡回させる処理を行うことを特徴とする請求項４乃至７のいずれか一項に記載の再生装置。
【請求項９】
前記ループ波形化手段は、前記切り出された波形に対して三角窓を乗算することで得られた波形と、前記波形切り出し手段が前記波形を切り出す区間に対応する周期の半周期分だけ、前記得られた波形を時間軸上で巡回させた波形とを加算することで、前記連続で繰り返し再生可能な波形を求めることを特徴とする請求項８に記載の再生装置。
【請求項１０】
入力された信号に対してテンポ変換を行って再生するための再生方法であって、
前記入力された信号から、波形を切り出す波形切り出し工程と、
前記波形切り出し工程で切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化工程と、を備えることを特徴とする再生方法。
【請求項１１】
コンピュータによって実行され、入力された信号に対してテンポ変換を行って再生するための再生プログラムであって、
前記コンピュータを、
前記入力された信号から、波形を切り出す波形切り出し手段、
前記波形切り出し手段によって切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化手段、として機能させることを特徴とする再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号などに対してテンポ変換を行う技術分野に関する。
【背景技術】
【０００２】
従来から、音声信号などのデジタル信号の時間軸を圧縮又は伸長する技術が知られている。つまり、音声信号などを再生する際の再生スピードを変化させる技術（以下、「テンポ変換」又は「タイムストレッチ」と呼ぶ。）が提案されている。また、デジタル信号のピッチを変えずにテンポ変換を行うことを図った技術が提案されている。これは、音程を保ちつつ楽曲の再生スピードを変化させることに相当する。【０００３】
例えば、特許文献１には、原デジタル信号から切り出した波形の両端をクロスフェードさせながら結合することによりテンポ変換を行うこと、及び、切り出す波形の切り出し開始位置を、探索開始位置から探索終了位置までの間のクロスフェードされる波形同士が最も類似する位置に決定することが提案されている。また、特許文献２には、音声情報のテンポが変化させられても、音声情報のピッチを記憶媒体に記録されていた音声情報のピッチと同一にするようにピッチを変化させるか、または音声情報のピッチに変化を加えないことが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３２２１００号公報
【特許文献２】特許３４０２４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した特許文献１及び２に記載された技術では、テンポ変換により時間軸を大幅に伸長した場合、例えば再生スピードをかなり遅くした場合に、切り出された波形の区間の繰り返し再生によるビート音が発生することで、再生音質が低下してしまう可能性があった。【０００６】
本発明が解決しようとする課題としては、上記のものが一例として挙げられる。本発明は、テンポ変換に起因する音質劣化の発生を適切に抑制することが可能な再生装置、再生方法及び再生プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、入力された信号に対してテンポ変換を行って再生する再生装置である。再生装置は、前記入力された信号から、波形を切り出す波形切り出し手段と、前記波形切り出し手段によって切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化手段と、を備える。【０００８】
請求項１０に記載の発明は、入力された信号に対してテンポ変換を行って再生するための再生方法である。再生方法は、前記入力された信号から、波形を切り出す波形切り出し工程と、前記波形切り出し工程で切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化工程と、を備える。【０００９】
請求項１１に記載の発明は、コンピュータによって実行され、入力された信号に対してテンポ変換を行って再生するための再生プログラムである。再生プログラムは、前記コンピュータを、前記入力された信号から、波形を切り出す波形切り出し手段、前記波形切り出し手段によって切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化手段、として機能させる。
【図面の簡単な説明】
【００１０】
【図１】一般的なテンポ変換の手法を説明するための図を示す。
【図２】第１実施例に係る再生装置の概略構成を示すブロック図である。
【図３】波形巡回を具体的に説明するための図を示す。
【図４】ループ波形化を具体的に説明するための図を示す。
【図５】位相ランダム化による作用の一例を示す。
【図６】第１実施例の全体処理を示すフローチャートである。
【図７】ループ波形化を示すフローチャートである。
【図８】波形巡回を示すフローチャートである。
【図９】位相ランダム化を示すフローチャートである。
【図１０】第２実施例の全体処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
本発明の１つの観点では、入力された信号に対してテンポ変換を行って再生する再生装置は、前記入力された信号から、波形を切り出す波形切り出し手段と、前記波形切り出し手段によって切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化手段と、を備える。
【００１２】
上記の再生装置は、入力された信号に対してテンポ変換を行って再生するために、つまり再生スピードを変化させて音声信号などを再生するために好適に利用される。波形切り出し手段は、入力された信号から波形を切り出す。具体的には、波形切り出し手段は、連続する入力信号に対応する波形から、時間軸方向に所定の長さを有する波形を、所定の周期で繰り返し切り出す。なお、本明細書では「波形」とは、信号の形状などを意味するのではなく、時間的に連続する信号のデータを意味するものとする。
【００１３】
そして、位相ランダム化手段は、こうして切り出された波形に対して、テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う。具体的には、位相ランダム化手段は、再生スピードに応じて、切り出された波形の周波数領域における各周波数の位相をランダム化する。これにより、テンポ変換に起因する音質劣化の発生を適切に抑制することが可能となる。例えば、ループの周期に応じた音（ビート音）の発生を適切に抑制することが可能となる。
【００１４】
上記の再生装置の一態様では、前記位相ランダム化手段は、前記切り出された波形に対して、長さが「１」で位相が前記再生スピードに応じてランダムなベクトルを乗算する処理を行う。
【００１５】
この態様では、位相ランダム化手段は、切り出された波形における各周波数エレメントに対して、長さが「１」で位相が再生スピードに応じてランダムなベクトルを乗じることで、位相ランダム化を行う。これにより、より滑らかで、より幅の広いテンポ変換を実現することが可能となる。
【００１６】
上記の再生装置の他の一態様では、前記位相ランダム化手段は、前記再生スピードが「１」未満である場合にのみ、前記ランダム化する処理を行う。
【００１７】
この態様では、再生スピードが「１」以上である場合には、位相をランダム化する処理を行わない。このように再生スピードに応じて選択的にランダム化を行うことで、処理負荷を軽減することができる。
【００１８】
上記の再生装置の他の一態様では、前記波形切り出し手段によって前回切り出された波形と前記波形切り出し手段によって今回切り出された波形との位相ずれに応じて、前記今回切り出された波形を巡回させる処理を行う波形巡回手段を更に備え、前記位相ランダム化手段は、前記波形巡回手段によって前記巡回させる処理が行われた後の波形に対して、前記ランダム化する処理を行う。
【００１９】
この態様によれば、切り出し波形に対して処理を施すことにより、位相を合わせて再生するのみの定常的な処理を行えば良いので、処理を簡略化することができる。例えば、クロスフェード位置（言い換えるとスムージング位置）や波形の切り出し位置などを考慮した適応的な処理を行わなくて済む。
【００２０】
上記の再生装置において好適には、前記波形巡回手段は、前記位相ずれ分だけ、前記今回切り出された波形の位相を進める処理又は遅らせる処理を行うと共に、前記今回切り出された波形において前記位相ずれ分に対応するサンプルを、前記今回切り出された波形の後ろ又は前に回す処理を行う。
【００２１】
好適な例では、前記位相ランダム化手段は、前記波形巡回手段によって前記巡回させる処理が行われた波形をフーリエ変換した波形に対して、前記ランダム化する処理を行う。
【００２２】
他の好適な例では、前記波形巡回手段は、前記切り出された波形をフーリエ変換した波形に対して、前記巡回させる処理を行う。
【００２３】
上記の再生装置の他の一態様では、前記切り出された波形を、連続で繰り返し再生可能な波形に変換する処理を行うループ波形化手段を更に備え、前記波形巡回手段は、前記ループ波形化手段によって前記変換する処理が行われた後の波形に対して、前記巡回させる処理を行う。
【００２４】
この態様によれば、巡回された波形の結合部分における不連続点の発生を抑制することができる。よって、周期的な雑音などの発生を適切に抑制することが可能となる。
【００２５】
上記の再生装置において好適には、前記ループ波形化手段は、前記切り出された波形に対して三角窓を乗算することで得られた波形と、前記波形切り出し手段が前記波形を切り出す区間に対応する周期の半周期分だけ、前記得られた波形を時間軸上で巡回させた波形とを加算することで、前記連続で繰り返し再生可能な波形を求める。
【００２６】
この場合、ループ波形化手段は、切り出し波形に対して三角窓を乗算することで得られた波形と、切り出し波形の時間方向の長さの半分だけ、当該得られた波形を時間軸上で巡回された波形とを加算することで、ループ波形化を行う。
【００２７】
本発明の他の観点では、入力された信号に対してテンポ変換を行って再生するための再生方法は、前記入力された信号から、波形を切り出す波形切り出し工程と、前記波形切り出し工程で切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化工程と、を備える。
【００２８】
本発明の他の観点では、コンピュータによって実行され、入力された信号に対してテンポ変換を行って再生するための再生プログラムは、前記コンピュータを、前記入力された信号から、波形を切り出す波形切り出し手段、前記波形切り出し手段によって切り出された波形に対して、前記テンポ変換を行う再生スピードに応じて、位相をランダム化する処理を行う位相ランダム化手段、として機能させる。
【００２９】
上記した再生方法及び再生プログラムによっても、テンポ変換に起因する音質劣化の発生を適切に抑制することが可能となる。
【実施例】
【００３０】
以下、図面を参照して本発明の好適な実施例について説明する。【００３１】
＜基本概念＞
まず、本実施例の内容を述べる前に、本実施例の基本概念について簡単に説明する。【００３２】
図１は、一般的に行われている、デジタル信号のピッチを変えずにテンポ変換（タイムストレッチ）を行う手法の一例を示す。一般的には、図１に示すように、再生すべき信号に対応する波形を所定の時間区間（Ａ〜Ｇ）に区切って、再生スピード（言い換えると「再生テンポ」である。以下同様とする。）を変化させるテンポ変換が行われる。具体的には、この手法では、再生時に当該区間のいずれかを欠落あるいは重複させることにより時間的に短縮することで再生スピードを速くすると共に、当該区間のいずれかを繰り返し再生することにより時間的に引き伸ばすことで再生スピードを遅くしている。【００３３】
上記した手法の問題点としては、区間の欠落や重複や繰り返しを行う際に、例えばリズムなどの時間的に短い音の信号が欠落してしまったり、二重に再生されてしまったりすることが挙げられる。これは、再生スピードを元の再生スピードから変化させる度合いが大きいほど、つまりタイムストレッチを行う度合いが大きいほど、顕著になる傾向にあると考えられる。【００３４】
本実施例では、このような一般的な手法を基本的には継承しつつ、より滑らかでより幅の広いタイムストレッチが実現されるような再生制御を行う、つまり、テンポ変換に起因する音質劣化の発生が適切に抑制されるような再生制御を行う。【００３５】
＜第１実施例＞
次に、第１実施例について説明する。【００３６】
（装置構成）
図２は、第１実施例に係る再生装置１００の概略構成を示すブロック図である。【００３７】
再生装置１００は、音声信号などを再生するための制御を行う装置である。例えば、再生装置１００は、図示しないＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disc）やＢＤ（Blu-ray Disc）などの記憶媒体に記憶された音声信号を読み取り、当該音声信号に対して処理を行った後の信号を再生信号として出力する。【００３８】
図２に示すように、再生装置１００は、主に、ＤＳＰ（Digital Signal Processor）１及び再生スピード設定部２を有する。なお、再生装置１００は、実際にはＤＳＰ１及び再生スピード設定部２以外の構成要素も有するが、説明の便宜上、図２には本実施例の制御に関係のある構成要素のみを図示している。【００３９】
ＤＳＰ１は、例えば記憶媒体から読み取られた信号などに対して所定の処理が行われた後の信号（具体的には音声信号）が入力され、入力された信号に対してテンポ変換を行った信号を出力する。この場合、ＤＳＰ１は、入力された信号に対して、再生スピード設定部２によって設定された再生スピードに応じたテンポ変換を行う。再生スピード設定部２は、例えばユーザによる操作に応じた再生スピードに設定する。【００４０】
なお、再生スピードは、言い換えると「再生テンポ倍率」である。再生スピードが「１」である場合には再生テンポは変化されず（つまりデフォルトの再生テンポに設定され）、再生スピードが「１」未満である場合には再生テンポが遅くされ、再生スピードが「１」より大きい場合には再生テンポが速くされる。この場合、再生スピードが「１」から離れていくほど、再生テンポがより遅くされる又は再生テンポがより早くされる。【００４１】
具体的には、ＤＳＰ１は、ループ波形化部１１と、波形巡回部１２と、フーリエ変換部１３と、位相ランダム化部１４と、逆フーリエ変換部１５と、を備える。ここでは、ＤＳＰ１内の各構成要素の説明を簡単に行う。【００４２】
ループ波形化部１１には、入力信号に対応する波形から所定の周期で切り出された、時間軸方向に所定の長さを有する波形が順次入力される。この場合、ループ波形化部１１には、図示しない波形切り出し手段から、当該波形が入力される。ループ波形化部１１は、このように切り出された波形を、連続で繰り返し再生可能な波形（つまりループ再生可能な波形）に変換する処理（以下、「ループ波形化」と呼ぶ。）を行う。【００４３】
波形巡回部１２は、前回切り出された波形と今回切り出された波形との位相ずれに応じて、ループ波形化部１１でループ波形化された波形を巡回させる処理（以下、「波形巡回」と呼ぶ。）を行う。フーリエ変換部１３は、波形巡回部１２で波形巡回された波形に対してフーリエ変換を行う。【００４４】
位相ランダム化部１４は、フーリエ変換部１３でフーリエ変換された波形に対して、その位相スペクトルをランダム化する処理（以下、「位相ランダム化」と呼ぶ。）を行う。具体的には、位相ランダム化部１４は、再生スピードが「１」未満である場合に、再生スピード設定部２によって設定された再生スピードに応じて、フーリエ変換された波形に対して、周波数領域における各周波数の位相をランダム化する処理を行う。逆フーリエ変換部１５は、位相ランダム化部１４で位相ランダム化された波形に対して逆フーリエ変換を行い、逆フーリエ変換が行われた後の波形を出力する。【００４５】
なお、ループ波形化部１１は本発明におけるループ波形化手段に相当し、波形巡回部１２は本発明における波形巡回手段に相当し、位相ランダム化部１４は本発明における位相ランダム化手段に相当する。【００４６】
（波形巡回）
次に、波形巡回部１２が行う波形巡回について具体的に説明する。【００４７】
一般的な手法においては、再生スピードを変化させるべく、固定ポイントで波形の切り出しを行い、固定ポイントで区切られた区間の欠落や重複や繰り返しを行うことで再生を実行する（図１参照）。このような手法を用いた場合、固定ポイントの間隔で音色がサンプリングされたことと等価となる。そのため、例えば再生スピードを遅くした場合において、滑らかに音が変化しなくなる可能性がある。【００４８】
したがって、本実施例では、固定ポイントを設けずに、そのつどの再生ポイントから短い時間区間にて波形を切り出す手法を採用する。言い換えると、本実施例では、入力波形から、所定の周期ごとに、時間軸方向に所定の長さを有する波形を順次切り出す手法を採用する。例えば、波形を切り出す周期は、波形を切り出す長さ（波形を切り出す区間）よりも短い。【００４９】
なお、以下では、入力された元の波形を切り出した波形を、適宜「切り出し波形」と呼び、時間軸上に規定される波形を切り出す区間（言い換えると波形を切り出す長さ）を、適宜「切り出し区間」又は単に「区間」と呼ぶ。また、本明細書では「切り出し波形」の文言は、入力された元の波形を切り出した直後の波形そのものだけでなく、当該波形に対して種々の処理を行った後の波形に対しても用いるものとする。【００５０】
上記のような手法では、再生スピードを遅くした場合に、重複した区間の情報が取り出される傾向にある。そのため、滑らかに再生するといった観点より、一般的な手法のように単純に区間の欠落や繰り返しといった再生を行うべきではないと言える。よって、本実施例では、波形巡回部１２は、より滑らかな再生を実現するべく、前区間の再生が相対的に進んでいる場合には、前区間の再生において切り出し区間より進んだ分だけ位相を進める処理を行うと共に、前区間の再生が相対的に遅れている場合には、前区間の再生において切り出し区間より遅れた分だけ位相を戻す処理を行う。【００５１】
他方で、このように位相を制御する場合において、切り出し区間の音色（スペクトル）が変わらないようにすることが望ましいと言える。これを満たすべく、本実施例では、波形巡回部１２は、切り出し区間をサーキュラバッファのように扱い、位相を進めたことにより前に出てしまったサンプルを後ろへ回す処理を行うと共に、位相を遅らせたことにより後ろへ出てしまったサンプルを前に回す処理を行う。ここでいう「サンプル」は、切り出し波形を構成するサンプリングデータに相当する（以下同様とする）。よって、波形を切り出すことは、入力信号から、所定数のサンプルの波形データを取り出すことに相当する。【００５２】
次に、図３を参照して、本実施例における波形巡回について具体的に説明する。【００５３】
図３（ａ）は、位相を進ませるのが望ましい理由を説明するための図を示す。図３（ａ）は、横方向に時間を示している。また、上に実際の楽曲の信号の一例を示し、下に切り出し区間における再生信号の一例を示している。ここでは、入力信号を「ｘ」と表記し、１つの切り出し区間（１ブロック）を「ｂｓ」と表記している。また、「ｎ」は任意の自然数であり、再生ポイントに対応する。【００５４】
この場合、「ｘ（ｎ）」から「ｘ（ｎ＋ｂｓ）」についての再生信号は、「ｘ（ｎ）」から「ｘ（ｎ＋ｂｓ）」の楽曲の波形を切り出すことで生成され、「ｘ（ｎ＋ｂｓ）」から「ｘ（ｎ＋２ｂｓ）」についての再生信号は、「ｘ（ｎ＋ｂｓ／２）」から「ｘ（ｎ＋３ｂｓ／２）」の楽曲の波形を切り出すことで生成される。このように重複した区間の情報を取り出して再生信号を生成した場合には、図３（ａ）中の符号Ａ１に示すように位相ずれが生じる傾向にある。この場合には、滑らかな再生が行われないため、再生信号の位相を進ませることが望ましいと言える。つまり、前の切り出し区間（「ｘ（ｎ）」から「ｘ（ｎ＋ｂｓ）」の区間）の再生において、後の切り出し区間（「ｘ（ｎ＋ｂｓ／２）」から「ｘ（ｎ＋３ｂｓ／２）」の区間）より進んだサンプル分だけ、後の切り出し波形の位相を進めることが望ましいと言える。【００５５】
図３（ｂ）は、本実施例における波形巡回の一例を示す図である。本実施例では、波形巡回部１２は、滑らかな再生を実現するために、前回の切り出し波形（前区間の再生のために切り出された波形）が今回の切り出し波形（後区間の再生のために切り出された波形）よりも相対的に進んでいる場合、言い換えると今回の切り出し波形が前回の切り出し波形よりも相対的に遅れている場合、その位相ずれ分だけ、今回の切り出し波形の位相を進める処理を行う。図３（ｂ）では、位相を進める場合を例示している。他方で、波形巡回部１２は、前回の切り出し波形が今回の切り出し波形よりも相対的に遅れている場合、言い換えると今回の切り出し波形が前回の切り出し波形よりも相対的に進んでいる場合、その位相ずれ分だけ、今回の切り出し波形の位相を遅らせる処理を行う。【００５６】
更に、本実施例では、波形巡回部１２は、切り出した区間における音色（スペクトル）を保持するために、位相を進めた場合には、位相を進めたことにより前に出てしまったサンプルを後ろへ回す処理を行う。つまり、波形巡回部１２は、切り出し波形の位相を進めた場合に、当該切り出し波形において位相を進めた分に相当する前のサンプルを摘出して、摘出したサンプルを当該切り出し波形の後ろに結合する処理を行う。図３（ｂ）では、位相を進めることによりサンプルＢ１が前に出てしまうことから、当該サンプルＢ１を後ろへ回す場合を例示している。他方で、波形巡回部１２は、位相を遅らせた場合には、位相を遅らせたことにより後ろに出てしまったサンプルを前へ回す処理を行う。つまり、波形巡回部１２は、切り出し波形の位相を遅らせた場合に、当該切り出し波形において位相を遅らせた分に相当する後ろのサンプルを摘出して、摘出したサンプルを当該切り出し波形の前に結合する処理を行う。【００５７】
（ループ波形化）
次に、ループ波形化部１１が行うループ波形化について具体的に説明する。【００５８】
上記したように波形巡回を行った場合、具体的にはサンプルを後ろに回す処理又は前に回す処理を行った場合、後ろに回ったサンプルのポイント又は前に回ったサンプルのポイントにおいて（つまり摘出したサンプルを結合したポイントにおいて）、不連続点が生じてしまう可能性がある。不連続点が生じた場合には、周期的に雑音が発生するおそれがある。【００５９】
したがって、本実施例では、ループ波形化部１１は、このような不連続点の発生を抑制するべく、切り出し波形を連続で繰り返し再生可能（ループ可能）な状態に変換するためのループ波形化を行う。つまり、ループ波形化部１１は、音色（スペクトル）をなるべく変化させずに、切り出し区間における音をループ音に変換する処理を行う。【００６０】
具体的には、ループ波形化部１１は、切り出し区間においての時間軸上における始点、中点、及び終点のそれぞれの値が「０」、「１」、「０」である三角形状を有する窓関数（言い換えるとバートレット窓であり、以下では「三角窓」と呼ぶ。）を用いて、ループ波形化を行う。詳しくは、ループ波形化部１１は、切り出し波形に対して三角窓を乗算することで得られた波形と、当該得られた波形を、切り出し区間に対応する周期の半周期分だけずらした波形（巡回させた波形）とを加算することで、ループ波形化を行う。なお、波形巡回部１２は、このようにループ波形化部１１がループ波形化を行った後の波形に対して、上記した処理を行う。【００６１】
次に、図４を参照して、本実施例におけるループ波形化について具体的に説明する。図４（ａ）は、切り出し波形を模式的に示している。図４（ｂ）は、切り出し波形に対して三角窓を乗算することで得られた波形を模式的に示している。図４（ｃ）は、切り出し波形に対して三角窓を乗算することで得られた波形と、当該得られた波形を、切り出し区間に対応する周期の半周期分だけ巡回させた波形と、を加算することを模式的に示している。図４（ｄ）は、図４（ｃ）に示す演算により得られた波形を模式的に示している。つまり、切り出し波形に対してループ波形化を行った後の波形を模式的に示している。【００６２】
なお、三角窓として、始点、中点、及び終点のそれぞれの値が「０」、「１」、「０」である窓を用いることに限定はされない。また、ループ波形化を行う際に三角窓を用いることに限定はされず、三角窓以外の公知の窓関数（例えばガウス窓など）を用いても良い。【００６３】
（位相ランダム化）
次に、位相ランダム化部１４が行う位相ランダム化について具体的に説明する。【００６４】
再生スピードをかなり遅くした場合には、上記したようにループ波形化及び波形巡回を行った波形を用いた場合にも、ループの周期に応じた音が聴こえてしまう可能性がある。ここで、切り出し区間の楽音に含まれる情報としては、大きく分けると２種類の情報が考えられる。１つは、定常音成分（振幅が一定な純音成分とノイズ成分）であり、もう１つは、エンベロープ（音の時間的な強弱の変化）や周波数変化を作り出す変調成分である。定常音成分はループ再生しても連続的に聴こえるため問題はないが、変調成分はエンベロープ等を作るため、ループ再生するとその周期が目立って聴こえてしまう場合がある。【００６５】
このような不具合は、切り出し区間の楽音情報から変調成分を取り除けば解決できると考えられるが、スペクトル等から定常音成分と変調成分とを分離することは困難である。また、たとえ変調成分が抜き出せたとしても、変調成分を削ることでスペクトル形状が変化することにより、音色に大きな影響を与えてしまう可能性があると考えられる。【００６６】
したがって、本実施例では、切り出し波形に対して、処理が比較的軽く、切り出し区間において振幅スペクトル形状が変化しない、位相スペクトルのランダム化を行う。言い換えると、本実施例では、切り出し波形を定常音化する処理を行う。具体的には、位相ランダム化部１４は、テンポ変換における再生スピードに応じて、切り出し波形の周波数領域における各周波数の位相をランダム化する処理を行う。詳しくは、位相ランダム化部１４は、各周波数エレメントに対して、長さが「１」で位相が再生スピードに応じてランダムなベクトルを乗算する処理を行う。【００６７】
なお、位相ランダム化部１４は、再生すべき信号がステレオ信号である場合には、ステレオ感を保持するために、ステレオ信号の左右の信号に対して独立にランダム化を行わない。この場合、位相ランダム化部１４は、ステレオ信号の左右の信号において、ランダム化した位相として同じ位相を用いる。【００６８】
ここで、図５を参照して、本実施例における位相ランダム化による作用を具体的に説明する。図５は、位相ランダム化による作用の一例を示している。図５（ａ）に示すように、位相ランダム化を行った場合には、波形のエンベロープが崩れることがわかる。これにより、再生スピードを遅くしたとしても、上記したようなループの周期に応じた音の発生を抑制することができる。【００６９】
また、図５（ｂ）に示すように、位相ランダム化を行った場合には、切り出し区間において振幅スペクトル（言い換えると周波数特性）が変化しないことがわかる。【００７０】
（第１実施例の処理）
次に、図６乃至図９を参照して、第１実施例においてＤＳＰ１が行う処理を具体的に説明する。【００７１】
図６は、第１実施例の全体処理を示すフローチャートである。この処理は、ＤＳＰ１によって所定の周期で繰り返し実行される。なお、当該処理を行う所定の周期は、一定値を用いても良いし、変数を用いても良い。例えば、再生スピードなどに応じて、当該処理を行う周期を変えても良い。【００７２】
まず、ステップＳ１０１では、ＤＳＰ１は、再生すべき信号の波形が入力される。具体的には、ＤＳＰ１は、波形の読み出し位置から時間軸方向に所定の長さを有する波形のデータ、言い換えると波形の読み出し位置から所定数のサンプルを抽出した波形データが入力される。そして、処理はステップＳ１０２に進む。【００７３】
ステップＳ１０２では、ＤＳＰ１内のループ波形化部１１が、ステップＳ１０１で入力された波形に対してループ波形化を行う。具体的には、ループ波形化部１１は、上記したような三角窓を用いて、切り出し波形を連続で繰り返し再生可能な波形に変換する処理を行う。そして、処理はステップＳ１０３に進む。【００７４】
ステップＳ１０３では、ＤＳＰ１内の波形巡回部１２が、ステップＳ１０２でループ波形化された波形に対して波形巡回を行う。具体的には、波形巡回部１２は、前回切り出された波形と今回切り出された波形との位相ずれ分だけ、つまり切り出し波形についての読み出し位置と切り出し波形を出力すべき位置との間におけるサンプル分だけ、ループ波形化された波形を巡回させる処理を行う。そして、処理はステップＳ１０４に進む。【００７５】
ステップＳ１０４では、ＤＳＰ１は、再生スピード（言い換えると再生テンポ倍率）が「１」未満であるか否かを判定する。つまり、ＤＳＰ１は、再生スピード設定部２によって再生スピードを遅くするように設定されているか否かを判定する。再生スピードが「１」未満である場合（ステップＳ１０４；Ｙｅｓ）、処理はステップＳ１０５に進み、再生スピードが「１」以上である場合（ステップＳ１０４；Ｎｏ）、処理はステップＳ１０８に進む。【００７６】
ステップＳ１０５では、ＤＳＰ１内のフーリエ変換部１３が、ステップＳ１０３で波形巡回された波形に対してフーリエ変換を行う。そして、処理はステップＳ１０６に進む。【００７７】
ステップＳ１０６では、ＤＳＰ１内の位相ランダム化部１４が、ステップＳ１０５でフーリエ変換された波形に対して、その位相スペクトルをランダム化する処理を行う。具体的には、位相ランダム化部１４は、フーリエ変換された波形の各周波数エレメントに対して、長さが「１」で位相が再生スピードに応じてランダムなベクトルを乗算する処理を行う。そして、処理はステップＳ１０７に進む。【００７８】
ステップＳ１０７では、ＤＳＰ１内の逆フーリエ変換部１５が、ステップＳ１０６で位相ランダム化された波形に対して逆フーリエ変換を行う。そして、処理はステップＳ１０８に進む。ステップＳ１０８では、ＤＳＰ１は、ステップＳ１０７で逆フーリエ変換された波形を出力する。そして、処理は終了する。【００７９】
このようなフローを繰り返し行うことで、ピッチが保持されたテンポ変換が行われることとなる。例えば、重複した区間の波形を繰り返し切り出していき、切り出された波形に対して上記の処理を行うことで出力された波形を順次再生することで、時間的に引き伸ばされて再生スピードが遅くなった信号が再生されることとなる。【００８０】
以下では、ステップＳ１０２のループ波形化、ステップＳ１０３の波形巡回、及びステップＳ１０６の位相ランダム化において行われる処理を、より具体的に説明する。【００８１】
（１）ループ波形化の処理
図７は、上記したステップＳ１０２で行われるループ波形化を示すフローチャートである。このフローは、ＤＳＰ１内のループ波形化部１１によって実行される。【００８２】
ステップＳ２０１では、ループ波形化部１１は、上記のステップＳ１０１で入力された波形に対応する、Ｎサンプルの入力信号ｘ（０，１，…，Ｎ−１）を取得する。そして、処理はステップＳ２０２に進む。なお、「Ｎ」は、波形を切り出す場合のサンプリングデータ数に相当し、言い換えると切り出し波形を構成する波形データ数に相当し、１つの切り出し区間（１ブロック）を規定する値である（以下同様とする）。【００８３】
ステップＳ２０２では、ループ波形化部１１は、カウンタｎを「０」に設定する、つまり初期化を行う。カウンタｎは、再生ポイントを示している（以下同様とする）。この後、処理はステップＳ２０３に進む。【００８４】
ステップＳ２０３では、ループ波形化部１１は、カウンタｎが「Ｎ／２」よりも小さいか否かを判定する。当該判定は、切り出し区間の半周期で分けて切り出し波形に対する処理を実行するために行っている。「ｎ＜Ｎ／２」である場合（ステップＳ２０３；Ｙｅｓ）、処理はステップＳ２０４に進み、「ｎ＜Ｎ／２」でない場合（ステップＳ２０３；Ｎｏ）、つまり「ｎ≧Ｎ／２」である場合、処理はステップＳ２０５に進む。【００８５】
ステップＳ２０４の処理は、切り出し区間の前半の半周期において行われ、ステップＳ２０５の処理は、切り出し区間の後半の半周期において行われる。ステップＳ２０４、Ｓ２０５のそれぞれにおいては、ループ波形化部１１は、カウンタｎ及びサンプル数Ｎに基づいて係数ａ、ｂを求めて、当該係数ａを入力信号ｘ（ｎ）に乗算することで得られた値と、当該係数ｂを入力信号ｘ（ｎ）の位相をずらした信号に乗算することで得られた値とを加算することで、出力信号ｙ（ｎ）を算出する。こうすることは、切り出し波形に対して三角窓を乗算することで得られた波形と、当該得られた波形を、切り出し区間における半周期分だけずらした波形（言い換えると、当該得られた波形を、「Ｎ／２」だけ時間軸方向に巡回させた波形）とを加算することに相当する。ステップＳ２０４、Ｓ２０５が終了すると、処理はステップＳ２０６に進む。【００８６】
ステップＳ２０６では、ループ波形化部１１は、カウンタｎをインクリメントする（ｎ＝ｎ＋１）。そして、処理はステップＳ２０７に進む。ステップＳ２０７では、ループ波形化部１１は、カウンタｎがサンプル数Ｎに一致したか否かを判定する。カウンタｎがサンプル数Ｎに一致した場合（ステップＳ２０７；Ｙｅｓ）、処理はステップＳ２０８に進む。この場合、ループ波形化部１１は、ステップＳ２０４及びステップＳ２０５で算出された出力信号ｙ（０，１，…，Ｎ−１）を出力する（ステップＳ２０８）。そして、処理は終了する。これに対して、カウンタｎがサンプル数Ｎに一致していない場合（ステップＳ２０７；Ｎｏ）、処理はステップＳ２０３に戻る。この場合には、カウンタｎがサンプル数Ｎに一致するまで、上記したステップＳ２０３〜Ｓ２０７の処理を繰り返し行う。【００８７】
（２）波形巡回の処理
図８は、上記したステップＳ１０３で行われる波形巡回を示すフローチャートである。このフローは、ＤＳＰ１内の波形巡回部１２によって実行される。【００８８】
ステップＳ３０１では、波形巡回部１２は、Ｎサンプルの入力信号ｘ（０，１，…，Ｎ−１）を取得する。この入力信号ｘは、ループ波形化部１１によってループ波形化された信号に対応する。ここでは、説明の便宜上、ループ波形化で示した入力信号と同一の符号「ｘ」によって、波形巡回で用いる入力信号を示している。ステップＳ３０１が終了すると、処理はステップＳ３０２に進む。【００８９】
ステップＳ３０２では、波形巡回部１２は、カウンタｎを「０」に設定する、つまり初期化を行う。そして、処理はステップＳ３０３に進む。【００９０】
ステップＳ３０３では、波形巡回部１２は、カウンタｎと、切り出し波形を巡回させるべきサンプル数ｋ（前回の切り出し波形と今回の切り出し波形との位相ずれに相当し、以下では「波形巡回サンプル数ｋ」と呼ぶ。）とを加算した値が、サンプル数Ｎ未満であるか否かを判定する。当該判定は、切り出し波形の位相を進めた波形又は位相を遅らせた波形を出力すべきか、或いは、切り出し波形の位相を回すことで生成される波形を出力すべきかを判断するために行っている。例えば、波形巡回サンプル数ｋは、切り出し波形の読み出し位置における波形データと、切り出し波形を出力すべき位置における波形データとを比較することで設定される。【００９１】
なお、切り出し波形の位相を遅らせる場合には波形巡回サンプル数ｋは正値となり、切り出し波形の位相を進める場合には波形巡回サンプル数ｋは負値となるが、Ｎサンプルで巡回するため、ｋはＮから進めるサンプル数を減算した正の値を取ることとする。よって、ｋは「０」から「Ｎ−１」の値である。【００９２】
「ｎ＋ｋ＜Ｎ」である場合（ステップＳ３０３；Ｙｅｓ）、処理はステップＳ３０４に進む。この場合には、波形巡回部１２は、入力信号ｘ（ｎ＋ｋ）を出力信号ｙ（ｎ）として求める（ステップＳ３０４）。つまり、波形巡回部１２は、切り出し波形の位相を、波形巡回サンプル数ｋだけ進めた波形又は遅らせた波形を求める。そして、処理はステップＳ３０６に進む。なお、ここでは、説明の便宜上、ループ波形化で示した出力信号と同一の符号「ｙ」によって、波形巡回の出力信号を示している（以下同様とする）。【００９３】
これに対して、「ｎ＋ｋ＜Ｎ」でない場合（ステップＳ３０３；Ｎｏ）、つまり「ｎ＋ｋ≧Ｎ」である場合、処理はステップＳ３０５に進む。この場合には、波形巡回部１２は、入力信号ｘ（ｎ＋ｋ−Ｎ）を出力信号ｙ（ｎ）として求める（ステップＳ３０５）。つまり、波形巡回部１２は、波形巡回サンプル数ｋに応じて、切り出し波形の位相を前又は後ろに回した波形を求める。そして、処理はステップＳ３０６に進む。【００９４】
ステップＳ３０６では、波形巡回部１２は、カウンタｎをインクリメントする（ｎ＝ｎ＋１）。そして、処理はステップＳ３０７に進む。ステップＳ３０７では、波形巡回部１２は、カウンタｎがサンプル数Ｎに一致したか否かを判定する。カウンタｎがサンプル数Ｎに一致した場合（ステップＳ３０７；Ｙｅｓ）、処理はステップＳ３０８に進む。この場合、波形巡回部１２は、ステップＳ３０４及びステップＳ３０５で算出された出力信号ｙ（０，１，…，Ｎ−１）を出力する（ステップＳ３０８）。そして、処理は終了する。これに対して、カウンタｎがサンプル数Ｎに一致していない場合（ステップＳ３０７；Ｎｏ）、処理はステップＳ３０３に戻る。この場合には、カウンタｎがサンプル数Ｎに一致するまで、上記したステップＳ３０３〜Ｓ３０７の処理を繰り返し行う。【００９５】
（３）位相ランダム化の処理
図９は、上記したステップＳ１０６で行われる位相ランダム化を示すフローチャートである。このフローは、ＤＳＰ１内の位相ランダム化部１４によって実行される。【００９６】
ステップＳ４０１では、位相ランダム化部１４は、Ｎサンプルの入力信号Ｘ（０，１，…，Ｎ−１）を取得する。この入力信号Ｘは、フーリエ変換部１３が、波形巡回部１２で波形巡回された信号をフーリエ変換した信号に対応する。ステップＳ４０１が終了すると、処理はステップＳ４０２に進む。【００９７】
ステップＳ４０２では、位相ランダム化部１４は、カウンタｎを「０」に設定する、つまり初期化を行う。そして、処理はステップＳ４０３に進む。【００９８】
ステップＳ４０３では、位相ランダム化部１４は、入力信号Ｘ（ｎ）の位相スペクトルをランダム化する処理を行う。具体的には、位相ランダム化部１４は、「−π」から「π」までの範囲内にあるランダムな値に、「１」から再生スピードｓを減算した値を乗算することで「ｗ」を求め、この「ｗ」を偏角として長さが「１」である複素数Ｒを入力信号Ｘ（ｎ）に対して乗算することで出力信号Ｙ（ｎ）を求める。これは、入力された波形の各周波数エレメントに対して、長さが「１」で位相が再生スピードｓに応じてランダムなベクトルを乗算する処理を行うことに相当する。そして、処理はステップＳ４０４に進む。【００９９】
ステップＳ４０４では、位相ランダム化部１４は、カウンタｎをインクリメントする（ｎ＝ｎ＋１）。そして、処理はステップＳ４０５に進む。【０１００】
ステップＳ４０５では、位相ランダム化部１４は、カウンタｎが「Ｎ／２」に一致したか否かを判定する。カウンタｎが「Ｎ／２」に一致した場合（ステップＳ４０５；Ｙｅｓ）、処理はステップＳ４０６に進む。この場合、位相ランダム化部１４は、ｎが「Ｎ／２」以上であるときの出力信号Ｙ（Ｎ／２，Ｎ／２＋１，…，Ｎ−１）を「０」に設定する（ステップＳ４０６）。つまり、位相ランダム化部１４は、切り出し区間の後半の半周期における出力信号Ｙを「０」に設定する。こうしているのは、処理負荷を軽減するためである。Ｓ４０６が終了すると、処理はステップＳ４０７に進む。【０１０１】
なお、ステップＳ４０６の処理を行うことに限定はされない。つまり、ステップＳ４０５の判定、及びステップＳ４０６における出力信号Ｙを「０」に設定する処理を行わなくても良い。【０１０２】
ステップＳ４０７では、位相ランダム化部１４は、ステップＳ４０３で求められた出力信号Ｙ及びステップＳ４０６で「０」に設定された出力信号Ｙを合わせて出力する（ステップＳ４０７）。そして、処理は終了する。【０１０３】
一方で、カウンタｎが「Ｎ／２」に一致していない場合（ステップＳ４０５；Ｎｏ）、つまりカウンタｎが「Ｎ／２」未満である場合、処理はステップＳ４０３に戻る。この場合には、カウンタｎが「Ｎ／２」に一致するまで、上記したステップＳ４０３〜Ｓ４０５の処理を繰り返し行う。【０１０４】
（第１実施例の効果）
以上説明した第１実施例によれば、テンポ変換を行う場合に位相をランダム化することにより、大幅なテンポ変換を行っても、例えば再生スピードをかなり遅くしても、再生音質の劣化を適切に抑制することが可能となる。具体的には、ループの周期に応じた音（ビート音）の発生を適切に抑制することが可能となる。つまり、本実施例によれば、より滑らかで、より幅の広いテンポ変換を実現することが可能となる。【０１０５】
また、第１実施例では、切り出し波形に処理を施すことにより、位相を合わせて（波形巡回させて）再生するのみの定常的な処理を行えば良いので、処理を簡略化することができる。具体的には、前述した特許文献１及び２に記載された技術では、実用上においては、クロスフェード位置（スムージング位置）や波形の切り出し位置などを考慮した適応的な処理が必要であると考えられるが、本実施例では、定常的な処理で済むため、このような適応的な処理を省くことができる。【０１０６】
＜第２実施例＞
次に、第２実施例について説明する。第１実施例では、波形巡回を行った後にフーリエ変換を行っていたが、第２実施例では、フーリエ変換を行った後に波形巡回を行う点で、第１実施例と異なる。具体的には、第２実施例では、ループ波形化、フーリエ変換、波形巡回の順で処理を行う。また、第２実施例では、出力波形に対してオーバーラップ処理を行う点で第１実施例と異なる。【０１０７】
なお、第２実施例における処理も、上記した再生装置１００内のＤＳＰ１（図２参照）が行うものとする。また、ここで特に説明しない構成や手法などについては、第１実施例と同様であるものとする。【０１０８】
図１０は、第２実施例の全体処理を示すフローチャートである。この処理も、ＤＳＰ１によって所定の周期で繰り返し実行される。なお、ここでは、第１実施例の全体処理（図６参照）と同様の処理が行われるステップについては、その説明を適宜省略するものとする。【０１０９】
ステップＳ５０１及びＳ５０２では、上記したステップＳ１０１及びＳ１０２と同様の処理が行われる。ステップＳ５０３では、ＤＳＰ１内のフーリエ変換部１３が、ステップＳ５０２でループ波形化された波形に対してフーリエ変換を行う。そして、処理はステップＳ５０４に進む。【０１１０】
ステップＳ５０４では、ＤＳＰ１内の波形巡回部１２が、ステップＳ５０３でフーリエ変換された波形に対して波形巡回を行う。この場合、波形巡回部１２は、フーリエ変換された周波数軸上において波形巡回の処理を行う。具体的には、波形巡回部１２は、切り出し波形に対して「ｅｊωｋＴ」を乗算する処理を行う。なお、「ｋ」は波形巡回サンプル数を示しており、「Ｔ」は波形を切り出す場合のサンプリング周期を示している。【０１１１】
ステップＳ５０４の後、処理はステップＳ５０５に進む。ステップＳ５０５では、上記したステップＳ１０４と同様の判定が行われる。ステップＳ５０６では、ＤＳＰ１内の位相ランダム化部１４が、ステップＳ５０４で波形巡回された波形に対して位相ランダム化を行う。そして、処理はステップＳ５０７に進む。ステップＳ５０７では、上記したステップＳ１０７と同様の処理が行われる。【０１１２】
ステップＳ５０８では、ＤＳＰ１は、ステップＳ５０７で逆フーリエ変換された波形に対してオーバーラップ処理を行う。具体的には、ＤＳＰ１は、逆フーリエ変換された波形に対して所定のオーバーラップ窓（つまり窓関数）を乗算する処理を行う。例えば、ＤＳＰ１は、切り出し波形が前のオーバーラップ区間で滑らかに立ち上がると共に後ろのオーバーラップ区間で滑らかに減衰するように、切り出した波形に対して所定のオーバーラップ窓を乗算する。これにより、オーバーラップ処理された隣り合う切り出し波形が前後方向のオーバーラップ期間において重ね合わされて再生されることとなる。この後、処理はステップＳ５０９に進む。ステップＳ５０９では、ＤＳＰ１は、ステップＳ５０８でオーバーラップ処理された波形を出力する。そして、処理は終了する。【０１１３】
以上説明した第２実施例によっても、テンポ変換に起因する音質劣化の発生を適切に抑制することが可能となる。【０１１４】
＜変形例＞
上記では、ループ波形化、波形巡回、及び位相ランダム化の全てを行う実施例を示したが、これに限定はされない。他の例では、ループ波形化及び波形巡回を行わずに、位相ランダム化のみを行うこととすることができる。この例では、切り出し波形に対して、その位相をランダム化する処理のみを行う。更に他の例では、ループ波形化を行わずに波形巡回のみを行い、波形巡回の後に位相ランダム化を行うこととすることができる。これらの他の例によっても、テンポ変換に起因する音質劣化の発生を抑制することができる。【０１１５】
また、上記では、再生スピードが「１」未満である場合にのみ位相ランダム化を行う実施例を示したが、再生スピードが「１」以上である場合にも位相ランダム化を行っても良い。
【産業上の利用可能性】
【０１１６】
本発明は、種々のオーディオ再生装置に利用することができる。
【符号の説明】
【０１１７】
１  ＤＳＰ
２  再生スピード設定部
１１  ループ波形化部
１２  波形巡回部
１３  フーリエ変換部
１４  位相ランダム化部
１５  逆フーリエ変換部
１００  再生装置
【図１】
2012035595.tif 000003
【図２】
2012035595.tif 000004
【図３】
2012035595.tif 000005
【図４】
2012035595.tif 000006
【図５】
2012035595.tif 000007
【図６】
2012035595.tif 000008
【図７】
2012035595.tif 000009
【図８】
2012035595.tif 000010
【図９】
2012035595.tif 000011
【図１０】
2012035595.tif 000012
【国際調査報告】
2012035595.tif 000013
2012035595.tif 000014