(57)【特許請求の範囲】
【請求項１】
オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
第１のオーディオ信号の生成を行う第１のオーディオ信号処理手段と、
前記第１のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第２のオーディオ信号を生成する複数の第２のオーディオ信号処理手段と、
コンピュータのシステムメモリと、
前記第１のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第１のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第２のオーディオ信号処理手段に転送するオーディオ信号転送手段と、
前記第１のオーディオ信号と複数の前記第２のオーディオ信号を合成して出力する出力手段と、
を具備することを特徴とするオーディオ信号生成装置。
【請求項２】
オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
アプリケーションプログラムに従って、オーディオ信号の生成に必要な制御データおよびオーディオ信号に対するエフェクト処理に必要な制御データを出力するシステム制御用プロセッサと、
システムメモリと、
前記システム制御プロセッサによる制御の下、複数のチャネルによってサウンド処理を実行する音源プロセッサと、を有し、
前記音源プロセッサは、
第１のチャネルで第１のオーディオ信号の生成を行う第１のオーディオ信号処理手段と、
前記第１のチャネル以外のチャネルで前記第１のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第２のオーディオ信号を生成する複数の第２のオーディオ信号処理手段と、
前記第１のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第１のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第２のオーディオ信号生成手段に転送するオーディオ信号転送手段と、
前記第１のオーディオ信号と複数の前記第２のオーディオ信号とを合成して出力する出力手段と、を具備する
ことを特徴とするオーディオ信号生成装置。
【請求項３】
前記システム制御プロセッサは、前記第２のオーディオ信号を生成すべきタイミングにおいて、前記第２のオーディオ信号処理手段による信号処理を実行するチャネルを決定し、当該信号処理に必要な制御データを前記音源プロセッサに供給する
ことを特徴とする請求項２に記載のオーディオ信号生成装置。
【請求項４】
前記システム制御プロセッサは、前記第２のオーディオ信号を生成すべきタイミングを指定する情報を含む音源制御データを前記音源プロセッサへ供給し、前記音源プロセッサは、前記システム制御プロセッサから受取った音源制御データの示すタイミングにおいて、前記システムメモリに転送された前記第１のオーディオ信号を前記オーディオ信号転送手段により受け取り、前記複数の第２のオーディオ信号処理手段により前記複数の第２のオーディオ信号の生成を行う
ことを特徴とする請求項２に記載のオーディオ信号生成装置。
【請求項５】
前記第１のオーディオ信号に信号処理を施して第３のオーディオ信号を生成する第３のオーディオ信号処理手段をさらに具備し、
前記オーディオ信号転送手段はさらに、前記システムメモリに転送された前記第１のオーディオ信号を、その後の１以上の所定のタイミングにおいて、前記第３のオーディオ信号処理手段に転送し、
前記出力手段はさらに、前記第３のオーディオ信号を合成して出力する
ことを特徴とする請求項１乃至４のいずれかに記載のオーディオ信号生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、音響空間において生じる初期反射音や後部残響音を伴ったオーディオ信号を生成する機能を有するオーディオ信号生成装置に関する。
【０００２】
【従来の技術】
近年のパーソナルコンピュータでは、音源ＬＳＩを搭載して各種のサウンド処理を行うものが多い。そして、最近では、このサウンド処理として、オーディオ信号（楽器音、人声の両方を含む）などを生成する処理の他に、ホールや教会などの様々な音響空間をシミュレートするため、オーディオ信号に音場効果を付与するエフェクト処理が求められている。ここで、実際の音響空間において、その音場を特徴付ける重要な要素として、初期反射音と後部残響音とがある。これらのうち初期反射音は、音源から発したばかりの音がその音響空間を囲む壁によって反射されて聴者の耳に届くものであり、その音響空間の形状、拡がりなどの特徴と強く反映する要素である。従来、この初期反射音を生成するための手段として、図５に例示するようなＦＩＲフィルタを用いる方法や、図６に例示するようなコムフィルタを用いる方法が考えられる。
【０００３】
【発明が解決しようとする課題】
ところで、実際のコンサートホールなどの音響空間においては、経路長の異なった様々な伝播経路を経ることにより、ばらばらなタイミングで多数の初期反射音が聴者の耳に到達する。このような初期反射音を図５に例示するようなＦＩＲフィルタにより生成しようとすると、次の不都合が生じる。すなわち、この方法を採るものとすると、音源が音を発してから各初期反射音が聴者の耳に届くまでの遅延時間は比較的長時間であり、しかも、各初期反射音が聴者の耳に届く時間間隔は不均一であることから、音源から生成されるオーディオ信号を相当な長時間に亙ってメモリに保存し、各初期反射音の聴者への到達タイミングに対応した各時点においてこのオーディオ信号を読み出すという方法により、図５に例示するようなＦＩＲフィルタ処理を行う必要がある。従って、ＦＩＲフィルタの遅延処理Ｄ、Ｄ、…のために必要なメモリ容量が膨大なものとなるのであるが、そのようなメモリを音源ＬＳＩに設けることは経済的観点から見て現実的でない。また、音源ＬＳＩではなく、この音源ＬＳＩによりサウンド処理を実行するパーソナルコンピュータのＣＰＵが初期反射音生成のためのＦＩＲフィルタ処理を行うことも考えられるが、これではＣＰＵ側の負担が過大となる。一方、図５に例示するようなコムフィルタを用いる方法はそれほど多くのメモリ容量を必要としないが、実際の音響空間において得られるような臨場感に富んだ初期反射音を得るのが困難であるという問題がある。
【０００４】
本発明は、以上のような事情に鑑みてなされたものであり、パーソナルコンピュータ等のコンピュータシステムにおいてＣＰＵの負担を招くことなく、かつ、経済的に、遅延時間の長い初期反射音を伴ったオーディオ信号を生成することができるオーディオ信号生成装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
この発明は、オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
第１のオーディオ信号の生成を行う第１のオーディオ信号処理手段と、
前記第１のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第２のオーディオ信号を生成する複数の第２のオーディオ信号処理手段と、
コンピュータのシステムメモリと、
前記第１のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第１のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第２のオーディオ信号処理手段に転送するオーディオ信号転送手段と、
前記第１のオーディオ信号と複数の前記第２のオーディオ信号を合成して出力する出力手段と、
を具備することを特徴とするオーディオ信号生成装置を提供するものである。
【０００６】
また、この発明は、オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
アプリケーションプログラムに従って、オーディオ信号の生成に必要な制御データおよびオーディオ信号に対するエフェクト処理に必要な制御データを出力するシステム制御用プロセッサと、
システムメモリと、
前記システム制御プロセッサによる制御の下、複数のチャネルによってサウンド処理を実行する音源プロセッサと、を有し、
前記音源プロセッサは、
第１のチャネルで第１のオーディオ信号の生成を行う第１のオーディオ信号処理手段と、
前記第１のチャネル以外のチャネルで前記第１のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第２のオーディオ信号を生成する複数の第２のオーディオ信号処理手段と、
前記第１のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第１のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第２のオーディオ信号生成手段に転送するオーディオ信号転送手段と、
前記第１のオーディオ信号と複数の前記第２のオーディオ信号とを合成して出力する出力手段と、
を具備することを特徴とするオーディオ信号生成装置を提供するものである。
【０００７】
【発明の実施の形態】
以下、本発明を更に理解しやすくするため、実施の形態について説明する。
かかる実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【０００８】
Ａ．実施形態の構成
図１はこの発明の一実施形態であるオーディオ信号生成装置を含むコンピュータシステムＡの構成を示すブロック図である。図１において、ＣＰＵ２０はコンピュータシステムＡ全体を制御する手段であり、バス６０を介して他の各構成部分に接続されている。
【０００９】
ＲＡＭ３０は、コンピュータシステムＡのシステムメモリに相当する読み書き可能なメモリである。このＲＡＭ３０は、多数の記憶エリアを有しているが、ある記憶エリアはＣＰＵ２０の作業領域として、別の記憶エリアは各種の波形データＷＤを記憶する周知のウエーブテーブルとして、さらに別の記憶エリアはエフェクト処理における遅延メモリとして各々使用される。本実施形態では、このＲＡＭ３０内に設定された遅延メモリを使用することにより、上述した初期反射音のサンプルデータを生成することができる。
【００１０】
ＲＯＭ４０は、ブートプログラム等が格納された読出専用のメモリである。
ハードディスク５０は、２次記憶装置としてこのコンピュータシステムＡに設けられたものである。このハードディスク５０には、アプリケーションプログラムやデバイスドライバやマイクロプログラムＭＰ等のプログラムと、制御データＣＤや波形データＷＤなどの各種のデータが格納されている。このハードディスク５０に記憶されたデバイスドライバ、マイクロプログラムＭＰおよび波形データＷＤ等は、ＯＳの起動時にバス６０を介してＲＡＭ３０に転送される。
【００１１】
ここで、ハードディスク５０内の波形データＷＤは、例えば、ギターやピアノといった各種の音色に対応する楽器によって実際に発音された楽音等をサンプリングして得られたデータである。この波形データＷＤは、ハードディスク５０に格納されているデータの中から使用頻度の高い音色に対応するものが選択され、ＲＡＭ３０に記憶される。また、ＯＳの起動時の他、ＲＡＭ３０とハードディスク５０との間で必要に応じて波形データＷＤのやり取りが行われる。なお、本実施形態において、波形データＷＤは、ＲＡＭ３０において物理アドレスが連続する連続直線領域に格納される。これは、物理アドレスが不連続であると、論理アドレスから物理アドレスを算出する必要があるため、これを回避してＯＳの負荷を軽減するためである。
【００１２】
また、ハードディスク５０内の制御データＣＤは、上位のアプリケーションによって参照指示され、必要に応じてＲＡＭ３０に転送される。この制御データＣＤは、アプリケーションプログラムから与えられるＭＩＤＩフォーマット等の演奏指示に応答して後述する音源ＬＳＩ１０を駆動するためのデータであり、音色情報（当該音色に対応する波形データＷＤが格納されているアドレス）、ピッチ情報、音量情報の他、エフェクト処理を指示するエフェクト情報等から構成されている。このエフェクト情報の中には、ホールなどの音響空間において発生する初期反射音および後部残響音の両方の付加を指示するエフェクト情報が含まれている。
【００１３】
マイクロプログラムＭＰは、後述する音源ボード１００内の音源ＬＳＩ１０によって実行されるマイクロプログラムである。このマイクロプログラムＭＰは、上述した通り、ＯＳの起動時にハードディスク５０からＲＡＭ３０へ転送されるが、さらにこのＲＡＭ３０から音源ＬＳＩ１０に転送される。
【００１４】
バス６０は、このコンピュータシステムＡの各構成要素間の共通の情報伝達経路である。このバス６０は、大量のデータを高速転送できるものであればその種類は問わないが、この実施形態では、バースト転送モードを備えたＰＣＩバス（Peripheral Component Interconnect Bus）がバス６０として使用されている。
【００１５】
音源ボード１００は、図示せぬ拡張スロット（ＰＣＩスロット）に装着されることにより図１に示すコンピュータシステムＡの構成要素となる。この音源ボード１００は、出力オーディオデータＳＤを生成する音源ＬＳＩ１０と、出力オーディオデータＳＤをアナログ信号である出力オーディオ信号Ｓに変換して出力するＤＡＣ１６とを有する。なお、音源ＬＳＩ１０はコンピュータシステムＡのマザーボード上に実装するようにしてもよい。
【００１６】
音源ＬＳＩ１０は、制御部１１と、ＰＣＩバスインターフェース１２と、入力バッファ１３と、演算部１４と、出力バッファ１５とにより構成される。
【００１７】
まず、制御部１１は、音源ＬＳＩ１０の制御中枢をなすものであり、上述したＯＳ起動時にＲＡＭ３０から転送されるマイクロプログラムＭＰをその内部に設けられたメモリ（図示略）に記憶し、このマイクロプログラムＭＰに従って音源ＬＳＩ１０内の各構成要素の制御、各構成要素間の情報伝達等を行うための命令ｉを発行する。
【００１８】
ここで、制御部１１によって行われる音源ＬＳＩ１０のタイミング制御について説明する。この音源ＬＳＩ１０では、制御部１１による制御の下、出力オーディオデータＳＤを生成する処理をサブフレームと呼ばれる一定の時間単位で行う。そして、本実施形態では、出力オーディオデータＳＤを出力サンプリングレート（ＤＡＣレート＝４８kHz）で２５６サンプルだけ出力する時間（約５．３ｍｓ）を１フレームとして、これをさらに４分割したもの（６４サンプル分の時間＝約１．３ｍｓ）を１サブフレームとしている。あるサブフレームで一括生成された６４サンプルは、一旦出力バッファ１５に格納され、次のサブフレームにおいて、出力サンプリングレートに対応した速度でＤＡＣ１６に供給されるのである。
【００１９】
また、図２（ａ）に示すように、音源ＬＳＩ１０では、各サブフレームにおいて、制御部１１による時分割制御の下、６４チャネルからなるチャネル処理ＣＨＮ（Ｎ＝１〜６４）を実行する。これらのチャネル処理ＣＨ１〜ＣＨ６４は、出力サンプリングレートとは非同期に一括して行う。各チャネル処理では、それぞれ、次のサブフレームで出力する６４サンプルのオーディオデータを作成することができる。
【００２０】
そして、この音源ＬＳＩ１０では、各サブフレームにおいて、図２（ｂ）に示すように、前サブフレームの各チャネル処理において作成されたオーディオデータを累算した６４サンプルの出力オーディオデータＳＤを、出力サンプリング周波数（ＤＡＣレート＝４８ｋＨｚ）に従い、ＤＡＣ１６に順次送出する。
【００２１】
各チャネル処理ＣＨ１〜ＣＨ６４において実行可能な処理は、当該チャネルに対応して予め作成されたマイクロプログラムＭＰの内容によることとなる。また、各チャネル処理において実際に実行される処理は、ＣＰＵ２０がアプリケーションプログラムに従って各チャネル毎にＲＡＭ３０に格納する制御データＣＤによって特定されることとなる。
【００２２】
本実施形態では、各チャネル処理ＣＨ１〜ＣＨ６４により例えば以下の処理を行い得るようにマイクロプログラムＭＰが作成されている。
【００２３】
ａ．オーディオ信号生成処理
制御データＣＤに従い、指定された音色、音高の楽音のサンプルデータを生成する処理である。
【００２４】
ｂ．エフェクト処理
▲１▼初期反射音生成処理
コンサートホールなどの各種の音響空間のうち所望のものをユーザが指定した場合に、上記オーディオ信号生成処理により生成されたサンプルデータから当該音響空間に対応した複数の初期反射音のサンプルデータを生成する処理である。
既に説明したように、初期反射音の生成を行うためには、元の楽音波形に対し、遅延量の大きな遅延処理を施す必要がある。そこで、本実施形態では、あるチャネル処理のオーディオ信号生成処理により生成したサンプルデータを生成した場合に、そのサンプルデータを楽音として出力する他、ＲＡＭ３０にバースト転送し、生成すべき初期反射音の個数に対応した他のチャネル処理において、このサンプルデータを必要な遅延量に応じた適切なタイミングでＲＡＭ３０からバースト転送により受け取ることにより、初期反射音生成処理を実行する。そして、この初期反射音の生成に当てられた複数のチャネル処理では、ＲＡＭ３０からバースト転送されたサンプルデータに係数乗算または簡単なフィルタ処理を施し、初期反射音に対応したサンプルデータとして出力する。
【００２５】
▲２▼後部残響音生成処理
上記の初期反射音生成処理とともに実行される処理である。この処理では、ユーザによって指定された音響空間に対応した後部残響音のサンプルデータを上記オーディオ信号生成処理により生成されたサンプルデータから生成する。この後部残響音のサンプルデータの生成処理は、上記初期反射音のサンプルデータの生成のためにＲＡＭ３０にバースト転送されたサンプルデータを、適切なタイミングにおいてバースト転送により受け取ることにより行う。
【００２６】
ｃ．ミキサ処理
上述したオーディオ信号生成処理やエフェクト処理の際に当該処理内において行われる処理である。このミキサ処理では、オーディオ信号生成処理やエフェクト処理において生成したサンプルデータと、そのサブフレームにおいて既に出力バッファ内に格納されているサンプルデータとを加算し、出力バッファに戻す累算処理を行う。このミキサ処理は、制御データＣＤにより、その実行を許可したり、禁止することが可能である。
なお、以上説明した各処理については本実施形態の動作説明の際に詳しく取り上げる。
【００２７】
次にＰＣＩバスインターフェース１２は、バスマスタ機能を有している。このため、音源ＬＳＩ１０は、ＣＰＵ２０にさほど負荷をかけないで、制御データＣＤや波形データＷＤ、あるいはエフェクト処理に必要なデータをＲＡＭ３０から直接読み出すことが可能である。
【００２８】
次に、入力バッファ１３は、ＰＣＩバスインターフェース１２を介してＲＡＭ３０からバースト転送される制御データＣＤや波形データＷＤあるいはエフェクト処理に必要なデータを受け取って記憶する手段である。
【００２９】
次に、演算部１４は、制御部１１から供給される命令ｉに従い、オーディオ信号生成処理やエフェクト処理のための演算を実行する手段である。また、この演算処理部１４は、その内部にエフェクト処理用バッファ１４１および１４２を備えている。これらのエフェクト処理用バッファ１４１および１４２は、比較的長時間の遅延をコンピュータシステムＡ側のＲＡＭ３０を利用して実現するために設けられている。すなわち、これらのバッファは、遅延すべきデータをバースト転送によりＲＡＭ３０に転送するためバッファとして設けられている。なお、本実施形態では、初期反射音生成および後部残響音生成からなる２種類のエフェクト処理を実行するため、エフェクト処理用に２個のバッファを用意したが、３種類以上のエフェクト処理を行うのであれば、その種類に応じた数のバッファを用意すれば良い。
【００３０】
次に、出力バッファ１５は、第１バッファ１５１および第２バッファ１５２から構成されており、サブフレーム周期で、それぞれの役割が切り換えられる。すなわち、あるサブフレームでは、第１バッファ１５１に、各オーディオ信号生成処理で作成されたサンプルおよびエフェクト処理で作成されたサンプル（各６４サンプル）が書き込まれる（累算処理される）とともに、第２バッファ１５２に格納された６４サンプル（前サブフレームにおいて累算処理された６４サンプル）が出力オーディオデータＳＤとして出力サンプリングレートに従いＤＡＣ１６へと読み出される。次のサブフレームでは、第１バッファ１５１に格納された６４サンプルが出力オーディオデータＳＤとしてＤＡＣ１６へと読み出されるとともに、第２バッファ１５２で累算処理が行われる。
【００３１】
Ｂ．実施形態の動作
次に本実施形態の動作について説明する。
【００３２】
（１）一般的な動作
図１に示すコンピュータシステムでは、ＣＰＵ２０がサウンド処理を含むアプリケーションプログラムを実行する場合がある。この場合において、アプリケーションプログラムの実行により、特定の楽音の発音処理をＣＰＵ２０が実行することがある。この場合、ＣＰＵ２０は、楽音の形成を行うのに当てる特定のチャネルを選択し、ＲＡＭ３０内の当該チャネルに対応したエリアにその楽音の発音を指示する制御データＣＤを書き込む。この制御データＣＤは、既に説明したように、音色情報（当該音色に対応する波形データＷＤが格納されているアドレス）、ピッチ情報、音量情報の他、エフェクト処理を指示するエフェクト情報等から構成されている。
【００３３】
一方、音源ＬＳＩ１０の制御部１１は、各サブフレーム毎に、マイクロプログラムＭＰに従ってチャネル処理ＣＨ１〜ＣＨ６４を実行する。このマイクロプログラムＭＰに従って実行される各チャネル処理ＣＨ１〜ＣＨ６４は、各々、オーディオ信号生成処理を含んでいる。
【００３４】
各チャネル処理におけるオーディオ信号生成処理において、そのチャネルに対応した制御データＣＤが上記にようにしてＲＡＭ３０に格納されている場合に、制御部１１は、その制御データＣＤをＲＡＭ３０から入力バッファ１３に取り込む。
【００３５】
次に、制御部１１は、制御データＣＤ中に含まれるピッチ情報、サンプリングレートおよび出力サンプリングレート（ＤＡＣレート）を考慮して１サブフレーム分の６４サンプルを作成するのに必要な波形データＷＤをＲＡＭ３０から入力バッファ１３に取り込む。この取り込みは、先頭アドレスとサンプル数とを指定することでバースト転送により行われる。すなわち、ＲＡＭ３０の波形データＷＤ内の所定の連続領域が切り出されて音源ＬＳＩ１０に一括して転送されることになる。この後、制御データＣＤ内のピッチ情報や音量情報に基づいて、波形データＷＤに変換処理を施して６４サンプルを作成し、出力バッファ１５に格納する。なお、エフェクト処理を行う場合には、オーディオ信号生成処理により作成したサンプルを例えばエフェクト用バッファ１４１に書き込むとともに、オーディオ信号生成処理により作成したサンプルとエフェクト処理により作成したサンプルとを累算（ミキサ処理）したものを出力バッファ１５に格納する。
【００３６】
このようにして出力バッファに格納された６４サンプルが、次のサブフレームにおいて出力オーディオデータＳＤとして読み出され、ＤＡＣ１６から出力オーディオ信号ＳＤとして出力されるのである。
【００３７】
（２）本実施形態特有の動作
本実施形態では、図３に示す初期反射音生成処理２０１および後部残響音生成処理２０２からなるエフェクト処理を実行することができる。
【００３８】
ここで、図４を参照し、初期反射音生成処理２０１において生成する初期反射音について説明する。この図４において、Ｗ１〜Ｗ４は、ユーザによって指定されたシミュレート対象たる音響空間の壁、Ｍは聴者の位置、Ｓは音源の位置、Ｌ０は音源から発し、聴者によって聴取される直接音を示している。
【００３９】
図４には、位置Ｓから出力された音が壁Ｗ２によって反射され、１次反射音Ｌ１となって聴者に至る様子が示されている。この聴者によって聴取される１次反射音Ｌ１は、位置Ｓを壁Ｗ２を基準として鏡像反転した仮想音源位置Ｓ’に音源を移動し、この仮想音源位置から同じ音を発したときに聴者によって聴取されるものと同じものとなる。従って、音源が発する音に対し、位置Ｓ’から位置Ｍまでの伝達経路に対応した伝播遅延および減衰量を付与することにより、壁Ｗ２からの１次反射音Ｌ１に相当する音を得ることができる。
【００４０】
また、図４には、位置Ｓから出力された音が壁Ｗ２によって反射され、その反射音がさらに壁Ｗ４によって反射され、２次反射音Ｌ２となって聴者に至る様子が示されている。この聴者によって聴取される２次反射音Ｌ２は、位置Ｓを壁Ｗ４を基準として鏡像反転した仮想音源位置Ｓ’’を求め、この仮想音源位置Ｓ’’をさらに壁Ｗ２’を基準として鏡像反転した仮想音源位置Ｓ’’’を求め、この仮想音源位置Ｓ’’’に音源を移動し、そこから同じ音を発したときに聴者によって聴取されるものと同じものとなる。なお、壁Ｗ２’は、壁Ｗ２を壁Ｗ４を基準として鏡像反転したものである。この場合、音源が発する音に対し、位置Ｓ’’’から位置Ｍまでの伝達経路に対応した伝播遅延および減衰量を付与することにより、２次反射音Ｌ２に相当する音を得ることができる。
【００４１】
図４には、以上説明した方法により得られる２５個の仮想音源位置が“×”印により示されている。これらの各仮想音源位置から聴者の位置Ｍまでの各伝播経路は、遅延処理と減衰係数の乗算処理または簡単なローパスフィルタ処理の組み合わせによってモデリングすることができる。
【００４２】
本実施形態は、この遅延処理と係数乗算処理等を組み合わせた処理により、１次反射音や２次反射音に対応したサンプルデータの生成を行うものであり、その処理が図３に示す初期反射音生成処理２０１である。
【００４３】
ここで、再び図３を参照し、本実施形態において行われるエフェクト処理について説明する。本実施形態における音源ＬＳＩ１０は、ＣＰＵ２０からの指令に従い、例えば図３に示すように、チャネル処理ＣＨ１のオーディオ信号生成処理により特定の楽音のサンプルを生成し、他のチャネル処理ＣＨ２〜ＣＨｋのエフェクト処理により上述した複数の初期反射音のサンプルを生成し（初期反射音生成処理２０１）、さらに別のチャネル処理のエフェクト処理により後部残響音のサンプルを生成し、これらのサンプルの累算（ミキサ処理２０３）を行って出力バッファ１５から出力することができる。
【００４４】
この場合、チャネル処理ＣＨ１では、上述したオーディオ信号生成処理により、制御データＣＤに従って楽音のサンプル（６４サンプル）を生成し、このサンプルを出力バッファ１５に格納するとともに、同サンプルをエフェクト用バッファ１４１を介してＲＡＭ３０内の遅延メモリ３０Ｄにバースト転送する。
【００４５】
次に、例えばチャネル処理ＣＨ２では、チャネル処理ＣＨ１により楽音のサンプルの生成が開始された時刻から所定時間だけ経過した時刻において、遅延メモリＤ内に格納された当該サンプルを入力バッファ１３を介したバースト転送により受け取り、このサンプルにフィルタ処理を施して初期反射音のサンプルを生成する。ここで、チャネル処理ＣＨ１により楽音のサンプルの生成が開始されてからその後のチャネル処理ＣＨ２において遅延メモリ３０Ｄから当該サンプルを受け取るまでの遅延時間は、シミュレートしようとする初期反射音の伝播経路の長さに対応した時間となっている。また、遅延メモリ３０Ｄから受け取ったサンプルに施されるフィルタ処理は、その初期反射音の伝播経路の減衰特性をシミュレートしたものとなっている。
【００４６】
初期反射音のサンプルの生成を行う他のチャネル処理も同様であり、楽音のサンプルの生成開始後、各々シミュレートしようとする初期反射音の伝播経路長に対応した所定時間が経過した時点で、遅延メモリ３０Ｄからバースト転送により楽音のサンプルを受け取り、このサンプルから初期反射音のサンプルを生成し、出力バッファ１５内のサンプルとの累算を行う。
【００４７】
後部残響音生成処理２０２は、さらに別のチャネル処理により実行される。この後部残響音生成処理２０２は、オールパスフィルタ、コムフィルタ等のフィルタ処理を含んでいる（図示略）。ここで、オールパスフィルタは、処理対象である波形の構成スペクトルに対し、その周波数に応じた位相遅延を付与し、元の波形との間の相似性が低い波形を生成する機能を有している。また、コムフィルタは、ローパスフィルタと遅延を含んだループからなり、処理対象であるサンプルをループ内に取り込んで巡回させることにより、時間経過とともに特に高域が減衰してゆく波形のサンプルを出力する。このコムフィルタによれば、音響空間内において反射が繰り返される度に反射音の高域成分が減衰してゆく現象をシミュレートすることができる。後部残響音生成処理２０２では、遅延メモリ３０Ｄ内に格納された楽音のサンプルを読み出し、これにオールパスフィルタやコムフィルタを組み合わせたフィルタ処理を施すことにより、後部残響音のサンプルを生成し、出力バッファ１５内のサンプルとの累算を行う。後部残響音生成処理２０２では、遅延メモリ３０Ｄから読み出したサンプルまたはフィルタ処理の途中のサンプルに対する遅延処理を何回か行う。それらの遅延処理は、あるチャネル処理において処理対象であるサンプルをＲＡＭ３０へバースト転送し、必要な時間経過後に、当該サンプルをＲＡＭ３０からバースト転送により受け取る、という方法により実行される。
【００４８】
以上が本実施形態特有のエフェクト処理であるが、この処理を構成する複数のチャネル処理の制御方式には次の２通りの方法がある。
【００４９】
ａ．ＣＰＵ２０（アプリケーションプログラム）主導型の制御方式
この制御方式では、ＣＰＵ２０がアプリケーションプログラムに従い、楽音のサンプルの生成を行うチャネル、初期反射音のサンプルの生成を行う複数のチャネル、後部残響音のサンプルの生成を行うチャネルを選択し、各々のチャネル処理の制御を行う制御データＣＤをＲＡＭ３０を介して音源ＬＳＩ１０に提供する。さらに詳述すると、ＣＰＵ２０は、楽音のサンプルを生成すべきタイミングにおいて、そのサンプルの生成を行うチャネルを決定し、生成すべき楽音を指定する情報と、生成した楽音のサンプルの遅延メモリ３０Ｄへのバースト転送を指示する情報とを含んだ制御データＣＤを当該チャネルに対応したＲＡＭ３０内のエリアに書き込む。
【００５０】
音源ＬＳＩ１０は、その後のサブフレームの当該チャネル処理においてこの制御データＣＤをＲＡＭ３０から読み出すと、制御データＣＤに従って楽音のサンプルを生成し、このサンプルを出力バッファ１５に格納するとともにエフェクト用バッファ１４１を使用したバースト転送によりＲＡＭ３０内の遅延メモリ３０Ｄに送る。
【００５１】
ＣＰＵ２０は、楽音発生後の最初の初期反射音（最も短い伝播経路を経て聴者に至る初期反射音）を生成すべきタイミングになると、その初期反射音のサンプルを生成するチャネルを決定し、遅延メモリ３０Ｄに格納された楽音のサンプルをバースト転送により受け取るべき旨を指示する情報と、受け取ったサンプルに対して施すフィルタ処理のためのフィルタ係数等を含んだ制御データＣＤを当該チャネルに対応したＲＡＭ３０内のエリアに書き込む。
【００５２】
音源ＬＳＩ１０は、その後のサブフレームの当該チャネル処理においてこの制御データＣＤをＲＡＭ３０から読み出すと、この制御データＣＤに従い、遅延メモリ３０Ｄからバースト転送により楽音のサンプルを受け取り、これにフィルタ処理を施して初期反射音のサンプルを生成し、この初期反射音のサンプルと出力バッファ１５内のサンプルとの累算を行う。
【００５３】
他の初期反射音および後部残響音のサンプルの生成も、以上と同様、ＣＰＵ２０側の主導の下で行われる。
【００５４】
この制御方式の場合、初期反射音や後部残響音のサンプルを生成すべきときに、その時点で空いているチャネル処理をそのサンプル生成に当てるので、システムの柔軟性を高くすることができるという利点がある。
【００５５】
ｂ．音源ＬＳＩ１０（マイクロプログラムＭＰ）主導型の制御方式
この制御方式の場合、ＣＰＵ２０は、楽音のサンプルを生成すべきタイミングにおいて、楽音のサンプルの生成を行うチャネル、初期反射音のサンプルの生成を行う複数のチャネル、後部残響音のサンプルの生成を行うチャネルを一括して決定する。そして、生成すべき楽音を指定する情報と、生成した楽音のサンプルの遅延メモリ３０Ｄへのバースト転送を指示する情報とを含んだ制御データＣＤを楽音サンプル生成用のチャネルに対応したＲＡＭ３０内のエリアに書き込み、同様に各初期反射音のサンプル生成のための制御データＣＤ、後部残響音のサンプル生成のための制御データＣＤを各々のサンプル生成用のチャネルに対応したＲＡＭ３０内の各エリアに書き込む。
【００５６】
ここで、各初期反射音のサンプル生成のための各制御データＣＤには、遅延メモリ３０Ｄから楽音のサンプルの読み出しを行うまでの待機時間を示す情報と、読み出したサンプルに対してフィルタ処理を施す際に使用するフィルタ係数が含まれている。同様に、後部残響音のサンプル生成のための制御データＣＤにも、最終的に後部残響音のサンプルを経るまでにＲＡＭ３０との間で行うべきサンプルの授受の手順を指定する情報（何時どのエリアに書き込んで何時読み出すか）と、読み出したサンプルに対して行うべき演算処理を指定する情報が含まれている。
【００５７】
音源ＬＳＩ１０は、その後のサブフレームの各チャネル処理においてこれらの制御データＣＤをＲＡＭ３０から読み出す。そして、その直後のサブフレームにおける楽音のサンプル生成用のチャネル処理（楽音のサンプル生成のための制御データＣＤを読み出したチャネル処理）では、当該制御データＣＤに従って楽音のサンプルを生成し、このサンプルを出力バッファ１５に格納するとともにエフェクト用バッファ１４１を使用したバースト転送によりＲＡＭ３０内の遅延メモリ３０Ｄに送る。
【００５８】
また、初期反射音のサンプル生成用のチャネル処理（楽音のサンプル生成のための制御データＣＤを読み出したチャネル処理）では、制御データＣＤによって指定された時間が経過するまで待機し、その指定時間経過後、遅延メモリ３０Ｄから楽音のサンプルをバースト転送により受け取り、このサンプルから初期反射音のサンプルを生成し、この初期反射音のサンプルと出力バッファ１５内のサンプルとの累算を行う。
【００５９】
後部残響音のサンプル生成用のチャネル処理も同様であり、ＲＡＭ３０経由で与えられた制御データＣＤに従い、後部残響音のサンプルを生成し、これと出力バッファ１５内のサンプルとの累算を行う。
【００６０】
この制御方式の場合、必要な制御データＣＤをＣＰＵ２０から音源ＬＳＩ１０に転送した後は、音源ＬＳＩ１０の主導の下で楽音や初期反射音や後部残響音のサンプル生成が行われるので、ＣＰＵ２０の負担を少なくすることができるいう利点がある。なお、初期反射音や後部残響音のサンプル生成を行うチャネルは、その都度決定するのではなく、固定のものを定めておいてもよい。
【００６１】
以上、この発明の実施形態について説明したが、この発明の適用範囲はこれに限定されるものではなく、上記実施形態には様々な変形例が考えられる。
例えば上記実施形態では楽音のサンプルおよび１個の初期反射音のサンプルを生成するのに各々１個のチャネル処理を利用したが、楽音のサンプル生成および各初期反射音のサンプル生成に対し、各々２個のチャネル処理を当て、各々左右２チャネルからなる楽音および初期反射音のサンプルを生成するようにしてもよい。音響空間において発生する各初期反射音は、図４に例示するように様々な邦楽から聴者に届くものであるが、このように各初期反射音のサンプル生成に２個のチャネル処理を利用すれば、左右のスピーカから発する音の遅延時間差および音量バランスを調整することができるため、臨場感に富んだ音場再生を行うことができる。
【００６２】
また、上記実施形態では、コンピュータシステムに内在した形態のオーディオ信号生成装置を例に説明した。しかし、本発明の適用範囲はこれに限定されるものではなく、コンピュータシステムのシステムメモリに記憶されたウェーブテーブルを使用してオーディオ信号を生成する複数のオーディオ信号処理手段と、複数のオーディオ信号処理手段の中のあるオーディオ信号処理手段により生成されたオーディオ信号をシステムメモリに転送するとともに、このシステムメモリに転送されたオーディオ信号を複数のオーディオ信号処理手段の中の他のオーディオ信号処理手段に転送するオーディオ信号転送手段と、複数のオーディオ信号処理手段の出力信号を合成して出力する出力手段とからなるＩＣやカード（上記実施形態における音源ＬＳＩ１０や音源ボード１００に相当）を製造して一般ユーザに配布し、ユーザがこのＩＣやカードをコンピュータシステムに装着し、オーディオ信号生成装置として使用するようにしてもよい。
【００６３】
【発明の効果】
以上説明したように、この発明に係るオーディオ信号生成装置は、オーディオ信号の生成またはオーディオ信号に対する信号処理を行う複数のオーディオ信号処理手段と、コンピュータシステムのシステムメモリと、前記複数のオーディオ信号処理手段の一部により生成されたオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送されたオーディオ信号をその後の１以上のタイミングにおいて、前記オーディオ信号の信号処理を行うオーディオ信号処理手段に転送するオーディオ信号転送手段と、前記オーディオ信号の生成およびオーディオ信号に対する信号処理を行う複数のオーディオ信号処理手段の出力信号を合成して出力する出力手段とにより構成されるため、コンピュータシステム側のＣＰＵの負担を招くことなく、かつ、経済的に、遅延時間の長い初期反射音を伴ったオーディオ信号を生成することができるという効果がある。
【図面の簡単な説明】
【図１】  この発明の一実施形態であるオーディオ信号生成装置を含むコンピュータシステムの構成を示すブロック図である。
【図２】  同実施形態における音源ＬＳＩのタイミング制御の態様を示すタイムチャートである。
【図３】  同実施形態において実行されるエフェクト処理を示す図である。
【図４】  同エフェクト処理において生成される初期反射音を説明する図である。
【図５】  ＦＩＲフィルタによる初期反射音の生成手段の構成を例示したブロック図である。
【図６】  コムフィルタによる初期反射音の生成手段の構成を例示したブロック図である。
【符号の説明】
Ａ……コンピュータシステム、２０……ＣＰＵ、
３０……ＲＡＭ（システムメモリ）、
１０……音源ＬＳＩ（複数のオーディオ信号処理手段）、
１１……制御部、１２……ＰＣＩバスインタフェース、
１３……入力バッファ、
１４１，１４２……エフェクト処理用バッファ（以上、オーディオ信号転送手段）、１５……出力バッファ（出力手段）。
【図１】
0004361628.tif 000002
【図２】
0004361628.tif 000003
【図３】
0004361628.tif 000004
【図４】
0004361628.tif 000005
【図５】
0004361628.tif 000006
【図６】
0004361628.tif 000007