JP4361628B2 - オーディオ信号生成装置 - Google Patents
オーディオ信号生成装置 Download PDFInfo
- Publication number
- JP4361628B2 JP4361628B2 JP37139798A JP37139798A JP4361628B2 JP 4361628 B2 JP4361628 B2 JP 4361628B2 JP 37139798 A JP37139798 A JP 37139798A JP 37139798 A JP37139798 A JP 37139798A JP 4361628 B2 JP4361628 B2 JP 4361628B2
- Authority
- JP
- Japan
- Prior art keywords
- audio signal
- sound
- sample
- processing
- generating
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stereophonic System (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
【発明の属する技術分野】
この発明は、音響空間において生じる初期反射音や後部残響音を伴ったオーディオ信号を生成する機能を有するオーディオ信号生成装置に関する。
【0002】
【従来の技術】
近年のパーソナルコンピュータでは、音源LSIを搭載して各種のサウンド処理を行うものが多い。そして、最近では、このサウンド処理として、オーディオ信号(楽器音、人声の両方を含む)などを生成する処理の他に、ホールや教会などの様々な音響空間をシミュレートするため、オーディオ信号に音場効果を付与するエフェクト処理が求められている。ここで、実際の音響空間において、その音場を特徴付ける重要な要素として、初期反射音と後部残響音とがある。これらのうち初期反射音は、音源から発したばかりの音がその音響空間を囲む壁によって反射されて聴者の耳に届くものであり、その音響空間の形状、拡がりなどの特徴と強く反映する要素である。従来、この初期反射音を生成するための手段として、図5に例示するようなFIRフィルタを用いる方法や、図6に例示するようなコムフィルタを用いる方法が考えられる。
【0003】
【発明が解決しようとする課題】
ところで、実際のコンサートホールなどの音響空間においては、経路長の異なった様々な伝播経路を経ることにより、ばらばらなタイミングで多数の初期反射音が聴者の耳に到達する。このような初期反射音を図5に例示するようなFIRフィルタにより生成しようとすると、次の不都合が生じる。すなわち、この方法を採るものとすると、音源が音を発してから各初期反射音が聴者の耳に届くまでの遅延時間は比較的長時間であり、しかも、各初期反射音が聴者の耳に届く時間間隔は不均一であることから、音源から生成されるオーディオ信号を相当な長時間に亙ってメモリに保存し、各初期反射音の聴者への到達タイミングに対応した各時点においてこのオーディオ信号を読み出すという方法により、図5に例示するようなFIRフィルタ処理を行う必要がある。従って、FIRフィルタの遅延処理D、D、…のために必要なメモリ容量が膨大なものとなるのであるが、そのようなメモリを音源LSIに設けることは経済的観点から見て現実的でない。また、音源LSIではなく、この音源LSIによりサウンド処理を実行するパーソナルコンピュータのCPUが初期反射音生成のためのFIRフィルタ処理を行うことも考えられるが、これではCPU側の負担が過大となる。一方、図5に例示するようなコムフィルタを用いる方法はそれほど多くのメモリ容量を必要としないが、実際の音響空間において得られるような臨場感に富んだ初期反射音を得るのが困難であるという問題がある。
【0004】
本発明は、以上のような事情に鑑みてなされたものであり、パーソナルコンピュータ等のコンピュータシステムにおいてCPUの負担を招くことなく、かつ、経済的に、遅延時間の長い初期反射音を伴ったオーディオ信号を生成することができるオーディオ信号生成装置を提供することを目的としている。
【0005】
【課題を解決するための手段】
この発明は、オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
第1のオーディオ信号の生成を行う第1のオーディオ信号処理手段と、
前記第1のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第2のオーディオ信号を生成する複数の第2のオーディオ信号処理手段と、
コンピュータのシステムメモリと、
前記第1のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第1のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第2のオーディオ信号処理手段に転送するオーディオ信号転送手段と、
前記第1のオーディオ信号と複数の前記第2のオーディオ信号を合成して出力する出力手段と、
を具備することを特徴とするオーディオ信号生成装置を提供するものである。
【0006】
また、この発明は、オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
アプリケーションプログラムに従って、オーディオ信号の生成に必要な制御データおよびオーディオ信号に対するエフェクト処理に必要な制御データを出力するシステム制御用プロセッサと、
システムメモリと、
前記システム制御プロセッサによる制御の下、複数のチャネルによってサウンド処理を実行する音源プロセッサと、を有し、
前記音源プロセッサは、
第1のチャネルで第1のオーディオ信号の生成を行う第1のオーディオ信号処理手段と、
前記第1のチャネル以外のチャネルで前記第1のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第2のオーディオ信号を生成する複数の第2のオーディオ信号処理手段と、
前記第1のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第1のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第2のオーディオ信号生成手段に転送するオーディオ信号転送手段と、
前記第1のオーディオ信号と複数の前記第2のオーディオ信号とを合成して出力する出力手段と、
を具備することを特徴とするオーディオ信号生成装置を提供するものである。
【0007】
【発明の実施の形態】
以下、本発明を更に理解しやすくするため、実施の形態について説明する。
かかる実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【0008】
A.実施形態の構成
図1はこの発明の一実施形態であるオーディオ信号生成装置を含むコンピュータシステムAの構成を示すブロック図である。図1において、CPU20はコンピュータシステムA全体を制御する手段であり、バス60を介して他の各構成部分に接続されている。
【0009】
RAM30は、コンピュータシステムAのシステムメモリに相当する読み書き可能なメモリである。このRAM30は、多数の記憶エリアを有しているが、ある記憶エリアはCPU20の作業領域として、別の記憶エリアは各種の波形データWDを記憶する周知のウエーブテーブルとして、さらに別の記憶エリアはエフェクト処理における遅延メモリとして各々使用される。本実施形態では、このRAM30内に設定された遅延メモリを使用することにより、上述した初期反射音のサンプルデータを生成することができる。
【0010】
ROM40は、ブートプログラム等が格納された読出専用のメモリである。
ハードディスク50は、2次記憶装置としてこのコンピュータシステムAに設けられたものである。このハードディスク50には、アプリケーションプログラムやデバイスドライバやマイクロプログラムMP等のプログラムと、制御データCDや波形データWDなどの各種のデータが格納されている。このハードディスク50に記憶されたデバイスドライバ、マイクロプログラムMPおよび波形データWD等は、OSの起動時にバス60を介してRAM30に転送される。
【0011】
ここで、ハードディスク50内の波形データWDは、例えば、ギターやピアノといった各種の音色に対応する楽器によって実際に発音された楽音等をサンプリングして得られたデータである。この波形データWDは、ハードディスク50に格納されているデータの中から使用頻度の高い音色に対応するものが選択され、RAM30に記憶される。また、OSの起動時の他、RAM30とハードディスク50との間で必要に応じて波形データWDのやり取りが行われる。なお、本実施形態において、波形データWDは、RAM30において物理アドレスが連続する連続直線領域に格納される。これは、物理アドレスが不連続であると、論理アドレスから物理アドレスを算出する必要があるため、これを回避してOSの負荷を軽減するためである。
【0012】
また、ハードディスク50内の制御データCDは、上位のアプリケーションによって参照指示され、必要に応じてRAM30に転送される。この制御データCDは、アプリケーションプログラムから与えられるMIDIフォーマット等の演奏指示に応答して後述する音源LSI10を駆動するためのデータであり、音色情報(当該音色に対応する波形データWDが格納されているアドレス)、ピッチ情報、音量情報の他、エフェクト処理を指示するエフェクト情報等から構成されている。このエフェクト情報の中には、ホールなどの音響空間において発生する初期反射音および後部残響音の両方の付加を指示するエフェクト情報が含まれている。
【0013】
マイクロプログラムMPは、後述する音源ボード100内の音源LSI10によって実行されるマイクロプログラムである。このマイクロプログラムMPは、上述した通り、OSの起動時にハードディスク50からRAM30へ転送されるが、さらにこのRAM30から音源LSI10に転送される。
【0014】
バス60は、このコンピュータシステムAの各構成要素間の共通の情報伝達経路である。このバス60は、大量のデータを高速転送できるものであればその種類は問わないが、この実施形態では、バースト転送モードを備えたPCIバス(Peripheral Component Interconnect Bus)がバス60として使用されている。
【0015】
音源ボード100は、図示せぬ拡張スロット(PCIスロット)に装着されることにより図1に示すコンピュータシステムAの構成要素となる。この音源ボード100は、出力オーディオデータSDを生成する音源LSI10と、出力オーディオデータSDをアナログ信号である出力オーディオ信号Sに変換して出力するDAC16とを有する。なお、音源LSI10はコンピュータシステムAのマザーボード上に実装するようにしてもよい。
【0016】
音源LSI10は、制御部11と、PCIバスインターフェース12と、入力バッファ13と、演算部14と、出力バッファ15とにより構成される。
【0017】
まず、制御部11は、音源LSI10の制御中枢をなすものであり、上述したOS起動時にRAM30から転送されるマイクロプログラムMPをその内部に設けられたメモリ(図示略)に記憶し、このマイクロプログラムMPに従って音源LSI10内の各構成要素の制御、各構成要素間の情報伝達等を行うための命令iを発行する。
【0018】
ここで、制御部11によって行われる音源LSI10のタイミング制御について説明する。この音源LSI10では、制御部11による制御の下、出力オーディオデータSDを生成する処理をサブフレームと呼ばれる一定の時間単位で行う。そして、本実施形態では、出力オーディオデータSDを出力サンプリングレート(DACレート=48kHz)で256サンプルだけ出力する時間(約5.3ms)を1フレームとして、これをさらに4分割したもの(64サンプル分の時間=約1.3ms)を1サブフレームとしている。あるサブフレームで一括生成された64サンプルは、一旦出力バッファ15に格納され、次のサブフレームにおいて、出力サンプリングレートに対応した速度でDAC16に供給されるのである。
【0019】
また、図2(a)に示すように、音源LSI10では、各サブフレームにおいて、制御部11による時分割制御の下、64チャネルからなるチャネル処理CHN(N=1〜64)を実行する。これらのチャネル処理CH1〜CH64は、出力サンプリングレートとは非同期に一括して行う。各チャネル処理では、それぞれ、次のサブフレームで出力する64サンプルのオーディオデータを作成することができる。
【0020】
そして、この音源LSI10では、各サブフレームにおいて、図2(b)に示すように、前サブフレームの各チャネル処理において作成されたオーディオデータを累算した64サンプルの出力オーディオデータSDを、出力サンプリング周波数(DACレート=48kHz)に従い、DAC16に順次送出する。
【0021】
各チャネル処理CH1〜CH64において実行可能な処理は、当該チャネルに対応して予め作成されたマイクロプログラムMPの内容によることとなる。また、各チャネル処理において実際に実行される処理は、CPU20がアプリケーションプログラムに従って各チャネル毎にRAM30に格納する制御データCDによって特定されることとなる。
【0022】
本実施形態では、各チャネル処理CH1〜CH64により例えば以下の処理を行い得るようにマイクロプログラムMPが作成されている。
【0023】
a.オーディオ信号生成処理
制御データCDに従い、指定された音色、音高の楽音のサンプルデータを生成する処理である。
【0024】
b.エフェクト処理
▲1▼初期反射音生成処理
コンサートホールなどの各種の音響空間のうち所望のものをユーザが指定した場合に、上記オーディオ信号生成処理により生成されたサンプルデータから当該音響空間に対応した複数の初期反射音のサンプルデータを生成する処理である。
既に説明したように、初期反射音の生成を行うためには、元の楽音波形に対し、遅延量の大きな遅延処理を施す必要がある。そこで、本実施形態では、あるチャネル処理のオーディオ信号生成処理により生成したサンプルデータを生成した場合に、そのサンプルデータを楽音として出力する他、RAM30にバースト転送し、生成すべき初期反射音の個数に対応した他のチャネル処理において、このサンプルデータを必要な遅延量に応じた適切なタイミングでRAM30からバースト転送により受け取ることにより、初期反射音生成処理を実行する。そして、この初期反射音の生成に当てられた複数のチャネル処理では、RAM30からバースト転送されたサンプルデータに係数乗算または簡単なフィルタ処理を施し、初期反射音に対応したサンプルデータとして出力する。
【0025】
▲2▼後部残響音生成処理
上記の初期反射音生成処理とともに実行される処理である。この処理では、ユーザによって指定された音響空間に対応した後部残響音のサンプルデータを上記オーディオ信号生成処理により生成されたサンプルデータから生成する。この後部残響音のサンプルデータの生成処理は、上記初期反射音のサンプルデータの生成のためにRAM30にバースト転送されたサンプルデータを、適切なタイミングにおいてバースト転送により受け取ることにより行う。
【0026】
c.ミキサ処理
上述したオーディオ信号生成処理やエフェクト処理の際に当該処理内において行われる処理である。このミキサ処理では、オーディオ信号生成処理やエフェクト処理において生成したサンプルデータと、そのサブフレームにおいて既に出力バッファ内に格納されているサンプルデータとを加算し、出力バッファに戻す累算処理を行う。このミキサ処理は、制御データCDにより、その実行を許可したり、禁止することが可能である。
なお、以上説明した各処理については本実施形態の動作説明の際に詳しく取り上げる。
【0027】
次にPCIバスインターフェース12は、バスマスタ機能を有している。このため、音源LSI10は、CPU20にさほど負荷をかけないで、制御データCDや波形データWD、あるいはエフェクト処理に必要なデータをRAM30から直接読み出すことが可能である。
【0028】
次に、入力バッファ13は、PCIバスインターフェース12を介してRAM30からバースト転送される制御データCDや波形データWDあるいはエフェクト処理に必要なデータを受け取って記憶する手段である。
【0029】
次に、演算部14は、制御部11から供給される命令iに従い、オーディオ信号生成処理やエフェクト処理のための演算を実行する手段である。また、この演算処理部14は、その内部にエフェクト処理用バッファ141および142を備えている。これらのエフェクト処理用バッファ141および142は、比較的長時間の遅延をコンピュータシステムA側のRAM30を利用して実現するために設けられている。すなわち、これらのバッファは、遅延すべきデータをバースト転送によりRAM30に転送するためバッファとして設けられている。なお、本実施形態では、初期反射音生成および後部残響音生成からなる2種類のエフェクト処理を実行するため、エフェクト処理用に2個のバッファを用意したが、3種類以上のエフェクト処理を行うのであれば、その種類に応じた数のバッファを用意すれば良い。
【0030】
次に、出力バッファ15は、第1バッファ151および第2バッファ152から構成されており、サブフレーム周期で、それぞれの役割が切り換えられる。すなわち、あるサブフレームでは、第1バッファ151に、各オーディオ信号生成処理で作成されたサンプルおよびエフェクト処理で作成されたサンプル(各64サンプル)が書き込まれる(累算処理される)とともに、第2バッファ152に格納された64サンプル(前サブフレームにおいて累算処理された64サンプル)が出力オーディオデータSDとして出力サンプリングレートに従いDAC16へと読み出される。次のサブフレームでは、第1バッファ151に格納された64サンプルが出力オーディオデータSDとしてDAC16へと読み出されるとともに、第2バッファ152で累算処理が行われる。
【0031】
B.実施形態の動作
次に本実施形態の動作について説明する。
【0032】
(1)一般的な動作
図1に示すコンピュータシステムでは、CPU20がサウンド処理を含むアプリケーションプログラムを実行する場合がある。この場合において、アプリケーションプログラムの実行により、特定の楽音の発音処理をCPU20が実行することがある。この場合、CPU20は、楽音の形成を行うのに当てる特定のチャネルを選択し、RAM30内の当該チャネルに対応したエリアにその楽音の発音を指示する制御データCDを書き込む。この制御データCDは、既に説明したように、音色情報(当該音色に対応する波形データWDが格納されているアドレス)、ピッチ情報、音量情報の他、エフェクト処理を指示するエフェクト情報等から構成されている。
【0033】
一方、音源LSI10の制御部11は、各サブフレーム毎に、マイクロプログラムMPに従ってチャネル処理CH1〜CH64を実行する。このマイクロプログラムMPに従って実行される各チャネル処理CH1〜CH64は、各々、オーディオ信号生成処理を含んでいる。
【0034】
各チャネル処理におけるオーディオ信号生成処理において、そのチャネルに対応した制御データCDが上記にようにしてRAM30に格納されている場合に、制御部11は、その制御データCDをRAM30から入力バッファ13に取り込む。
【0035】
次に、制御部11は、制御データCD中に含まれるピッチ情報、サンプリングレートおよび出力サンプリングレート(DACレート)を考慮して1サブフレーム分の64サンプルを作成するのに必要な波形データWDをRAM30から入力バッファ13に取り込む。この取り込みは、先頭アドレスとサンプル数とを指定することでバースト転送により行われる。すなわち、RAM30の波形データWD内の所定の連続領域が切り出されて音源LSI10に一括して転送されることになる。この後、制御データCD内のピッチ情報や音量情報に基づいて、波形データWDに変換処理を施して64サンプルを作成し、出力バッファ15に格納する。なお、エフェクト処理を行う場合には、オーディオ信号生成処理により作成したサンプルを例えばエフェクト用バッファ141に書き込むとともに、オーディオ信号生成処理により作成したサンプルとエフェクト処理により作成したサンプルとを累算(ミキサ処理)したものを出力バッファ15に格納する。
【0036】
このようにして出力バッファに格納された64サンプルが、次のサブフレームにおいて出力オーディオデータSDとして読み出され、DAC16から出力オーディオ信号SDとして出力されるのである。
【0037】
(2)本実施形態特有の動作
本実施形態では、図3に示す初期反射音生成処理201および後部残響音生成処理202からなるエフェクト処理を実行することができる。
【0038】
ここで、図4を参照し、初期反射音生成処理201において生成する初期反射音について説明する。この図4において、W1〜W4は、ユーザによって指定されたシミュレート対象たる音響空間の壁、Mは聴者の位置、Sは音源の位置、L0は音源から発し、聴者によって聴取される直接音を示している。
【0039】
図4には、位置Sから出力された音が壁W2によって反射され、1次反射音L1となって聴者に至る様子が示されている。この聴者によって聴取される1次反射音L1は、位置Sを壁W2を基準として鏡像反転した仮想音源位置S’に音源を移動し、この仮想音源位置から同じ音を発したときに聴者によって聴取されるものと同じものとなる。従って、音源が発する音に対し、位置S’から位置Mまでの伝達経路に対応した伝播遅延および減衰量を付与することにより、壁W2からの1次反射音L1に相当する音を得ることができる。
【0040】
また、図4には、位置Sから出力された音が壁W2によって反射され、その反射音がさらに壁W4によって反射され、2次反射音L2となって聴者に至る様子が示されている。この聴者によって聴取される2次反射音L2は、位置Sを壁W4を基準として鏡像反転した仮想音源位置S’’を求め、この仮想音源位置S’’をさらに壁W2’を基準として鏡像反転した仮想音源位置S’’’を求め、この仮想音源位置S’’’に音源を移動し、そこから同じ音を発したときに聴者によって聴取されるものと同じものとなる。なお、壁W2’は、壁W2を壁W4を基準として鏡像反転したものである。この場合、音源が発する音に対し、位置S’’’から位置Mまでの伝達経路に対応した伝播遅延および減衰量を付与することにより、2次反射音L2に相当する音を得ることができる。
【0041】
図4には、以上説明した方法により得られる25個の仮想音源位置が“×”印により示されている。これらの各仮想音源位置から聴者の位置Mまでの各伝播経路は、遅延処理と減衰係数の乗算処理または簡単なローパスフィルタ処理の組み合わせによってモデリングすることができる。
【0042】
本実施形態は、この遅延処理と係数乗算処理等を組み合わせた処理により、1次反射音や2次反射音に対応したサンプルデータの生成を行うものであり、その処理が図3に示す初期反射音生成処理201である。
【0043】
ここで、再び図3を参照し、本実施形態において行われるエフェクト処理について説明する。本実施形態における音源LSI10は、CPU20からの指令に従い、例えば図3に示すように、チャネル処理CH1のオーディオ信号生成処理により特定の楽音のサンプルを生成し、他のチャネル処理CH2〜CHkのエフェクト処理により上述した複数の初期反射音のサンプルを生成し(初期反射音生成処理201)、さらに別のチャネル処理のエフェクト処理により後部残響音のサンプルを生成し、これらのサンプルの累算(ミキサ処理203)を行って出力バッファ15から出力することができる。
【0044】
この場合、チャネル処理CH1では、上述したオーディオ信号生成処理により、制御データCDに従って楽音のサンプル(64サンプル)を生成し、このサンプルを出力バッファ15に格納するとともに、同サンプルをエフェクト用バッファ141を介してRAM30内の遅延メモリ30Dにバースト転送する。
【0045】
次に、例えばチャネル処理CH2では、チャネル処理CH1により楽音のサンプルの生成が開始された時刻から所定時間だけ経過した時刻において、遅延メモリD内に格納された当該サンプルを入力バッファ13を介したバースト転送により受け取り、このサンプルにフィルタ処理を施して初期反射音のサンプルを生成する。ここで、チャネル処理CH1により楽音のサンプルの生成が開始されてからその後のチャネル処理CH2において遅延メモリ30Dから当該サンプルを受け取るまでの遅延時間は、シミュレートしようとする初期反射音の伝播経路の長さに対応した時間となっている。また、遅延メモリ30Dから受け取ったサンプルに施されるフィルタ処理は、その初期反射音の伝播経路の減衰特性をシミュレートしたものとなっている。
【0046】
初期反射音のサンプルの生成を行う他のチャネル処理も同様であり、楽音のサンプルの生成開始後、各々シミュレートしようとする初期反射音の伝播経路長に対応した所定時間が経過した時点で、遅延メモリ30Dからバースト転送により楽音のサンプルを受け取り、このサンプルから初期反射音のサンプルを生成し、出力バッファ15内のサンプルとの累算を行う。
【0047】
後部残響音生成処理202は、さらに別のチャネル処理により実行される。この後部残響音生成処理202は、オールパスフィルタ、コムフィルタ等のフィルタ処理を含んでいる(図示略)。ここで、オールパスフィルタは、処理対象である波形の構成スペクトルに対し、その周波数に応じた位相遅延を付与し、元の波形との間の相似性が低い波形を生成する機能を有している。また、コムフィルタは、ローパスフィルタと遅延を含んだループからなり、処理対象であるサンプルをループ内に取り込んで巡回させることにより、時間経過とともに特に高域が減衰してゆく波形のサンプルを出力する。このコムフィルタによれば、音響空間内において反射が繰り返される度に反射音の高域成分が減衰してゆく現象をシミュレートすることができる。後部残響音生成処理202では、遅延メモリ30D内に格納された楽音のサンプルを読み出し、これにオールパスフィルタやコムフィルタを組み合わせたフィルタ処理を施すことにより、後部残響音のサンプルを生成し、出力バッファ15内のサンプルとの累算を行う。後部残響音生成処理202では、遅延メモリ30Dから読み出したサンプルまたはフィルタ処理の途中のサンプルに対する遅延処理を何回か行う。それらの遅延処理は、あるチャネル処理において処理対象であるサンプルをRAM30へバースト転送し、必要な時間経過後に、当該サンプルをRAM30からバースト転送により受け取る、という方法により実行される。
【0048】
以上が本実施形態特有のエフェクト処理であるが、この処理を構成する複数のチャネル処理の制御方式には次の2通りの方法がある。
【0049】
a.CPU20(アプリケーションプログラム)主導型の制御方式
この制御方式では、CPU20がアプリケーションプログラムに従い、楽音のサンプルの生成を行うチャネル、初期反射音のサンプルの生成を行う複数のチャネル、後部残響音のサンプルの生成を行うチャネルを選択し、各々のチャネル処理の制御を行う制御データCDをRAM30を介して音源LSI10に提供する。さらに詳述すると、CPU20は、楽音のサンプルを生成すべきタイミングにおいて、そのサンプルの生成を行うチャネルを決定し、生成すべき楽音を指定する情報と、生成した楽音のサンプルの遅延メモリ30Dへのバースト転送を指示する情報とを含んだ制御データCDを当該チャネルに対応したRAM30内のエリアに書き込む。
【0050】
音源LSI10は、その後のサブフレームの当該チャネル処理においてこの制御データCDをRAM30から読み出すと、制御データCDに従って楽音のサンプルを生成し、このサンプルを出力バッファ15に格納するとともにエフェクト用バッファ141を使用したバースト転送によりRAM30内の遅延メモリ30Dに送る。
【0051】
CPU20は、楽音発生後の最初の初期反射音(最も短い伝播経路を経て聴者に至る初期反射音)を生成すべきタイミングになると、その初期反射音のサンプルを生成するチャネルを決定し、遅延メモリ30Dに格納された楽音のサンプルをバースト転送により受け取るべき旨を指示する情報と、受け取ったサンプルに対して施すフィルタ処理のためのフィルタ係数等を含んだ制御データCDを当該チャネルに対応したRAM30内のエリアに書き込む。
【0052】
音源LSI10は、その後のサブフレームの当該チャネル処理においてこの制御データCDをRAM30から読み出すと、この制御データCDに従い、遅延メモリ30Dからバースト転送により楽音のサンプルを受け取り、これにフィルタ処理を施して初期反射音のサンプルを生成し、この初期反射音のサンプルと出力バッファ15内のサンプルとの累算を行う。
【0053】
他の初期反射音および後部残響音のサンプルの生成も、以上と同様、CPU20側の主導の下で行われる。
【0054】
この制御方式の場合、初期反射音や後部残響音のサンプルを生成すべきときに、その時点で空いているチャネル処理をそのサンプル生成に当てるので、システムの柔軟性を高くすることができるという利点がある。
【0055】
b.音源LSI10(マイクロプログラムMP)主導型の制御方式
この制御方式の場合、CPU20は、楽音のサンプルを生成すべきタイミングにおいて、楽音のサンプルの生成を行うチャネル、初期反射音のサンプルの生成を行う複数のチャネル、後部残響音のサンプルの生成を行うチャネルを一括して決定する。そして、生成すべき楽音を指定する情報と、生成した楽音のサンプルの遅延メモリ30Dへのバースト転送を指示する情報とを含んだ制御データCDを楽音サンプル生成用のチャネルに対応したRAM30内のエリアに書き込み、同様に各初期反射音のサンプル生成のための制御データCD、後部残響音のサンプル生成のための制御データCDを各々のサンプル生成用のチャネルに対応したRAM30内の各エリアに書き込む。
【0056】
ここで、各初期反射音のサンプル生成のための各制御データCDには、遅延メモリ30Dから楽音のサンプルの読み出しを行うまでの待機時間を示す情報と、読み出したサンプルに対してフィルタ処理を施す際に使用するフィルタ係数が含まれている。同様に、後部残響音のサンプル生成のための制御データCDにも、最終的に後部残響音のサンプルを経るまでにRAM30との間で行うべきサンプルの授受の手順を指定する情報(何時どのエリアに書き込んで何時読み出すか)と、読み出したサンプルに対して行うべき演算処理を指定する情報が含まれている。
【0057】
音源LSI10は、その後のサブフレームの各チャネル処理においてこれらの制御データCDをRAM30から読み出す。そして、その直後のサブフレームにおける楽音のサンプル生成用のチャネル処理(楽音のサンプル生成のための制御データCDを読み出したチャネル処理)では、当該制御データCDに従って楽音のサンプルを生成し、このサンプルを出力バッファ15に格納するとともにエフェクト用バッファ141を使用したバースト転送によりRAM30内の遅延メモリ30Dに送る。
【0058】
また、初期反射音のサンプル生成用のチャネル処理(楽音のサンプル生成のための制御データCDを読み出したチャネル処理)では、制御データCDによって指定された時間が経過するまで待機し、その指定時間経過後、遅延メモリ30Dから楽音のサンプルをバースト転送により受け取り、このサンプルから初期反射音のサンプルを生成し、この初期反射音のサンプルと出力バッファ15内のサンプルとの累算を行う。
【0059】
後部残響音のサンプル生成用のチャネル処理も同様であり、RAM30経由で与えられた制御データCDに従い、後部残響音のサンプルを生成し、これと出力バッファ15内のサンプルとの累算を行う。
【0060】
この制御方式の場合、必要な制御データCDをCPU20から音源LSI10に転送した後は、音源LSI10の主導の下で楽音や初期反射音や後部残響音のサンプル生成が行われるので、CPU20の負担を少なくすることができるいう利点がある。なお、初期反射音や後部残響音のサンプル生成を行うチャネルは、その都度決定するのではなく、固定のものを定めておいてもよい。
【0061】
以上、この発明の実施形態について説明したが、この発明の適用範囲はこれに限定されるものではなく、上記実施形態には様々な変形例が考えられる。
例えば上記実施形態では楽音のサンプルおよび1個の初期反射音のサンプルを生成するのに各々1個のチャネル処理を利用したが、楽音のサンプル生成および各初期反射音のサンプル生成に対し、各々2個のチャネル処理を当て、各々左右2チャネルからなる楽音および初期反射音のサンプルを生成するようにしてもよい。音響空間において発生する各初期反射音は、図4に例示するように様々な邦楽から聴者に届くものであるが、このように各初期反射音のサンプル生成に2個のチャネル処理を利用すれば、左右のスピーカから発する音の遅延時間差および音量バランスを調整することができるため、臨場感に富んだ音場再生を行うことができる。
【0062】
また、上記実施形態では、コンピュータシステムに内在した形態のオーディオ信号生成装置を例に説明した。しかし、本発明の適用範囲はこれに限定されるものではなく、コンピュータシステムのシステムメモリに記憶されたウェーブテーブルを使用してオーディオ信号を生成する複数のオーディオ信号処理手段と、複数のオーディオ信号処理手段の中のあるオーディオ信号処理手段により生成されたオーディオ信号をシステムメモリに転送するとともに、このシステムメモリに転送されたオーディオ信号を複数のオーディオ信号処理手段の中の他のオーディオ信号処理手段に転送するオーディオ信号転送手段と、複数のオーディオ信号処理手段の出力信号を合成して出力する出力手段とからなるICやカード(上記実施形態における音源LSI10や音源ボード100に相当)を製造して一般ユーザに配布し、ユーザがこのICやカードをコンピュータシステムに装着し、オーディオ信号生成装置として使用するようにしてもよい。
【0063】
【発明の効果】
以上説明したように、この発明に係るオーディオ信号生成装置は、オーディオ信号の生成またはオーディオ信号に対する信号処理を行う複数のオーディオ信号処理手段と、コンピュータシステムのシステムメモリと、前記複数のオーディオ信号処理手段の一部により生成されたオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送されたオーディオ信号をその後の1以上のタイミングにおいて、前記オーディオ信号の信号処理を行うオーディオ信号処理手段に転送するオーディオ信号転送手段と、前記オーディオ信号の生成およびオーディオ信号に対する信号処理を行う複数のオーディオ信号処理手段の出力信号を合成して出力する出力手段とにより構成されるため、コンピュータシステム側のCPUの負担を招くことなく、かつ、経済的に、遅延時間の長い初期反射音を伴ったオーディオ信号を生成することができるという効果がある。
【図面の簡単な説明】
【図1】 この発明の一実施形態であるオーディオ信号生成装置を含むコンピュータシステムの構成を示すブロック図である。
【図2】 同実施形態における音源LSIのタイミング制御の態様を示すタイムチャートである。
【図3】 同実施形態において実行されるエフェクト処理を示す図である。
【図4】 同エフェクト処理において生成される初期反射音を説明する図である。
【図5】 FIRフィルタによる初期反射音の生成手段の構成を例示したブロック図である。
【図6】 コムフィルタによる初期反射音の生成手段の構成を例示したブロック図である。
【符号の説明】
A……コンピュータシステム、20……CPU、
30……RAM(システムメモリ)、
10……音源LSI(複数のオーディオ信号処理手段)、
11……制御部、12……PCIバスインタフェース、
13……入力バッファ、
141,142……エフェクト処理用バッファ(以上、オーディオ信号転送手段)、15……出力バッファ(出力手段)。
Claims (5)
- オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
第1のオーディオ信号の生成を行う第1のオーディオ信号処理手段と、
前記第1のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第2のオーディオ信号を生成する複数の第2のオーディオ信号処理手段と、
コンピュータのシステムメモリと、
前記第1のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第1のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第2のオーディオ信号処理手段に転送するオーディオ信号転送手段と、
前記第1のオーディオ信号と複数の前記第2のオーディオ信号を合成して出力する出力手段と、
を具備することを特徴とするオーディオ信号生成装置。 - オーディオ信号に音場効果を付与するオーディオ信号生成装置において、
アプリケーションプログラムに従って、オーディオ信号の生成に必要な制御データおよびオーディオ信号に対するエフェクト処理に必要な制御データを出力するシステム制御用プロセッサと、
システムメモリと、
前記システム制御プロセッサによる制御の下、複数のチャネルによってサウンド処理を実行する音源プロセッサと、を有し、
前記音源プロセッサは、
第1のチャネルで第1のオーディオ信号の生成を行う第1のオーディオ信号処理手段と、
前記第1のチャネル以外のチャネルで前記第1のオーディオ信号に信号処理を施して、各々遅延時間が異なる複数の第2のオーディオ信号を生成する複数の第2のオーディオ信号処理手段と、
前記第1のオーディオ信号を前記システムメモリに転送するとともに、このシステムメモリに転送された前記第1のオーディオ信号を、前記遅延時間に応じた各々のタイミングにおいて、複数の前記第2のオーディオ信号生成手段に転送するオーディオ信号転送手段と、
前記第1のオーディオ信号と複数の前記第2のオーディオ信号とを合成して出力する出力手段と、を具備する
ことを特徴とするオーディオ信号生成装置。 - 前記システム制御プロセッサは、前記第2のオーディオ信号を生成すべきタイミングにおいて、前記第2のオーディオ信号処理手段による信号処理を実行するチャネルを決定し、当該信号処理に必要な制御データを前記音源プロセッサに供給する
ことを特徴とする請求項2に記載のオーディオ信号生成装置。 - 前記システム制御プロセッサは、前記第2のオーディオ信号を生成すべきタイミングを指定する情報を含む音源制御データを前記音源プロセッサへ供給し、前記音源プロセッサは、前記システム制御プロセッサから受取った音源制御データの示すタイミングにおいて、前記システムメモリに転送された前記第1のオーディオ信号を前記オーディオ信号転送手段により受け取り、前記複数の第2のオーディオ信号処理手段により前記複数の第2のオーディオ信号の生成を行う
ことを特徴とする請求項2に記載のオーディオ信号生成装置。 - 前記第1のオーディオ信号に信号処理を施して第3のオーディオ信号を生成する第3のオーディオ信号処理手段をさらに具備し、
前記オーディオ信号転送手段はさらに、前記システムメモリに転送された前記第1のオーディオ信号を、その後の1以上の所定のタイミングにおいて、前記第3のオーディオ信号処理手段に転送し、
前記出力手段はさらに、前記第3のオーディオ信号を合成して出力する
ことを特徴とする請求項1乃至4のいずれかに記載のオーディオ信号生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37139798A JP4361628B2 (ja) | 1998-12-25 | 1998-12-25 | オーディオ信号生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37139798A JP4361628B2 (ja) | 1998-12-25 | 1998-12-25 | オーディオ信号生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000197194A JP2000197194A (ja) | 2000-07-14 |
JP4361628B2 true JP4361628B2 (ja) | 2009-11-11 |
Family
ID=18498645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37139798A Expired - Fee Related JP4361628B2 (ja) | 1998-12-25 | 1998-12-25 | オーディオ信号生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4361628B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6186436B2 (ja) * | 2012-08-31 | 2017-08-23 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 個々に指定可能なドライバへの上方混合されたコンテンツの反射されたおよび直接的なレンダリング |
-
1998
- 1998-12-25 JP JP37139798A patent/JP4361628B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000197194A (ja) | 2000-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6665409B1 (en) | Methods for surround sound simulation and circuits and systems using the same | |
US5768628A (en) | Method for providing high quality audio by storing wave tables in system memory and having a DMA controller on the sound card for transferring the wave tables | |
JP3072452B2 (ja) | カラオケ装置 | |
JP3324672B2 (ja) | リアルタイム・ディジタル音声残響システム | |
KR20020000878A (ko) | 악음 발생장치 | |
US7463740B2 (en) | Sound data processing apparatus for simulating acoustic space | |
JP3744440B2 (ja) | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 | |
JP3991458B2 (ja) | 楽音データ処理装置およびコンピュータシステム | |
JP4361628B2 (ja) | オーディオ信号生成装置 | |
JPH1020860A (ja) | 楽音発生装置 | |
JP4036233B2 (ja) | 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体 | |
JPH09244650A (ja) | 楽音合成装置及び方法 | |
JP3855711B2 (ja) | 音波形データ用ディジタル信号処理装置 | |
JPH07121181A (ja) | 音声情報処理装置 | |
JP4096952B2 (ja) | 楽音発生装置 | |
JP3152156B2 (ja) | 楽音発生システム、楽音発生装置および楽音発生方法 | |
JP3781171B2 (ja) | 楽音発生方法 | |
JP3991475B2 (ja) | 音声データ処理装置およびコンピュータシステム | |
JP3654257B2 (ja) | 楽音発生装置 | |
JP2000293169A (ja) | 楽音生成装置 | |
JP7159583B2 (ja) | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 | |
JP3855710B2 (ja) | 音波形データ用ディジタル信号処理装置 | |
JP3223827B2 (ja) | 音源波形データ生成方法および装置 | |
JP2000122668A (ja) | デジタル音声データ処理装置およびコンピュータシステム | |
JP2001318672A (ja) | 楽音発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060804 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060905 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061106 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061117 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070105 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090813 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120821 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130821 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |