(57)【特許請求の範囲】
【請求項１】
相互に異なる複数の圧縮伸長処理方式を採用して波形を時間軸方向に圧縮もしくは伸長する圧縮伸長手段と、
原波形が複数の時間領域に分割されてなる複数の分割波形の圧縮伸長処理が前期複数の圧縮伸長処理方式で分担されるように各分割波形の圧縮伸長処理方式を指定する処理方式指定手段とを備え、
前記圧縮伸長手段が、前記各分割波形について、前記処理方式指定手段で指定された各圧縮伸長処理方式を採用して圧縮伸長処理を行うものであることを特徴とする波形圧縮伸長装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、波形を時間軸方向に圧縮もしくは伸長する波形圧縮伸長装置に関する
【０００２】
【従来の技術】
従来より、楽音等の波形を表す信号のピッチを変換することによって楽音等の音高を変化させるいわゆるピッチシフタが知られている。しかし、楽音のテンポが解る程度の長さを有するフレーズの波形を表す信号のピッチがピッチシフタによって変換されると、楽音のテンポも変化してしまうという問題があり、楽音のテンポを変えることなく音高のみを変化させる装置が望まれている。逆に、楽音の音高を保ったままで、楽音のテンポを変える装置も望まれている。
これらの要望に応える装置として、楽音等の波形を、波形のピッチを変更することとは独立に、時間軸方向に圧縮もしくは伸長する波形圧縮伸長装置が提案されている。
【０００３】
ところで、波形を圧縮もしくは伸長する方式には、複数の圧縮伸長処理方式が考えられる。また、音を表す波形には、周期的な波形や、非周期的な波形や、間欠的な波形や、連続的な波形等といった各種の波形があり、波形の種類に応じて、その波形を時間軸方向に圧縮もしくは伸長するのに適した圧縮伸長処理方式が考えられる。すなわち、ある波形をその波形の種類に適した方式で圧縮伸長すると、圧縮伸長後の波形が表す音の音質は良いが、ある波形をその波形の種類に適しない方式で圧縮伸長した場合には、圧縮伸長後の波形が表す音の音質は悪い。
【０００４】
【発明が解決しようとする課題】
しかし、一般に、楽音等の波形は、各種の波形が混在した波形である。このため、いずれの圧縮伸長処理方式を採用しても、楽音等の波形を圧縮伸長した後の波形が表す楽音等の音質が悪くなりがちであるという問題がある。
本発明は、上記事情に鑑み、楽音等の波形を圧縮伸長した後の波形が表す楽音等の音質が良い波形圧縮伸長装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成する本発明の波形圧縮伸長装置は、相互に異なる複数の圧縮伸長処理方式を採用して波形を時間軸方向に圧縮もしくは伸長する圧縮伸長手段と、
原波形が複数の時間領域に分割されてなる複数の分割波形の圧縮伸長処理が上期複数の圧縮伸長処理方式で分担されるように各分割波形の圧縮伸長処理方式を指定する処理方式指定手段とを備え、
圧縮伸長手段が、処理方式指定手段で指定された圧縮伸長処理方式を採用して圧縮伸長処理を行うものであることを特徴とする。
種々の波形が混ざり合った、楽音等を表す波形は、複数の時間領域に分割することによって波形の種類を分離することができることが多い。
本発明の波形圧縮伸長装置によれば、原波形が複数の時間領域に分けられてなる複数の分割波形を、複数種類の圧縮伸長処理方式で分担して時間軸方向に圧縮もしくは伸長するので、原波形として楽音等を表す波形を用いた場合であっても、種々の波形それぞれに適した圧縮伸長処理方式で圧縮伸長を行うことによって、音質の良い楽音等を表す圧縮伸長波形を生成することができる。
【０００６】
【発明の実施の形態】
以下、本発明の実施形態を説明するにあたり、まず、圧縮伸長処理方式の例を説明し、その後、本発明の波形圧縮伸長装置の実施形態について説明する。
以下の説明では、波形という概念と、その波形を表す波形データという概念とを区別せずに用いる場合がある。
また、以下、各圧縮伸長処理方式の説明では、圧縮伸長の対象となる、圧縮伸長前の波形のことを「原波形」と称し、圧縮伸長後の波形のことを「圧縮伸長波形」と称する。また、ここでは、原波形のピッチと同じピッチを有し、原波形が時間軸方向に伸長された圧縮伸長波形が生成される場合について説明する。
【０００７】
図１は、第１の圧縮伸長処理方式の説明図である。
この第１の圧縮伸長処理方式では、以下で詳細に説明するように、原波形上に、原波形を１ピッチ毎に区切る切出開始アドレスが設定され、原波形が、約２ピッチ分ずつ、圧縮伸長波形のピッチに相当する時間間隔で、２つの処理系によって交互に読み出される。読み出された原波形に基づいて各処理系により処理波形が生成され、生成された各処理波形が重ね合わされて圧縮伸長波形が生成される。原波形が読み出される際に、読み飛ばしもしくは重複読み出しが行われることによって、波形が時間軸方向に圧縮もしくは伸長される。
【０００８】
最上段の図１（Ａ）には、原波形が示されており、図１（Ａ）の横軸は、原波形を表す波形データのアドレスを示すとともに、原波形の時間軸にも相当する。また、図１（Ａ）には、原波形を１ピッチ毎に区切る切出開始アドレスｃｓａ１，・・・，ｃｓａ７が示されている。
【０００９】
図１（Ｂ）には、圧縮伸長波形の再生ピッチに相当する時間間隔で時間軸上に配置された、時点ｔ0 ，・・・，ｔ7 が示されており、各時点ｔ0 ，・・・，ｔ7 において原波形の約２ピッチ分の波形データを読み出し始める。また、図１（Ｂ）には、原波形上の位置を示す位置情報ＰＰ（０），・・・，ＰＰ（７）が示されており、各位置情報ＰＰ（０），・・・，ＰＰ（７）により示される位置が、各時点ｔ0 ，・・・，ｔ7 において開始される読み出しの対象となる。また、各位置情報ＰＰ（０），・・・，ＰＰ（７）が示す原波形上の位置は、時点ｔ0 ，・・・，ｔ7 を起点として図１（Ｂ）から図１（Ａ）へと向かう各矢印Ｆ0 ，・・・，Ｆ7 によって示されており、各矢印Ｆ0 ，・・・，Ｆ6 は、各切出開始アドレスｃｓａ１，・・・，ｃｓａ７よりも図の左側の位置を示している。
【００１０】
ここでは、図１（Ａ）に示す各切出開始アドレスｃｓａ１，・・・，ｃｓａ７の間隔と、図１（Ｂ）に示す各時点ｔ0 ，・・・，ｔ6 の間隔は互いに同一であり、上述したように、原波形のピッチと同じピッチを有する圧縮伸長波形が生成される。また、各時間情報ＰＰ（１），・・・，ＰＰ（６）が示す原波形上の位置は、各切出開始アドレスｃｓａ２，・・・，ｃｓａ７よりも図の左側の位置を示しており、このため、後述するように、波形データの重複読み出しが行われ、上述したように、原波形が時間軸方向に伸長された圧縮伸長波形が生成される。
【００１１】
図１（Ｃ）および図１（Ｄ）に点線で示されている三角形の波形は、それぞれ、第１処理系用および第２処理系用の窓を示しており、図１（Ｃ）および図１（Ｄ）に実線で示されている波形は、各処理波形を示している。また、図１（Ｃ）および図１（Ｄ）には切出開始アドレスが示されており、この切出開始アドレスは各処理系によって読み出された２ピッチ分の波形データの先頭に相当する。各処理波形は、図１（Ｃ）および図１（Ｄ）に示されている窓と、各処理系によって読み出された波形データとが掛け合わされて生成され、これらの処理波形が重ね合わされて圧縮伸長波形が生成される。
【００１２】
時点ｔ0 では、第１処理系による波形データの読み出しが開始される。図１（Ａ）および図１（Ｂ）に示すように、位置情報ＰＰ（０）は、切出開始アドレスｃｓａ１の位置を示しているので、図１（Ｃ）に示すように、切出開始アドレスｃｓａ１から２ピッチ分の波形データが読み出される。
時点ｔ1 では、第２処理系による波形データの読み出しが開始される。図１（Ａ）および図１（Ｂ）に示すように、位置情報ＰＰ（１）は、切出開始アドレスｃｓａ１と切出開始アドレスｃｓａ２との間の位置を示している。このため、この位置が読出対象に含められて、図１（Ｄ）に示すように、切出開始アドレスｃｓａ１から２ピッチ分の波形データが読み出されることとなる。この結果、波形データの重複読み出しが行われる。
上記と同様に、時点ｔ2 ，・・・，ｔ5 では、それぞれ、切出開始アドレスｃｓａ２，・・・，ｃｓａ５から２ピッチ分の波形データの読出しが開始される。
時点ｔ6 では、図１（Ｃ）に示すように、第１処理系によって、切出開始アドレスｃｓａ５から２ピッチ分の波形データの読出しが開始され、波形データの重複読み出しが行われる。
このような重複読み出しが行われた結果、図１（Ａ）に示す時間Ｔｏ分の原波形が時間軸方向に伸長されて、図１（Ｄ）に示す時間Ｔｓ分の圧縮伸長波形が生成されることとなる。
【００１３】
図２は、第２の圧縮伸長処理方式の説明図である。
この第２の圧縮伸長処理方式では、以下で詳細に説明するように、原波形から、２つの処理系によって交互に、波形部分が読み出され、この波形部分は、原波形上を一定速度で進行する読出開始位置を先頭とする。読み出された波形部分に基づいて各処理系により各処理波形が生成され、生成された各処理波形が重ね合わされて圧縮伸長波形が生成される。波形部分の読出速度に応じて圧縮伸長波形のピッチが決まり、読出開始位置の進行速度に応じて、波形の時間軸方向への圧縮率もしくは伸長率が決まる。
【００１４】
図２（Ａ）には、原波形が示されており、図２（Ａ）の横軸は、原波形を表す波形データのアドレスを示すとともに、原波形の時間軸に相当している。
図２（Ｂ）には、各処理系が波形部分の読み出しを開始する時点ｔ0 ，・・・，ｔ5 が示されており、各時点ｔ0 ，・・・，ｔ5 における読出開始位置を示す位置情報ＰＰ（０），・・・，ＰＰ（５）が示されている。また、各位置情報ＰＰ（０），・・・，ＰＰ（５）が示す原波形上の位置は、各時点ｔ0 ，・・・，ｔ5 を起点として図２（Ａ）に向かう各矢印Ｆ0 ，・・・，Ｆ5 によって示されており、各矢印Ｆ0 ，・・・，Ｆ5 は、各時点ｔ0 ，・・・，ｔ5 よりも過去の時点に相当する位置を示している。
図２（Ｃ）および図２（Ｄ）には、第１処理系および第２処理系によって交互に読み出された波形部分Ｈ0 ，・・・，Ｈ5 が示されており、各波形部分は、各位置情報ＰＰ（０），・・・，ＰＰ（５）が示す各読出開始位置を先頭とする。
図２（Ｅ）および図２（Ｆ）には、第１処理系および第２処理系用の窓が示されており、これらの窓と、各窓に付されている符号で示される波形部分とが掛け合わされて、各処理波形が生成される。これらの処理波形が重ね合わされて圧縮伸長波形が生成される。
ここでは、各波形部分Ｈ0 ，・・・，Ｈ5 の読み出し速度は、原波形の記録速度と同一である。このため、図２（Ｃ）および図２（Ｄ）に示す、第１処理系および第２処理系によって読み出された後の各波形部分Ｈ0 ，・・・，Ｈ5 のピッチは、原波形から読み出される前の各波形部分Ｈ0 ，・・・，Ｈ5 が有するピッチと一致しており、上述したように、原波形のピッチと同一のピッチを有する圧縮伸長波形が生成されることとなる。また、読出開始位置の進行速度は、原波形の記録速度よりも遅く、図１（Ａ）および図１（Ｂ）に示すように、各時点ｔ1 ，・・・，ｔ5 に対応する各読出開始位置は、各時点ｔ1 ，・・・，ｔ5 よりも過去の時点に相当しているので、原波形全体を読み出すには、原波形全体の記録時間よりも長い時間を必要とする。この結果、図２（Ａ）に示す時間Ｔｏ分の原波形が時間軸方向に伸長された、図２（Ｆ）に示す時間Ｔｓ分の圧縮伸長波形が生成されることとなる。
【００１５】
図３は、第３の圧縮伸長処理方式の説明図である。
この第３の圧縮伸長処理方式では、以下で詳細に説明するように、原波形上に、原波形を、循環的に再生しても再生音が自然な波形区間毎に区切るマークアドレスが設定され、各波形区間が順次読み出されて再生されることにより圧縮伸長波形が生成される。波形区間の読み出し速度に応じて圧縮伸長波形のピッチが決まり、波形区間の読み飛ばしもしくは再読出しが行われることによって、波形の圧縮もしくは伸長が行われる。
【００１６】
図３（Ａ）には、原波形と、原波形上に設定されたマークアドレスｍ1 ，・・・，ｍ7 が示されており、図１（Ａ）の横軸は、原波形を表す波形データのアドレスを示すとともに、原波形の時間軸に相当する。
図３（Ｂ）には、各波形区間の読み出しが開始される時点ｔ0 ，・・・，ｔ5 と、原波形上の位置を示す各位置情報ＰＰ（０），・・・，ＰＰ（４）が示されており、各位置情報ＰＰ（０），・・・，ＰＰ（４）が各時点ｔ0 ，・・・，ｔ5 において開始される読出しの対象となる。また、各位置情報ＰＰ（０），・・・，ＰＰ（４）が示す原波形上の位置は、各時点ｔ0 ，・・・，ｔ5 を起点として図３（Ａ）に向かう各矢印Ｆ0 ，・・・，Ｆ5 によって示されており、矢印Ｆ0 はマークアドレスｍ1 の位置を示し、矢印Ｆ1 はマークアドレスｍ1 とマークアドレスｍ2 との間の位置を示している。また、矢印Ｆ2 はマークアドレスｍ2 とマークアドレスｍ3 との間の位置を示し、矢印Ｆ3 はマークアドレスｍ3 とマークアドレスｍ4 との間の位置を示し、矢印Ｆ4 および矢印Ｆ5 はマークアドレスｍ4 とマークアドレスｍ5 との間の位置を示している。
図３（Ｃ）には、読み出された波形区間が示されており、各波形区間の先頭に相当するマークアドレスも示されている。
【００１７】
図３（Ａ）および図３（Ｂ）に示すように、時点ｔ0 では、位置情報ＰＰ（０）がマークアドレスｍ1 の位置を示しているので、図３（Ｃ）に示すように、マークアドレスｍ1 を先頭とする波形区間の読出しが開始される。ここでは、波形区間の読出速度は、原波形の記録速度と同一である。このため、図３（Ｃ）に示す波形区間のピッチは、図３（Ａ）に示す原波形のピッチと同一であり、原波形のピッチと同じピッチを有する圧縮伸長波形が生成される。
時点ｔ0 において読み出しが開始された波形区間全体が読み出された時点ｔ1 では、位置情報ＰＰ（１）は、マークアドレスｍ1 とマークアドレスｍ2 との間の位置を示しており、この位置が読出対象に含められて、図３（Ｃ）に示すように、マークアドレスｍ1 を先頭とする波形区間の再読出しが開始される。
その後、各時点ｔ2 ，ｔ3 ，ｔ4 において、それぞれ、マークアドレスｍ2 ，ｍ3 ，ｍ4 を先頭とする波形区間の読出しが開始される。
時点ｔ4 において読み出しが開始された波形区間全体が読み出された時点ｔ5 では、位置情報ＰＰ（５）は、マークアドレスｍ4 とマークアドレスｍ5 との間の位置を示しており、この位置が読出対象に含まれるように、マークアドレスｍ4 を先頭とする波形区間の再読出しが開始される。
このような、再読出しが行われた結果、図３（Ａ）に示す時間Ｔｏ分の原波形が時間軸方向に伸長され、図３（Ｃ）に示す時間Ｔｓ分の圧縮伸長波形が生成されることとなる。
【００１８】
以上、３種類の圧縮伸長方式について伸長動作について説明を述べたが、各方式の位置情報の進行速度を速くすると原波形データの読み飛ばし読み出しをすることになり、結果として原波形が時間軸方向に圧縮された圧縮伸長波形が生成されることになる。
以上のように、位置情報の進行速度の設定によって圧縮および伸長とその大きさを変更することができる。
上記では、三種類の圧縮伸長処理方式について説明したが、本発明に言う圧縮伸長処理方式は、上記説明した方式に限られるものではなく、波形を時間軸方向に圧縮もしくは伸長する方式であればよい。また、本発明にいう「複数の圧縮伸長処理方式」には、上記説明した三種類の圧縮伸長処理方式のうちの二種類の圧縮伸長処理方式等が含まれるほか、例えば、いずれも、上記説明した第２の圧縮伸長処理方式を採用し、波形データ部分を読み出す時間間隔が互いに異なる複数の圧縮伸長処理方式等も含まれる。
以上で、圧縮伸長処理方式の例についての説明を終了し、以下では、本発明の実施形態について説明する。
【００１９】
図４は、本発明の波形圧縮伸長装置の一実施形態を示す図である。
この波形圧縮伸長装置１０は、楽音等を表す原波形が複数の時間領域に分割されてなる複数の分割波形を複数種類の圧縮伸長処理方式で分担して時間軸方向に圧縮もしくは伸長することにより圧縮伸長波形を生成する装置である。
この波形圧縮伸長装置１０には、ＣＰＵ１１と、ＤＳＰ１２が備えられており、ＣＰＵ１１によってＤＳＰ１２が制御され、後述するように、ＤＳＰ１２によって圧縮伸長波形が生成される。
また、この波形圧縮伸長装置１０には、ハードディスク１３と、ＲＯＭ１４と、ＭＩＤＩインターフェース１５と、第１のＲＡＭ１６と、操作子１７が備えられている。ハードディスク１３には、楽音等を表す原波形の波形データが格納されており、この波形データに基づいて、ＤＳＰ１２によって分割波形が生成される。ＲＯＭ１４には、ＣＰＵ１１およびＤＳＰ１２の動作を表すプログラムが格納されており、ＤＳＰ１２の動作を表すプログラムはＣＰＵ１１によってＤＳＰ１２へと転送される。ＭＩＤＩインターフェース１５を介して外部からＭＩＤＩ信号が入力され、ＣＰＵ１１によって、このＭＩＤＩ信号に対応した音高および、このＭＩＤＩ信号に対応した発音タイミングを示す情報がＤＳＰ１２に送られる。第１のＲＡＭ１６は、ＣＰＵ１１のワーキングメモリとして用いられ、操作子１７は、ＣＰＵ１１に対して、波形圧縮伸長装置１０の使用者が動作を指示するためのものである。
また、この波形圧縮伸長装置１０には、Ｄ／Ａ変換器１８と、第２のＲＡＭ１９が備えられている。第２のＲＡＭ１９には、分割波形を示す波形データが格納され、この波形データに基づいて、ＤＳＰ１２によって圧縮伸長波形が生成される。Ｄ／Ａ変換器１８は、ＤＳＰ１２によって生成された圧縮伸長波形を表すディジタル信号をアナログ信号に変換する。
【００２０】
図５は、分割波形の一例を示す図である。
図５（Ａ）には原波形の一例が示されており、この原波形には、３種類の波形Ｐ1 ，Ｐ2 ，Ｐ3 が含まれており、これらの波形Ｐ1 ，Ｐ2 ，Ｐ3 は、発音タイミングおよび音高が互いに異なる３つの音を表している。これらの波形Ｐ1 ，Ｐ2 ，Ｐ3 のそれぞれが、本発明にいう分割波形の一例である。これらの波形Ｐ1 ，Ｐ2 ，Ｐ3 を圧縮伸長する圧縮伸長処理方式としては、波形Ｐ1 ，Ｐ2 には、上述した第３の圧縮伸長処理方式が適しており、波形Ｐ3 には、上述した第１の圧縮伸長処理方式が適している。後述するように、本実施形態ではこれらの圧縮伸長処理方式が採用されている。
図５（Ｂ）には、時間領域を区切る窓Ｗ1 ，Ｗ2 ，Ｗ3 が示されている。窓Ｗ1 は、時点ａ０１から時点ａ０２までの時間領域を区切り、窓Ｗ2 は、時点ａ１１から時点ａ１２までの時間領域を区切り、窓Ｗ3 は、時点ａ２１から時点ａ２２までの時間領域を区切る。
【００２１】
本実施形態では、原波形は、複数の周波数帯域の波形成分それぞれを担持する複数の帯域分割波形に予め分けられており、これら複数の帯域分割波形に、各圧縮伸長処理方式を採用した圧縮伸長処理が施される。また、圧縮伸長後の波形から、図５（Ｂ）に示す窓Ｗ1 ，Ｗ2 ，Ｗ3 によって、波形Ｐ1 ，Ｐ2 ，Ｐ3 に相当する部分が分離され、この分離によって実質的に圧縮伸長処理方式の指定が行われる。
図５（Ｃ）には、複数の帯域分割波形のうちの、もっとも高い周波数帯域の波形成分を担持する帯域分割波形が示されており、この帯域分割波形には、３種類の波形Ｐ1 ，Ｐ2 ，Ｐ3 のうちの波形Ｐ1 が主に含まれている。
図５（Ｄ）には、複数の帯域分割波形のうちの、中間的な周波数帯域の波形成分を担持する帯域分割波形が示されており、この帯域分割波形には波形Ｐ2 が主に含まれている。
図５（Ｅ）には、複数の帯域分割波形のうちの、もっとも低い周波数帯域の波形成分を担持する帯域分割波形が示されており、この帯域分割波形には波形Ｐ3 が主に含まれている。
但し、図５（Ｃ）、図５（Ｄ）および図５（Ｅ）には、各帯域分割波形の、各波形Ｐ1 ，Ｐ2 ，Ｐ3 に相当する部分だけが示されており、これらの部分が、図５（Ｂ）に示す窓Ｗ1 ，Ｗ2 ，Ｗ3 によって分離されることとなる。図５（Ｃ）、図５（Ｄ）および図５（Ｅ）の横軸は、複数の帯域分割波形それぞれを表す、第１波形データ、第２波形データおよび第３波形データのアドレスを示すとともに、各帯域分割波形の時間軸に相当する。本実施形態では、各帯域分割波形は、各帯域分割波形が担持する波形成分の周波数帯域に応じたサンプリング周波数でサンプリングされており、各帯域分割波形には、各サンプリング周波数に相当する処理周期で圧縮伸長処理が施される。これによって各帯域分割波形が効率よく圧縮伸長されることとなる。
【００２２】
図６は、図４に示す波形圧縮伸長装置１０によって圧縮伸長原波形が生成される動作を説明するための等価回路図である。
この等価回路図には、３つの波形メモリ２１，２２，２３が示されており、これらの波形メモリ２１，２２，２３には、それぞれ、図５（Ｃ）、図５（Ｄ）、図５（Ｅ）に示す帯域分割波形が記憶されている。３つの波形メモリ２１，２２，２３は、図４に示す第２のＲＡＭ１９の役割を示している。
また、この等価回路図には、３つの圧縮伸長手段３１，３２，３３が示されており、これらの３つの圧縮伸長手段３１，３２，３３によって、本発明にいう圧縮伸長手段が構成されている。これらの圧縮伸長手段３１，３２，３３によって、各波形メモリ３１，３２，３３に記憶されている各帯域分割波形が時間軸方向へ圧縮もしくは伸長される。本実施形態では、圧縮伸長手段３１，３２において、上述した第３の圧縮伸長処理方式が採用されており、圧縮伸長手段３３において、上述した第１の圧縮伸長処理方式が採用されている。また、各圧縮伸長手段３１，３２，３３による圧縮伸長処理は、各帯域分割波形のサンプリング周波数ｆ1 ，ｆ2 ，ｆ3 に相当する処理周期で行われ、ここでは、サンプリング周波数ｆ1 ，ｆ2 ，ｆ3 は、ｆ3 ＝ｆ2 ／２＝ｆ1 ／４なる関係を有している。また、各圧縮伸長手段３１，３２，３３には、音高情報、圧伸情報および再生指示情報が入力される。音高情報は、各帯域分割波形のピッチの変化率を示すものであり、圧伸情報は、波形の圧縮伸長量を示すものであり、再生指示情報は、発音を開始するタイミングおよび発音を停止するタイミングを指示するものである。また、音高情報、圧伸情報および再生指示情報は、図４に示すＭＩＤＩインターフェース１５を介して入力されたＭＩＤＩ信号に応じて、ＣＰＵ１１によって生成されてＤＳＰ１２に送られるものである。
【００２３】
また、この等価回路図には、レベル制御手段４０と、乗算回路５１，５２，５３が示されており、これらによって、本発明にいう処理方式指定手段が構成されている。レベル制御手段４０によって、図５（Ｂ）に示す窓Ｗ1 ，Ｗ2 ，Ｗ3 のレベルが制御され、このレベルを示す信号が乗算回路５１，５２，５３に入力される。乗算回路５１，５２，５３によって、各窓Ｗ1 ，Ｗ2 ，Ｗ3 のレベルと、各圧縮伸長手段３１，３２，３３の出力が掛け合わされ、これによって、各圧縮伸長手段３１，３２，３３の出力から、図５（Ａ）に示す各波形Ｐ1 ，Ｐ2 ，Ｐ3 に相当する部分が分離されて各出力ａｏ，ｂｏ，ｃが生成される。この分離によって、実質的に、各波形Ｐ1 ，Ｐ2 ，Ｐ3 を圧縮伸長する方式として、各圧縮伸長手段３１，３２，３３に採用されている圧縮伸長処理方式が指定されることとなる。
また、この等価回路図には、第１のローパスフィルタ６１と、第２のローパスフィルタ６２と、加算回路７１，７２が示されており、圧縮伸長手段３１，３２，３３、乗算回路５１，５２，５３、ローパスフィルタ６１，６２および加算回路７１，７２は、図４に示すＤＳＰ１２の働きを示している。
【００２４】
第２のローパスフィルタ６２には出力ｃが入力され、第２のローパスフィルタ６２によって出力ｃに、サンプリング周波数ｆ3 からサンプリング周波数ｆ2 へのいわゆるオーバサンプリングが施されて、サンプリング周波数がｆ2 である出力ｃｆが生成される。その後出力ｃｆは、加算回路７２によって出力ｂｏと加算され、出力ｂが生成される。
第１のローパスフィルタ６１に出力ｂが入力され、出力ｂに、サンプリング周波数ｆ2 からサンプリング周波数ｆ1 へのオーバサンプリングが施されて、サンプリング周波数がｆ1 である出力ｂｆが生成される。その後出力ｂｆは、加算回路７１によって出力ａｏと加算され、原波形が圧縮伸長された波形に相当する出力ａが生成される。
上述したように、各圧縮伸長手段３１，３２，３３において、波形の種類に適した圧縮伸長処理方式が採用されているので、出力ａが表す音の音質がよい。
【００２５】
図７は、図５に示す分割波形の一例とは異なる、分割波形の他の例を示す図である。
図７（Ａ）には、図５（Ａ）に示す原波形の一例とは異なる、原波形の他の一例が示されており、この原波形の周波数は、時間の経過とともに高周波数から低周波数へと連続的に変化する。但し、図７（Ａ）には、原波形のエンベロープのみが示されており、波形自体は図示が省略されている。
図７（Ｂ）には窓Ｗ1 ，Ｗ2 ，Ｗ3 が示されており、図５（Ｂ）に示す窓Ｗ1 ，Ｗ2 ，Ｗ3 と同様に、窓Ｗ1 は、時点ａ０１から時点ａ０２までの時間領域を区切り、窓Ｗ2 は、時点ａ１１から時点ａ１２までの時間領域を区切り、窓Ｗ3 は、時点ａ２１から時点ａ２２までの時間領域を区切る。ただし、図５（Ｂ）とは異なり、図７（Ｂ）では、時点ａ１１は時点ａ０２よりも過去の時点であり、時点ａ１１から時点ａ０２までの間で、窓Ｗ1 と窓Ｗ2 がいわゆるクロスフェードを生じる。同様に、時点ａ２１は、時点ａ１２よりも過去の時点であり、時点ａ２１から時点ａ１２までの間で、窓Ｗ2 と窓Ｗ3 がクロスフェードを生じる。
【００２６】
図５（Ｃ）、図５（Ｄ）および図５（Ｅ）と同様に、図７（Ｃ）、図７（Ｄ）および図７（Ｅ）には、原波形が複数の周波数帯域の波形成分に分けられてなる複数の帯域分割波形が示されている。但し、上述したように、原波形の周波数は時間経過とともに変化するので、ここでは、図７（Ａ）に示す原波形のうちの、各帯域分割波形が主に含まれている部分のエンベロープが示されている。これらの部分が本発明にいう分割波形の一例であり、これらの部分は、図７（Ｂ）に示す窓Ｗ1 ，Ｗ2 ，Ｗ3 によって原波形から分離される。
各帯域分割波形が各サンプリング周波数ｆ1 ，ｆ2 ，ｆ3 によってサンプリングされてなる、第１波形データ、第２波形データおよび第３波形データが、図６に示す各波形メモリ２１，２２，２３に格納される。
【００２７】
図８，図９および図１０は、図４に示す波形圧縮伸長装置の動作を示すフローチャートである。
このフローチャートは、図７を用いて説明した動作と等価な動作を、図４に示すＤＳＰ１２に実行させるためのフローチャートである。
図８のステップＳ１０６から図９のステップＳ１０８へとプログラムの流れが続き、図９のステップＳ１１４から図１０のステップＳ１１６へとプログラムの流れが続く。
このフローチャートで表される動作は、サンプリング周波数ｆ1 で繰り返し実行され、以下説明するステップＳ１０４〜ステップＳ１０６は、サンプリング周波数ｆ3 で繰り返し実行され、以下説明するステップＳ１０９〜ステップＳ１１４は、サンプリング周波数ｆ2 で繰り返し実行される。
このフローチャートで表される動作が開始されると、先ず、ステップＳ１０１においてＣＰＵから音高情報Ｐと圧伸情報ＴＲが入力され、ステップＳ１０２に進み、図５（Ｂ）および図７（Ｂ）に示す時間軸上の時点を示す変数ＡＴが、圧伸情報ＴＲで歩進される。
【００２８】
その後ステップＳ１０３〜ステップＳ１０７において出力ｃが算出される。
先ずステップＳ１０３に進み、このフローチャートに示される動作が繰り返される度に歩進される制御変数Ｎの値が４の倍数であるか否かが判定される。変数Ｎの値が４の倍数であると判定されると、ステップＳ１０４に進み、変数ＡＴが示す時点が、時点ａ２１と時点ａ２２との間の時点であるか否かが判定され、すなわち変数ＡＴが示す時点が、窓Ｗ3 によって区切られる時間領域内に存在するか否かが判定される。時間領域内に存在すると判定されるとステップＳ１０５に進み、音高情報Ｐと圧伸情報ＴＲに基づいて、第３波形データに、図１に示す第１の圧縮伸長処理が施され、ステップＳ１０６に進み、ステップＳ１０５における圧縮伸長処理が施された波形データの値と、変数ＡＴが示す時点における窓Ｗ3 のレベルとが掛け合わされて出力ｃが算出される。ステップＳ１０３において、変数Ｎの値が４の倍数でないと判定された場合と、ステップＳ１０４において、変数ＡＴが示す時点が、窓Ｗ3 によって区切られる時間領域外に存在すると判定された場合には、いずれもステップＳ１０７に進み、出力ｃは値「０」となる。
【００２９】
その後ステップＳ１０８〜ステップＳ１１５において出力ｂが算出される。
先ずステップＳ１０８に進み、制御変数Ｎの値が２の倍数であるか否かが判定される。変数Ｎの値が２の倍数であると判定されると、ステップＳ１０９に進み、出力ｃにフィルタ処理が施されて出力ｃｆが生成される。次にステップＳ１１０に進み、変数ＡＴが示す時点が、時点ａ１１と時点ａ１２との間の時点であるか否かが判定され、すなわち変数ＡＴが示す時点が、窓Ｗ2 によって区切られる時間領域内に存在するか否かが判定される。窓Ｗ2 によって区切られる時間領域内に存在すると判定されると、ステップＳ１１１に進み、第２波形データに音高情報Ｐと圧伸情報ＴＲとに基づいて、図３に示す第３の圧縮伸長処理が施され、ステップＳ１１２に進み、ステップＳ１１１における圧縮伸長処理が施された波形データの値と、変数ＡＴが示す時点における窓Ｗ2 のレベルとが掛け合わされて出力ｂｏが算出される。次に、ステップＳ１１３に進み、出力ｂｏと出力ｃｆが加算されて出力ｂが算出される。
【００３０】
ステップＳ１１０において、変数ＡＴが示す時点が、窓Ｗ2 によって区切られる時間領域外に存在すると判定された場合には、ステップＳ１１４に進み、出力ｂｏは値「０」となり、ステップＳ１１３に進んで、出力ｂｏ（ここでは値「０」）と出力ｃｆが加算されて出力ｂが算出される。
ステップＳ１０８において、変数Ｎの値が２の倍数でないと判定された場合には、ステップＳ１１５に進み、出力ｂは値「０」となる。
その後ステップＳ１１６〜ステップＳ１２１において出力ａが生成される。
先ずステップＳ１１６に進み、出力ｂにフィルタ処理が施されて出力ｂｆが生成される。次にステップＳ１１７に進み、変数ＡＴが示す時点が、時点ａ０１と時点ａ０２との間の時点であるか否かが判定され、すなわち変数ＡＴが示す時点が、窓Ｗ1 によって区切られる時間領域内に存在するか否かが判定される。窓Ｗ1 によって区切られる時間領域内に存在すると判定されると、ステップＳ１１８に進み、第１波形データに音高情報Ｐと圧伸情報ＴＲとに基づいて第３の圧縮伸長処理が施され、ステップＳ１１９に進み、ステップＳ１１８における圧縮伸長処理が施された波形データの値と、変数ＡＴが示す時点における窓Ｗ1 のレベルとが掛け合わされて出力ａｏが算出される。次に、ステップＳ１２０に進み、出力ａｏと出力ｂｆが加算されて出力ａが算出される。
ステップＳ１１７において、変数ＡＴが示す時点が、窓Ｗ1 によって区切られる時間領域外に存在すると判定された場合には、ステップＳ１２１に進み、出力ａｏは値「０」となり、ステップＳ１２０に進んで、出力ａｏ（ここでは値「０」）と出力ｂｆが加算されて出力ａが算出される。
その後、ステップＳ１２２に進み、図４に示すＤ／Ａ変換器１８を介して出力ａが出力される。
その後ステップＳ１２３〜ステップＳ１２５において、制御変数Ｎの値が値「０」〜値「３」の範囲で循環的に変化するように歩進されて終了する。
なお、本実施形態では、複数の圧縮伸長手段に、原波形が帯域分割された複数の波形を表す波形データが入力されるが、本発明の波形圧縮伸長装置は、複数の圧縮伸長手段すべてに、原波形を表す波形データを入力するものであってもよい。
【００３１】
また、本実施形態では、複数の圧縮伸長手段の出力から、原波形が複数の時間領域に分割されてなる複数の分割波形それぞれに相当する部分を分離することによって、実質的に圧縮伸長処理方式の指定を行うが、本発明にいう処理方式指定手段は、複数の分割波形を複数の圧縮伸長手段に振り分けて入力するものであってもよい。
更に、本実施形態では、各圧縮伸長手段の圧縮伸長処理方式が固定されているが、本発明の波形圧縮伸長装置は、各圧縮伸長手段の圧縮伸長処理方式が時間経過に伴って変化するものであってもよい。
【００３２】
【発明の効果】
以上説明したように、本発明の波形圧縮伸長装置によれば、楽音等の波形を圧縮伸長した後の波形が表す楽音等の音質が良い。
【図面の簡単な説明】
【図１】第１の圧縮伸長処理方式の説明図である。
【図２】第２の圧縮伸長処理方式の説明図である。
【図３】第３の圧縮伸長処理方式の説明図である。
【図４】本発明の波形圧縮伸長装置の一実施形態を示す図である。
【図５】分割波形の一例を示す図である。
【図６】波形圧縮伸長装置によって圧縮伸長原波形が生成される動作を説明するための等価回路図である。
【図７】図５に示す分割波形の一例とは異なる、分割波形の他の例を示す図である。
【図８】波形圧縮伸長装置の動作を示すフローチャートの第１の部分である。
【図９】波形圧縮伸長装置の動作を示すフローチャートの第２の部分である。
【図１０】波形圧縮伸長装置の動作を示すフローチャートの第３の部分である。
【符号の説明】
１０    波形圧縮伸長装置
１１    ＣＰＵ
１２    ＤＳＰ
１３    ハードディスク
１４    ＲＯＭ
１５    ＭＩＤＩインターフェース
１６    ＲＡＭ
１７    操作子
１８    Ｄ／Ａ変換器
１９    ＲＡＭ
２１，２２，２３    波形メモリ
３１，３２，３３    圧縮伸長手段
４０    レベル制御手段
５１，５２，５３    乗算回路
６１，６２    ローパスフィルタ
７１，７２    加算回路
【図１】
0003946869.tif 000002
【図２】
0003946869.tif 000003
【図３】
0003946869.tif 000004
【図４】
0003946869.tif 000005
【図５】
0003946869.tif 000006
【図６】
0003946869.tif 000007
【図７】
0003946869.tif 000008
【図８】
0003946869.tif 000009
【図９】
0003946869.tif 000010
【図１０】
0003946869.tif 000011