(57)【要約】  音響空間、マイクロホンのモデリングおよび配置など、１つまたは複数の音響特性を選択的に変えることができるオーディオパフォーマンス（５０）の合成において使用するための方法、機器、およびシステム（４８）が開示される。処理時間を削減するために、本システムは、プロセッサ負荷が大幅に削減された擬似畳込み処理技術（５４）を使用する。本システムは、異なる音響空間における音声出力をエミュレートし、音楽ソース（楽器および他の音源）を音楽的状況から分離し、音楽ソースおよび音楽的状況を、周囲の音の状況を含む比較的正確な音響的整合性を用いて対話形式で組み換え（５６）、マイクロホンモデルおよびマイクロホンの配置をエミュレートし、反響などの音響効果を生じ（５８）、楽器本体の共鳴をエミュレートし、エミュレートされた楽器本体を、所与の音楽楽器において対話形式で切り換えることが可能である。
2007534214.tif 000002
【特許請求の範囲】
【請求項１】
オーディオパフォーマンスを表し、第１のサンプルレートでの複数の音声入力サンプルを含む入力音声ストリームを受け取る手段と、
音響効果に対応するインパルス応答を表すデータを受け取る手段と、
前記応答時間の部分に対する前記インパルス応答を表す前記データで前記音声入力サンプルを畳み込み、前記応答時間の残りの間に前記応答をモデリングすることによって、前記入力音声ストリームおよび前記インパルス応答に基づいて出力音声ストリームを生成する手段とを備えることを特徴とするシンセサイザ。
【請求項２】
ユーザから、前記音響効果の指示を受け取る手段をさらに備えることを特徴とする請求項１に記載のシンセサイザ。
【請求項３】
前記音響効果は、前記オーディオパフォーマンスの音響上の変更を含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項４】
前記音響効果は、前記オーディオパフォーマンスの音響上の変更を含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項５】
前記入力音声ストリームは、複数の入力チャネルそれぞれに対する複数の音声入力サンプルを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項６】
前記出力音声ストリームは、複数の出力チャネルを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項７】
前記音響効果は、特定のマイクロホンを用いて前記オーディオパフォーマンスの録音を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項８】
前記音響効果は、特定のマイクロホン配置を用いて前記オーディオパフォーマンスの録音を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項９】
前記音響効果は、特定の音楽的状況を用いて前記オーディオパフォーマンスの録音を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項１０】
前記音響効果は、特定の楽器本体を使って前記オーディオパフォーマンスの少なくとも一部分の演奏を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項１１】
前記音響効果は、特定の楽器配置を使って前記オーディオパフォーマンスの少なくとも一部分の演奏を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項１２】
前記生成手段は、前記出力音声ストリームの余韻部分を再帰的に外挿する手段を備えることを特徴とする請求項１に記載のシンセサイザ。
【請求項１３】
前記演奏は、第１の数のソースチャネルを含み、前記生成手段によって生成された前記出力音声ストリームは、前記第１の数のソースチャネルより多い第２の数の出力チャネルを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項１４】
前記演奏は、単一のソースチャネルのみを含み、前記出力音声ストリームは、前記単一のソースチャネルのシミュレートされたステレオバージョンを含むことを特徴とする請求項１３に記載のシンセサイザ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、両方とも２００３年１０月９日に出願した米国特許仮出願第６０／５１００６８号および第６０／５１００１９号の利益を主張する。
【０００２】
本出願は、参照により本明細書に組み込まれている、コンパクトディスクでのコンピュータ添付リストを含む。
【０００３】
本発明は概して、音声処理に関し、より詳細には、音響空間、マイクロホンのモデリングおよび配置など、１つまたは複数の音響特性が、擬似畳込み処理技術を用いて変えられるオーディオパフォーマンスを合成する方法、機器、およびシステムに関する。
【背景技術】
【０００４】
当該分野において、デジタル音楽シンセサイザが公知である。このようなデジタル音楽シンセサイザの例が、参照により本明細書に組み込まれている特許文献１において開示されている。特許文献１において開示されているシステムは、多様なコンポーネントフィルタを開示し、混合時間領域および周波数領域処理に基づいている。残念ながら、特許文献１において使用されている方法は、比較的計算集約的であり、したがって効率的でない。このようなものとして、特許文献１において開示されているシステムは、主として、計算時間が重大ではない学術的、科学的適用範囲において有用であるに過ぎない。
【０００５】
【特許文献１】米国特許第５５０２７４７号明細書
【非特許文献１】http:/www.echochamber.ch[?]
【非特許文献２】http:/altiverb.daw-mac.com
【非特許文献３】http:/noisevault.com
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、従来技術のものより比較的効率のよいシンセサイザが必要とされる。
【課題を解決するための手段】
【０００７】
本発明は、音響空間、マイクロホンのモデリングおよび配置など、１つまたは複数の音響特性を選択的に変えることができるオーディオパフォーマンスの合成において使用するための方法、機器、およびシステムに関する。処理時間を削減するために、本システムは、プロセッサ負荷が大幅に削減された擬似畳込み処理技術を使用する。本システムは、異なる音響空間における音声出力をエミュレートし、音楽ソース（楽器および他の音源）を音楽的状況から分離し、音楽ソースおよび音楽的状況を、周囲の音の状況を含む比較的正確な音響的整合性を用いて対話形式で組み換え、マイクロホンモデルおよびマイクロホンの配置をエミュレートし、反響などの音響効果を生じ、楽器本体の共鳴をエミュレートし、エミュレートされた楽器本体を、所与の音楽楽器において対話形式で切り換えることが可能である。
【発明を実施するための最良の形態】
【０００８】
本発明は、１つまたは複数の音響特性が選択的に変えられる、音響応答を合成する音声処理システムに関する。例えば、選択可能な音楽的状況または音響空間における音声応答をエミュレートすることができる。具体的には、実質的にどの音響空間、例えばカーネギーホールのモデルも、記録し記憶することができる。本発明の一態様によると、本システムは、音声入力が、例えばカーネギーホールで演奏されているかのように聞こえるように、選択された音響空間モデルにおける音響応答をエミュレートする。
【０００９】
本発明の一態様によると、本システムは、音楽ソース（すなわち、楽器および他の音源）を、音楽的状況（すなわち、音源が再生される音響空間）から分離する能力をもつ。応答を、上述したように、選択可能な音楽状況にエミュレートすることによって、様々な音楽ソースに対する音響応答は、ステーションワゴンの後部座席を含む、実質的にどの音響空間向けにもエミュレートすることができる。
【００１０】
音響空間のモデルを生成する様々な技術を用いることができる。モデルは、部屋または他の空間あるいは音楽的状況のフィンガープリントとみなすことができる。モデルは、例えば、部屋の応答を、開始の号砲からの発砲や他の音響入力など、サウンドインパルスに記録することによって作成される。サウンドインパルスは、例えば、モデリングされる部屋または空間にスピーカを置き、周波数掃引を行うことによって作成することができる。より具体的には、一般的な技術は、スイープトーンおよび補完的デコードトーンを有する正弦波掃引方法である。スイープトーンおよびデコードトーンの畳込みは、完全な単一サンプルスパイク（インパルス）である。スイープトーンが、部屋の中でスピーカを通して再生され、マイクロホンによって録音された後、その結果生じた記録が、部屋のインパルス応答を明らかにするデコードトーンで畳み込まれる。あるいは、空間において開始の号砲を単に鳴らし、応答を記録するのは、別のやり方である。あるいは、様々な「密閉された」音響空間モデルが、現在、インターネット上で、非特許文献１、非特許文献２、および非特許文献３において入手可能である。
【００１１】
本発明の他の態様によると、本システムは、年代もののＡＫＧ  Ｃ−１２マイクロホンなど、１つまたは複数の所定のマイクロホンへの応答など、他の音響特性をエミュレートすることが可能である。マイクロホンは、音楽的状況と同じやり方でエミュレートされる。具体的には、年代もののマイクロホンの音響インパルスへの音響応答が、例えば録音され記憶される。本システムを介して再生されるどの音楽ソースも、年代もののマイクロホンを通して再生されているかのように聞こえるように処理される。
【００１２】
本システムは、音声状況における音声源の場所など、他の音響特性をエミュレートすることも可能である。具体的には、本発明の別の態様によると、本システムは、音源、音響空間の応答、マイクロホンおよび楽器本体共鳴応答を、オーディオパフォーマンスにおける別個の再構成可能な音声源に組み合わせることが可能である。例えば、楽器、例えばバイオリンが、部屋の中で演奏され、マイクロホンを通して録音されると、その結果生じる音声は、調性および多様なインパルス要素、すなわち、マイクロホン、部屋の音響およびバイオリン本体によって決定される反響を含む。多くのケースにおいて、こうした３つの要素を個々に制御し、お互いに、かつバイオリンの弦の振動から分離することが望ましい。そうすることによって、マイクロホン、部屋環境またはバイオリン本体の異なる選択を、ユーザまたはオーディオパフォーマンスの内容制作者によって個別に行うことができる。さらに、本システムは、任意選択で、マイクロホンの配置に相対した音声源の場所など、別の音声特性に応答をエミュレートすることが可能であり、したがって、音声源を、マイクロホンに相対して実質的に移動させる。このようなものとして、例えばドラムを、マイクロホンのより近くに、またはさらに離れて聞こえるようにすることができる。
【００１３】
本発明の別の態様によると、本システムは、上で論じた特許文献１において開示されている音声処理システムなど、公知の音楽シンセサイザよりはるかに計算集約的でないリアルタイム音声処理システムである。具体的には、処理の負荷を削減するのに、公知のシステムと比較して様々な技術が用いられる。例えば、後でより詳しく説明するように、「ターボ」モードの動作において、本システムは、入力音声サンプルを、入力サンプルレートより遅いサンプルレートで処理し、したがって、例えば、プロセッサの負荷を最大７５％削減する。
【００１４】
本発明とともに使用するための例示的なホスト計算プラットフォームを、図１２に示し、参照番号２０で全体を識別してある。ホスト計算プラットフォームは、後で説明するユーザインターフェースおよび処理アルゴリズムとともにロードされると、音声シンセサイザを形成する。ホスト計算プラットフォーム２０は、ＣＰＵ２２、ランダムアクセスメモリ（ＲＡＭ）２４、ハードドライブ２６、ならびに外部ディスプレイ２８、外部マイクロホン３０および１つまたは複数の外部スピーカ３２を含む。ホスト計算プラットフォーム２０に対する最小要件は、ウィンドウズ（登録商標）ＸＰ（Ｐｒｏ、ホームエディション、組込み型または互換性のある他のオペレーティングシステム）、インテルペンティアム（登録商標）４、Ｃｅｌｅｒｏｎ、Ａｔｈｌｏｎ  ＸＰ  １ＧＨｚまたは他のＣＰＵ、２５６ＭＢのＲＡＭ、２０ＧＢハードドライブである。
【００１５】
ユーザインターフェース
図１Ａ〜１Ｄは、本発明に関連して用いることができるコントロールパネル１００の例示的な実施形態のグラフィック表現を示す。簡単にするために、一実施形態のみを説明する。具体的には、図１Ａに示す実施形態において、コントロールパネル１００は、所定の音楽的状況（例えば、暗い、硬質な床材、中規模など）を選択するのに使うことができるドロップダウンメニュー１０２と、「未加工インパルス」を選択するのに使うことができるドロップダウンメニュー１０４と、特定の音楽楽器（例えば、第１バイオリン、下げ弓で滑らかに）を選択するのに使うことができるドロップダウンメニュー１０６と、オリジナルマイクロホン（例えば、ＮＴ１０００）を選択するのに使うことができるドロップダウンメニュー１０８と、特定の差替えマイクロホン（例えば、ＡＫＧ４１４）を選択するのに使うことができるドロップダウンメニュー１１０とを含む。後でより詳しく説明するように、マイクロホン配置選択の短いテキスト記述を表示する表示領域１１２が提供される。
【００１６】
ドロップダウンメニュー１０４を介して選択された未加工インパルスの、音声トラックへの適用に関連づけられた「カスケード」特徴を選択的に有効にし無効にするボタン１１４が提供される。ユーザが選択した音響モデルの、ドロップダウンメニュー１０６を介して選択された楽器への適用を許可する「エンコード」特徴を選択的に有効にし無効にするボタン１１６が提供される。表示領域１１８は、任意選択で、ドロップダウンメニュー１０２によって選択された音楽的状況を、絵または写真によって表現することができる。
【００１７】
左側および右側マイクロホンに対して、ミッド／サイド（Ｍ／Ｓ）マイクロホンペアの配置を選択的に活動化し非活動化するボタン１２０が提供される。例えば、全マイクロホン（ボタン１２１）、正面（「Ｆ」）マイクロホン（ボタン１２２）、ワイド（「Ｗ」）マイクロホン（ボタン１２３）、および後部または周辺（「Ｓ」）マイクロホン（ボタン１２４）を含む、マイクロホンのグループを指定する付加ボタン１２１、１２２、１２３、１２４が提供される。
【００１８】
ユーザは、所与のどの状況でも利用されるマイクロホンそれぞれに対するマイクロホンのポーラーパターンおよびロールオフ特性を入れることもできる。この目的のために、マイクロホンのロールオフ特性または応答を選択するボタン１２４、１２５、１２６、１２７、１２８、１２９が提供される。例えば、ボタン１２５、１２６は、２通りの低周波数バンプを選択する。すなわち、ボタン１２７は、平坦応答を選択し、ボタン１２８、１２９は、それぞれ２通りの低周波数ロールオフ応答を選択する。同様に、ボタン１３０〜１３４は、全方位パターン（ボタン１３０）、広角カージオイドパターン（ボタン１３１）、カージオイドパターン（ボタン１３２）、ハイパーカージオイドパターン（ボタン１３３）、またはいわゆる「８の字」パターン（ボタン１３４）など、よく知られている異なるいくつかのマイクロホンポーラーパターンの１つをユーザに選択させる。
【００１９】
コントロールパネル１００は、配置コントロールセクション１３５も含み、セクション１３５は、図示した実施形態において、複数の配置セレクタ／インジケータボタン（番号１から１８で示す）を含む。こうした配置セレクタ／インジケータボタンは、ユーザが選択した音楽的状況における音楽楽器の位置（例えば、ユーザが指定したマイクロホン（群）に相対した、ドロップダウンメニュー１０６によって選択された楽器の位置）をユーザに指定させる。グラフィカル表示エリア１１８は、ユーザによって作動された特定の配置セレクタ／インジケータボタンによって指定されたその部屋または音楽的状況における配置に対応するドロップダウンメニュー１０２によって選択された部屋または音楽的状況の遠近感の描写を表示することができる。当然ながら、当業者には容易に明らかであるように、図１Ａに示す配置セレクタ／インジケータボタンに加えて、またはその代わりに、特定の音楽的状況における楽器の配置をユーザが選択することを許可するのに、異なる多くの代替手段を利用することができる。例えば、部屋または音楽的状況の図解を表示することができ、マウス、トラックボール、または他の従来のポインタコントロール装置を使って、ユーザによって所望される可能性があるその部屋または音楽的状況におけるどの配置にも対応する部屋または音楽的状況の図解中の所定の配置に場所指定装置を移動することができよう。
【００２０】
図１Ａにも示してあるように、コントロールパネル１００は、「ｍｉｃ−ｔｏ−ｏｕｔｐｕｔ」コントロールセクション１３６も含み、セクション１３６は、ユーザに、所与の状況において使われる各マイクロホンを、対応するミキサー出力チャネルに割り当てさせる、一列に並んだボタンを含む。図に示すように、コントロールパネル１００は、ｍｉｃ−ｔｏ−ｏｕｔｐｕｔコントロールセクション１３６において、１から７の番号をつけられたボタンの列で表される７つのミキサー出力チャネルを提供する。７つのミキサー出力チャネルは、所与の状況において、７つのマイクロホン（例えば、左右正面、左右広角、左右サラウンド、および中心チャネル）が使われることを可能にする。当然ながら、本発明の所与のどの実施形態においても、特定のシミュレータの需要に基づいて、より多いまたはより少ないミキサー出力チャネルを提供してよいことが当業者には容易に理解されよう。例えば、ステレオシミュレータにおいては、２つのミキサー出力チャネルのみが提供される必要がある。特定のミキサー出力チャネルに特定のマイクロホンを割り当てるために、ユーザは、特定のマイクロホンに対応する、ボタンの行および特定のミキサー出力チャネルに対応する、ボタンの列の中のボタンを押下するだけでよい。ｍｉｃ−ｔｏ−ｏｕｔｐｕｔコントロールセクション１３６の各行中のコントロールは、特定のマイクロホンを一度に１つのミキサー出力チャネルにのみ関連付けることができるように、相互に排他的に動作する。
【００２１】
ｍｉｃ−ｔｏ−ｏｕｔｐｕｔコントロールセクション１３６は、単一のマイクロホンシミュレーションまたは出力が、２つの（すなわち、ステレオ）ミキサー出力チャネルを展開するように処理される「シミュレートされたステレオ」モードを選択的に有効にし無効にするボタン１４０も含む。ボタン１４０は、例えば、シミュレートされたステレオ出力が、完全なステレオリアルタイム処理を扱うのに十分な処理能力をもたない遅いコンピュータによって生じられるのを可能にするのに使うことができる。「真性ステレオ」モードを選択的に有効にするボタン１４２が提供され、このモードは、左右のステレオマイクロホンのシミュレーションまたは２つのミキサー出力チャネルへの出力を単に結合する。さらに、７つのマイクロホンシミュレーションまたは出力がそれぞれ、それぞれのミキサー出力チャネルに結合されて、完全７チャネルサラウンドサウンド出力を提供する「７チャネル」モードを選択的に有効にし無効にするボタン１４４が提供される。
【００２２】
図示されたシンセサイザに、完全畳込みを実施することによって合成応答の最初のＮ秒を導き出させ、次いで、損失は多いが計算効率がよい再帰アルゴリズム（後でより詳しく説明する）を使って合成応答の余韻または最終部分の近似を導き出させる「余韻継続」特徴を選択的に有効にし無効にするボタン１４６が提供される。正確な音響的シミュレーションが要求されない場合、余韻継続特徴を有効にすると、正確な音響シミュレーションと計算オーバーヘッドの間の妥協点がもたらされる。３つのパラメータ、すなわちＯｖｅｒｌａｐ、Ｌｅｖｅｌ、およびＣｕｔｏｆｆが、余韻継続特徴に関連づけられ、それぞれのスライダコントロール１４８、１５０、１５２が、こうしたパラメータそれぞれの調節のために提供される。
【００２３】
より具体的には、スライダコントロール１４８は、合成応答または出力信号の再帰的に生成された余韻部分と、特定のサンプルレートでの畳込みによって計算される出力信号の時間的先行部分との間の、一定量のオーバーラップの調節を許可する。スライダコントロール１５０は、出力信号の再帰的生成部分のレベルが、出力信号の時間的に先行して畳み込まれた部分のレベルとより厳密に一致するように、レベルの調節を許可する。スライダコントロール１５２は、出力信号の再帰的生成部分と、出力信号の時間的に先行して畳み込まれた部分との間の周波数領域カットオフの調節を許可し、そうすることによって、出力信号の再帰的生成部分の周波数領域帯域幅が、そうした２つの部分の間の遷移点で出力信号の畳込み部分の周波数領域帯域幅とより厳密に一致するように、合成応答または出力信号の全体的な分光減衰を円滑にする。
【００２４】
特定の状況において使われる各マイクロホンに対応するレベルをユーザに調節させるために、それ以外の複数のスライダコントロールを提供することができる。図示した実施形態では、図示してあるシミュレーションまたはシンセサイザシステムにおいて使用可能なマイクロホンの１つに各々が対応する７つの記録チャネルそれぞれの記録レベルを調節するスライダコントロール１５４〜１６０が提供される。さらに、ユーザに、スライダコントロール１５４〜１６０それぞれによって設定されたレベルを同時に調節させるための、主スライダコントロール１６１が提供される。図に示すように、各スライダコントロール１５４〜１６１と並行して、対応するスライダコントロール１５４〜１６１によって所与のどのときに設定されたレベルも数字でユーザに示す、デジタルな読取りが可能になる。図示した実施形態では、レベルは、０から２０４７の範囲の１１ビット数で表される。ただし、適切な任意の単位での、他の適切な任意の範囲のレベルも代わりに用いることができることが、当業者には明白なはずである。
【００２５】
コントロールパネル１００は、レベルボタン１６４、遠近感ボタン１６６、およびプリディレイボタン１６８も含む。レベルボタン１６４は、ユーザに、レベルコントロール１５４〜１６１を選択的に活動化し非活動化させる。遠近感ボタン１６６は、ユーザに、スライダコントロール１５４〜１６１が、所与のどのシミュレーション用にもシミュレートを行うパラメータを調節するのに使われることを可能にする遠近感特徴を選択的に活動化し非活動化させる、ドロップダウンメニュー１０２によって選択された音楽的状況または部屋の物理的次元を変える。プリディレイボタン１６８は、ユーザに、スライダコントロール１５４〜１６１を利用して、エコー応答速度をシミュレートするパラメータを（記録した信号中の初期残響と所定の量の残響密度の増加との間の、シミュレートされた遅れを調節することによって）調節させる。
【００２６】
例示的な代替グラフィカルユーザインターフェース（ＧＵＩ）を、図１Ｂ〜１Ｄに示してある。こうしたＧＵＩも、ユーザが本発明の原理によるシステムの様々なパラメータを調節することを許可する。ＧＵＩは、図１Ａに示すコントロールパネルと本質的に同じ機能を提供するので、代替ＧＵＩについては、これ以上は説明しない。
【００２７】
処理アルゴリズム
図２は、簡単にするために、本発明による音声処理システム４８の例示的な実施形態の１つの音声チャネルを示す高レベルなソフトウェアブロック図を示す。音声処理システム４８は、実行時入力チャネル処理ルーチン５０と、実行時順序制御、コントロール、およびデータマネージャ５２と、マルチレート適応フィルタ５４、収集および調整ルーチン５６、余韻継続プロセッサ５８を含むプロセスチャネルモジュール５３とを含む。図に示すように、入力デジタル音声源サンプルが、アナログ−デジタルコンバータ（図示せず）、例えば、１６ビットまたは２４ビット、ＰＣＭ、４４．１、４８、８８．２、９６、１７６．４または１９２ｋＨｚサンプルレート、Ｃｉｒｒｕｓ  Ｃｒｙｓｔａｌ  ＣＳ４２２６コーデックにおけるステレオＡＤＣなど、モノまたはマルチチャネルＡＤＣによってデジタル化され、実行時入力チャネル処理ルーチン５０に与えられ、ルーチン５０は、時間領域から周波数領域にあるサンプルを変換し、周波数領域サンプルを実行時順序制御、コントロールおよびデータマネージャ５２に与える。さらに、例えば、ユーザが選択したマイクロホン、音楽的状況（すなわち、音響空間）、音楽楽器、および相対的な位置決めなど、ユーザが選択した音楽的状況においてユーザが選択したマイクロホンおよび／または音楽楽器の様々な音声特性の特性に対応するインパルス応答を表すインパルス応答データが、係数記憶メモリ装置６０に格納される。ロード時係数処理ルーチン６２および実行時係数処理ルーチン６４が、係数メモリ記憶装置６０からの係数を、例えば、図１Ａ〜１Ｄに示すような、コントロールパネルまたはグラフィカルユーザインターフェースを介して提供されたユーザ入力６６に基づいて引き続き処理するのに用いられる。
【００２８】
実行時のＣＰＵ資源使用を削減するために、ロード時係数処理ルーチン６２は、記憶装置６０からの時間領域インパルス係数を、ユーザ入力に基づいた、音声応答への変更を容易にするための音声信号処理でロード時に前処理し、その結果生じた時間領域係数データを周波数領域に変換する。実行時順序制御、コントロール、およびデータマネージャ５２は、音声源入力サンプルおよび処理済のインパルス応答係数を、ＣＰＵ負荷最適配分および効率的リアルタイム処理を容易にするように処理する。実行時順序制御、コントロール、およびデータマネージャ５２からの、処理済のサンプルおよび係数は、音声出力サンプル６８を生じるために、プロセスチャネルモジュール５３に与えられ、モジュール５３は、入力音声源の音声応答を、ユーザが選択した様々な音声特性にエミュレートする。
【００２９】
図３は、図２に示す実行時入力チャネル処理ルーチン５０の、例示的な一実施形態のブロック図を示す。図３を参照すると、実行時入力チャネル処理ルーチン５０は、デジタル化された音声源サンプルを、第１のサンプルレート、例えば４８ｋＨｚで、デジタルサンプルバッファ（ＩＯＢＵＦ）７０から受け取る。デジタルサンプルバッファ７０は、各々が３２ビットの３２個の音声サンプル分のサイズである。デジタルサンプルバッファ７０からのデジタルサンプルは、フレームコピールーチン（Ｂ）７２、（Ａ）７４によって、フレーム単位でそれぞれのフレームバッファ（ＸＬＢ）７６、（ＸＬＡ）７８にコピーされる。より具体的には、同じ入力サンプルは、２通りのサンプルレートでの後続処理を容易にするように、潜在的に異なるフレームサイズの２つの別個のバッファＸＬＢ、ＸＬＡにフレーム化される。ＸＬＢバッファのフレームサイズは、ＸＬＡと比較してより小さく、通常、ＸＬＢと比較して８分の１のサイズである。余韻維持ルーチン８０は、有限インパルス応答（ＦＩＲ）フィルタ長のデータを、２：１の間引きフィルタ９０によって要求されるＦＩＲ係数のオーバーラップをカバーするように、フレームバッファＸＬＡの最初から最後までコピーする。間引きフィルタ９０は、音声源サンプルのＸＬＡ全体のフレームサイズをダウンサンプルする。前記フレームサイズは、より低いサンプルレート、例えば音声源サンプルレートの１／２に対応する。フィルタ９０は、こうしたサンプルを、間引きフレームバッファ（Ｘｌ＿ｌｐ）９２にコピーする。
【００３０】
ＦＦＴルーチン８４、８６、８８を含む高速フーリエ変換（ＦＦＴ）モジュール８２が、フレームバッファ７６、７８中の時間領域で表されるデータフレームを、対応する周波数領域データにコンバートするために提供される。より具体的には、ＦＦＴルーチン８４は、フレームバッファ７６からのＸＬＢフレームの高速フーリエ変換を生じ、変換されたデータを、周波数領域バッファ（ＸＬＢＦ）９４に提供する。ターボモードにおいて、フレームバッファ（ＸＬＡ）７８からのフレームデータは、低域フィルタ、例えば２：１のフィルタによってフィルタリングされて、サンプルレートを、音声入力ソースサンプルレートの１／２に削減する。低域通過フィルタは、単に音声帯域幅を、入力サンプル帯域幅の２分の１に削減し、他のすべてのサンプルのみを保存することによって結果を切り捨てる。フィルタリングされたサンプルは、間引きフレームバッファ（Ｘｌ−ｌＰ）９２に格納される。この間引きフレームバッファ９２は、低域通過フィルタリングおよび他のすべてのサンプルの放棄によって生じた、帯域が削減され切り捨てられたサンプルを含み、こうしたサンプルを、ＦＦＴルーチン８６に渡し、ルーチン８６は、間引かれフィルタリングされたフレームデータに対してＦＦＴを実施し、その結果生じた周波数領域フレームデータを、周波数領域バッファ（ＸＬＡＦ）９６に格納する。
【００３１】
ユーザが、余韻終了処理を利用しないことを望む（すなわち、むしろ、結果としてより大きな処理能力を生じる、フルサンプルレートの畳込みの音響の正確さを達成することを好む）場合、ＦＦＴモジュール８８を、フルサンプルレート（すなわち、入力サンプルと同じサンプルレート）で動作させて、フレームバッファ（ＸＬＡ）７８からのフレームデータを、そのオリジナルサンプルレートで変換し、したがって、フルサンプルレートの周波数領域データを周波数領域バッファ９６（ＸＬＡＦ）に提供することができる。
【００３２】
フレームコピールーチン（Ｂ）７２、（Ａ）７４、余韻維持ルーチン８０、ＦＦＴモジュール８２、および低域通過フィルタ９０の動作は、フレーム制御プロセスルーチン９８によって操作される。フレーム制御プロセスルーチンは、フレームが同調して動くようにフレームのタイミングを同期させ、周波数領域フレーム全体が、多様な時間領域フレームからなるように、時間領域フレームサイズより大きい周波数領域フレームを組み立てる。フレーム制御プロセスは、実行時順序制御、コントロールおよびデータマネージャ５２内部のリアルタイムスケジューリングおよびＣＰＵ負荷最適配分ルーチンに供給される、ＸＬＡ、ＸＬＢ、ＸＬＡＦ、ＸＬＢＦバッファの多様なサンプルレートおよびフレームサイズも同期させる。
【００３３】
図４は、図２に示す音声処理システムの動作において起こるデータフローの拡大図を含む、そのシステムをより詳細に示すブロック図を示す。図に示すように、複数の音声源入力チャネルＣＨ．１、ＣＨ．２．．．．ＣＨ．Ｎを示してある。上述したように、音声源入力チャネルＣＨ．１、ＣＨ．２．．．．ＣＨ．Ｎはそれぞれ、多様なサンプルレートに分けられた時間領域音声源サンプルを、さらに処理するためにそれぞれの周波数領域バッファに変換するのに用いられる実行時入力チャネル処理ルーチン５０（図３）によって処理される。上述したように、各チャネル向けの周波数領域サンプルは、それぞれ参照番号１０２、１０３、１０４で識別される複数のフレームバッファＸＬＢｆ１、ＸＬＡｆ２．．、ＸＬＡｆＮに格納され、１つのフレームバッファが各チャネルに対応する。フレームバッファ１０２、１０３、１０４はそれぞれ、Ｎ個の音声入力チャネルの対応する１つから一度に１フレームの入力音声サンプルを受け取るだけのサイズ、例えば２０４８個の３２ビットサンプル分である。実行時メモリ１００は、例えば、Ｍ個の音響特性（すなわち、音響空間モデルまたは他の音響特性）に対するＭ個のインパルス応答の係数、ならびにそのそれぞれのコントロールパラメータ、索引、およびバッファを表す複数のデータ構造１０６、１０７、１０８も含む。インパルス応答データは、Ｉ／Ｏコントロールルーチン１１１を介してロードおよびプロセスルーチン１１０によって監視されるユーザコマンドに応答して、係数メモリ記憶装置６０から、ロードおよびプロセスルーチン１１０によって取得される。ルーチン１１０は、ルーチン６２、６４（図２）から構成される。具体的には、Ｉ／Ｏコントロールルーチンは、単に、図１Ａまたは１Ｂに示すＧＵＩへのユーザ入力を監視し、ユーザが選択した音響特性に対応する係数のデータ構造を取り出す。ロードおよびプロセスルーチン１１０は単に、選択されたデータ構造を、チャネル単位で実行時メモリ１００にロードする。こうしたデータ構造は、実行時メモリ中で、インパルス１  １０６、インパルス２  １０７．．．インパルスＭ１０８と識別される。図４に示すように、フレームバッファ１０２、１０３、１０４からの周波数領域データＰＸＬＢｆ１、ＰＸＬＡｆ１、ＰＸＬＢｆ２、ＰＸＬＡｆ２、．．．ＰＸＬＢｆＮ、ＰＸＬＡｆＮおよびデータ構造ｐｌｃ１  １０６、ｐｌｃ２  １０７．．．ｐｌｃＭ１０８は、チャネル順序制御モジュール１１８に伝達され、モジュール１１８は、データを、プロセス５３による処理のために時間多重化する働きをする。具体的には、チャネル順序制御モジュール１１８からプロセスチャネルモジュール１２０に渡される情報は、Ｎ個の音声入力チャネルそれぞれに対して、その音声入力チャネル（ＰＸＬＢｆ（ｉ）、ｉ＝１、２、．．．Ｎ）を介して受信されたデータの各フレームの時間同期した第１のフレーム化部分を表すデータ、その音声入力チャネル（ＰＸＬＡｆ（ｉ）、ｉ＝１、２、．．．Ｎ）を介して受信された同じデータの時間同期した第２のフレーム化部分を表すデータを含む。他の変数も、プロセスチャネルモジュール５３に渡される。ＰＩｃ（ｉ）は、インパルスチャネル（ｉ）のｔａｇＤｙｎ���ｍｉｃＣｈａｎｎｅｌＤａｔａデータを指すポインタであり、ＰＩＯＢｕｆ（ｉ）は、インパルスチャネル（ｉ）の出力バッファを指すポインタであり、ｄｗＦＲＡＭＥＳｉｚｅは、ホストによってコールされる度にプロセスチャネルルーチン５３に入力され出力される時間領域サンプルの数であり、ＰＩは、インスタンスにとって一意であるが、各インスタンスに対する複数のチャネルの間で共有されるインスタンスデータ構造を指すポインタであり、シミュレートされたステレオは、シミュレートされたステレオ機能を有効にし／無効にする制御ビットであり、Ｍ／Ｓデコードは、ミッドサイド音声デコーダ機能を有効にし／無効にする制御ビットであり、コントロールは、リアルタイム処理のＣＰＵ負荷最適配分を容易にするように、左右のチャネルが別個のフレーム上で処理されることを可能にするリアルタイムスケジューリング制御ビットである。このデータはすべて、チャネル順序制御モジュール１１８からプロセスチャネルルーチン１２０へ通過する。やはり図４に示すように、矢印１２２で示す、プロセスチャネルルーチン５３と実行時メモリ１００の間の双方向通信が提供される。
【００３４】
参照番号１１２、１１３、１１４で識別される複数のＴ個の出力バッファＯＵＴ１、ＯＵＴ２．．．ＯＵＴ  Ｔが、実行時メモリ１００中で提供される。出力バッファ１１２、１１３、１１４はそれぞれ、それぞれのＴ個の出力サンプルストリームを出力する１フレームの出力音声サンプルを一度に受け取るだけのサイズである。入力音声サンプルの各チャネルＣＨ．１、ＣＨ．２．．．ＣＨ．Ｎの、ユーザが選択した音声特性用の出力バッファポインタｐＩＯＢｕｆ１、ｐＩＯＢｕｆ２．．．ｐＩＯＢｕｆＴは、チャネル順序制御モジュール１１８によって時間多重化されて、プロセスチャネル５３を非依存参照し、チャネル５３は、音声出力ストリームを、参照番号１１２、１１３、１１４で識別される出力バッファＯＵＴ１、ＯＵＴ２．．．ＯＵＴ  Ｔにリアルタイムで合成する。
【００３５】
同じ音声処理システム４８の多様なコピーまたは多様なインスタンスを、同時に使うことも、時分割で使うこともできる。多様なインスタンスは、例えば、異なる音楽楽器の同時処理を可能にする。例えば、オーケストラにおける、マイクロホンに相対した各楽器の相対的な場所をシミュレートすることができる。このような楽器は同時に演奏されるので、音声処理システム４８の多様なコピーまたはインスタンスが、影響をリアルタイムで合成するのに要求される。このようなものとして、チャネル順序制御モジュール１１８は、コピーまたはインスタンスのすべての適切な参照を、プロセスチャネルモジュール５３に提供しなければならない。このようなものとして、参照番号１１６で識別されるインスタンスデータバッファＪが、実行時メモリ１００中で、利用される音声処理システム４８の各インスタンスごとに提供される。
【００３６】
本発明に関与する音声処理を明確に理解させるために、例示的なインパルス応答入力信号の時間領域表現を、図６にグラフで示してある。図に示すように、インパルス入力信号は、Ｂ）で示す時間的に第１の部分と、Ａで示す、連続する時間的に第２の部分と、時間的に第２の部分Ａを連続的に越える「余韻」部分とを含む。時間領域内で、インパルス入力信号を、サンプルのグループに分割することができる。インパルス入力信号の第１の部分（これ以降、「Ｂ部分」と呼ぶ）は好ましくは、ＦＦＴブロックＸＬＥＮＡ２に対する大きい方のフレームサイズに対応するいくつかのサンプルを含み、時間的に第２の部分（これ以降、「Ａ部分」と呼ぶ）は好ましくは、このようないくつかのサンプルフレームからなる。ＦＦＴブロックＸＬＥＮＢ２用には、小さい方のフレームサイズ、例えば、例示的な実施形態では大きい方のブロックサイズの８分の１がある。図６に示す音声信号をなすサンプル総数を、ＦＴＡＰＳ２で示す。図示してある音声インパルス応答または入力信号をなすサンプルの集約集合体内部での相対的な位置を指定するのに、ポインタｈｉｎｄｅｘが使われる。
【００３７】
Ａ部分およびＢ部分に対する一意のｈｉｎｄｅｘ、すなわちそれぞれＨｉｎｄｅｘＡおよびＨｉｎｄｅｘＢがある。図８は、図５においてブロック１７０で示した係数索引順制御ルーチンを示し、ＸＬＥＮＡ２、ＸＬＥＮＢ２、ＨｉｎｄｅｘＡ、ＨｉｎｄｅｘＢ、およびＨＬＥＮＡＡから導出された係数索引順制御を示し、このうちの後の方は、ターボモードで動作する際、ＸＬＥＮＡ２のサイズの半分にスケーリングされ、ターボモードで動作しない場合は、ＸＬＥＮＡ２に等しい。ＨｉｎｄｅｘＡおよびＨｉｎｄｅｘＢ索引は、ブロック５３で導出され、制御信号ＬＰｈａｓｅＡＢによって、適応フィルタ内部の係数を適合させるように切り換えられて、インパルス応答のＡおよびＢ部分を調節する。
【００３８】
図５は、上述したプロセスチャネルルーチン５３（図２、４）、具体的には、インテルペンティアム（登録商標）４プロセッサなど、汎用ＣＰＵ上で、大幅に削減されたプロセッサ負荷で使用するための、本発明による擬似畳込み処理ルーチンの動作をより詳細に示すブロック図を示す。従来の周波数領域畳込みは、単に、周波数領域被乗数のベクトル乗算であり、その後に、時間変化しない単一の統一された固定サンプルレートおよびブロックサイズでの積の逆フーリエまたは高速フーリエ変換が続き、その結果、計算およびスループットがはるかに高くなる。従来の畳込みは、マルチレート入力音声信号、マルチレートインパルス応答のフレーム化、同期、または処理に必要なプロセスも含まず、所与のインパルス応答に対する時間変化係数を用いた適応フィルタも利用しない。
【００３９】
図５に示すように、図４で「コントロール」として識別される、チャネル順序制御モジュール１１８からの動的チャネルデータ１５０が、プロセスチャネルルーチン５３に与えられる。具体的には、各コピーまたは音声処理システム４８のインスタンスに対して、チャネル順序制御ルーチンは、各チャネルごとの動的データ構造１５０を、ユーザが選択した音声特性および入ってきた音声源サンプルに基づいて定式化する。より具体的には、上述したように、入力音声サンプルが、周波数領域にコンバートされ、実行時メモリ１００に格納される。ユーザ選択可能な様々な音響特性へのインパルス応答係数も、同様に実行時メモリ１００に格納される。このデータはすべて、データ構造、例えば、図５に示す例示的なデータ構造１５０に定式化される。１つのデータ構造１５０が、現在リアルタイムで処理されている畳込みの各チャネルごとに提供され、別個の入力チャネルを割り当てられる。
【００４０】
データ構造１５０は、図に示すように、複数の例示的なデータフィールド１５２、１５４、１５６、１５８、１６０、１６２、１６４、１６６、１６８を含み得る。図５に示すように、有限インパルス応答（ＦＩＲ）フィルタの周波数領域係数Ｈｘ（Ｆ）が、フィールド１５４を形成するのに使われる。図４で識別されるｐＩｃ（ｎ）ポインタによってポイントされる構造内の特定の参照を介してアクセスされるフィールド１５２は、（１）時間的に第１の部分インパルス応答入力データが処理されていることを表す索引参照（ｈｉｎｄｅｘ  Ｂ）、（２）インパルス応答入力データの時間的に第２の部分が処理されていることを表す索引参照（ｈｉｎｄｅｘ  Ａ）、および（３）実行時ＭｉｃＬｅｖｅｌ、Ｐｅｒｓｐｅｃｔｉｖｅ、ＤｉｒｅｃｔＬｅｖｅｌ、余韻継続音声処理コントロールパラメータなどの追加コントロールデータを表す２つの索引を表すのに使うことができる。シミュレートされたステレオコントロール実行時パラメータ、および他の音声デジタル信号処理パラメータはロード時または実行時音声処理に関連づけられている。これらについては、下のｔａｇＤｙｎａｍｉｃＣｈａｎｎｅｌＤａｔａデータ構造テーブルでさらに記述する。
【００４１】
フィールド１５４（図５）は、周波数領域フィルタ係数Ｈｘ（ｆ）を含み、この係数は、音響インパルス応答の形でもよく、ＦＩＲの形でシミュレートされる音響モデルの周波数領域表現（例えば、特定の音響空間、特定のマイクロホン、特定の音楽楽器本体共鳴特性など）を投入することができる。この有限ＦＩＲは、周波数領域表現を調節するために、音響モデルをなす時間領域サンプルの数を２倍に調節するだけのサイズ（すなわち、ＩＭＰＳＩＺＥ＊２）であるデータ構造Ｈｘ（ｆ）に格納される。
【００４２】
フィールド１５６は、動的に生成され、Ｎ個のチャネルに対して、係数索引順制御ルーチン１７０によってポイントされるＦＩＲ係数のベクトル乗算器１７２および、参照番号１７４で識別されるボックス中に示される周波数領域音声源入力データＸＬＢＦ、ＸＬＡＦからのベクトル乗算の積の中間部を含む。バッファＸＬＢＦは、フルサンプルレート、インパルス応答の前半部分、または（図３）からフィールド９４への周波数領域出力中のＦＩＲフィルタ係数を含み、ターボモードが可能にされると、バッファＸＬＡＦは、ハーフサンプルレート、インパルス応答の後半部分、または（図３）からフィールド９６への周波数領域出力中のＦＩＲフィルタ係数を含む。Ｃｆ中間積は、逆高速フーリエ変換ルーチンＩＦＦＴ１７６によって時間領域にコンバートされ、フィールド１５８に格納される。フィールド１５８中の時間領域データ、Ｈｌｅｎ、ｈａｌｆＨｌｅｎは、音声集合および索引順制御ルーチン１７８に与えられ、集合索引データ、すなわちフィールド１６０中のａｃｏｌｉｎｄｅｘＡ＆Ｂ、ａｃｏｌｉｎｄｅｘＰｒｅｖＡ＆Ｂとともに、後で述べるように、データをフィールド１６２、１６４、１６６で展開するのに用いられる。
【００４３】
Ｈｌｅｎは、時間領域の形で、１フレームの周波数領域データの相当物を表す。ｈａｌｆＨｌｅｎは、時間領域の形で、周波数領域データの２分の１フレームの相当物を表す。
【００４４】
フィールド１６０は、インパルス応答のＢ部分に対する音声集合バッファ中の過去および現在のフレームへの索引（それぞれ、ａｃｏｌｉｎｄｅｘｐｒｅｖＢおよびａｃｏｌｉｎｄｅｘＢ、インパルス応答のＡ部分に対しては、それぞれ、ａｃｏｌｉｎｄｅｘｐｒｅｖＡおよびａｃｏｌｉｎｄｅｘＢを含む。フィールド１６２は、ブロック１７８ａ（図７）（重複加算または重複減算を容易にする中間累積）で示すフルサンプルレートで起こり、フレームに基づくオーバーラップおよびモジュロアドレッシングを包含する処理に対応する音声集合バッファ（ａｃｏｌ）１６２を含む。このバッファ（ａｃｏｌ）１６２は、ブロック１９２（図７）で示すように、モジュロアドレッシングされ、後続フレームが重複加算され、または重複減算されるインパルスサイズ長（インパルス応答の時間領域長）のサイズである。
【００４５】
図９および図１０は、音声集合および索引順制御１７８での音声収集およびｈｉｎｄｅｘ索引の保持に関するより細部を示す。ベクトル乗算１７２に対するコールに先立って、ＸＬｅｎＡまたはＸｌｅｎＢどちらかにＨｌｅｎが割り当てられ、ａｃｏｌｉｎｄｅｘが、ａｃｏｌｉｎｄｅｘＡまたはａｃｏｌｉｎｄｅｘＢに割り当てられ、それぞれのインパルス係数および集合体バッファ索引が、モジュロアップデートされる。これは、周波数領域フィルタ係数を、同じフィルタモジュール内部のインパルス応答の多様な部分のブロック処理にオンザフライで適合させるように行われる。
【００４６】
図１０に示すように、図６に示した係数索引ｈｉｎｄｅｘは、図６に示す波形のどの部分が処理されているかに応じて設定される。図１０に示すように、判断ブロック２０３で判定されるように図６で「ｂ」と識別された、波形の前半部が処理されている場合、係数索引ｈｉｎｄｅｘは、０にセットされる。判断ブロック２０５で判定されるように図６で「ａ」と識別された、波形の後半部分が処理されている場合、係数索引は、部分「ａ」の開始であるＸｌｅｎＡ２に設定される。
【００４７】
（図７）に示すように、ベクトル乗算およびＩＦＦＴ段階が、ターボモードでのフルサンプルレートの半分で動作しているとき、および判断ブロック２００で判定されたように部分Ａからのサンプルを処理しているとき、音声集合および索引順制御ルーチン１７８（図５）によって生成された音声集合および索引順制御フィールドならびにそれぞれの集合索引は、それぞれの音声フレームを、ｃｔフィールド１５８からバッファ（ａｃｏｌｈ）、すなわち音声収集ハーフサンプルレートフィールド１６４に位相調整し重複加算する。やはり（図７）に示すように、余韻継続が選択され設定され、判断ブロック１７８ｂで判定されたように、係数索引ｈｉｎｄｅｘが、余韻集合の限度より大きい場合、音声集合および索引順制御ルーチンは、ブロック１７８ｃで示すように動作し、音声集合および索引順制御フィールド１７８（図５）ならびにそれぞれの集合索引は、それぞれの音声フレームを、ｃｔフィールド１５８からバッファａｃｏｌＤＨ、すなわち音声収集ディレイハーフレートフィールド１６６に位相調整し、重複加算し、または重複減算する。ａｃｏｌｈ１６４およびａｃｏｌＤＨバッファ１６６は、ブロック１９２（図７）で示すようにモジュロアドレッシングされ、インパルスサイズの半分の長さに１：２のアップサンプルフィルタフィールド１８０中のタップ数を足したもののサイズであり、タップ長は、ＦＩＲタイプフィルタ特有のバッファ末尾の重複を容易にするために、バッファサイズに加算される。
【００４８】
全ハーフサンプルレート処理が、集合索引による適切な位相に従って相殺され、ａｃｏｌｈに重複加算された後、１：２のアップサンプルブロックフィールド１８０は、ハーフサンプルレートデータをフルサンプルレートに変換し、結果を音声収集フルサンプルレートバッファフィールド１６２に累積する。
【００４９】
全ハーフサンプルレート余韻継続処理が、集合索引による適切な位相に従って相殺され、ａｃｏｌＤＨに重複加算された後、余韻継続の１：２のアップサンプルブロックフィールド１８２は、この余韻継続ハーフサンプルレートデータをフルサンプルレートに変換し、結果を余韻継続音声収集ディレイフルレートバッファ、ａｃｏｌＤ、フィールド１６８に累積する。
【００５０】
余韻継続処理は、インパルス応答のまさに最後の部分をモデリングして、畳込み処理が非常にＣＰＵ集約的であるという事実を緩和するためにユーザによって任意選択で有効にされる。より具体的には、不可聴あるいはインパルス応答の前半部分より重大でない点に近づいている可能性があるインパルス応答の部分に貴重な計算時間を費やすのではなく、余韻継続モデリングは、アルゴリズムモデルをはるかに低い計算負荷で利用する。例えば、インパルス応答の持続期間が４秒の場合、最後の１秒は、応答の前半部のみのために割増し畳込み処理時間を保存するようにモデリングすることができる。
【００５１】
図１１は、例示的な余韻継続モデルである。図１１に示すモデルは例示であり、図に示すように、２つの基本ルーチン、すなわちコピースケールルーチンａｓｍｃｐｙｓｃａｌｅ２０７およびフィルタルーチンａｓｍｆｂｋｆｉｌｔ２０９を含む。他の構成も本発明の範囲内である。音声データは読み書きバッファａｃｏｌＤ１６８に書き込まれる。図５に示すように、余韻継続処理ルーチンは、バッファａｃｏｌＤ中のこのデータを処理し、図５に示すようにバッファａｃｏｌに戻す。
【００５２】
畳込み処理の後半部分、例えば我々の４秒のインパルス例における３秒目は、バッファ、すなわちａｃｏｌＤＨにハーフサンプルレートで、またはａｃｏｌＤにフルサンプルレートでコピーすることができる。余韻継続モデルは、従来の反響アルゴリズムと同様に、遅い応答に同期され加えられる。ティンバーマッチング、実際のインパルスの余韻レベルへの音量マッチングのための音量コントロール、フィードバックおよび重複パラメータ用の低域通過フィルタが存在し、これらはすべて、畳込み処理からアルゴリズム処理への円滑な遷移を容易にする。
【００５３】
本発明の重要な態様は、音楽シンセサイザエンジン用の音楽サンプラであるサンプラまたはシンセサイザ内部への畳込み技術の組込みおよび制御に関し、この技術が行う内容は、仮想音楽楽器の説明に対する追加である。一例は、アコースティックピアノのモデリングに関する。この例において、ピアノの共鳴板の共鳴の動きがエミュレートされる。この例では、ピアノの共鳴板のインパルス応答を制御するパラメータは、ピアノでの個々の調のオリジナルサンプル、およびアコースティックピアノの共鳴板の動きがモデルバージョンと同じになるように畳込み境界をリアルタイムに動的にスケーリングするためのコントロールパラメータ両方を含むファイル記述に保存することができる。したがって、本質的に、本システムは、畳込み関連パラメータをシンセサイザエンジン内部に組み込み、制御し、したがって、その畳込みプロセスを、仮想音楽楽器処理自体の内部に組み込む。通常、サンプラまたはシンセサイザエンジンは、ピッチコントロール、低周波数発振器すなわちＬＦＯ、およびエンベロープジェネレータを与える補間器を含む。エンベロープジェネレータは、畳込みプロセスを介して経路指定される音声をすべてが処理している長期に渡る振幅の動的制御をもたらし、ここで、音の制御およびモデリングの他の側面は、畳込みプロセスを動的に制御するシンセサイザエンジンによるものである。畳込みプロセスの動的な制御の例は、畳込みレベルコントロールの前および後制御、減衰ペダルがもち上げられる際のピアノの共鳴板の減衰をシミュレートする畳込みバッファ中からの音声エネルギーの減衰、ウェット／ドライの変更、音の様々な属性を表す様々なインパルス応答の加算および減算、「遠近感コントロール」の変更である。「遠近感コントロール」に関しては、このコントロールが行うのは、音楽楽器が演奏されている際のリアルタイムでのインパルス応答のエンベロープの変更である。こうしたプロセスをすべて組み合わせることによって、物理的楽器を、以前より大幅に詳細かつ正確にモデリングすることができる。
【００５４】
音楽楽器の音に関連づけられたインパルス応答、インパルス応答に関連づけられた制御パラメータ、ある楽器の単一または多様な調を表すデジタル音サンプル、シンセサイザエンジンフィルタ用のコントロールパラメータ、ＬＦＯ、エンベロープジェネレータ、補間器、および音ジェネレータが、音楽楽器の１つのファイル構造表現に一緒に格納される、様々なファイル構造を利用することができる。このファイル構造は、合成音のこうしたｃｈａｒａｔｅｒｓそれぞれを表す単一または多様なデータフィールドを有し、こうした特徴は、様々なファイルデータタイプを使って様々に編成することができる。この音楽楽器のファイル構造は、周囲の環境、楽器本体の共鳴、マイクロホンタイプ、マイクロホンの配置、または合成音の他の音声特徴を含み得る。ファイル構造例は、インパルス応答１．．．インパルス応答（ｎ）、インパルス応答１インパルスコントロール１．．．インパルス応答１インパルスコントロール（ｍ）、インパルス応答（ｎ）インパルスコントロール１．．．インパルス応答（ｎ）インパルスコントロール（ｍ）、デジタル音サンプル１．．．デジタル音サンプル（ｐ）、サンプラエンジンコントロールパラメータ１．．．サンプラエンジンコントロールパラメータ（ｑ）、シンセサイザエンジンコントロールパラメータ１．．．シンセサイザエンジンコントロールパラメータ（ｒ）、他のファイルへのポインタ１、．．他のファイルへのポインタ（ｎ）のようになる。こうしたパラメータは、一体となって、音楽楽器または音の質感ジェネレータの音の動きを表し、ユーザ性能データを介したシンセサイザエンジン内部でのインパルス応答およびその対話性は、楽器モデルによって生じた音に寄与する。］
例示的なチャネルデータ構造を下に示す。チャネル順序制御ルーチン１１８（図４）は、プロセスチャネルに供給される特定のポインタおよびコントロールを選ぶ［ジム、ここでより優れた定義を与える必要がある］。このデータ構造の各インスタンスは、実行時メモリ１００の中の１つの動的チャネルデータインパルスブロックを表す。「重複加算」方法（技術的には、ダウンストリーム位相が逆転した重複減算）によって、（組み合わされる部分において）区分的畳込みが行われる。
【００５５】
【表１】
2007534214.tif 000003
【００５６】
【表２】
2007534214.tif 000004
【００５７】
【表３】
2007534214.tif 000005
【００５８】
上記の説明は、本発明を実施する最良モードを当業者に教示する目的のためであり、例示としてのみ解釈されるべきである。この説明を鑑みて、本発明の多様な修正形態および代替形態が当業者には明らかであり、開示した構造の詳細は、本発明の精神から実質的に逸脱することなく変わり得る。したがって、添付の特許請求の範囲内でのすべての修正形態の独占的使用が保持される。
【００５９】
特許状によりカバーされるべき、権利を主張し要望する内容は、特許請求の範囲に続く。
【００６０】
【表４】
2007534214.tif 000006
【００６１】
【表５】
2007534214.tif 000007
【００６２】
【表６】
2007534214.tif 000008
【００６３】
【表７】
2007534214.tif 000009
【００６４】
【表８】
2007534214.tif 000010
【００６５】
【表９】
2007534214.tif 000011
【００６６】
【表１０】
2007534214.tif 000012
【００６７】
【表１１】
2007534214.tif 000013
【００６８】
【表１２】
2007534214.tif 000014
【図面の簡単な説明】
【００６９】
【図１Ａ】本発明とともに使用するための例示的なグラフィカルユーザインターフェースを示す図である。
【図１Ｂ】本発明とともに使用するための例示的なグラフィカルユーザインターフェースを示す図である。
【図１Ｃ】本発明とともに使用するための例示的な代替グラフィカルユーザインターフェースを示す図である。
【図１Ｄ】本発明とともに使用するための例示的な代替グラフィカルユーザインターフェースを示す図である。
【図２】本発明の一実施形態を示す高レベルブロック図である。
【図３】本発明による、図１のブロック５０で示した実行時入力チャネル処理ルーチンの例示的な実施形態を示すブロック図である。
【図４】図２に示される実施形態を示すより詳細なブロック図である。
【図５】本発明による、図２のブロック５３で示したプロセスチャネルルーチンを示すブロック図である。
【図６】例示的なサウンドインパルスの時間領域表現を示す図である。
【図７】本発明による音声集合および索引サービスルーチン用の異なる動作モードを示すブロック１７８ａ、１７８ｂ、１７８ｃで表される、本発明による、図５のブロック１７８で示した音声集合および索引順制御ルーチンを示すブロック図である。
【図８】本発明による、図５のブロック１７０で示した係数索引順制御ルーチンを示すブロック図である。
【図９】本発明による、図７のブロック１９２で示した集合索引モジュロアップデートルーチンを示すブロック図である。
【図１０】本発明によるフレームモジュロアップデートを示すブロック図である。
【図１１】本発明による余韻継続（ｔａｉｌ  ｅｘｔｅｎｓｉｏｎ）処理を示す例示的なブロック図である。
【図１２】本発明とともに使用するための計算プラットフォームを示すハードウェアブロック図である。
【図１Ａ】
2007534214.tif 000015
【図１Ｂ】
2007534214.tif 000016
【図１Ｃ】
2007534214.tif 000017
【図１Ｄ】
2007534214.tif 000018
【図２】
2007534214.tif 000019
【図３】
2007534214.tif 000020
【図４】
2007534214.tif 000021
【図５】
2007534214.tif 000022
【図６】
2007534214.tif 000023
【図７】
2007534214.tif 000024
【図８】
2007534214.tif 000025
【図９】
2007534214.tif 000026
【図１０】
2007534214.tif 000027
【図１１】
2007534214.tif 000028
【図１２】
2007534214.tif 000029
【手続補正書】
【提出日】平成17年5月23日(2005.5.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オーディオパフォーマンスを表し、第１のサンプルレートでの複数の音声入力サンプルを含む入力音声ストリームを受け取る手段と、
音響効果に対応するインパルス応答を表すデータを受け取る手段と、
前記応答時間の部分に対する前記インパルス応答を表す前記データで前記音声入力サンプルを畳み込み、前記応答時間の残りの間に出力音声システムをモデリングすることによって、前記入力音声ストリームおよび前記インパルス応答に基づいて、応答時間中に出力音声ストリームを生成する手段とを備えることを特徴とするシンセサイザ。
【請求項２】
ユーザから、前記音響効果の指示を受け取る手段をさらに備えることを特徴とする請求項１に記載のシンセサイザ。
【請求項３】
前記音響効果は、前記オーディオパフォーマンスの音響上の変更を含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項４】
前記入力音声ストリームは、複数の入力チャネルそれぞれに対する複数の音声入力サンプルを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項５】
前記出力音声ストリームは、複数の出力チャネルを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項６】
前記音響効果は、特定のマイクロホンを用いて前記オーディオパフォーマンスの録音を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項７】
前記音響効果は、特定のマイクロホン配置を用いて前記オーディオパフォーマンスの録音を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項８】
前記音響効果は、特定の音楽的状況を用いて前記オーディオパフォーマンスの録音を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項９】
前記音響効果は、特定の楽器本体を使って前記オーディオパフォーマンスの少なくとも一部分の演奏を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項１０】
前記音響効果は、特定の楽器配置を使って前記オーディオパフォーマンスの少なくとも一部分の演奏を音響的にシミュレートすることを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項１１】
前記生成手段は、前記出力音声ストリームの余韻部分を再帰的に外挿する手段を備えることを特徴とする請求項１に記載のシンセサイザ。
【請求項１２】
前記演奏は、第１の数のソースチャネルを含み、前記生成手段によって生成された前記出力音声ストリームは、前記第１の数のソースチャネルより多い第２の数の出力チャネルを含むことを特徴とする請求項１に記載のシンセサイザ。
【請求項１３】
前記演奏は、単一のソースチャネルのみを含み、前記出力音声ストリームは、前記単一のソースチャネルのシミュレートされたステレオバージョンを含むことを特徴とする請求項１２に記載のシンセサイザ。
【請求項１４】
１つまたは複数の音響効果を合成する音響シンセサイザであって、
入力音声ストリームを受け取り、前記入力音声ストリームを所定のファイル構造に格納する入力サブシステムと、
音響効果をエミュレートし、前記入力音声ストリーム、および前記所定のファイル構造に格納された１つまたは複数の音響パラメータによって画定された前記音響効果に応じて出力音声ストリームを生成する音響シンセサイザサブシステムとを備えることを特徴とする音響シンセサイザ。
【請求項１５】
前記音響シンセサイザサブシステムは、リアルタイムで前記音響効果および結果として生じる出力音声ストリームを変更するシステムを含むことを特徴とする請求項１４に記載の音響シンセサイザ。
【請求項１６】
前記所定のファイル構造は、複数のデータフィールドを含むことを特徴とする請求項１４に記載の音響シンセサイザ。
【請求項１７】
前記複数のデータフィールドは、複数のデータタイプを定義することを特徴とする請求項１６に記載の音響シンセサイザ。
【請求項１８】
前記データタイプの少なくとも１つは、周囲環境データを含むことを特徴とする請求項１７に記載の音響シンセサイザ。
【請求項１９】
前記複数のデータフィールドは、楽器を定義することを特徴とする請求項１６に記載の音響シンセサイザ。
【請求項２０】
前記複数のデータフィールドは、マイクロホンタイプを定義することを特徴とする請求項１６に記載の音響シンセサイザ。
【請求項２１】
前記複数のデータフィールドは、ドキュメントを定義することを特徴とする請求項１６に記載の音響シンセサイザ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
本発明に関与する音声処理を明確に理解させるために、例示的なインパルス応答入力信号の時間領域表現を、図６にグラフで示してある。図に示すように、インパルス入力信号は、「ｂ」）で示す時間的に第１の部分と、「ａ」で示す、連続する時間的に第２の部分と、時間的に第２の部分「ａ」を連続的に越える「余韻」部分とを含む。時間領域内で、インパルス入力信号を、サンプルのグループに分割することができる。インパルス入力信号の第１の部分（これ以降、「ｂ」部分」と呼ぶ）は好ましくは、ＦＦＴブロックＸＬＥＮＡ２に対する大きい方のフレームサイズに対応するいくつかのサンプルを含み、時間的に第２の部分（これ以降、「ａ」部分」と呼ぶ）は好ましくは、このようないくつかのサンプルフレームからなる。ＦＦＴブロックＸＬＥＮＢ２用には、小さい方のフレームサイズ、例えば、例示的な実施形態では大きい方のブロックサイズの８分の１がある。図６に示す音声信号をなすサンプル総数を、ＦＴＡＰＳ２で示す。図示してある音声インパルス応答または入力信号をなすサンプルの集約集合体内部での相対的な位置を指定するのに、ポインタｈｉｎｄｅｘが使われる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
「ａ」部分および「ｂ」部分に対する一意の係数、すなわちそれぞれＨｉｎｄｅｘＡおよびＨｉｎｄｅｘＢがある。図８は、図５においてブロック１７０で示した係数索引順制御ルーチンを示し、ＸＬＥＮＡ２、ＸＬＥＮＢ２、ＨｉｎｄｅｘＡ、ＨｉｎｄｅｘＢ、およびＨＬＥＮＡＡから導出された係数索引順制御を示し、このうちの後の方は、ターボモードで動作する際、ＸＬＥＮＡ２のサイズの半分にスケーリングされ、ターボモードで動作しない場合は、ＸＬＥＮＡ２に等しい。ＨｉｎｄｅｘＡおよびＨｉｎｄｅｘＢ索引は、ブロック５３で導出され、制御信号ＬＰｈａｓｅＡＢによって、適応フィルタ内部の係数を適合させるように切り換えられて、インパルス応答の「ａ」および「ｂ」部分を調節する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
音楽楽器の音に関連づけられたインパルス応答、インパルス応答に関連づけられた制御パラメータ、ある楽器の単一または多様な調を表すデジタル音サンプル、シンセサイザエンジンフィルタ用のコントロールパラメータ、ＬＦＯ、エンベロープジェネレータ、補間器、および音ジェネレータが、音楽楽器の１つのファイル構造表現に一緒に格納される、様々なファイル構造を利用することができる。このファイル構造は、合成音のこうした特徴それぞれを表す単一または多様なデータフィールドを有し、こうした特徴は、様々なファイルデータタイプを使って様々に編成することができる。この音楽楽器のファイル構造は、周囲の環境、楽器本体の共鳴、マイクロホンタイプ、マイクロホンの配置、または合成音の他の音声特徴を含み得る。ファイル構造例は、インパルス応答１．．．インパルス応答（ｎ）、インパルス応答１インパルスコントロール１．．．インパルス応答１インパルスコントロール（ｍ）、インパルス応答（ｎ）インパルスコントロール１．．．インパルス応答（ｎ）インパルスコントロール（ｍ）、デジタル音サンプル１．．．デジタル音サンプル（ｐ）、サンプラエンジンコントロールパラメータ１．．．サンプラエンジンコントロールパラメータ（ｑ）、シンセサイザエンジンコントロールパラメータ１．．．シンセサイザエンジンコントロールパラメータ（ｒ）、他のファイルへのポインタ１、．．他のファイルへのポインタ（ｎ）のようになる。こうしたパラメータは、一体となって、音楽楽器または音の質感ジェネレータの音の動きを表し、ユーザ性能データを介したシンセサイザエンジン内部でのインパルス応答およびその対話性は、楽器モデルによって生じた音に寄与する。］
例示的なチャネルデータ構造を下に示す。チャネル順序制御ルーチン１１８（図４）は、プロセスチャネルに供給される特定のポインタおよびコントロールを選ぶ［ジム、ここでより優れた定義を与える必要がある］。このデータ構造の各インスタンスは、実行時メモリ１００の中の１つの動的チャネルデータインパルスブロックを表す。「重複加算」方法（技術的には、ダウンストリーム位相が逆転した重複減算）によって、（組み合わされる部分において）区分的畳込みが行われる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
【図１Ａ】本発明とともに使用するための例示的なグラフィカルユーザインターフェースを示す図である。
【図１Ｂ】本発明とともに使用するための例示的なグラフィカルユーザインターフェースを示す図である。
【図１Ｃ】本発明とともに使用するための例示的な代替グラフィカルユーザインターフェースを示す図である。
【図１Ｄ】本発明とともに使用するための例示的な代替グラフィカルユーザインターフェースを示す図である。
【図２】本発明の一実施形態を示す高レベルブロック図である。
【図３】本発明による、図２のブロック５０で示した実行時入力チャネル処理ルーチンの例示的な実施形態を示すブロック図である。
【図４】図２に示される実施形態を示すより詳細なブロック図である。
【図５】本発明による、図２のブロック５３で示したプロセスチャネルルーチンを示すブロック図である。
【図６】例示的なサウンドインパルスの時間領域応答を示す図である。
【図７】本発明による音声集合および索引サービスルーチン用の異なる動作モードを示すブロック１７８ａ、１７８ｂ、１７８ｃ−で表される、本発明による、図５のブロック１７８で示した音声集合および索引順制御ルーチンを示すブロック図である。
【図８】本発明による、図５のブロック１７０で示した係数索引順制御ルーチンを示すブロック図である。
【図９】本発明による、図７のブロック１９２で示した集合索引モジュロアップデートルーチンを示すブロック図である。
【図１０】本発明によるフレームモジュロアップデートを示すブロック図である。
【図１１】本発明による余韻継続（ｔａｉｌ  ｅｘｔｅｎｓｉｏｎ）処理を示す例示的なブロック図である。
【図１２】本発明とともに使用するための計算プラットフォームを示すハードウェアブロック図である。
【国際調査報告】
2007534214.tif 000030