(57)【特許請求の範囲】
【請求項１】
波形信号を複数のメイン周波数帯域に分割し、かつ、各メイン周波数帯域のそれぞれを複数のサブ周波数帯域に分割した該複数のサブ周波数帯域毎の波形信号の時間経過にともなう周波数情報と振幅情報とを波形データとして記憶した記憶手段と、
前記サブ周波数帯域毎に設けられ、各サブ周波数帯域毎の波形データを基に該波形データが表わす波形の時間軸圧縮伸長を行う複数の時間軸圧縮伸長手段と、
前記複数の時間軸圧縮伸長手段からの信号を合成する合成手段と
を有し、
前記複数のメイン周波数帯域は、周波数帯域の境界をなす一連の周波数がそれぞれ互いに２のｎ（ｎは整数）乗倍の比となるように分割された周波数帯域であり、かつ、隣り合う周波数帯域の低域側のサンプルレイトが該隣り合う周波数帯域の高域側のサンプルレイトの２分の１となるものであり、
前記複数の時間軸圧縮伸長手段はそれぞれ、波形の時間軸圧縮伸長を行うサブ周波数帯域が属するメイン周波数帯域に対応したサンプルレイトで圧縮伸長の処理を行う
ことを特徴とする波形信号の時間軸圧縮伸長装置。
【請求項２】
請求項１に記載の波形信号の時間軸圧縮伸長装置において、
前記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、あるメイン周波数帯域における時間軸圧縮伸長処理プログラムルーチンを他のメイン周波数帯域の時間軸圧縮伸長処理プログラムルーチンと共用する
ことを特徴とする波形信号の時間軸圧縮伸長装置。
【請求項３】
請求項１または２に記載の波形信号の時間軸圧縮伸長装置において、
前記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、同一のメイン周波数帯域に属するサブ周波数帯域の時間軸圧縮伸長手段は、同一の処理プログラムルーチンを使用する
ことを特徴とする波形信号の時間軸圧縮伸長装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、波形信号の時間軸圧縮伸長装置に関し、さらに詳細には、位相ボコーダ方式による波形信号の時間軸圧縮伸長処理を改善した波形信号の時間軸圧縮伸長装置に関する。
【０００２】
【従来の技術】
一般に、波形信号を再生する技術として、例えば、録音された波形信号の再生時間を時間軸上で圧縮伸長する時間軸圧縮伸長（以下、「タイムストレッチ」と適宜称する。）技術が音楽制作の分野でも利用されるようになってきている。
【０００３】
ところで、例えば、テープレコーダにおいては、テープに録音する際のテープの回転速度とテープを再生する際のテープの回転速度とを異ならせることにより、テープに録音された音声の再生時間を時間軸上で圧縮伸長することができる。
【０００４】
即ち、テープの録音時における波形信号が図１に示すものである場合に、再生時におけるテープの回転速度を録音時の回転速度より遅くすることによって再生時間を伸長すると、図１に示す波形信号は、波形が単に比例的に伸長された図２に示すような波形信号として再生されることになってしまい、再生時間が伸長されることにともにない、それと同時に周波数が変化してしまう（周波数が下がる）こととなっていた。
【０００５】
このため従来のタイムストレッチ技術においては、波形信号を順次に一時的にデジタルメモリーなどに記録し、一定の区間を間引いたり、あるいは繰り返したりして再生時間を時間軸上で伸長圧縮するようになされている。
【０００６】
なお、以下においては、再生時間の時間軸上での伸長圧縮を、適宜に「圧縮伸長」と簡略化して称するものとする。
【０００７】
しかしながら、連続する波形信号を間引いたり、あるいは繰り返したりすると、間引きあるいは繰り返しの際における各波形信号のそれぞれの接続点が不連続になるために雑音が発生するという新たな問題が生じるものであった。
【０００８】
このため、上記した各波形信号の接続点をクロスフェード（なお、「クロスフェード」とは、複数の波形を連続して再生する際に、ある波形（以下、「第１波形」と称する。）の終わり部分と当該ある波形に続くある波形（以下、「第２波形」と称する。）の始まり部分とをオーバーラップして再生するようにして、このオーバーラップして再生する際に、第１波形のオーバーラップ部分の音量を徐々に減少していくとともに、第２波形のオーバーラップ部分の音量を徐々に増大させていく手法を意味する。）することにより、雑音の発生を抑止しながら各波形の連続性を保とうとする手法が提案されているが、波形信号の揺らぎやリップルの発生を完全には防止することができず、根本的な解決策とはなっていなかった。
【０００９】
然るに、現在においては、上記した各種の問題点を解決するためのタイムストレッチ技術として、位相ボコーダという方式が提案されている。この位相ボコーダ方式は、一定区間の波形信号を間引いたり、あるいは繰り返したりすることがないため、雑音や揺らぎを生じさせることなしに、例えば、図１に示す波形信号を図３に示すような、再生時間の伸長にもかかわらず周波数が変化しない波形信号に伸長することができ、かつ、滑らかに再生時間の伸長圧縮を行うことができるものである。
【００１０】
図４には公知の位相ボコーダの一例のブロック構成図が示されており、また、図５には図４に示す位相ボコーダにおけるバンドｋ（図４に示す例においては、ｋは０〜９９の整数である。）に関する分析部（バンドｋ分析部）４００の詳細な構成の一例のブロック構成図が示されているが、以下においてはこれら図４ならびに図５を参照しながら位相ボコーダについて説明する。
【００１１】
即ち、位相ボコーダは、波形信号を当該波形信号の概略基本周波数を帯域幅に持つ複数の周波数帯域（Ｂａｎｄ：バンド）に分割し（図４に示す位相ボコーダにおいては、図６に示すようにバンド０〜バンド９９の１００バンドの周波数帯域に分割している。）、分割された各周波数帯域の分析部（図４に示す位相ボコーダにおいてはバンド０分析部〜バンド９９分析部であり、上記したように、バンドｋ分析部の詳細は図５に示されている。）において、分割された各周波数帯域の波形信号をそれぞれの周波数帯域の中心の複素周波数で乗算して振幅値と瞬間周波数に分析展開するものである。
【００１２】
ここで、図５においてｗ（ｎ）は分析フィルターのインパルス応答であり、バンドｋ分析部の作用は周知の短区間フーリエ変換と同等のものである。
【００１３】
そして、分割された各周波数帯域の分析部で得られた振幅値と瞬間周波数とは、記憶部に記憶されることになる。
【００１４】
また、各周波数帯域に分割された波形信号の合成は合成部において行われるものであり、分析された振幅値と瞬間周波数とで当該分析された各周波数帯域の中心周波数の正弦波を変調して当該各周波数帯域の波形信号を生成し、生成した各周波数帯域の波形信号を混合すれば元の波形信号が復元されることになる。
【００１５】
ここで、波形信号の再生時間を圧縮伸長する場合には、変換部において振幅値の補間値と瞬間周波数の補間値とを求める時間周波数変換処理が行われることになる。
【００１６】
図７（ａ）には、バンドｋに関する時間周波数変換処理を実行するためのバンドｋ変換部のブロック構成図が示されており、この図７（ａ）を参照しながら波形信号の再生時間を圧縮伸長する場合の処理について説明する。
【００１７】
まず、波形信号の再生時間を伸長する場合には、変換部において各サンプル点での振幅値を補間して振幅値のエンベロープを伸長率に基づいて引き伸ばし、また、瞬間周波数もサンプル点の補間値を求めるようにする（図７（ｂ）参照）。そして、こうして補間によって得られた振幅値と瞬間周波数とから、上記したと同様に合成部において、分割された各周波数帯域の波形信号を求め混合するものである。
【００１８】
一方、波形信号の再生時間を圧縮する場合には、振幅値と瞬間周波数とを補間によって間引いてエンベロープを縮めるようにする（図７（ｃ）参照）。そして、こうして補間によって得られた振幅値と瞬間周波数とから、上記したと同様に合成部において、分割された各周波数帯域の波形信号を求め混合するものである。
【００１９】
なお、波形信号のピッチを転調する場合には、分割された各周波数帯域の中心周波数と瞬間周波数との和を変化比率で乗算し、上記した補間演算を実行すればよい。
【００２０】
また、以上において説明した処理は公知の手法により実行されるものであるので、フローチャートならびにその詳細な説明は省略する。
【００２１】
しかしながら、上記した位相ボコーダ方式においては、波形信号を概略基本周波数の周波数帯域幅に分割し、分割した各周波数帯域の波形信号を分析して各倍音の振幅値と周波数とを求め、こうして求めた振幅値と周波数とに基づいて波形信号の合成を行うために、波形信号の処理量が膨大になって莫大な計算を行う必要があり、リアルタイムで処理することができないという問題点があった。
【００２２】
ここで、波形信号を各周波数帯域に分割する際の帯域分割数を少なくするならば、波形信号の処理量を節約することは可能であるが、伸長圧縮する波形信号が声あるいはブラスなどのように周期的、パルシーブな場合や和音などの場合には、当該波形信号を大幅に伸長すると倍音関係が崩れて調和が乱れるという新たな問題点を生じさせるものであった。
【００２３】
即ち、位相ボコーダ方式においては、波形信号の特定区間を直接間引いたりあるいは繰り返したりしないので、波形信号の滑らかな伸長圧縮が可能になるが、それに必要な膨大な波形信号の処理量を節約しようとして、波形信号を各周波数帯域に分割する際の帯域分割数を少なくすると、声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際に伸長圧縮率を大きくすると、倍音関係が崩れることがあるものであった。
【００２４】
つまり、位相ボコーダ方式は、原理的に伸長圧縮しようとする波形信号の周期成分が分割された帯域（バンド）に一つづつあるという仮定に基づいている。従って、分割された帯域内に隣接する倍音が複数ある周期的なパルス列の場合には、元の信号の基本周期で粒を構成することになる。このため、こうした帯域の波形信号の再生時間を伸長すると、当該波形信号のミクロな周期（中心周波数）は変化しないが粒の周期、つまり基本周期が伸長してしまい、原波形信号の倍音関係が損なわれてしまうこととなっていた。
【００２５】
また、上記したと同様な理由で、合奏音や非周期信号は倍音が正確に分離できないので、その波形信号を伸長圧縮すると再生音が濁るという問題が生じるものであった。
【００２６】
【発明が解決しようとする課題】
本発明は、上記したような従来の技術の有する問題点に鑑みてなされたものであり、その目的とするところは、位相ボコーダ方式の採用により波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を可能にするとともに、リアルタイムでの処理を可能にし、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないようにした波形信号の時間軸圧縮伸長装置を提供しようとするものである。
【００２７】
【課題を解決するための手段】
上記目的を達成するために、本発明による波形信号の時間軸圧縮伸長装置は、位相ボコーダ方式にマルチレイトサンプリング技術を応用し、両者の長所をより一層発揮させるようにして、波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を可能にするとともに、リアルタイムでの処理を可能にし、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないように改良したものである。
【００２８】
ここで、マルチレイトサンプリング技術とは、波形信号の帯域を上から順に半分づつに分割し、サンプリングレイトもそれに応じて順に半分に落としていくサンプリング方式であり、このため下位のバンドほどサンプリングレイトが低くなるので、全体としての波形信号の処理量を軽減することができる波形信号の処理方式である。
【００２９】
そして、マルチレイトサンプリング技術においては、各バンドはオクターブの周波数帯域幅を有するようになされている。
【００３０】
一方、位相ボコーダ方式においては、上記したように波形信号を倍音成分に分離させるために、マルチレイトサンプリング技術によるオクターブの周波数帯域幅の各バンド（以下、「メインバンド」または「メイン周波数帯域」と称する。）を、波形信号の概略基本周波数帯域幅の複数のバンド（以下、「サブバンド」または「サブ周波数帯域」と称する。）に分割しなければならないものである。
【００３１】
従って、位相ボコーダ方式にマルチレイトサンプリング技術を適用することにより、時間軸上で伸長圧縮する波形信号の最低基本周波数を１５０Ｈｚとし、１５ｋＨｚ帯域でのサンプリングレイトが３２ｋＨｚとすると、波形信号の周波数帯域を全部で１００のサブバンドに分割する必要がある。即ち、再上位の３２ｋＨｚのメインバンドに５０のサブバンドが必要になり、１６ｋＨｚのメインバンドに２５のサブバンドが必要になり、８ｋＨｚのメインバンドに１３のサブバンドが必要になり、４ｋＨｚのメインバンドに６のサブバンドが必要になり、２ｋＨｚのメインバンドに３のサブバンドが必要になり、１ｋＨｚのメインバンドに２のサブバンドが必要になり、０．５ｋＨｚのメインバンドに１のサブバンドが必要になる。
【００３２】
また、波形信号の最低基本周波数がさらに低く、例えば、５０Ｈｚになると、必要なサブバンドの分割数は３００にもなってしまうものである。
【００３３】
このように、単に位相ボコーダ方式にマルチレイトサンプリング技術を適用しただけでは、総サブバンドのなかで最もサンプルレイトの高いサブバンドがその大半を占めるようになってしまうため、マルチレイトサンプリング技術の適用による波形信号処理量の低減効果は小さくなってしまうものである。
【００３４】
ところで、自然の音声は、周波数が高域になるほど振幅や周期の揺らぎ大きくなるが、低域に比べてレベルは低くなる傾向がある。
【００３５】
また、人の聴覚は、音量だけでなく周波数軸上においても線形よりも対数に近い尺度で反応する特性を持っている。
【００３６】
本願出願人は、上記した自然の音声や人の聴覚の特性に鑑みて実験を行ったところ、ほとんどの楽音に関して、最上位のメインバンドでも５０ものサブバンドに分割せずにわずか数バンドのサブバンドに分割することにより、波形信号の処理量の大幅な低減を図ってリアルタイム処理を可能にしながら、波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を行うことができるようになり、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないことを発見した。
【００３７】
また、波形信号の基本周波数が高域の場合には下位のサブバンドを省略しても影響がなく、波形信号の基本周波数が中域の場合にはサブバンドの分割数を少なくしても影響がないことがわかった。
【００３８】
上記した本発明に原理に鑑みて、本発明のうち請求項１に記載の発明は、波形信号を複数のメイン周波数帯域に分割し、かつ、各メイン周波数帯域のそれぞれを複数のサブ周波数帯域に分割した当該複数のサブ周波数帯域毎の波形信号の時間経過にともなう周波数情報と振幅情報とを波形データとして記憶した記憶手段と、上記サブ周波数帯域毎に設けられ、各サブ周波数帯域毎の波形データを基に当該波形データが表わす波形の時間軸圧縮伸長を行う複数の時間軸圧縮伸長手段と、上記複数の時間軸圧縮伸長手段からの信号を合成する合成手段とを有し、上記複数のメイン周波数帯域は、周波数帯域の境界をなす一連の周波数がそれぞれ互いに２のｎ（ｎは整数）乗倍の比となるように分割された周波数帯域であり、かつ、隣り合う周波数帯域の低域側のサンプルレイトが当該隣り合う周波数帯域の高域側のサンプルレイトの２分の１となるものであり、上記複数の時間軸圧縮伸長手段はそれぞれ、波形の時間軸圧縮伸長を行うサブ周波数帯域が属するメイン周波数帯域に対応したサンプルレイトで圧縮伸長の処理を行うようにしたものである。
【００３９】
また、本発明のうち請求項２に記載の発明は、本発明のうち請求項１に記載の発明において、上記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、あるメイン周波数帯域における時間軸圧縮伸長処理プログラムルーチンを他のメイン周波数帯域の時間軸圧縮伸長処理プログラムルーチンと共用するようにしたものである。
【００４０】
また、本発明のうち請求項３に記載の発明は、本発明のうち請求項１または２に記載の発明において、上記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、同一のメイン周波数帯域に属するサブ周波数帯域の時間軸圧縮伸長手段は、同一の処理プログラムルーチンを使用するようにしたものである。
【００４５】
【発明の実施の形態】
以下、添付の図面を参照しながら、本発明による波形信号の時間軸圧縮伸長装置の実施の形態の一例を詳細に説明する。
【００４６】
図８には、本発明による波形信号の時間軸圧縮伸長装置（以下、単に「本発明装置」と称する。）の実施の形態の一例を実現するためのハードウエアのブロック構成図が示されている。
【００４７】
即ち、本発明装置は、中央処理装置（ＣＰＵ）１０により全体の動作の制御が行われるものであり、このＣＰＵ１０には、バスを介して、ＣＰＵ１０が実行するプログラムなどが格納されたリード・オンリ・メモリ（ＲＯＭ）１２と、ＣＰＵ１０がＲＯＭ１２に記憶されたプログラムを実行する際のワーキングエリアなどが設定されたランダム・アクセス・メモリ（ＲＡＭ）１４と、メインバンド数たるマルチレイト分割バンド数や各メインバンドのサブバンド数を設定するための操作子１６と、外部のＭＩＤＩ機器と接続するためのＭＩＤＩインターフェース（ＭＩＤＩ  ｉｎｔｅｒｆａｃｅ）１８と、後述するフローチャートに示される分析処理や変換合成処理のプログラムを実行するデジタル・シグナル・プロセッサ（ＤＳＰ）２０とが接続されている。
【００４８】
また、ＤＳＰ２０には、ＤＳＰ２０がプログラムを実行する際のワーキングエリアなどが設定されたランダム・アクセス・メモリ（ＲＡＭ）２２と、アナログの波形信号をデジタルの波形信号に変換してＤＳＰ２０へ入力するアナログ／デジタル変換器（Ａ／Ｄ）２４と、ＤＳＰから出力されたデジタルの波形信号をアナログの波形信号に変換して出力するデジタル／アナログ変換器（Ｄ／Ａ）２６とが接続されている。
【００４９】
ここで、時間軸上で伸長圧縮する波形信号の特性を予め解析して、メインバンド数やサブバンド数を設定すれば最適な変換を行うことができるのは当然のことであるが、どのような特性の波形信号にも適用できる簡単でユニバーサルな分割方式があれば簡便である。即ち、仮に各メインバンドを同じ数のサブバンドで分割すれば、各メインバンドの信号処理プログラムは同じルーチンを利用することができるし、プログラム自体の短縮化も図ることができることになる。
【００５０】
ところが、このように各メインバンドを同じ数のサブバンドで分割すると、上位のメインバンドにおけるサブバンドの帯域幅が、下位のメインバンドにおけるサブバンドの帯域幅に比べて広くなってしまい、倍音関係が崩れることになってしまうが、本願出願人による実験の結果においては、ほとんどの自然楽音の高域成分は信号レベルが低い上に非周期成分が多いので、音質の劣化は非常に少ないことがわかった。
【００５１】
これとは逆に、下位のメインバンドには自然楽音の主要な成分が含まれているが、帯域幅が十分に狭いために音質の劣化は起こりにくいものである。
【００５２】
即ち、本願出願人の実験の結果によれば、各メインバンドにおけるサブバンド数が３以上であるならば良好な音質が得られることか判明した。このことは、例えば、各メインバンドにおけるサブバンド数を３とするならば、良好な音質を得ることができるとともに、帯域分割を周波数線形で等間隔で１００バンド以上に等分割する場合に比べて、信号処理時間を大幅に短縮することができることを意味するものである。
【００５３】
また、各メインバンドを同じ数のサブバンドで分割すると、上位のメインバンドほどサブバンドの帯域幅が広いので、鋭い立ち上がりの信号に対する応答がよくなるものである。
【００５４】
一方、各メインバンドを同じ数のサブバンドで分割すると、下位のメインバンドのサブバンドは狭帯域となるので、合奏などの混合音や非周期信号を時間軸上で伸長圧縮しても濁りが少ないものである。
【００５５】
本発明装置は、上記したように聴覚の特性を利用したマルチレイトサンプリング技術により、高速かつ音質の優れた時間軸上の伸長圧縮を可能としたものである。
【００５６】
ここで、本発明装置においては、ＤＳＰ２０により波形信号の処理が行われるものである。
【００５７】
まず、アナログ／デジタル変換器２４を介してアナログ／デジタル変換されて入力された波形信号は、図９に示すように、基本の４４ｋＨｚのサンプルレイトから始めて、２２ｋＨｚ、１１ｋＨｚ、５．５ｋＨｚ、２．７５ｋＨｚ、１．３８ｋＨｚ、０．６８ｋＨｚの６のメインバンドに分割される。そして、各サンプルレイトのメインバンドは、さらに４のサブバンドに等分割されるものである。
【００５８】
なお、図９においては、説明の都合上、１４．６７ｋＨｚから２２ｋＨｚのバンドの図示を省略した。
【００５９】
また、この実施の形態においては、波形信号のピッチを１．５倍まで変化できるように、最上位のメインバンドは７．３３ｋＨｚからその２倍の１４．６７ｋＨｚに制限している。
【００６０】
図１０には、ＤＳＰ２０による波形信号の合成処理および時間軸圧縮伸長処理を実現するための回路のブロック構成図が示されており、当該回路はマルチレイト分析部とマルチレイト合成部とより構成されている。
【００６１】
ここで、マルチレイト分析部は、波形信号をメインバンドとサブバンドとに分割するマルチレイト前処理部と、各サブバンドの振幅値と瞬間周波数とを分析するサブバンド分析部と、サブバンド分析部により分析された振幅値と瞬間周波数とを記憶する記憶部とより構成されている。
【００６２】
また、マルチレイト合成部は、サブバンド分析部により分析された振幅値と瞬間周波数とを記憶する記憶部（即ち、記憶部は、マルチレイト分析部とマルチレイト合成部との双方の構成要素として用いられる。）と、振幅値と瞬間周波数とから波形信号を生成するためのサブバンド変換合成部と、サンプルレイト変換部とより構成されている。
【００６３】
ここで、図１１には、マルチレイト前処理部の詳細なブロック構成図が示されており、このマルチレイト前処理部は、低域フィルタとサンプル間引き処理回路と減算器とより構成されている。
【００６４】
また、図１２には、サブバンド変換合成部の詳細なブロック構成図が示されており、このサブバンド変換合成部は、図４に示す従来の位相ボコーダのブロック構成図における変換部および合成部に相当するものであり、時間周波数変換処理回路と余弦発振器と乗算器とより構成されている。
【００６５】
さらに、図１３には、サンプルレイト変換部の詳細なブロック構成図が示されており、このサンプルレイト変換部は、サンプル逓倍回路と低域フィルタとより構成されている。
【００６６】
以上の構成において、入力される波形信号たる入力信号ｘ（ｎ）は、マルチレイト分析部のマルチレイト前処理部に入力される。そして、マルチレイト前処理部においては、入力信号ｘ（ｎ）を低域フィルタに通過させ、低域フィルタによって入力信号ｘ（ｎ）のうちの下位のバンド（メインバンド）の成分を減算した後の差分が、バンド（メインバンド）０の成分とされる。そして、このバンド（メインバンド）０の成分は、バンド（メインバンド）０のサブバンド分析部に送られることになる。
【００６７】
上記と同様な処理により、順に各メインバンドの成分が得られ、各メインバンドのサブバンド分析部へ送られる。
【００６８】
各サブバンド分析部における処理は、図４に示す従来の位相ボコーダのブロック構成図における分析部の処理と同様であり、この実施の形態においては、４のサブバンドに分割されて振幅値と瞬間周波数とが分析される。
【００６９】
なお、分析された各サブバンドのデータ（振幅値および瞬間周波数）は帯域が制限されているので、大幅に標本化周期を間引き情報量を圧縮して記憶部に記憶することができる。この実施の形態の場合には、最大１６分の１まで間引くことができるが、説明を簡略化にするため、圧縮と解凍の処理は省略した。
【００７０】
ここで、マルチレイト前処理部の処理を、さらに詳細に説明すると、低域フィルタを通過した波形信号は、一周期毎にサンプル間引されて下位のバンド（メインバンド）へ送られることになる。そして、バンド（メインバンド）１では、サンプルレイトはバンド（メインバンド）０の２分の１で同じ処理が実行され、４つのサブバンド分の解析データが上位バンド（メインバンド）の半分の処理時間で計算できることになる。以下、同様にして、バンド（メインバンド）４まで処理を進めていく。最下位のバンド（メインバンド）５は、図１４に示すように、サブバンドの帯域幅をバンド（メインバンド）４と同じにするならば、分析されたバンド（メインバンド）の中心周波数が異なるだけで、サブバンドの処理過程はバンド（メインバンド）４の場合と全く同じで良い。また、バンド（メインバンド）４とバンド（メインバンド）５とを併せて、８のサブバンドを最下位バンド（メインバンド）の処理としてもよい。
【００７１】
以上において説明したマルチレイト分析部における処理は、入力信号ｘ（ｎ）を刻々実時間で実行しても良いが、入力信号ｘ（ｎ）の一定区間または全部をデジタルメモリにロードして、バンド（メインバンド）０の分析を終了してからバンド（メインバンド）１以下の下位のバンド（メインバンド）を順次に分析していっても良い。
【００７２】
なお、マルチレイト合成部における出力シフトレジスタは、サンプルレイトの異なるバンド（メインバンド）間の信号のバッファと同期化のために、一定区間のデータを保持して送出するものである。
【００７３】
また、この実施の形態においては、バンド（メインバンド）の成分を当該バンド（メインバンド）のサンプルレイトで処理して、直接サブバンドの振幅値および瞬間周波数を分析したが、図１５に示すように、一旦、サンプルレイトｆｓの４分の１のｅｘｐ−ｊ（ｗｓ／４）ｎを乗算して複素成分に分解してから、さらにフィルタでサブバンドに分割してから分析しても良い。このようにすると、サンプルレイトを４分の１に下げることができる。
【００７４】
そして、上記したマルチレイト分析部の処理をデジタル信号処理プログラムで実行する場合には、マルチレイト前処理は各バンド（メインバンド）で共通化することができ、各バンド（メインバンド）における各サブバンドの分析処理も共通の処理ルーチンで実行することができる。
【００７５】
このように、各バンド（メインバンド）におけるマルチレイト前処理のルーチンの共通化を図り、また、各サブバンドの分析処理のルーチンの共通化を図ることにより、デジタル信号処理プログラムの短縮化と高速化とを実現することができる。
【００７６】
図１６は、上記したマルチレイト分析部の処理をＤＳＰ２０のプログラムで実行する場合のルーチンを示すフローチャートである。
【００７７】
このルーチンにおいては、まず、分析区間読み込みの処理を行う（ステップＳ１６０２）。即ち、一定の区間の波形信号（入力信号）を分析のために、ＤＳＰ２０のメモリにロードする。
【００７８】
次に、バンド（メインバンド）を示す変数Ｋを０に設定して、バンド０を選択する（ステップＳ１６０４）。
【００７９】
次に、バンド分割ならびにサンプル逓減の処理を行う（ステップＳ１６０６）。即ち、入力された分析区間の波形信号を低域フィルタで高域と低域とに分割する。そして、低域成分はサンプリングを半分に間引いて、下位バンド（メインバンド）へ送る。
【００８０】
次に、サブバンドを示す変数Ｎを０に設定して、サブバンド０を選択する（ステップＳ１６０８）。
【００８１】
次に、サブバンドＮの解析を行う（ステップＳ１６１０）。即ち、ステップＳ１６０６において分割された高域信号は、上記した従来の位相ボコーダのアルゴリズムによってサブバンドＮに分離され、その波形信号の振幅値と瞬間周波数とに変換される。バンド（メインバンド）のサンプルレイトが半分になるにつれて、分割のための低域フィルタの帯域幅も半分になる。従って、低域フィルタなどの係数も、分析アルゴリズムルーチンと同様に全バンド（メインバンド）で同じものが利用できるようになる。ただし、下位バンド（メインバンド）になるほど、分析の対象になるデータサンプル数が半減する。つまりバンド変数Ｋによって計算サンプル数を変えるようにして、バンド（メインバンド）のサンプルレイトに対応する数のサンプルを計算する。
【００８２】
次に、ステップＳ１６１０におけるバンドＫ、サブバンドＮの分析データを所定のメモリ領域に書き込む（ステップＳ１６１２）。
【００８３】
次に、サブバンドの変数Ｎを１だけインクリメントして、次のサブバンド処理に移る（ステップＳ１６１４）。
【００８４】
次に、サブバンドの変数Ｎが３であるか否かを判断する（ステップＳ１６１６）。ここで、ステップＳ１６１６の判断結果がＮｏ（否定）、即ち、サブバンドの変数Ｎが３でなくて全サブバンドの分析が終了していないと判断された場合には、ステップＳ１６１０へ戻って次のサブバンドの分析の処理を行う。
【００８５】
一方、ステップＳ１６１６の判断結果がＹｅｓ（肯定）、即ち、サブバンドの変数Ｎが３であり全サブバンドの分析が終了したと判断された場合には、バンド（メインバンド）の変数Ｋを１だけインクリメントして、次のバンドを指定する（ステップＳ１６１８）。
【００８６】
次に、バンド（メインバンド）の変数Ｋが５であるか否かを判断する（ステップＳ１６２０）。ここで、ステップＳ１６２０の判断結果が否定、即ち、バンド（メインバンド）の変数Ｋが５でなくて最下位バンド（メインバンド）はないと判断された場合には、ステップＳ１６０６へ戻って次のバンド（メインバンド）の分割の処理を行う。
【００８７】
一方、ステップＳ１６２０の判断結果が肯定、即ち、バンド（メインバンド）の変数Ｋが５であり最下位バンド（メインバンド）であると判断された場合には、バンド（メインバンド）５に特有の分析処理を行う（ステップＳ１６２２）。即ち、最下位バンド（メインバンド）はその上位のバンド（メインバンド）と帯域幅を同じにすれば、上位バンド（メインバンド）と同じルーチンを利用することもできる。ただし、サンプルレイトは同じでバンド（メインバンド）の中心（分析）周波数だけが異なる。つまり、バンド（メインバンド）４とバンド（メインバンド）５とを併せて、８のサブバンドの最下位バンド（メインバンド）処理になる。
【００８８】
次に、全分析区間を完了したか否かを判断する（ステップＳ１６２４）。ここで、ステップＳ１６２４の判断結果が否定、即ち、全分析区間を完了していないと判断された場合には、ステップＳ１６０２へ戻って次の区間の処理を行う。
【００８９】
一方、ステップＳ１６２４の判断結果が肯定、即ち、全分析区間を完了していると判断された場合には、このルーチンの処理を終了する。
【００９０】
次に、マルチレイト合成部の処理について説明すると、各バンド（メインバンド）の記憶部から読み出された振幅値と瞬間周波数情報とは、サブバンド変換合成部で時間伸長圧縮と周波数変換された後に、加算合成と同じ原理で各バンド（メインバンド）の余弦発振器（サイン波発振器）が倍音を作ることになる。
【００９１】
各バンド（メインバンド）の倍音は、サンプルレイト変換部でサンプルレイトを逓倍した後に、上位のバンド（メインバンド）に加算され、順次上位のサンプルレイトに変換合成されていく。この実施の形態においては、波形信号のデータは間引き圧縮されていないので、直接バンド（メインバンド）のサンプルレイトで復号することになる。
【００９２】
一方、データが間引かれている場合には、低いサンプルレイトで時間周波数の変換処理をした後に、サンプルレイトを逓倍して倍音の合成をすることもできるものである。
【００９３】
図１７は、上記したマルチレイト合成部の処理をＤＳＰ２０のプログラムで実行する場合のルーチンを示すフローチャートである。
【００９４】
このルーチンにおいては、まず、合成のために記憶部から一定区間の分析データをＤＳＰ２０のメモリにロードする（ステップＳ１７０２）。
【００９５】
次に、バンド（メインバンド）を示す変数Ｋを０に設定して、バンド０を選択する（ステップＳ１７０４）。
【００９６】
次に、サブバンドを示す変数Ｎを０に設定して、サブバンド０を選択する（ステップＳ１７０６）。
【００９７】
次に、バンド（メインバンド）ＫのサブバンドＮの分析データをもとに、位相ボコータアルゴリズムによって一定区間の波形信号を合成する（ステップＳ１７０８）。ここで、一定区間とは、ステップＳ１７０２で読み込まれた分析データにより合成できる区間である。バンド（メインバンド）が下位になるに従って、合成サンプル数は半減していくが、波形信号の再生時間は等しいものである。即ち、バンド（メインバンド）数が６の場合には、最上位バンド（メインバンド）は最下位バンド（メインバンド）の３２倍になる。
【００９８】
この実施の形態においては、最上位サンプル数の３２倍を基本単位またはその整数倍を合成区間とすればよい。この場合には、基本単位は約０．７ミリ秒と十分に短い値となる。
【００９９】
変換合成においても、サンプリングレイト、即ち、バンド（メインバンド）が異なっていても同じルーチンが利用できるが、上記した図１６の分析マルチレイト分析部の処理において説明したように、サンプリングレイト、即ち、バンド（メインバンド）が半分になるに従って、計算するデータ量も半減する。つまりバンド（メインバンド）の変数Ｋによって計算サンプル数を変えるようにして、バンド（メインバンド）のサンプルレイトに対応する数のサンプルを計算する。
【０１００】
次に、合成された区間の波形信号サンプルデータをバンド（メインバンド）Ｋの出力レジスタに加算する（ステップＳ１７１０）。出力レジスタには、先に合成したサブバンドの合成信号系列が合算されている。この出力レジスタはシフトレジスタになっていて、バンド（メインバンド）Ｋのサンプルレイトでデータをシフト出力していく。全サブバンドの合成信号が加算された時点で、下位バンド（メインバンド）からの合成信号と加算されてサンプルレイト変換部へ送られる。
【０１０１】
次に、サブバンドの変数Ｎを１だけインクリメントして、次のサブバンド処理に移る（ステップＳ１７１２）。
【０１０２】
次に、サブバンドの変数Ｎが３であるか否かを判断する（ステップＳ１７１４）。ここで、ステップＳ１７１４の判断結果が否定、即ち、サブバンドの変数Ｎが３でなくて全サブバンドの分析が終了していないと判断された場合には、ステップＳ１７０８へ戻って次のサブバンドの分析の処理を行う。
【０１０３】
一方、ステップＳ１７１４の判断結果が肯定、即ち、サブバンドの変数Ｎが３であり全サブバンドの分析が終了したと判断された場合には、バンド（メインバンド）の変数Ｋを１だけインクリメントして、次のバンドを指定する（ステップＳ１７１６）。
【０１０４】
次に、バンド（メインバンド）の変数Ｋが５であるか否かを判断する（ステップＳ１７１８）。ここで、ステップＳ１７１８の判断結果が否定、即ち、バンド（メインバンド）の変数Ｋが５でなくて最下位バンド（メインバンド）はないと判断された場合には、ステップＳ１７０６へ戻って次のバンド（メインバンド）の分割の処理を行う。
【０１０５】
一方、ステップＳ１７１８の判断結果が肯定、即ち、バンド（メインバンド）の変数Ｋが５であり最下位バンド（メインバンド）であると判断された場合には、バンド（メインバンド）５に特有の合成処理を行う（ステップＳ１７２０）。即ち、最下位バンド（メインバンド）はその上位のバンド（メインバンド）と帯域幅が同じなので、上位バンド（メインバンド）と同じルーチンを利用することもできる。ただし、サンプルレイトは同じだが、バンド（メインバンド）の中心（合成）周波数だけが異なる。
【０１０６】
次に、全合成区間を完了したか否かを判断する（ステップＳ１７２２）。ここで、ステップＳ１７２２の判断結果が否定、即ち、全合成区間を完了していないと判断された場合には、ステップＳ１７０２へ戻って次の区間の処理を行う。
【０１０７】
一方、ステップＳ１７２２の判断結果が肯定、即ち、全合成区間を完了していると判断された場合には、このルーチンの処理を終了する。
【０１０８】
なお、上記した実施の形態においては、本発明を時間軸上の伸長圧縮、即ち、タイムストレッチに適用した場合について説明したが、これに限られるものではないことは勿論であり、分析パラメータや分析された各バンド（メインバンド）の音声データを基に、鍵盤などの指示により音高や時間を変化して瞬時に発音する楽音発生処理に適用してもよいことは勿論である。
【０１０９】
【発明の効果】
本発明は、以上説明したように構成されているので、位相ボコーダ方式の採用により波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を行うことが可能になるとともに、リアルタイムでの処理が可能になり、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないようになるという優れた効果を奏する。
【図面の簡単な説明】
【図１】テープの録音時における波形信号（伸長前の波形信号）を示す波形説明図である。
【図２】テープの回転速度を録音時より遅くした再生時における波形信号（伸長後の波形信号）を示す波形説明図である。
【図３】位相ボコーダによる伸長後の波形信号を示す波形説明図である。
【図４】公知の位相ボコーダの一例を示すブロック構成図である。
【図５】図４に示す位相ボコーダにおけるバンドｋに関する分析部（バンドｋ分析部）の詳細な構成の一例を示すブロック構成図である。
【図６】バンド０〜バンド９９の１００バンドに周波数帯域を分割した状態を示す説明図である。
【図７】（ａ）はバンドｋに関する時間周波数変換処理を実行するためのバンドｋ変換部の詳細な構成の一例を示すブロック構成図であり、（ｂ）は波形信号の再生時間を伸長する場合を示す波形説明図であり、（ｃ）は波形信号の再生時間を圧縮する場合を示す波形説明図である。
【図８】本発明による波形信号の合成装置および時間軸圧縮伸長装置の実施の形態の一例を実現するためのハードウエアのブロック構成図である。
【図９】バンド（メインバンド）とサブバンドとの関係を示す波形説明図である。
【図１０】ＤＳＰによる波形信号の合成処理および時間軸圧縮伸長処理を実現するための回路のブロック構成図である。
【図１１】マルチレイト前処理部の詳細なブロック構成図である。
【図１２】サブバンド変換合成部の詳細なブロック構成図である。
【図１３】サンプルレイト変換部の詳細なブロック構成図である。
【図１４】最下位バンド（メインバンド）のサブバンドの分割処理を示す波形説明図である。
【図１５】バンド信号の複素化を示す波形説明図である。
【図１６】マルチレイト分析部の処理をＤＳＰのプログラムで実行する場合のルーチンを示すフローチャートである。
【図１７】マルチレイト合成部の処理をＤＳＰのプログラムで実行する場合のルーチンを示すフローチャートである。
【符号の説明】
１０      中央処理装置（ＣＰＵ）
１２      リード・オンリ・メモリ（ＲＯＭ）
１４      ランダム・アクセス・メモリ（ＲＡＭ）
１６      操作子
１８      ＭＩＤＩインターフェース（ＭＩＤＩ  ｉｎｔｅｒｆａｃｅ）
２０      デジタル・シグナル・プロセッサ（ＤＳＰ）
２２      ランダム・アクセス・メモリ（ＲＡＭ）
２４      アナログ／デジタル変換器（Ａ／Ｄ）
２６      デジタル／アナログ変換器（Ｄ／Ａ）
４００      バンドｋ分析部
【図１】
0004170459.tif 000002
【図２】
0004170459.tif 000003
【図３】
0004170459.tif 000004
【図４】
0004170459.tif 000005
【図５】
0004170459.tif 000006
【図６】
0004170459.tif 000007
【図７】
0004170459.tif 000008
【図８】
0004170459.tif 000009
【図９】
0004170459.tif 000010
【図１０】
0004170459.tif 000011
【図１１】
0004170459.tif 000012
【図１２】
0004170459.tif 000013
【図１３】
0004170459.tif 000014
【図１４】
0004170459.tif 000015
【図１５】
0004170459.tif 000016
【図１６】
0004170459.tif 000017
【図１７】
0004170459.tif 000018