"入力音声信号に対して音高変換処理を施して、前記入力音声信号の音の高さを変換する音高変換部と、期待される出力音声信号のサンプル数と、実際に出力される前記出力音声信号のサンプル数との誤差を検出する誤差検出部と、前記出力音声信号の時間長が前記誤差の分だけ補正されるように、前記時間長の調整を制御する時間長制御部とを備える音声処理装置。前記誤差検出部は、前記入力音声信号のサンプル数、出力された前記出力音声信号のサンプル数、および前記入力音声信号の未処理のサンプル数に基づいて、前記誤差を検出する請求項1に記載の音声処理装置。前記入力音声信号に対して時間伸縮処理を施して、前記入力音声信号の時間長を調整する時間伸縮処理部をさらに備える請求項1に記載の音声処理装置。前記時間長制御部による制御にしたがって、前記音高変換処理が施された前記入力音声信号に対するサンプルの間引きまたは挿入を行なうことで、前記時間長を調整する間引き挿入部をさらに備える請求項1に記載の音声処理装置。前記時間長制御部による制御にしたがって、前記音高変換処理が施された前記入力音声信号に対するサンプリングレート変換を行なうことで、前記時間長を調整する変換部をさらに備える請求項1に記載の音声処理装置。前記時間長制御部による制御にしたがって、前記誤差により定まる長さの窓を用いたオーバーラップ処理を、前記音高変換処理が施された前記入力音声信号に対して行なうことで、前記時間長を調整するオーバーラップ処理部をさらに備える請求項1に記載の音声処理装置。前記時間長制御部による制御にしたがって、前記誤差により定まる時間伸縮率で、前記入力音声信号に対する時間伸縮処理を行うことで、前記時間長を調整する時間伸縮処理部をさらに備える請求項1に記載の音声処理装置。入力音声信号に対して音高変換処理を施して、前記入力音声信号の音の高さを変換する音高変換部と、期待される出力音声信号のサンプル数と、実際に出力される前記出力音声信号のサンプル数との誤差を検出する誤差検出部と、前記出力音声信号の時間長が前記誤差の分だけ補正されるように、前記時間長の調整を制御する時間長制御部とを備える音声処理装置の音声処理方法であって、前記音高変換部が、前記入力音声信号に対して音高変換処理を施し、前記誤差検出部が、前記誤差を検出し、前記時間長制御部が、前記時間長の調整を制御するステップを含む音声処理方法。入力音声信号に対して音高変換処理を施して、前記入力音声信号の音の高さを変換し、期待される出力音声信号のサンプル数と、実際に出力される前記出力音声信号のサンプル数との誤差を検出し、前記出力音声信号の時間長が前記誤差の分だけ補正されるように、前記時間長の調整を制御するステップを含む処理をコンピュータに実行させるプログラム。しかしながら、上述した技術では、音声信号を音高変換する場合に、出力音声の伸縮揺らぎが生じてしまい、高品質な音声を得ることができなかった。例えば、音高変換する音声信号に対して、PICOLA等の時間伸縮処理を施す場合、音声信号の時間長をほぼ期待される長さに調整することはできるが、ピッチ長やフレーム長を単位として処理が行われるため、処理単位による制約を受けてしまう。そのため、音声信号の時間長を、期待されている時間長に正確に変換することができず、音高変換により得られた音声に伸縮揺らぎが生じてしまう。また、サンプリングレートコンバータ等により音高変換を行なった場合、音声信号に対する時間伸縮処理では、音高変換における音声の時間伸縮率の逆数が用いられて、時間長の調整が行なわれるが、時間伸縮率の逆数が必ずしも有理数になるとは限らない。このように時間伸縮率の逆数が有理数とならない場合には、時間伸縮処理に用いる時間伸縮率に誤差が生じてしまい、音声信号の時間長を、期待されている時間長に正確に変換することができなくなってしまう。本技術は、このような状況に鑑みてなされたものであり、音声信号を音高変換する場合に、出力音声の伸縮揺らぎを抑制することができるようにするものである。本技術の一側面の音声処理装置は、入力音声信号に対して音高変換処理を施して、前記入力音声信号の音の高さを変換する音高変換部と、期待される出力音声信号のサンプル数と、実際に出力される前記出力音声信号のサンプル数との誤差を検出する誤差検出部と、前記出力音声信号の時間長が前記誤差の分だけ補正されるように、前記時間長の調整を制御する時間長制御部とを備える。前記誤差検出部には、前記入力音声信号のサンプル数、出力された前記出力音声信号のサンプル数、および前記入力音声信号の未処理のサンプル数に基づいて、前記誤差を検出させることができる。音声処理装置には、前記入力音声信号に対して時間伸縮処理を施して、前記入力音声信号の時間長を調整する時間伸縮処理部をさらに設けることができる。音声処理装置には、前記時間長制御部による制御にしたがって、前記音高変換処理が施された前記入力音声信号に対するサンプルの間引きまたは挿入を行なうことで、前記時間長を調整する間引き挿入部をさらに設けることができる。音声処理装置には、前記時間長制御部による制御にしたがって、前記音高変換処理が施された前記入力音声信号に対するサンプリングレート変換を行なうことで、前記時間長を調整する変換部をさらに設けることができる。音声処理装置には、前記時間長制御部による制御にしたがって、前記誤差により定まる長さの窓を用いたオーバーラップ処理を、前記音高変換処理が施された前記入力音声信号に対して行なうことで、前記時間長を調整するオーバーラップ処理部をさらに設けることができる。音声処理装置には、前記時間長制御部による制御にしたがって、前記誤差により定まる時間伸縮率で、前記入力音声信号に対する時間伸縮処理を行うことで、前記時間長を調整する時間伸縮処理部をさらに設けることができる。本技術の一側面の音声処理方法またはプログラムは、入力音声信号に対して音高変換処理を施して、前記入力音声信号の音の高さを変換し、期待される出力音声信号のサンプル数と、実際に出力される前記出力音声信号のサンプル数との誤差を検出し、前記出力音声信号の時間長が前記誤差の分だけ補正されるように、前記時間長の調整を制御するステップを含む。本技術の一側面においては、入力音声信号に対して音高変換処理が施されて、前記入力音声信号の音の高さが変換され、期待される出力音声信号のサンプル数と、実際に出力される前記出力音声信号のサンプル数との誤差が検出され、前記出力音声信号の時間長が前記誤差の分だけ補正されるように、前記時間長の調整が制御される。本技術の一側面によれば、音声信号を音高変換する場合に、出力音声の伸縮揺らぎを抑制することができる。以下、図面を参照して、本技術を適用した実施の形態について説明する。第1の実施の形態[音高変換装置の構成例]図1は、本技術を適用した音高変換装置の一実施の形態の構成例を示す図である。この音高変換装置11は、入力された音声信号に対して音高変換処理を施して、音高音声のキーの高さが変換された音声信号を出力するものである。なお、以下では、音高変換装置11に入力される音声信号を入力音声信号とも称し、音高変換装置11から出力される音声信号を出力音声信号とも称することとする。また、音高変換処理の対象となる音声信号は、人の声や楽曲など、どのような音声の信号であってもよい。音高変換装置11は、バッファ21、誤差検出部22、時間長制御部23、音高変換部24、時間伸縮処理部25、および間引き/挿入部26から構成される。バッファ21は、入力された入力音声信号を一時的に保持し、音高変換部24に供給する。誤差検出部22は、入力された入力音声信号、バッファ21に保持されている未処理の音声信号、および間引き/挿入部26から供給された出力音声信号に基づいて、実際の出力音声信号のサンプル数と、出力音声信号のサンプル数の期待値との誤差を検出する。誤差検出部22は、検出された誤差を時間長制御部23に供給する。時間長制御部23は、誤差検出部22から供給された誤差に基づいて、音声信号の時間長の調整の制御を行なう。すなわち、時間長制御部23は、間引き/挿入部26に対して、音声信号の時間長、つまり音声信号のサンプル数の調整を指示する。音高変換部24は、バッファ21から読み出した音声信号に対して音高変換処理を施して、時間伸縮処理部25に供給する。時間伸縮処理部25は、音高変換部24から供給された音声信号に対して時間伸縮処理を施して、音声の音程を変えずに音声信号の時間長を伸縮させ、間引き/挿入部26に供給する。間引き/挿入部26は、時間長制御部23の制御にしたがって、時間伸縮処理部25から供給された音声信号のサンプルを間引いたり、音声信号にサンプルを挿入したりすることで音声信号の時間長を調整する。間引き/挿入部26は、音声信号に対する時間長の調整により得られた出力音声信号を、誤差検出部22および図示せぬ後段に出力する。[音高変換処理の説明]ところで、音高変換装置11に入力音声信号が供給されて音高変換が指示されると、音高変換装置11は音高変換処理を行って、入力音声信号を、同じサンプル数であり、異なる音高の出力音声信号に変換し、出力する。以下、図2のフローチャートを参照して、音高変換装置11による音高変換処理について説明する。ステップS11において、バッファ21は入力された入力音声信号を一時的に保持する。ステップS12において、誤差検出部22は、入力された入力音声信号、バッファ21に保持されている入力音声信号、および間引き/挿入部26から供給された出力音声信号に基づいて、出力音声信号のサンプル数の誤差を算出する。例えば、誤差検出部22は、入力された入力音声信号のサンプル数をN1、バッファ21に保持されている入力音声信号のサンプル数をN2、出力音声信号のサンプル数をN3として次式1を計算し、出力音声信号のサンプル数の誤差ERを算出する。誤差ER=N3-N1-N21なお、式1において、入力音声信号のサンプル数N1、および出力音声信号のサンプル数N3は、所定の位置サンプルからのサンプル数、例えば処理対象の音声信号の先頭のサンプルからのサンプル数などとされる。音高変換をしようとする場合、変換により得られる出力音声信号で伸縮揺らぎが生じないようにするためには、実際に出力された出力音声信号の全サンプルの数と、入力音声信号の全サンプルの数とが等しくなればよい。そこで、誤差検出部22は、現時点における出力音声信号のサンプル数と、実際に処理された入力音声信号のサンプル数との差を誤差ERとして算出する。ここで、入力音声信号の各サンプルは、バッファ21から順番に読み出されて音高変換部24により処理されるため、音高変換装置11に入力された入力音声信号のなかには、まだ処理されていないサンプルもある。そのような未処理のサンプルは、バッファ21に保持されているサンプルであるので、入力音声信号のサンプル数N1と、バッファ21に保持されている音声信号のサンプル数N2の差を求めれば、実際に処理されたサンプル数が得られることになる。したがって、実際に処理されたサンプル数N1-N2と、実際に出力された出力音声信号のサンプル数N3とが同じ数であれば、つまり誤差ERが0となれば、出力音声信号で伸縮揺らぎが生じないことになる。入力音声信号のサンプル数N1、バッファ21の音声信号のサンプル数N2、および出力音声信号のサンプル数N3は、誤差検出部22により正確に把握が可能であり、これらの数は、0または正の整数となる。したがって、誤差検出部22は、これらの0または正の整数から、誤差検出部22における演算精度によらず、式1の計算により誤差ERを正確に算出することができる。誤差検出部22は、算出した誤差ERを時間長制御部23に供給すると、処理はステップS12からステップS13に進む。ステップS13において、時間長制御部23は、誤差検出部22から供給された誤差ERに基づいて、音声信号の時間長の調整の制御を行なう。例えば、時間長制御部23は、誤差ERが正の値である場合、間引き/挿入部26に音声信号からのサンプルの間引きを指示し、誤差ERが負の値である場合、間引き/挿入部26に音声信号へのサンプルの挿入を指示する。また、誤差ERが0である場合には、時間長制御部23は、間引き/挿入部26に処理の実行を抑制させる。ステップS14において、音高変換部24は、バッファ21から所定量の音声信号を読み出して、読み出した音声信号に対して音高変換処理を行い、音高変換された音声信号を時間伸縮処理部25に供給する。例えば、バッファ21からは、1フレーム分ずつ音声信号が読み出されて、処理が行われる。また、音高変換部24は、例えば音声信号に対してサンプリングレート変換を行なうことにより、音声信号の音声波形の周期を長くしたり、短くしたりして音声信号の音高を所望の高さに変換する。なお、音声信号の音高変換は、PSOLAPitchSynchronousOverlapAddなど、他の方法により実現されるようにしてもよい。ステップS15において、時間伸縮処理部25は、音高変換部24から供給された音声信号に対して、PICOLAやフェーズボコーダなどの時間伸縮処理を行い、その結果得られた音声信号を間引き/挿入部26に供給する。例えば、時間伸縮処理では、音高変換部24により行なわれる音高変換処理によって変化した音声信号の時間長の伸縮率の逆数が時間伸縮率とされ、その時間伸縮率により音声信号の時間長が調整される。これにより、音高変換部24による音高変換により増減した音声信号のサンプル数が、音高変換前のサンプル数とほぼ同じサンプル数となるように、音声信号のサンプル数が増減される。ステップS16において、間引き/挿入部26は、時間長制御部23の制御にしたがって、時間伸縮処理部25から供給された音声信号のサンプルの間引きまたは挿入を行い、出力音声信号を生成する。例えば、間引き/挿入部26は、誤差ERが正の値である場合、誤差ERに示される数だけ、音声信号からサンプルを間引く欠落させる。なお、音声信号から複数個のサンプルが間引かれる場合には、音声信号の連続して並ぶ複数のサンプルが間引かれてもよいし、音声信号のいくつかの位置から、それぞれサンプルが間引かれるようにしてもよい。また、間引き/挿入部26は、誤差ERが負の値である場合、誤差ERに示される数だけ、音声信号の所定の位置にサンプルを挿入する。ここで、音声信号に挿入されるサンプルのサンプル値は、例えば挿入しようとするサンプルの直前または直後にあるサンプルのサンプル値と同じ値とされてもよいし、0などの予め定められた値とされてもよい。なお、音声信号に複数個のサンプルを挿入する場合には、音声信号の1つの区間に連続して複数のサンプルが挿入されてもよいし、音声信号のいくつかの位置に、それぞれサンプルが挿入されるようにしてもよい。また、誤差ERが0である場合には、間引き/挿入部26は、音声信号に対するサンプルの間引きも挿入も行なわず、時間伸縮処理部25から供給された音声信号を、そのまま出力音声信号とする。間引き/挿入部26は、出力音声信号を生成すると、生成した出力音声信号を誤差検出部22に供給するとともに、出力音声信号を後段の再生部等に出力する。このように、間引き/挿入部26において、誤差ERの分だけ音声信号からサンプルを欠落させたり、サンプルを挿入したりして音声信号のサンプル数の補正を行なうことで、出力音声信号のサンプル数を、期待される予測されるサンプル数とすることができる。すなわち、時間伸縮処理部25では調整しきれなかったサンプル数の微調整を行ない、出力音声信号のサンプル数を、入力音声信号のサンプル数と同じ数とすることができる。ステップS17において、音高変換装置11は、処理を終了するか否かを判定する。例えば、供給された入力音声信号の全てのサンプルについて処理を行った場合、処理を終了すると判定される。ステップS17において、処理を終了しないと判定された場合、処理はステップS11に戻り、上述した処理が繰り返される。これに対して、ステップS17において、処理を終了すると判定された場合、音高変換処理は終了する。以上のようにして、音高変換装置11は、出力されると期待される出力音声信号のサンプル数と、実際の出力音声信号のサンプル数との誤差を算出し、その誤差に応じて音声信号のサンプル数を増減させる。これにより、出力音声信号のサンプル数を、期待されるサンプル数とすることができる。特に、音高変換装置11では、音高変換処理を行いながら、常に期待する出力音声信号のサンプル数への補正が行なわれるため、出力音声の伸縮揺らぎを抑制することができる。変形例1[音高変換装置の構成例]なお、以上においては、音高変換処理が行われてから時間伸縮処理が行われる場合について説明したが、時間伸縮処理の後に音高変換処理が行われるようにしてもよい。そのような場合、音高変換装置は、例えば図3に示すように構成される。なお、図3において、図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図3の音高変換装置51は、バッファ21乃至間引き/挿入部26から構成される。この音高変換装置51と、図1の音高変換装置11とは、音高変換部24と時間伸縮処理部25との接続関係のみが異なり、他の構成は同じとなっている。すなわち、音高変換装置51では、時間伸縮処理部25がバッファ21から読み出した音声信号に対して時間伸縮処理を行い、音高変換部24に供給する。そして、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、間引き/挿入部26に供給する。[音高変換処理の説明]次に、図4のフローチャートを参照して、図3の音高変換装置51による音高変換処理について説明する。なお、ステップS41乃至ステップS43の処理は、図2のステップS11乃至ステップS13の処理と同様であるので、その説明は省略する。ステップS44において、時間伸縮処理部25は、バッファ21から音声信号を読み出して時間伸縮処理を行い、音高変換部24に供給する。そして、ステップS45において、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、間引き/挿入部26に供給する。なお、ステップS44およびステップS45では、図2のステップS15およびステップS14と同様の処理が行われる。ステップS45の処理が行われると、その後、ステップS46およびステップS47の処理が行われて音高変換処理は終了するが、これらの処理は図2のステップS16およびステップS17の処理と同様であるので、その説明は省略する。このように、時間伸縮処理後に音高変換処理を行うようにしても、出力音声の伸縮揺らぎを抑制することができる。第2の実施の形態[音高変換装置の構成例]また、以上においては、サンプル数の誤差ER分の補正を、サンプルの間引きまたは挿入により行なうと説明したが、サンプリングレート変換処理により誤差ER分の補正が行われるようにしてもよい。そのような場合、音高変換装置は、例えば図5に示すように構成される。なお、図5において、図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図5の音高変換装置71と図1の音高変換装置11とは、音高変換装置11の間引き/挿入部26に代えて、音高変換装置71に変換処理部81が設けられている点で異なり、その他の点では同じ構成とされている。変換処理部81は、時間長制御部23の制御にしたがって、時間伸縮処理部25から供給された音声信号にサンプリングレート変換処理を施すことで、音声信号の時間長を調整する。変換処理部81は、音声信号に対する時間長の調整により得られた出力音声信号を、誤差検出部22および図示せぬ後段に出力する。[音高変換処理の説明]次に、図6のフローチャートを参照して、音高変換装置71による音高変換処理について説明する。なお、ステップS71乃至ステップS75の処理は、図2のステップS11乃至ステップS15の処理と同様であるので、その説明は省略する。ステップS76において、変換処理部81は、時間長制御部23の制御にしたがって、時間伸縮処理部25から供給された音声信号に対してサンプリングレート変換を行い、音声信号のサンプリングレートを変換する。例えば、変換処理部81は、誤差ERが正の値である場合、誤差ERに示される数だけ音声信号からサンプルが欠落するように、音声信号を誤差ERにより定まる変換率でダウンサンプリングする。また、変換処理部81は、誤差ERが負の値である場合、誤差ERに示される数だけ音声信号にサンプルが挿入されるように、音声信号を誤差ERにより定まる変換率でアップサンプリングする。このように、サンプリングレート変換処理として、誤差ERに応じてダウンサンプリングまたはアップサンプリングを行うことで、補間等により音声信号のサンプル数を増減させて、出力音声信号のサンプル数を期待されるサンプル数とすることができる。なお、誤差ERが0である場合には、変換処理部81は、音声信号に対するサンプリングレート変換処理を行なわず、時間伸縮処理部25から供給された音声信号を、そのまま出力音声信号とする。変換処理部81は、出力音声信号を生成すると、生成した出力音声信号を誤差検出部22に供給するとともに、出力音声信号を後段の再生部等に出力する。ステップS76の処理が行われると、その後、ステップS77の処理が行われて音高変換処理は終了するが、ステップS77の処理は図2のステップS17の処理と同様であるので、その説明は省略する。このようにして音高変換装置71は、出力されると期待される出力音声信号のサンプル数と、実際の出力音声信号のサンプル数との誤差を算出し、その誤差に応じて音声信号のサンプリングレートを変換して、音声信号のサンプル数を増減させる。これにより、出力音声信号のサンプル数を、期待されるサンプル数とすることができ、出力音声の伸縮揺らぎを抑制することができる。変形例2[音高変換装置の構成例]なお、誤差ERに応じてサンプリングレート変換処理が行われる場合においても、時間伸縮処理の後に音高変換処理が行われるようにしてもよい。そのような場合、音高変換装置は、例えば図7に示すように構成される。なお、図7において、図5における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図7の音高変換装置111と図5の音高変換装置71とは、音高変換部24と時間伸縮処理部25の接続関係が逆となっている点で異なり、その他の点では同じ構成とされている。すなわち、音高変換装置111では、時間伸縮処理部25がバッファ21から読み出した音声信号に対して時間伸縮処理を行い、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、変換処理部81に供給する。[音高変換処理の説明]次に、図8のフローチャートを参照して、図7の音高変換装置111による音高変換処理について説明する。なお、ステップS101乃至ステップS103の処理は、図6のステップS71乃至ステップS73の処理と同様であるので、その説明は省略する。ステップS104において、時間伸縮処理部25は、バッファ21から音声信号を読み出して時間伸縮処理を行い、音高変換部24に供給する。そして、ステップS105において、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、変換処理部81に供給する。なお、ステップS104およびステップS105では、図6のステップS75およびステップS74と同様の処理が行われる。ステップS105の処理が行われると、その後、ステップS106およびステップS107の処理が行われて音高変換処理は終了するが、これらの処理は図6のステップS76およびステップS77の処理と同様であるので、その説明は省略する。このように、時間伸縮処理後に音高変換処理を行うようにしても、出力音声の伸縮揺らぎを抑制することができる。第3の実施の形態[音高変換装置の構成例]なお、以上においては、サンプリングレート変換処理により誤差ER分の補正を行なう例について説明したが、窓掛けによるオーバーラップ処理により、誤差ER分の補正が行われるようにしてもよい。そのような場合、音高変換装置は、例えば図9に示すように構成される。なお、図9において、図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図9の音高変換装置141と図1の音高変換装置11とは、音高変換装置11の間引き/挿入部26に代えて、音高変換装置141にオーバーラップ処理部151が設けられている点で異なり、その他の点では同じ構成とされている。オーバーラップ処理部151は、時間長制御部23の制御にしたがって、時間伸縮処理部25から供給された音声信号に窓掛けによるオーバーラップ処理を施すことで、音声信号の時間長を調整する。オーバーラップ処理部151は、音声信号に対する時間長の調整により得られた出力音声信号を、誤差検出部22および図示せぬ後段に出力する。[音高変換処理の説明]次に、図10のフローチャートを参照して、音高変換装置141による音高変換処理について説明する。なお、ステップS131乃至ステップS135の処理は、図2のステップS11乃至ステップS15の処理と同様であるので、その説明は省略する。ステップS136において、オーバーラップ処理部151は、時間長制御部23の制御にしたがって、時間伸縮処理部25から供給された音声信号に対してオーバーラップ処理を行い、音声信号のサンプル数を増減させる。例えば、オーバーラップ処理部151は、誤差ERが正の値である場合、誤差ER分のサンプル数の長さ以下、窓フレーム長とも称するの窓掛けによるオーバーラップ処理を音声信号に対して行う。これにより、例えば音声信号の窓フレーム長の2倍の長さの区間が、窓フレーム長の長さの区間に変換されて、サンプル数の調整が行なわれる。すなわち、窓フレーム長誤差ERの長さ分だけ、音声信号のサンプルが削減される。また、オーバーラップ処理部151は、誤差ERが負の値である場合、誤差ER分のサンプル数の長さの窓掛けによるオーバーラップ処理を音声信号に対して行う。これにより、例えば音声信号の窓フレーム長の2倍の長さの区間が、窓フレーム長の3倍の長さの区間に変換されて、サンプル数の調整が行なわれる。すなわち、窓フレーム長誤差ERの長さ分だけ、音声信号のサンプルが増加される。なお、誤差ERが0である場合には、オーバーラップ処理部151は、音声信号に対するオーバーラップ処理を行なわず、時間伸縮処理部25から供給された音声信号を、そのまま出力音声信号とする。また、オーバーラップ処理で用いられる窓は、三角窓、方形窓、ハニング窓、sin窓、cos窓など、どのような形状の窓であってもよい。例えば、誤差ERが正の値であり、オーバーラップ処理において三角窓が用いられる場合、図11に示すように音声信号DA11が時間方向に縮小される。なお、図11において、横方向は時間を示しており、縦方向は信号または関数の値の大きさを示している。また、図中、音声信号の波形上の円はサンプルを表している。図11において、矢印A11に示すように、時間伸縮処理部25から音声信号DA11がオーバーラップ処理部151に供給されたとする。そして、オーバーラップ処理部151が、音声信号DA11の区間NH1および区間NH2からなる区間を、半分のサンプル数の区間に縮小するとする。なお、区間NH1および区間NH2は、ともに音声信号DA11のN個の連続するサンプルからなる、窓フレーム長の長さの区間である。このような場合、音声信号DA11の区間NH1および区間NH2に対して、矢印A12に示すように、三角窓TF1および三角窓TF2による窓掛けが行なわれる。ここで、三角窓TF1は、区間NH1内の各サンプルに乗算される重みを示す窓関数であり、区間NH1内の図中、右側にあるサンプルに乗算される重みほど、その重みの大きさが小さくなっている。三角窓TF1の重みの大きさは、時間方向未来方向に直線的に小さくなる。また、三角窓TF2は、区間NH2内の各サンプルに乗算される重みを示す窓関数であり、区間NH2内の図中、右側にあるサンプルに乗算される重みほど、その重みの大きさが大きくなっている。三角窓TF2の重みの大きさは、時間方向未来方向に直線的に大きくなる。このような三角窓TF1および三角窓TF2を用いた窓掛けが行なわれると、矢印A13に示す信号DN1および信号DN2が得られる。つまり、音声信号DA11の区間NH1内の各サンプルに、それらのサンプルと同じ位置の三角窓TF1の値が重みとして乗算され、信号DN1とされる。同様に、音声信号DA11の区間NH2内の各サンプルに、それらのサンプルと同じ位置の三角窓TF2の値が重みとして乗算され、信号DN2とされる。そして、信号DN1と信号DN2の同じ位置にあるサンプルが加算されて、矢印A14に示す信号DC1が生成される。このように信号DN1と信号DN2を合成して得られた、N個のサンプルからなる信号DC1が、音声信号DA11の区間NH1および区間NH2からなる区間に挿入され、その結果得られた信号がオーバーラップ処理後の音声信号とされる。すなわち、音声信号DA11の区間NH1および区間NH2からなる区間の信号が、信号DC1と置き換えられて、音声信号DA11がNサンプル分だけ縮小される。また、音声信号DA11を縮小させる場合、例えば図12に示す窓が用いられてもよい。すなわち、図中、上側に示すように、音声信号DA11の区間NH1および区間NH2に対して、方形窓TF11および方形窓TF12による窓掛けが行なわれてもよい。ここで、方形窓TF11および方形窓TF12は、各サンプルに乗算される重みが同じ値となる窓関数である。さらに、図中、下側に示すように、音声信号DA11の区間NH1および区間NH2に対して、ハニング窓TF21およびハニング窓TF22による窓掛けが行なわれてもよい。ここで、ハニング窓TF21は、区間NH1内の各サンプルに乗算される重みを示す窓関数であり、区間NH1内の未来方向側にあるサンプルに乗算される重みほど、その重みの大きさが小さくなっている。また、ハニング窓TF22は、区間NH2内の各サンプルに乗算される重みを示す窓関数であり、区間NH2内の未来方向側にあるサンプルに乗算される重みほど、その重みの大きさが大きくなっている。これらのハニング窓TF21およびハニング窓TF22の値重みは、時間方向に非線形に変化している。さらに例えば、誤差ERが負の値であり、オーバーラップ処理において三角窓が用いられる場合、図13に示すように音声信号DA21が時間方向に伸長される。なお、図13において、横方向は時間を示しており、縦方向は信号または関数の値の大きさを示している。また、図中、音声信号の波形上の円はサンプルを表している。図13において、矢印A21に示すように、時間伸縮処理部25から音声信号DA21がオーバーラップ処理部151に供給されたとする。そして、オーバーラップ処理部151が、音声信号DA21の区間NH11および区間NH12からなる区間を、3/2倍のサンプル数の区間に伸長するとする。なお、区間NH11および区間NH12は、ともに音声信号DA21のN個の連続するサンプルからなる、窓フレーム長の長さの区間である。このような場合、音声信号DA21の区間NH11および区間NH12に対して、矢印A22に示すように、三角窓TF31および三角窓TF32による窓掛けが行なわれる。ここで、三角窓TF31は、区間NH11内の各サンプルに乗算される重みを示す窓関数であり、区間NH11内の図中、右側にあるサンプルに乗算される重みほど、その重みの大きさが大きくなっている。三角窓TF31の重みの大きさは、時間方向未来方向に直線的に大きくなる。また、三角窓TF32は、区間NH12内の各サンプルに乗算される重みを示す窓関数であり、区間NH12内の図中、右側にあるサンプルに乗算される重みほど、その重みの大きさが小さくなっている。三角窓TF32の重みの大きさは、時間方向未来方向に直線的に小さくなる。このような三角窓TF31および三角窓TF32を用いた窓掛けが行なわれると、矢印A23に示す信号DN11および信号DN12が得られる。つまり、音声信号DA21の区間NH11内の各サンプルに、それらのサンプルと同じ位置の三角窓TF31の値が重みとして乗算され、信号DN11とされる。同様に、音声信号DA21の区間NH12内の各サンプルに、それらのサンプルと同じ位置の三角窓TF32の値が重みとして乗算され、信号DN12とされる。そして、信号DN11と信号DN12の同じ位置にあるサンプルが加算されて、その結果得られた信号が、矢印A24に示すように、音声信号DA21における区間NH11と区間NH12の間に挿入されて、伸長後の音声信号DA21’とされる。この音声信号DA21’では、区間NH11と区間NH12の間に、N個のサンプルからなる区間NH13が挿入されており、この区間NH13は、信号DN11と信号DN12を合成して得られた信号からなる区間である。このように、音声信号DA21に新たに生成した信号区間NH13を挿入することで、2N個のサンプルからなる区間を、3N個のサンプルからなる区間に変換し、音声信号をNサンプル誤差ER分だけ伸長することができる。また、音声信号DA21を伸長させる場合、例えば図14に示す窓が用いられてもよい。すなわち、図中、上側に示すように、音声信号DA21の区間NH11および区間NH12に対して、方形窓TF41および方形窓TF42による窓掛けが行なわれてもよい。ここで、方形窓TF41および方形窓TF42は、各サンプルに乗算される重みが同じ値となる窓関数である。さらに、図中、下側に示すように、音声信号DA21の区間NH11および区間NH12に対して、ハニング窓TF51およびハニング窓TF52による窓掛けが行なわれてもよい。ここで、ハニング窓TF51は、区間NH11内の各サンプルに乗算される重みを示す窓関数であり、区間NH11内の未来方向側にあるサンプルに乗算される重みほど、その重みの大きさが大きくなっている。また、ハニング窓TF52は、区間NH12内の各サンプルに乗算される重みを示す窓関数であり、区間NH12内の未来方向側にあるサンプルに乗算される重みほど、その重みの大きさが小さくなっている。なお、ハニング窓TF51およびハニング窓TF52の値重みは、時間方向に非線形に変化している。以上のように、オーバーラップ処理を行うことで、音声信号のサンプル数を増減させて、出力音声信号のサンプル数を期待されるサンプル数とすることができる。オーバーラップ処理部151は、出力音声信号を生成すると、生成した出力音声信号を誤差検出部22に供給するとともに、出力音声信号を後段の再生部等に出力する。図10のフローチャートの説明に戻り、ステップS136の処理が行われると、その後、ステップS137の処理が行われて音高変換処理は終了するが、ステップS137の処理は図2のステップS17の処理と同様であるので、その説明は省略する。このようにして音高変換装置141は、出力されると期待される出力音声信号のサンプル数と、実際の出力音声信号のサンプル数との誤差を算出し、その誤差に応じて音声信号にオーバーラップ処理を施して、音声信号のサンプル数を増減させる。これにより、出力音声信号のサンプル数を、期待されるサンプル数とすることができ、出力音声の伸縮揺らぎを抑制することができる。変形例3[音高変換装置の構成例]なお、誤差ERに応じてオーバーラップ処理が行われる場合においても、時間伸縮処理の後に音高変換処理が行われるようにしてもよい。そのような場合、音高変換装置は、例えば図15に示すように構成される。なお、図15において、図9における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図15の音高変換装置181と図9の音高変換装置141とは、音高変換部24と時間伸縮処理部25の接続関係が逆となっている点で異なり、その他の点では同じ構成とされている。すなわち、音高変換装置181では、時間伸縮処理部25がバッファ21から読み出した音声信号に対して時間伸縮処理を行い、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、オーバーラップ処理部151に供給する。[音高変換処理の説明]次に、図16のフローチャートを参照して、図15の音高変換装置181による音高変換処理について説明する。なお、ステップS161乃至ステップS163の処理は、図10のステップS131乃至ステップS133の処理と同様であるので、その説明は省略する。ステップS164において、時間伸縮処理部25は、バッファ21から音声信号を読み出して時間伸縮処理を行い、音高変換部24に供給する。そして、ステップS165において、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、オーバーラップ処理部151に供給する。なお、ステップS164およびステップS165では、図10のステップS135およびステップS134と同様の処理が行われる。ステップS165の処理が行われると、その後、ステップS166およびステップS167の処理が行われて音高変換処理は終了するが、これらの処理は図10のステップS136およびステップS137の処理と同様であるので、その説明は省略する。このように、時間伸縮処理後に音高変換処理を行うようにしても、出力音声の伸縮揺らぎを抑制することができる。第4の実施の形態[音高変換装置の構成例]なお、以上においては、窓掛けによるオーバーラップ処理により、誤差ER分の補正を行なう例について説明したが、時間伸縮処理における時間伸縮率が誤差ERの分だけ補正されるようにしてもよい。そのような場合、音高変換装置は、例えば図17に示すように構成される。なお、図17において、図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図17の音高変換装置211と図1の音高変換装置11とは、音高変換装置211に間引き/挿入部26が設けられていない点で異なり、その他の点では同じ構成とされている。すなわち、音高変換装置211では、時間長制御部23は、時間伸縮処理部25による時間伸縮処理の制御を行う。時間伸縮処理部25は、時間長制御部23の制御にしたがって、誤差ERを加味した時間伸縮率で、音高変換部24から供給された音声信号に対して時間伸縮処理を施して、音声信号の時間長を伸縮させる。時間伸縮処理部25は、時間伸縮処理により得られた出力音声信号を、誤差検出部22および図示せぬ後段に出力する。[音高変換処理の説明]次に、図18のフローチャートを参照して、音高変換装置211による音高変換処理について説明する。なお、ステップS191乃至ステップS194の処理は、図2のステップS11乃至ステップS14の処理と同様であるので、その説明は省略する。ステップS195において、時間伸縮処理部25は、時間長制御部23の制御にしたがって、音高変換部24から供給された音声信号に対して、PICOLAやフェーズボコーダなどの時間伸縮処理を行う。このとき、時間伸縮処理部25は、音高変換部24により行なわれる音高変換処理によって変化する音声信号の時間伸縮率の逆数を、時間伸縮処理時における時間伸縮率として求める。そして、時間伸縮処理部25は、求めた時間伸縮率を誤差ERに応じて増減させ、最終的な時間伸縮率とする。例えば、時間伸縮処理部25は、誤差ERが正の値である場合、音声信号の時間長が誤差ERの分だけ短くなるように時間伸縮率を減少させ、誤差ERが負の値である場合、音声信号の時間長が誤差ERの分だけ長くなるように時間伸縮率を増加させる。このようにして、誤差ER分だけ補正した時間伸縮率が得られると、時間伸縮処理部25は、得られた時間伸縮率で、音声信号に対する時間伸縮処理を行い、音声信号の時間長を調整する。そして、時間伸縮処理により時間長が調整された音声信号が、出力音声信号とされる。このように、誤差ERの分だけ時間伸縮率を補正して時間伸縮処理を行うことで、音声信号のサンプル数を増減させて、出力音声信号のサンプル数を期待されるサンプル数とすることができる。時間伸縮処理部25は、出力音声信号を生成すると、生成した出力音声信号を誤差検出部22に供給するとともに、出力音声信号を後段の再生部等に出力する。ステップS195の処理が行われると、その後、ステップS196の処理が行われて音高変換処理は終了するが、ステップS196の処理は図2のステップS17の処理と同様であるので、その説明は省略する。このようにして音高変換装置211は、出力されると期待される出力音声信号のサンプル数と、実際の出力音声信号のサンプル数との誤差を算出し、その誤差に応じて音声信号に時間伸縮処理を施して、音声信号のサンプル数を増減させる。これにより、出力音声信号のサンプル数を、期待されるサンプル数とすることができ、出力音声の伸縮揺らぎを抑制することができる。変形例4[音高変換装置の構成例]なお、誤差ERに応じて時間伸縮処理が行われる場合においても、時間伸縮処理の後に音高変換処理が行われるようにしてもよい。そのような場合、音高変換装置は、例えば図19に示すように構成される。なお、図19において、図17における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図19の音高変換装置231と図17の音高変換装置211とは、音高変換部24と時間伸縮処理部25の接続関係が逆となっている点で異なり、その他の点では同じ構成とされている。すなわち、音高変換装置231では、時間伸縮処理部25がバッファ21から読み出した音声信号に対して時間伸縮処理を行い、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、出力音声信号を生成する。[音高変換処理の説明]次に、図20のフローチャートを参照して、図19の音高変換装置231による音高変換処理について説明する。なお、ステップS221乃至ステップS223の処理は、図18のステップS191乃至ステップS193の処理と同様であるので、その説明は省略する。ステップS224において、時間伸縮処理部25は、時間長制御部23の制御にしたがって、バッファ21から音声信号を読み出して時間伸縮処理を行い、音高変換部24に供給する。そして、ステップS225において、音高変換部24は、時間伸縮処理部25からの音声信号に音高変換処理を施し、出力音声信号を生成する。音高変換部24は、出力音声信号を生成すると、生成した出力音声信号を誤差検出部22に供給するとともに、出力音声信号を後段の再生部等に出力する。なお、ステップS224およびステップS225では、図18のステップS195およびステップS194と同様の処理が行われる。ステップS225の処理が行われると、その後、ステップS226の処理が行われて音高変換処理は終了するが、この処理は図18のステップS196の処理と同様であるので、その説明は省略する。このように、時間伸縮処理後に音高変換処理を行うようにしても、出力音声の伸縮揺らぎを抑制することができる。上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。図21は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。コンピュータにおいて、CPUCentralProcessingUnit501,ROMReadOnlyMemory502,RAMRandomAccessMemory503は、バス504により相互に接続されている。バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、キーボード、マウス、マイクロホンなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507、ハードディスクや不揮発性のメモリなどよりなる記録部508、ネットワークインターフェースなどよりなる通信部509、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511を駆動するドライブ510が接続されている。以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。コンピュータCPU501が実行するプログラムは、例えば、磁気ディスクフレキシブルディスクを含む、光ディスクCDROMDVD等、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。そして、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。"