JP2001508886A - サウンドシンセサイザにおける指数減衰の近似装置および方法 - Google Patents

サウンドシンセサイザにおける指数減衰の近似装置および方法

Info

Publication number
JP2001508886A
JP2001508886A JP53466998A JP53466998A JP2001508886A JP 2001508886 A JP2001508886 A JP 2001508886A JP 53466998 A JP53466998 A JP 53466998A JP 53466998 A JP53466998 A JP 53466998A JP 2001508886 A JP2001508886 A JP 2001508886A
Authority
JP
Japan
Prior art keywords
value
constant
parameter
time interval
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP53466998A
Other languages
English (en)
Inventor
ジャリク,メリタ
プイス,ティモシー ジェイ. ドゥ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JP2001508886A publication Critical patent/JP2001508886A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
    • G10H1/053Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
    • G10H1/057Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits
    • G10H1/0575Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits using a data store from which the envelope is synthesized

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 指数減衰関数への線形近似は、間隔の始めのパラメータ値の、間隔の終わりのパラメータ値に対する比が等時間間隔で一定のままであるという、指数関数の特性を利用する。指数減衰の線形近似の技術は、一定の期間または時間間隔の選択と、一定の期間の始めのパラメータ値と一定の期間の終わりのパラメータ値との間の一定の比の選択とを含む。1つの実施形態では、2進算術実現を利用するために、選択された比は2分の1である。2分の1の比の場合、指数減衰は、期間の始めのパラメータ値の半分だけが、選択された「半減期期間」の終わりに残る「半減期」を有する。

Description

【発明の詳細な説明】 サウンドシンセサイザにおける指数減衰の近似装置および方法発明の技術分野 本発明は、電子楽器で使用されるサウンドシンセサイザに関するものである。 特に、指数減衰現象を実現するための線形近似手法を利用したサウンドシンtサ イザに関するものである。発明の背景 シンセサイザは電子波形を生成し、実時間で周波数、音色、振幅、音長等の様 々なサウンドパラメータを制御してサウンドを生成する電子楽器である。サウン ドは望ましい形の波形を生成する一つまたは複数のオシレータによって作り出さ れる。シンセサイザは古典楽器または従來楽器の演奏時に生じる物理現象を複製 してサウンドを生成する。電子サウンドシンセサイザは、一般的に音楽を生成す る振動を作り出す一つまたは、複数のオシレータを有する。 長年に渡って様々な文化によって作り出された多くの従来楽器は音楽効果を生 成する無数の革新的手法を示している。電子音楽シンセサイザは、しばしばこれ ら革新的手法のいくつかを模擬し、革新的手法の中の物理現象を複製する。 指数減衰は、通常時間経過に伴い負の指数則に従って生じる物理量の減衰であ る。指数減衰は、音楽効果に見られる多くの物理プロセスの特性の一つである( 実際、音楽またはそれ以外の場合にかかわらず、指数減衰は多くの物理現象に見 られる)。従って、指数減衰現象を実装する手法はサウンドシンセサイザの重要 な特徴である。 指数減衰はしばしばフィルタ技術を用いてアナログ回路または、デジタル回路 で実装され得る。デジタル電子シンセサイザでは、指数減衰は従来の演算回路を 用いて実装され得る。定義により、指数減衰パラメータは、等時間間隔において 、最初の間隔におけるパラメータ値と最後の間隔におけるパラメータ値の比が一 定となる減衰である。指数減衰を直接デジタルで実現することは、次式で示され る ように次のパラメータ値を決定するためにパラメータ値から、パラメータ値の一 定少数部(fraction)を引き算することで近似される。 X[n]=X[n-1] − AX[n-1] 一定少数部(A)の値はほぼ0である。一定少数部(B)の値は殆ど1である。指数 減衰は、次式で示される様にパラメータ値の一定少数部を決定することによって 近似される。 X[n]=BX[n-1] 指数減衰現象を直接デジタルで実現する場合の問題の一つは、乗算演算が必要 となることである。一般的に、処理時間が限られ、演算回路構成に制限があり、 非常に頻繁に演算を行う等のような状況下では特に、乗算演算は計算負荷が大き い。 指数減衰現象を直接デジタルで実現する場合のもう一つの問題は、時定数が大 きいため減衰時間が長くなる場合に生じる。時定数が大きい場合は、有意なエラ ーを回避するために乗算演算に高い精度が要求される。 従って、乗算演算を使用せずに、加算(または減算)およびシフト演算を用い て指数減衰を厳密に近似するための装置および手法が必要となる。発明の詳細 本発明に従った、指数減衰関数の線形近似は指数関数の特徴を利用している。 その特徴は等時間間隔において、最後の間隔におけるパラメータ値に対する最初 の間隔におけるパラメータ値の比が一定となることである。指数減衰の線形近似 手法は、一定期間または、一定間隔の選択および、一定期間の最初のパラメータ 値と一定期間の最後のパラメータ値の間の一定比の選択が含まれる。ある実施態 様では、2進演算を利用するため比1/2が選択される。比1/2は、指数減衰に“半 減期”があり、その時、期間の最初の時点のパラメータ値の半分だけが選択され た“半減期期間”の最後の時点で残っている。 ある実施態様では、指数減衰の線形近似手法は次の疑似コードで表される。 指数減衰の線形近似手法では、仮数部および指数部を含む数値レジスタの定義 および割り当てを行う。選択された比1/2については、指数部は2進指数である。 選択された時間期間内に線形部分を1/2の比率で減少させるために、減衰デルタ は、仮数部の最大値を時間間隔を単位時間の数で割った値に等しく定義する。 指数部値は、仮数部の最大値を2倍した値に初期化する。仮数部の最大値は一 般に、選択されたビット長に対して2進最大値に設定する。指数部は最初ゼロに 設定する。一定期間において、1/2の比率で線形部分を減少させるために、一定 のオフセット値を仮数部の最大値に等しく設定する。各一定期間について、指数 部は一つずつ減らされ、各時間単位に対して、指数部の値は減衰デルタ分減じら れ、減衰デルタは一定期間において単位時間の数で仮数部最大値を割った値に設 定される。全一定期間において、指数部値は最大仮数部値の2倍の指数部値から 開始して、仮数部最大値で終了し、初期値から終了値まで線形関数で処理され、 一定の半減期期間を維持する。指数部値は各単位時間毎に値を取り、nを用いて 以下の式で示される。 X[n] = X[n-1] − C、および Ev[n] = X[n] + offset ここでCは2counter length/half-life in sampleであり、減衰デルタを表す。X [n]は、現在の仮数部値、Ev[n]は現在の仮数部指数振幅、およびoffsetは2coun ter length /(ratio-1)である。 別の実施態様では、指数減衰の線形近似手法は次のような擬似コードで表され る。 詳述した装置および方法によって多くの利点が生じる。一つの利点は、一連の 指数計算において乗算演算がなくなるため、プロセッサの計算負荷が低減される 。もう一つの利点は、エラーは短期間変動における微少エラーに限定されること である。図面の簡単な説明 詳述した新しい実施熊様の特徴は、特に添付した請求の範囲で示す。一方、演 算の構成および方法に関する発明の実施態様は、以下の解説および関連図を参照 することによって十分理解される。各図で使用する同じ参照記号は、同様または 、同一の項目を示す。 図1Aおよび図1Bはそれぞれ、(1)指数減衰の線形近似の実装に用いたレジスタ の概略図および、(2)本発明の実施態様に従った線形近似と指数関数を比較した グラフを示している。 図2は、計算装置内パラメータの指数減衰関数の線形近似を決定する方法のス テップを示すフローチャートである。 図3Aはおよび3Bは概略ブロック図で、本発明の実施態様に従って指数減衰を線 形近似するウェーブテーブルシンセサイザ装置の実施熊様の二つの高次ブロック 図を示す。 図4は、図1A、1Bおよび、図2に関連する指数減衰の線形近似手法を用いたサ ブバンド音声サンプルをコーディングする方法の実施態様を示したフローチャー トである。 図5は、図4に示した方法で利用される適切なサンプルを生成する低域フィル タの周波数応答を示したグラフである。 図6は、低域ルーピング強制フィルタ(low pass looping forcing filter)と して使用される櫛形フィルタの実施態様を示す概略ブロック回路図である。 図7は、選択ファクタαの典型的な時間変化を示したグラフである。 図8は、図1で示されるウェーブテーブルシンセサイザ装置のピッチ発生器と エフェクトプロセッサの各種RAMおよびROM構成を有するミュージックインストゥ ルメントデジタルインターフェース(MIDI)インタプリタの内部接続を示す概略ブ ロック図である。 図9は、図1に示されるウェーブテーブルシンセサイザ装置のピッチ発生器を 示す概略ブロック図である。 図10は、図9に示したピッチ発生器で使用される適切な12個のタップを持つ補 間フィルタの周波数応答を示すグラフである。 図11は、図9に示されるピッチ発生器のサンプルグラバー処理を示すフローチ ャートである。 図12は、図9に示されるピッチ発生器内の先入れ先出し法(FIFO)バッファの 構造を示す概略ブロック図である。 図13は、図1に示されるウェーブテーブルシンセサイザ装置のエフェクトプロ セッサの実施態様を示す概略ブロック図である。 図14は、図13に示されるエフェクトプロセッサを利用するための、線形フィー ドバックシフトレジスタ(LFSR)の実施態様を示す模式図である。 図15は、図13に示されるエフェクト・プロセッサを利用するための状態空間フ ィルタを示す回路概略図である。 図16は、旋律信号(note signal)に適用するための振幅エンベロープ関数を 描いたグラフである。 図17は、図1A、1Bおよび、図2に関連した指数減衰の線形近似手法を実現する チャンネルエフェクトステートマシンを示す概略ブロック図である。 図18は、コーラス処理回路の構成を示す概略ブロック図である。 図19は、反響(残響)処理回路の構成を示す概略ブロック図である。発明を実行する形態 図1Aおよび1Bは、指数減衰の線形近似を実現するために使用されるレジスタの 図および、真の指数関数と線形近似を比較したグラフをそれぞれ表している。図 1Aは、指数減衰の線形近似に適したレジスタ構成10の実施態様を示している。レ ジスタ構成10は仮数部12および指数部14を有する。この実施態様では、仮数部12 のビット長は17で、指数部14のビット長は4である。図1Bでは、真の指数減衰の プロット20と線形近似を用いて描いた曲線のプロット22が、線形近似関数の長期 挙動においては短期間の微少変動が発生するだけで殆ど一致することを示してい る。指数減衰の線形近似をする方法では、各サンプリング時間隔において減衰デ ルタを仮数部から減算する。減衰デルタは信号の半分のみが残る時に、17ビット カウンタをアンダフローするように予め計算される値である。仮数部のアンダー フローにより指数部は減算される。17ビットのカウンタ長では、C=1の時に、44. 1kHzで3秒間の半減期が選択される。Cがさらに大きくなると、半減期がさらに小 さくなる。32ミリ秒の半減期を選択すると、Cは約93となる(217/(44100/0.032 )は約93である)。 図2は、計算装置内パラメータの指数減衰関数の線形近似を決定する方法のス テップを示したフローチャートである。指数減衰関数30を線形近似を生成する図 に示す手法は、各等時間聞隔において、最初の間隔におけるパラメータ値と最後 の間隔におけるパラメータ値の比が一定である指数関数の特徴を利用している。 指数減衰30の線形近似手法には、一定期間または、時間間隔を選択するステップ 32、最初の一定間隔におけるパラメータ値と最後の一定間隔におけるパラメータ 値の一定比を選択するステップ34が含まれる。ある実施態様では、2進演算を利 用するために1/2の比が選択される。1/2の比は、指数減衰に“半減期”があり、 最初の期間におけるパラメータ値の半分だけが選択された”半減期期間“の最後 に残される。 指数減衰30の線形近似手法には、さらに数値レジスタを定義し割り当てるステ ップが含まれ、数値レジスタは、仮数部指数振幅および指数減衰関数値36を格納 する指数部を持つ。選択された比1/2に対して、指数部は2進指数となる。ステッ プ38および39では、一定のオフセット値および一定減衰デルタ値がそれぞれ選択 された一定比の関数として定義される。選択された時間期間内で線形部分を比1/ 2ずつ減じるために、減衰デルタは仮数部の最大値を時間間隔の単位時間数で割 った値に定義され、オフセット値は最大仮数部値を比から1を引いた値で割った 値に定義される。 40において、指数減衰関数の初期値は初期化され、仮数部および指数部も初期 化される。ある実施態様では、指数部値は、仮数部の最大値を2倍した値に初期 化される。仮数部の最大値は一般に、選択されたビット長に対する2進値に設定 される。指数部はゼロに初期化される。線形部分を一定期間内で比1/2ずつ減算 するために、一定のオフセット値を仮数部の最大値に設定する。42において、指 数減衰関数は単位時間毎に更新され、44において、現在の仮数部値から一定の減 衰デルタを減算するサブステップおよび、減算ステップが46において現在の仮数 部値となるとき、48において指数値を減じるサブステップが含まれる。仮数部の アンダーフローは一定期間の終了を意味する。このように各一定期間に対して、 指数部が各単位時刻で1つずつ減じられ、指数部値が減衰デルタずつ減じられる 。この減衰デルタは一定期間における単位時刻の数で最大仮数部値を割った値に 設定されている。全一定期間において、指数部値は最大仮数部値を2倍した指数 部値から始まり、最大仮数部値で終了し、初期値から終了値に到るまで線形関数 で処理され、一定の半減期期間を維持する。指数部値は以下の式で示される方法 で、各単位時間nごとに値を取る。 X[n] = X[n-1] − C および、 Ev[n] = X[n] + offset ここでCは2counter length/half-life in sampleであり、半減デルタを表す。 X[n]は現在の仮数部の値、Ev[n]は仮数部指数振幅の現在の値を示し、offsetは2counter length /(ratio-1)に等しい。図示された実施例において、カウンタは1 7ビットである。 図3Aおよび図3Bを参照すると、1対の概略ブロック図はウェーブテーブル シンセサイザ装置100の2つの実施形態の高レベルブロック図を例示し、この装 置は、メモリからの格納されたウェーブテーブルデータにアクセスして演奏用の 複数の音声の音楽信号を発生する。ウェーブテーブルシンセサイザ装置100は、 従来技術のウェーブテーブルシンセサイザと比較して実質的に低減されたメモリ サイズを有する。例示の実施形態において、ROMメモリのサイズは、例えば約300 キロバイト等の、0.5メガバイトよりも小さい量まで低減され、RAMメモリのサイ ズはおよそ1キロバイトまで低減されるが、本明細書中に開示される複数のメモ リ保存技術を用いて、高品質オーディオ信号を生成する。例示の実施形態におい て、ウェーブテーブルシンセサイザ装置100は32種の音声を支援する。大半の楽 器用の音調(note)は、その各々がウェーブテーブルシンセサイザ装置100の音声 に対応するが、2種の成分、すなわち、高周波数サンプルおよび低周波数サンプ ルに分離される。従って、32種の音声の各々についての2つの周波数成分は64個 の独立オペレータとして実現される。オペレータは単一波形データストリームで あり、1音声の1周波数成分に対応する。ある場合には、32よりも少ない別々 の音声が場合により処理されるように、2つより多い周波数帯域サンプルが使用 されて音調を再現する。ある場合、2つの周波数帯域サンプルが音調を再現する のに用いられる。別な場合、1つの周波数帯域信号が音調を再現するのに十分で ある。 場合により、オペレータの全部が、2つ以上のオペレータを使用した音調を奏 でて、32音声全てが支援されるようにする。この条件を適合させるために、音に 最も寄与しなかったものが判定され、新たな「ノートオン」メッセージが必要な 場合には、最も寄与しなかった音調が終了される。 複数の独立オペレータの使用は、ウェーブテーブルシンセサイザにおける多層 化(layering)技術およびクロスフェード技術の実現をも促進させる。多数の音お よび音響効果は複数のシンプルな音の組み合わせである。多層化は1度に複数の 波形の組み合わせを用いる技術である。音響成分が多重音で用いられる場合、メ モリは節約される。クロスフェードは多層化に類似の技術である。経時的に変化 する多くの音は、経時的に変化する振幅を有する2個以上の成分音を使用するこ とにより再作成される。クロスフェードは、いくつかの音が特定音成分として始 まると起こるが、経時的に異なる成分に変化する。 ウェーブテーブルシンセサイザ装置100は、ミュージカルインスツルメントデ ィジタルインターフェイス(MIDI)インタープリタ102、ピッチ発生器104、サン プルリードオンリーメモリ(ROM)106、およびエフェクトプロセッサ108を含む 。一般に、MIDIインタープリタ102は入来するMIDIシリアルデータストリームを 受け、データストリームを解析し、サンプルROM 106から適用情報を抽出し、適 用情報をピッチ発生器104およびエフェクトプロセッサ108に転送する。 図3Aに示される一実施形態において、MIDIシリアルデータストリームはシス テムバス122を介してホストプロセッサ120から受信される。典型的ホストプロセ ッサ120は、PentiumTMプロセッサまたはPentium ProTMプロセッサのようなx86 プロセッサである。典型的なシステムバス122は、例えば、ISAバスである。 図3Bに示される第2の実施形態において、MIDIシリアルデータストリームは 、ゲームまたはおもちゃ等の装置のキーボード130から受信される。 サンプルROM 106は、パルスコード変調(PCM)波形としてコード化され、かつ 、低域および高域を含む2個のばらばらな周波数帯域に分割される音声音調の形 熊で、ウェーブテーブル音響情報サンプルを格納する。音調を2個の周波数帯域 に分割することにより、処理されるオペレータの数は2倍になる。しかし、低域 と高域の間の好適に選択された周波数分割を利用して達成されるメモリサイズの 実質的低減により、追加オペレータの不利な点は間違いなく相殺される。 音を持続させるために、実質的メモリ低減が達成されるが、それは、高周波数 帯域が高周波数帯域信号の1周期サンプルから再構築されるように、高周波数ス ペクトル内容が正確に選択された周波数分割の境界についてほぼ一定だからであ る。高周波数成分が除去されると、低周波数帯域がより低いレートでサンプリン グされ、低域信号の長いスペクトル進化(spectral evolution)を格納するのに、 より小さいメモリが使用される。 打楽器音(percussive sound)については、高周波数成分が急速に減衰しまたは 静止状態になるので、高周波数帯域が高いレートでサンプリングされたとしても 、実質的メモリ低減は達成される。高周波数成分は除去され、高周波数サンプリ ング時間より遥かに長いサンプリング期間の間、低周波数帯域はより低いレート でサンプリングされ、静的波形をフィルタ処理して、処理した静的信号成分を波 形に加えることによっては容易に復元されないわずかなスペクトル変化を再作成 する。 サンプルROM 106に格納されたパルスコード変調(PCM)波形は、信号のスペク トル内容により、サンプルが高周波数帯域成分を表しているのか、それとも、低 周波数帯域成分を表しているのかを判定されたとおりに、実質的に可能な限り低 いサンプリングレートでサンプリングされる。ある実施形態において、可能な限 り低いサンプリングレートでのサンプリングは、サンプルを保持するためのRAM 、多様なバッファ、およびFIFOの格納サイズ、ならびにデータ経路幅を実質的に 低減し、それにより、回路サイズを低減する。サンプルは、高周波数帯域成分お よび低周波数帯域成分を一貫したサンプリングレートに復元するように、処理よ り以前に実質的に補間される。 MIDIインタープリタ102は31.25キロボードの規格レートでMIDIシリアルデータ ストリームを受信し、シリアルデータをパラレルフォーマットに変換し、MIDIパ ラレルデータをMIDIコマンドおよびMIDIデータに構成要素分析する。MIDIインタ ープリタ102はMIDIコマンドをデータから分離し、MIDIコマンドを翻訳し、ピッ チ発生器104およびエフェクトプロセッサ108による使用のための制御情報へとデ ータをフォーマットし、MIDIインタープリタ102とピッチ発生器104およびエフェ クトプロセッサ108の多様なRAM構造およびROM構造との間でデータおよび制御情 報を通信する。MIDIインタープリタ102は、MIDI音調数、サンプル数、ピッチチ ューニング、ピッチ曲げ、およびビブラートデプスを含む、ピッチ発生器104に 付与するための制御情報を発生する。MIDIインタープリタ102は、チャネルボリ ューム、パンレフトおよびパンライト、リバーブデプス、およびコーラスデプス を含む、エフェクトプロセッサ108に付与するための制御情報をも発生する。MID Iインタープリタ102は、音響合成処理についての制御情報の初期化を調整する。 一般に、ピッチ発生器104はオリジナルに記録されたサンプリングレートと同 等なレートでサンプルROM 106からサンプルを抽出する。ピッチ発生器104はサン プリングレートを変えるので、ビブラートエフェクトはピッチ発生器104により 組み入れられる。ピッチ発生器104はまた、エフェクトプロセッサ108による使用 のためのサンプルを組み入れる。 より特定的には、ピッチ発生器104は、ピッチチューニング、ビブラートデプ ス、およびピッチ曲げエフェクトを考慮に入れて、要求されたMIDI音調数により 決定されるレートで、サンプルROM 106から未加エサンプルを読み出す。ピッチ 発生器104は、オリジナルサンプリングレートを一定の44.1KHzのレートに補間す ることによりサンプリングレートを変換し、エフェクトプロセッサ108によって 使用するためのサンプルを同期化する。補間されたサンプルは、ピッチ発生器10 4とエフェクトプロセッサ108との間でバッファ110に格納される。 一般に、エフェクトプロセッサ108は時変フィルタリング処理、エンベロープ 発生、ボリューム(volume)、MIDI特殊パン(pan)、コーラス、およびリバー ブのようなエフェクトをデータストリームに追加して、一定レートで動作してい る間に、データのオペレータおよびチャネル特殊制御を発生する。 エフェクトプロセッサ108は補間されたサンプルを受け、エンベロープ発生お よびフィルタリング動作により音響生成品質を向上させながら、ボリューム、パ ン、コーラス、およびリバーブのようなエフェクトを追加する。 図4を参照すると、フローチャートは、サンプルエディタにより指示されるよ うに実施される、持続音、打楽器音、およびそれ以外の音を含む音響についての 副帯域音声サンプルをコード化する方法の実施形態を例示する。この方法は、第 1低域フィルタ210ステップ、第2低域フィルタ220ステップ、高域フィルタ230 ステップ、オプションの低域ルーピング強制フィルタ240ステップ、低域ルーピ ング250ステップ、オプションの高域ルーピング強制フィルタ260ステップ、高域 ルーピング270ステップ、成分間引き280ステップ、および雑多な再構築パラメー タ調整290ステップを含む複数ステップを含む。 第1低域フィルタ210ステップは上限を高周波数帯域のためのサンプリングレ ートに設定するために使用され、これにより、音響信号再作成の最大限の総合的 忠実度を確立する。ウェーブテーブルシンセサイザ装置100は、8ビットPCMデー タを支援することにより、最大スペクトル成分からのノイズ性能に対して50dB信 号を維持する。高周波数帯域についてのサンプリングレート上限は、第次1低域 フィルタの周波数特性を決定する。 図5は、好適なサンプル生成低域フィルタ(図示せず)の周波数応答を示すグ ラフである。例示の実施形態において、サンプル発生において使用されるフィル タは2048タップの有限インパルス応答(finite impulse response(FIR))フィル タであり、これは累乗された(raised)余弦ウインドウを正弦関数に適用すること により生成される。例示の具体例では5000Hzの、サンプルエディタにより特定さ れるカットオフ周波数は、フィルタリングプログラムによりアクセスされる1組 の係数を発生する。この具体例では、余弦ウインドウ内部の係数は0.42、-0.5、 および+0.08である。 第2低域フィルタ220ステップは、音の主要成分としてコード化される低周波 数帯域信号を生成する。第2低域フィルタ220ステップについてのカットオフ周 波数は幾分かは任意で選択される。カットオフ周波数のより低い選択値はより少 ないサンプルを有する低周波数帯域信号を有利に生成するが、高周波数帯域信号 をコード化するという困難さを増大させるという点で不都合である。カットオフ 周波数のより高い選択値は高周波数帯域信号をコード化するという困難さを有利 に低減するが、節約できるメモリ量はより少ないという点で不都合である。好適 な技術は、5dBを越える値で減衰される成分を高周波数帯域信号に置くカットオ フ周波数の選択ステップを最初に含む。第2低域フィルタの出力は、エンベロー プ平坦化サブステップ222における可変ゲインステージを通過させられて、一定 振幅を有する信号を生成する。 エンベロープ平坦化サブステップ222はサンプリングされた波形に人工エンベ ロープを圧縮および適用することを含む。経時的に減衰する音響は、オリジナル の音の振幅が人工的に平坦化または平滑化されなければ、通常はルーピングされ ることができる。エンベロープの適用は、最初の減衰が再作成において再現され る場合はルーピングされている非減衰音により、減衰する音響が近似されること を可能にする。 第2低域フィルタ220ステップの出力信号は、オリジナルの信号と同じ振幅で ダイナミックな範囲の多くを包含する。8ビットPCMフォーマットでコード化さ れるサンプルについては、量子化ノイズは信号強度減少につれ差し障りのあるも のとなる。量子化ノイズに関して高信号強度を維持するためには、信号の減衰が 自然処理により生成されて指数関数的減衰に近似させると仮定すれば、エンベロ ープ平坦化サブステップ222は減衰する信号を平坦化する。指数減衰近似は図1 A、図1Bおよび図2に記載の方法を用いて生成される。 エンベロープ平坦化サブステップ222はまず最初に、減衰する信号224のエンベ ロープを概算する。20ミリ秒ウインドウが審査され、各ウインドウは、そのウイ ンドウにおける最大信号エクスカーションを表すエンベロープ値を指定される。 エンベロープ平坦化サブステップ222は次に、ウインドウの最初の信号に関連し て、例えば0.02から1.0の範囲にわたる指数についての値を用いて、真の指数関 数的減衰226への最良の近似を探す。最良の指数関数的適合は再構築のために記 録される。次いで、エンベロープ平坦化サブステップ222は逆エンベロープ228を 有する音響サンプルを処理して、概ね平坦な信号を構築する。概ね平坦な信号は 記録されたエンベロープを用いてオリジナルの波形に近似するように再構築され る。 高域フィルタ230ステップは、第2低域フィルタ220ステップに相補的であり、 同一カットオフ周波数を使用する。信号の高域部分は最大信号強度を維持するよ うに増幅される。 ルーピングは、ピッチ処理された音響波形の早期部分のみが格納されて、全波 形の格納を除去する、ウェーブテーブル処理戦略である。大半のピッチ処理され た音は一時的に冗長で、ピッチ処理された音の時間ドメイン波形は、ある時間間 隔の後に反復する、または概ね反復する。副帯域コード化方法は、低域ルーピン グ強制フィルタ240ステップ、低域ルーピング250ステップ、オプションの高域ル ーピング強制フィルタ260ステップ、および高域ルーピング270ステップを含む幾 つかのルーピングステップを含む。 オプションの低域ルーピング強制フィルタ240ステップは、音をわずかに変化 させることによって周期的にならない音をコード化して、音響信号を周期的にな るように強制するのに最も好適に使用される。大半の打楽器音は決して周期的に ならない。他の音は周期的になるが、極めて長い時間間隔が経た場合のみである 。低域ルーピング強制フィルタ240ステップは第1低域フィルタ210ステップ、第 2低域フィルタ220ステップ、および高域フィルタ230ステップから生じるサンプ ル波形に適用される。低域ルーピング強制フィルタ240ステップは、好適なほぼ 周期的な波形を発生するように使用されるが、この波形はループで再現され、可 聴で差し障りのある人工物を導入することなく実施される。 非周期的波形は通常は、非調和高周波数スペクトル内容のせいで、非周期的形 態を有する。波形のルーピングが重要な期間のルーピング処理により徐々に促進 されるように、高周波数成分は低周波数成分よりも急速に減衰する。ルーピング 時間は異なる楽器および音響ごとに変わる。様々の波形についてのルーピング手 順および作用は、ウェーブテーブル合成の技術で周知である。低域ルーピング強 制フィルタ240ステップは、経時的に変化する選択性を有するくし形(comb)フィ ルタを使用して、非周期的波形からの非調和スペクトル成分の除去を加速する。 一実施形態において、ループ強制処理は手動であるが、ここでは、選択性があま りに急速に増大する場合には、くし形フィルタの動作が好適である。一般的には 、フィルタの期間が所望の音調の基本周波数の整数倍であるように選択される場 合に、低域ルーピング強制フィルタが最善に機能する。差し障りのある人工物を 導入することなく波形のルーピング処理を促進する係数が求められる。 図6を参照すると、概略ブロック回路図は低域ルーピング強制フィルタとして 使用するためのくし形フィルタ400の実施形態を例示する。ルーピング処理のコ ンセプトは、信号が反復する期間を検出するための信号のサンプリングおよび分 析に関連する。低域ルーピング強制フィルタは、信号のサンプリングおよび分析 に加えて、低域フィルタリングを含む。期間が見つかっているかどうかを判断す るのに、様々の規則が適用される。1つの規則は、波形がDCすなわちゼロ振幅 レベルと交差する2点によりこの期間が限定され、この2点における導関数が均 等と見なされる範囲内にあることである。2つ目の規則は、この期間がサンプル の基本周波数の期間に等しいか、基本周波数の期間の整数倍に等しいか、いずれ かであるということである。 くし形フィルタ400は可変ゲインを有し、期間強制フィルタとして使用される 。くし形フィルタ400は、遅延ライン402、フィードバック増幅器404、入力増幅 器406、および加算器408を含む。入力信号は入力増幅器406の入力端子に付与さ れる。遅延ライン402からのフィードバック信号は、フィードバック増幅器404の 入力端子に付与される。増幅入力信号および増幅フィードバック信号は、入力増 幅器406およびフィードバック増幅器404からそれぞれ、加算器408に付与される 。遅延ライン402は、加算器408からの増幅フィードバック信号と増幅入力信号の 和を受信する。くし形フィルタ400からの出力信号は加算器408からの出力信号で ある。フィードバック増幅器404は時変選択性ファクタαを有する。入力増幅器4 06は時変選択性ファクタα−1を有する。 くし形フィルタ400は2個の設計パラメータを有し、すなわち、サンプリング 周波数(44.1KHz)でのサンプルにおける遅延ライン402のサイズNと、時変選択 性ファクタαである。一般的には、Nは、フィルタの期間が所望の音調の基本周 波数の期間に等しくなるように選択されるか、フィルタの期間が基本周波数の整 数の期間になるように選択されるか、いずれかである。選択性ファクタαの経時 的変化は、一連のラインセグメントとしてモデル化される。選択性ファクタαは 図7に描かれており、通常はゼロで始まり、徐々に増大する。信号の調和内容の レベルは、選択性ファクタαが増大するにつれて、徐々に減少する。選択性ファ クタαの典型的な最終値は0.9である。 図4を再び参照すると、低域ルーピング250ステップは伝統的ウェーブテーブ ルサンプル発生プロセスと一致する。従来技術のウェーブテーブルサンプル発生 方法および伝統的ウェーブテーブルサンプル発生方法は全て、当該技術で公知で あるが、低域ルーピング250ステップにおいて適用可能である。これらの方法は 一般に、音響信号をサンプリングするステップ、時間ドメイン波形が反復する期 間を決定するように好適なサンプリング期間全体でサンプルをルーピングするス テップ、全期間においてサンプルを保持するステップを採用する。サンプルが実 施されると、ループの全期間を通して波形の保持されたサンプルが反復してメモ リから読み出され、処理され、音を再現するように実施される。 オプションの高域ルーピング強制フィルタ260ステップは低域ルーピング強制 フィルタ240ステップに類似するが、音の高周波数成分について実施される。高 域ルーピング強制フィルタ260ステップは、高域フィルタ230ステップの結果とし て生じるサンプル波形に適用される。高域ルーピング強制フィルタ260ステップ は、時変選択性を有する図6に示されたくし形フィルタ400を使用して、非周期 的波形からの非調和スペクトル成分の除去を加速する。くし形フィルタ400は、 サンプリング周波数でのサンプルにおける遅延ライン402のサイズNと、高周波 数帯域サンプルに好適な、時変選択性ファクタαとを使用して作動される。 高域ルーピング270ステップは低域ルーピング250ステップに類似するが、音の 高周波数成分について実施されるという点を例外とする。高域ルーピング270は 、高域ルーピング強制フィルタ260ステップの結果として生じるサンプル波形に 適用される。 成分間引き280ステップはサンプル生成のダウンサンプリング動作である。成 分間引き280ステップ以前の副帯域音声サンプルコード化ステップは、例えば44. 1KHzのオリジナルの音信号のサンプリングレートで実施されるが、それは、音響 信号の反復周期構造の生成は高サンプリングレートで促進されるからである。成 分間引き280ステップはサンプリングレートを低減してサンプルROM 106における メモリを保存し、低減サンプリングレートを有する高周波数帯域波形および低周 波数帯域波形を含む2個のルーピングされたPCM波形を発生するが、それ以外で はこれら波形は低域ルーピング250ステップおよび高域ルーピング270ステップに おいて発生されるルーピングされた信号と同一である。 ウェーブテーブルシンセサイザのための波形の調整の目標は、聞き取れないル ープを波形へ導入することである。波形の不連続性がループが導入されている場 所に挿入されない場合、ループは聞き取り不可能であり、波形の第1次導関数( 傾き)も連続であり、波形の振幅はほぼ一定であり、ループサイズは音の基本周 波数の整数倍と等しい。これらの規定に適う波形は、例えば44.1KHzのオリジナ ルの音響信号のサンプリングレートで波形が過剰サンプリングされた場合に、最 も容易に見つかる。成分間引き280ステップは、低域ルーピング250ステップお よび高域ルーピング270ステップのそれぞれで生成された低周波数帯域ループ処 理済みサンプルおよび高周波数ループ処理済みサンプルのように響く波形を生成 するのに採用されるが、実質的にはサンプルを格納するためのメモリサイズを低 減する。 成分間引き280ステップは、間引き比の決定282、間引きされた場合に整数のル ープサイズを生成するためのピッチシフト284、整数のループ端点を発生するた めのゼロ挿入286、間引き288、および仮想サンプリングレートの算出289のサブ ステップを含む。間引き比を決定するステップ282は、図10に示される補間フ ィルタの演算特性に基づいた間引き比の選択を含む。遷移帯域802の低周波数端 縁は0.4fsであり、間引き比を規定する。間引き比は最初のフィルタリングステ ップにより制約され、フィルタリング周波数は、補間フィルタと共に用いられた 場合に有効となるように選択される。 ピッチシフトおよび補間は、楽器のトーン品質(音色)がピッチのわずかな変 化と共に過激には変化しないので、メモリを保存するために使用される。従って 、ピッチシフトおよび補間は、わずかに異なるサンプリングレートで再現された 場台に、記録された波形がオリジナルの音にピッチが類似するトーンの代用にさ れ得るように使用される。大規模なピッチシフトは高ピッチビブラート音のよう なオーディオ人工物を生成するけれども、ピッチシフトおよび補間は小規模ピッ チシフトについても効果的である。 ピッチシフト284ステップは立方補間によりピッチをシフトして、間引きと同 時に整数ループサイズを生成する。ピッチシフト284は、具体例のウェーブテー ブルシンセサイザ装置100のみが整数であるループサイズを支持するので、例示 の実施形態において使用される。ウェーブテーブルシンセサイザの他の実施形態 は、ピッチシフト284ステップが省かれるように、整数ループサイズに制限され ない。一具体例においては、44.1KHzのサンプリングレートでの37個のサンプル の長さを有するループは、4の間引き比で間引きされ、9.25のループ長を生じる 。整数以外のループ長は例示のウェーブテーブルシンセサイザ装置100によって は支持されない。それゆえ、ピッチシフト284ステップは、36個のサンプルの期 間と共に44.1KHzでサンプリングされた新たな波形を生成するように、立方 補間により1.027777のファクタだけ波形の周波数をピッチシフトするために使用 される。 ゼロ挿入286ステップは、処理された波形が間引き比により完全には除算不可 能である場合に採用される。サンプル波形の最初にゼロが追加されて、間引き比 によりループ点を除算可能とするのに十分なだけ波形を移動させる。 間引き288ステップは、波形からサンプルを捨てることにより、低減されたサ ンプリング比の新たな波形を生成する。捨てられたサンプル数は、間引き比282 ステップを決定する際に決定された間引き比により決定される。例えば、ゼロ挿 入286ステップの結果として生じる36サンプルの波形は、4個毎のサンプルが維 持されて他のサンプルが捨てられるように、4の間引き比により間引きされる。 仮想サンプリングレート289ステップの計算は、再現された信号が最初のサン プリングされた信号のピッチを再作成するように、仮想サンプリングレートを調 節するために使用される。この計算は、ピッチシフト284ステップにおいて生じ る周波数変動に順応するように行われる。例えば、最初の音調が1191.89Hzの周 波数を有していて、1.027777だけ調節されて36のループサイズを生成する場合、 この音調の周波数は1225Hzにシフトされる。11025Hzのサンプリングレートを有 する再現波形が9個のサンプルのループサイズで奏でられる場合、トーンのピッ チは1225Hzである。1191.89Hzの最初の音調周波数を再作成するために、再現波 形の仮想サンプリング周波数が1.027777だけ下降調整され、その結果、新たな波 形が10727Hzの仮想サンプリングレートと9のループサイズを有し、1191.89Hzで トーンを生成する。 雑多な再構築パラメータ調節290ステップはオプションで採用されて、必要に 応じて1音調ごとについてサンプルを改善し、あるいはメモリを保存する。可変 サンプル比ウェーブテーブル合成技術は、持続音と打楽器音の両方に適用される ように、特定音響信号について様々の実現パラメータの注意深い選択を採用して 、高度な音響品質を達成する。これらの実現パラメータは、分離周波数、フィル タ周波数、サンプリング期間などを含む。 例えば、可変フィルタが手動で適用された場合は、波形は改良された再現音調 を時折生成する。別な具体例では、サンプルにおける1を越える周波数帯域によ り、または2個以上の楽器によっても単一サンプルが共有される場合は、メモリ は保存される。波形共有の特定の例示は汎用MIDI仕様にあり、そこでは、4台の ピアノが音響グランドピアノを含んで規定される。4台のピアノ全てについての 波形は同一であり、各ピアノは1以上の再構築パラメータの変動により異なる音 響を生成する。 別の具体例では、2個のパラメータが時変フィルタの初期フィルタカットオフ を制御する。1個のパラメータは1音調の力に基づいてフィルタカットオフを降 下させる。音調が穏やかに奏でられるほど、初期カットオフ周波数は低くなる。 第2のパラメータは、音調のピッチシフトの量に基づいて初期カットオフ周波数 を調節する。音調が上向きにピッチシフトされるにつれて、カットオフは低下さ れる。下向きのピッチシフトはより強い調和内容を生成する。第2パラメータの 調節は、スプリットを横断する平滑な音色遷移を促進する。 図8を参照すると、ミュージカルインスツルメントディジタルインターフェイ ス(MIDI)インタープリタ102とピッチ発生器104およびエフェクトプロセッサ10 8から構成される様々のRAMおよびROM構造体との相互接続が概略ブロック図で示 される。MIDIインタープリタ102はMIDIインタープリタROM 602に直接接続され、 さらに、MIDIインタープリタRAMエンジン606を経由してMIDIインタープリタRAM 604に接続される。MIDIインタープリタRAMエンジン606は、先入れ先出し(FIFO )610およびピッチ発生器データエンジン612を介してピッチ発生器RAM 608にデ ータを供給する。MIDIインタープリタRAMエンジン606およびピッチ発生器データ エンジン612は、エフェクト処理を制御するための制御器またはステートマシン であるのが典型的である。MIDIインタープリタRAMエンジン606は、先入れ先出し (FIFO)616およびエフェクトプロセッサデータエンジン618を介してエフェクト プロセッサRAM 614にデータを供給する。MIDIインタープリタRAMエンジン606は 、先入れ先出し(FIFO)620およびエフェクトプロセッサデータエンジン618を介 してエフェクトプロセッサRAM 614からデータを受信する。 MIDIインタープリタROM 602は、「ノートオン」コマンドの供給に応じてMIDI コマンドおよびフォーマットデータを翻訳するためにMIDIインタープリタ102が 使用する情報を供給する。MIDIインタープリタROM 602は、楽器情報、音調情報 、 オペレータ情報、およびボリューム/表現ルックアップテーブルを含む。 楽器情報は楽器に特有である。MIDIインタープリタROM 602の楽器情報セクシ ョンにおける1エントリは、ウェーブテーブルシンセサイザ装置100により支援 される各楽器に対して割り当ておよびコード化が行われる。1楽器についての楽 器情報に含まれるものは以下の通りである:(1)複数サンプルの総数または最 大数、(2)コーラスデプスデフォルト、(3)リバーブデプスデフォルト、(4 )パンレフト/ライトデフォルト、および(5)音調情報へのインデックス。複 数サンプル番号はMIDIインタープリタ102にその楽器に利用できる複数サンプル の数を知らせる。コーラスデプスデフォルトは、エフェクトプロセッサ108にお いて処理するための楽器ごとに発生されるコーラスのデフォルト量を指定する。 リバーブデプスデフォルトは、エフェクトプロセッサ108において処理するため の楽器ごとに発生されるリバーブのデフォルト量を指定する。パンレフト/ライ トデフォルトは、一般的には打楽器系(パーカッション)楽器について、デフォ ルトパン位置を指定する。音調へのインデックスは、1楽器ごとの複数サンプル に対応する音調情報の最初のエントリを指摘する。複数サンプル数パラメータは 、楽器に関連する第1エントリ後のエントリを規定する。 音調情報は複数サンプル音調ごとに固有の情報を含み、さらに以下のものを含 む:(1)最大ピッチ、(2)自然ピッチ、(3)オペレータ数、(4)エンベロー プスケーリングフラグ、(5)オペレータROM(OROM)/エフェクトROM(EROM) インデックス、および(6)時変フィルタオペレータパラメータ(FROM)インデ ックス。最大ピッチは最大MIDIキー値すなわちMIDI「ノートオン」コマンドの一 部に対応し、これに対して特定の複数サンプルが使用される。自然ピッチはMIDI キー値であり、これに対して格納されたサンプルが記録される。音調のピッチシ フトは、要求されたMIDIキー値と自然ピッチ値の間の差により決定される。オペ レータ数は、組み合わさって音調を形成する個々のオペレータまたはサンプルの 数を規定する。エンベロープスケーリングファクタは、エンベロープステートマ シン(図示せず)がピッチの変化を用いて共にエンベロープ時間定数を見積もる 。通常は、エンベロープステートマシンは、音調の自然ピッチ値からのMIDIキー 値の変動に基づいて、エンベロープ時間パラメータを見積もる。OROM/EROMイン デ ックスは、オペレータ数により規定される後続シーケンスのエントリと組み合わ さって全音調を包含する音調の第1オペレータROMエントリを指摘する。OROM/E ROMインデックスはまた、オペレータごとのエンベロープパラメータを指摘する 。FROMインデックスは、音調と関連するフィルタ情報ROM(図示せず)における 構造を指摘する。 オペレータ情報は、複数サンプルを発生するために使用される個々のオペレー タまたはサンプルに特有である情報を含む。オペレータ情報パラメータは以下の ものを含む:(1)サンプルアドレスROMインデックス、(2)自然サンプリング レート、(3)4分の1ピッチシフトフラグ、および(4)ビブラート情報ROMポイ ンタ。サンプルアドレスROMインデックスは、開始アドレス、終了アドレス、お よびループカウントを含む格納サンプルと関連するアドレスを含むサンプルアド レスROM(図示せず)におけるアドレスを指摘する。自然サンプル比は格納サン プルのオリジナルのサンプリングレートを表す。自然サンプリングレートは「ノ ートオン」コマンドの受信時のピッチシフト変化を算出するために使用される。 4分の1ピッチシフトフラグは、ピッチシフト値が半音でまたは4分の1半音で計算 されるかどうかを指定する。ビブラート情報ROMポインタは、オペレータについ てのビブラートパラメータを供給するMIDIインタープリタROM 602のビブラート 情報へのインデックスである。 ボリューム/表現ルックアップテーブルは、MIDIインタープリタ102について チャネルボリュームとチャネル表現制御を促進するためのデータを含む。 MIDIインタープリタRAM 604は、相互接続FIFOについての内部オペレータおよ び一時格納装置の状態に関する情報を格納する。MIDIインタープリタRAM 604は 、チャネル情報格納装置、オペレータ情報格納装置、ピッチ発生器FIFO格納装置 、およびエフェクトプロセッサFIFO格納装置を含む。 チャネル情報格納装置はMIDIインタープリタ102に割り当てられて、特定MIDI チャネルに関わる情報を格納する。例えば、16チャネルウェーブテーブルシンセ サイザ装置100において、チャネル情報格納装置は16個の素子を1チャネルにつ き1個ずつ含む。チャネル情報格納装置素子は、特定MIDIチャネルに楽器を指定 するチャネル楽器指定、MIDIチャネル圧コマンドにより指示された通りにエンベ ロープ発生器により音調に追加されるトレモロの量を変化させるためのチャネル 圧値、MIDIピッチ曲げ変更コマンドにより指示された通りに位相デルタ算出期間 中にピッチ発生器104により使用するためのピッチ曲げ値、および許容されたピ ッチ曲げ値の範囲の境界を規定するピッチ曲げ感度を含むパラメータを格納する 。チャネル情報格納素子はまた、ピッチ発生器104の位相デルタ算出において音 調を同調するための精の同調値および粗の同調値、パン制御器変更コマンドによ り指示された通りにエフェクトプロセッサ108のパン発生器により使用するため のパン値、およびビブラートの量を制御してチャネルで誘導する際にピッチ発生 器104により使用するための変調値を含むパラメータを格納する。チャネル情報 格納素子はまた、チャネルボリューム制御器変更コマンドにより指示された通り にエフェクトプロセッサ108のボリューム発生器においてボリュームを設定する ためのチャネルボリューム値、およびチャネル表現制御器変更コマンドに応答し てチャネルのボリュームを制御するためのチャネル表現値を含むパラメータを格 納する。 オペレータ情報格納装置はMIDIインタープリタ102に割り当てされて、オペレ ータに関わる情報を格納する。オペレータ情報格納素子は、オペレータに対する 楽器の現在の指定を規定する楽器指定、「ノートオン」コマンドの受信と同時に 新たな音調に指定するのにオペレータが利用できるかどうかを示す使用中オペレ ータ指定、および特定の音調−オペレータ指定について「ノートオフ」コマンド が発生したかどうかを示すオペレータオフフラグを含むパラメータを格納する。 楽器指定はMIDIインタープリタ102により使用され、同一MIDIチャネルで同一楽 器から既に奏でられた音調を指定する「ノートオン」コマンドの受信と同時にい ずれのオペレータを終結すべきかを決定する。オペレータオフフラグはMIDIイン タープリタ102により使用されて、新たな「ノートオン」コマンドが適応され得 るようにオペレータの終結が起ころうとしているかどうかを決定する。オペレー タ情報格納素子はまた、MIDIチャネルへのオペレータの指定を示すMIDIチャネル パラメータ、所与の音調と関連する多数のオペレータ、およびオペレータが奏で ているチャネルについての「音響持続(sustain)制御器」コマンドの受信を示す 持続フラグを含むパラメータを格納する。持続フラグは、音響持続が解除される まで、またはオペレータが無振幅状態まで減衰するまでエンベロープの減衰状態 にエンベロープステートマシンを維持するために使用される。オペレータ情報格 納素子はまた、オペレータが奏でているチャネルについて「ソステヌート制御器 」コマンドの受信を示すソステヌートフラグ、音調情報格納インデックス、およ びオペレータ情報格納インデックスを格納する。ソステヌートフラグは、「ソス テヌートオフ」コマンドが受信されるまで既存の活性オペレータが「ノートオフ 」コマンドにより終結されるべきでないことを示す。音調情報格納インデックス は指定された音調情報について音調格納装置を指摘する。オペレータ情報格納イ ンデックスは指定されたオペレータ情報についてオペレータ格納装置を指摘する 。 MIDIインタープリタ102からピッチ発生器104までデータ情報を搬送するための FIFO 610は、情報を格納し、かつ、ピッチ発生器104により使用するための完全 なメッセージを組み立てるための1個以上の素子を含む一時バッファである。完 全なメッセージは、メッセージタイプフィールド、オペレータが割り当てられた かそれともリリースされたかを示す使用中オペレータビット、いずれのオペレー タが新たなデータで更新されるべきかを指定するオペレータ数、オペレータのMI DIチャネル指定を示すMIDIチャネル数を含む。有効なメッセージタイプには、オ ペレータデータのどのような変化にも応答してオペレータ情報を更新するための 更新オペレータ情報タイプ、変調ホイールおよびピッチ曲げ値に影響するMIDIコ マンドに応答する変調ホイール変更タイプおよびピッチ曲げ変更タイプ、ならび に全サウンドオフメッセージタイプが挙げられる。メッセージはまた、ピッチシ フト情報、ビブラート選択インデックス、サンプルグラバ選択インデックス、オ ペレータごとのオリジナルのサンプリングレートの指定、および変調ホイール変 更パラメータを含む。サンプリングレート指定は、サンプルグラバ706(図9に 示される)において新たなビブラート率および位相デルタ値を算出するために使 用される。変調ホイール変更は、変調ホイール制御器変更コマンドに応答するサ ンプルグラバについて位相デルタ値を算出するために使用される。 MIDIインタープリタ102からエフェクトプロセッサ108までデータ情報を搬送す るためのFIFO 616は、情報を格納し、かつ、エフェクトプロセッサ108による使 用のために完全なメッセージを組み立てるための1個以上の素子を含む一時バッ ファである。完全なメッセージは、メッセージタイプフィールド、オペレータが 割り当てられているかまたは不活性状態にあるかを示す使用中オペレータビット 、エンベロープステートマシンがピッチシフトに基づいて所与のオペレータにつ いて時間パラメータを見積もるかどうかを決定するエンベロープスケーリングビ ット、いずれのオペレータがメッセージを受け取るべき化を指定するオペレータ 数、オペレータのMIDIチャネル割り当てを示すMIDIチャネル数、および所与のオ ペレータを終結させるノートオフコマンドまたは他のコマンドが起こったかどう かを判断するためのオペレータオフフラグを含む。有効メッセージタイプは、チ ャネルボリューム、パン変更、リバーブデプス変更、コーラスデプス変更、音響 持続変更、ソステヌート変更、プログラム変更、ノートオン、ノートオフ、ピッ チ更新、全制御器りセット、オペレータスティール、全ノートオフ、および全サ ウンドオフの各メッセージである。メッセージはまた、エンベロープスケーリン グを処理するためのエンベロープステートマシンにより使用されるピッチシフト 情報、最大振幅値を算出するためにエンベロープステートマシンにより使用され る新たなオペレータの割り当てをメッセージタイプが要求した場合の「ノートオ ンベロシティ」、およびメッセージタイプが新たなMIDIパン制御器変更コマンド である場合のパン値を含む。メッセージは、新たなMIDIチャネルボリュームコマ ンドが受信された場合のチャネルボリューム情報、新たなMIDIコーラスデプスコ マ冫ドが受信された場合のコーラスデプス情報、および新たなMIDIリバーブコマ ンドが受信された場合のリバーブデプス情報を更に含む。メッセージ中の追加情 報は、フィルタステートマシン(図示せず)により使用するためのフィルタ情報 へのインデックスと、エンベロープステートマシンにより使用するためのエンベ ロープ情報へのインデックスを含む。 FIFO 620は、「オペレータスティール」状態を判定するために使用されるレジ スタである。各フレームにおいて、エフェクトプロセッサ108は全音響への最小 寄与物を判定し、FIFO 620を介してMIDIインタープリタ102に最小寄与物の数を 送信する。新たな「ノートオン」コマンドが受信される一方で、全てのオペレー タが割り当てられた場合、MIDIインタープリタ102は複数フレームのうちで1個 のオペレータまたは複数オペレータを必要に応じてスティールし、新たなノート を割り当てる。MIDIインタープリタ102がオペレータをスティールした場合、メ ッセージはFIFO 616を介して送られ、エフェクトプロセッサ108に状態を知らせ る。 異なる実施形態において、音調のボリューム、オペレータのエンベロープ、他 のオペレータのゲインと比較した場合のオペレータの相対的ゲイン、他の楽器ま たは音響全てに関する楽器の音の大きさ、およびオペレータの表現を含む1個以 上のパラメータの分析により、エフェクトプロセッサ108はオペレータの音調へ の寄与を判定する。表現は音調のボリュームに匹敵するが、静的な音の大きさに 比して、トレモロを含む、音調の動的な振る舞いにより一層関わりがある。一実 施形態においては、音調のボリューム、オペレータのエンベロープ、および他の オペレータのゲインと比較した場合のオペレータの相対的ゲインを監視すること により、エフェクトプロセッサ108は音調の寄与を評価する。エフェクトプロセ ッサ108は、サンプリング周波数における1期間ごとの64個のオペレータの寄与 を評価し、MIDIインタープリタ102へ転送するためのFIFO 620への寄与値を書き 込む。MIDIインタープリタ102は最小寄与物オペレータを終結し、新たなオペレ ータを活性状態にする。 図9を参照すると、概略ブロック図は、未加工サンプルがサンプルROM 106か ら読み出され、処理され、更にエフェクトプロセッサ108に送られるレートを決 定するピッチ発生器104を図示する。1実施形態において、出力データ率は44.1K Hzの各フレームごとに64個のサンプルで、1オペレータあたり1サンプルである 。64個のオペレータについての64個のサンプルが本質的に並列に処理される。各 音声音調は一般に2個のオペレータすなわち高周波数帯域オペレータと低周波数 帯域オペレータへとコード化され、これらは同時に処理されて、2個のウェーブ テーブルエンジンが事実上2個のサンプルを独立して同時に処理するようにする 。 ピッチ発生器104は3個の主要計算エンジンすなわち、ビブラートステートマ シン702、サンプルグラバ704、およびサンプリングレート変換器706を含む。ビ ブラートステートマシン702およびピッチ発生器データエンジン612は相互接続さ れ、制御情報およびデータを相互に通信する。ビブラートが選択されると、ビブ ラートステートマシン702は、未加工サンプルがサンプルROM 106から読み出され る前にわずかな量だけピッチ位相を修正する。ビブラートステートマシン702は また、ピッチ発生器ROMデータエンジン708を介してピッチ発生器ROM 707からデ ータを受信する。ピッチ発生器データエンジン612およびピッチ発生器ROMデータ エンジン708はデータ格納装置へのアクセスを制御するための制御器またはステ ートマシンである。 サンプルグラバ704およびピッチ発生器データエンジン612はデータおよび制御 信号を交換するように相互接続される。サンプルグラバ704はサンプルROM 106か らの未加工サンプルデータとピッチ発生器ROM 707からのデータを受信する。サ ンプルグラバ704はFIFO 710を介してサンプリングレート変換器706にデータを通 信する。サンプルグラバ704はピッチ発生器RAM 608から現在のサンプルROMアド レスを読み出し、後で論じられる態様でビブラートステートマシン702により決 定される修正された位相デルタを加算し、新たなサンプルが読み出されるべきか どうかを判定する。この判定は位相デルタ加算の結果に従って行われる。位相デ ルタ加算によりアドレスの整数部分が増加される場合は、サンプルグラバ704は 次のサンプルを読み出し、例えば深さ12のFIFOについて先の11個のサンプルおよ び新たなサンプルを保持する、ピッチ発生器FIFO 710の適切なFIFOにサンプルを 書き込む。 サンプリングレート変換器706はサンプルROM 106から獲得されたPCM波形デー タを補間する。格納されたPCM波形は、サンプルの周波数内容に依存して、低周 波数成分を含んでいようと高周波数成分を含んでいようと、可能な限り低いレー トでサンプリングされる。通常の線形補間技術は信号を十分に再現し損なう。音 声信号の再作成を実質的に改善するために、サンプリングレート変換器706は256 の比率だけ過剰サンプリングされる12タップの補間フィルタを実装する。図10 は、好適な12タップの補間フィルタの周波数応答を例示するグラフである。 サンプリングレート変換器706はピッチ発生器FIFO 710を介してサンプルグラ バ704に接続され、サンプリングレート変換器フィルタROM 712からデータを受信 する。サンプリングレート変換器706はサンプリングレート変換器出力データバ ッファ714およびエフェクトプロセッサデータエンジン618を介してエフェクトプ ロセッサRAM 614にデータを送る。サンプリングレート変換器706はピッチ発生器 FIFO 710の各FIFOを1度に1フレーム(例えば、44.1KHz)ずつ読み出し、ピッ チ発生器FIFO 710における12個のサンプルについてのサンプリングレート変換動 作を実施して、サンプルを指定されたフレームレート(この例では44.1KHz)に 補間する。補間されたサンプルは、エフェクトプロセッサ108による後続処理の ために、エフェクトプロセッサRAM 614に格納される。 ビブラートステートマシン702は、音調が演奏されている間に、ビブラートま たはピッチ変動エフェクトを音調に選択的に追加する。ミュージシャンは音に豊 かさを加えるために、ピッチまたは強度のわずかな半周期的変化をつけることが 多い。ピッチのわずかな変更はビブラートと称される。強度のわずかな変更はト レモロと称される。トランペットのような楽器によっては、自然にビブラートを 含む。変調ホイール(図示せず)も楽器のビブラートデプスを制御する。2種の ビブラートが図示の実施形態において実現される。第1タイプのビブラートは楽 器の初期ピッチシフトとして実現される。ビブラートは複数のサイクルにわたる ピッチ定着として生じる。ある実現例において、結果的にビブラートを生じるピ ッチシフト処理は格納サンプルに記録される。第2タイプのビブラートは、ピッ チ発生器ROM 707のビブラートセクションに格納されるパラメータを使って実現 され、これは選択された遅延の後にピッチ変動を発生しながら始まる。誘引され るピッチシフトの量、開始時間、および終了時間はピッチ発生器ROM 707のビブ ラートセクションに格納される。ある実施形態において、ビブラートが自然なサ ンプルピッチに迫加される割合を制御する波形は、MIDIインタープリタROM 602 におけるビブラート情報内のビブラートルックアップテーブルに格納される。 サンプルグラバ704は算出位相デルタ値を用いて、サンプルROM 106における現 在のアドレスを増加し、新たなサンプルがサンプルROM 106から読み出され、ピ ッチ発生器FIFO 710に書き込まれるべきかどうかを判定する。図11はサンプル グラバ704の動作を図示するフローチャートである。新たなフレームが始まると (902)、サンプルグラバ704はピッチ発生器RAM 608からサンプルアドレスフラ グ(SAF)値904を読み出す。SAF値は、先のフレームアドレスの増加により、新 たなサンプルが読み出されるべきかどうかをサンプルグラバ704に伝える。SAF値 がゼロである場合、サンプルグラバ704は第2処理フェーズ940に移行する。SAF 値がゼロでない場合には、サンプルグラバ704は、サンプルへのポインタとして 現在のアドレスを用いて、サンプルROM106から次のサンプルを読み出し(906) 、ピッチ発生器FIFO 710にサンプルを書き込む。ROM/RAM帯域幅制限により、サ ンプルグラバ704だけが1オペレータにつき1フレームにつき2個までのサンプ ルを移動させる。サンプルが移動させられた後は、サンプルアドレスの整数部分 が増加され(908)、ピッチ発生器RAM 608に戻って書き込まれる。 サンプルが移動させられると、サンプルグラバ704はサンプルROM 106における アドレスを増加し(910)、必要ならば、次のフレームについてSAFフラグ912を セットする。オペレータについての位相デルタは、ビブラートステートマシン70 2が位相デルタに対して何らかの修正を実施した後にピッチ発生器RAM 608から読 み出され、現在のサンプルアドレス916に追加される。位相デルタにより少なく とも1整数値だけアドレスが増加される場合は、SAFは非ゼロ値を含み、更に次 のフレームの期間は、新たなサンプルがサンプルROM 106からピッチ発生器FIFO 710に複写される。増加された整数アドレスはこの時点では格納されない。サン プルグラバ704は、サンプルをサンプルROM 106からピッチ発生器FIFO 710まで移 動させた後の次のフレーム期間に、アドレスの整数部分を増加し、新たな値はピ ッチ発生器RAM 608に戻って格納される。 サンプリングレート変換器706はピッチ発生器FIFO 710における各オペレータ についてデータを受信し、そのデータに関してフィルタリング動作を実施して、 例えば44.1KHzの規定のレートまでオリジナルのサンプリングレートを変換する 。各クロックサイクルの間は、サンプリングレート変換器706はピッチ発生器FIF O 710からサンプルを読み出し、サンプリングレート変換器フィルタROM 712から フィルタ係数を読み出し、サンプルをフィルタ係数倍する。乗算結果の積はピッ チ発生器FIFO 710から全てのサンプル(例えば、FIFOアドレスで始まる12個のサ ンプル)について累算される。累算結果の積はサンプリングレート変換器706内 の累算器(図示せず)から移動させられ、更に、サンプリングレート変換器706 の出力バッファ(図示せず)に移動させられ、累算器はクリアされる。サンプ リングレート変換器706は、ピッチ発生器FIFO 710全て(例えば、64個のFIFO) が処理されるまで、この処理を反復する。 実施形態において、フィルタ係数はオペレータ多相値により決定される。サン プリングレート変換器フィルタROM 712は256組の12タップフィルタ係数として編 成される。サンプルグラバ704多相は8ビット値であり、オペレータサンプルア ドレスの分数部分の最上位8ビットに等しい。オペレータサンプルアドレスはイ ンデックスとして使用され、サンプリングレート変換器フィルタROM 712におけ る256組の係数から1組の係数を選択する。 ピッチ発生器ROM 707は、サンプルアドレスROM、ビブラートデフォルトパラメ ータ格納装置、およびビブラートエンベロープパラメータ格納装置を含む3個の データ構造体を含む。サンプルアドレスROMは、特定複数サンプルについての第 1未加工サンプルの開始アドレス位置、サンプルグラバ704がいつ終了されるか を判定するために使用される未加工サンプルの終了アドレス、およびサンプルル ープ処理期間中に終了アドレスから開始アドレスまで逆方向にカウントを行うた めのループ減算カウントを各サンプルごとに含むサンプルROM 106に格納された 複数サンプルについてのサンプルアドレスを格納する。 ビブラートデフォルトパラメータ格納装置は、MIDIインタープリタRAM 604に おける各オペレータ情報格納装置に対応するパラメータを保持する。ビブラート デフォルトパラメータは、ビブラートが初期ピッチシフトとしてまたは自然なビ ブラートとして実現されるかを指定するモードフラグと、オペレータに加算され るまたはそこから減算されるピッチ変化の量を指定するtントパラメータとを含 む。2種のビブラートは、時変周期的振動実現およびピッチランプまたはピッチ シフト実現を含めて実現される。ビブラートデフォルトパラメータは、ビブラー トが両方のタイプのビブラートについていつ開始されたかを指定する開始時間を 含む。ビブラートデフォルトパラメータはまた、時変周期的ビブラート実現につ いてビブラートがいつ終了されるべきかを指定する終了時間か、ピッチシフトビ ブラート実現についてピッチが自然なピッチまで上昇させられるべき割合か、い ずれかを含む。 ビブラートエンベロープパラメータ格納装置は、サンプルグラバ704の位相デ ルタパラメータを修正するビブラートステートマシン702により使用するための エンベロープ形状を保持する。 ピッチ発生器RAM 608は、ビブラートステートマシン702とサンプルグラバ704 によりそれぞれ使用するためのビブラートステートマシン情報および変調値を含 む大型ブロックのランダムアクセスメモリである。ビブラートステートマシン情 報は、各オペレータについてサンプルアドレス値を増加するための位相デルタパ ラメータ、最近の位相デルタパラメータを保持するための前の位相デルタ、およ びオペレータに加算するための初期位相デルタを保持して初期ピッチシフトビブ ラートを実現するための開始位相デルタを含む。ビブラートステートマシン情報 はまた、位相デルタを算出するためのオリジナルのサンプリングレート、自然な ビブラート実現のための最大の位相デルタを規定する位相デプス、要求されたキ ー値を達成するためにピッチシフトの量を示すピッチシフト半音およびピッチシ フトセント値を含む。ビブラートステートマシン情報は、64個のオペレータの各 々についてビブラートステートマシン702の現在の状熊を格納するビブラート状 熊パラメータ、ビブラートが始まる開始時間を指定する64期間にわたるサンプリ ング周波数での1カウントのサイクルを格納するためのビブラートカウント、各 フレームについて位相デルタに加算されるべきデルタ値を保持するビブラートデ ルタパラメータを更に含む。ビブラートステートマシン情報としては、使用中オ ペレータフラグ、或る処理がデータを発生している対象のMIDIチャネルを示すMI DIチャネル識別子、およびMIDIインタープリタROM 602のビブラート情報へのイ ンデックスおよびサンプルグラバ情報へのインデックスが挙げられる。 変調値は、MIDIインタープリタ102によりMIDIインタープリタRAM 604のピッチ 発生器FIFOに書き込まれるチャネル変調値を格納する。 サンプリングレート変換器706は、ランダムアクセスメモリRAMすなわちピッチ 発生器RAM 608を含み、これはサンプルROM 106におけるサンプルをピッチ発生器 FIFO 710にアドレス指定するための現在のサンプルアドレスを格納する。サンプ リングレート変換器RAMはまた、各オペレータについてサンプルアドレスの分数 部分を保持する多相パラメータを含む。全てのサンプリング周波数期間において 、全てのオペレータについて、サンプリングレート変換器706は多相値をサンプ ルR OM 106への整数アドレスに加算し、各フレームについての位相デルタ値を加算し 、分数結果を多相格納装置に格納する。RAMはまた、サンプルグラバ704により算 出されるサンプルアドレスと最初のサンプルアドレス値との間の差を保持するた めのサンプル前進(advance)フラグを保持する。後続フレームにおいて、サンプ リングレート変換器706はサンプル前進フラグを読み出し、これはサンプルROM 1 06からピッチ発生器FIFO 710まで移動させられるべきサンプル数を決定する。RA Mはまた、ピッチ発生器FIFO 710における最新サンプルの位置をサンプリングレ ート変換器706に知らせるFIFOアドレスを含む。 図12を参照して、ピッチ発生器FIFO 710の構造を概略ブロック図に示す。図 示の実施形態では、ピッチ発生器FIFO 710は64個のオペレータのうち各オペレー タについて最近のサンプルと先行の11個のサンプルを保持する。ピッチ発生器FI FO 710は64個のバッファ1002および1004として編成され、各バッファは12個の8 ビットワードである。サンプリングレート変換器706は、1クロックサイクルあ たり1FIFOワードを読み出し、各フレームにおいて768回の読み出しが実施され る。サンプルグラバ704は各フレーム期間中はピッチ発生器FIFO 710に最大128ワ ードを書き込む。従って、ピッチ発生器FIFO 710は2組のアドレスデコーダ1006 および1008を有し、1組はバッファ1002の上半分のため、1組はバッファ1004の 下半分のためのものである。サンプルグラバ704およびサンプリングレート変換 器706のバッファアクセスが互いに異相にされるように、サンプルグラバ704およ びサンプリングレート変換器706は、いつでもバッファ1002およびバッファ1004 のうち、常に互いに異なるバッファにアクセスする。 動作の最初の位相の期間中は、バッファ1002のFIFO 0〜31が32個のオペレータ の処理のためにサンプルグラバ704により書き込まれる。また、第1位相の期間 中、サンプリングレート変換器706はバッファ1004のうちFIFO 32〜63から読み出 しを行う。第2位相の期間中は、サンプルグラバ704はバッファ1004のFIFO 32〜 63を更新し、サンプリングレート変換器706はバッファ1002のうちFIFO 0〜31か ら読み出しを行う。バッファアクセスは、位相に従って入力アドレスを多重化す るアドレス多重化装置1010および1012ならびに位相に従ってサンプリングレート 変換器706に渡されるべき出力を判定する出力デコーダ1014により制御される。 再び図9を参照すると、サンプリングレート変換器出力データバッファ714は 、ピッチ発生器104をエフェクトプロセッサ108に同期させるために使用される格 納装置RAMである。サンプリングレート変換器706は、1フレームあたり64サンプ ルのレートでサンプリングレート変換器出力データバッファ714にデータを書き 込む。エフェクトプロセッサ108は、処理されるべき各値として値を読み出す。 エフェクトプロセッサ108およびピッチ発生器104はそれぞれ、同じレートで値の 読み出しおよび書き込みを行う。サンプリングレート変換器出力データバッファ 714は2個のバッファ(図示せず)を含み、一方はピッチ発生器104によりフレー ムに書き込まれ、次のフレームの最初で第2のバッファに複写される。第2バッ ファはエフェクトプロセッサ108により読み出される。この態様で、データは完 全なフレームについてエフェクトプロセッサ108およびピッチ発生器104に関連し て一定に保持される。 図13を参照すると、概略ブロック図はエフェクトプロセッサ108の実施形態 を図示する。エフェクトプロセッサ108はサンプリングレート変換器708からのサ ンプルにアクセスし、サンプルから発生された音調に特殊効果を追加する。エフ ェクトプロセッサ108は、オペレータサンプルを向上させる効果およびMIDIコマ ンドを実行する効果を含め、オペレータのサンプルに多くの種類のエフェクトを 追加する。エフェクトプロセッサ108は2個の主要サブセクションを有するとし て描かれており、第1のサブセクション1102は各MIDIチャネル間で共通するエフ ェクトを処理するためのもので、第2サブセクション1104は個別のMIDIチャネル で発生されるエフェクトを処理するためのものである。第1サブセクション1102 エフェクトおよび第2サブセクション1104エフェクトの両方がオペレータに基づ いて処理される。第1サブセクション1102および第2サブセクション1104は、エ フェクトプロセッサROM1106に保持されたデータを用いてエフェクトを処理する 。 第1サブセクション1102は、全てのエフェクトが1フレームあたり64回処理さ れてフレーム内の各オペレータを扱うように、オペレータに基づいてエフェクト を処理する。各MIDIチャネル間で共通するエフェクトとしては、ランダムノイズ 発生、エンベロープ発生、相対ゲイン、およびオペレータ強化のための時変フィ ルタ処理が挙げられる。第2サブセクション1104は、チャネルボリューム、パン レフトおよびパンライト、コーラス、ならびにリバーブを含む、複数MIDIチャネ ルで発生されるエフェクトを処理する。第2サブセクション1104はまた、処理に ついての16個のMIDIチャネルパラメータを用いて、1フレームあたり64回、エフ ェクトを処理する。 第1サブセクション1102は、ホワイトノイズ発生、時変フィルタ処理、および エンベロープ発生を含むエフエクトを処理するステートマシンである。第1サブ セクション1102ノイズ発生器は時変フィルタに実装され、可能化されると、音調 の演奏期間中はランダムホワイトノイズを発生する。ホワイトノイズは、海辺の 音のようなエフェクトを生成するために使用される。一実施形態において、第1 サブセクション1102ノイズ発生器は、図14に描かれる線形フィードバックシフ トレジスタ(LFSR)1200を用いて実現される。線形フィードバックシフトレジス タ(LFSR)1200は複数のカスケード式フリップフロップを含む。12個のカスケ ード式フリップフロップは、初期値に初期化される12ビットランダム数レジスタ 1202を形成する。カスケード式フリップフロップは1サイクルごとに1度、左に シフトされる。線形フィードバックシフトレジスタ(LFSR)1200は高位ビット12 04、14ビット中位レジスタ1206、3ビット下位レジスタ1208、第1排他OR(EXO R)ゲート1210、および第2排他OR(EXOR)ゲート1212を含む。12ビットラン ダム数レジスタ1202は、上位ビット1204および中位レジスタ1206の最上位11ビッ トを含む。第IEXORゲート1210は14ビット中位レジスタ1206の最上位ビットを第 1入力端で受け、上位ビット1204を第2入力端で受け、上位ビット1204に転送さ れるEXOR結果を発生する。第2EXORゲート1212は3ビット下位レジスタ1208の最 上位ビットを第1入力端で受け、上位ビット1204を第2入力端で受け、14ビット 中位レジスタ1202の最下位ビットに転送されるEXOR結果を発生する。 図15を参照すると、第1サブセクション1102時変フィルタ処理は、一実施形 態においては、状態スペースフィルタを用いて実現される。例示の状態スペース フィルタは、一般に低域フィルタとして使用される二次無限入力応答(IIR)フ ィルタである。時変フィルタは、音調の期間が増大するにつれて、低域フィルタ のカットオフ周波数を低下させるために実装される。一般に、音調が長く保持さ れるほど、鮮明さは一層失われ、というのも、高周波数音調情報がより少ないエ ネルギーを有して、低周波数内容との比較において急速に散逸するからである。 時変フィルタが有利なのは、減衰する自然音が低周波数よりは高周波数でより 急速な減衰を有するからである。ルーピング技術および波形の人工レベル化を利 用して生成される減衰音は、経時的に徐々により低い周波数で音響信号をフィル タリングすることにより、より現実的に再現される。ループは、トーン変動が維 持される間は、波形のより早期に有利に生成される。 第1サブセクション1102エンベロープ発生器は、オペレータのためのエンベロ ープを発生する。図16は、音調信号に適用するための対数スケールに関して振 幅エンベロープ関数1400を描いたグラフである。振幅エンベロープ関数1400は、 アタック段1402、保持段1404初期不自然減衰段1406、自然減衰段1408、およびリ リース段1410を含む5段を有する。アタック段1402は、振幅がゼロレベルから最 大規定レベルまで急速に増大する、短い期間を有する。アタック段1402に続く保 持段1404は、選択された短期間の間、振幅を一定に保持するが、この選択された 期間はゼロ期間であってもよい。保持段1404に続く不自然減衰段1406は、サンプ ルに記録される不自然ゲインを除去するように課される。サンプルは全スケール 振幅で記録および格納される。不自然な減衰段1406は、適切な楽器を演奏するた めに自然なレベルまで振幅を低減する。不自然な減衰段1406に続く自然な減衰段 1408は、振幅エンベロープ関数1400の全段の最長期間を有するのが典型的である 。自然な減衰段1408の期間中、音調振幅は実際のミュージカル信号の態様でゆっ くりと漸減する。しかし、ある音調はリリースされるまで減衰しない。自然減衰 ステートを入力する代わりに、これらの音調は振幅がわずかに振動するトレモロ 状態に進み、トレモロ効果を引き起こす。第1サブセクション1102ステートマシ ンは、「ノートオフ」メッセージが受信されるとリリース段1410に入り、音調を 急速に終結させるが、自然な態様で行われる。リリース段1410の期間中は、振幅 は現在のレベルからゼロレベルまで急速に低減される。 第1サブセクション1102エンベロープ発生器は音調についての規定されたキー ベロシティパラメータを使用して、エンベロープの形態を決定する。より大きな キーベロシティはキーをより強く打ったことを示し、その結果、エンベロープの 振幅は増大され、演奏された音調振幅はより大きい。 演奏された音調の振幅は第1サブセクション1102相対ゲイン動作に主とじて依 存する。相対ゲインは計算され、他のオペレータエンベロープ情報と共にエフェ クトROM(EROM)メモリに格納される。相対ゲインパラメータは、楽器の相対ボ リューム、1楽器についての音調の相対ボリューム、および組み合わさって音調 を形成する他のオペレータに関連するオペレータについての相対ボリュームの組 み合わせである。 第1サブセクション1102は、共有相対ゲイン乗算器を用いて、単一ステートマ シン内で多くの複数オペレータベースの処理動作を実施する。従って、第1サブ セクション1102ステートマシン全体が共通乗算器を時分割する。 オペレータゲインが第1サブセクション1102により計算されると、第2サブセ クション1104ステートマシンは個別オペレータ出力信号へのチャネル特殊効果を 処理する。チャネル特殊効果としては、チャネルボリューム、レフト/ライトパ ン、コーラス、およびリバーブが挙げられる。従って、図17を参照すると、第 2サブセクション1104ステートマシンは、チャネルボリュームステートマシン15 02、パンステートマシン1504、コーラスステートマシン1506、コーラスエンジン 1508、リバーブステートマシン1510、およびリバーブエンジン1512を含む。 チャネルボリュームステートマシン1502はチャネルボリュームパラメータをま ず処理および格納するが、それは、他の残余のエフェクトが相対ボリュームパラ メータを用いて並列に計算されるからである。一実施形態においては、チャネル ボリュームは、以下に示す等式に従って、MIDIチャネルボリュームコマンドの線 形範囲で相対値による乗算を利用して、単純に計算される。 ここでは、デフォルトEXPRESSION_valueは127に等しい。 ボリューム決定に続いてチャネルボリュームステートマシン1502により実施さ れる第1エフェクトは、パンステートマシン1504を用いたパンエフェクトである 。 MIDIパンコマンドは左にパンする量を特定し、余りは右にパンする量を特定する 。例えば、0ないし127間でのパン範囲では、64の値が中心位置パンを示す。127 という値は強いライト(右)パンを示し、0という値は強いレフト(左)パンを 示す。図示の実施形態においては、左および右の積算は、累乗を一定に保つよう に最初の量にアクセスするよりはむしろ、平方根の量を保持するルックアップテ ーブル値にアクセスすることにより実施される。次の等式により、「イコール− 累乗」パンスケーリングについての等式が示される。 現実の被乗数は、パン値に基づくエフェクトプロセッサROMパン定数から読み出 される。レフトパン値およびライトパン値は計算され、出力累算器に送信される 。メロデイ楽器チャネルにおいて、受けた値が特定チャネルに関して選択された 楽器についてのデフォルト値を置換するように、PAN_valueは絶対的である。打 楽器チャネルでは、PAN_valueは個々の打楽器音の各々についてのデフォルト値 に相対的である。 エフェクトプロセッサ108はエフェクトプロセッサROM 1106に格納された複数 組のデフォルトパラメータにアクセスしてエフェクトを処理する。エフェクトプ ロセッサROM 1106は、チャネルボリュームステートマシン1502、パンステートマ シン1504、コーラスステートマシン1506、およびリバーブステートマシン1510に ついての共有リードオンリーメモリである。エフェクトプロセッサROM 1106に保 持されたデフォルトパラメータとしては、時変フィルタオペレータパラメータ( FROM)、エンベロープ発生器オベレータパラメータ(EROM)、エンベロープスケ ーリングパラメータ、コーラス定数およびリバーブ定数、パン被乗数定数、ト レモロエンベロープ形状定数、およびキーベロシティ定数が挙げられる。 時変フィルタオペレータパラメータ(FROM)は、典型的には高周波数情報を追 加または除去することにより、より自然なリアリズムを楽器のトーンに追加する ために使用される情報を含む。時変フィルタオペレータパラメータ(FROM)は、 初期周波数、周波数シフト値、フィルタ減衰、活性開始時間、減衰時間カウント 、初期ベロシティフィルタシフトカウント、ピッチシフトフィルタシフトカウン ト、およびQ値を含む。初期周波数はフィルタの初期カットオフ周波数を設定す る。周波数シフト値およびフィルタ減衰は周波数カットオフ減少の割合を制御す る。活性開始時間は、フィルタステートマシン(図示せず)が、音調が活性状態 になった後でデータのフィルタリングを開始するように待機する期間を決定する 。減衰時間カウントは、一定周波数で停止する前にフィルタが継続して減衰する 期間を制御する。初期ベロシティフィルタシフトカウント(IVFSC)は音調の初 期ベロシティに基づいてフィルタカットオフ周波数が調節される量を制御する。 一実施形態においては、初期ベロシティフィルタシフトカウント(IVFSC)は、 次の等式に従って、初期カットオフ周波数を調節する。 ピッチシフトフィルタシフトカウント(PSFSC)は、音調の初期ピッチシフト に基づいてフィルタカットオフ周波数が調節される量を制御する。一実施形態に おいて、ピッチシフトフィルタシフトカウント(PSFSC)は、次の等式に従って 、初期カットオフ周波数を調節する。 Qシフトパラメータはフィルタカットオフの鋭さを決定し、最終出力信号を計 算する前に高域ファクタをシフトするために、フィルタ計算の際に使用される。 エンベロープ発生器オペレータパラメータ(EROM)は、各オペレータがその段 についてのエンベロープおよび振幅デルタの各状態に留まる時間長を規定する。 エンベロープ発生器オペレータパラメータ(EROM)としては、アタックタイプ、 アタックデルタ、時間保持、トレモロデプス、不自然減衰デルタ、不自然減衰時 間カウント、自然減衰デルタ、リリースデルタ、オペレータゲイン、およびノイ ズゲインが挙げられる。アタックタイプはアタックのタイプを決定する。一実施 形態において、アタックタイプは、S字状/二重双曲線アタック、基本線形傾斜 アタック、および逆指数関数的アタックの中から選択される。アタックデルタは 、アタックの振幅が増加するレートを決定する。時間保持は、保持段1404の期間 を決定する。トレモロデプスは、エンベロープに追加するように振幅変調の量を 決定して、トレモロエフェクトを生成する。不自然減衰デルタは、不自然な減衰 段1406の期間中にエンベロープ振幅が低減される量を決定する。不自然減衰時間 カウントは、不自然減衰段1406の期間を決定する。自然減衰デルタは、自然減衰 段1408の期間中にエンベロープ振幅が低減される量を設定する。リリースデルタ は、リリース段1410の期間中のエンベロープ減衰のレートを設定する。オペレー タゲインは、他のオペレータと比較して、オペレータについての相対ゲイン値を 設定する。オペレータゲインは、最大エンベロープ振幅値を決定するために使用 される。ノイズゲインは、オペレータに追加するようにホワイトノイズの量を決 定する。 エンベロープスケーリングパラメータとしては、2個のパラメータ、時間ファ クタ、および割合ファクタが挙げられる。時間ファクタおよび割合ファクタは、 サンプルがオリジナルのサンプリングの時間からピッチシフトされた量に基づい て、格納されたEROMパラメータを修正するために使用される。ピッチがシフトダ ウンされた場合、時間ファクタがスケーリングされ、レートスケールリングが減 衰率を減少させている間に時定数を増大させる。逆に、ピッチがより高くシフト される場合、時間ファクタが見積もられ、レートスケーリングが減衰率を増大さ せる間に時定数を減少させる。 トレモロエンベロープ形状定数は、音調の持続段の期間中にトレモロを発生す るように、エンベロープステートマシン(図示せず)により使用される。トレモ ロエンベロープ形状は、トレモロ波形の形状を形成する複数の定数を含む。 キーベロシティ定数は、最大振幅等式の一部として、エンベロープ発生器によ り使用される。キーベロシティ値は、定数の被乗数を検索するために、エンベロ ープ発生器ルックアップROMにインデックスを付す。 エフェクトプロセッサRAM 614はエフェクトプロセッサ108により使用されるス クラッチパッドRAMであり、時変フィルタパラメータ、エンベロープ発生器パラ メータ、オペレータ制御パラメータ、チャネル制御パラメータ、リバーブバッフ ァ、およびコーラスRAMを含む。時変フィルタパラメータとしては、フィルタ状 態、カットオフ周波数、カットオフ周波数シフト値、フィルタ時間カウント、フ ィルタデルタ、ピッチシフト半音パラメータ、遅延D1、遅延D2、および時変フィ ルタROMインデックスが挙げられる。フィルタ状態は、各オペレータについての フィルタステートマシンの現在の状態を保持する。カットオフ周波数はフィルタ の初期カットオフ周波数である。カットオフ周波数シフト値は、指数関数的遅延 の近似に際して使用するための指数である。指数減少の近似は図1A、図1Bお よび図2に示される方法を用いて生成される。フィルタ時間カウントは、データ を変えるためにフィルタが適用される期間を制御する。フィルタデルタは、指数 関数的遅延近似に際して適用されるような、カットオフ周波数の経時的変化であ る。ピッチシフト半音パラメータは、要求された音調を供給するように最初のサ ンプルがシフトされるピッチシフトの量である。遅延D1および遅延D2は、無限イ ンパルス応答(IIR)フィルタの第1遅延要素および第2遅延要素を指定する。 時変フィルタROMインデックスは、オペレータについての時変フィルタROMへのイ ンデックスである。 エンベロープ発生器パラメータは、データについて振幅乗数を計算し、かつ、 エンベロープの各段について時間をカウントするために、エンベロープ発生器ス テートマシンを使用する。エンベロープ発生器パラメータRAMは、エンベロープ 状態、エンベロープシフト値、エンベロープデルタ、エンベロープ時間カウント 、現在のエンベロープ振幅、アタックタイプ、およびエンベロープスケーリング パラメータを含む。エンベロープ状態は、各オペレータについてエンベロープス テ ートマシンの現在の状態を指定する。エンベロープシフト値は、エンベロープ振 幅計算について現在のシフト値を含む。エンベロープデルタは現在のエンベロー プ遅延振幅デルタを含み、エンベロープステートマシンが状態を変更した場合に 更新される。エンベロープデルタは各フレーム時間を読み出し、現在のエンベロ ープ振幅値を更新する。エンベロープ時間カウントは、0までカウントダウンす るカウントダウン値を保持し、ゼロカウントで、エンベロープステートマシンに 状態を変えさせる。エンベロープ時間カウントは、ステートマシンが状態を変え た時に書き込まれ、各フレームごとに読み出しおよび書き込みが行われる。エン ベロープ時間カウントは各フレームについて書き込まれるが、サンプリング周波 数の周期は64で除算される。エンベロープフレームカウントはフレームごとに書 き込まれるが、フレームごとに修正される訳ではない。最大エンベロープ振幅は 、新たなオペレータが割り当てられ、かつ、キーべロシティ、アタックタイプ、 およびアタックデルタから得られた場合に算出される。エンベロープスケーリン グフラグは、エンベロープROMからエフェクトプロセッサRAM 614への複写期間中 に時間および割合定数がスケーリングされるかどうかをエンベロープステートマ シンに知らせる。 オペレータ制御パラメータはエフェクトプロセッサ108により使用され、オペ レータを処理するために各オペレータに関連するデータを保持する。オペレータ 制御パラメータとしては、使用中オペレータフラグ、オペレータオフフラグ、オ ペレータオフソステヌートフラグ、MIDIチャネル数、キーオンベロシティ、オペ レータゲイン、ノイズゲイン、オペレータ振幅、リバーブデプス、パン値、コー ラスゲイン、およびエンベロープ発生器オペレータパラメータ(EROM)インデッ クスが挙げられる。使用中オペレータフラグは、オペレータが音響を発生してい るかどうかを定める。オペレータオフフラグは、オペレータが発生している特定 音調についてノートオフメッセージが受信された時に設定される。オペレータオ フソステヌートフラグは、オペレータ活性状態になり、かつ、ソステヌートオン コマンドが特定MIDIチャネルについて受信された時に設定される。オペレータオ フソステヌートフラグは、ソステヌートオフコマンドが受信されるまで、オペレ ータに持続状態を保たせる。MIDIチャネル数は、オペレータのMIDIチャネルを含 む。キーオンベロシティは、ノートオンコマンドの一部であり、かつ、多様なパ ラメータを制御するようにエンベロープステートマシンにより使用されるベロシ ティ値である。オペレータゲインはオペレータの相対ゲインであり、ノートオン メッセージが受信され、かつ、オペレータが割り当てられた時に、エンベロープ 発生パラメータRAMに書き込まれる。ノイズゲインはオペレータと関連し、ノー トオンメッセージが受信され、かつ、オペレータが割り当てられた時に、MIDIイ ンタープリタ102によりエフェクトプロセッサFIFOに書き込まれる。オペレータ 振幅は、オペレータがデータ経路を通して移動させられるとオペレータに適用さ れる減衰である。リバーブデプスは、リバーブ制御器変更が起こると、MIDIイン タープリタ102によりピッチ発生器FIFOに書き込まれる。パン値はパン定数にイ ンデックスを付けるために使用され、メッセージがMIDIインタープリタ102から ピッチ発生器FIFOに送られると、書き込みが行われる。パンステートマシン1504 はパン値を使用して、左チャネル出力および右チャネル出力に渡すための出力信 号についての百分率を判定する。コーラスゲインは、ROMからのコーラス定数を インデックス指定するために使用される。コーラスゲインは、コーラスゲイン変 化を起こすメッセージが発生した時に書き込まれ、コーラスステートマシン1506 によりフレームごとに読み出される。エンベロープ発生器オペレータパラメータ (EROM)インデックスはエンベロープステートマシンにより使用されて、エンベ ロープ発生器オペレータパラメータROMにインデックス指定を行う。 チャネル制御パラメータは、エフェクトプロセッサ108により使用するためのM IDIチャネルに特有の情報を供給する。チャネル制御パラメータとしては、チャ ネルボリューム、保持フラグ、およびソステヌートペダルフラグがある。チャネ ルボリュームは、チャネルボリューム制御器変更があった時にMIDIインタープリ タ102によりピッチ発生器FIFOに書き込まれる。コマンドに関する持続ペダル制 御がMIDIインタープリタ102により受信された時に、保持フラグが設定される。 エンベロープステートマシンは保持フラグを読み出して、ノートオフメッセージ が発生した場合にオペレータリリース状態に入れるようにするかどうかを判定す る。ソステヌートペダルフラグは、コマンドに関するソステヌートペダル制御が MIDIインタープリタ102により受信された場合に設定される。エンベロープステ ートマシンはソステヌートペダルフラグを読み出し、ノートオフコマンドが発生 した時にオペレータリリース状態に入ったかどうかを判定する。オペレータオフ ソステヌートフラグか設定されたならば、エンベロープステートマシンは、フラ グがリセットされるまで、オペレータを自然な減衰状態に保持する。 図17と組み合わせて図18を参照すると、概略ブロック図はコーラスステー トマシン1506の成分を例示する。パンが決定され、コーラスが処理される。まず 、コーラスされるべきオペレータサンプルの量が、コーラスデプスパラメータに 基づいて各チャネルについて決定される。コーラスデプスパラメータはMIDIコマ ンドを介して送られ、コーラスアルゴリズムに渡すべき信号の100分率を決定す るために乗算器が使用される。コーラス100分率が決定されると、オーディオ信 号がコーラスについて処理される。コーラスステートマシン1506は、左チャネル についてのIIR全帯域通過フィルタ1602および右チャネルについてのIIR全帯域通 過フィルタ1604を有する。IIR全帯域フィルタ1602および1604は各自、2個のカ スケード式全帯域通過IIRフィルタを含み、その各自が異なる低周波数発振器(L FO)と共に作動する。LFOのカットオフ周波数は、コーラスステートマシン1506 が作動して音響信号の位相を引き延ばすように掃引される。2個のIIR全帯域フ ィルタ1602および1604は各自、2個のIIRフィルタを含む。4個のIIRフィルタは 全て、実質的にいつでも4個のIIRフィルタが異なるカットオフ周波数を有する ように、経時的に掃引されるカットオフ周波数を有する。 図17と組み合わせて図19を参照して、概略ブロック図は、リバーブステー トマシン1510の構成要素を示す。リバーブステートマシン1510はリバーブデプス MIDI制御パラメータを使用して、リバーブプロセッサに送るために、チャネルサ ンプルの割合を決定する。リバーブ計算は、信号の低域フィルタリング、および 、フィルタリングされた複数の信号と、インクリメンタルに遅延され、フィルタ リングされ、変調された、複数のフィルタ信号のコピーとの合計とを伴う。リバ ーブステートマシン1510の出力は、エフェクトプロセッサ108にある他のステー トマシンからの出力信号と合計するために、出力アキュムレータ(図示せず)に 送られる。 リバーブステートマシン1510は、デジタルリバーブレータである。デジタルリ バーブレータは、複数の遅延を信号経路に挿入し、遅延および非遅延信号を蓄積 して多重エコー音響信号を形成することによって、反響効果を発生させる。複数 の遅延は、複数のタップを有する遅延ラインメモリ1702によって供給される。例 示的な実施形態において、遅延ラインメモリ1702は、先入れ先出し(FIFO)バッ ファとして実施される。FIFOバッファは、12ビットまたは14ビットのワード長を 有する、805ワードの長さである。しかし、多くの適切なバッファ長およびワー ド長が、遅延ラインメモリ1702に対して適切である。ある実施形態において、遅 延ラインメモリ1702は、モノラルリバーブ決定用に、77、388、644、および779 ワードにおいてタップを含む。他の実施形態において、タップは他の適切なワー ド位置に配置される。いくつかの実施形態において、遅延タップ配置がプログラ ムされる。77、388、644、および779ワードにおけるタップに対する遅延信号、 および遅延ラインメモリ1702の端部における遅延信号は、第1低域フィルタ1710 、1712、1714、1716、および1718にそれぞれ付与される。第1低域フィルタ1710 、1712、1714、1716、および1718からのフィルタリング信号および遅延信号は、 乗算器1720、1722、1724、1726、および1728における各々のゲインファクタG1 、G2、G3、G4、およびG5によって、それぞれ乗算される。例示的な実施 形態において、ゲインファクタG1、G2、G3、G4、およびG5は、プログ ラム可能である。 乗算器1720、1722、1724、および1726からの、遅延され、フィルタリングされ 、および多重化された信号は、加算器1730において蓄積され、モノラルリバーブ 結果を形成する。乗算器1728の末端出力にある遅延ラインメモリ1702の端部で、 フィルタリングされ、遅延された信号は、加算器1732を用いて加算器1730の末端 出力でのモノラルリバーブ結果に加算されて、左チャネルリバーブ信号を発生さ せる。乗算器1728の末端出力にある遅延ラインメモリ1702の端部で、フィルタリ ングされ、遅延された信号は、加算器1734を用いて加算器1730の末端出力でのモ ノラルリバーブ結果から減算されて、右チャネルリバーブ信号を発生させる。 加算器1730によって発生されたモノラルリバーブ結果は、モノラルリバーブ結 果をフィードバックファクタFで乗算する乗算器1736に付与される。フィードバ ックファクタFは、例示的な実施形態においては1/8であるが、他のフィードバ ックファクタ値も適切である。乗算器1736によって発生される結果は、加算器17 08において、リバーブステートマシン1510への入力信号に対応する信号に付加さ れ、遅延ラインメモリ1702に入力され、これにより、リバーブステートマシン15 10の内部のフィードバック経路が完成される。 メモリ要件を低減するために、リバーブステートマシン1510は、4410 Hzで動作させられる。加算器1708を介して遅延ラインメモリ1702に適 用された入力音信号は、44.1KHzから4410Hzに間引きされ、リバー ブステートマシン1510を出る際には再び44.1KHzに補間される。エフ ェクトプロセッサ108における音信号は、44.1KHzで供給され、第6次 低域フィルタ1704を使用してフィルタリングされ、且つデシメータ1706 を使用して10のファクタで間引きされる。第6次低域フィルタ1704は、3 個の第2次IIR低域フィルタを使用して音信号を2000Hzにフィルタリン グする。図示した実施形態では、デシメータ1706は、回路面積および動作時 間を保存するためにシフトおよび加算動作を使用するが、乗算動作は使用しない 簡単な単極フィルタとして実行される第4次IIRフィルタである。リバーブ後 の音信号は、10倍補間器1740および第6次低域フィルタ1742を通って 左チャネルリバーブ信号を通過させることによって44.1KHzに復元され、 44.1KHzの左チャネルリバーブ信号を発生する。図示した実施形態では、 10倍補間器1740は、デシメータ1706と等しい。右チャネルリバーブ信 号は、10倍補間器1744および第6次低域フィルタ1746を通過し、44 .1KHzの右チャネルリバーブ信号を発生する。 特定回路の実施形態がリバーブステートマシン1510について図示されてい るが、リバーブシミュレータの他の適切な実施形態は可能である。特に、適切な リバーブステートマシンは、多数のまたは少数の格納素子を有する遅延ラインメ モリを含み得、個々の格納素子は大きいまたは小さいビット幅を有し得る。例え ば低域フィルタを全域通過フィルタで置き換えた、様々な他のフィルタが実行さ れ得る。多数のまたは少数のタップは、遅延ラインメモリに適用され得る。さら に、ゲインファクタGは、固定されるか、またはプログラム可能かのいずれかで あり得、様々な適切なビット幅を有し得る。 リバーブの適用に先立つ音信号の間引きは、リバーブステートマシン1510 のメモリ要件を実質的に低減するために非常に有利である。例えば図示した実施 形態では、遅延ラインメモリ1702は、805個の12ビット格納素子を含み 、それによって格納メモリの合計は約1200バイトとなる。間引きおよび補間 なしに、約12,000バイトの比較的集積度の低いのランダムアクセスメモリ がリバーブシミュレーション機能性を実行するために使用され、はるかに多いメ モリ量が、低コストの高機能性、または単一チップの高機能性シンセサイザアプ リケーションにおいて可能である。 図示したリバーブステートマシン1510の間引きファクタおよび補間ファク タは、10であるが、様々な実施形態において、リバーブステートマシンは他の 適切なファクタで間引かれ、補間され得る。 本発明は多様な実施態様を参照して記載されているが、これら実施熊様は例示 的であり、発明の範囲はそれらに限定されないことが理解されるであろう。記載 された実施態様の多くの変更、修正、追加、および改良が可能である。例えば、 一実施態様は、ペンティアムホストコンピュータおよび特定のマルチメディアプ ロセッサを含むマルチプロセッサシステムを利用するシステムとして説明されて いる。別な実施態様は、ゲームボックス、低コスト楽器、MIDI音響モジュールな どの応用例のためのキーボードにより制御されるシステムとして説明されている 。音響発生器およびシンセサイザの技術分野で公知の他の構成が別な実施態様で 使用されてもかまわない。

Claims (1)

  1. 【特許請求の範囲】 1.計算装置においてパラメータの指数減衰関数に線形近似を適用することによ り該パラメータを処理する方法であって、 一定の時間間隔を選択するステップと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わりの 該パラメータの値との間の一定の比を選択するステップと、 数値レジスタを割り当てるステップであって、該数値レジスタは、仮数指数振 幅および一定の減衰関数値を格納する指数を含むように割り当てられるステップ と、 一定のオフセット値を、該選択された一定の比の関数として決定するステップ と、 一定の減衰デルタ値を、該選択された一定の比の関数として決定するステップ と、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始めの 該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新する ステップと、さらに包含し、該更新ステップが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線形 関数で更新されるパラメータシーケンスを形成するステップと、 該仮数指数振幅と該一定のオフセット値とを足して、該指数減衰関数値の現 在の指数振幅値である和を形成するステップと、 該仮数指数振幅から該一定の減衰デルタ値を引いた結果として該仮数指数振 幅のアンダーフローが起こると、該指数減衰関数値の指数を減分する)ステップ と、を包含し、該方法が、 複数のパラメータサンプルを獲得するステップと、 該複数のパラメータサンプルに、決定された指数減衰関数近似を適用するステ ップと、をさらに包含する、方法。 2.前記一定の比が、2分の1になるように選択される、請求項1に記載の方法 。 3.前記一定のオフセット値が、前記仮数指数振幅の最大値を、前記一定の比を 1だけ減分した値で割った値に等しい値に設定される、請求項1に記載の方法。 4.前記一定の減衰デルタ値が、ビット長により規定される前記仮数指数振幅の 最大値を、前記一定の時間間隔における時間単位の数で割った値に等しい値に設 定される、請求項1に記載の方法。 5.前記一定の比が、2分の1になるように選択され、 前記一定のオフセット値が、カウンタ長と呼ばれるカウンタのビット長により 決定され、且つ、2counter length/(the constant ratio-1)に等しい値に設 定され、 前記一定の減衰デルタ値が、2counter length/half-life in sampleに等しい 値に設定される、請求項1に記載の方法。 6.前記一定の比が、2分の1になるように選択され、 前記一定のオフセット値が、カウンタ長と呼ばれるカウンタのビット長により 決定され、且つ、2counter length/(the constantrat ratio-1)に等しい値に 設定され、 前記一定の減衰デルタ値が、2counter length/half-life in sample等しい値 に設定され、 該カウンタが、17ビットカウンタであり、 前記選択された一定の時間間隔が、約44.1kHzのサンプリングレートに 対応し、該一定の減衰デルタ値が、217/(44100/h)にほぼ等しく、こ こで、hは、選択された半減期を秒で表した値である、請求項1に記載の方法。 7.コンピュータプログラムプロダクトであって、 コンピュータで使用可能な媒体を含み、該媒体が、該媒体において実施される コンピュータ読み出し可能コードを有し、該コードが、計算装置においてパラメ ータの指数減衰関数への線形近似を決定するためのルーチンを含み、該ルーチン が、 一定の時間間隔を選択するステップと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するステップと、 数値レジスタを割り当てるステップであって、該数値レジスタは、仮数指数 振幅および一定の減衰関数値を格納する指数を含むように割り当てられるステッ プと、 一定のオフセット値を、該選択された一定の比の関数として決定するステッ プと、 一定の減衰デルタ値を、該選択された一定の比の関数として決定するステッ プと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始め の該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新す るステップと、をさらに包含する方法を行い、該更新ステップが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線 形関数で更新されるパラメータシーケンスを形成するステップと、 該仮数指数振幅と該一定のオフセット値とを足して、該指数減衰関数値の 現在の指数振幅値である和を形成するステップと、 該仮数指数振幅から該一定の減衰デルタ値を引いた結果として該仮数指数 振幅のアンダーフローが起こると、該指数減衰関数値の指数を減分するステップ と、を包含し、該ルーチンが 複数のパラメータサンプルを獲得するステップと、 該複数のパラメータサンプルに、該決定された指数減衰関数近似を適用する ステップと、をさらに包含する方法を行う、コンピュータプログラムプロダクト 。 8.製造品であって、 格納、記憶、または通信媒体を含み、該媒体が、該媒体において実施されるコ ンピュータ読み出し可能コードを有し、該コードが、計算装置においてパラメー タの指数減衰関数への線形近似を決定するためのルーチンを含み、該ルーチンが 、一定の時間間隔を選択するステップと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するステップと、 数値レジスタを割り当てるステップと、を包含し、該数値レジスタは、仮数 指数振幅および指数を含むように割り当てられ、一定の減衰関数値を格納し、 一定のオフセット値を、該選択された一定の比の関数として決定するステッ プと、 一定の減衰デルタ値を、該選択された一定の比の関数として決定するステッ プと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始め の該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新す るステップと、をさらに包含する方法を行い、該更新ステップが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線 形関数で更新されるパラメータシーケンスを形成するステップと、 該仮数指数振幅と該一定のオフセット値とを足して、該指数減衰関数値の 現在の指数振幅値である和を形成するステップと、 該仮数指数振幅から該一定の減衰デルタ値を引いた結果として該仮数指数 振幅のアンダーフローが起こると、該指数減衰関数値の指数を減分するステップ と、を包含し、該ルーチンが 複数のパラメータサンプルを獲得するステップと、 該複数のパラメータサンプルに、該決定された指数減衰関数近似を適用する ステップと、をさらに包含する方法を行う、製造品。 9.サウンドシンセサイザであって、 複数のサンプルを同時に処理するためのサウンドプロセッサと、 該サウンドプロセッサに結合され、音楽信号情報格納装置を含むサンプル格納 装置と、 該サウンドプロセッサに結合され、該サンプル格納装置に格納されたサンプル を処理するための関数発生器であって、該関数発生器がコントローラを含み、該 コントローラが指数減衰関数への線形近似を決定し且つ該複数のサンプルへの指 数減衰関数近似の適用を実現する方法を実現し、該方法が、 一定の時間間隔を選択するステップと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するステップと、 数値レジスタを割り当てるステップであって、該数値レジスタは、仮数指数 振幅および一定の減衰関数値を格納する指数を含むように割り当てられるステッ プと、 一定のオフセット値を、該選択された一定の比の関数として決定するステッ プと、 一定の減衰デルタ値を、該選択された一定の比の関数として決定するステッ プと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始め の該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新す るステップと、を包含し、該更新ステップが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線 形関数で更新されるパラメータシーケンスを形成するステップと、 該仮数指数振幅と該一定のオフセット値とを足して、該指数減衰関数値で ある和を形成するステップと、 該仮数指数振幅から該一定の減衰デルタ値を引いた結果として該仮数指数 振幅のアンダーフローが起こると、該指数減衰関数値の指数を減分するステップ と、をさらに包含する、サウンドシンセサイザ。 10.前記一定の比が、2分の1になるように選択される、請求項9に記載のサ ウンドシンセサイザ。 11.前記一定のオフセット値が、前記仮数指数振幅の最大値を、前記一定の比 を1だけ減分した値で割った値に等しい値に設定される、請求項9に記載のサウ ンドシンセサイザ。 12.前記一定の減衰デルタ値が、ビット長により規定される前記仮数指数振幅 の最大値を、前記一定の時間間隔における時間単位の数で割った値に等しい値に 設定される、請求項9に記載のサウンドシンセサイザ。 13.前記一定の比が、2分の1になるように選択され、 前記一定のオフセット値が、カウンタ長と呼ばれるカウンタのビット長により 決定され、且つ、2counter length/(the constant ratio-1)に等しい値に設 定され、 前記一定の減衰デルタ値が、2counter length/half-life in sample に等しい値に設定される、請求項9に記載のサウンドシンセサイザ。 14.前記一定の比が、2分の1になるように選択され、 前記一定のオフセット値が、カウンタ長と呼ばれるカウンタのビット長により 決定され、且つ、2counter length/(the constant ratio-1)に等しい値に設 定され、 前記一定の減衰デルタ値が、2counter length/half-life in sample に等しい値に設定され、 該カウンタが、17ビットカウンタであり、 前記選択された一定の時間間隔が、約44.1kHzのサンプリングレートに 対応し、該一定の減衰デルタ値が、217/(44100/h)にほぼ等しく、こ こで、hは、選択された半減期を秒で表した値である、請求項9に記載のサウン ドシンセサイザ。 15.サウンドシンセサイザであって、 複数のサンプルを同時に処理するためのサウンドプロセッサと、 該サウンドプロセッサに結合され、音楽信号情報格納装置を含むサンプル格納 装置と、 該サウンドプロセッサに結合され、該サンプル格納装置に格納されたサンプル を処理するための関数発生器と、を含み、該関数発生器が、指数減衰関数への線 形近似を決定し、且つ、該複数のサンプルに該決定された指数減衰関数近似を適 用するためのコントローラを含み、該コントローラが、実行可能なプログラムを 有し、該プログラムが、 一定の時間間隔を選択するルーチンと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するルーチンと、 数値レジスタを割り当てるルーチンであって、該数値レジスタは、仮数指数 振幅および一定の減衰関数値を格納する指数を含むように割り当てられるルーチ ンと、 一定のオフセット値を、該選択された一定の比の関数として決定するルーチ ンと、 一定の減衰デルタ値を、該選択された一定の比の関数として決定するルーチ ンと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始め の該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新す るルーチンと、を含み、該更新ルーチンが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線 形関数で更新されるパラメータシーケンスを形成するルーチンと、 該仮数指数振幅と該一定のオフセット値とを足して、該指数減衰関数値で ある和を形成するルーチンと、 該仮数指数振幅から該一定の減衰デルタ値を引く手段の結果として該仮数 指数振幅のアンダーフローが起こると、該指数減衰関数値の指数を減分するルー チンとを含む、サウンドシンセサイザ。 16.前記一定の比が、2分の1になるように選択される、請求項15に記載の サウンドシンセサイザ。 17.前記一定のオフセット値が、前記仮数指数振幅の最大値を、前記一定の比 を1だけ減分した値で割った値に等しい値に設定される、請求項15に記載のサ ウンドシンセサイザ。 18.前記一定のオフセット値が、ビット長により規定される前記仮数指数振幅 の最大値を、前記一定の比から1を引いた値で割った値に等しい値に設定され、 前記一定の減衰デルタ値が、該ビット長により規定される該仮数指数振幅の最 大値を、前記一定の時間間隔における時間単位の数で割った値に等しい値に設定 される、請求項15に記載のサウンドシンセサイザ。 19.前記一定の比が、2分の1になるように選択され、 前記一定のオフセット値が、カウンタ長と呼ばれるカウンタのビット長により 決定され、且つ、2counter length/(the constant ratio-1)に等しい値に設 定され、 前記一定の減衰デルタ値が、2counter length/half-life in sampleに等しい 値に設定される、請求項15に記載のサウンドシンセサイザ。 20.前記一定の比が、2分の1になるように選択され、 前記一定のオフセット値が、カウンタ長と呼ばれるカウンタのビット長により 決定され、且つ、2counter length/(the constant ratio-1)に等しい値に設 定され、 前記一定の減衰デルタ値が、2counter length/half-life in sampleに等しい 値に設定され、 該カウンタが、17ビットカウンタであり、 前記選択された一定の時間間隔が、約44.1kHzのサンプリングレートに 対応し、該一定の減衰デルタ値が、217/(44100/h)にほぼ等しく、こ こで、hは、選択された半減期を秒で表した値である、請求項15に記載のサウ ンドシンセサイザ。 21.マルチメディアコンピュータシステムであって、 ホストプロセッサと、 該ホストプロセッサに結合されるサウンドシンセサイザと、を含み、該サウン ドシンセサイザが、 複数のサンプルを同時に処理するためのサウンドプロセッサと、 該サウンドプロセッサに結合され、音楽信号情報格納装置を含むサンプル格 納装置と、 該サウンドプロセッサに結合され、該サンプル格納装置に格納されたサンプ ルを処理するための関数発生器と、を含み、該関数発生器が、指数減衰関数への 線形近似を決定し、且つ、該複数のサンプルに該指数減衰関数近似を適用するた めのコントローラを含み、該コントローラが、プログラム可能で実行可能なプロ グラムを有し、該プログラムが、 一定の時間間隔を選択するルーチンと、 該一定の時間間隔の始めのパラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するルーチンと、 数値レジスタを割り当てるルーチンであって、該数値レジスタは、仮数 指数振幅および一定の減衰関数値を格納する指数を含むように割り当てられるル ーチンと、 一定のオフセット値を、該選択された一定の比の関数として決定するルー チンと、 一定の減衰デルタ値を、該選択された一定の比の関数として決定するルー チンと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始 めの該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新 するルーチンと、を含み、該更新ルーチンが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、 線形関数で更新されるパラメータシーケンスを形成するルーチンと、 該仮数指数振幅と該一定のオフセット値とを足して、該指数減衰関数値 である和を形成するルーチンと、 該仮数指数振幅から該一定の減衰デルタ値を引いた結果として該仮数指 数振幅のアンダーフローが起こると、該指数減衰関数値の指数を減分するルーチ ンとを含む、マルチメディアコンピュータシステム。 22.サウンド発生システムであって、 キーボード/コントローラと、 ホストプロセッサに結合されるサウンドシ冫セサイザと、を含み、該サウンド シンセサイザが、 複数のサンプルを同時に処理するためのサウンドプロセッサと、 該サウンドプロセッサに結合され、音楽信号情報格納装置を含むサンプル格 納装置と、 該サウンドプロセッサに結合され、該サンプル格納装置に格納されたサンプ ルを処理するための関数発生器であって、該関数発生器が、指数減衰関数への線 形近似を決定し、且つ、該複数のサンプルに該指数減衰関数近似を適用するため のコントローラを含み、該コントローラが、プログラム可能で実行可能なプログ ラムを含み、該プログラムが、 一定の時間間隔を選択するルーチンと、 該一定の時間間隔の始めのパラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するルーチンと、 数値レジスタを割り当てるルーチンであって、該数値レジスタは、仮数指 数振幅および一定の減衰関数値を格納する指数を含むように割り当てられるルー チンと、 一定のオフセット値を、該選択された一定の比の関数として決定するルー チンと、 一定の減衰デルタ値を、該選択された一定の比の関数として決定するルー チンと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始 めの該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新 するルーチンと、を含み、該更新ルーチンが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、 線形関数で更新されるパラメータシーケンスを形成するルーチンと、 該仮数指数振幅と該一定のオフセット値とを足して、該指数減衰関数値 である和を形成するルーチンと、 該仮数指数振幅から該一定の減衰デルタ値を引いた結果として該仮数指 数振幅のアンダーフローが起こると、該指数減衰関数値の指数を減分するルーチ ンとを含む、サウンド発生システム。 23.計算装置においてパラメータの指数減衰関数に線形近似を適用することに よりパラメータシーケンスを処理する方法であって、 一定の時間間隔を選択するステップと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わりの 該パラメータの値との間の一定の比を選択するステップと、 数値レジスタを割り当てるステップであって、該数値レジスタは、仮数指数振 幅および一定の減衰関数値を格納する指数を含むように割り当てられるステップ と、 減衰デルタ値を、該選択された一定の比の関数として決定するステップと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始めの 該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新する ステップと、を包含し、該更新ステップが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線形 関数で更新されるパラメータシーケンスを形成するステップと、 該減衰デルタ値を2分の1だけ低減するステップと、 複数のパラメータサンプルを獲得するステップと、 該複数のパラメータサンプルに、決定された指数減衰関数近似を適用するステ ップと、を包含する、方法。 24.前記一定の比が、2分の1になるように選択される、請求項23に記載の 方法。 25.初期減衰デルタ値が、ビット長により規定される前記仮数指数振幅の最大 値を、前記一定の時間間隔の2倍における時間単位の数で割った値に等しい値に 設定される、請求項23に記載の方法。 26.前記一定の比が、2分の1になるように選択され、 前記初期減衰デルタ値が、2counter length/half-life in sampleに等しい値 に設定される、請求項23に記載の方法。 27.前記一定の比が、2分の1になるように選択され、 前記初期減衰デルタ値が、2counter length/half-life in sampleに等しい値 に設定され、 前記カウンタが、17ビットカウンタであり、 前記選択された一定の時間間隔が、約44.1kHzのサンプリングレートに 対応し、前記一定の減衰デルタ値が、217/(44100/h)にほぼ等しく、 ここで、hは、選択された半減期を秒で表した値である、請求項23に記載の方 法。 28.コンピュータプログラムプロダクトであって、 コンピュータで使用可能な媒体を含み、該媒体が、該媒体において実施される コンピュータ読み出し可能コードを有し、該コードが、計算装置においてパラメ ータの指数減衰関数への線形近似を決定するためのルーチンを含み、該ルーチン が、 一定の時間間隔を選択するステップと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するステップと、 数値レジスタを割り当てるステップであって、該数値レジスタは、仮数指数 振幅および一定の減衰関数値を格納する指数を含むように割り当てられるステッ プと、 減衰デルタ値を、該選択された一定の比の関数として決定するステップと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始め の該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新す るステップと、を包含し、該更新ステップが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線 形関数で更新されるパラメータシーケンスを形成するステップと、 該減衰デルタ値を2分の1だけ低減するステップと、を包含する方法を行 う、コンピュータプログラムプロダクト。 29.製造品であって、 格納、記憶、または通信信号を含み、該信号が、該信号において実施されるコ ンピュータ読み出し可能コードを有し、該コードが、計算装置においてパラメー タの指数減衰関数への線形近似を決定するためのルーチンを含み、該ルーチンが 、 一定の時間間隔を選択するステップと、 該一定の時間間隔の始めの該パラメータの値と、該一定の時間間隔の終わり の該パラメータの値との間の一定の比を選択するステップと、 数値レジスタを割り当てるステップであって、該数値レジスタは、仮数指数 振幅および一定の減衰関数値を格納する指数を含むように割り当てられるステッ プと、 減衰デルタ値を、該選択された一定の比の関数として決定するステップと、 該選択された一定の時間間隔で、指数減衰関数を、該一定の時間間隔の始め の該パラメータの値から該一定の時間間隔の終わりの該パラメータの値に更新す るステップと、をさらに包含し、該更新ステップが、 該指数減衰関数値の該仮数指数振幅から該一定の減衰デルタ値を引き、線 形関数で更新されるパラメータシーケンスを形成するステップと、 該減衰デルタ値を2分の1だけ低減するステップと、を包含する方法を行 う、製造品。
JP53466998A 1997-01-17 1998-01-20 サウンドシンセサイザにおける指数減衰の近似装置および方法 Pending JP2001508886A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/785,465 1997-01-17
US08/785,465 US5824936A (en) 1997-01-17 1997-01-17 Apparatus and method for approximating an exponential decay in a sound synthesizer
PCT/US1998/001142 WO1998032122A1 (en) 1997-01-17 1998-01-20 Apparatus and method for approximating an exponential decay in a sound synthesizer

Publications (1)

Publication Number Publication Date
JP2001508886A true JP2001508886A (ja) 2001-07-03

Family

ID=25135592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53466998A Pending JP2001508886A (ja) 1997-01-17 1998-01-20 サウンドシンセサイザにおける指数減衰の近似装置および方法

Country Status (6)

Country Link
US (1) US5824936A (ja)
EP (1) EP0951715A1 (ja)
JP (1) JP2001508886A (ja)
IL (1) IL130980A0 (ja)
TW (1) TW378314B (ja)
WO (1) WO1998032122A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2751105B1 (fr) * 1996-07-12 1998-12-18 Thomson Csf Procede et dispositif de calcul approche de la moyenne exponentielle d'une suite de nombres codes dans le format a virgule flottante
US6119091A (en) * 1998-06-26 2000-09-12 Lsi Logic Corporation DVD audio decoder having a direct access PCM FIFO
US6314403B1 (en) * 2000-05-11 2001-11-06 Avid Technology, Inc. Apparatus and method for generating a special effect on a digital signal
US7395208B2 (en) * 2002-09-27 2008-07-01 Microsoft Corporation Integrating external voices
US7167112B2 (en) * 2003-03-21 2007-01-23 D2Audio Corporation Systems and methods for implementing a sample rate converter using hardware and software to maximize speed and flexibility
KR100636906B1 (ko) * 2004-03-22 2006-10-19 엘지전자 주식회사 미디 재생 장치 그 방법
US20060039624A1 (en) * 2004-08-20 2006-02-23 Hao-Song Kong System and method for fuzzy filtering images
KR100689495B1 (ko) * 2004-12-14 2007-03-02 엘지전자 주식회사 Midi 재생 장치 및 방법
US7822557B2 (en) * 2006-10-31 2010-10-26 Abbott Diabetes Care Inc. Analyte sensors and methods
CN102422531B (zh) * 2009-06-29 2014-09-03 三菱电机株式会社 音频信号处理装置
GB2525648C (en) 2014-05-01 2019-10-09 Imagination Tech Ltd Approximating functions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS589958B2 (ja) * 1976-09-29 1983-02-23 ヤマハ株式会社 電子楽器のエンベロ−プ発生器
US4144789A (en) * 1977-06-06 1979-03-20 Kawai Musical Instrument Mfg. Co. Ltd. Amplitude generator for an electronic organ
US4287805A (en) * 1980-04-28 1981-09-08 Norlin Industries, Inc. Digital envelope modulator for digital waveform
US4583188A (en) * 1983-03-11 1986-04-15 Sanders Associates, Inc. Digitally controlled electronic function generator
JPS6190514A (ja) * 1984-10-11 1986-05-08 Nippon Gakki Seizo Kk 楽音信号処理装置
US4731835A (en) * 1984-11-19 1988-03-15 Nippon Gakki Seizo Kabushiki Kaisha Reverberation tone generating apparatus
US5140886A (en) * 1989-03-02 1992-08-25 Yamaha Corporation Musical tone signal generating apparatus having waveform memory with multiparameter addressing system
JP2565073B2 (ja) * 1992-03-10 1996-12-18 ヤマハ株式会社 ディジタル信号処理装置
JP2802565B2 (ja) * 1992-11-02 1998-09-24 株式会社河合楽器製作所 電子楽器のエンベロ−プ発生装置
EP0596175A1 (en) * 1992-11-05 1994-05-11 International Business Machines Corporation Apparatus for executing the argument reduction in exponential computations of IEEE standard floating-point numbers
US5557227A (en) * 1994-04-07 1996-09-17 Aureal Semiconductor Economical generation of exponential and pseudo-exponential decay functions in digital hardware
WO1995034883A1 (fr) * 1994-06-15 1995-12-21 Sony Corporation Processeur de signaux et dispositif de reproduction sonore

Also Published As

Publication number Publication date
EP0951715A1 (en) 1999-10-27
US5824936A (en) 1998-10-20
TW378314B (en) 2000-01-01
WO1998032122A1 (en) 1998-07-23
IL130980A0 (en) 2001-01-28

Similar Documents

Publication Publication Date Title
EP0925576B1 (en) Wavetable synthesizer and operating method using a variable sampling rate approximation
US5917917A (en) Reduced-memory reverberation simulator in a sound synthesizer
JP4181637B2 (ja) ウェーブテーブルシンセサイザに使用される音響サンプルを予め処理するための期間強制フィルタ
US5744742A (en) Parametric signal modeling musical synthesizer
Sullivan Extending the Karplus-Strong algorithm to synthesize electric guitar timbres with distortion and feedback
WO1997017692A9 (en) Parametric signal modeling musical synthesizer
US20020178006A1 (en) Waveform forming device and method
JP2001188544A (ja) オーディオ波形再生装置
US5824936A (en) Apparatus and method for approximating an exponential decay in a sound synthesizer
JP3482685B2 (ja) 電子楽器の音源装置
Huovilainen Design of a scalable polyphony-MIDI synthesizer for a low cost DSP
JP3226255B2 (ja) 楽音合成システム
JP3788096B2 (ja) 波形圧縮方法及び波形生成方法
JP3282438B2 (ja) 楽音信号合成装置
JP2679175B2 (ja) 音声信号発生装置
JP2797141B2 (ja) 楽音波形発生装置
JP2730101B2 (ja) デジタル音声信号発生装置
JP2833485B2 (ja) 楽音発生装置
JPH0643863A (ja) エフェクタ
JPH02130598A (ja) デジタル音声信号発生装置
JPH02137894A (ja) データ圧縮符号化方法
JPH10133659A (ja) ディジタル信号処理プロセッサ