(57)【要約】波形テーブル型シンセサイザにおいて、テーブル化された波形のピッチを変更するための方法及び装置が提供される。通常変換処理の前に生じるであろう高調波が、離散的時間ローパスフィルタによって除去され、同時にテーブル化された波形が再構成され再サンプリングされる。
2004527005.tif 000002
【特許請求の範囲】
【請求項１】
第１の離散的時間信号ｘ［ｎ］を処理して、第２の離散的時間信号ｙ［ｍ］を生成する方法であって、前記信号ｘ［ｎ］は、連続的時間信号ｘ（ｔ）を時間間隔Ｔsで順次サンプリングすることによって得られたサンプルポイントのセットに対応した一連の値を含み、前記方法が、
それぞれの値が前記第２の離散的時間信号ｙ［ｍ］のｍ個それぞれに対応する一連の値を生成するステップを備え、該生成された値のそれぞれは、前記第１の離散的時間信号ｘ［ｎ］と、所定のウインドウ長のパラメータＬに基づいた長さを有する離散的時間のローパスフィルタを表すシーケンスとの畳み込みによって得られた値に基づいており、該畳み込みは、サンプリング間隔Ｔsによって逓倍され順次増分される位相増分値の１つによって評価され、それぞれのｍ個の値に対応している、ことを特徴とする方法。
【請求項２】
前記ｙ［ｍ］のピッチは、前記ｘ［ｎ］のピッチと前記位相増分値に対応した量だけ異なっていることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１の離散的時間信号ｘ［ｎ］から前記第２の離散的時間信号ｙ［ｍ］を生成するステップが、
前記第１の離散的値の信号ｘ［ｎ］のピッチを上げるか下げるか決定するステップと、
前記第１の離散的値の信号ｘ［ｎ］のピッチを上げる場合、前記第１の離散的時間信号ｘ［ｎ］の帯域幅を制限することによって、前記第１の離散的時間信号ｘ［ｎ］から前記第２の離散的時間信号ｙ［ｍ］を生成するステップと、
前記第１の離散的値の信号ｘ［ｎ］のピッチを下げる場合、前記第１の離散的時間信号ｘ［ｎ］の帯域幅を制限せずに、前記第１の離散的時間信号ｘ［ｎ］から前記第２の離散的時間信号ｙ［ｍ］を生成するステップと、を備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記第１の離散的値の信号ｘ［ｎ］のピッチを上げると決定された場合、一連のｍ個それぞれについて、求められたｙ［ｍ］の値が、
【数１】
2004527005.tif 000019
で近似されることを特徴とする請求項３に記載の方法。
【請求項５】
前記第１の離散的値の信号ｘ［ｎ］のピッチを下げると決定された場合、一連のｍ個それぞれについて、求められたｙ［ｍ］の値が、
【数２】
2004527005.tif 000020
で近似されることを特徴とする請求項３に記載の方法。
【請求項６】
前記第１の離散的時間信号ｘ［ｎ］から前記第２の離散的値の信号ｙ［ｍ］を生成するステップが、前記第２の離散的時間信号ｙ［ｍ］が前記第１の離散的値の信号ｘ［ｎ］のパワーレベルと同じパワーレベルを有するように、前記第２の離散的時間信号ｙ［ｍ］の求められた値をスケーリングするステップを更に備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記第２の離散的時間信号ｙ［ｍ］の生成された一連の値から連続的時間信号ｙ（ｔ）を生成するステップを更に備え、前記ｙ（ｔ）のピッチは、前記連続的時間信号ｘ（ｔ）のピッチと前記位相増分値に対応した量だけ異なっていることを特徴とする請求項１に記載の方法。
【請求項８】
第１の離散的時間信号ｘ［ｎ］を処理して、第２の離散的時間信号ｙ［ｍ］を生成する装置であって、前記信号ｘ［ｎ］は、連続的時間信号ｘ（ｔ）を時間間隔Ｔsで順次サンプリングすることによって得られたサンプルポイントのセットに対応した一連の値を含み、前記装置が、
それぞれの値が前記第２の離散的時間信号ｙ［ｍ］のｍ個それぞれに対応する一連の値を生成するロジックを備え、該生成された値のそれぞれは、前記第１の離散的時間信号ｘ［ｎ］と、所定のウインドウ長のパラメータＬに基づいた長さを有する離散的時間のローパスフィルタを表すシーケンスとの畳み込みによって得られた値に基づいており、該畳み込みは、サンプリング間隔Ｔsによって逓倍され順次増分される位相増分値の１つによって評価され、それぞれのｍ個の値に対応している、ことを特徴とする装置。
【請求項９】
前記第１の離散的時間信号ｘ［ｎ］から前記第２の離散的時間信号ｙ［ｍ］を生成するロジックが、
前記第１の離散的値の信号ｘ［ｎ］のピッチを上げるか下げるか決定するロジックと、
前記第１の離散的値の信号ｘ［ｎ］のピッチを上げる場合、前記第１の離散的時間信号ｘ［ｎ］の帯域幅を制限することによって、前記第１の離散的時間信号ｘ［ｎ］から前記第２の離散的時間信号ｙ［ｍ］を生成するロジックと、
前記第１の離散的値の信号ｘ［ｎ］のピッチを下げる場合、前記第１の離散的時間信号ｘ［ｎ］の帯域幅を制限せずに、前記第１の離散的時間信号ｘ［ｎ］から前記第２の離散的時間信号ｙ［ｍ］を生成するロジックと、を備えることを特徴とする請求項８に記載の装置。
【請求項１０】
前記第２の離散的時間信号ｙ［ｍ］を生成するロジックが、前記第１の離散的値の信号ｘ［ｎ］のピッチを上げると決定した場合、前記第２の離散的時間信号ｙ［ｍ］を生成するロジック、一連のｍ個それぞれについて、前記第２の離散的時間信号ｙ［ｍ］を生成するロジックが、
【数３】
2004527005.tif 000021
で近似されるｙ［ｍ］の値を生成することを特徴とする請求項９に記載の装置。
【請求項１１】
前記第２の離散的時間信号ｙ［ｍ］を生成するロジックが、前記第１の離散的値の信号ｘ［ｎ］のピッチを下げると決定した場合、一連のｍ個それぞれについて、前記第２の離散的時間信号ｙ［ｍ］を生成するロジックが、
【数４】
2004527005.tif 000022
で近似されるｙ［ｍ］の値を生成することを特徴とする請求項９に記載の装置。
【請求項１２】
前記第２の離散的時間信号ｙ［ｍ］を生成するロジックが、前記第２の離散的時間信号ｙ［ｍ］が前記第１の離散的値の信号ｘ［ｎ］のパワーレベルと同じパワーレベルを有するように、前記第２の離散的時間信号ｙ［ｍ］の求められた値をスケーリングするロジックを更に備えることを特徴とする請求項８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は再生デジタルデータにおける歪みの制御に関し、より詳細には波形テーブル型シンセサイザにおける歪みの除去に関する。
【背景技術】
【０００２】
電子的合成方法を用いた音楽的音響の創作は、少なくとも１９世紀まで遡る。これら電子的合成の起源から１９７０年代までは、音楽的音響を作り出すのにアナログ的方法が主に使用された。アナログの音楽シンセサイザは、ドン・ブフラ（Don Buchla）及びロバート・ムーグ（Robert Moog）によって独自に発明された、アナログ電圧制御型のパッチ可能なアナログ音楽シンセサイザなどの開発により、１９６０年代及び１９７０年代に特に一般的となった。アナログ音楽シンセサイザの開発が進み、音楽の分野で広く使用されるにつれて、該シンセサイザが音楽の世界に新たな種類の音色をもたらした。
【０００３】
しかしながら、アナログ音楽シンセサイザは、様々なモジュール型素子を使用しなければならなかった。これらモジュール型素子には、全てが電話方式のパッチコードで互いに接続されている、発振器、フィルタ、乗算器及び加算器が含まれる。音楽的に有効な音を作り出すのが可能となる前に、最初に所望のモジュール型素子間の相互接続を確立し、次にモジュールのパラメータをトライ・アンド・エラーで苦労して調整する計画を立てる必要がある。これらのシンセサイザで使用されるモジュールは温度の変化でドリフトする傾向があるので、パラメータを記憶し、ある時間に再生した音を別の時間に忠実に再生するのは困難であった。
【０００４】
アナログ音楽シンセサイザが広く使用されるのとほぼ同時に、デジタルコンピュータによる方法が急速なペースで開発された。１９８０年代の早い時期までに、現実的なデジタル方の波形シンセサイザを実現可能とした、超大規模集積回路（ＶＬＳＩ）及びデジタル信号処理（ＤＳＰ）によって、コンピュータによる方法の進歩が可能となった。それ以降、コストの低減とメモリのサイズの減少が、パーソナル・コンピュータ及び電子楽器のアプリケーションを使用して、デジタル的合成手法によって音楽的音響を生成するのが一般的となった。
【０００５】
波形テーブル・シンセサイザは、デジタル型シンセサイザの１種類である。波形テーブル・シンセサイザは、１つ以上の楽器を録音すること“でサンプ化”し、該楽器によって作り出される音をデジタル化し、デジタル化した音をメモリに格納する、サンプリング・シンセサイザである。波形テーブル・シンセサイザのメモリには、デジタル化された音がデジタル化された波形として格納されているルックアップテーブルが含まれている。特定のデジタル化された波形が、波形テーブルメモリからデジタル−アナログ変換器（ＤＡＣ）に“再生”されることによって音が生成される。
【０００６】
サンプリング・シンセサイザの基本的動作は、人、コンピュータあるいは他の何らかの手段の制御の下で、完全な楽器の音符のデジタル化された録音を再生することである。音符の再生は、コンピュータあるいは他の何らかの制御デバイスから音楽用キーボードのキーを押下することによって開始される。最も単純なサンプラは一度に一つの音符しか再生できないが、より洗練されたサンプラは、多声（多音色）、多音質（多楽器）での動作を行うことができる。
【０００７】
波形テーブルメモリ内の音を表すデータは、アナログ−デジタル変換器（ＡＤＣ）を用いて、元の音を規則的な時間間隔（すなわち、サンプリング間隔Ｔs）で順次、サンプル化、量子化及びデジタル化して作成される。デジタルで符号化された音は、再生動作の間に連続して読み出される波形テーブルメモリの配列位置に格納される。
【０００８】
サンプル用のメモリ空間を節約するために、波形テーブル・シンセサイザで用いられる一つの技法は、格納したサンプル化された音のセグメントの“ループ化”である。ループ化されたサンプルは、再生の間に繰り返してアクセスされる（例えば、開始から最後まで）、波形テーブルメモリ内に格納された波形テーブルの波形の短いセグメントである。ループ化は、スペクトルの中身及び振幅が完全に一定である元の音あるいは音のセグメントを再生するのに特に有効である。これの簡単な例は、ループのセグメントの終点で矛盾が生じないように（すなわち、反復的な“グリッチ（glitch）”を避けるためには終点で波形の傾斜と振幅が合う必要があり、そうでないと不適合なセグメントのループ再生の間にグリッチが聞かれる）、サイン波の一周期を格納するメモリである。所望の長さの持続時間（例えば、所望の長さだけキーが押下されること、所望の持続時間のプログラミングなどによる）に対して、波形の単一の周期がループされることによって、持続的音符が生成されてもよい。しかしながら、特定のアプリケーションでは、例えば、アコースティック楽器のサンプルでは、ループ状のセグメントの長さには、楽器の音の基本ピッチに対して多くの周期が含まれるであろう。これは、人間の耳で容易に検知可能であり、音の知覚される品質を向上させる（例えば、音の“進化（evolution）”又は“生気（animation）”）、ループ状の単一周期の波形の“周期性”の効果をなくす。
【０００９】
多くの楽器の音は２つの主要なセクション：“アタック（又は出だし）”セクションと“持続”セクション、から構成されるものでモデル化され得る。アタック・セクションは音の開始部分であり、音の振幅及びスペクトル特性が急激に変化し得る。例えば、音符の出だしは、ギターの弦のピッキング、フルートの音の開始でのフッとした風（chiff of wind）、あるいはハンマーがピアノの弦をたたくのを含むであろう。音の持続セクションはアタック・セクションに続く音の一部であり、音の特性は動的にはほとんど変化しない。波形合成システムでは、波形の持続セクションの短いセグメントだけを格納し、再生の間にこのセグメントをループさせることによって、メモリを大量に節約する。
【００１０】
特定の又は所望の音の特性である振幅の変化は、合成された波形信号に該信号をゲイン係数を減少させて乗算することあるいは時間変化するエンベロープ関数によって付加され得る。例えば、元のアコースティックな弦の音については、音の様々なセクションにおいて減衰による異なったレートでの信号の振幅の変動は自然に生じる。アコースティックな音の出だし（すなわち、音のアタック部分）では、最初のアタック・セクションの後で減衰の周期は短くなり得る。ある音符の後の減衰の周期は、音が終了した後に（例えば、音楽用キーボードのキーの押下を解放した後）“解放”され得る。アコースティック音信号のスペクトル特性は音の持続セクションの間、ほとんど一定のままであるが、持続セクションの振幅もまたゆっくり減衰し得る（あるいはしない場合もある）。上記の記載は音楽的な音を、アタック−減衰−持続−解放（ＡＤＳＲ）モデルと呼ばれる伝統的な手法でモデル化するものであり、元の音の振幅の変動をシミュレートするために区分的リニア・エンベロープ関数で波形が逓倍される。
【００１１】
サンプル・メモリの要件を最小にすべく、波形合成システムは、所与の楽器の単一の音サンプルからいくつかの異なった音符を生成するように、ピッチシフトあるいはピッチ転換技術を使用している。ピッチシフトでは２つの種類の方法が主に用いられる：非同期ピッチシフトと同期ピッチシフトである。
【００１２】
非同期ピッチシフトでは、デジタル化された波形を再生するのに用いられる各ＤＡＣコンバータのクロックレートが変えられて、波形の周波数及びそのためそのピッチが変わる。非同期ピッチシフトを用いるシステムでは、システムの各チャネルが独立したＤＡＣを持つことが要求される。これらＤＡＣのそれぞれは、チャネルに対して要求された周波数によってレートが決定されるクロックを有している。ピッチシフトのこの方法は、各出力ＤＡＣが異なったピッチを生成するように異なったクロックで動作するので、非同期であるとみなされる。非同期ピッチシフトは、回路設計が単純化されピッチシフトのアーチファクト（artifacts）が最小である（アナログの再構成フィルタが高品質である限り）という利点を持っている。しかしながら、非同期ピッチシフト方式はいくつかの欠点を持っている。第１に、各チャネル毎にＤＡＣが必要であり、チャネルの数が増えるとシステムのコストが増大する。非同期ピッチシフトの別の欠点は、残響などの更なるデジタル的後処理のために多数のチャネルの混合ができないことである。非同期ピッチシフトはまた、それぞれのチャネルのサンプル再生レートを追跡するために、複雑かつ高価なトラッキング再構成フィルタを、各チャネルに１つ必要とする。
【００１３】
現在利用されている同期ピッチシフト技術では、波形テーブル再生データのピッチは、サンプルレート変換アルゴリズムを用いて変更される。これらの技術は、再生の間に格納されたサンプルデータを異なったレートでアクセスすることによって、サンプルレート変換を基本的に達成する。例えば、音のサンプルメモリへのアドレス指定にポインタが用いられ、該ポインタが各アクセスの後に１だけ増分される場合、この音のサンプルは順次アクセスされ、ある特定のピッチとなる。ポインタが１でなく２だけ増分されれば、２つのサンプルごとに再生され、ピッチは１オクターブだけシフトされる（すなわち、周波数は倍になる）であろう。このように、ピッチは離散的時間信号ｘ［ｎ］の目盛りｎを対応する整数値ａで逓倍し、信号ｘup［ｎ］を“再サンプリングレート”ａｎ：
ｘup［ｎ］＝ｘ［ａｎ］、
で再生（再構成）することにより、整数分高いオクターブに調整され得る。
【００１４】
ピッチを下方にシフトするために、付加的“サンプル”ポイント（例えば、１つ以上のゼロ値）が、格納された波形の復号した一連のデータの値の間に導入される。すなわち、連続的時間信号ｘ（ｔ）のサンプリングを係数Ｌだけ増大させたレートで近似するために、離散的時間信号ｘ［ｎ］は付加的値で補足され得る。ここで、
ｘdown［ｎ］＝ｘ［ｎ／Ｌ］，ｎ＝０，±Ｌ，±２Ｌ，±３Ｌ，…；
それ以外は、ｘdown［ｎ］＝０
である。得られたサンプルポイントｘdown［ｎ］が元のサンプリングレートで再生されるとき、ピッチは下方にシフトされるであろう。
【００１５】
以上、整数値によって離散的時間信号の目盛りのスケーリングを変更する方法について説明したが、この方法では限定された数だけしたピッチのシフトができない。これは、離散的時間信号ｘ［ｎ］を表す格納されたサンプル値と、この信号のスケールを変えた信号ｘ［ａｎ］又はｘ［ｎ／ｂ］が、整数以外のａ又はｂについて定義できないからである。このため、以下に記載するように、より現実的なピッチシフトの増分を可能とする、より一般化されたサンプルレート変換方法が開発された。
【００１６】
サンプルレート変換のより一般的な場合においては、サンプルメモリのアドレスポインタは、整数部と小数部（fractional part）とからなり、そのため増分値はサンプルの分数となり得る。このメモリポインタは、しばしば“位相累算器”とも呼ばれ、増分値は“位相増分”と呼ばれる。位相累算器の整数部はサンプルメモリをアドレス指定するのに使用され、小数部は周波数の精度を維持するのに使用される。
【００１７】
小数の増分値を可能とするテーブル化した信号のピッチを変更する別のアルゴリズムが提案されている。例えば、Ｍ．カールス（M.Kahrs）等、「オーディオ及び音響に対するデジタル信号処理のアプリケーション（Applications of Digital Signal Processing to Audio and Acoustics）」、１９９８年、ｐ３１１−３４１（非特許文献１）、を参照せよ。該文献の全内容を参照により本明細書に組み込む。カールス等によって開示され現在コンピュータ・ミュージックで使用されているサンプルレート変換技術の一つは、“ドロップ・サンプル・チューニング”あるいは“ゼロ次ホールド補間（zero order hold interpolator）”と呼ばれており、テーブル・ルックアップ位相増分発振器に基づいている。テーブル・ルックアップ発振器の基本的要素は、生成されるべき波形のサンプル化された値を格納するメモリ位置の配列である、波形テーブルである。波形テーブルが一旦生成されると、格納された波形は、以下で説明するドロップ・サンプル・チューニングなどのアルゴリズムを用いて読み出され得る。
【００１８】
第１に、波形の予め計算された値が波形テーブルにｘとして格納され、ここでｘ［ｎ］は波形テーブルの位置ｎに格納された値を意味する。変数Ｃｐｈは波形に対するオフセットを表すものとして定義され、整数部と小数部とを有し得る。変数Ｃｐｈの整数部は、
【数５】
2004527005.tif 000003
と表される。（記号
【数６】
2004527005.tif 000004
はここでは実数ｚの整数部を表すものとして使用される。）次に、ｘ［ｎ］，ｎ＝１，２，…，BeginLoop-1，BeginLoop，BeginLoop+1，…，EndLoop-1，EndLoop，EndLoop+1，…，EndLoop+Lを波形テーブルの形式とし、PitchDeviationを信号ｘ［ｎ］を所与の単位“cents（セント）”でシフトすべき周波数の量とする。
【００１９】
単位centは半音階（ほとんどのウエスタン音楽で使用されている）に基づいており、音符のピッチのシフトの量（すなわち、音符の“古い”周波数ｆoldから“新しい”周波数ｆnewへの相対的変化）である。半音階はオクターブに分割され、そして各オクターブは１２のステップ（音符）あるいは半音に分割される。ある音符からオクターブを上げること（半音で＋１２）は古い周波数を倍にすることを意味し、オクターブを下げる（半音で−１２）は古い周波数を半分にすることを意味する。周波数の対数目盛り上で見ると、半音階で定義される全ての音符は均一に位置している。（振動する弦からの音符は弦の長さを半分にする度に次に高いオクターブに移り、弦の長さを倍にすることで次に低いオクターブに移るということを思い出せば、半音階における周波数の対数的性質は直感的に理解できるであろう。）これはあらゆる２つの隣接した音符（すなわち、半音）の周波数間の比率が、ｃという一定の値であることを意味する。オクターブの定義は、ｃ12＝２、となり、その結果、ｃ＝２1/12＝１．０５９３６３である。通常人間は、半音の１％である約１“cent”のピッチチューニングのエラーを聞き分けることができると考えられており、そのため１centの比率は２1/1200である。周波数ｆoldの所与の信号について、新しい周波数ｆnewへのシフトを望む場合、比率ｆnew／ｆold＝２cents/1200（１２００centsは１オクターブ上へのシフトに対応し、−２４００centsは２オクターブのシフトダウンに対応する、以下同様）である。centsの正の値はｆnewがｆoldよりも高い（すなわち、上へのピッチシフト）ことを表し、centsの負の値はｆnewがｆoldよりも低い（すなわち、下へのピッチシフト）を表す。
【００２０】
ドロップ・サンプル・チューニング・アルゴリズムの出力はｙ［ｎ］であり、入力ｘ［ｎ］及びPitch Deviationから以下のようにして求められる。
ドロップ・サンプル・チューニング・アルゴリズム
【数７】
2004527005.tif 000005
【００２１】
このアルゴリズムの出力ｙ［ｎ］は、アルゴリズムのループ部分毎に一巡する、変数Ｃｐｈの現在の値の整数部によるｘ［.］の値である。例えば、PhaseIncrement＝１（PitchDeviation＝０cents）であれば、波形テーブルの各サンプルは順に読み出され、波形は元のサンプルレートで再生される。PhaseIncrement＝０．５（PitchDeviation＝−１２００cents）であれば、波形は１オクターブ低いピッチで再生される。PhaseIncrement＝２．０（PitchDeviation＝１２００cents）であれば、波形は１オクターブだけピッチがシフトされ、サンプルは１つおきにスキップされる。このように、ｘ［ｎ］のサンプル化された値は、PhaseIncrementの値に対応する比率で“再サンプル化”される。ｘ［ｎ］のこの再サンプル化は、発振器の周波数を変更するためにサンプルがドロップされるあるいは繰り返されるので、通常“ドロップ・サンプル・チューニング”と呼ばれる。
PhaseIncrementが１未満のとき、生成される信号のピッチは減少する。原理的には、これは波形データのアップサンプリングによって達成されるが、全ての出力について固定されたサンプリングレートを維持する。ドロップ・サンプル・チューニングはｘ［ｎ］を“サンプル化せず”、ｘ［ｎ］を形成するのに用いたサンプリングレートに対する相対的なサンプリングレートを有効に増大するので、“サンプリングレート拡張器”あるいは“補間器”と一般的に呼ばれる。これは離散的時間内での信号を拡張するという効果を有し、元の離散的時間信号ｘ［ｎ］のスペクトルの内容を短縮するのと逆の効果を有する。
【００２２】
PhaseIncrementが１より大きいとき、信号のピッチは増大される。原理的には、これは波形データのダウンサンプリングで達成されるが、全ての出力について固定されたサンプリングレートを維持する。サンプリングレートが有効に減少されるので、ｘ［ｎ］はドロップ・サンプル・チューニング・アルゴリズムによって“ダウンサンプル化”あるいは“間引き”されると一般的に言われる。これは時間軸において信号を短縮するという効果を有し、逆にいえば元の離散的時間信号ｘ［ｎ］のスペクトルの内容を拡大する。
【００２３】
ピッチシフトのドロップ・サンプル・チューニング方法は、元の音に望ましくない歪みをもたらし、これはピッチシフトの量が増大するとより重大となる。例えば、ピッチシフトの量PhaseIncrementが１を超え、元の信号ｘ（ｔ）がナイキスト・レートでサンプル化された場合、ダウンサンプル化された信号のスペクトルのオーバーラップが周波数領域で生じ、オーバーラップした周波数は別の何らかの周波数の値にみなされる。この不可逆的プロセスは、エリアシングあるいはスペクトルの折り返しとして知られている。エリアシングが生じた後で再構成された波形信号は、歪みまされ元の音のピッチをシフトした音とは同じではない。エリアシング歪みは、元の音が“オーバーサンプル化”されるような、ナイキスト・レートよりもはるかに大きな周波数（ｆs＝１／Ｔs）で元の音をサンプリングすることによって減少され得る。しかしながら、オーバーサンプリングはメモリの増大を必要とし、これはほとんどの実際のアプリケーションでは好ましくない。
【００２４】
エリアシング歪みの量を減少させるために、サンプルレートを変える補間技術が開発されてきた。サンプルレート変換方法に補間を付加すると、隣接したサンプル値に基づいた新たなサンプルを生成することにより、ルックアップテーブルの計算が変わる。すなわち、ＤＡＣへ送るべき値を決定するときにアドレスポインタの小数部を無視する（上記のドロップ・サンプル・チューニングのように）代わりに、補間技術は再生に用いる値を得るために利用可能なデータポイント間での数学的補間を行う。以下のアルゴリズムは、テーブル化された波形テーブルの波ｘ［ｎ］のピッチをシフトするために、多くのサンプリング・シンセサイザで現在使用されている２点補間技術を表している。
【００２５】
直線補間アルゴリズム
【数８】
2004527005.tif 000006
【００２６】
波形テーブルの波形をピッチシフトするときに、補間方法はある程度エリアシング歪みを低減させるが、それでもなお補間で元の波形ｘ（ｔ）のサンプリングレートがナイキスト―レートに近づく（あるいはそれ以下となる）ときに、歪みは重大さを増す。単純なドロップ・サンプル・チューニングと同様に、ｘ［ｎ］を作成するときにナイキスト・レートをはるかに超えていれば、補間方法は元の音のピッチをシフトさせた音をより正確に表せる。しかしながら、そのようにすることのトレード・オフとして、波形テーブルのサンプル数の増大に対応して格納するメモリの増大が必ず必要となるであろう。エリアシング歪みを更に減少させるために高次の多項補間技術が使用されてもよいが、これらの技術は計算のコストが高くつく。したがって、波形テーブルにリストされている音を変えるときに、高いレベルの計算の複雑さやサンプル用メモリのスペースを要求せずに、歪みを低減する新しい方法がこの分野で望まれている。
【００２７】
【非特許文献１】
Ｍ．カールス（M.Kahrs）等、「オーディオ及び音響に対するデジタル信号処理のアプリケーション（Applications of Digital Signal Processing to Audio and Acoustics）」、１９９８年、ｐ３１１−３４１
【発明の開示】
【００２８】
従って、本発明は、関連する技術の不利益及び制限による１つ以上の欠点や問題を実質的に防ぐ、テーブル化された波形のピッチをシフトする方法及び装置に関するものである。
【００２９】
本発明の一態様では、第２の離散的時間信号ｙ［ｍ］を生成するために、第１の離散的時間信号ｘ［ｎ］が処理され得、信号ｘ［ｎ］は、連続的時間信号ｘ（ｔ）を時間間隔Ｔsで順次サンプリングすることによって得られたサンプルポイントのセットに対応した一連の値を含んでいる。第１の離散的時間信号の処理は、それぞれの値が第２の離散的時間信号ｙ［ｍ］のｍ個それぞれに対応する一連の値を生成することを含み、生成された値のそれぞれは、第１の離散的時間信号ｘ［ｎ］と、所定のウインドウ長のパラメータＬに基づいた長さを有する離散的時間のローパスフィルタを表すシーケンスとの畳み込みによって得られた値に基づいており、該畳み込みは、サンプリング間隔Ｔsによって逓倍され順次増分される位相増分値の１つによって評価され、それぞれのｍ個の値に対応している。
【００３０】
本発明の別の態様では、第２の離散的時間信号ｙ［ｍ］を生成するために、第１の離散的時間信号ｘ［ｎ］を処理する装置において、信号ｘ［ｎ］は、連続的時間信号ｘ（ｔ）を時間間隔Ｔsで順次サンプリングすることによって得られたサンプルポイントのセットに対応した一連の値を含んでおり、それぞれの値が第２の離散的時間信号ｙ［ｍ］のｍ個それぞれに対応する一連の値を生成するロジックを含み、生成された値のそれぞれは、第１の離散的時間信号ｘ［ｎ］と、所定のウインドウ長のパラメータＬに基づいた長さを有する離散的時間のローパスフィルタを表すシーケンスとの畳み込みによって得られた値に基づいており、該畳み込みは、サンプリング間隔Ｔsによって逓倍され順次増分される位相増分値の１つによって評価され、それぞれのｍ個の値に対応している。
【００３１】
本発明の付加的な態様及び利点は、以下の記載で定義されるが、部分的には以下の記載から明白となる、あるいは本発明の実現によって分かるであろう。本発明の態様及び利点は、以下の記載及びクレームで特別に指摘したシステム及び方法並びに添付の図面によって実現され達成されるであろう。
【００３２】
“含む”及び“備える”という用語が明細書中で使用されるとき、記載した特徴、数字、ステップ及び部品の存在を特定するが、これらの用語の使用が１つ以上の他の特徴、数字、ステップ、部品やそれらのグループの存在や付加を妨げるものではないことに注意されたい。
【００３３】
上記の一般的な記載及び以下の詳細な説明は、単なる代表例であり特許請求の範囲に記載された本発明を限定するものではない。
【発明を実施するための最良の形態】
【００３４】
添付図面に示された代表的実施形態に関連して、本発明の様々な態様を以下で詳細に説明する。
【００３５】
本発明は、波形テーブル型シンセサイザにおいて、再生中にエリアシング歪みの影響をもたらすことなしに、サンプル化した音の音色や音符のピッチをシフトするのに有効である。本発明は、コンピュータ並びに、電子楽器、マルチメディアの表現、コンピュータ・ゲーム、及びＰＣ型サウンド・カードのような音を作り出すコンピュータに関連したアプリケーションで特に有効である。コンピュータという用語は、据え置き型コンピュータ、ポーラブル・コンピュータ、携帯情報端末（ＰＤＡ）のような無線接続可能なデバイス、移動電話等を含み得る。無線接続可能なデバイスという用語は、移動電話、ポケットベル、コミュニケータ（例えば、電子手帳、スマートフォン）などを含む。本発明は、ＭＩＤＩ（Musical Instrument Digital Interface）プロトコルを用いる上記のアプリケーションのいずれにも適用できる。
【００３６】
本発明の方法及び装置は、通常は波ケーテーブルにリストされた音色（又は音符）を変えることの結果として生じる、音の高調波を除去する方法を提供する。図１ａは、離散的時間信号を作成するために連続的時間信号がサンプル化される、一般的なシステム１００を示している。好ましくは、音は楽譜を演奏する１つ以上の楽器を表す。しかしながら、サンプルされる信号は、離散的時間信号としてサンプルされ格納することができるあらゆる音であってよい。離散的時間信号は、増分的に進められるアドレスポインタによってアクセス可能な波形テーブルメモリに格納される。システム１００への入力は、再生の際に連続的時間信号に対して望ましいピッチシフトの量である。
【００３７】
システム１００では、ｘc（ｔ）は最初に、アナログ−デジタル変換器と同様に、連続−離散的タイム（Ｃ／Ｄ）コンバータ１１０によって、サンプリング期間Ｔsでサンプル化される。エリアシングをなくすために、連続的時間信号は、連続的時間信号の帯域幅の少なくとも２倍のレート（すなわち、ナイキスト・レートあるいは再生するのが望まれる最も高い周波数成分以上のレート）、ｆs＝１／Ｔsでサンプルされる必要がある。Ｃ／Ｄコンバータの出力ｘ［ｎ］は、信号ｘc（ｔ）の離散的時間でのバージョンであり、波形テーブルメモリに波形として格納される。離散的時間信号をサンプル化したピッチから変換したピッチで再生するのを望むとき、離散的時間信号ｘ［ｎ］は再構成及び再サンプリング手段１２０に入力される。手段１２０はまた、離散的時間信号ｘ［ｎ］の相対的ピッチにおける所望のシフト量に基づいた値PhaseIncrementを受信する。図１ａに示された離散的時間信号ｙ［ｍ］は再構成及び再サンプリング手段１２０の出力であり、元の信号ｘ［ｎ］を再サンプル化したものと近似すべく合成されている。そして離散的出力ｙ［ｍ］はＤ／Ｃデバイス１３０に入力され、元の信号ｘc［ｔ］のピッチをシフトしたものである連続的時間信号ｙr（ｔ）を形成する。
【００３８】
本発明の一態様によれば、再構成及び再サンプリング手段１２０は、変換処理の間に生じ得る高調波を除去する。図１ｂは再サンプリング手段の機能をより詳細に示している。図１ｂに示されたように、テーブル化された波にウインドウ手段２１０によってウインドウ関数が適用され、ローパスフィルタ手段２２０によってローパスフィルタが施される。ナイキストの法則によれば、ローパス帯域幅が制限された時間連続的信号ｙr（ｔ）は、連続的時間信号の帯域幅の２倍よりも高い周波数ｆsでサンプル化されていれば、それ自体の時間が離散的なバージョンｙ［ｍ］から再構成され得る。エリアシングをなくすため、ｘ（ｔ）は帯域幅を制限する必要があり、そのためローパスフィルタ手段２２０のカットオフ周波数ｆcがｆs／（２・PhaseIncrement）に等しく設定される。そしてｙ［ｍ］を通過帯域０−ｆs／２の理想的ローパスフィルタでフィルタリングすることにより、ｙr（ｔ）の再構成が行われる。
【００３９】
従って、所与の時間でループする離散的時間信号ｘ［ｎ］について、エリアシングのないピッチシフトが以下の方法で達成される：
１）ｘc（ｔ）のピッチを変更せずにｘ［ｎ］から時間的に連続した信号ｘc（ｔ）を再構成する；
２）ローパスフィルタｈLP（ｔ）でｘ（ｔ）をフィルタリングして再構成された信号ｘc（ｔ）の帯域幅を制限する；及び
３）帯域が制限された信号を再サンプルリングする、すなわち、信号：
ｙ（ｔ）＝ｘ（ｔ）＊ｈLP（ｔ）、となる。
【００４０】
処理１）から３）はそれぞれ以下のように数学的に表される：
【数９】
2004527005.tif 000007
【００４１】
帯域幅が制限された連続した波形について任意のサンプルポイントを計算するために、再構成式が使用され得る：
【数１０】
2004527005.tif 000008
【００４２】
ここで、波形ｘ［ｎ］がＭ＋１個の一連のサンプルとして格納され、サンプルポイントは、ｋ＝０，１，２，…，Ｍについて時刻ｋＴsであると仮定する。更に、波形はＢ＝１／（２Ｔs）の帯域幅を有すると仮定する。これらの仮定で波形のピッチを増やす場合、式Ｉを用いるとエリアシングが生じる。これはピッチを増やすことがサンプルの数がＭ＋１より小さくなることに対応するからである。この結果は、元の時間的に連続した信号ｘc（ｔ）の低いレートでのサンプリングとなる。このため、エリアシングをなくすためのローパスフィルタリングが必要となる：
ｙ（ｔ）＝ｘ（ｔ）＊ｈLP（ｔ）            （式３）
【００４３】
式Ｉを式３に代入すると以下の式となる：
【数１１】
2004527005.tif 000009
【００４４】
フィルタを適切に選択すると任意の数のポイントが集められる。最後に、結果としては以下の式となる：
【数１２】
2004527005.tif 000010
【００４５】
ここで、ｍはサンプリング数を繰り上げた整数であり、ｒは位相増分（ここではPhaseIncrementとも称する）であり、Ｔs＝１／ｆsはｘ［ｎ］を録音するときに用いられるサンプリング間隔である。ｍ・ｒはＣｐｈと記される。従って、ｙ［ｍ］は、連続した時間Ｃｐｈ／Ｔsで再サンプルされ、（連続した時間で）再構成され帯域が制限されたｘ［ｎ］のバージョンとみなされ得る。
【００４６】
残念ながら、ｙ（ｔ）の理論的再構成は無数の計算を要する。その上、畳み込みの積分は計算するのが厄介な場合がある。この方法の複雑さは以下の方法で低下できる：
ケースＡ：ｘ［ｎ］のピッチをシフトして上げる：
１）再構成の式にローパスフィルタを含める、そして
２）再構成の式にウインドウ関数ｗ［ｎ］を使用する。
【００４７】
ケースＡでは、ピッチにおける上方へのシフトは、PhaseIncrement＞１（ここでは先に説明したドロップ・サンプル・チューニング及び補間アルゴリズムと同じ変数を使用する）の値に対応する。ウインドウｗ［ｎ］は、長方形のウインドウなどの持続時間が有限のウインドウである。代替的に、バートレット（Bartlett）、ハニング（Hanning）、ハミング及びカイザー（Hamming and Kaiser）のウインドウなどの他のタイプのウインドウを使用してもよい。再構成された式にウインドウを適用することにより、再サンプル化されるポイントを求めるための計算の数を有限にできる。PhaseIncrement＞１であるときに、ｘ［ｎ］の位相をシフトしたバージョンのサンプルポイントを計算するために用いられる代表的な式は以下のようになる：
【００４８】
【数１３】
2004527005.tif 000011
【００４９】
ｍは整数であり、Ｃｐｈはｍ・ｒに等しい。なぜなら、ｎが整数であるとき、
【数１４】
2004527005.tif 000012
であり、ウインドウ関数の引数において、
【数１５】
2004527005.tif 000013
内のｎを含むことにより、ｘ［］が理想的ローパス再構成フィルタで逓倍されたウインドウ“ｗ［］”あるいは“補間関数”（すなわち、“sinc［］”関数）に畳み込まれるのが分かるであろう。連続したフィルタリングは離散的時間のフィルタリングに変更されている。このような場合であれば、式ＩＩ）での連続的なフィルタリングを回避することができ、それを離散的なフィルタに置換することができる。ウインドウ関数はローパス再構成フィルタ（すなわち、“sinc［］”関数）を省略するのに使用され、このため有限数の計算でｙ［ｍ］を近似するのが可能となる。
【００５０】
ケースＢ：ｘ［ｎ］のピッチをシフトして下げる：
ｘ［ｎ］のピッチをシフトして下げるとき、ローパスフィルタは必要ではない。しかしながら、信号のデジタル的エネルギーは波形に含まれるサンプルの数に反比例し、アップサンプルした波形（すなわち、位相増分が１未満のとき）は付加的サンプルが作成された結果として減少する。従って、信号は波形ｘ［ｎ］を同じパワーレベルを維持するようなスケールとする必要がある。このため、ｘ［ｎ］のピッチをシフトして下げるための式は以下のような形となるであろう：
【００５１】
【数１６】
2004527005.tif 000014
【００５２】
PhaseIncrement≦１に対して、エネルギー・スケーリング係数は１／PhaseIncrementである。（ケースＡ及びケースＢ両方の場合で、減算
【数１７】
2004527005.tif 000015
が合計を
【数１８】
2004527005.tif 000016
付近に集めるために行われる。）
【００５３】
通常の実施において、ウインドウが適用された再構成の式及び係数１／PhaseIncrementは計算時間を短縮するためにテーブル化され得る。高さ１で長さ２Ｌ＋１の対称的な長方形のウインドウを用いる場合、結果は：
【００５４】
【数１９】
2004527005.tif 000017
【００５５】
これはPhaseIncrement＞１に対してであり、β＞０は通常は１に設定されるがより柔軟な帯域幅の制限を可能とするための付加的パラメータである；それ以外では
【数２０】
2004527005.tif 000018
となる。式Ａ及び式Ｂの両方において、table[round(k)]に格納される入力は、sin(πk)／(πk)である。
【００５６】
図２は、波形テーブルシンセサイザのメモリに格納された離散的時間波形ｘ［ｎ］を用いて、所望の音符あるいは音色を生成するための代表的な処理３００のフローチャートである。格納された波形ｘ［ｎ］は、例えば、その音をナイキスト・レート（すなわち、再生するのを所望する最も高い周波数成分の２倍と等しいかそれを超えるサンプリング周波数）と等しいか該レートを超えるレートでサンプリングするために録音され、そのサンプルがデジタル化されて波形テーブルメモリに格納された、特定の楽器で演奏された音符などの音を表すと仮定する。
【００５７】
デジタル化された波形ｘ［ｎ］のそれぞれは、録音されたサンプリングレートで再生されたときの格納された音の再構成されたバージョンの基本周波数のような、周波数の値ｆ0に関連している。周波数の値ｆ0は波形テーブルメモリに関連したルックアップテーブルに格納されてもよく、その場合ｆ0のそれぞれは、メモリ内に格納された対応する波形ｘ［ｎ］を指し示す。ｆ0に関連して格納される値は、同じ波形タイプ（例えば、ホーン、ヴァイオリン、ピアノ、声、純音など）の１つ以上の異なった基本周波数の値（例えば、それそれが複数の音色の１つに関連する複数のｆ0値）を含むリスト内に配置されてもよい。リスト化されたｆ0値のそれぞれは、そのピッチ（ｆ0）で演奏された間に録音（サンプル化）された元の音ｘ（ｔ）を表している、格納された波形ｘ［ｎ］のアドレスに関連している。
【００５８】
もちろん、周波数ｆdでの所望の音符（あるいは音色）を合成するのに要するピッチシフトの量を減少するために、波形テーブルメモリが多くの格納された波形のタイプを含んでいても、及び／又はそのサンプリングレートで様々なピッチで（例えば、オクターブごとに１つの音符）録音された特定の波形それぞれのいくつかの音符を含んでいてもよい。所望の周波数ｆdは、符号化されたビットストリームでデジタル形式として表現され得、デジタル値ｆdの波形テーブルメモリに格納された離散的波形ｘ［ｎ］のアドレスへのマッピングが、予定されておりルックアップテーブルにテーブル化されていることを理解されたい。代替的に、シンセサイザが、ｆdが格納された波形ｘ［ｎ］に関連した値ｆ0を有するかもしれないという近似に基づいた、あるいはプリセットされた又は所望の音楽的エフェクトを達成するためなどの別の基準を用いて、離散的波形ｘ［ｎ］の最良のものを探すサーチ機能を有していていてもよい。
【００５９】
再生において所望の周波数ｆdにピッチがシフトされるｆdの離散的波時間信号ｘ［ｎ］へのマッピング（すなわち、周波数ｆ0の時間的に連続した信号をサンプル化したバージョン）は、ｆ0から上方へシフトされたとき、あるいはｆ0から下方へシフトされたときに、特定の波形が好ましい再構成音の品質を有するか否かによって決定される（あるいは決定されない）かもしれない。例えば、ある波形タイプの特定の音符の高品質の再生は、いくつかの元の音符のサンプリング及び波形テーブルメモリへの格納（例えば、ピアノのキーボードでＡ，Ｃ及びＦと呼ばれるいくつかの音符それぞれに対するｆ0）を必要とするかもしれない。
所望の音符（あるいは音色）に近い特定の格納されたｆ0からシフトアップ（又はダウン）だけによって特定の波形が実現されるような場合には、音の再生品質は良好となるであろう。
【００６０】
本発明を説明するために、図２に示した処理３００は、ｆ0の値のルックアップテーブル（例えば、波形タイプのリスト）からの検索を含んでおり、次に波形テーブルに格納された特定の離散的時間信号ｘ［ｎ］に関連し、そしてｘ［ｎ］からｆdの方向に再生される波形のピッチをシフトする。しかしながら、周波数ｆdの音符を合成しようとするときに、特定の離散的時間信号を選択する（そしてまた結果として必要なシフト方向を決定する）のに、いくつかの様々な方法が利用できることは、当業者なら上記の記載からわかるであろう。例えば、所望の音符が単純に、PhaseIncrementの量に直接関連する波形テーブルに格納された特定の離散的時間波形ｘ［ｎ］に関連したキーを押下するモードで動作している、シンセサイザシステムのキーボードの特定のキーに関連した音符であるかもしれない。図２の処理はフローチャートの形式で示されているが、いくつかの処理は同時に又は図示されたのと別の順番で実行されてもよいことを理解されたい。
【００６１】
図２は、本発明による波形テーブルシンセサイザで使用され得る代表的な処理３００を示している。図２に示したように、処理３００はウインドウ長のパラメータＬを設定することから始まる。パラメータＬの値は、特定のアプリケーションの要件に応じてプリセットされてもよい。代替的に、Ｌは現在のシステムの処理負荷に応じてシステムによって変更されてもよく、あるいは特定のピッチシフトに関連してＬパラメータの値がシステムのメモリに格納されてもよい。ウインドウパラメータＬの値が大きいと、一般的にｙ［ｍ］の解像度が良くなるが、Ｌの値が大きいと計算時間が増大する。逆に、Ｌパラメータの値が小さいと、計算が迅速となるが、再サンプルされた連続的時間信号の近似がより粗くなるであろう。
【００６２】
ステップ３１２で、システムは再生が意図される所望の周波数ｆdを受信する。所望の周波数ｆdは、音楽的演奏をプログラムする作曲者によって使用されるコンピュータ言語の符号、楽器のキーボードが押下されたときに受信する信号、あるいは周波数ｆdの音符の再生が要求されていることを示す他の何らかのタイプの入力であってもよい。ｆdの値と共に特定の波形タイプも指示されても良い。所望の周波数ｆd（及び波形タイプ）の受信結果として、ステップ３１４でシステムはルックアップテーブルからｆ0の値を検索する。値ｆ0は、それぞれが異なった楽器又は音質に関連する様々な波形タイプの１つ以上のリストに含まれるであろう（例えば、音符“中間のＡ”はヴァイオリン及びピアノ両方に関連するリストにあるであろう）。ルックアップテーブルは波形テーブルメモリに含まれていてもよく、あるいは他のどこかにあってもよい。ステップ３１６で、ステップ３１４で求められたｆ0の値が波形テーブルメモリに格納された特定の波形ｘ［ｎ］に関連付けられる。波形ｘ［ｎ］は、サンプリング間隔Ｔs＝１／ｆsでサンプル化された連続的時間信号ｘc（ｔ）の値を含む、テーブル化された波形である。ステップ３１８および３２０で、変数Pitch Deviation及びPhaseIncrementが定義されて計算される。少なくともPitch Deviation又はPhaseIncrementの値が、素早く参照できるようにテーブル化されても良いことを理解されたい。例えば、“中間のＣ”あるいは他のいずれかの相対的なピッチに関連する波形が、既知の再生周波数ｆ0での離散的波形ｘ［ｎ］として波形テーブルメモリに格納されている場合、“ピアノ（タイプ）”及び“中間のＣ＃（及び関連する所望のｆd）”の両方を表す、受信したデジタル符号に関連するPitchDeviationの値は、容易にテーブル化され得る。
【００６３】
ステップ３２２で、パラメータＣｐｈが定義され、−PhaseIncrementに初期化される。ステップ３２４で、Ｃｐｈは値PhaseIncrementで増分される。判定ブロック３２５で、PhaseIncrementの値が１と比較される。PhaseIncrementが１以下であれば（すなわち、PhaseIncrementが１以下であることは、ｘ［ｎ］によって表される連続的時間信号ｘc（ｔ）が、元のサンプリングレートＴs以上であるレートで有効に再サンプル化され、Ｔsで再生したときに得られる波形ｙ［ｍ］は、ｘc（ｔ）の録音された元のピッチに等しい（PhaseIncrement＝１のときに対応する）あるいはｘc（ｔ）のピッチよりも低い（PhaseIncrement＜１のときに対応する））、ステップ３２８で式Ｂを用いてｙ［ｍ］が求められる。
【００６４】
ステップ３３０で、ｙ［ｍ］についての所望のサンプル全てが求められたか否かを判定する。ｙ［ｍ］がまだ終了していないと判定された場合、所望の数のサンプルに達するまで、処理はステップ３２４、３２５及び３２８を繰り返すべくループに戻される。各PhaseIncrementの値を計算するためのｙ［ｍ］値の数は、いくつかの方法で決定され得る。計算を中断させる１つの手段は、波形生成器を停止させるよう指示する外部信号によるものである。例えば、ＭＩＤＩコマンドであるキーオフ・メッセージ（key-off message）の受信によりそのような外部信号が送られても良い。しかしながら、キーが押下されている限り、サンプルの生成は続けられる。波形データｘ［ｋ］が循環バッファモジュールＫとして格納されても良い。このように、元のｘ［ｋ］データは整数を増大することにより検索される。この整数は、例えば、ステップ３２４で計算された（例えば、ドロップ・サンプル．チューニングを使用して）Ｃｐｈの整数部であり得る。明らかに、Ｋ＋１に達したとき、サンプルｘ［０］に達し、周期的な離散的時間信号が近似される。
【００６５】
ピッチシフト用アルゴリズムの周辺の外部制御システムは、ピッチが急激に変化するのを必要とするかもしれない（例えば、ピッチ変調やピッチベンドなどのＭＩＤＩコマンドにより）。この場合、ｙ［ｍ］値の数は各位相増分について計算された値と同様に１程度に少なくてもよい。例えば、シンセサイザのキーボードの様々なキーを押下することによってピッチの増分を変更するのに加え、ピッチの増分を変更するためにピッチのホイール（wheel）や他の機構がシンセサイザにはしばしば用いられる。ピッチのホイールを変更することは、例えば、動作中に波形生成アルゴリズムに送られる、新たなピッチのデビエーションの値によって反映されるべきである。そのような場合、送られたデビエーションは波形生成器に現在使用されているデビエーションと関連したものであろう。すなわち、付加的変数は以下のように定義され得る：TotPitchDev＝PitchDevNote＋PitchWheel。解像度（時間領域における）に関して比較的要求が低い他の代表的なシステム（あるいは動作モード）では、各位相増分について比較的少ない数の値を含むブロックを計算すれば十分であろう。このように通常のアプリケーションでは、周辺システムが、考えられるピッチの変更の所望の解像度を得るために、ｙ［ｍ］の値をいくつ計算するのかを決定してもよい。
【００６６】
ステップ３３０で、ｙ［ｍ］について所望のサンプルが全て求められていないと判定された場合、“ＮＯ”の経路を採り処理はステップ３２４、３２５及び３２８を繰り返すべくループに戻る。位相増分は、受信した音符に関してあらゆるときに様々な方法で変化し得ることを理解されたい（例えば、先に記載した“動作中の”動作を参照せよ）。通過した判定ブロック３２５からステップ３２４へループで戻ること（そしてまた判定ブロック３３６から“ＮＯ”の経路でステップ３２４へ戻る）で、これらの変更の適切な処理が可能となる。
【００６７】
ステップ３２５でPitchDeviationが１より大きいと判定された場合（すなわち、PhaseIncrementが１より大きく、ｘ［ｎ］で表される連続的時間信号ｘc（ｔ）が元のサンプルレートＴsよりも低いレートで有効に再サンプル化され、Ｔsで再生されたときに得られる波形ｙ［ｍ］は、ｘc（ｔ）の元の録音されたピッチよりも高いことを意味する）、ステップ３３４で、ｘ［ｎ］の帯域幅を制限した離散的時間のピッチをシフトしたバージョンである、ｙ［ｍ］が式Ａを用いて求められる。
【００６８】
ステップ３３６は、ｙ［ｍ］がピッチで上方にシフトされステップ３３４の結果として帯域幅が制限されている以外はステップ３３０と同様である。代替的に、ステップ３３０及びステップ３３６を組合わせて単一の処理としても良い（不図示）。ｙ［ｍ］の所望の全ての値が計算されて再生されたとき、それぞれの判定ブロック３３０及び３３６からの“ＹＥＳ”の経路が採られ、処理は次の所望の音符（すなわち、波形タイプ及び周波数ｆd）を受信するブロック３１２に戻る。
【００６９】
本発明の理解を容易とするために、コンピュータシステムの要素によって実行される一連の動作によって本発明の様々な態様を記載した。それぞれの実施形態において、１つ以上のプロセッサあるいはそれらの組合わせによって実行されるプログラム命令によって、様々な動作は特化した回路（例えば、特別な機能を実行すべく相互接続された個々の論理ゲート）によって実行され得ると理解されたい。その上、本発明は、本明細書に記載した技術をプロセッサに実行させる適切なコンピュータ命令のセットを含む、半導体メモリ、磁気ディスク、光ディスクあるいは搬送波（無線周波数、可聴周波数、又は光周波数の搬送波など）などの、あらゆる形態のコンピュータ可読媒体内として完全に実現されるものとしてもみなされ得る。このように、本発明の様々な態様は多くの異なった形態で実現され得、そのような形態の全ては本発明の範囲に含まれるものとみなされる。本発明の様々な態様それぞれについて、実施形態のそのような形態を本明細書では、記載した動作を実行すべく“構成されたロジック”、あるいは代替的に、記載した動作を実行“するロジック”として記載する。
【００７０】
以上、特定の実施形態を参照して本発明を説明した。しかしながら、当業者には、本発明を上記で説明した好適な実施形態以外の特定の形態で実現することが可能であることが容易に理解されよう。これは本発明の要旨から逸脱すること無しに行われ得る。
【００７１】
本発明の要旨及び範囲から逸脱せずに、本発明の波形テーブル型シンセサイザにおけるエリアシングを除去する方法に様々な変更や修正を加えることができることは、当業者には容易に理解できるであろう。このため、本発明は、特許請求の範囲内に包含される変形例並びにそれらの等価物をカバーするものである。
【図面の簡単な説明】
【００７２】
本発明のよりよき理解を得るべく添付した図面は、本明細書に関連しその一部をなすものであり、本発明の原理を説明するための記載と共に本発明の実施形態を説明するものである。
【図１ａ】本発明の代表的実施形態によるシステムのブロック図である。
【図１ｂ】図１ａの再サンプリング及び再構成部分のブロック図である。
【図２】本発明による代表的な処理を説明するフローチャートである。
【図１ａ】
2004527005.tif 000023
【図１ｂ】
2004527005.tif 000024
【図２】
2004527005.tif 000025
【国際公開パンフレット】
2004527005.tif 000026
2004527005.tif 000027
2004527005.tif 000028
2004527005.tif 000029
2004527005.tif 000030
2004527005.tif 000031
2004527005.tif 000032
2004527005.tif 000033
2004527005.tif 000034
2004527005.tif 000035
2004527005.tif 000036
2004527005.tif 000037
2004527005.tif 000038
2004527005.tif 000039
2004527005.tif 000040
2004527005.tif 000041
2004527005.tif 000042
2004527005.tif 000043
2004527005.tif 000044
2004527005.tif 000045
2004527005.tif 000046
2004527005.tif 000047
2004527005.tif 000048
2004527005.tif 000049
2004527005.tif 000050
2004527005.tif 000051
2004527005.tif 000052
2004527005.tif 000053
2004527005.tif 000054
2004527005.tif 000055
【国際公開パンフレット（コレクトバージョン）】
2004527005.tif 000056
【国際調査報告】
2004527005.tif 000057
2004527005.tif 000058
2004527005.tif 000059