(57)【特許請求の範囲】
【請求項１】
入力された音声入力信号が順次書き込まれるバッファと、
前記バッファに書き込まれている音声信号の基本周期を検出する基本周期検出手段と、
前記バッファから、並行して前記音声信号を読み出す２系統の読出手段と、
前記２系統の読出手段の各読出アドレスを前記バッファへの書込速度と異なる速度に設定された読出速度で移動させ、この移動で読出アドレスが所定アドレス移動する毎に、前記読出速度によるアドレス進度の前記書込速度によるアドレス進度に対する差であるアドレス進度差を解消する方向に、前記読出アドレスをジャンプさせる手段であって、前記２系統の読出手段の読出アドレスのジャンプ点を前記基本周期における同じ位相のアドレスに制御する読出アドレス制御手段と、
前記読出手段が読み出した音声信号を、前記読出アドレスがジャンプした点を開始点として前記基本周期の整数倍のアドレス長でフェードインし、前記読出アドレスがジャンプした点を終点として前記基本周期の整数倍のアドレス長でフェードアウトする手段であって、一方の読出手段が読み出した音声信号のフェードイン区間と他方の読出手段が読み出した音声信号のフェードアウト区間が重なるように合成して出力するクロスフェード処理を行う信号合成手段と、
前記バッファに書き込まれた音声信号から、振幅が大きいまたは振幅上昇が急激な信号の区間であるアタック部を検出するアタック検出手段と、
を備え、
前記読出アドレス制御手段は、前記アタック部で前記読出アドレスをジャンプさせないように制御し、
前記信号合成手段は、前記読出手段が前記アタック部を読出している区間は、前記フェードイン、フェードアウトを停止して、一方の読出手段が読み出したアタック部の音声信号のみ出力し、
前記読出アドレス制御手段は、読出アドレスが前記アタック部を通過した後、前記読出アドレスをジャンプさせるアドレス長を増加させ、前記アタック部で読出アドレスをジャンプさせなかったことによって増加した前記アドレス進度差を複数のジャンプで解消する信号処理装置。
【請求項２】
前記信号合成手段は、前記基本周期の整数倍のアドレス長の間、前記２系統の読出手段の一方が読み出した音声信号をフェードインし続ける処理を行い、前記２系統の読出手段の他方が読み出した音声信号をフェードアウトし続ける処理を行う請求項１に記載の信号処理装置。
【請求項３】
前記読出アドレス制御手段は、前記読出アドレスをジャンプさせるアドレス長を、前記基本周期の整数倍とする請求項１または２に記載の信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
音声信号のテンポを変えずにピッチを変換する信号処理装置に関する。
【背景技術】
【０００２】
従来、時間軸の圧縮、伸張とクロスフェード処理の組み合わせにより、音声信号のテンポを変えずにピッチを変換する装置が開示されており、その手段としてディレイモジュレーション方式が広く利用されている（例えば、特許文献１参照。）。
【０００３】
ディレイモジュレーション方式の概略は以下の通りである。即ち、このピッチを変更することは、音声信号のリングバッファへの書込速度と読出速度を異なる値にすることにより実現できる。ここで、このリングバッファには、特定の区間のデータ記憶領域の読出アドレスと書込アドレスをそれぞれリング状に巡回しながら、音声信号の書き込み、読み出しを行う。単にこれら方法により読み出しを行なっただけでは、ピッチと共にテンポも変化してしまうから、バッファ信号をブロック毎に読み出して、複数系統のブロックを交互にクロスフェード処理して重ね合わせ、テンポが変化しないようにする。ここで、このクロスフェードとは、接続される音声信号のブロックをフェードアウトすると共に、接続する音声信号のブロックをフェードインし、バッファ出力信号を継ぎ目なく出力する技術である（後述、図２参照。）。前述のリングバッファの読出アドレスポイント（以下、「読み出しタップ」という。）を複数設けることにより、音声入力系を複数用意して、この音声入力系のサンプリングデータをクロスフェードすることが行なわれている。
【０００４】
特許文献１では、このフェードアウト、フェードインを行う信号の合成がうまく動作せず、リズム音楽において２度打ちまたはトレモロのように聞こえることを解消するため、合成する両者の音声の基音成分を低域通過フィルタを用いて取り出して、この基音成分の周期に基づいてクロスフェードを行う信号の位相差を補正する手段が開示されている。
【特許文献１】特開２００２−１６９５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の装置では、基音成分の抽出等については詳述されているものの、位相差を補正する方法については、ほとんど記載されていない。しかしながら、クロスフェードは繰り返し行なわれるから、それぞれのクロスフェード時間について、単に位相差を合わせるだけでは、その区間が基音成分の周期からずれていくので、２度打ちまたはトレモロ感を解消するには十分でなかった。また、短い時間で鋭く立ち上がるアタック信号を有する信号に対しては、２度打ちまたはトレモロ感を解消するには十分でなかった。
【０００６】
そこで、本発明は、このような問題に鑑み、元の音声信号のピッチを変更して出力する信号処理装置において、音声の不自然さを解消できる信号処理装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題を解決するための手段を以下のように構成している。
【０００８】
本発明は、
入力された音声入力信号が順次書き込まれるバッファと、
前記バッファに書き込まれている音声信号の基本周期を検出する基本周期検出手段と、
前記バッファから、並行して前記音声信号を読み出す２系統の読出手段と、
前記２系統の読出手段の各読出アドレスを前記バッファへの書込速度と異なる速度に設定された読出速度で移動させ、この移動で読出アドレスが所定アドレス移動する毎に、前記読出速度によるアドレス進度の前記書込速度によるアドレス進度に対する差であるアドレス進度差を解消する方向に、前記読出アドレスをジャンプさせる手段であって、前記２系統の読出手段の読出アドレスのジャンプ点を前記基本周期における同じ位相のアドレスに制御する読出アドレス制御手段と、
前記読出手段が読み出した音声信号を、前記読出アドレスがジャンプした点を開始点として前記基本周期の整数倍のアドレス長でフェードインし、前記読出アドレスがジャンプした点を終点として前記基本周期の整数倍のアドレス長でフェードアウトする手段であって、一方の読出手段が読み出した音声信号のフェードイン区間と他方の読出手段が読み出した音声信号のフェードアウト区間が重なるように合成して出力するクロスフェード処理を行う信号合成手段と、
前記バッファに書き込まれた音声信号から、振幅が大きいまたは振幅上昇が急激な信号の区間であるアタック部を検出するアタック検出手段と、
を備え、
前記読出アドレス制御手段は、前記アタック部で前記読出アドレスをジャンプさせないように制御し、
前記信号合成手段は、前記読出手段が前記アタック部を読出している区間は、前記フェードイン、フェードアウトを停止して、一方の読出手段が読み出したアタック部の音声信号のみ出力し、
前記読出アドレス制御手段は、読出アドレスが前記アタック部を通過した後、前記読出アドレスをジャンプさせるアドレス長を増加させ、前記アタック部で読出アドレスをジャンプさせなかったことによって増加した前記アドレス進度差を複数のジャンプで解消する。
また、前記信号合成手段は、前記基本周期の整数倍のアドレス長の間、前記２系統の読出手段の一方が読み出した音声信号をフェードインし続ける処理を行い、前記２系統の読出手段の他方が読み出した音声信号をフェードアウトし続ける処理を行う。
【０００９】
本発明では、読出アドレス制御手段が、読出手段の読出アドレスを前記バッファへの書込速度と異なる速度に設定された読出速度で移動させているので前記２系統の読出手段から出力される音声信号のピッチを変更することができる。
【００１０】
また、読出アドレス制御手段が「この移動で読出アドレスが所定アドレス移動する毎に、前記読出速度によるアドレス進度の前記書込速度によるアドレス進度に対する差であるアドレス進度差を解消する方向に、前記読出アドレスをジャンプさせ」ているので、テンポを一定に保つことができる。また、読出アドレス制御手段が「前記２系統の読出手段の読出アドレスのジャンプ点を前記基本周期における同じ位相のアドレスに制御」しているから、ジャンプしてから、次にジャンプするまでは、基本周期の整数倍となる。
【００１１】
信号合成手段は、「前記基本周期の整数倍のアドレス長でフェードインし、前記読出アドレスがジャンプした点を終点として前記基本周期の整数倍のアドレス長でフェードアウトする」から、２系統の読出手段のうちジャンプした方は、ジャンプした時点でゲインが０になるから、ジャンプによるノイズを抑えることができる。また、「前記基本周期の整数倍のアドレス長で」フェードイン、フェードアウトするから、フェードインする区間とフェードアウトする区間をすべて基本周期の整数倍とすることができる。
また、この信号合成手段は、「一方の読出手段が読み出した音声信号のフェードイン区間と他方の読出手段が読み出した音声信号のフェードアウト区間が重なるように合成して出力するクロスフェード処理を行う」からこの重なった区間でクロスフェードが行なわれ、その区間を基本周期の整数倍にすることができる。このように、読出アドレス制御手段が「前記２系統の読出のジャンプ点を前記基本周期における同じ位相のアドレスに制御」しているから、クロスフェード時間でフェードインする音声信号とフェードアウトする音声信号の位相を合わせることができ、滑らかにクロスフェードすることができる。また、信号合成手段がクロスフェードの区間を基本周期の整数倍にしているから、この位相がずれていかないから、この滑らかにクロスフェードすることができる効果を持続することができる。
【００１２】
本発明は、
前記バッファに書き込まれた音声信号から、振幅が大きいまたは振幅上昇が急激な信号の区間であるアタック部を検出するアタック検出手段を備え、
前記読出アドレス制御手段は、前記アタック部で前記読出アドレスをジャンプさせないように制御し、
前記信号合成手段は、前記読出手段が前記アタック部を読出している区間は、前記フェードイン、フェードアウトを停止して、一方の読出手段が読み出したアタック部の音声信号のみ出力する。
【００１３】
本発明では、２以上のバッファ読出手段を設けてクロスフェード部で互いにクロスフェードして合成し、前記ジャンプによるノイズを目立たなくなるようにしているが、入力された音声信号のアタック部分では、このクロスフェードを行なった場合に、２度打ちやトレモロのように聞こえる可能性が高い。そこで、前記読出アドレス制御手段は、前記アタック部で前記読出アドレスをジャンプさせないように制御している。
【００１４】
本発明は、クロスフェード調整機能、アタック部分を検出して、この部分だけクロスフェードを停止するようにして、１つのみの前記バッファ読出手段から出力されるバッファ出力信号を出力するよう調整している。したがって、トレモロのように聞こえる恐れがすくなく、音声の不自然さを解消できる。
【００１５】
本発明は、
前記読出アドレス制御手段は、読出アドレスが前記アタック部を通過した後、前記読出アドレスをジャンプさせるアドレス長を増加させ、前記アタック部で読出アドレスをジャンプさせなかったことによって増加した前記アドレス進度差を複数のジャンプで解消する。
【００１６】
本発明では、アタックがない場合には、所定アドレス移動する毎にアドレス進度差を解消する方向にジャンプして、書込アドレスと読出アドレスとの差を一定範囲内にしている。しかし、アタックを検出した場合には、前記読出アドレス制御手段が前記アタック部で前記読出アドレスをジャンプさせないように制御しているから、アドレスの位置が大きくずれてしまい、その後の前記バッファに書き込むアドレス位置と前記バッファ出力信号の読出位置とのアドレスとの差がアタック毎にずれていく。バッファの容量は有限であるから、読出手段が１周期前のアドレスを読んでしまう恐れがある。本発明は、前記読出アドレスをジャンプさせるアドレス長を増加させることにより、アタックが生じる前の元の書込アドレスと読出アドレスとの差に戻すことができる。前記アドレス進度差を１度のジャンプではなく複数のジャンプで解消するから、アタック後の音質の劣化を目立たなくすることができる。
【００１７】
本発明は、
前記読出アドレス制御手段は、前記読出アドレスをジャンプさせるアドレス長を、前記基本周期の整数倍とする。
【００１８】
上記構成において、基本周期検出手段は、低域部の基本周期を検出しており、前記読出アドレス調整手段は、前記クロスフェードを行う時間を前記基本周期の整数倍に調整しているが、前記ジャンプするアドレス量は、必ずしも前記基本周期の整数倍とは限らない場合がある。ジャンプするアドレス量が基本周期の整数倍にならない場合には、２系統の読出手段で読み出した音声信号をクロスフェードするときに、このジャンプしたことにより、互いに基本周期の位相がずれる恐れがある。
そこで、本発明では、前記読出アドレス制御制御は、このジャンプ時に、基本周期の整数倍の位置にジャンプするよう制御しているのでクロスフェードする音声信号の互いの位相を合わせることができるから、音声信号をクロスフェードで滑らかに接続することができ、音声の不自然さを解消できる。
【００１９】
例を示して説明する。例えば、バッファへの書き込み速度より２０％速く読み出した場合、読出信号を入力信号と同等のテンポとするために、所定アドレス移動する毎に、アドレス進度差を解消する方向に、前記読出アドレスをジャンプさせる。このとき、この２０％分のアドレスのジャンプを行なってアドレスを後退させる。その場合に、この２０％速く読み出している間に、例えば基本周期の８波長、読み出したとすると、２０％戻れば、アドレスは、
８×（０．２／（１＋０．２））＝４／３波長ジャンプすることになり、基本周期の整数倍とならない。そこで、波長の小数点部分を切り上げて２波長とするか、切り下げて１波長とする。
【発明の効果】
【００２０】
本発明によれば、クロスフェード部分において、クロスフェードする信号の位相を合わせているので、精度良く信号を合成することができ、音声の不自然さを解消できる。
【００２１】
また、アタック部分を検出して、その部分のデータを読み出すときには、クロスフェードを停止して１つの音声信号のみを取り出すようにしているから、２度打ちやトレモロのように聞こえることを防止できる。
【発明を実施するための最良の形態】
【００２２】
＜本実施形態の信号処理装置の概略＞
図３、図４を用いて、本実施形態の信号処理装置の概略を説明する（図３、図４の詳細は後述する。）。図３は、波形メモリ、読出アドレス制御部の動作の一部を説明するための概念図であり、図４は、後述するクロスフェードゲイン計算部の動作概念図である。本実施形態の信号処理装置は、音声信号のピッチを変更する機能を含んでいる。本実施形態の装置は、特定の区間のデータ記憶領域をリング状に巡回しながら、書き込み、読み出しを行うリングバッファ１７を備え、このピッチの変更は、リングバッファからディジタル音声信号の読み出しの際に、読み出す速度を書込速度（図３の書込アドレスの時間変化１７４０参照。）より速くしたり、または遅くすることで実現する（図３の直線１７８参照。）。テンポを変えないよう、平均的な読出速度を書込速度と同等にするため、図３下に示すように、のこぎり刃状に、書込アドレス１７４０の時間変化と平行である基準線１７５にアドレスを戻す。また、ジャンプ時の音声信号のノイズを目立たないようにするため、図４右上に示すように互いに段差部分をずらせて出力した、２系統のリングバッファの読み出しタップ２４１Ａ、Ｂ（図４左参照。）を設けて、これらの出力をクロスフェードして合成する（図４右下参照。）。ここで、クロスフェードは、２つの信号のうち１つをフェードアウトし、他方をフェードインして継ぎ目なく信号を接続する技術である。このアドレスのジャンプの時はこれに対応する音声信号の出力を０にすると共に、他方の系統から音声を出力する。
【００２３】
＜本実施形態の信号処理装置の内部構成＞
図１を用いて、本実施形態の信号処理装置の内部構成について説明する。図１は、この信号処理装置の内部構成図である。図１に示すように、信号処理装置１は、カラオケ装置等の音響装置、またはサウンドボードを備えた汎用コンピュータ等の一部で構成され、以下の構成を備えている。即ち、ＣＰＵ１０とＲＯＭ１１とＲＡＭ１２と外部記憶装置１３と通信Ｉ／Ｆ１４と表示回路１５と入力装置１６と波形メモリ１７とＤＳＰ２とＤ／Ａ変換器３とを備えており、これらはデータ／アドレスバス１８で接続されている。以下、それぞれを説明する。
【００２４】
図１のＣＰＵ１０は、汎用のコンピュータのＣＰＵまたはそれ以外の動作を含む中央集積回路で構成され、ＲＯＭ１１、ＲＡＭ１２のデータを用いて種々の計算や各部への指示を行う。
ＲＯＭ１１は、固定メモリであって、恒常的に用いるプログラムデータや、種々のＢＩＯＳ等のデータを格納している。
ＲＡＭ１２は、外部記憶装置１３内にあるデータを読み込んで一時的に格納する読み書き可能なメモリであって、プログラムや計算用データを格納している。
外部記憶装置１３は、ハードディスク、ＣＤ−ＲＯＭ等の光ディスクで構成され、大量のデータを記憶する記憶装置である。
通信Ｉ／Ｆ１４は、通信回線で結ばれたホストコンピュータ、例えばカラオケ装置の管理室のサーバや、インターネット上にあるデータを入力するインターフェースであり、曲データ１０１を受信できる。
表示回路１５は、カラオケ装置であれば、この画面に出力する画像データや設定画面ＯＳＤ（オンスクリーンディスプレイ）を表示するための回路であり、また汎用コンピュータであれば、ビデオカードがこれに相当する。
入力装置１６は、カラオケ装置であれば、リモコンや装置本体付属の操作子の集合からなる操作入力装置であり、汎用コンピュータであれば、キーボードやマウスがこれに相当する。
波形メモリ１７は、通信Ｉ／Ｆ１４を介して取得した音楽データ、図示しないマイクで収音した音声信号をＡ／Ｄ変換したデータ、または外部記憶装置１３にある曲データ１０１を時系列的に書き込み、読み出しするバッファである。波形メモリ１７は、音声信号のビットデータをサンプリングタイムで入出力する速度に対応できるものが必要である。この書込速度と読出速度を変えることで、時間軸圧伸が可能となる。
【００２５】
ＤＳＰ２は、後述するピッチ変更や時間軸圧伸等のディジタル音声信号処理を行う。
Ｄ／Ａ変換器３は、ディジタル信号をアナログ信号に変換し、アナログの出力信号１０２を取り出す。この出力信号１０２は、増幅器を介してスピーカへ出力する。
【００２６】
図１に示す信号処理装置１は、以上の通り、ピッチ変更や時間軸圧伸等のディジタル音声信号処理を行うＤＳＰ２のほかに、汎用のコンピュータと同様な構成を備えている。これにより、信号処理装置１は、さらに画面表示や音声信号処理を行うＤＳＰ２を制御する種々のプログラムを実行する。
【００２７】
次に、図２を用いて、波形メモリ１７とＤＳＰ２の構成をさらに詳しく説明する。図２は、図１で示した波形メモリ１７、ＤＳＰ２の内部構成を表すブロック図である。図２に示すように、ＤＳＰ２は、波形解析部２１と、この波形解析部２１の結果に基づいて読出位置を算出して、波形メモリ１７の読出アドレスを指示する読出アドレス制御部２４を備える。また、波形メモリ１７から読み出した出力であるバッファ出力信号１７Ａ、１７Ｂの出力をフェードイン、フェードアウトを行なってクロスフェード合成するクロスフェード合成部２６と、このクロスフェードのゲインカーブを計算するクロスフェードゲイン計算部２５を備える。また、これらの動作を制御する制御部２２を備えている。以下、それぞれの構成を説明する。
【００２８】
図２の波形解析部２１は、音声入力信号１００の波形を解析するものであり、ＬＰＦ２１１と基本周期検出部２１２とアタック検出部２１３を備えている。
【００２９】
図２のＬＰＦ２１１は、低周波のみを取り出すためのフィルタであり、これを通すことにより高周波をカットして、基本周期の検出を容易にすることができる。
基本周期検出部２１２は、ＬＰＦ２１１を通した音声入力信号１００から周期性を検出して制御部２２にその情報を送る。基本周期検出部２１２の基本周期信号検出の方法としては、例えばＦＦＴ変換により信号の周波数成分を検出することにより行う。
【００３０】
図２のアタック検出部２１３は、音声入力信号１００からアタックを検出する。ここで、アタックとは、平均的な音声の波高レベルより極端に高い部分または振幅上昇が急激な信号の区間である。アタック検出部２１３は、所定の時間間隔毎に切り出した音声入力信号１００のエネルギー和をそれぞれ計算する。アタック検出部２１３は、特定の区間が平均的な音声の波高レベルより極端に高い場合またはエネルギーの増加が急激な場合に、この区間が音声のアタックの位置であると検出する（後述、図９、図１１でその手段を詳述する。）。このアタック検出部２１３は、アタックを検出すると、制御部にアタックを検出した旨の信号を出力する。
図２の波形メモリ１７は、前述の通り、音声入力信号１００を一時的に蓄えるバッファであり、後述の図３で示すように、リング状に書き込み、読み出しを行うリングバッファである。読出速度と書込速度を異なる値にすることで、バッファ出力信号１７Ａ、１７Ｂの時間軸圧伸を行うことができる。
なお、読出速度を速めたり、遅くしたりしてバッファ出力信号の時間軸圧伸を行う場合には、所望のピッチ変更率２９に正確に対応する圧伸を行おうとすると読出アドレスは少数点以下を含むこととなる。そこで、波形メモリ１７の出力を合成する加算部（不図示）を設け、小数点部分については、小数点をはさんで整数値の両側のアドレスに書き込まれたデータについて比例配分を行い、データを加算する。
図２の制御部２２は、波形解析部２１の解析結果に基づいて、読出アドレス制御部２４やクロスフェードゲイン計算部２５に指示を送る。例えば、基本周期検出部２１２の検出した周期に基づいてクロスフェード時に合成するバッファ出力信号１７Ａ、Ｂの基本周期の位相が合うように、クロスフェード開始時、終了時を調整する指示を送る。また、急峻に音量が上下するアタックの場合には、アタックの部分は急激な音量変化を伴うため、波形の接続により２度打ちが生じやすいことから、クロスフェード合成部２６の動作をとめて、バッファ出力信号１７Ａ、Ｂのいずれかの出力をそのまま出すように、クロスフェードゲイン計算部２５に指示を送る。
【００３１】
読出アドレス制御部２４は、バッファからの読出アドレスを制御する。
クロスフェード合成部２６は、前述の通り、バッファ出力信号１７Ａ、Ｂを互いにフェードイン、フェードアウトして合成するものである。後述の通り、一定区間毎に読出アドレスをジャンプさせることによるノイズの発生を目立たなくさせるためバッファ出力信号１７Ａ、Ｂを用いて合成する。
【００３２】
なお、図１では、汎用のコンピュータでも使用できるような構成としたが、本実施形態の装置で入力信号のピッチを変更する最小限の構成としては、ＤＳＰ２と、波形メモリ１７と、この波形メモリ１７に音声入力信号１００を供給する構成があれば十分である。
【００３３】
＜波形メモリの読み出し＞
次に、図３を用いて、波形メモリ１７の動作および読出アドレス制御部２４の動作についてさらに詳しく説明する。図３は、波形メモリ１７、読出アドレス制御部２４の動作の一部を説明するための概念図である。図３は、波形メモリ１７から出力される信号であるバッファ出力信号１７Ａ、Ｂのうち、１７Ａのみを表している。書き込み／読み出しは、同一の方向（書込方向１７４、読出方向１７１Ａ）に沿って順次行う。その際、波形メモリ１７のデータ容量（アドレス区画１７３の数）は有限であるから、書き込み／読み出し経路１７２に沿って、リング状に書き込み／読み出しを行う。これによりデータ容量の制限に対応することができる。バッファ出力信号１７Ａは、読出アドレスの指示２４１Ａに従って波形メモリ１７から読み出され、クロスフェード合成部２６に送られる。
【００３４】
図３に示す読出アドレス制御部２４の動作について説明する。図３下のグラフは、書込アドレス１７４０と、読出アドレス１７６、１７７を示している。ここで、横軸が時刻［ｍ秒］、縦軸がアドレスである。図３に示す波形メモリ１７は、音声入力信号１００の書込速度と異なるサンプリング周波数で（同じサンプリング周波数でアドレス進度が異なる場合を含む。）、バッファ出力信号１７Ａの読み出しをする。
【００３５】
図３に示すように、書込アドレス１７４０は、一定速度（即ち、基準のサンプリング周波数）で書き込みを行う。信号処理装置１が音声入力信号１００のピッチを上げた音声を出力する場合には、読出アドレス１７６（実線で図示）に沿って波形メモリ１７からサンプリングデータを読み出す。読出アドレス１７６は、この速読み区間１７６１とジャンプ区間１７６２を１つのサイクル１７９としてアドレスの移動を繰り返す。速読み区間１７６１では書込アドレス１７４０の移動速度よりも大きい読出速度（直線１７８参照）でサンプリングデータを読み出す。これにより波形メモリ１７から読み出した音声のピッチが高くなる。しかし、直線１７８にそってこのまま読み出していくと、音声のテンポが早くなってしまうだけでなく、書込アドレス１７４０と、直線１７８が交差して追い抜いてしまい、バッファ出力信号１７Ａがリングバッファの１周期前の信号を読み出す恐れがある。そこで、書込アドレス１７４０と同等の速度で読み出すために、各サイクル１７９の最後では、書込速度と等しい速度でアドレスが進む基準線１７５（中心線で図示）に戻すようにする。
【００３６】
一方、図３で示す読出アドレス制御部２４の動作に示すように、信号処理装置１が音声入力信号１００のピッチを下げた音声を出力する場合には、読出アドレス１７６は、この遅読み区間１７７１とジャンプ区間１７７２を１つのサイクル１７９としてアドレスの移動を繰り返す。遅読み区間１７７１では書込アドレス１７４０の移動速度よりも小さい移動速度でサンプリングデータを読み出す。これにより、波形メモリ１７から読み出した音声のピッチが低くなる。ピッチを上げる場合と同様、書込アドレス１７４０と同等の速度で読み出すために、各サイクル１７９の最後に書込アドレスの時間変化１７４０と速度の等しい基準線１７５に戻すようにする。
【００３７】
図３に示すようにして読出アドレス１７６を基準線１７５に戻すときには、アドレスをジャンプすることになるから、ノイズが生じる。このアドレスのジャンプを目立たなくするために、本実施形態の装置ではクロスフェード合成部２６を設けている。
【００３８】
＜読出アドレス制御部、クロスフェードゲイン計算部の動作＞
次に、図４を用いて、読出アドレス制御部２４、クロスフェードゲイン計算部２５の動作についてさらに詳しく説明する。図４は、この動作の概念図である。ここで、クロスフェードは、２つの信号のうち１つをフェードアウトし、他方をフェードインして継ぎ目なく信号を接続する技術である。図３ではバッファ出力信号１７Ｂを省略していたが、このクロスフェードを行うため、２系統のバッファ出力信号１７Ａ、１７Ｂを取り出す。図３と同様の部分は、同様の符号を付して説明を準用する（符号がＡの代わりにＢとなっているものについても同様である。）。
【００３９】
読出アドレス制御部２４について説明する。図４右上の図は、速読み時の読出アドレス制御部２４の動作を表しており、この２系統のバッファ出力信号１７Ａ、Ｂの読出アドレス２４Ａ、２４Ｂの時間変化を表している。このグラフは、横軸は時刻［ｍ秒］、縦軸は書込アドレス１７４０に対する読出アドレス１７６のアドレス差を表しており、横軸が時刻を表している。図４の横軸、基準線１７５Ａは、それぞれ、図３の書込アドレス１７４０、基準線１７５を水平にしたものに相当する（図９、図１０も同様である。）。図４に示すように、読出アドレス２４Ａ、２４Ｂのジャンプ区間１７６２、１７６３では、読出アドレス制御部２４は、このジャンプを発生させる時刻を異ならせている。これにより、アドレスのジャンプが同時に音声として出力されないから、アドレスのジャンプによるノイズを軽減できる。
【００４０】
なお、ピッチを下げる場合は、後述、図１０の左側に示すように、ピッチを下げる場合２４Ａ、２４Ｂのグラフは基準線１７５Ａに関して反転した形状となる。
【００４１】
クロスフェードゲイン計算部２５について説明する。図４左に示すバッファ出力信号１７Ａ、Ｂは、ゲイン調整部２６１、２６２でそれぞれゲインを調整し、加算部２６３で合成して、加算部２６３の出力信号をＤ／Ａ変換器３に出力する。クロスフェードゲイン計算部２５は、ゲイン調整部２６１、２６２にゲインの指示２５１をして、ゲイン調整部２６１、２６２はこの指示に基づいて、各ゲインの調整を行う。
【００４２】
図４右下の枠内のグラフは、クロスフェードゲイン計算部２５の動作を示しており、ゲイン調整部２６１、２６２に指示するゲインの値の時間変化を表している。ここで、横軸が時刻［ｍ秒］、縦軸がゲイン比率［％］である。実線で示すゲイン比率２５Ａと点線で示すゲイン比率２５Ｂに示すように、ゲイン比率２５Ａがフェードアウトしてゲインが０％となる部分２５３は、ゲイン比率２５Ｂがフェードインしてゲインが１００％となる部分２５４とする。また、ゲイン比率２５Ｂがフェードアウトしてゲインが０％となる部分２５５は、ゲイン比率２５Ｂがフェードインしてゲインが１００％となる部分２５６とする。これにより、加算部２６３で加算した音量が略一定となるようにして、クロスフェードを行う。
【００４３】
また、クロスフェードゲイン計算部２５は、図４右上、右下の枠をつなぐ２点鎖線で示すように、読出アドレス２４Ａ、２４Ｂのジャンプ区間１７６２、１７６３では、ジャンプする側のバッファ出力信号のゲインを０％に調整して、他方の出力を１００％にする。これによりアドレスをジャンプする側のバッファ出力信号について、このジャンプによるノイズを軽減できる。
【００４４】
また、クロスフェードゲイン計算部２５は、ゲイン一定の区間がなく連続的に小刻みにクロスフェードを行なうようゲイン調整しているので、ジャンプ区間１７６２でジャンプするアドレス量が小さくなり、音色のずれを小さくすることができる。このように連続的にクロスフェードさせる場合には、いずれのクロスフェード時間においてもクロスフェードする信号の基本周期の位相をそろえた方が滑らかにクロスフェードさせることができる。
【００４５】
そこで、クロスフェード時の基本周期の位相をそろえるため、図１で説明した基本周期検出部２１２は、基本周期を求めている。制御部２２は、この基本周期をクロスフェードゲイン計算部２５に指示する。クロスフェードゲイン計算部２５は、この基本周期の位相をそろえるため、バッファ出力信号１７Ａのゲインをフェードアウトさせるとき（ゲイン比率２５Ａのゲインが１００％〜０％になるまで）、フェードアウト区間長をこの基本周期の整数倍とする。また、クロスフェードゲイン計算部２５は、これに合わせてバッファ出力信号１７Ｂのゲインをフェードインさせるとき（ゲイン比率２５Ｂが０％〜１００％になるまで）、フェードイン区間長をこの基本周期の整数倍とする。１７Ａのゲインをフェードインさせるときも同様である。
【００４６】
このように連続的にクロスフェードすると、１７Ｂの読出アドレスの２４Ｂの１つのサイクル１７９では、２つのクロスフェード時間を含むから、必然的に基本周期の偶数倍の波長２５２Ｂとなる。１７Ａの読出アドレスの２４Ｂについても、同様に基本周期の偶数倍の波長２５２Ａとなる（図４では、説明の容易のため基本周期の偶数倍である６波長分を例示している。）。
【００４７】
次に、クロスフェードゲイン計算部２５のクロスフェード方法について、図５、図６を用いて具体的に説明する。図５、図６は、クロスフェード方法の概念を表す図であり、図５は、ゲインレベル一定で合成する場合を示しており、図６はエネルギー和（波高値の２乗の時間積分で計算できる）が一定である場合を示している。いずれも、横軸が時刻［ｍ秒］、縦軸がゲイン比率［％］である。
【００４８】
図５（Ａ）で示すように、フェードアウトする信号のゲインを、時間と共に直線的に減衰させ、図５（Ｂ）で示すように、フェードインする信号のゲインを、時間と共に直線的に増大させる。このようにして、フェードアウトする信号とフェードインする信号を加えると、音量和のレベルが一定となるようにすることができる。この合成方法は、一般に入力信号に周期性がある場合に滑らかに接続できるメリットがある。このように滑らかに接続するためには、フェードアウトする信号とフェードインする信号の位相を合わせる必要がある。図４の右に示すように、連続的にクロスフェードをする場合には、いずれのクロスフェード時間についても、周期的信号の位相を合わせる必要があるから、クロスフェード時間長を各々基本周期の整数倍にする。
【００４９】
なお、図５では、図示の容易等のため、基本周期を８つ含むとしているが実際には、もっと多い周期でクロスフェードするのが通常である。）
一方、図６は、エネルギー和（波高値の２乗の時間積分で計算できる）が一定である場合を示しており、このようにクロスフェードのゲインを設定する場合には、結果としてフェードアウトする信号のエンベロープレベルの時間変化は図６（Ａ）で示すような余弦関数の曲線になり、フェードインする信号のエンベロープレベルの時間変化は図６（Ｂ）で示すような正弦関数の曲線になる（なお、ゲインの２乗和が一定となる関数であれば、他の関数でも良い。）。この合成方法は、一般に入力信号に周期性がある場合には、加算部２６３で合成後のゲインレベルが変動するデメリットがあるが、周期性がなくとも滑らかに接続できるメリットがある。図６に示した方法においても、クロスフェード合成部２６で滑らかに接続するためには、フェードアウトする信号とフェードインする信号の位相を合わせる。図４に示すように、連続的にクロスフェードをする場合には、位相を合わせるためクロスフェード時間を基本周期の整数倍にすることが望ましい（図６では、説明の容易等のため、基本周期を８つ含むとしている。）。本実施形態の装置１のクロスフェードゲイン計算部２５は、図５、図６で説明したいずれかの方法でクロスフェードゲインを計算する。
【００５０】
＜ジャンプ区間におけるアドレスのジャンプ量を求める方法およびその修正方法＞
以下、図７，８を用いてジャンプ区間１７６２におけるアドレスのジャンプ量を求める方法およびその修正方法について説明する。
【００５１】
図７を用いて、ピッチを高くする場合に、読出アドレス制御部２４がジャンプ区間１７６２のアドレスのジャンプ量を求める方法およびその修正について説明する。図７は、ピッチを高くする場合の速読み区間１７６１とジャンプ区間１７６２の１サイクルを拡大した図であり、アドレスのジャンプ量を計算する方法と、このジャンプ量を修正する方法を表す概念図である。
【００５２】
まず、図７を用いて、ピッチを高くする場合のジャンプ区間１７６２のアドレスのジャンプ量を求める方法について説明する。前述の図３、４で説明したように、音声入力信号１００のテンポとバッファ出力信号１７Ａ、Ｂのテンポを同等に保つため、ジャンプ区間１７６２では、書込アドレス１７４０の時間変化に平行である基準線１７５にアドレスを戻す。速読み区間１７６１において、読み出す速度を音声入力信号１００の書込速度より２５％速くしたとすると、サイクル１７９においてアドレスの標準移動量１７６７より２５％多く進むことになる。したがって、ジャンプ区間１７６２のアドレスのジャンプ量は、原則として、
音声入力信号１００のサンプリング周波数［１／秒］
×（１７９に示す）サイクル［ｍ秒］／１０００
×ピッチ増量率［％］／１００
の計算により求めることができる。速読み区間１７６１でのアドレス進度に含まれる基本周期の数を基準にすると、ジャンプ区間１７６２に含まれる基本周期の数は、
速読み区間１７６１に含まれる基本周期の数
×ピッチ増量率［％］／（１００＋ピッチ増量率［％］）
となる。図７の例では、速読み区間１７６１で、基本周期を偶数含む６波長進んで、この６波長×２５％／（１００％＋２５％）＝１．２波長ジャンプして、ジャンプ先アドレスは１７６４となる。
【００５３】
次に、図７を用いて、ピッチを高くする場合に、アドレスのジャンプ量を修正する方法について説明する。ここで、クロスフェード合成部２６が滑らかに信号を接続するには、互いに合成する音声信号の基本周期の位相をそろえる方が好ましい。そのため、クロスフェード時間を基本周期の整数倍とする。そうすると１つのサイクル１７９は、２つのクロスフェード時間を含むから（図４参照）、１つのサイクル１７９を基本周期の偶数倍とするのが好ましい。この位置が図７の１７６５である。しかし、必ずしも、ジャンプしたアドレス量が基本周期の整数倍にならないことがある。図７の例ではアドレス１７６４のときの点１７６９に示すように、１．２波長ジャンプするので、ジャンプしたアドレス量は、基本周期の整数倍にならない。そこで、図７に示すように、ジャンプするアドレス量を、基本周期の整数倍となるアドレス位置であるアドレス１７６５にジャンプするように修正する。その後点線で示すアドレス１７６６に沿って、アドレスを移動させる。
【００５４】
音声入力信号１００の書込アドレス１７４０とテンポを合わせる観点から、この修正量は最小であることが好ましく、原則として調整前のジャンプ先アドレス１７６４から、基本周期の整数倍の位置のうち、書込アドレス１７４０に平行である基準線１７５に最も近い位置に戻す。しかし、周期が常時一定である場合には、例えばサイクル１７９で毎回ジャンプ区間１７６２の修正量が常時プラスとなって、テンポが狂う恐れがあるので、適宜修正量をプラスとマイナスを切り替える必要がある。この場合でも、調整前のジャンプ先アドレス１７６４の修正する方向（即ち、アドレスのプラスまたはマイナスの方向のいずれか）に沿って、基本周期の整数倍の位置のうち最も近い位置に戻す。後述、図８の例も同様である。
次に、図８を用いてピッチを下げる場合に、読出アドレス制御部２４がジャンプ区間１７７２のアドレスのジャンプ量を求める方法およびその修正方法について説明する。図８は、ピッチを低くする場合の遅読み区間１７７１と、ジャンプ区間１７７２との１サイクルを拡大した図であり、アドレスのジャンプ量を計算する方法と、このジャンプ量を修正する方法を表す概念図である。
【００５５】
図８を用いて、ピッチを下げる場合のアドレスのジャンプ量を求める方法について説明する。前述の図３、４で説明したように、音声入力信号１００と、バッファ出力信号１７Ａ、Ｂのテンポを同等に保つため、ジャンプ区間１７７２では、書込アドレス１７４０に平行である基準線１７５に沿った位置にアドレスを戻すようにしている。したがって、ジャンプ区間１７７２のアドレスのジャンプ量は、原則として、
音声入力信号１００のサンプリング周波数［１／秒］
×１７９に示すサイクル［ｍ秒］／１０００
×ピッチ減少率
の計算により求めることができる。遅読み区間１７７１でのアドレス進度に含まれる基本周期の数を基準にすると、ジャンプ区間１７７２に含まれる基本周期の数は、
遅読み区間１７７１に含まれる基本周期の数
×ピッチ減少率［％］／（１００−ピッチ減少率［％］）
となる。
【００５６】
図８の例では、サイクル１７９で、基本周期４波長分進んだ後、基本周期４波長×２５／（１００−２５）＝４／３波長ジャンプする。調整前のジャンプ先アドレスは１７７４の位置となる。
【００５７】
次に、図８を用いて、ピッチを下げる場合のアドレスのジャンプ量を修正する方法について説明する。図７で示した場合と同様、クロスフェード時間は、基本周期の整数倍とするのが好ましく、この実施形態では１つのサイクル１７９は２つのクロスフェード時間を含むから（図４参照）、１つのサイクル１７９では基本周期の偶数倍とするのが好ましい。しかし、図８の例のように、必ずしもジャンプ区間１７７２でジャンプするアドレス量（４／３波長）は、基本周期の整数倍とはならないので（図８のアドレス１７７４のときの点１７７９）、次のクロスフェードにおいて、互いに基本周期の位相がずれる恐れがある。そこで、図８に示すように、ジャンプしたアドレス量が基本周期の整数倍の位置のアドレスであるアドレス１７７５に戻すように修正する。音声入力信号１００の書込アドレス１７４０とテンポを合わせる観点から、この１７４０に平行である基準線１７５を考慮すれば、この修正量は最小であることが好ましく、アドレス１７７４から、基本周期の整数倍の位置のうち最も近い位置に戻す。その後、図８の点線で示す１７７６に沿って、アドレスを移動させる。
【００５８】
なお、本実施形態の信号処理装置を実装する場合には、サイクル１７９の中に、図７、図８で示した例よりも多くの基本周期の基本周期を含むことも可能である。
【００５９】
＜アタックの検出方法とアタックを検出した場合の処理＞
以下、図９、図１０を用いて、図２で示したアタックがあった場合の処理について詳細に説明する。
【００６０】
図９を用い、図２を補助的に参照して、ピッチを上げる場合におけるアタックがあったときの処理について説明する。図９は、この処理についての概念図である。アタックとは、図９のアタック区間４５に示すように、音声入力信号１００のうち波高値の高い部分または振幅上昇が急激な信号の区間である。なお、ここでは、図示を容易にするためアタックを１周期の波形で表しているが、実際には数周期に渡るのが通常である（後述図１０も同じ。）。
【００６１】
前述、図４で説明したように、ジャンプ区間１７６２を目立たなくするため、クロスフェード合成部２６は、バッファ出力信号１７Ａ、Ｂを合成している。しかし、アタック部は瞬発的に立ち上がるため、クロスフェードした場合に、２度打ちやトレモロのように聞こえる場合がある。そこで、この２度打ちやトレモロを防止するため、本実施形態の装置では、図２のアタック検出部２１３がアタックを検出した場合にはその旨の信号が制御部２２に伝えられ、制御部２２は、アタック区間４５を含む区間で、クロスフェード停止区間４３を設けるように各部を制御する。
以下、アタックの検出方法について説明し、その後、制御部２２を受けたクロスフェードゲイン計算部２５、読出アドレス制御部２４の処理、アタック区間４５以後の後処理について説明する。
【００６２】
区間４１の切り出し方法について説明する。音声入力信号１００から、区間４１の切り出す上で、この区間４１のうちの１つの区間にアタックの部分の全体が含まれるように調整する方がこのアタックを処理する上で正確なアタックの位置を測ることができる。したがって音声入力信号１００がマイナスからプラス方向へ０点をクロスするゼロクロス位置またはプラスからマイナス方向へ０点をクロスするゼロクロス位置のいずれかを基準に区間４１を区切るようにする。また、図２の基本周期検出部２１２で検出した音声信号の基本周期から求まる周期を基準にして、このゼロクロス位置に丸め込んで、区間４１を区切るようにしてもよい。
そして、この切り出した区間を所定の個数分用意して、それぞれの区間４１の波高値の２乗平均値Ｐｉを求める。または、波高値の２乗平均値をＦＦＴ解析により求めた特定周波数毎のゲインの２乗の足し算で代用しても良い。また、所定の個数の区間４１を合わせて波高値の時間平均Ｐａｖｇを求める。
アタック検出部２１３は、このような区間毎の時間平均の波高値の２乗と、計算する全区間の移動平均を求め、閾値を設けて
Ｐｉ／Ｐａｖｇ＞（閾値）
が成立する場合には、アタック検出部２１３は、アタックが成立すると判断する。
【００６３】
図２の制御部２２は、アタック検出部２１３からのアタックが成立した旨の信号を受けて、読出アドレス制御部２４、クロスフェードゲイン計算部２５に対して、クロスフェード停止区間４３の前のクロスフェード調整区間４２からアタックの処理を行うように制御する。
【００６４】
アタックを検出した場合のクロスフェードゲイン計算部の動作２５０について説明する。アタックを検出した場合、クロスフェードを停止するため、アタックを含むクロスフェード停止区間４３を設けて、この区間では、クロスフェードゲイン計算部２５は、図４のゲイン調整部２６１、２６２のいずれかの片方のゲイン調整を１００％、他方を０％とする。図９の例では、アタック区間４５の開始前にフェードインしているバッファ出力信号１７Ｂについて、ゲイン比率２５Ｂを１００％として、他方のバッファ出力信号１７Ａのゲイン比率２５Ａを０％としている。
【００６５】
同じく図９を用いて、読出アドレス制御部の動作２４０について説明する。クロスフェード停止区間４３の間は、読出アドレス制御部２４は、１００％のゲイン比率２５Ｂに対応する読出アドレス２４Ｂについてアドレスのジャンプをせず、クロスフェード調整区間４２からクロスフェード停止区間４３、サイクル１７９の半分の時間４６が終わるまで、そのまま連続してアドレスを読み出す。この間では書込アドレスに対する読出アドレスが接近し続ける。また、この間では、他方の読出アドレス２４Ａの読み出しを停止する（または、停止しなくとも良いが、図９中央のクロスフェードゲイン計算部の動作２５０に示すように、この読出アドレス２４Ａの出力を図４に示すゲイン調整部２６１によりゲインを０とする。）
アタックを検出した場合には、クロスフェード調整区間４２を基本周期の整数倍にするため、図９に示すようなクロスフェード調整区間４２の長さを基本周期の波長刻みで修正する。また、この修正では、アタック４５を含むクロスフェード停止区間４３が最小になるように、クロスフェード調整区間４２でフェードインする時刻を決定する。
【００６６】
同じく図９を用いて、クロスフェード停止区間４３以後の後処理について説明する。まず、ジャンプして戻る基準の読出アドレスは、アタック前では基準線１７５Ａである。そして、アタックを検出したときは、アドレスのジャンプをせず、そのまま連続してアドレスを読み出すから、クロスフェード停止区間４３が終了したときには、読出アドレス２４Ｂは、基準の読出アドレスが書込アドレスへ近接するずれ２４２が生じている。このままアタックが以後生じない場合にはなんら問題がないが、さらにアタックが生じた場合には、読出アドレス２４Ａ、Ｂがさらに書込アドレスに近づき、場合によっては追い越してしまうおそれがある。そこで、位相ずれの調整区間４４を設けて、読出アドレスのずれ２４２をなくすように、バッファ出力信号１７Ａ、Ｂの読出アドレスを複数回のジャンプに分けて修正していく。具体的には、図２で示したジャンプ区間１７６２を通常より長くして、アタック前の書込アドレスに対する読出アドレスの差を示す基準線１７５Ａに戻していくようにする。
【００６７】
次に、図１０を用いて、ピッチを下げる場合におけるアタックがあったときの処理について説明する。図１０は、この処理の概念図である。概念的には、図９の説明と重複するので、アタックの検出方法、アタックを求めるための区間４１の切り出し、読出アドレス制御部２４、クロスフェードゲイン計算部２５の動作は図９で説明したことと同様であり、同様の符号を用いて説明を省略する。以下、重要点、相違点だけを説明する。
【００６８】
図１０中央のクロスフェードゲイン計算部の動作２５０に示すように、図９と同様、アタック区間４５を含むクロスフェード停止区間４３では、クロスフェードを停止する。即ち、ゲイン比率２５Ａに示すように、ゲイン調整部２６１（図４参照）のゲインは０％として、ゲイン比率２５Ｂに示すようにゲイン調整部２６２のゲインを１００％とする。
【００６９】
また、図１０下の枠内に示すように、読出アドレス制御部の動作２４０では、アタックが生じる前の遅読み区間１７７１（図３参照）では、書込アドレスに対する読出アドレスの差は時間と共に増加し（なお、図１０では、書込アドレス１７４０からのずれ量をマイナスで表しているのでこの増加量は絶対値となる。）、ジャンプ区間１７７２では書込アドレスに近づくようにジャンプする。
【００７０】
アタック検出部２１３がアタックを検出した場合には、図１０の読出アドレス２４Ｂに示すように、クロスフェード調整区間４２からクロスフェード停止区間４３、サイクル１７９の半分の時間４６が終わるまで、そのまま連続してアドレスを読み出す。この間では書込アドレスに対する読出アドレスが後退し続ける。
【００７１】
図１０に示すように、アタック前の基準の読出アドレスは基準線１７５Ａであり、アタック区間４５が終了した後は、基準の読出アドレスが、書込アドレスから遠ざかるずれ２４２が生じている。このずれ２４２は、今後アタックが生じない場合にはこのままずれを維持していても問題がないが、アタックが何度も生じる場合には、リング状に入出力を行なっているうちに、このリング上で１周期遅れてしまい、読出アドレスを書込アドレスが追い抜いてしまう恐れがある。そこで、位相ずれの調整区間４４を設けて、アタック前の書込アドレスに対する読出アドレスの差を示す基準線１７５Ａへ近づくように徐々にアドレスを戻していく。具体的には、位相ずれの調整区間４４の間、図３で示したジャンプ区間１７７２を、それぞれアタック前の値より増加させるようにする。
【００７２】
次に、図１１を用いて、図９で説明したアタックの判定処理についてのフローを説明する。図１１は、この処理のフロー図である。この処理はアタック検出部２１３が行う。
ＳＴ１において、音声入力信号１００がマイナスからプラス方向へ０点をクロスするゼロクロス位置またはプラスからマイナス方向へ０点をクロスするゼロクロス位置のいずれかを基準にして音声入力信号１００を区間４１毎に区切るようにする。また、この区間４１の切り出しは、図２の基本周期検出部２１２で検出した音声信号の基本周期から求まる周期を基準にして、このゼロクロスの位置に丸め込んで、区間４１を区切るようにしてもよい。
ＳＴ２において、この切り出した区間を特定の個数を用意して、特定区間の波高値のパワーと移動平均値との比率を計算する。このパワーは、それぞれの区間４１の波高値の２乗平均値Ｐｉを求めることに相当する。この計算が容易でなければ、波高値の２乗平均値をＦＦＴ解析により求めた特定周波数毎のゲインの２乗の足し算で代用しても良い。また、移動平均値として、この過去の特定の個数の区間４１全体について時間平均Ｐａｖｇを求める。
【００７３】
ＳＴ３において、閾値を設けて、
Ｐｉ／Ｐａｖｇ＞（閾値）
が成立する場合には、ＳＴ３の判断はＹとなり、アタック検出部２１３は、ＳＴ４でアタックが成立すると判断する。この不等式が成立しない場合には、ＳＴ１〜３を繰り返す。即ち、ＳＴ３の判断はＮとなり、Ｓ１に戻り、Ｓ３でＮとなる限り、Ｓ１で新たに区間を切り出し、その新たに切り出した特定の区間Ｓ２でアタックがないか判断する。
なお、特定の区間は、音声入力信号１００の頭のデータを入力するときは、移動平均値を求めるために、アタックの判定処理に先立って所定長の区間について前述の波高値の時間平均Ｐａｖｇを計算しておく必要がある。
Ｓ５において、ＳＴ４でアタックがあった区間のＩＤを図２の制御部２２に出力して、制御部２２に伝達する。
【００７４】
なお、以上の説明では、図４に示したようにバッファ出力信号１７Ａ、Ｂのみ出力して合成したが、３以上の出力タップを設けても良い。
【図面の簡単な説明】
【００７５】
【図１】本実施形態の信号処理装置の内部構成を示す図
【図２】ＤＳＰ２の内部構成を表すブロック図
【図３】波形メモリ、読出アドレス制御部の動作の一部を説明するための概念図
【図４】読出アドレス制御部、クロスフェードゲイン計算部の動作の概念図
【図５】クロスフェード方法の１つとしてゲインレベル一定で合成する方法の概念図
【図６】クロスフェード方法の１つとしてエネルギー和一定で合成する方法の概念図
【図７】ピッチを高くする場合の速読み区間と、ジャンプ区間との１サイクルを拡大した図であって、アドレスのジャンプ量を計算する方法と、このジャンプ量を修正する方法を表す概念図
【図８】ピッチを低くする場合の遅読み区間と、ジャンプ区間との１サイクルを拡大した図であって、アドレスのジャンプ量を計算する方法と、このジャンプ量を修正する方法を表す概念図
【図９】ピッチを高くする場合におけるアタックがあったときの処理についての概念図
【図１０】ピッチを低くする場合におけるアタックがあったときの処理についての概念図
【図１１】図９で説明したアタックを判定する処理についてのフロー図
【符号の説明】
【００７６】
１−信号処理装置、  １００−音声入力信号、  １０１−曲データ
１７２−書込／読出経路、  １７３−アドレス区画
１７４−書込方向、  １７４０−書込アドレス、  １７５−基準線
１７６−読出アドレス、  １７６１−速読み区間、  １７６２−ジャンプ区間
１７７−読出アドレス、  １７７１−遅読み区間、  １７７２−ジャンプ区間
１７８−直線、  １７９−サイクル、  １８−データ／アドレスバス
２１２−基本周期検出部、  ２１３−アタック検出部、  ２２−制御部
２４−読出アドレス制御部、２５−クロスフェードゲイン計算部
２６−クロスフェード合成部、  ２６１−ゲイン調整部、  ２６２−ゲイン調整部
２６３−加算部、  ２９−ピッチ変更率、  ３−Ｄ／Ａ変換器
４１−区間、  ４２−クロスフェード調整区間、  ４３−クロスフェード停止区間
【図１】
0004622908.tif 000002
【図２】
0004622908.tif 000003
【図３】
0004622908.tif 000004
【図４】
0004622908.tif 000005
【図５】
0004622908.tif 000006
【図６】
0004622908.tif 000007
【図７】
0004622908.tif 000008
【図８】
0004622908.tif 000009
【図９】
0004622908.tif 000010
【図１０】
0004622908.tif 000011
【図１１】
0004622908.tif 000012