【発明の詳細な説明】
波形表キャッシュを有するPCオーディオシステム
発明の背景 発明の分野
本発明は、波形表音響シンセサイザのための波形表データがPCシステムメモ
リによって供給されるPCオーディオシステムに関し、特に、波形音響シンセサ
イザおよび波形表キャッシュを含み、波形表データにアクセスするPCシステム
メモリとインターフェイスするPCオーディオシステムに関する。従来技術の説明
現在、幾つかのタイプのデジタル“シンセサイザ”、すなわち、音響デジタル
信号処理を通して音を生成する装置が入手可能である。現在の新型のデジタルシ
ンセサイザは、波形表シンセサイザである。波形表シンセサイザは、波形表メモ
リに記憶されたデジタル化された音の波形全体あるいはデジタル化された音の波
形の一部分のデジタル処理によって音を生成する。本明細書において参照文献と
されているNorris氏等による米国特許出願第08/334,461号明細書“Digital Sign
al Processor Architecture for Wavetable Audio Synthesizer”を参照された
い。
波形表シンセサイザは、波形表メモリからデジタル−アナログ変換器(DAD
)へ特定のデジタル化された波形を“再生”することによって音を生成する。波
形表データのアドレッシング速度は、アナログ出力の周波数あるいはピッチを制
御する。波形表データのビット幅は、生成される音の分解能に影響を及ぼす。例
えば、より良い分解能は、16ビットの幅のデータ対8ビットの幅のデータで達
成されることができる。16ビットのデジタルオーディオは、産業において標準
となりつつある。
パーソナルコンピュータにおいて波形表シンセサイザのアプリケーションが使
用されている。典型的に、パーソナルコンピュータは、限定されたオーディオ能
力だけを有して製造される。これらの限定された能力によってモノラルトーンが
生成され、それによって、警報あるいはその他の使用者警告信号等の種々の簡単
な機能に関して使用者に可聴信号を供給する。典型的なパーソナルコンピュータ
システムは、マルチメディアおよびビデオゲームのアプリケーションに所望され
た向上であるステレオの高品質のオーディオを提供する能力がなく、また、音楽
あるいは別の複合音を生成あるいは合成する内蔵の能力も有していない。音楽合
成能力は、使用者が外部インスツルメント上で使用されるコンピュータを通して
、あるいはアナログスピーカを通して、ならびにマルチメディア(CD−ROM
)アプリケーションにおいて音を生成あるいは録音するために音楽構成アプリケ
ーションの使用を所望したときに必要である。
加えて、使用者は、それらのコンピュータを通して録音あるいは再生する前に
デジタルで録音される、および/またはデジタルソースで混合されるステレオ装
置、マイクロフォン、および非MIDI電気器具等の外部アナログ音ソースを使
用できる能力をしばしば所望する。これらの需要を満足させるために、幾つかの
付属製品が開発されてきた。ある1つのそのような製品のラインは、業界におい
て音響カードと呼ばれている。これらの音響カードは、多数の集積回路を支持し
ている回路ボードであり、多くの場合においてそれは波形表シンセサイザと、波
形表メモリと、コンピュータ製造業者によって設けられた拡張スロットに使用者
によって設置されるその他の関連した回路とを含んでいる。拡張スロットによっ
てシステムバスへのインターフェイスが供給され、それによって、ホストプロセ
ッサが音の生成にアクセスし、また、アプリケーションソフトウェアの制御の下
でボード上の機能を制御することが可能となる。典型的な音響カードはまた、キ
ーボードおよびゲームのための操作棒等のMIDI器具からの入力を受入れるた
めのMIDIインターフェイスおよびゲームポートを供給する。
ある従来技術による音響カードは、Advanced Gravis and Forte社からウルト
ラサウンドという名前で提供されたものである。この音響カードは、1つのチッ
プ(“GF−1”)に波形表シンセサイザ、MIDIおよびゲームインターフェ
イス、DMA制御およびアドリブ・サウンド・ブラスタ・コンパティビリティ論
理装置を組込む拡張スロットを実施したものである。このASICに加えて、ウ
ルトラ音響カードは、波形表データのための搭載DRAM(1メガバイト)と、
アドレス解読チップと、アナログ入力と出力とをインターフェイスするための別
個のアナログ回路と、別個のプログラム可能ISAバスインターフェイスチップ
と、割込みPALチップと、別個のデジタル−アナログ/アナログ−デジタル変
換チップとを含んでいる。本明細書において参照されているTravers氏等による
米国特許出願第072,838号明細書“Wave Table Synthesizer”を参照されたい。
搭載式音響カードメモリは、典型的に1/2乃至4メガバイトのサイズを有し
、音楽を合成するために使用された全ての波形表データを記憶する。1メガバイ
ト毎に約25.00ドルのコストがかかるので、音響カードメモリのコストは音
響カード全体のコストにおいて重要な要因である。それ故に、波形表データを供
給するためにPCシステムメモリを使用できれば、音響カードメモリの必要が除
去あるいは減少され、音響カードは廉価になる。
しかしながら、波形表データを記憶するためにPCシステムメモリを使用する
場合、幾つかのことが懸念される。それらの懸念の1つは、使用可能なPCシス
テムメモリは限定されており、波形表データのために分ける余裕はないことであ
る。しかしながら、これは将来の最新技術のPCにおいてはより大きいシステム
メモリを含み、波形表データのために使用可能なスペースを有していることが期
待されるからそれほど懸念されることではない。別の懸念とは、システムメモリ
を使用すると、従来技術のシンセサイザによって要求されたメモリへ多数回アク
セスしなければならないことである。例えば、32個の独立した音声(すなわち
、インスツルメント・サウンド)を合成することのできる従来技術のシンセサイ
ザは、要求されたデータサンプルを検索するために22.7マイクロ秒毎に32
回メモリをアクセスしなければならない。システムメモリに対してこの回数だけ
アクセスが行われたとすると、許容不可能に高い割合のシステムバスの帯域幅が
シンセサイザの動作のために使用され、従って別のPC動作に使用できるバスの
帯域幅が小さくなる。
さらに別の懸念とは、シンセサイザがそれがシステムメモリから波形表データ
を受取るよりも速く処理を行う(すなわち、システムの最大のバス待機時間より
も速く)かもしれないことである。そのような状況は許容不可能であり、それは
、処理されたデータが間隙を有し、合成された音楽が演奏されたときに不所望な
ポ
ップ音(pop)が生じるかもしれないからである。
それ故に、システムメモリによって供給された波形表データから音楽を合成す
るが、許容不可能な割合のバスの帯域幅を使用しないPCオーディオシステムが
必要とされている。さらに、少なくともデータを処理する速度と同じ速度でシス
テムメモリからデータを得る(すなわち、最大のバス待機時間がPCオーディオ
システムのデータ処理の速度より下、あるいは等しい)PCオーディオシステム
が必要とされている。
発明の概要
本発明のPCオーディオ回路は、中央処理装置、システムメモリ、およびシス
テムバスを含んでいるタイプのホストパーソナルコンピュータとインターフェイ
スし、それにオーディオ強調を行うように設計されている。PCオーディオ回路
は、サイズおよびコストが著しく減少され、一度に波形表データ全体の一部分ず
つを記憶するキャッシュメモリを含んでいる。代りに、全ての波形表データはホ
ストPCのシステムメモリに記憶され、PCオーディオ回路によって必要とされ
たときに部分的にキャッシュメモリに移される。PCオーディオ回路はデータを
処理し、音楽あるいは音響効果等のデジタルオーディオ信号を生成する。キャッ
シュメモリはサイズおよびコストが減少されているので、PCオーディオ回路は
従来技術のシステムよりも全体のコストが低くなる。
従来技術によるPCオーディオシステムとは異なり、本発明のPCオーディオ
回路は、次に指定された音声を処理する前に音声のためのデータサンプルの幾つ
かのフレームを処理する。従って、所定の音声のための幾つかの波形表データサ
ンプルが一度にシステムメモリから検索され、キャッシュメモリにおいて使用可
能にされ、それによって、要求されたメモリへのアクセスの全体的な回数ならび
にシステムバスの帯域幅の使用の割合が減少する。また、この方法でデータサン
プルを処理することによって、一定の並列処理動作が可能にされる。例えば、活
性音声のための複数のデータサンプルが処理されている間に、別のグループのデ
ータサンプルがシステムメモリから検索され、キャッシュメモリ中での処理のた
めに使用可能にされることができる。これによってデータを連続的に供給するこ
とが確実にされ、また、最大の許容可能なシステムバスのアクセス待機時間に関
する問題が減少される。
本発明のPCオーディオ回路は一度に幾つかの波形表データサンプルを検索す
るので、音声のデータサンプルはシステムメモリにおける1つのブロックで一緒
に組織化されることが好ましい。従って、連続したデータサンプルが要求された
場合、それらは、ブロックにおいてデータサンプルを通してインクレメントする
システムメモリのページモードを使用してアクセスされることができる。システ
ムメモリとPCオーディオ回路の間のバスはPCIバスであることが好ましく、
それによって、ページモードを通してアクセスされたデータがバーストモードで
PCオーディオ回路に伝送されることができる。
好ましい実施形態において、本発明のPCオーディオ回路は、PCIバスイン
ターフェイスブロックと、内部アドレスデータバスと、デジタル信号プロセッサ
と、出力制御状態マシンと、内部バスアービタと、キャッシュメモリとを含んで
いる。PCオーディオ回路はモノリシックな集積回路上に形成されることができ
、キャッシュメモリを含んでいるか、あるいは集積回路の外部にキャッシュメモ
リを有している。システムメモリ中のデータは、PCIバスを通り、PCIイン
ターフェイスブロックを通り、内部バスを通り、キャッシュメモリ内に伝送され
る。
デジタル信号プロセッサ(DSP)は、キャッシュメモリ中のデータサンプル
を、所望されたアナログオーディオ信号に変換するのに適切なデジタルオーディ
オ信号に変換するために計算およびその他の処理を行う。DSPは、32個まで
の独立したデジタルオーディオ信号あるいは音声を44.1KHzのフレーム速
度で生成するできることが好ましい。
DSPによって各音声に対して生成されたデジタルオーディオ信号は、それら
が外部のデジタル−アナログ変換器(DAC)に出力される用意ができるまで、
キャッシュメモリにおいて累算されるか、あるいは別個のキャッシュメモリにお
いて累算されることができる。出力制御状態マシン(OCSM)は、44.1K
Hzのサンプル速度でのキャッシュから外部DACへの累算されたデータの伝送
を制御する。この内部バスアービタ(IBA)は、OCSM、キャッシュ、PC
Iインターフェイスブロック、およびDSPを含んでいる内部バスをアクセスす
る種々のブロック間のトラフィックを導くように動作する。内部バスは、PCI
標準の一部分として設けられたクロックからのほとんどの論理と共に33MHz
で動作する。
キャッシュは、約8乃至32キロバイトの容量を有する低コストのSRAMで
あることが好ましい。キャッシュにおける使用可能なメモリは、データサンプル
記憶装置、累算器記憶装置、およびDSPのための汎用記憶装置に割当てられる
ことができる。データサンプルはデータ列AおよびBに記憶されることができ、
一方、DSPによって生成されたデジタルオーディオ信号は累算器列AおよびB
に記憶されることができる。適切な実施形態において、データ列AおよびBのそ
れぞれは、32個の音声のそれぞれに対して16ビットのデータサンプルを64
個まで記憶し、一方、累算器列AおよびBのそれぞれは、生成されたデータサン
プルを32個までの音声に対して累算する。生成されたデータサンプルは、64
個の16ビットのデータサンプルとして累算器列AあるいはBにおいて一緒に累
算される。
PCIインターフェイスブロックは、データサンプルでキャッシュを更新する
必要があるときに検出し、バスマスター要求を開始する。データサンプルが検索
されるシステムメモリ中のアドレスは、PCIインターフェイスブロックからP
CIアドレスバスに伝送される。PCIインターフェイスブロックの制御下で、
システムメモリから検索されたデータサンプルは、内部データバス上でキャッシ
ュに伝送される。
PCオーディオ回路の好ましい実施形態が始動する際、各活性音声に対して1
28個のデータサンプル(すなわち、データ列AおよびBのそれぞれにおいて6
4個のデータサンプル)がキャッシュに負荷される。一度、データ列AおよびB
がデータで負荷されると、DSPは第1の活性音声に対して一方のデータ列にお
けるデータサンプルを処理する。他方のデータ列はその時点では不活性である。
その後、DSPは、次の指定された活性音声に対してデータサンプルを処理する
。DSPがこれらのデータサンプルを処理したとき、DSPによって生成された
ばかりのデータサンプルが累算器列の1つに累算される。このプロセスは全ての
活性音声が処理されるまで続行し、その後、一方の累算器列が切換えを行い、他
方の累算器列が生成されたデータサンプルを累算し、第1の累算器列における累
算
されたデータサンプルは外部DACに出力されることができる。
一度、データ列における各活性音声に対するデータサンプルが処理されると、
PCIインターフェイスブロックは、システムメモリからの付加的なデータサン
プルに対してPCIバス上で要求を伝送する。システムメモリから検索されたデ
ータサンプルは第1のデータ列に記憶され、それによって処理されたばかりのデ
ータサンプル上に重ねて書込む。これらのデータサンプルが検索されている間、
DSPは他方の列においてデータサンプルを処理する。その後、データ列が切換
えを行い、プロセスが続行し、一度に64個までのデータサンプルが処理される
ことが可能になる。
DSPが元のオーディオ信号のアナログ−デジタル変換(記録)中に使用され
たサンプリング周波数と同じ周波数でデータサンプルを処理し、DSPによって
生成されたオーディオ信号がアナログに変換されて演奏された場合、結果的に生
じたオーディオ信号は、データサンプルを生成するために使用された元のオーデ
ィオ信号と同じように聞こえる。演奏されるオーディオ信号の周波数が記録周波
数と同じとき、その周波数比率(Fe)は1に等しい。Fe>1である場合、生成
されたオーディオ信号はより高いピッチを有し、その後、信号が記録される。各
活性音声に対してFe=1である場合、最大の許容可能なPCIバスの待機時間
は、44.1KHzのフレーム速度でデータサンプルの64フレームを処理する
ためにかかる時間と等しい。しかしながら、1以上の活性音声に対してFe>1
である場合、最大の許容可能なPCIバスの待機時間は減少され、それはDSP
が音声毎のフレーム毎に1以上のデータサンプルを処理するからである。Fe=
2である場合、最大の許容可能なPCIバスの待機時間の減少が問題になること
がある。
Fe>2の場合の待機時間の問題は、PCオーディオ回路が処理されるデータ
サンプルだけを検索し、DSPによってスキップされるデータサンプルは検索し
ないようにすることによって回避されることができる。従って、データ列におい
て検索され、記憶された全てのデータサンプルが処理される。この特徴は、活性
音声に対するFe値をアクセスするためにPCIインターフェイスブロック中に
手段を設けることによって実行され、その後、所定の音声のデータサンプルを検
索するための次のシステムメモリアドレスを現在のメモリアドレスおよびFe値
に基づいて計算する。Fe>1であるときに各活性音声のための選択サンプルを
検索することによって使用可能なPCI帯域幅が減少されるが、それはバースト
モードがデータサンプルを伝送するために使用されることができないからである
。しかしながら、PCオーディオ回路の帯域幅の使用の割合は、バーストモード
が使用されているかどうかに関わらず許容可能であることが期待される。
図面の簡単な説明
本発明は、好ましい実施形態の以下の詳細な説明および別の実施形態が添付図
面に関連して検討された際により良く理解されることができる。
図1は、ホストコンピュータのシステムバスとインターフェイスされたときの
本発明のPCオーディオ回路のブロック図である。
図2は、本発明のキャッシュメモリにおいてどのようにメモリが割当てられる
かを示している。
図3は、システムおよび内部バスとインターフェイスされたときの本発明のP
CIバスインターフェイスブロックのブロック図である。
図4は、内部バスとインターフェイスされたときの本発明の出力制御状態マシ
ンのブロック図である。
実施例
I.PCオーディオ回路の概要
以下の説明は、モノリシックな集積回路上に形成できるPCオーディオ回路の
好ましいおよび別の実施形態を説明する。PCオーディオ回路は、中央処理装置
、システムメモリ、およびシステムバスを含む形式のホストパーソナルコンピュ
ータとインターフェイスし、オーディオの強調を行うように設計されている。本
発明のPCオーディオ回路と従来技術のPCオーディオ回路の間の基本的な違い
は、局所メモリのサイズが著しく減少され(例えば、8乃至32キロバイト)、
一度に波形表データ全体の1部分だけを記憶できることである。代りに、全ての
波形表データ(例えば、1乃至4メガバイト)はホストPCのシステムメモリに
記憶され、PCオーディオ回路によって必要とされたときにはキャッシュメモリ
として知られている局所メモリに部分的に移される。PCオーディオ回路はデー
タを
使用し、音楽あるいは音響効果等のデジタルオーディオ信号を生成する。
本発明の従来技術において説明されたように、システムメモリが波形表データ
を記憶するために使用され、それによって局所メモリのサイズが減少した場合、
PCオーディオ回路のコスト全体が減少する。しかしながら、システムメモリを
使用すると以下のような問題が生じる。すなわち、(i)許容不可能な割合のシ
ステムバスの帯域幅が使用され、(ii)PCオーディオ回路がホストコンピュータ
の最大のバス待機時間よりも速く波形表データを処理することである。本発明の
PCオーディオ回路は、これらの問題を緩和するように設計されている。
オーディオのための典型的なフレーム速度は44.1KHzである。このフレ
ーム速度において、各フレームは約22.7マイクロ秒である。従って、もしも
従来技術のPCオーディオ回路がフレームの期間中に32個の音声を生成する場
合、この短期間の間に32回のデータのアクセスが行われなければならない。こ
れは、データのアクセスが局所メモリに対して行われる場合には問題でない。し
かしながら、システムメモリに対して多数のアクセスが行われた場合、バスの帯
域幅の使用およびバス待機時間が問題となる。
従来技術のシステムとは異なり、本発明のPCオーディオ回路は、次に指定さ
れた音声の処理の前に1つの音声に対してデータサンプルの幾つかのフレームを
処理する。従って、所定の音声に対する幾つかの波形表データサンプルは一度に
システムモリから検索されることができ、キャッシュメモリにおいて使用可能に
され、それによって、要求されたメモリへのアクセスの全体の回数およびバスの
帯域幅の使用の割合が減少する。また、この方法でデータサンプルを処理するこ
とによって、所定の並列処理動作が許容される。例えば、複数のデータサンプル
が活性音声に対して処理されている間に、別のグループのデータサンプルは、シ
ステムメモリから検索され、PCオーディオ回路のキャッシュメモリにおける処
理のために使用可能にされることができる。これによって、データを連続的に供
給することが確実にされ、バスアクセス待機時間に関する問題が減少される。
本発明のPCオーディオ回路は一度に幾つかの波形表データサンプルを検索す
ることができるので、音声のデータサンプルがシステムメモリの1ブロックにお
いて一緒に組織化されることが好ましい。従って、連続したデータサンプルが要
求された場合、それらはブロックにおけるデータサンプルを通してインクレメン
トするシステムメモリのページモード使用してアクセスされることができる。シ
ステムメモリとPCオーディオ回路との間のバスがPCIバス(すなわち、より
高性能のバス)である場合、ページモードを通してアクセスされたデータは、バ
ーストモードで(すなわち、より速い速度で)PCオーディオ回路に伝送される
ことができる。バーストモードを使用すると、最大バス待機時間ならびに帯域幅
の使用の割合が減少される。
II.PCオーディオ回路の構成
図1において、PCオーディオ回路の好ましい構成が示されている。図示され
ているように、PCオーディオ回路10は、PCIバスインターフェイスブロック
12、内部アドレスデータバス14、デジタル信号プロセッサ16、出力制御状態マシ
ン18、内部バスアービタ20、およびキャッシュメモリ22を含んでいる。データは
、PCIバス24からPCIインターフェイスブロック12を通り、内部バス14を通
ってキャッシュ22に渡される。キャッシュ22を含んでいるPCオーディオ回路10
は、モノリシックな集積回路上に形成されることができる。図1における破線で
描かれた箱形は、そのような集積回路の好ましい外周を表している。その代りに
、キャッシュ22が回路の外側にあってもよい。
デジタル信号プロセッサ(DSP)16は、本明細書において参照文献とされて
いるNorris氏等による米国特許出願第08/334,461号明細書において開示された波
形表シンセサイザDSPに類似したデータで動作する。換言すると、本発明のD
SP16は、所望されたアナログオーディオ信号に変換するのに適切なデジタルオ
ーディオ信号に未処理の波形表データを翻訳するために計算およびその他の処理
を行う。DSP16は、ROMコード26に記憶された指令から動作し、44.1K
Hzのフレーム速度で32個までの独立したデジタルオーディオ信号あるいは音
声を生成できることが好ましい。しかしながら、上述の特許出願明細書に開示さ
れた波形表シンセサイザとは異なり、本発明のDSP16は、1フレーム当りの音
声毎にデータサンプルを1つ処理するというよりも、むしろ音声毎に波形表デー
タサンプルの幾つかのフレームを処理する。DSP16の詳細は当業者によって処
理される当業者レベルのものである。
DSP16によって各音声に対して生成されたデジタルオーディオ信号は、それ
らがポート28において外部オーディオデジタ−アナログ変換器(DAC)に出力
される用意ができるまで、キャッシュ22において、あるいは別個のキャッシュメ
モリにおいて累算されることができる。出力制御状態マシン(OCSM)18は、
累算されたデータをキャッシュ22から外部DACへ44.1KHzのサンプル速
度で伝送するように動作する。OCSM18は、それ自身の16.9344MHz
のクロック30を使用し、サンプル速度との同期を確実にする。内部バスアービタ
(IBA)20は、OCSM18、キャッシュ22、PCIインターフェイスブロック
(PCI I/Fブロック)12およびDSP16を含んでいる内部バス14をアクセ
スする種々のブロック間のトラフィックを導くように動作する。内部バス14は、
PCI標準の一部分として設けられたクロック32からの論理の大半と共に33M
Hzで動作する。
内部バス:内部バス14は、32ビットのデータバスと16ビットのアドレスバ
スを有している。内部バスのアドレスマップは以下のようである。 PCIバス:PCIバスは、標準PCIプラグおよび演奏回路を通して256
I/O(バイト幅)のアドレスのブロックを割当てられる。これらのアドレス
は、以下のようにシステムの中央処理装置によって使用される。
波形表キャッシュRAM:キャッシュ22は、約8乃至32キロバイトの容量を
有する低コストのSRAMであることが好ましい。キャッシュ22において使用可
能なメモリは、データサンプル記憶装置、累算器記憶装置、およびDSP16のた
めの汎用記憶装置に割当てられることができる。図2は、使用可能なメモリがデ
ータサンプル記憶装置と累算器記憶装置との間でどのように適切に割当てられる
かを示している。データサンプルはデータ列“A”および“B”中に記憶される
ことができ、一方、DSP16によって生成された(データサンプルによって生成
された)デジタルオーディオ信号は累算器列“A”および“B”に記憶されるこ
とができる。図2を参照されたい。データ列AおよびBは、32個の音声のそれ
ぞれに対して16ビットのデータサンプルを64個までそれぞれ記憶することが
できる。累算器列AおよびBはそれぞれ、生成されたデータサンプルを32個ま
での音声に対して累算することができる。生成されたデータサンプルは、1組の
16ビットのデータサンプルとして列AあるいはBにおいて一緒に累算される。
1つの組においてデータサンプルは64個まで存在できる。
データ列AおよびBは、合わせて8キロバイトまで記憶することができ、一方
、累算器列AおよびBは、合わせて256バイトまで記憶することができる。付
加的なメモリは、汎用DSP記憶装置のためのキャッシュ22中に設けられること
が
できる。
音声のための2つのデータ列の一方が、データがシステムメモリから検索され
たときにデータサンプルを記憶するために使用され、他方のデータ列が、データ
サンプルをDSP16に供給することが好ましい。従って、データ列Aがデータサ
ンプルをDSP16に供給した場合、データ列Bはシステムメモリから検索された
データサンプルを記憶する。データ列Bは、DSP16によって処理される次の組
のデータサンプルで満たされ、DSPがデータ列Aにおいてデータサンプルの処
理を終了する前に満たされなければならない。そうでなければ、生成されたデジ
タルオーディオ信号において不所望な間隙(ギャップ)が生じる。データ列Aに
おける全てのデータサンプルが処理されたとき、データ列AおよびBは切換えら
れ、DSP16はデータ列Bに記憶されたデータサンプルを処理し、システムメモ
リから検索されたデータサンプルはデータ列Aにおいて記憶される。このプロセ
スは、DSP16がデータサンプルを処理する限り続行する。
同様に、累算器列の一方が累算されたデータサンプルを外部DACに供給する
ために使用され、他方の累算器列がDSP16によって生成されたデータサンプル
を累算するために使用される。従って、累算器列Aが累算されたデータサンプル
を供給した場合、累算器列Bはデータサンプルを累算する。全ての活性音声に対
して生成されたデータサンプルは、累算器列Aにおける全てのデータサンプルが
外部DACに伝送される前に累算器列Bにおいて累算されなければならない。そ
うでなければ、アナログ信号において間隙が生じてしまう。累算器列Aにおける
全てのデータサンプルが外部DACに伝送されたとき、累算器列AおよびBは切
換えられ、データ列Bにおいて累算されたデータサンプルは外部DACに伝送さ
れ、生成されたデータサンプルはデータ列Aにおいて累算される。本発明の全体
の動作はさらに以下に説明される。
本発明の適切な波形表キャッシュのためのアドレスマップは以下のようなもの
である。 PCIインターフェイス:図3において、PCIインターフェイスブロック12
のブロック図が示されている。PCIインターフェイスブロック12は、PCIイ
ンターフェイス制御装置34、バッファ36および38、内部バスアドレスレジスタ40
およびPCI I/Fブロックレジスタ42を含んでいる。図示されているように
、PCI制御装置34は、PCIアドレスバス、バッファ36および38、内部バスア
ドレスレジスタ40およびPCI I/Fブロックレジスタ42に接続されている。
バッファ36は、PCIデータバス、PCI制御装置34、内部バスアドレスレジス
タ40および内部データバスに接続し、一方、バッファ38は、PCIアドレスバス
、PCI制御装置34およびPCI I/Fブロックレジスタ42に接続している。
内部バスアドレスレジスタ40は、PCI制御装置34、内部アドレスバス、内部デ
ータバスおよびバッファ36に接続している。最後に、PCI I/Fブロックレ
ジスタ42は、バッファ38、PCI制御装置34、内部データバスおよび内部アドレ
スバスに接続されている。
PCI I/Fブロックレジスタ42は、どの音声がキャッシュに記憶されるた
めに付加的なデータサンプルを要求しているかおよびデータサンプルを得るため
のシステムメモリにおけるアドレスを示す状態およびアドレス情報を含んでいる
。これらのレジスタの詳細な説明は、内部バスのための上述のアドレスマップに
おいて説明されている。内部バスアドレスレジスタ40は、内部バス上でPCオー
ディオ回路レジスタをアクセスするためにシステム中央処理装置によって使用さ
れる。例えば、中央処理装置は、波形表データの記憶位置を示すシステムメモリ
アドレスを書込むためにPCI I/Fブロックレジスタにアクセスする必要が
あることもある。内部バスアドレスレジスタ40はまた、システムメモリからの波
形表データサンプルが記憶されるキャッシュ22のアドレスもまた記憶する。上述
のI/Oアドレス表において説明されているように、中央処理装置は、そのアド
レスをバッファ36を介して内部バスアドレスレジスタ40に書込むことによって内
部バス上のレジスタをアクセスする。特定のレジスタへの読取りあるいは書込み
アクセスは、上述の表において特定されたポートを通して与えられる。
PCI I/Fブロックレジスタ42において記憶された状態情報に基づいて、
PCIインターフェイス制御装置34は、データサンプルによりキャッシュ22を更
新する必要があるときを検出し、バスマスター要求を開始する。PCIインター
フェイス制御装置34の制御下で、データサンプルが検索されるシステムメモリに
おけるアドレスは、PCIインターフェイスブロックレジスタ42からバッファ38
を通してPCIアドレスバスに伝送される。システムメモリから検索されたデー
タサンプルは、PCIデータバス上でバッファ36に伝送される。PCIインター
フェイス制御装置34の制御下で、バッファ36におけるデータサンプルは、内部デ
ータバス上でキャッシュ22に伝送される。データサンプルを記憶するためのキャ
ッシュ22におけるアドレスは、内部バスアドレスレジスタ40中に含まれ、内部ア
ドレスバス上で伝送される。PCIインターフェイスブロック12は、一度に1以
上の活性音声に対してデータサンプルを要求することができる。
PCI制御装置34は、どの音声が更新されるか、列AおよびBのどちらが更新
されるか、および列のどの32ビットのワードが更新されるかを決定することに
よってデータサンプルを記憶するためのキャッシュアドレスを計算する。PCI
制御装置34は、各音声に対して1個ずつの割合で32個の5ビットのカウンタを
含んでおり、それによって、列におけるどのサンプルが次にPCIインターフェ
イスブロック12によって更新されるかを決定する。PCIインターフェイスブロ
ックレジスタ42は、各音声に対して1個ずつの割合で32個の1ビットのトグル
レジスタを含んでおり、それによって、各音声が現在どの列を使用しているかを
示す。これらのレジスタは、列がPCIインターフェイスブロック12によって満
たされる毎に切換えられる。PCI制御装置34は、計算されたキャッシュアドレ
スを内部バスアドレスレジスタ40に記憶し、それらがいつ内部アドレスバス上に
出力されるのかを制御する。PCIインターフェイスブロック12の構成の詳細は
、当業者によって所有された技術の水準以内にある。
出力状態制御マシン(OCSM):図4において、OCSM18のブロック図が示
されている。図示されているように、OCSM18は、バッファを有する制御ブロ
ック46、アドレス解読および制御ブロック48、7ビットのカウンタ50、および2
2.66マイクロ秒のタイマ54を含んでいる。図示されているように、制御ブロ
ック46は、内部アドレスおよびデータバス、アドレス解読および制御ブロック48
、7ビットのカウンタ50、およびFIFO52に接続されている。アドレス解読お
よび制御ブロック48は、内部アドレスバス、制御ブロック46、7ビットのカウン
タ50、およびタイマ54に接続されている。7ビットのカウンタ50は、アドレス解
読および制御ブロック48、制御ブロック46、およびFIFO52に接続されている
。7ビットのカウンタは、内部バスのための上述のアドレスマップにおいて説明
され、OCSMサンプルカウントレジスタとして呼ばれる。FIFO52は2個の
データサンプルを記憶することができ、その一方は最上部位置に、他方は底部位
置に記憶し、また、制御ブロック46、7ビットのカウンタ50、タイマ54、および
外部DACに接続されている。タイマ54は、アドレス解読および制御ブロック48
、FIFO52、およびクロック発生機30に接続している。
DSP16は、その制御レジスタに書込むことによってOCSM18をエネーブル
にする。一度、OCSM18がエネーブルにされると、制御ブロック46の制御下で
2個のデータサンプルが、内部データバス上でキャッシュ22における累算器列か
ら制御ブロック46におけるバッファを通ってFIFO52に伝送される。タイマ54
によって示されたように、22.66マイクロ秒毎に、FIFO52は底部位置に
おけるデータサンプルを上部位置に移し、それによってそれが外部DACに出力
されることができるようにする。以前に上部位置にあったデータサンプルは廃棄
される。同時に、別のデータサンプルがキャッシュ22から検索され、FIFO52
の底部位置に記憶され、アドレス解読および制御ブロック48の制御下で7ビット
のカウンタ50がインクレメントされる。アドレス解読および制御ブロック48は、
7ビットのカウンタ50からのキャッシュ22から検索されるデータサンプルのアド
レスと、内部アドレスバス上に供給されたキャッシュアドレス情報とを計算する
。これらの計算されたアドレスは制御ブロック46に送られ、そこにおいて、それ
らはキャッシュ22から特定のデータサンプルを要求するために使用される。OC
SM18の構成の詳細は、当業者によって所有された技術レベル内にある。DSP
16は、次のグループのデータサンプルの累算を開始する時間がいつであるかを決
定するためにカウンタ50のビット7を監視することができる。
内部バスアービタ:内部バスアービタ20は、バス要求に対して固定された優先
順位を有する簡単なアービタであり、それらのバス要求は、(i)(優先順位が
最も低い)DSP16、(ii)(優先順位が中間の)PCIバスインターフェイス
ブロック12、(iii)(優先順位が最も高い)OCSM18から出される。アービ
タ20は、最も高い優先順位を有している要求装置にバスがアクセスすることを承
認し、その点において、その装置はアドレスバスおよび読取りあるいは書込み信
号のいずれかの駆動を自由に行わせる。アクセスが読取りである場合、優先順位
の高い装置はデータバスからのデータを捕捉あるいは使用し、アクセスが書込み
である場合、優先順位の高い装置はデータバスを駆動させる。アービタ20の構成
の詳細は、当業者によって所有されている技術レベル内にある。
III.PCオーディオシステム動作
PCオーディオ回路10の好ましい実施形態の始動において、各活性音声に対し
て128個のデータサンプル(データ列AおよびBのそれぞれにおいて64個の
データサンプル)がキャッシュ22に負荷される。32個の活性音声があると仮定
すると、これは要求されたメモリにとって最悪のケースである。
(32音声)(128個のサンプル/音声)(2バイト/サンプル)
=8キロバイト
加えて、キャッシュ22は、それぞれが64個のデータサンプルの容量を有してい
る累算器列AおよびBを要求する。従って、付加的に要求されたメモリは、
(2列)(64個のサンプル/列)(2バイト/サンプル)
=256バイト
上述のように、付加的なメモリは、汎用DSPの動作のために設けられることも
ある。
一度、データ列AおよびBがデータで負荷されると、DSP16は、第1の活性
音声(例えば音声0等)に対してデータ列の1つにおいてデータサンプルを処理
する。別のデータ列はその時点では不活性である。その後、DSP16は、次の指
定された活性音声(例えば音声1等)に対してデータサンプルを処理する。DS
P16がこれらのデータサンプルを処理するとき、DSP16によって生成されたば
かりのデータサンプルが累算器列の一方において累算される。このプロセスは全
ての活性音声が処理されるまで続行し、その後、累算器列は切換えられ、他方の
累算器列が生成されたデータサンプルを累算し、一方、第1の累算器列における
累算されたデータサンプルは外部DACに出力されることができる。
また、一度第1のデータ列における各活性音声に対するデータサンプルが処理
されると、PCIインターフェイスブロック12がシステムメモリからの付加的な
データサンプルに対してPCIバス上で要求を送る。システムメモリから検索さ
れたデータサンプルは第1のデータ列に記憶され、それによって処理されたばか
りのデータサンプル上に書込む。これらの付加的なデータサンプルが検索されて
いる間、DSP16は他方の列においてデータサンプルを処理する。その後、デー
タ列は切換えられ、プロセスが続行し、一度に64個までのデータサンプルが処
理される。
元のオーディオ信号のアナログ−デジタル変換(記録)中に使用されたサンプ
リング周波数と同じ周波数でDSP16がデータサンプルを処理し、その後、DS
Pによって生成されたオーディオ信号がアナログに変換されて演奏された場合、
結果的に生じた信号は、データサンプルを生成するために使用された元のオーデ
ィオ信号と同じように(すなわち、同じ周波数で)聞こえる。演奏されるオーデ
ィオ信号の周波数が記録周波数と同じとき、その周波数比(Fe)は1に等しい
。
例えば、ピアノの中央ハの音調(中央ハ=440Hz)が記録され、Fe=1で
ある場合、生成あるいは演奏されたオーディオ信号は、記録された信号と同じ周
波数であり、同じように聞こえる。Fe>1である場合、生成されたオーディオ
信号はより速いピッチを有している。Fe=4である場合、生成されたオーディ
オ信号は、記録されたサンプリング周波数よりも2オクターブ高い。
各活性音声に対してFe=1である場合、最大の許容可能なPCIバス待機時
間は、44.1KHzのフレーム速度でデータサンプルの64個のフレームを処
理するのにかかる時間と等しい。
64フレーム×1/44100秒=1.45ミリ秒
しかしながら、1以上の活性音声に対してFe>1である場合、最大の許容可
能なPCIバス待機時間は減少され、それは、DSP16は1フレーム当りの音声
毎に1以上のデータサンプルを処理するからである。換言すると、特定の音声に
対するデータ列におけるデータサンプルは、Fe=1である場合にはより速く消
費される。例えば、Fe=2である場合、DSP16はデータ列において1データ
サンプルおきにスキップする。Fe>2である場合、最大の許容可能なPCIバ
ス待機時間の減少が問題になる。
Fe>2である場合の待機時間の問題は、PCオーディオ回路10が処理される
データサンプルだけを検索し、DSP16によってスキップされるデータサンプル
を検索しないようにすることによって避けられる。従って、キャッシュ22のデー
タ列において検索され、記憶された全てのデータサンプルが処理される。この特
徴は、活性音声のためのFe値をアクセスするためにPCIインターフェイスブ
ロック12に手段を設け、その後、所定の音声のためのデータを検索するための次
のシステムメモリアドレスを現在のシステムメモリアドレスおよびFe値に基づ
いて計算することによって実行される。例えば、所定の活性音声に対してFe=
4である場合、次のシステムメモリアドレス=現在のアドレス+4である。この
特徴の実施の詳細は、当業者の有する技術レベル内にある。
Fe>1である場合、各活性音声に対して選択データサンプルを検索すると、
使用可能な帯域幅が減少し、それは、バーストモードがデータサンプルの伝送に
は使用できないからである。しかしながら、これは問題を生じる原因になるとは
考えられない。
PCIバスがバーストモードであるとき、それは典型的に60ナノ秒/32ビ
ットで動作し、要求される帯域幅は、
(32個の音声)(1/44000)(60ナノ秒/2個の音声)
=4.3%である。(注意:2個の音声=32ビット)
4.3%の帯域幅の使用は許容可能である。PCIバスがバーストモードでない
場合、それは典型的に4倍遅く動作し、帯域幅の使用は17%である。17%の
帯域幅の使用もまた許容可能である。
それ故、本発明は、目的を実行し、本明細書に記載された最終目的および利点
、ならびに開示された内容から明らかな目的および利点を得るために十分に適合
される。本発明の好ましい実施形態が開示の目的で説明されているが、本明細書
に記載されたそのような実施形態に対する多数の変更および修正が当業者には明
らかであり、本発明の意図および以下の請求の範囲の技術的範囲内に含まれてい
る。
【手続補正書】特許法第184条の8第1項
【提出日】平成8年11月11日(1996.11.11)
【補正内容】
請求の範囲
1.中央処理装置と、波形表データを記憶するシステムメモリと、システムバス
とを含んでいるタイプのホストパーソナルコンピュータにオーディオ増強を与え
るデジタル波形表オーディオシンセサイザシステムにおいて、
内部アドレスデータバス(14)と、
前記システムバスにインターフェイスを提供し、前記システムメモリからの波
形表データに対する要求を導くシステムバスインターフェイス(12)と、
デジタルオーディオ信号を生成し、別の活性音声に対して波形表データサンプ
ルを処理する前に、各活性音声に対してキャッシュメモリからの複数の波形表デ
ータサンプルを処理するデジタル信号プロセッサ(16)と、
前記システムメモリから要求された波形表データを記憶し、前記デジタル信号
プロセッサによって生成されたオーディオ信号を累算するキャッシュメモリ(22)
と、
前記キャッシュメモリにおいて累算されたデジタルオーディオ信号の出力を制
御する出力制御回路(18)とを具備しているデジタル波形表オーディオシンセサイ
ザシステム。
2.さらに、内部バスアービタ(20)を含んでいる請求項1記載のデジタル波形表
オーディオシンセサイザシステム。
3.さらに、クロック回路(30,32)を含んでいる請求項1記載のデジタル波形表
オーディオシンセサイザシステム。
4.さらに、前記デジタル信号プロセッサに対する指令を記憶するデジタル信号
プロセッサメモリ(26)を含んでいる請求項1記載のデジタル波形表オーディオシ
ンセサイザシステム。
5.前記システムはモノリシック集積回路(10)上に形成されている請求項1記載
のデジタル波形表オーディオシンセサイザシステム。
6.さらに、内部バスアービタ(14)を含んでいる請求項5記載のデジタル波形表
オーディオシンセサイザシステム。
7.さらに、クロック回路(30,32)を含んでいる請求項5記載のデジタル波形表
オーディオシンセサイザ。
8.さらに、前記デジタル信号プロセッサに対する指令を記憶するデジタル信号
プロセッサメモリ(26)を含んでいる請求項5記載のデジタル波形表オーディオシ
ンセサイザ。
9.前記モノリシック集積回路(10)上に形成された前記システムは前記キャッシ
ュメモリを含んでおらず、
前記システムバスインターフェイス(12)は前記システムメモリからの波形表デ
ータに対する要求が前記モノリシック集積回路の外部のキャッシュメモリに記憶
されるように直接導き、
前記デジタル信号プロセッサ(16)は前記外部キャッシュメモリからの波形表デ
ータサンプルを処理し、前記外部キャッシュメモリにおいて前記生成されたデジ
タルオーディオ信号を累算し、
前記出力制御回路(18)は前記外部キャッシュメモリにおいて累算されたデジタ
ルオーディオ信号の出力を制御する請求項5記載のデジタル波形表オーディオシ
ンセサイザ。
10.さらに、内部バスアービタ(20)を含んでいる請求項9記載のデジタル波形
表オーディオシンセサイザ。
11.さらに、クロック回路(30,32)を含んでいる請求項9記載のデジタル波形
表オーディオシンセサイザ。
12.さらに、前記デジタル信号プロセッサに対する指令を記憶するデジタル信
号プロセッサメモリ(12)を含んでいる請求項9記載のデジタル波形表オーディオ
シンセサイザ。
13.中央処理装置と、波形表データが記憶されるシステムメモリと、システム
バスとを含んでいるタイプのホストパーソナルコンピュータにオーディオ増強を
与え、デジタルオーディオ信号を生成するためのデジタル信号プロセッサ(16)と
、キャッシュメモリ(22)とを含んでいるデジタル波形表オーディオシンセサイザ
システムにより波形表データを処理する方法において、
(a)前記デジタル信号プロセッサを使用して、複数の活性音声から指定され
た1つの活性音声に対して複数の波形表データサンプルを処理し、それによって
デジタルオーディオ信号を生成し、そこにおいて前記波形表データサンプルは前
記キャッシュメモリの第1のセクションから供給されており、
(b)前記キャッシュメモリの第2のセクションにおいて前記生成されたデジ
タルオーディオ信号を累算し、
(c)別の活性音声を指定し、
(d)前記複数の活性音声のそれぞれに対する波形表データサンプルをシステ
ムメモリから周期的に要求および受信し、受取られた前記データサンプルを前記
キャッシュメモリの前記第1のセクションに記憶し、それによって、前記デジタ
ル信号プロセッサによって処理される波形表データの連続的な供給を確保し、
(e)ステップ(a)乃至(d)を所望された回数だけ反復するステップを含
んでいる方法。
14.各活性音声に対する波形表データは波形表データサンプルの1つのブロッ
クとしてシステムメモリに配置される請求項13記載の方法。
15.前記要求された波形表データサンプルはバーストモードで前記システムメ
モリから前記デジタル波形表オーディオシンセサイザに伝送される請求項14記
載の方法。
16.前記キャッシュメモリの前記第1のセクションは第1の列および第2の列
を含み、前記第1の列は直接波形表データサンプルを前記デジタル信号プロセッ
サに供給し、前記第2の列は直接前記システムメモリから波形表データサンプル
を受取る請求項13記載の方法。
17.さらに、前記デジタル信号プロセッサが前記第1の列において前記波形表
データの処理を完了する毎に前記第1および第2の列を切換えるステップを含ん
でいる請求項16記載の方法。
18.前記キャッシュメモリの前記第2のセクションは第1の列および第2の列
を含み、前記第1の列は前記生成されたデジタルオーディオ信号の生成されたと
きの指定された数を累算し、前記第2の列は出力される用意ができている累算さ
れたデジタルオーディオ信号を記憶する請求項13記載の方法。
19.さらに、前記指定された数の生成されたデジタルオーディオ信号の累算が
完了する毎に第1および第2の列を切換えるステップを含んでいる請求項18記
載の方法。
20.さらに、前記第2の列における前記累算されたデジタルオーディオ信号を
出力するステップを有している請求項16記載の方法。
21.ステップ(d)において、1以上の活性音声のための波形表データは一度
に要求されることができる請求項13記載の方法。
22.連続した波形表データサンプルをステップ(d)においてシステムメモリ
から要求および検索することによって前記デジタル信号プロセッサが各指定され
た音声に対してより高いピッチを有しているデジタルオーディオ信号を生成する
ことができ、それは周期的な間隔でデータサンプルを排除する請求項13記載の
方法。
23.中央処理装置と、波形表データが記憶されるシステムメモリと、システム
バスとを含んでいるタイプのホストパーソナルコンピュータにオーディオ増強を
与え、デジタルオーディオ信号を生成するためのデジタル信号プロセッサ(16)と
、第1および第2のキャッシュメモリ(22)とを含んでいるデジタル波形表オーデ
ィオシンセサイザシステムにより波形表データを処理する方法において、
(a)前記デジタル信号プロセッサを使用して、複数の活性音声から指定され
た1つの活性音声に対して複数の波形表データサンプルを処理し、それによって
デジタルオーディオ信号を生成し、そこにおいて前記波形表データサンプルは前
記第1のキャッシュメモリから供給され、
(b)前記第2のキャッシュメモリにおいて前記生成されたデジタルオーディ
オ信号を累算し、
(c)別の活性音声を指定し、
(d)前記複数の活性音声のそれぞれに対する波形表データサンプルをシステ
ムメモリから周期的に要求および検索し、受取られた前記データサンプルを前記
第1のキャッシュメモリに記憶し、それによって、前記デジタル信号プロセッサ
によって処理される波形表データの連続的な供給を確保し、
(e)ステップ(a)乃至(d)を所望された回数だけ反復するステップを含
んでいる方法。
24.各活性音声に対する波形表データは波形表データサンプルの1つのブロッ
クとしてシステムメモリに配置される請求項23記載の方法。
25.前記要求された波形表データサンプルはバーストモードで前記システムメ
モリから前記デジタル波形表オーディオシンセサイザに伝送される請求項24記
載の方法。
26.前記第1のキャッシュメモリは第1の列および第2の列を含み、前記第1
の列は直接波形表データサンプルを前記デジタル信号プロセッサに供給し、前記
第2の列は直接前記システムメモリから波形表データサンプルを受取る請求項2
3記載の方法。
27.さらに、前記デジタル信号プロセッサが前記第1の列において前記波形表
データの処理を完了する毎に前記第1および第2の列を切換えるステップを含ん
でいる請求項26記載の方法。
28.前記第2のキャッシュメモリは第1の列および第2の列を含み、前記第1
の列は前記生成されたデジタルオーディオ信号の生成されたときの指定された数
を累算し、前記第2の列は出力される用意ができている累算されたデジタルオー
ディオ信号を記憶する請求項23記載の方法。
29.さらに、前記指定された数の生成されたデジタルオーディオ信号の累算が
完了する毎に第1および第2の列を切換えるステップを含んでいる請求項28記
載の方法。
30.さらに、前記第2の列における前記累算されたデジタルオーディオ信号を
出力するステップを具備している請求項28記載の方法。
31.ステップ(d)において、1以上の活性音声のための波形表データは一度
に要求されることができる請求項23記載の方法。
32.波形表データサンプルのシーケンスをステップ(d)においてシステムメ
モリから要求および検索することによって前記デジタル信号プロセッサが各指定
された音声に対してより高いピッチを有しているデジタルオーディオ信号を生成
することができ、それは周期的な間隔でデータサンプルを排除する請求項23記
載の方法。
─────────────────────────────────────────────────────
フロントページの続き
(31)優先権主張番号 08/363,485
(32)優先日 平成6年12月23日(1994.12.23)
(33)優先権主張国 米国(US)
(31)優先権主張番号 08/511,085
(32)優先日 平成7年8月4日(1995.8.4)
(33)優先権主張国 米国(US)
(31)優先権主張番号 08/511,124
(32)優先日 平成7年8月4日(1995.8.4)
(33)優先権主張国 米国(US)
(31)優先権主張番号 08/511,421
(32)優先日 平成7年8月4日(1995.8.4)
(33)優先権主張国 米国(US)
(31)優先権主張番号 08/511,427
(32)優先日 平成7年8月4日(1995.8.4)
(33)優先権主張国 米国(US)
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FR,GB,GR,IE,IT,LU,M
C,NL,PT,SE),JP,KR
【要約の続き】
グ変換器に伝送される。波形表データはシステムメモリ
に記憶されるので、キャッシュメモリは、従来技術によ
るPCオーディオ回路における局所メモリより小さく、
廉価である。従って、記載されたPCオーディオ回路
は、全体的に低いコストである。