JP2970689B2 - オーディオ・シンセサイザ - Google Patents
オーディオ・シンセサイザInfo
- Publication number
- JP2970689B2 JP2970689B2 JP9514043A JP51404397A JP2970689B2 JP 2970689 B2 JP2970689 B2 JP 2970689B2 JP 9514043 A JP9514043 A JP 9514043A JP 51404397 A JP51404397 A JP 51404397A JP 2970689 B2 JP2970689 B2 JP 2970689B2
- Authority
- JP
- Japan
- Prior art keywords
- audio
- note
- synthesizer
- purpose computer
- hardware
- 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
- 238000000034 method Methods 0.000 claims description 24
- 230000015572 biosynthetic process Effects 0.000 claims description 17
- 238000003786 synthesis reaction Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 2
- 230000005236 sound signal Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 12
- 230000000644 propagated effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 2
- 101100326509 Catharanthus roseus CYP76B6 gene Proteins 0.000 description 1
- 101100326510 Swertia mussotii CYP76B10 gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- BXJOCPGRLPDJAP-UHFFFAOYSA-M sodium;n-ethoxy-n-ethylcarbamodithioate;hydrate Chemical compound O.[Na+].CCON(CC)C([S-])=S BXJOCPGRLPDJAP-UHFFFAOYSA-M 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
- G10H1/0075—Transmission between separate instruments or between individual components of a musical system using a MIDI interface with translation or conversion means for unvailable commands, e.g. special tone colors
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
- G10H7/004—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/025—Computing or signal processing architecture features
- G10H2230/041—Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 技術分野 本発明は、MIDIデータ・ストリームなど、音楽事象を
表すコード化制御命令に応答してディジタルで符号化し
たオーディオ・サンプルを生成するためのオーディオ・
シンセサイザに関する。
表すコード化制御命令に応答してディジタルで符号化し
たオーディオ・サンプルを生成するためのオーディオ・
シンセサイザに関する。
背景技術 現在、多くのコンピュータでは、たとえば、ゲーム、
合成、その他のマルチメディア・アプリケーション用の
音楽を生成するために、サウンド・カードまたはその他
の専用ハードウェアを使用する。通常、専用サウンド・
カードはコンピュータのマザーボードに差し込まれる
が、最近のパーソナル・コンピュータの中には、マザー
ボードそのものに専用サウンド・ハードウェアが付いて
いるものもある。
合成、その他のマルチメディア・アプリケーション用の
音楽を生成するために、サウンド・カードまたはその他
の専用ハードウェアを使用する。通常、専用サウンド・
カードはコンピュータのマザーボードに差し込まれる
が、最近のパーソナル・コンピュータの中には、マザー
ボードそのものに専用サウンド・ハードウェアが付いて
いるものもある。
このようなハードウェア実施態様の主な利点は、コン
ピュータのCPUに対してその限度まで負荷が加わったと
きでも、音質が劣化しないことである。
ピュータのCPUに対してその限度まで負荷が加わったと
きでも、音質が劣化しないことである。
しかし、完全にハードウェアによる実施態様には、所
与の欠点もある。たとえば、サウンド・カードの諸資源
はサウンド生成プロセスのみに使用され、マシンは他の
いかなる点でもその恩恵を受けることはできない。コン
ピュータ上のソフトウェアの改良は、たとえば、オペレ
ーティング・システムにとっては、音質またはパフォー
マンスを改善するものではない。というのは、サウンド
・カードは半独立エンティティとして動作するからであ
る。
与の欠点もある。たとえば、サウンド・カードの諸資源
はサウンド生成プロセスのみに使用され、マシンは他の
いかなる点でもその恩恵を受けることはできない。コン
ピュータ上のソフトウェアの改良は、たとえば、オペレ
ーティング・システムにとっては、音質またはパフォー
マンスを改善するものではない。というのは、サウンド
・カードは半独立エンティティとして動作するからであ
る。
MIDI(楽器用ディジタル・インタフェース)は、ディ
ジタル電子楽器と、コンピュータ、ライティング・コン
トローラ、ミキサなどの他の装置との間のデータ通信の
ための国際的に認められた規格である、MIDIデータは、
サウンド情報とは対照的に、パフォーマンス情報を指定
する。たとえば、どの音符を押さえつけるか、鳴らした
後でその音符に追加の圧力を加えるかどうか、キーを放
し、楽器の設定に応じて他の調整を行う時期などであ
る。MIDIデータは、1つのMIDIコマンドまたは事象を含
むMIDI「メッセージ」に構成されたシリアル・データ・
ストリームとしてやりとりされる。
ジタル電子楽器と、コンピュータ、ライティング・コン
トローラ、ミキサなどの他の装置との間のデータ通信の
ための国際的に認められた規格である、MIDIデータは、
サウンド情報とは対照的に、パフォーマンス情報を指定
する。たとえば、どの音符を押さえつけるか、鳴らした
後でその音符に追加の圧力を加えるかどうか、キーを放
し、楽器の設定に応じて他の調整を行う時期などであ
る。MIDIデータは、1つのMIDIコマンドまたは事象を含
むMIDI「メッセージ」に構成されたシリアル・データ・
ストリームとしてやりとりされる。
従来のMIDI再生システムでは、MIDIメッセージのスト
リームによってMIDIシンセサイザが制御されている。こ
のシンセサイザは、メッセージを受け取ってデコード
し、それに応じて動作する。たとえば、「NOTE ON」事
象によってシンセサイザは、パラメータとして供給され
る要求済み音符および速度に対応するオーディオ・サン
プルを生成する。同様に、「NOTE OFF」事象によってシ
ンセサイザは、オーディオ・サンプルの生成を停止す
る。
リームによってMIDIシンセサイザが制御されている。こ
のシンセサイザは、メッセージを受け取ってデコード
し、それに応じて動作する。たとえば、「NOTE ON」事
象によってシンセサイザは、パラメータとして供給され
る要求済み音符および速度に対応するオーディオ・サン
プルを生成する。同様に、「NOTE OFF」事象によってシ
ンセサイザは、オーディオ・サンプルの生成を停止す
る。
多くの市販のサウンド・カードには、MIDIポートまた
はPCバスを介してMIDIソースからデータを受け取ること
によってMIDIシンセサイザとして機能する能力を備えて
いる。
はPCバスを介してMIDIソースからデータを受け取ること
によってMIDIシンセサイザとして機能する能力を備えて
いる。
汎用コンピュータで使用するために、ソフトウェア専
用のMIDIシンセサイザが提案されている。これは、CPU
パワー、メモリ、磁気およびCD−ROM記憶装置、キャッ
シュ機構、仮想メモリなど、コンピュータのすべての資
源を利用することができ、カストマイズ、アップグレー
ド、保守が容易に行われる。しかし、このようなシンセ
サイザには、コンピュータが他のタスクを実行している
ために必要とする計算資源が使用できないときに、音質
が劣化しうるという欠点がある。にもかかわらず、近
年、パーソナル・コンピュータに使用されているプロセ
ッサから得られるパワーは大幅に増大し、通常の使用で
は、CPUにかかる負荷は多くの場合、きわめて低くなる
可能性がある。
用のMIDIシンセサイザが提案されている。これは、CPU
パワー、メモリ、磁気およびCD−ROM記憶装置、キャッ
シュ機構、仮想メモリなど、コンピュータのすべての資
源を利用することができ、カストマイズ、アップグレー
ド、保守が容易に行われる。しかし、このようなシンセ
サイザには、コンピュータが他のタスクを実行している
ために必要とする計算資源が使用できないときに、音質
が劣化しうるという欠点がある。にもかかわらず、近
年、パーソナル・コンピュータに使用されているプロセ
ッサから得られるパワーは大幅に増大し、通常の使用で
は、CPUにかかる負荷は多くの場合、きわめて低くなる
可能性がある。
本発明の開示 本発明は、ハードウェアおよびソフトウェアの実施態
様の利点を組み合わせた、上記の定義済みタイプのオー
ディオ・シンセサイザを提供することに関する。
様の利点を組み合わせた、上記の定義済みタイプのオー
ディオ・シンセサイザを提供することに関する。
この目的を達成するため、音楽事象を表すコード化制
御命令に応答してアナログまたはディジタル・オーディ
オ出力を生成するためのオーディオ・シンセサイザが提
供される。このシンセサイザは、制御命令を受け取って
オーディオ・サンプルを生成するようプログラミングさ
れたCPUを有する汎用コンピュータ部分と、制御命令を
受け取ってオーディオ・サンプルを生成するための特殊
目的ハードウェア部分と、汎用コンピュータ部分がオー
ディオ・サンプルを生成するようにまたはハードウェア
部分がオーディオ・サンプルを生成するように制御命令
を方向付けるためのコントローラと、汎用コンピュータ
部分とハードウェア部分によって生成されたオーディオ
・サンプルを合成し、制御命令に応じたオーディオ出力
を形成するための手段とを含む。
御命令に応答してアナログまたはディジタル・オーディ
オ出力を生成するためのオーディオ・シンセサイザが提
供される。このシンセサイザは、制御命令を受け取って
オーディオ・サンプルを生成するようプログラミングさ
れたCPUを有する汎用コンピュータ部分と、制御命令を
受け取ってオーディオ・サンプルを生成するための特殊
目的ハードウェア部分と、汎用コンピュータ部分がオー
ディオ・サンプルを生成するようにまたはハードウェア
部分がオーディオ・サンプルを生成するように制御命令
を方向付けるためのコントローラと、汎用コンピュータ
部分とハードウェア部分によって生成されたオーディオ
・サンプルを合成し、制御命令に応じたオーディオ出力
を形成するための手段とを含む。
これは、ソフトウェアおよびハードウェアの両方の実
施態様からの利点を組み合わせ、ホストCPUの予備の計
算能力を使用して、サウンド・カードの計算能力を補う
ことができる、ハイブリッド・オーディオ・シンセサイ
ザを提供するものである。
施態様からの利点を組み合わせ、ホストCPUの予備の計
算能力を使用して、サウンド・カードの計算能力を補う
ことができる、ハイブリッド・オーディオ・シンセサイ
ザを提供するものである。
このようなシンセサイザの実施例は、MIDIデータ・ス
トリームで使用するために開発されたが、他の形式の制
御命令にアナログ技法を応用することは除外されてい
る。
トリームで使用するために開発されたが、他の形式の制
御命令にアナログ技法を応用することは除外されてい
る。
好ましい実施例のオーディオ・シンセサイザは、CPU
にかかる負荷を繰返し測定するための測定手段を含み、
CPUにかかる負荷の測定値に応じて制御命令を方向付け
るようコントローラが配置されている。CPUの使用状況
は、たとえば、計算集約ループである合成内部ループの
タイミングを調整することによって測定することができ
るが、CPUの使用状況を決定するための他の方法も可能
である。
にかかる負荷を繰返し測定するための測定手段を含み、
CPUにかかる負荷の測定値に応じて制御命令を方向付け
るようコントローラが配置されている。CPUの使用状況
は、たとえば、計算集約ループである合成内部ループの
タイミングを調整することによって測定することができ
るが、CPUの使用状況を決定するための他の方法も可能
である。
この場合、CPUにあまり負荷がかかっていないと、ハ
イブリッド・シンセサイザは、固有のCPUを使用してMID
I事象の一部をソフトウェアで処理し、一部の事象をハ
ードウェア部分に伝播することができる。同時音符のう
ちのいくつをソフトウェアで処理し、いくつをハードウ
ェアで処理するかという決定は、現行のCPUの使用状況
に基づいて行われる。
イブリッド・シンセサイザは、固有のCPUを使用してMID
I事象の一部をソフトウェアで処理し、一部の事象をハ
ードウェア部分に伝播することができる。同時音符のう
ちのいくつをソフトウェアで処理し、いくつをハードウ
ェアで処理するかという決定は、現行のCPUの使用状況
に基づいて行われる。
汎用コンピュータは、コントローラとして機能し、そ
れ自体がオーディオ・サンプルを生成するかまたはハー
ドウェア部分に命令を転送するようプログラミングする
ことができる。あるいは、コントローラは、特殊目的ハ
ードウェアの一部として実現可能である。
れ自体がオーディオ・サンプルを生成するかまたはハー
ドウェア部分に命令を転送するようプログラミングする
ことができる。あるいは、コントローラは、特殊目的ハ
ードウェアの一部として実現可能である。
有利なことに、コントローラは、音声タイプに応じて
命令を方向付けるよう配置されている。このため、事前
定義した1組の音声が汎用コンピュータ部分によって処
理されるようにオーディオ・シンセサイザを配置するこ
とができ、したがって、使用する特定の合成方法に最も
適しているかどうかに応じて特定の楽器に関する命令を
ソフトウェアまたはハードウェア・シンセサイザのいず
れかに方向付けることによって音質を改善することがで
きる。
命令を方向付けるよう配置されている。このため、事前
定義した1組の音声が汎用コンピュータ部分によって処
理されるようにオーディオ・シンセサイザを配置するこ
とができ、したがって、使用する特定の合成方法に最も
適しているかどうかに応じて特定の楽器に関する命令を
ソフトウェアまたはハードウェア・シンセサイザのいず
れかに方向付けることによって音質を改善することがで
きる。
オーディオ・シンセサイザは、ハードウェア部分への
制御命令の方向付けを遅延させるための遅延手段を含む
ことができ、その結果、ハードウェア部分によって生成
されるオーディオ・サンプルは汎用コンピュータによっ
て生成されるオーディオ・サンプルと同期化される。
制御命令の方向付けを遅延させるための遅延手段を含む
ことができ、その結果、ハードウェア部分によって生成
されるオーディオ・サンプルは汎用コンピュータによっ
て生成されるオーディオ・サンプルと同期化される。
特に好ましい一実施例では、メインCPU上での合成
は、FM合成のみをサポートする比較的安価なサウンド・
カードを使用しながら、波形テーブル合成を使用して行
うことができる。この場合、生成した音楽の品質と全体
的なパフォーマンスはどちらも大幅に改善される。
は、FM合成のみをサポートする比較的安価なサウンド・
カードを使用しながら、波形テーブル合成を使用して行
うことができる。この場合、生成した音楽の品質と全体
的なパフォーマンスはどちらも大幅に改善される。
好ましいことに、このシンセサイザは、オーディオ・
サンプルを受け取るための入力と、コード化制御命令に
応答して生成されたオーディオ・サンプルと前記入力で
受け取ったオーディオ・サンプルとをミキシングするた
めの手段とを含む。このため、他のソースから波形メッ
セージを受け取り、それをシンセサイザによって生成さ
れた波形データとミキシングすることができる。
サンプルを受け取るための入力と、コード化制御命令に
応答して生成されたオーディオ・サンプルと前記入力で
受け取ったオーディオ・サンプルとをミキシングするた
めの手段とを含む。このため、他のソースから波形メッ
セージを受け取り、それをシンセサイザによって生成さ
れた波形データとミキシングすることができる。
一実施態様のオーディオ・シンセサイザは、アドオン
・サウンド・カードを備えたパーソナル・コンピュータ
の形式を取ることができるが、当然のことながら、多く
の他の構成も可能である。
・サウンド・カードを備えたパーソナル・コンピュータ
の形式を取ることができるが、当然のことながら、多く
の他の構成も可能である。
第2の態様から本発明を考慮すると、音楽事象を表す
コード化制御命令に応答してアナログまたはディジタル
・オーディオ出力を生成するためにオーディオ・シンセ
サイザを操作する方法が提供される。このシンセサイザ
は、制御命令を受け取ってオーディオ・サンプルを生成
するようプログラミングされたCPUを有する汎用コンピ
ュータ部分と、制御命令を受け取ってオーディオ・サン
プルを生成するための特殊目的ハードウェア部分とを含
み、この方法は、汎用コンピュータ部分がオーディオ・
サンプルを生成するようにまたはハードウェア部分がオ
ーディオ・サンプルを生成するように制御命令を方向付
け、その結果、汎用コンピュータ部分とハードウェア部
分によって生成されたオーディオ・サンプルを合成し、
制御命令に応じたオーディオ出力を形成できるようにす
ることを含む。
コード化制御命令に応答してアナログまたはディジタル
・オーディオ出力を生成するためにオーディオ・シンセ
サイザを操作する方法が提供される。このシンセサイザ
は、制御命令を受け取ってオーディオ・サンプルを生成
するようプログラミングされたCPUを有する汎用コンピ
ュータ部分と、制御命令を受け取ってオーディオ・サン
プルを生成するための特殊目的ハードウェア部分とを含
み、この方法は、汎用コンピュータ部分がオーディオ・
サンプルを生成するようにまたはハードウェア部分がオ
ーディオ・サンプルを生成するように制御命令を方向付
け、その結果、汎用コンピュータ部分とハードウェア部
分によって生成されたオーディオ・サンプルを合成し、
制御命令に応じたオーディオ出力を形成できるようにす
ることを含む。
適当なことに、ハードウェア部分への制御命令の方向
付けを遅延させることによって制御命令に応じるように
オーディオ・サンプルを合成することができ、その結
果、ハードウェア部分によって生成されるオーディオ・
サンプルは汎用コンピュータによって生成されるオーデ
ィオ・サンプルと同期化されるようにすることができ
る。
付けを遅延させることによって制御命令に応じるように
オーディオ・サンプルを合成することができ、その結
果、ハードウェア部分によって生成されるオーディオ・
サンプルは汎用コンピュータによって生成されるオーデ
ィオ・サンプルと同期化されるようにすることができ
る。
好ましい実施例では、この方法は、NOTE ON命令を受
け取ることと、そのNOTE ON命令が汎用コンピュータ部
分によって処理すべき事前定義した1組の音声用である
かどうかを判定し、そのような音声用ではない場合にハ
ードウェア部分が対応するオーディオ・サンプルを生成
するようにNOTE ON命令を方向付けることと、CPUの負荷
を測定し、CPUの負荷が事前に定義したしきい値を超え
る場合にハードウェア部分が対応するオーディオ・サン
プルを生成するようにNOTE ON命令を方向付けること
と、そのようなしきい値を超えない場合に汎用コンピュ
ータ部分がオーディオ・サンプルを生成するようにNOTE
ON命令を方向付けることを含む。
け取ることと、そのNOTE ON命令が汎用コンピュータ部
分によって処理すべき事前定義した1組の音声用である
かどうかを判定し、そのような音声用ではない場合にハ
ードウェア部分が対応するオーディオ・サンプルを生成
するようにNOTE ON命令を方向付けることと、CPUの負荷
を測定し、CPUの負荷が事前に定義したしきい値を超え
る場合にハードウェア部分が対応するオーディオ・サン
プルを生成するようにNOTE ON命令を方向付けること
と、そのようなしきい値を超えない場合に汎用コンピュ
ータ部分がオーディオ・サンプルを生成するようにNOTE
ON命令を方向付けることを含む。
この実施例の方法は、NOTE OFF命令を受け取ること
と、そのNOTE OFF命令が汎用コンピュータ部分によって
処理中の音符に関連するかどうかを判定し、そのような
音符に関連しない場合にNOTE OFF命令をハードウェア部
分に方向付けることと、そのような音符に関連する場合
にNOTE OFF命令を汎用コンピュータ部分に方向付けるこ
とをさらに含む。
と、そのNOTE OFF命令が汎用コンピュータ部分によって
処理中の音符に関連するかどうかを判定し、そのような
音符に関連しない場合にNOTE OFF命令をハードウェア部
分に方向付けることと、そのような音符に関連する場合
にNOTE OFF命令を汎用コンピュータ部分に方向付けるこ
とをさらに含む。
本発明は、コンピュータに上記の方法を実行させるた
めにプログラム・コードが実施されるコンピュータ使用
可能媒体を含む製造品の形式で実現することができる。
めにプログラム・コードが実施されるコンピュータ使用
可能媒体を含む製造品の形式で実現することができる。
図面の簡単な説明 添付図面に関連して例としてのみ本発明の実施例につ
いて以下に説明する。
いて以下に説明する。
第1図は、パーソナル・コンピュータを示す概略図で
ある。
ある。
第2図は、サウンド・カードの簡易概略機能ブロック
図である。
図である。
第3図は、オーディオ・シンセサイザのソフトウェア
構造を示す概略図である。
構造を示す概略図である。
第4図は、ソフトウェア・シンセサイザの合成ループ
を示す流れ図である。
を示す流れ図である。
第5図は、NOTE ONというMIDIメッセージを受け取っ
たときのプロセスを示す流れ図である。
たときのプロセスを示す流れ図である。
第6図は、NOTE OFFというMIDIメッセージを受け取っ
たときのプロセスを示す流れ図である。
たときのプロセスを示す流れ図である。
本発明を実施するための最適態様 第1図は、オーディオ・シンセサイザとして機能する
よう配置されたパーソナル・コンピュータを示す概略図
である。このコンピュータは、ディスプレイ装置100と
関連のディスプレイ・アダプタ110、キーボードとマウ
スが接続される入出力インタフェース120などの従来の
構成要素を含む。また、このコンピュータは、CPU130
と、RAM140と、磁気記憶装置150も含む。このような構
成要素は、従来通りバス160を介して相互通信するよう
配置されている。
よう配置されたパーソナル・コンピュータを示す概略図
である。このコンピュータは、ディスプレイ装置100と
関連のディスプレイ・アダプタ110、キーボードとマウ
スが接続される入出力インタフェース120などの従来の
構成要素を含む。また、このコンピュータは、CPU130
と、RAM140と、磁気記憶装置150も含む。このような構
成要素は、従来通りバス160を介して相互通信するよう
配置されている。
また、このコンピュータは、ディジタル信号プロセッ
サを使用することによってMIDIシンセサイザを実現可能
なオーディオ・アダプタ160も含む。オーディオ・アダ
プタ180は、170に示す1つまたは複数のスピーカが接続
された状態で示されている。
サを使用することによってMIDIシンセサイザを実現可能
なオーディオ・アダプタ160も含む。オーディオ・アダ
プタ180は、170に示す1つまたは複数のスピーカが接続
された状態で示されている。
第1図に示すシステムは、IBMから入手可能なIBM PS
/2コンピュータと、Creative Labs社から入手可能なSou
ndBlaster 16 Value Editionカードとを使用することに
よって実現することができる(IBMおよびPS/2はIBMの商
標であり、SoundBlasterはCreative Technology社の商
標である)。
/2コンピュータと、Creative Labs社から入手可能なSou
ndBlaster 16 Value Editionカードとを使用することに
よって実現することができる(IBMおよびPS/2はIBMの商
標であり、SoundBlasterはCreative Technology社の商
標である)。
第2図は、アダプタの関連部分の簡易機能ブロック図
を示している。これは、バス・インタフェース論理回路
200と、FMシンセサイザ210と、ディジタル/アナログ変
換器230と、オーディオ増幅器およびミキサ240とを含
む。当然のことながら、他の実施例では、シンセサイザ
210が、波形テーブルまたは導波管シンセサイザなど、
他のいかなる種類のシンセサイザであってもよい。この
カードは250に示すオーディオ出力を有するが、オーデ
ィオ・サンプルは外部D/A変換器を介してディジタル録
音または処理用のディジタル形式で同等に出力すること
ができる。このようなカードの構造および一般的な動作
は当業者には周知のものなので、ここでは詳細に説明し
ない。このカードは、コンピュータから送られるMIDI事
象と波形サンプルの両方を同時に受け入れて合成するこ
とができる。
を示している。これは、バス・インタフェース論理回路
200と、FMシンセサイザ210と、ディジタル/アナログ変
換器230と、オーディオ増幅器およびミキサ240とを含
む。当然のことながら、他の実施例では、シンセサイザ
210が、波形テーブルまたは導波管シンセサイザなど、
他のいかなる種類のシンセサイザであってもよい。この
カードは250に示すオーディオ出力を有するが、オーデ
ィオ・サンプルは外部D/A変換器を介してディジタル録
音または処理用のディジタル形式で同等に出力すること
ができる。このようなカードの構造および一般的な動作
は当業者には周知のものなので、ここでは詳細に説明し
ない。このカードは、コンピュータから送られるMIDI事
象と波形サンプルの両方を同時に受け入れて合成するこ
とができる。
MIDIデータは、1つのMIDIコマンドまたは事象を含む
MIDI「メッセージ」に構成されたシリアル・データ・ス
トリームとしてやりとりされる。MIDIコマンドは、通
常、次々に配置され伝送される1バイト、2バイト、ま
たは3バイトのデータから構成される。各コマンドで送
られる第1のバイトは、「状況」バイトと呼ばれ、実行
すべき動作を指定する。次の1バイトまたは2バイトを
使用する場合、このようなバイトはこのコマンドのパラ
メータを表す。たとえば、NOTE ONコマンドは3バイト
を含み、そのうちの第1のバイトは状況バイトである。
このバイトは、音符を演奏するようシンセサイザに指示
し、チャネル番号を指定する。チャネル番号は、通常、
演奏すべきサウンドのタイプ、すなわち、シンセサイザ
のどの楽器を使用すべきかを表す。第2のバイトは演奏
すべき音符を指定し、第3のバイトはその音符の速度値
を指定する。MIDIコマンドの全バイトはMIDI規格で指定
される。
MIDI「メッセージ」に構成されたシリアル・データ・ス
トリームとしてやりとりされる。MIDIコマンドは、通
常、次々に配置され伝送される1バイト、2バイト、ま
たは3バイトのデータから構成される。各コマンドで送
られる第1のバイトは、「状況」バイトと呼ばれ、実行
すべき動作を指定する。次の1バイトまたは2バイトを
使用する場合、このようなバイトはこのコマンドのパラ
メータを表す。たとえば、NOTE ONコマンドは3バイト
を含み、そのうちの第1のバイトは状況バイトである。
このバイトは、音符を演奏するようシンセサイザに指示
し、チャネル番号を指定する。チャネル番号は、通常、
演奏すべきサウンドのタイプ、すなわち、シンセサイザ
のどの楽器を使用すべきかを表す。第2のバイトは演奏
すべき音符を指定し、第3のバイトはその音符の速度値
を指定する。MIDIコマンドの全バイトはMIDI規格で指定
される。
従来のMIDI再生システムでは、以下のようにMIDIシー
ケンサによってMIDIシンセサイザを制御することができ
る。標準MIDIファイル(SMF)は、特定の時点にシンセ
サイザによって実行する予定の1組の事象を含む。一般
にこのような事象の時間間隔は均一ではない。従来のMI
DIシーケンサは、標準MIDIファイルを解析し、現在のMI
DI事象を読み取り、それと次の事象との時間差を読み取
る。次にシーケンサは、それを実行すべきときにその事
象をMIDIメッセージに入れてMIDIシンセサイザに送る。
通常、シーケンサは、タイマを設定し、この時間差が経
過した後で次のMIDI事象を読み取る。
ケンサによってMIDIシンセサイザを制御することができ
る。標準MIDIファイル(SMF)は、特定の時点にシンセ
サイザによって実行する予定の1組の事象を含む。一般
にこのような事象の時間間隔は均一ではない。従来のMI
DIシーケンサは、標準MIDIファイルを解析し、現在のMI
DI事象を読み取り、それと次の事象との時間差を読み取
る。次にシーケンサは、それを実行すべきときにその事
象をMIDIメッセージに入れてMIDIシンセサイザに送る。
通常、シーケンサは、タイマを設定し、この時間差が経
過した後で次のMIDI事象を読み取る。
従来のMIDIシンセサイザは、シーケンサがメッセージ
を送ってデコードし、それに応じて動作するというMIDI
メッセージを受け取る。たとえば、「NOTE ON」事象に
よってシンセサイザは、パラメータとして供給される要
求済み音符および速度に対応するオーディオ・サンプル
を生成する。同様に、「NOTE OFF」事象によってシンセ
サイザは、オーディオ・サンプルの生成を停止する。
を送ってデコードし、それに応じて動作するというMIDI
メッセージを受け取る。たとえば、「NOTE ON」事象に
よってシンセサイザは、パラメータとして供給される要
求済み音符および速度に対応するオーディオ・サンプル
を生成する。同様に、「NOTE OFF」事象によってシンセ
サイザは、オーディオ・サンプルの生成を停止する。
このシステムでは、ソフトウェアMIDIシンセサイザは
動的リンク・ライブラリ(DLL)として実現される。こ
のDLLは、音符の一部をソフトウェアで処理し、パフォ
ーマンスおよび品質基準に応じて残りの音符をサウンド
・カードに伝播する。
動的リンク・ライブラリ(DLL)として実現される。こ
のDLLは、音符の一部をソフトウェアで処理し、パフォ
ーマンスおよび品質基準に応じて残りの音符をサウンド
・カードに伝播する。
本実施態様のソフトウェア構成要素の概略図を第3図
に示す。このシステムは、MIDIシーケンサ・アプリケー
ション層300と、オペレーティング・システム層310と、
320に示すDLL層と、サウンド・カード層330とを含む。
に示す。このシステムは、MIDIシーケンサ・アプリケー
ション層300と、オペレーティング・システム層310と、
320に示すDLL層と、サウンド・カード層330とを含む。
DLL層320は、コントローラ335と、高レベル・ブロッ
ク340と、低レベル・ブロック350という3つのメイン・
ブロックを含む。サウンド・カード層330は、サウンド
・カード・デバイス・ドライバ360と、370に示されてい
るサウンド・カードのハードウェア資源とを含む。第3
図には、出力バッファ380も示されている。
ク340と、低レベル・ブロック350という3つのメイン・
ブロックを含む。サウンド・カード層330は、サウンド
・カード・デバイス・ドライバ360と、370に示されてい
るサウンド・カードのハードウェア資源とを含む。第3
図には、出力バッファ380も示されている。
DLL層320は、MIDIシーケンサによって送られるMIDIメ
ッセージによってトリガされる。このようなメッセージ
は、アプリケーション300から直接送るかまたはオペレ
ーティング・システム・サービスを介して送ることがで
きる。
ッセージによってトリガされる。このようなメッセージ
は、アプリケーション300から直接送るかまたはオペレ
ーティング・システム・サービスを介して送ることがで
きる。
コントローラ335はMIDI論理管理を担当する。言い換
えると、このブロックは、どの音符をサウンド・カード
に伝播すべきで、どれをソフトウェア合成によって完全
に処理すべきかを決定する。サウンド・カードで処理す
べき音符に関するNOTE ONメッセージとNOTE OFFメッセ
ージは、同期を維持すための適当な遅延の後で、線345
を介してサウンド・カードに直接送られる。他のメッセ
ージは、以下に詳述するように、サウンド・カードとソ
フトウェア・シンセサイザの両方に送られる。
えると、このブロックは、どの音符をサウンド・カード
に伝播すべきで、どれをソフトウェア合成によって完全
に処理すべきかを決定する。サウンド・カードで処理す
べき音符に関するNOTE ONメッセージとNOTE OFFメッセ
ージは、同期を維持すための適当な遅延の後で、線345
を介してサウンド・カードに直接送られる。他のメッセ
ージは、以下に詳述するように、サウンド・カードとソ
フトウェア・シンセサイザの両方に送られる。
ソフトウェアによって処理する音符と、サウンド・カ
ードに伝播する音符に関する決定では、以下の考慮事項
を考慮に入れる。
ードに伝播する音符に関する決定では、以下の考慮事項
を考慮に入れる。
1.ソフトウェアDLLが波形テーブル合成をサポートし、
サウンド・カードがFM合成のみをサポートするような特
殊な場合、ヴァイオリン、アコースティック・ピアノ、
クラリネットなどのアコースティック楽器など、FM合成
によって写実的に合成できない楽器をソフトウェアで処
理し、電子ピアノ、電子シンセサイザ効果など、FM合成
によって損傷しない楽器に関連する音符をサウンド・カ
ードに伝播すると有利である。
サウンド・カードがFM合成のみをサポートするような特
殊な場合、ヴァイオリン、アコースティック・ピアノ、
クラリネットなどのアコースティック楽器など、FM合成
によって写実的に合成できない楽器をソフトウェアで処
理し、電子ピアノ、電子シンセサイザ効果など、FM合成
によって損傷しない楽器に関連する音符をサウンド・カ
ードに伝播すると有利である。
2.追加の音符をソフトウェアで処理するにはCPUパワー
が不十分な場合、受け取った追加のNOTE ONメッセージ
をサウンド・カードに伝播しなければならない。これに
対して、CPUが比較的遊んでいる場合、CPUは合成プロセ
スに関与し、その結果、全体的なパフォーマンスを改善
することができる。過負荷の場合、コントローラ335
は、通過のNOTE ONメッセージをサウンド・カードに方
向付けることにより、ソフト音声の数、すなわち、ソフ
トウェアによって現在合成中の音符の数を、ゼロという
限界まで動的に低減するよう配置されている。
が不十分な場合、受け取った追加のNOTE ONメッセージ
をサウンド・カードに伝播しなければならない。これに
対して、CPUが比較的遊んでいる場合、CPUは合成プロセ
スに関与し、その結果、全体的なパフォーマンスを改善
することができる。過負荷の場合、コントローラ335
は、通過のNOTE ONメッセージをサウンド・カードに方
向付けることにより、ソフト音声の数、すなわち、ソフ
トウェアによって現在合成中の音符の数を、ゼロという
限界まで動的に低減するよう配置されている。
3.サウンド・カード上の空きスロットの数。各空きスロ
ットは1つの音符を演奏することができる。サウンド・
カードがサポートするスロットの数は、サウンド・カー
ドが同時に演奏できる音符の最大数を表す。
ットは1つの音符を演奏することができる。サウンド・
カードがサポートするスロットの数は、サウンド・カー
ドが同時に演奏できる音符の最大数を表す。
高レベル・ブロック340は、ソフトウェアで処理すべ
きメッセージを受け取り、シンセサイザが使用する様々
な内部テーブルを更新する。これは、本発明に直接関連
しない音声割振りの管理など、MIDIシンセサイザの従来
の諸機能を処理するので、当業者には十分理解されるだ
ろう。
きメッセージを受け取り、シンセサイザが使用する様々
な内部テーブルを更新する。これは、本発明に直接関連
しない音声割振りの管理など、MIDIシンセサイザの従来
の諸機能を処理するので、当業者には十分理解されるだ
ろう。
低レベル・ブロック350は、定期的にトリガされ、集
中的な計算を必要とする合成エンジンを含む。このブロ
ックは、コントローラ335によってサウンド・カードに
伝播されない音符の合成を担当する。低レベル・ブロッ
クの一般的な動作については第4図に示す。このループ
は、一般に、1mS〜5mSの周期でトリガされる。ループが
トリガされるたびに、これはステップ400で各音声につ
いてどの種類の音符を生成すべきかをチェックし、波形
テーブル・データベースを調べて適切な波形を見つけ
る。正しいピッチに必要であれば、各活動音声用の波形
を伝送し、適当なサンプリング速度、たとえば、毎秒44
100サンプルの速度で出力サンプルを生成するよう(ス
テップ410)波形を合成し、サウンド・カード層330内の
デバイス・ドライバ360によって取り出すためにバッフ
ァ380に入れる。
中的な計算を必要とする合成エンジンを含む。このブロ
ックは、コントローラ335によってサウンド・カードに
伝播されない音符の合成を担当する。低レベル・ブロッ
クの一般的な動作については第4図に示す。このループ
は、一般に、1mS〜5mSの周期でトリガされる。ループが
トリガされるたびに、これはステップ400で各音声につ
いてどの種類の音符を生成すべきかをチェックし、波形
テーブル・データベースを調べて適切な波形を見つけ
る。正しいピッチに必要であれば、各活動音声用の波形
を伝送し、適当なサンプリング速度、たとえば、毎秒44
100サンプルの速度で出力サンプルを生成するよう(ス
テップ410)波形を合成し、サウンド・カード層330内の
デバイス・ドライバ360によって取り出すためにバッフ
ァ380に入れる。
合成アルゴリズムは計算上、非常に集中的なものなの
で、CPUの使用状況を監視するために使用することがで
きる。このようなCPUの使用状況の測定は、音符をサウ
ンド・カードに伝播すべきかどうかを決定できるように
するためにコントローラ335が使用可能である。
で、CPUの使用状況を監視するために使用することがで
きる。このようなCPUの使用状況の測定は、音符をサウ
ンド・カードに伝播すべきかどうかを決定できるように
するためにコントローラ335が使用可能である。
合成プロセスによってCPUの使用状況を監視するため
の方法はいくつかある。たとえば、低レベル・ブロック
340をトリガするたびに時間測定値を取ることができ
る。現行時間と前の反復時に測定された時間との差が要
求された周期より一貫して大きい場合、CPUが過負荷に
なっていると想定することができる。
の方法はいくつかある。たとえば、低レベル・ブロック
340をトリガするたびに時間測定値を取ることができ
る。現行時間と前の反復時に測定された時間との差が要
求された周期より一貫して大きい場合、CPUが過負荷に
なっていると想定することができる。
あるいは、各反復の合成プロセスの開始時と終了時に
時間測定値を取ることができる。このような2つの測定
値の差は、現行数のソフト音声に使用するCPU時間にな
るように概算される。次に、CPUの使用状況の割合(パ
ーセント)は、測定した合成時間と、低レベル・ブロッ
ク350のトリガ周期として使用する時間間隔との割合と
して計算される。
時間測定値を取ることができる。このような2つの測定
値の差は、現行数のソフト音声に使用するCPU時間にな
るように概算される。次に、CPUの使用状況の割合(パ
ーセント)は、測定した合成時間と、低レベル・ブロッ
ク350のトリガ周期として使用する時間間隔との割合と
して計算される。
コントローラ335は、NOTE ONメッセージとNOTE OFFメ
ッセージは別として、すべてのMIDIメッセージをサウン
ド・カードと高レベル・ブロック340の両方に方向付け
る。NOTE ONメッセージとNOTE OFFメッセージの場合
は、第5図と第6図にそれぞれ示すプロセスが実行され
る。
ッセージは別として、すべてのMIDIメッセージをサウン
ド・カードと高レベル・ブロック340の両方に方向付け
る。NOTE ONメッセージとNOTE OFFメッセージの場合
は、第5図と第6図にそれぞれ示すプロセスが実行され
る。
NOTE ONコマンドの場合は、その音符が関連する楽器
がその特徴のために演繹的にソフトウェアで処理すべき
ものであるかどうかがステップ500で判定される。その
ように処理すべきものである場合、ステップ510でCPUの
負荷判定が行われ、CPUの負荷が一定の限界より小さい
場合、NOTE ONメッセージが高レベル・ブロック340に方
向付けられ、その音符がソフトウェアで処理される(ス
テップ520)。CPUの負荷が50%より大きいかまたはその
音符が関連する楽器をサウンド・カードが適当に処理で
きる場合、NOET ONコマンドがサウンド・カードに方向
付けられる(ステップ530)。
がその特徴のために演繹的にソフトウェアで処理すべき
ものであるかどうかがステップ500で判定される。その
ように処理すべきものである場合、ステップ510でCPUの
負荷判定が行われ、CPUの負荷が一定の限界より小さい
場合、NOTE ONメッセージが高レベル・ブロック340に方
向付けられ、その音符がソフトウェアで処理される(ス
テップ520)。CPUの負荷が50%より大きいかまたはその
音符が関連する楽器をサウンド・カードが適当に処理で
きる場合、NOET ONコマンドがサウンド・カードに方向
付けられる(ステップ530)。
NOTE OFFコマンドを受け取ると、関連音声が現在ソフ
トウェアで処理中であるかどうかが第6図のステップ60
0で判定される。この情報は、高レベル・ブロック340に
よって管理されるテーブルから得られる。その音符がソ
フトウェアで処理中である場合、NOTE OFFメッセージが
高レベル・ブロック340に方向付けられ(ステップ61
0)、処理中ではない場合、NOTE OFFメッセージがサウ
ンド・カードに方向付けられる(ステップ620)。
トウェアで処理中であるかどうかが第6図のステップ60
0で判定される。この情報は、高レベル・ブロック340に
よって管理されるテーブルから得られる。その音符がソ
フトウェアで処理中である場合、NOTE OFFメッセージが
高レベル・ブロック340に方向付けられ(ステップ61
0)、処理中ではない場合、NOTE OFFメッセージがサウ
ンド・カードに方向付けられる(ステップ620)。
ソフトウェアで生成されたサンプルとハードウェアで
生成されたサンプルとの同期を維持するために、サウン
ド・カードで処理すべきMIDI事象の伝播を遅延させる必
要性があることが分かるだろう。これは、一定であるが
プロセッサまたはサウンド・カードに依存する遅延であ
り、現在の構成では、ユーザに提示される適当なメニュ
ーを介してユーザが手動で設定することができる。正し
い遅延の決定は、経験的にユーザが容易に確立すること
ができる。
生成されたサンプルとの同期を維持するために、サウン
ド・カードで処理すべきMIDI事象の伝播を遅延させる必
要性があることが分かるだろう。これは、一定であるが
プロセッサまたはサウンド・カードに依存する遅延であ
り、現在の構成では、ユーザに提示される適当なメニュ
ーを介してユーザが手動で設定することができる。正し
い遅延の決定は、経験的にユーザが容易に確立すること
ができる。
本実施態様は、マイクロソフト社の周知のWindowsオ
ペレーティング・システムの下で機能するように作成さ
れたものである(Windowsはマイクロソフト社の商標で
ある)。このシステムの一般的な動作は以下の通りであ
る。まず、ユーザは、MIDIシンセサイザを必要とする、
シーケンサなどのWindowsアプリケーションを呼び出
す。アプリケーションは、MMSYSTEMドライバの介入によ
り、MIDIマッパ・プログラムを介してMIDIシンセサイザ
DLLをオープンする。
ペレーティング・システムの下で機能するように作成さ
れたものである(Windowsはマイクロソフト社の商標で
ある)。このシステムの一般的な動作は以下の通りであ
る。まず、ユーザは、MIDIシンセサイザを必要とする、
シーケンサなどのWindowsアプリケーションを呼び出
す。アプリケーションは、MMSYSTEMドライバの介入によ
り、MIDIマッパ・プログラムを介してMIDIシンセサイザ
DLLをオープンする。
ソフトウェアMIDIシンセサイザDLLはサウンド・カー
ドを2回オープンする。1回はMIDIメッセージの伝播先
になるMIDIデバイスとして、もう1回はソフトウェアMI
DIシンセサイザによって生成された波形サンプルの送り
先になるWAVEデバイスとしてオープンする。
ドを2回オープンする。1回はMIDIメッセージの伝播先
になるMIDIデバイスとして、もう1回はソフトウェアMI
DIシンセサイザによって生成された波形サンプルの送り
先になるWAVEデバイスとしてオープンする。
ソフトウェア・シンセサイザはサウンド・カードのWA
VE入力をロックするので、それ自体には、他のソースか
らWAVEメッセージを受け取り、このメッセージとそれが
生成した波形データとのミキシングを処理するために、
WAVE入力が設けられている。FM合成を使用して音質が容
認される楽器用のMIDIメッセージは、サウンド・カード
に伝播され、ハードウェアで処理される。
VE入力をロックするので、それ自体には、他のソースか
らWAVEメッセージを受け取り、このメッセージとそれが
生成した波形データとのミキシングを処理するために、
WAVE入力が設けられている。FM合成を使用して音質が容
認される楽器用のMIDIメッセージは、サウンド・カード
に伝播され、ハードウェアで処理される。
ソフトウェアMIDIシンセサイザは、使用可能なCPUパ
ワーの50%などの一定の限界まで波形テーブル合成を必
要とする楽器用のMIDIメッセージを処理する。過負荷の
場合、ソフトウェア・シンセサイザは、ソフト音声の
数、すなわち、ソフトウェアによって現在合成中の音符
の数をゼロという限界まで動的に低減する。上記のよう
に、これは、追加のNOTE ONメッセージをサウンド・カ
ードに方向付けることによって達成される。
ワーの50%などの一定の限界まで波形テーブル合成を必
要とする楽器用のMIDIメッセージを処理する。過負荷の
場合、ソフトウェア・シンセサイザは、ソフト音声の
数、すなわち、ソフトウェアによって現在合成中の音符
の数をゼロという限界まで動的に低減する。上記のよう
に、これは、追加のNOTE ONメッセージをサウンド・カ
ードに方向付けることによって達成される。
上記の説明から明らかになるように、本実施態様は、
コンピュータ・プログラムの形式を取り、コンピュータ
に上記のコントローラ335の機能を実行させるために適
当なプログラム・コードが実施されるコンピュータ使用
可能媒体を含む製造品の形式で配布することができる。
このプログラムは、ソフトウェア・シンセサイザの高レ
ベル・ブロック340と低レベル・ブロック350を含むこと
ができるか、あるいは既存のソフトウェア・シンセサイ
ザで使用するために実現可能である。
コンピュータ・プログラムの形式を取り、コンピュータ
に上記のコントローラ335の機能を実行させるために適
当なプログラム・コードが実施されるコンピュータ使用
可能媒体を含む製造品の形式で配布することができる。
このプログラムは、ソフトウェア・シンセサイザの高レ
ベル・ブロック340と低レベル・ブロック350を含むこと
ができるか、あるいは既存のソフトウェア・シンセサイ
ザで使用するために実現可能である。
しかし、請求の範囲に記載した範囲内で多くの変形態
様が可能であることが分かるだろう。たとえば、コント
ローラは、サウンド・カードそのものに実現するかハー
ドウェアまたはソフトウェアで実現し、外部ソースから
MIDIメッセージを受け取るように配置して、サウンド・
カード自体が一部の音符を処理し、一部の音符をPCバス
を介してソフトウェア・シンセサイザに方向付けるよう
にすることができる。
様が可能であることが分かるだろう。たとえば、コント
ローラは、サウンド・カードそのものに実現するかハー
ドウェアまたはソフトウェアで実現し、外部ソースから
MIDIメッセージを受け取るように配置して、サウンド・
カード自体が一部の音符を処理し、一部の音符をPCバス
を介してソフトウェア・シンセサイザに方向付けるよう
にすることができる。
産業上の応用可能性 本発明は、コンピュータおよびディジタル・オーディ
オ・システムという技術分野で応用可能である。
オ・システムという技術分野で応用可能である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−27964(JP,A) 特開 平4−136994(JP,A) 特開 平4−161994(JP,A) (58)調査した分野(Int.Cl.6,DB名) G10H 7/00
Claims (9)
- 【請求項1】音楽事象を表すコード化制御命令に応答し
てアナログまたはディジタル・オーディオ出力を生成す
るためのオーディオ・シンセサイザにおいて、 前記制御命令を受け取ってオーディオ・サンプルを生成
するようプログラミングされたCPUを有する汎用コンピ
ュータ部分と、 前記制御命令を受け取って前記オーディオ・サンプルを
生成するための特殊目的ハードウェア部分と、 前記CPUにかかる負荷を繰返し測定するための測定手段
と、 前記測定手段により測定された負荷に応じて、前記制御
命令を前記汎用コンピュータ部分または前記特殊目的ハ
ードウェア部分に方向付けるためのコントローラと、 前記汎用コンピュータ部分と前記ハードウェア部分によ
って生成された前記オーディオ・サンプルを合成し、前
記制御命令に応じたオーディオ出力を形成するための手
段とを含む、オーディオ・シンセサイザ。 - 【請求項2】前記測定手段が、前記オーディオ・サンプ
ルを生成するために前記プログラム内の合成ループのタ
イミングを調整するためのタイミング手段を含む、請求
項1に記載のオーディオ・シンセサイザ。 - 【請求項3】前記汎用コンピュータが、前記コントロー
ラとして機能し、それ自体が前記オーディオ・サンプル
を生成するかまたは前記ハードウェア部分に前記命令を
転送するようプログラミングされる、請求項1に記載の
オーディオ・シンセサイザ。 - 【請求項4】前記コントローラが、音声タイプに応じて
前記命令を方向付けるよう配置されている、請求項1に
記載のオーディオ・シンセサイザ。 - 【請求項5】前記ハードウェア部分への制御命令の方向
付けを遅延させるための遅延手段を含み、その結果、前
記ハードウェア部分によって生成される前記オーディオ
・サンプルが前記汎用コンピュータ部分によって生成さ
れる前記オーディオ・サンプルと同期化される、請求項
1に記載のオーディオ・シンセサイザ。 - 【請求項6】音楽事象を表すコード化制御命令に応答し
てアナログまたはディジタル・オーディオ出力を生成す
るためにオーディオ・シンセサイザを操作する方法であ
って、前記シンセサイザが、前記制御命令を受け取って
オーディオ・サンプルを生成するようプログラミングさ
れたCPUを有する汎用コンピュータ部分と、前記制御命
令を受け取って前記オーディオ・サンプルを生成するた
めの特殊目的ハードウェア部分とを含み、前記方法が、 前記CPUにかかる負荷を繰返し測定するステップと、 測定した負荷に応じて、前記制御命令を前記汎用コンピ
ュータ部分または前記ハードウェア部分に方向付けるス
テップと、 前記汎用コンピュータ部分および前記ハードウェア部分
によって生成されたオーディオ・サンプルを合成し、前
記制御命令に応じたオーディオ出力を形成するステップ
と、 を含む方法。 - 【請求項7】前記ハードウェア部分への制御命令の方向
付けを遅延させ、その結果、前記ハードウェア部分によ
って生成されるオーディオ・サンプルが前記汎用コンピ
ュータによって生成されるオーディオ・サンプルと同期
化されるようにすることを含む、請求項6に記載の方
法。 - 【請求項8】NOTE ON命令を受け取るステップと、 前記NOTE ON命令が前記汎用コンピュータ部分によって
処理すべき事前定義した1組の音声用であるかどうかを
判定し、そのような音声用ではない場合に前記ハードウ
ェア部分が対応するオーディオ・サンプルを生成するよ
うに前記NOTE ON命令を方向付けるステップと、 前記CPUの負荷が事前定義したしきい値を超える場合に
前記ハードウェア部分が対応するオーディオ・サンプル
を生成するように前記NOTE ON命令を方向付けるステッ
プと、 そのようなしきい値を超えない場合に前記汎用コンピュ
ータ部分が前記オーディオ・サンプルを生成するように
前記NOTE ON命令を方向付けるステップと含む、請求項
6に記載の方法。 - 【請求項9】NOTE OFF命令を受け取るステップと、 前記NOTE OFF命令が前記汎用コンピュータ部分によって
処理中の音符に関連するかどうかを判定し、そのような
音符に関連しない場合に前記NOTE OFF命令を前記ハード
ウェア部分に方向付けるステップと、 そのような音符に関連する場合に前記NOTE OFF命令を前
記汎用コンピュータ部分に方向付けるステップとを含
む、請求項6に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9520124.0 | 1995-10-03 | ||
GB9520124A GB2306043A (en) | 1995-10-03 | 1995-10-03 | Audio synthesizer |
PCT/GB1996/000331 WO1997013240A1 (en) | 1995-10-03 | 1996-02-15 | Audio synthesizer |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10512376A JPH10512376A (ja) | 1998-11-24 |
JP2970689B2 true JP2970689B2 (ja) | 1999-11-02 |
Family
ID=10781657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9514043A Expired - Fee Related JP2970689B2 (ja) | 1995-10-03 | 1996-02-15 | オーディオ・シンセサイザ |
Country Status (6)
Country | Link |
---|---|
US (1) | US5808221A (ja) |
EP (1) | EP0853802B1 (ja) |
JP (1) | JP2970689B2 (ja) |
DE (1) | DE69608292T2 (ja) |
GB (1) | GB2306043A (ja) |
WO (1) | WO1997013240A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3152156B2 (ja) * | 1996-09-20 | 2001-04-03 | ヤマハ株式会社 | 楽音発生システム、楽音発生装置および楽音発生方法 |
US6051772A (en) * | 1997-07-15 | 2000-04-18 | Aureal Semiconductor, Inc. | Method and apparatus for emulating a frequency modulation device |
US6556560B1 (en) * | 1997-12-04 | 2003-04-29 | At&T Corp. | Low-latency audio interface for packet telephony |
US6357039B1 (en) * | 1998-03-03 | 2002-03-12 | Twelve Tone Systems, Inc | Automatic code generation |
FR2785711B1 (fr) * | 1998-11-06 | 2001-03-16 | Jean Philippe Chevreau | Dispositif qui compose de maniere automatique une piece musicale en y incorporant des echantillons sonores |
US6647359B1 (en) * | 1999-07-16 | 2003-11-11 | Interval Research Corporation | System and method for synthesizing music by scanning real or simulated vibrating object |
US9818386B2 (en) | 1999-10-19 | 2017-11-14 | Medialab Solutions Corp. | Interactive digital music recorder and player |
US7078609B2 (en) | 1999-10-19 | 2006-07-18 | Medialab Solutions Llc | Interactive digital music recorder and player |
US7176372B2 (en) | 1999-10-19 | 2007-02-13 | Medialab Solutions Llc | Interactive digital music recorder and player |
US6392133B1 (en) | 2000-10-17 | 2002-05-21 | Dbtech Sarl | Automatic soundtrack generator |
JP3675362B2 (ja) * | 2000-08-18 | 2005-07-27 | ヤマハ株式会社 | 楽音生成装置および携帯端末装置 |
US6671658B2 (en) * | 2000-12-23 | 2003-12-30 | Hewlett-Packard Development Company, L.P | Method for service level estimation in an operating computer system |
US7065380B2 (en) * | 2001-07-19 | 2006-06-20 | Texas Instruments Incorporated | Software partition of MIDI synthesizer for HOST/DSP (OMAP) architecture |
EP1326228B1 (en) | 2002-01-04 | 2016-03-23 | MediaLab Solutions LLC | Systems and methods for creating, modifying, interacting with and playing musical compositions |
US7076035B2 (en) | 2002-01-04 | 2006-07-11 | Medialab Solutions Llc | Methods for providing on-hold music using auto-composition |
US9065931B2 (en) | 2002-11-12 | 2015-06-23 | Medialab Solutions Corp. | Systems and methods for portable audio synthesis |
US7169996B2 (en) | 2002-11-12 | 2007-01-30 | Medialab Solutions Llc | Systems and methods for generating music using data/music data file transmitted/received via a network |
US7928310B2 (en) | 2002-11-12 | 2011-04-19 | MediaLab Solutions Inc. | Systems and methods for portable audio synthesis |
US6977335B2 (en) | 2002-11-12 | 2005-12-20 | Medialab Solutions Llc | Systems and methods for creating, modifying, interacting with and playing musical compositions |
US7038119B2 (en) * | 2003-07-18 | 2006-05-02 | Telefonaktiebolaget L M Ericsson (Publ) | Dynamic control of processing load in a wavetable synthesizer |
DE10339032A1 (de) * | 2003-08-25 | 2005-05-25 | Infineon Technologies Ag | Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit |
EP1571647A1 (en) * | 2004-02-26 | 2005-09-07 | Lg Electronics Inc. | Apparatus and method for processing bell sound |
US7285712B2 (en) * | 2004-05-25 | 2007-10-23 | Mediatek Incorporation | Method of dynamically determining a maximum polyphony number according to operation mode and smoothly changing polyphony number when switching operation modes |
US7807915B2 (en) * | 2007-03-22 | 2010-10-05 | Qualcomm Incorporated | Bandwidth control for retrieval of reference waveforms in an audio device |
US8299347B2 (en) * | 2010-05-21 | 2012-10-30 | Gary Edward Johnson | System and method for a simplified musical instrument |
US9633642B2 (en) | 2015-07-24 | 2017-04-25 | Roland Corporation | Electronic musical instrument system |
US9536504B1 (en) | 2015-11-30 | 2017-01-03 | International Business Machines Corporation | Automatic tuning floating bridge for electric stringed instruments |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3318666C1 (de) * | 1983-05-21 | 1984-10-11 | WERSI-electronic GmbH & Co KG, 5401 Halsenbach | Elektronisches Tastenmusikinstrument |
US5119710A (en) * | 1986-03-09 | 1992-06-09 | Nippon Gakki Seizo Kabushiki Kaisha | Musical tone generator |
JPH0631957B2 (ja) * | 1987-02-06 | 1994-04-27 | ヤマハ株式会社 | 電子楽器 |
US5094136A (en) * | 1989-01-06 | 1992-03-10 | Yamaha Corporation | Electronic musical instrument having plural different tone generators employing different tone generation techniques |
US5354948A (en) * | 1989-10-04 | 1994-10-11 | Yamaha Corporation | Tone signal generation device for generating complex tones by combining different tone sources |
US5121667A (en) * | 1989-11-06 | 1992-06-16 | Emery Christopher L | Electronic musical instrument with multiple voices responsive to mutually exclusive ram memory segments |
JP2623878B2 (ja) * | 1989-12-21 | 1997-06-25 | ヤマハ株式会社 | 電子楽器 |
JPH04128796A (ja) * | 1990-09-19 | 1992-04-30 | Brother Ind Ltd | 音楽再生装置 |
US5054360A (en) * | 1990-11-01 | 1991-10-08 | International Business Machines Corporation | Method and apparatus for simultaneous output of digital audio and midi synthesized music |
US5119711A (en) * | 1990-11-01 | 1992-06-09 | International Business Machines Corporation | Midi file translation |
JP2626387B2 (ja) * | 1991-12-24 | 1997-07-02 | ヤマハ株式会社 | 電子楽器 |
JP2850707B2 (ja) * | 1993-06-15 | 1999-01-27 | ヤマハ株式会社 | 楽音制御装置 |
US5541354A (en) * | 1994-06-30 | 1996-07-30 | International Business Machines Corporation | Micromanipulation of waveforms in a sampling music synthesizer |
-
1995
- 1995-10-03 GB GB9520124A patent/GB2306043A/en not_active Withdrawn
-
1996
- 1996-02-15 JP JP9514043A patent/JP2970689B2/ja not_active Expired - Fee Related
- 1996-02-15 DE DE69608292T patent/DE69608292T2/de not_active Expired - Lifetime
- 1996-02-15 EP EP96902371A patent/EP0853802B1/en not_active Expired - Lifetime
- 1996-02-15 WO PCT/GB1996/000331 patent/WO1997013240A1/en active IP Right Grant
- 1996-09-30 US US08/723,172 patent/US5808221A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5808221A (en) | 1998-09-15 |
WO1997013240A1 (en) | 1997-04-10 |
DE69608292T2 (de) | 2001-01-04 |
JPH10512376A (ja) | 1998-11-24 |
EP0853802B1 (en) | 2000-05-10 |
GB9520124D0 (en) | 1995-12-06 |
DE69608292D1 (en) | 2000-06-15 |
GB2306043A (en) | 1997-04-23 |
EP0853802A1 (en) | 1998-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2970689B2 (ja) | オーディオ・シンセサイザ | |
JP3161561B2 (ja) | マルチメディア・システム | |
US5703310A (en) | Automatic performance data processing system with judging CPU operation-capacity | |
US6100461A (en) | Wavetable cache using simplified looping | |
US5541354A (en) | Micromanipulation of waveforms in a sampling music synthesizer | |
US7069058B2 (en) | Musical composition reproducing apparatus portable terminal musical composition reproducing method and storage medium | |
EP0597381A2 (en) | Method and system for decoding binary data for audio application | |
KR100421589B1 (ko) | 악음생성방법및장치 | |
JP3324672B2 (ja) | リアルタイム・ディジタル音声残響システム | |
EP0600639A2 (en) | System and method for dynamically configuring synthesizers | |
JPH09114462A (ja) | 楽音発生方法 | |
US5847304A (en) | PC audio system with frequency compensated wavetable data | |
EP1005015B1 (en) | Tone waveform generating method and apparatus based on software | |
US5920843A (en) | Signal parameter track time slice control point, step duration, and staircase delta determination, for synthesizing audio by plural functional components | |
JP2013152477A (ja) | 電子楽器デジタルインターフェースハードウェア命令セット | |
US5977469A (en) | Real-time waveform substituting sound engine | |
JP3625880B2 (ja) | 音源装置 | |
JP3572847B2 (ja) | コンピュータソフトウェアを用いた音源システム及び方法 | |
JP3141789B2 (ja) | コンピュータソフトウェアを用いた音源システム | |
EP0882286B1 (en) | Pc audio system with frequency compensated wavetable data | |
JP3725247B2 (ja) | 楽音生成処理方法 | |
JP7159583B2 (ja) | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 | |
JPH10124060A (ja) | 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体 | |
JP3269361B2 (ja) | 楽音発生方法および装置 | |
JP3148803B2 (ja) | 音源装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |