【課題】 楽音等の波形を圧縮伸長した後の波形が表す楽音等の音質が良い波形圧縮伸長装置を提供する。
【解決手段】 複数種類の圧縮伸長処理方式それぞれを採用する複数の圧縮伸長手段31,32,33に原波形を表す波形データが入力され、各圧縮伸長手段31,32,33の各出力波形から、乗算回路51,52,53により、原波形が複数の時間領域に分割されてなる複数の分割波形に相当する部分が分離されて、実質的に、複数の分割波形が圧縮伸長される圧縮伸長処理方式が指定される。
[代表図面]
【発行国】日本国特許庁(JP)
【公報種別】公開特許公報(A)
【公開番号】
特開2000−3179(P2000−3179A)
【公開日】平成12年1月7日(2000.1.7)
【発明の名称】波形圧縮伸長装置
【国際特許分類第7版】
G10H 7/02
【FI】
G10H 7/00 521 M
【審査請求】未請求
【請求項の数】1
【出願形態】FD
【全頁数】13
【出願番号】特願平10−181375
【出願日】平成10年6月15日(1998.6.15)
【出願人】(000116068)ローランド株式会社
【発明者】

【発明者】

【発明者】

【代理人】弁理士(100094330)

(外1名)
【テーマコード(参考)】
5D378
【Fターム(参考)】
5D378 AD05 AD21 AD51 MM63 MM66
【請求項1】
相互に異なる複数の圧縮伸長処理方式を採用して波形を時間軸方向に圧縮もしくは伸長する圧縮伸長手段と、原波形が複数の時間領域に分割されてなる複数の分割波形の圧縮伸長処理が前期複数の圧縮伸長処理方式で分担されるように各分割波形の圧縮伸長処理方式を指定する処理方式指定手段とを備え、前記圧縮伸長手段が、前記各分割波形について、前記処理方式指定手段で指定された各圧縮伸長処理方式を採用して圧縮伸長処理を行うものであることを特徴とする波形圧縮伸長装置。
【0001】
【発明の属する技術分野】
本発明は、波形を時間軸方向に圧縮もしくは伸長する波形圧縮伸長装置に関する。
【0002】
【従来の技術】
従来より、楽音等の波形を表す信号のピッチを変換することによって楽音等の音高を変化させるいわゆるピッチシフタが知られている。しかし、楽音のテンポが解る程度の長さを有するフレーズの波形を表す信号のピッチがピッチシフタによって変換されると、楽音のテンポも変化してしまうという問題があり、楽音のテンポを変えることなく音高のみを変化させる装置が望まれている。逆に、楽音の音高を保ったままで、楽音のテンポを変える装置も望まれている。これらの要望に応える装置として、楽音等の波形を、波形のピッチを変更することとは独立に、時間軸方向に圧縮もしくは伸長する波形圧縮伸長装置が提案されている。
【0003】
ところで、波形を圧縮もしくは伸長する方式には、複数の圧縮伸長処理方式が考えられる。また、音を表す波形には、周期的な波形や、非周期的な波形や、間欠的な波形や、連続的な波形等といった各種の波形があり、波形の種類に応じて、その波形を時間軸方向に圧縮もしくは伸長するのに適した圧縮伸長処理方式が考えられる。すなわち、ある波形をその波形の種類に適した方式で圧縮伸長すると、圧縮伸長後の波形が表す音の音質は良いが、ある波形をその波形の種類に適しない方式で圧縮伸長した場合には、圧縮伸長後の波形が表す音の音質は悪い。
【0004】
【発明が解決しようとする課題】
しかし、一般に、楽音等の波形は、各種の波形が混在した波形である。このため、いずれの圧縮伸長処理方式を採用しても、楽音等の波形を圧縮伸長した後の波形が表す楽音等の音質が悪くなりがちであるという問題がある。本発明は、上記事情に鑑み、楽音等の波形を圧縮伸長した後の波形が表す楽音等の音質が良い波形圧縮伸長装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成する本発明の波形圧縮伸長装置は、相互に異なる複数の圧縮伸長処理方式を採用して波形を時間軸方向に圧縮もしくは伸長する圧縮伸長手段と、原波形が複数の時間領域に分割されてなる複数の分割波形の圧縮伸長処理が上期複数の圧縮伸長処理方式で分担されるように各分割波形の圧縮伸長処理方式を指定する処理方式指定手段とを備え、圧縮伸長手段が、処理方式指定手段で指定された圧縮伸長処理方式を採用して圧縮伸長処理を行うものであることを特徴とする。種々の波形が混ざり合った、楽音等を表す波形は、複数の時間領域に分割することによって波形の種類を分離することができることが多い。本発明の波形圧縮伸長装置によれば、原波形が複数の時間領域に分けられてなる複数の分割波形を、複数種類の圧縮伸長処理方式で分担して時間軸方向に圧縮もしくは伸長するので、原波形として楽音等を表す波形を用いた場合であっても、種々の波形それぞれに適した圧縮伸長処理方式で圧縮伸長を行うことによって、音質の良い楽音等を表す圧縮伸長波形を生成することができる。
【0006】
【発明の実施の形態】
以下、本発明の実施形態を説明するにあたり、まず、圧縮伸長処理方式の例を説明し、その後、本発明の波形圧縮伸長装置の実施形態について説明する。以下の説明では、波形という概念と、その波形を表す波形データという概念とを区別せずに用いる場合がある。また、以下、各圧縮伸長処理方式の説明では、圧縮伸長の対象となる、圧縮伸長前の波形のことを「原波形」と称し、圧縮伸長後の波形のことを「圧縮伸長波形」と称する。また、ここでは、原波形のピッチと同じピッチを有し、原波形が時間軸方向に伸長された圧縮伸長波形が生成される場合について説明する。
【0007】
図1は、第1の圧縮伸長処理方式の説明図である。この第1の圧縮伸長処理方式では、以下で詳細に説明するように、原波形上に、原波形を1ピッチ毎に区切る切出開始アドレスが設定され、原波形が、約2ピッチ分ずつ、圧縮伸長波形のピッチに相当する時間間隔で、2つの処理系によって交互に読み出される。読み出された原波形に基づいて各処理系により処理波形が生成され、生成された各処理波形が重ね合わされて圧縮伸長波形が生成される。原波形が読み出される際に、読み飛ばしもしくは重複読み出しが行われることによって、波形が時間軸方向に圧縮もしくは伸長される。
【0008】
最上段の図1(A)には、原波形が示されており、図1(A)の横軸は、原波形を表す波形データのアドレスを示すとともに、原波形の時間軸にも相当する。また、図1(A)には、原波形を1ピッチ毎に区切る切出開始アドレスcsa1,・・・,csa7が示されている。
【0009】
図1(B)には、圧縮伸長波形の再生ピッチに相当する時間間隔で時間軸上に配置された、時点t
0 ,・・・,t
7 が示されており、各時点t
0 ,・・・,t
7 において原波形の約2ピッチ分の波形データを読み出し始める。また、図1(B)には、原波形上の位置を示す位置情報PP(0),・・・,PP(7)が示されており、各位置情報PP(0),・・・,PP(7)により示される位置が、各時点t
0 ,・・・,t
7 において開始される読み出しの対象となる。また、各位置情報PP(0),・・・,PP(7)が示す原波形上の位置は、時点t
0,・・・,t
7 を起点として図1(B)から図1(A)へと向かう各矢印F
0 ,・・・,F
7 によって示されており、各矢印F
0 ,・・・,F
6 は、各切出開始アドレスcsa1,・・・,csa7よりも図の左側の位置を示している。
【0010】
ここでは、図1(A)に示す各切出開始アドレスcsa1,・・・,csa7の間隔と、図1(B)に示す各時点t
0 ,・・・,t
6 の間隔は互いに同一であり、上述したように、原波形のピッチと同じピッチを有する圧縮伸長波形が生成される。また、各時間情報PP(1),・・・,PP(6)が示す原波形上の位置は、各切出開始アドレスcsa2,・・・,csa7よりも図の左側の位置を示しており、このため、後述するように、波形データの重複読み出しが行われ、上述したように、原波形が時間軸方向に伸長された圧縮伸長波形が生成される。
【0011】
図1(C)および図1(D)に点線で示されている三角形の波形は、それぞれ、第1処理系用および第2処理系用の窓を示しており、図1(C)および図1R>1(D)に実線で示されている波形は、各処理波形を示している。また、図1(C)および図1(D)には切出開始アドレスが示されており、この切出開始アドレスは各処理系によって読み出された2ピッチ分の波形データの先頭に相当する。各処理波形は、図1(C)および図1R>1(D)に示されている窓と、各処理系によって読み出された波形データとが掛け合わされて生成され、これらの処理波形が重ね合わされて圧縮伸長波形が生成される。
【0012】
時点t
0 では、第1処理系による波形データの読み出しが開始される。図1(A)および図1(B)に示すように、位置情報PP(0)は、切出開始アドレスcsa1の位置を示しているので、図1(C)に示すように、切出開始アドレスcsa1から2ピッチ分の波形データが読み出される。時点t
1 では、第2処理系による波形データの読み出しが開始される。図1(A)および図1(B)に示すように、位置情報PP(1)は、切出開始アドレスcsa1と切出開始アドレスcsa2との間の位置を示している。このため、この位置が読出対象に含められて、図1(D)に示すように、切出開始アドレスcsa1から2ピッチ分の波形データが読み出されることとなる。この結果、波形データの重複読み出しが行われる。上記と同様に、時点t
2 ,・・・,t
5 では、それぞれ、切出開始アドレスcsa2,・・・,csa5から2ピッチ分の波形データの読出しが開始される。時点t
6 では、図1(C)に示すように、第1処理系によって、切出開始アドレスcsa5から2ピッチ分の波形データの読出しが開始され、波形データの重複読み出しが行われる。このような重複読み出しが行われた結果、図1(A)に示す時間To分の原波形が時間軸方向に伸長されて、図1(D)に示す時間Ts分の圧縮伸長波形が生成されることとなる。
【0013】
図2は、第2の圧縮伸長処理方式の説明図である。この第2の圧縮伸長処理方式では、以下で詳細に説明するように、原波形から、2つの処理系によって交互に、波形部分が読み出され、この波形部分は、原波形上を一定速度で進行する読出開始位置を先頭とする。読み出された波形部分に基づいて各処理系により各処理波形が生成され、生成された各処理波形が重ね合わされて圧縮伸長波形が生成される。波形部分の読出速度に応じて圧縮伸長波形のピッチが決まり、読出開始位置の進行速度に応じて、波形の時間軸方向への圧縮率もしくは伸長率が決まる。
【0014】
図2(A)には、原波形が示されており、図2(A)の横軸は、原波形を表す波形データのアドレスを示すとともに、原波形の時間軸に相当している。図2R>2(B)には、各処理系が波形部分の読み出しを開始する時点t
0 ,・・・,t
5 が示されており、各時点t
0 ,・・・,t
5 における読出開始位置を示す位置情報PP(0),・・・,PP(5)が示されている。また、各位置情報PP(0),・・・,PP(5)が示す原波形上の位置は、各時点t
0 ,・・・,t
5 を起点として図2(A)に向かう各矢印F
0 ,・・・,F
5 によって示されており、各矢印F
0 ,・・・,F
5 は、各時点t
0 ,・・・,t
5 よりも過去の時点に相当する位置を示している。図2(C)および図2(D)には、第1処理系および第2処理系によって交互に読み出された波形部分H
0 ,・・・,H
5 が示されており、各波形部分は、各位置情報PP(0),・・・,PP(5)が示す各読出開始位置を先頭とする。図2(E)および図2(F)には、第1処理系および第2処理系用の窓が示されており、これらの窓と、各窓に付されている符号で示される波形部分とが掛け合わされて、各処理波形が生成される。これらの処理波形が重ね合わされて圧縮伸長波形が生成される。ここでは、各波形部分H
0 ,・・・,H
5 の読み出し速度は、原波形の記録速度と同一である。このため、図2(C)および図2(D)に示す、第1処理系および第2処理系によって読み出された後の各波形部分H
0 ,・・・,H
5 のピッチは、原波形から読み出される前の各波形部分H
0 ,・・・,H
5 が有するピッチと一致しており、上述したように、原波形のピッチと同一のピッチを有する圧縮伸長波形が生成されることとなる。また、読出開始位置の進行速度は、原波形の記録速度よりも遅く、図1(A)および図1(B)に示すように、各時点t
1,・・・,t
5 に対応する各読出開始位置は、各時点t
1 ,・・・,t
5 よりも過去の時点に相当しているので、原波形全体を読み出すには、原波形全体の記録時間よりも長い時間を必要とする。この結果、図2(A)に示す時間To分の原波形が時間軸方向に伸長された、図2(F)に示す時間Ts分の圧縮伸長波形が生成されることとなる。
【0015】
図3は、第3の圧縮伸長処理方式の説明図である。この第3の圧縮伸長処理方式では、以下で詳細に説明するように、原波形上に、原波形を、循環的に再生しても再生音が自然な波形区間毎に区切るマークアドレスが設定され、各波形区間が順次読み出されて再生されることにより圧縮伸長波形が生成される。波形区間の読み出し速度に応じて圧縮伸長波形のピッチが決まり、波形区間の読み飛ばしもしくは再読出しが行われることによって、波形の圧縮もしくは伸長が行われる。
【0016】
図3(A)には、原波形と、原波形上に設定されたマークアドレスm
1 ,・・・,m
7 が示されており、図1(A)の横軸は、原波形を表す波形データのアドレスを示すとともに、原波形の時間軸に相当する。図3(B)には、各波形区間の読み出しが開始される時点t
0 ,・・・,t
5と、原波形上の位置を示す各位置情報PP(0),・・・,PP(4)が示されており、各位置情報PP(0),・・・,PP(4)が各時点t
0 ,・・・,t
5 において開始される読出しの対象となる。また、各位置情報PP(0),・・・,PP(4)が示す原波形上の位置は、各時点t
0 ,・・・,t
5 を起点として図3(A)に向かう各矢印F
0 ,・・・,F
5 によって示されており、矢印F
0 はマークアドレスm
1 の位置を示し、矢印F
1 はマークアドレスm
1 とマークアドレスm
2 との間の位置を示している。また、矢印F
2 はマークアドレスm
2 とマークアドレスm
3 との間の位置を示し、矢印F
3 はマークアドレスm
3 とマークアドレスm
4 との間の位置を示し、矢印F
4 および矢印F
5 はマークアドレスm
4 とマークアドレスm
5 との間の位置を示している。図3(C)には、読み出された波形区間が示されており、各波形区間の先頭に相当するマークアドレスも示されている。
【0017】
図3(A)および図3(B)に示すように、時点t
0 では、位置情報PP(0)がマークアドレスm
1 の位置を示しているので、図3(C)に示すように、マークアドレスm
1 を先頭とする波形区間の読出しが開始される。ここでは、波形区間の読出速度は、原波形の記録速度と同一である。このため、図3(C)に示す波形区間のピッチは、図3(A)に示す原波形のピッチと同一であり、原波形のピッチと同じピッチを有する圧縮伸長波形が生成される。時点t
0 において読み出しが開始された波形区間全体が読み出された時点t
1では、位置情報PP(1)は、マークアドレスm
1 とマークアドレスm
2 との間の位置を示しており、この位置が読出対象に含められて、図3(C)に示すように、マークアドレスm
1 を先頭とする波形区間の再読出しが開始される。その後、各時点t
2 ,t
3 ,t
4 において、それぞれ、マークアドレスm
2 ,m
3 ,m
4 を先頭とする波形区間の読出しが開始される。時点t
4 において読み出しが開始された波形区間全体が読み出された時点t
5では、位置情報PP(5)は、マークアドレスm
4 とマークアドレスm
5 との間の位置を示しており、この位置が読出対象に含まれるように、マークアドレスm
4 を先頭とする波形区間の再読出しが開始される。このような、再読出しが行われた結果、図3(A)に示す時間To分の原波形が時間軸方向に伸長され、図3(C)に示す時間Ts分の圧縮伸長波形が生成されることとなる。
【0018】
以上、3種類の圧縮伸長方式について伸長動作について説明を述べたが、各方式の位置情報の進行速度を速くすると原波形データの読み飛ばし読み出しをすることになり、結果として原波形が時間軸方向に圧縮された圧縮伸長波形が生成されることになる。以上のように、位置情報の進行速度の設定によって圧縮および伸長とその大きさを変更することができる。上記では、三種類の圧縮伸長処理方式について説明したが、本発明に言う圧縮伸長処理方式は、上記説明した方式に限られるものではなく、波形を時間軸方向に圧縮もしくは伸長する方式であればよい。また、本発明にいう「複数の圧縮伸長処理方式」には、上記説明した三種類の圧縮伸長処理方式のうちの二種類の圧縮伸長処理方式等が含まれるほか、例えば、いずれも、上記説明した第2の圧縮伸長処理方式を採用し、波形データ部分を読み出す時間間隔が互いに異なる複数の圧縮伸長処理方式等も含まれる。以上で、圧縮伸長処理方式の例についての説明を終了し、以下では、本発明の実施形態について説明する。
【0019】
図4は、本発明の波形圧縮伸長装置の一実施形態を示す図である。この波形圧縮伸長装置10は、楽音等を表す原波形が複数の時間領域に分割されてなる複数の分割波形を複数種類の圧縮伸長処理方式で分担して時間軸方向に圧縮もしくは伸長することにより圧縮伸長波形を生成する装置である。この波形圧縮伸長装置10には、CPU11と、DSP12が備えられており、CPU11によってDSP12が制御され、後述するように、DSP12によって圧縮伸長波形が生成される。また、この波形圧縮伸長装置10には、ハードディスク13と、ROM14と、MIDIインターフェース15と、第1のRAM16と、操作子17が備えられている。ハードディスク13には、楽音等を表す原波形の波形データが格納されており、この波形データに基づいて、DSP12によって分割波形が生成される。ROM14には、CPU11およびDSP12の動作を表すプログラムが格納されており、DSP12の動作を表すプログラムはCPU11によってDSP12へと転送される。MIDIインターフェース15を介して外部からMIDI信号が入力され、CPU11によって、このMIDI信号に対応した音高および、このMIDI信号に対応した発音タイミングを示す情報がDSP12に送られる。第1のRAM16は、CPU11のワーキングメモリとして用いられ、操作子17は、CPU11に対して、波形圧縮伸長装置10の使用者が動作を指示するためのものである。また、この波形圧縮伸長装置10には、D/A変換器18と、第2のRAM19が備えられている。第2のRAM19には、分割波形を示す波形データが格納され、この波形データに基づいて、DSP12によって圧縮伸長波形が生成される。D/A変換器18は、DSP12によって生成された圧縮伸長波形を表すディジタル信号をアナログ信号に変換する。
【0020】
図5は、分割波形の一例を示す図である。図5(A)には原波形の一例が示されており、この原波形には、3種類の波形P
1 ,P
2 ,P
3 が含まれており、これらの波形P
1 ,P
2 ,P
3 は、発音タイミングおよび音高が互いに異なる3つの音を表している。これらの波形P
1 ,P
2 ,P
3 のそれぞれが、本発明にいう分割波形の一例である。これらの波形P
1,P
2 ,P
3 を圧縮伸長する圧縮伸長処理方式としては、波形P
1 ,P
2 には、上述した第3の圧縮伸長処理方式が適しており、波形P
3 には、上述した第1の圧縮伸長処理方式が適している。後述するように、本実施形態ではこれらの圧縮伸長処理方式が採用されている。図5(B)には、時間領域を区切る窓W
1 ,W
2 ,W
3 が示されている。窓W
1 は、時点a01から時点a02までの時間領域を区切り、窓W
2 は、時点a11から時点a12までの時間領域を区切り、窓W
3 は、時点a21から時点a22までの時間領域を区切る。
【0021】
本実施形態では、原波形は、複数の周波数帯域の波形成分それぞれを担持する複数の帯域分割波形に予め分けられており、これら複数の帯域分割波形に、各圧縮伸長処理方式を採用した圧縮伸長処理が施される。また、圧縮伸長後の波形から、図5(B)に示す窓W
1 ,W
2 ,W
3 によって、波形P
1 ,P
2 ,P
3 に相当する部分が分離され、この分離によって実質的に圧縮伸長処理方式の指定が行われる。図5(C)には、複数の帯域分割波形のうちの、もっとも高い周波数帯域の波形成分を担持する帯域分割波形が示されており、この帯域分割波形には、3種類の波形P
1 ,P
2 ,P
3 のうちの波形P
1 が主に含まれている。図5(D)には、複数の帯域分割波形のうちの、中間的な周波数帯域の波形成分を担持する帯域分割波形が示されており、この帯域分割波形には波形P
2 が主に含まれている。図5(E)には、複数の帯域分割波形のうちの、もっとも低い周波数帯域の波形成分を担持する帯域分割波形が示されており、この帯域分割波形には波形P
3が主に含まれている。但し、図5(C)、図5(D)および図5(E)には、各帯域分割波形の、各波形P
1 ,P
2 ,P
3 に相当する部分だけが示されており、これらの部分が、図5(B)に示す窓W
1 ,W
2 ,W
3 によって分離されることとなる。図5(C)、図5(D)および図5(E)の横軸は、複数の帯域分割波形それぞれを表す、第1波形データ、第2波形データおよび第3波形データのアドレスを示すとともに、各帯域分割波形の時間軸に相当する。本実施形態では、各帯域分割波形は、各帯域分割波形が担持する波形成分の周波数帯域に応じたサンプリング周波数でサンプリングされており、各帯域分割波形には、各サンプリング周波数に相当する処理周期で圧縮伸長処理が施される。これによって各帯域分割波形が効率よく圧縮伸長されることとなる。
【0022】
図6は、図4に示す波形圧縮伸長装置10によって圧縮伸長原波形が生成される動作を説明するための等価回路図である。この等価回路図には、3つの波形メモリ21,22,23が示されており、これらの波形メモリ21,22,23には、それぞれ、図5(C)、図5(D)、図5(E)に示す帯域分割波形が記憶されている。3つの波形メモリ21,22,23は、図4に示す第2のRAM19の役割を示している。また、この等価回路図には、3つの圧縮伸長手段31,32,33が示されており、これらの3つの圧縮伸長手段31,32,33によって、本発明にいう圧縮伸長手段が構成されている。これらの圧縮伸長手段31,32,33によって、各波形メモリ31,32,33に記憶されている各帯域分割波形が時間軸方向へ圧縮もしくは伸長される。本実施形態では、圧縮伸長手段31,32において、上述した第3の圧縮伸長処理方式が採用されており、圧縮伸長手段33において、上述した第1の圧縮伸長処理方式が採用されている。また、各圧縮伸長手段31,32,33による圧縮伸長処理は、各帯域分割波形のサンプリング周波数f
1 ,f
2 ,f
3 に相当する処理周期で行われ、ここでは、サンプリング周波数f
1 ,f
2 ,f
3 は、f
3 =f
2 /2=f
1 /4なる関係を有している。また、各圧縮伸長手段31,32,33には、音高情報、圧伸情報および再生指示情報が入力される。音高情報は、各帯域分割波形のピッチの変化率を示すものであり、圧伸情報は、波形の圧縮伸長量を示すものであり、再生指示情報は、発音を開始するタイミングおよび発音を停止するタイミングを指示するものである。また、音高情報、圧伸情報および再生指示情報は、図4に示すMIDIインターフェース15を介して入力されたMIDI信号に応じて、CPU11によって生成されてDSP12に送られるものである。
【0023】
また、この等価回路図には、レベル制御手段40と、乗算回路51,52,53が示されており、これらによって、本発明にいう処理方式指定手段が構成されている。レベル制御手段40によって、図5(B)に示す窓W
1 ,W
2 ,W
3 のレベルが制御され、このレベルを示す信号が乗算回路51,52,53に入力される。乗算回路51,52,53によって、各窓W
1 ,W
2 ,W
3 のレベルと、各圧縮伸長手段31,32,33の出力が掛け合わされ、これによって、各圧縮伸長手段31,32,33の出力から、図5(A)に示す各波形P
1 ,P
2 ,P
3 に相当する部分が分離されて各出力ao,bo,cが生成される。この分離によって、実質的に、各波形P
1 ,P
2 ,P
3 を圧縮伸長する方式として、各圧縮伸長手段31,32,33に採用されている圧縮伸長処理方式が指定されることとなる。また、この等価回路図には、第1のローパスフィルタ61と、第2のローパスフィルタ62と、加算回路71,72が示されており、圧縮伸長手段31,32,33、乗算回路51,52,53、ローパスフィルタ61,62および加算回路71,72は、図4に示すDSP12の働きを示している。
【0024】
第2のローパスフィルタ62には出力cが入力され、第2のローパスフィルタ62によって出力cに、サンプリング周波数f
3 からサンプリング周波数f
2 へのいわゆるオーバサンプリングが施されて、サンプリング周波数がf
2 である出力cfが生成される。その後出力cfは、加算回路72によって出力boと加算され、出力bが生成される。第1のローパスフィルタ61に出力bが入力され、出力bに、サンプリング周波数f
2 からサンプリング周波数f
1 へのオーバサンプリングが施されて、サンプリング周波数がf
1 である出力bfが生成される。その後出力bfは、加算回路71によって出力aoと加算され、原波形が圧縮伸長された波形に相当する出力aが生成される。上述したように、各圧縮伸長手段31,32,33において、波形の種類に適した圧縮伸長処理方式が採用されているので、出力aが表す音の音質がよい。
【0025】
図7は、図5に示す分割波形の一例とは異なる、分割波形の他の例を示す図である。図7(A)には、図5(A)に示す原波形の一例とは異なる、原波形の他の一例が示されており、この原波形の周波数は、時間の経過とともに高周波数から低周波数へと連続的に変化する。但し、図7(A)には、原波形のエンベロープのみが示されており、波形自体は図示が省略されている。図7(B)には窓W
1 ,W
2 ,W
3 が示されており、図5(B)に示す窓W
1,W
2 ,W
3 と同様に、窓W
1 は、時点a01から時点a02までの時間領域を区切り、窓W
2 は、時点a11から時点a12までの時間領域を区切り、窓W
3は、時点a21から時点a22までの時間領域を区切る。ただし、図5(B)とは異なり、図7(B)では、時点a11は時点a02よりも過去の時点であり、時点a11から時点a02までの間で、窓W
1 と窓W
2 がいわゆるクロスフェードを生じる。同様に、時点a21は、時点a12よりも過去の時点であり、時点a21から時点a12までの間で、窓W
2 と窓W
3 がクロスフェードを生じる。
【0026】
図5(C)、図5(D)および図5(E)と同様に、図7(C)、図7(D)および図7(E)には、原波形が複数の周波数帯域の波形成分に分けられてなる複数の帯域分割波形が示されている。但し、上述したように、原波形の周波数は時間経過とともに変化するので、ここでは、図7(A)に示す原波形のうちの、各帯域分割波形が主に含まれている部分のエンベロープが示されている。これらの部分が本発明にいう分割波形の一例であり、これらの部分は、図7(B)に示す窓W
1 ,W
2 ,W
3 によって原波形から分離される。各帯域分割波形が各サンプリング周波数f
1 ,f
2 ,f
3 によってサンプリングされてなる、第1波形データ、第2波形データおよび第3波形データが、図6に示す各波形メモリ21,22,23に格納される。
【0027】
図8,図9および図10は、図4に示す波形圧縮伸長装置の動作を示すフローチャートである。このフローチャートは、図7を用いて説明した動作と等価な動作を、図4に示すDSP12に実行させるためのフローチャートである。図8のステップS106から図9のステップS108へとプログラムの流れが続き、図9のステップS114から図10のステップS116へとプログラムの流れが続く。このフローチャートで表される動作は、サンプリング周波数f
1 で繰り返し実行され、以下説明するステップS104〜ステップS106は、サンプリング周波数f
3 で繰り返し実行され、以下説明するステップS109〜ステップS114は、サンプリング周波数f
2 で繰り返し実行される。このフローチャートで表される動作が開始されると、先ず、ステップS101においてCPUから音高情報Pと圧伸情報TRが入力され、ステップS102に進み、図5(B)および図7(B)に示す時間軸上の時点を示す変数ATが、圧伸情報TRで歩進される。
【0028】
その後ステップS103〜ステップS107において出力cが算出される。先ずステップS103に進み、このフローチャートに示される動作が繰り返される度に歩進される制御変数Nの値が4の倍数であるか否かが判定される。変数Nの値が4の倍数であると判定されると、ステップS104に進み、変数ATが示す時点が、時点a21と時点a22との間の時点であるか否かが判定され、すなわち変数ATが示す時点が、窓W
3 によって区切られる時間領域内に存在するか否かが判定される。時間領域内に存在すると判定されるとステップS105に進み、音高情報Pと圧伸情報TRに基づいて、第3波形データに、図1に示す第1の圧縮伸長処理が施され、ステップS106に進み、ステップS105における圧縮伸長処理が施された波形データの値と、変数ATが示す時点における窓W
3 のレベルとが掛け合わされて出力cが算出される。ステップS103において、変数Nの値が4の倍数でないと判定された場合と、ステップS104において、変数ATが示す時点が、窓W
3 によって区切られる時間領域外に存在すると判定された場合には、いずれもステップS107に進み、出力cは値「0」となる。
【0029】
その後ステップS108〜ステップS115において出力bが算出される。先ずステップS108に進み、制御変数Nの値が2の倍数であるか否かが判定される。変数Nの値が2の倍数であると判定されると、ステップS109に進み、出力cにフィルタ処理が施されて出力cfが生成される。次にステップS110に進み、変数ATが示す時点が、時点a11と時点a12との間の時点であるか否かが判定され、すなわち変数ATが示す時点が、窓W
2 によって区切られる時間領域内に存在するか否かが判定される。窓W
2 によって区切られる時間領域内に存在すると判定されると、ステップS111に進み、第2波形データに音高情報Pと圧伸情報TRとに基づいて、図3に示す第3の圧縮伸長処理が施され、ステップS112に進み、ステップS111における圧縮伸長処理が施された波形データの値と、変数ATが示す時点における窓W
2 のレベルとが掛け合わされて出力boが算出される。次に、ステップS113に進み、出力boと出力cfが加算されて出力bが算出される。
【0030】
ステップS110において、変数ATが示す時点が、窓W
2 によって区切られる時間領域外に存在すると判定された場合には、ステップS114に進み、出力boは値「0」となり、ステップS113に進んで、出力bo(ここでは値「0」)と出力cfが加算されて出力bが算出される。ステップS108において、変数Nの値が2の倍数でないと判定された場合には、ステップS115に進み、出力bは値「0」となる。その後ステップS116〜ステップS121において出力aが生成される。先ずステップS116に進み、出力bにフィルタ処理が施されて出力bfが生成される。次にステップS117に進み、変数ATが示す時点が、時点a01と時点a02との間の時点であるか否かが判定され、すなわち変数ATが示す時点が、窓W
1 によって区切られる時間領域内に存在するか否かが判定される。窓W
1 によって区切られる時間領域内に存在すると判定されると、ステップS118に進み、第1波形データに音高情報Pと圧伸情報TRとに基づいて第3の圧縮伸長処理が施され、ステップS119に進み、ステップS118における圧縮伸長処理が施された波形データの値と、変数ATが示す時点における窓W
1 のレベルとが掛け合わされて出力aoが算出される。次に、ステップS120に進み、出力aoと出力bfが加算されて出力aが算出される。ステップS117において、変数ATが示す時点が、窓W
1 によって区切られる時間領域外に存在すると判定された場合には、ステップS121に進み、出力aoは値「0」となり、ステップS120に進んで、出力ao(ここでは値「0」)と出力bfが加算されて出力aが算出される。その後、ステップS122に進み、図4に示すD/A変換器18を介して出力aが出力される。その後ステップS123〜ステップS125において、制御変数Nの値が値「0」〜値「3」の範囲で循環的に変化するように歩進されて終了する。なお、本実施形態では、複数の圧縮伸長手段に、原波形が帯域分割された複数の波形を表す波形データが入力されるが、本発明の波形圧縮伸長装置は、複数の圧縮伸長手段すべてに、原波形を表す波形データを入力するものであってもよい。
【0031】
また、本実施形態では、複数の圧縮伸長手段の出力から、原波形が複数の時間領域に分割されてなる複数の分割波形それぞれに相当する部分を分離することによって、実質的に圧縮伸長処理方式の指定を行うが、本発明にいう処理方式指定手段は、複数の分割波形を複数の圧縮伸長手段に振り分けて入力するものであってもよい。更に、本実施形態では、各圧縮伸長手段の圧縮伸長処理方式が固定されているが、本発明の波形圧縮伸長装置は、各圧縮伸長手段の圧縮伸長処理方式が時間経過に伴って変化するものであってもよい。
【0032】
【発明の効果】
以上説明したように、本発明の波形圧縮伸長装置によれば、楽音等の波形を圧縮伸長した後の波形が表す楽音等の音質が良い。
【図1】第1の圧縮伸長処理方式の説明図である。
【図2】第2の圧縮伸長処理方式の説明図である。
【図3】第3の圧縮伸長処理方式の説明図である。
【図4】本発明の波形圧縮伸長装置の一実施形態を示す図である。
【図5】分割波形の一例を示す図である。
【図6】波形圧縮伸長装置によって圧縮伸長原波形が生成される動作を説明するための等価回路図である。
【図7】図5に示す分割波形の一例とは異なる、分割波形の他の例を示す図である。
【図8】波形圧縮伸長装置の動作を示すフローチャートの第1の部分である。
【図9】波形圧縮伸長装置の動作を示すフローチャートの第2の部分である。
【図10】波形圧縮伸長装置の動作を示すフローチャートの第3の部分である。
【符号の説明】
10 波形圧縮伸長装置
11 CPU
12 DSP
13 ハードディスク
14 ROM
15 MIDIインターフェース
16 RAM
17 操作子
18 D/A変換器
19 RAM
21,22,23 波形メモリ
31,32,33 圧縮伸長手段
40 レベル制御手段
51,52,53 乗算回路
61,62 ローパスフィルタ
71,72 加算回路
【図1】
【図2】
【図4】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】