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