JPH10512376A - オーディオ・シンセサイザ - Google Patents

オーディオ・シンセサイザ

Info

Publication number
JPH10512376A
JPH10512376A JP9514043A JP51404397A JPH10512376A JP H10512376 A JPH10512376 A JP H10512376A JP 9514043 A JP9514043 A JP 9514043A JP 51404397 A JP51404397 A JP 51404397A JP H10512376 A JPH10512376 A JP H10512376A
Authority
JP
Japan
Prior art keywords
audio
synthesizer
note
hardware
purpose computer
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.)
Granted
Application number
JP9514043A
Other languages
English (en)
Other versions
JP2970689B2 (ja
Inventor
アシュウル、ガル
ヨアヴ、メダン
シャリール、ナフタリ
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=10781657&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH10512376(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH10512376A publication Critical patent/JPH10512376A/ja
Application granted granted Critical
Publication of JP2970689B2 publication Critical patent/JP2970689B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • G10H1/0075Transmission 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments 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/004Instruments 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor 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)

Abstract

(57)【要約】 MIDIデータ・ストリームなどの音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためのオーディオ・シンセサイザを開示する。このシンセサイザは、制御命令を受け取ってオーディオ・サンプルを生成するようプログラミングされたCPUを有する汎用コンピュータ部分と、制御命令を受け取ってオーディオ・サンプルを生成するための特殊目的ハードウェア部分と、汎用コンピュータ部分がオーディオ・サンプルを生成するようにまたはハードウェア部分がオーディオ・サンプルを生成するように制御命令を方向付けるためのコントローラと、汎用コンピュータ部分とハードウェア部分によって生成されたオーディオ・サンプルを合成し、制御命令に応じたオーディオ出力を形成するための手段とを含む。

Description

【発明の詳細な説明】 オーディオ・シンセサイザ 技術分野 本発明は、MIDIデータ・ストリームなど、音楽事象を表すコード化制御命 令に応答してディジタルで符号化したオーディオ・サンプルを生成するためのオ ーディオ・シンセサイザに関する。 背景技術 現在、多くのコンピュータでは、たとえば、ゲーム、合成、その他のマルチメ ディア・アプリケーション用の音楽を生成するために、サウンド・カードまたは その他の専用ハードウェアを使用する。通常、専用サウンド・カードはコンピュ ータのマザーボードに差し込まれるが、最近のパーソナル・コンピュータの中に は、マザーボードそのものに専用サウンド・ハードウェアが付いているものもあ る。 このようなハードウェア実施態様の主な利点は、コンピュータのCPUに対し てその限度まで負荷が加わったときでも、音質が劣化しないことである。 しかし、完全にハードウェアによる実施態様には、所与の欠点もある。たとえ ば、サウンド・カードの諸資源はサウンド生成プロセスのみに使用され、マシン は他のいかなる点でもその恩恵を受けることはできない。コンピュータ上のソフ トウェアの改良は、たとえば、オペレーティング・システム にとっては、音質またはパフォーマンスを改善するものではない。というのは、 サウンド・カードは半独立エンティティとして動作するからである。 MIDI(楽器用ディジタル・インタフェース)は、ディジタル電子楽器と、 コンピュータ、ライティング・コントローラ、ミキサなどの他の装置との間のデ ータ通信のための国際的に認められた規格である。MIDIデータは、サウンド 情報とは対照的に、パフォーマンス情報を指定する。たとえば、どの音符を押さ えつけるか、鳴らした後でその音符に追加の圧力を加えるかどうか、キーを放し 、楽器の設定に応じて他の調整を行う時期などである。MIDIデータは、1つ のMIDIコマンドまたは事象を含むMIDI「メッセージ」に構成されたシリ アル・データ・ストリームとしてやりとりされる。 従来のMIDI再生システムでは、MIDIメッセージのストリームによって MIDIシンセサイザが制御されている。このシンセサイザは、メッセージを受 け取ってデコードし、それに応じて動作する。たとえば、「NOTE ON」事象によ ってシンセサイザは、パラメータとして供給される要求済み音符および速度に対 応するオーディオ・サンプルを生成する。同様に、「NOTE OFF」事象によってシ ンセサイザは、オーディオ・サンプルの生成を停止する。 多くの市販のサウンド・カードには、MIDIポートまたはPCバスを介して MIDIソースからデータを受け取るこ とによってMIDIシンセサイザとして機能する能力を備えている。 汎用コンピュータで使用するために、ソフトウェア専用のMIDIシンセサイ ザが提案されている。これは、CPUパワー、メモリ、磁気およびCD−ROM 記憶装置、キャッシュ機構、仮想メモリなど、コンピュータのすべての資源を利 用することができ、カストマイズ、アップグレード、保守が容易に行われる。し かし、このようなシンセサイザには、コンピュータが他のタスクを実行している ために必要とする計算資源が使用できないときに、音質が劣化しうるという欠点 がある。にもかかわらず、近年、パーソナル・コンピュータに使用されているプ ロセッサから得られるパワーは大幅に増大し、通常の使用では、CPUにかかる 負荷は多くの場合、きわめて低くなる可能性がある。 本発明の開示 本発明は、ハードウェアおよびソフトウェアの実施態様の利点を組み合わせた 、上記の定義済みタイプのオーディオ・シンセサイザを提供することに関する。 この目的を達成するため、音楽事象を表すコード化制御命令に応答してアナロ グまたはディジタル・オーディオ出力を生成するためのオーディオ・シンセサイ ザが提供される。このシンセサイザは、制御命令を受け取ってオーディオ・サン プルを生成するようプログラミングされたCPUを有する汎 用コンピュータ部分と、制御命令を受け取ってオーディオ・サンプルを生成する ための特殊目的ハードウェア部分と、汎用コンピュータ部分がオーディオ・サン プルを生成するようにまたはハードウェア部分がオーディオ・サンプルを生成す るように制御命令を方向付けるためのコントローラと、汎用コンピュータ部分と ハードウェア部分によって生成されたオーディオ・サンプルを合成し、制御命令 に応じたオーディオ出力を形成するための手段とを含む。 これは、ソフトウェアおよびハードウェアの両方の実施態様からの利点を組み 合わせ、ホストCPUの予備の計算能力を使用して、サウンド・カードの計算能 力を補うことができる、ハイブリッド・オーディオ・シンセサイザを提供するも のである。 このようなシンセサイザの実施例は、MIDIデータ・ストリームで使用する ために開発されたが、他の形式の制御命令にアナログ技法を応用することは除外 されている。 好ましい実施例のオーディオ・シンセサイザは、CPUにかかる負荷を繰返し 測定するための測定手段を含み、CPUにかかる負荷の測定値に応じて制御命令 を方向付けるようコントローラが配置されている。CPUの使用状況は、たとえ ば、計算集約ループである合成内部ループのタイミングを調整することによって 測定することができるが、CPUの使用状況を決定するための他の方法も可能で ある。 この場合、CPUにあまり負荷がかかっていないと、ハイ ブリッド・シンセサイザは、固有のCPUを使用してMIDI事象の一部をソフ トウェアで処理し、一部の事象をハードウェア部分に伝播することができる。同 時音符のうちのいくつをソフトウェアで処理し、いくつをハードウェアで処理す るかという決定は、現行のCPUの使用状況に基づいて行われる。 汎用コンピュータは、コントローラとして機能し、それ自体がオーディオ・サ ンプルを生成するかまたはハードウェア部分に命令を転送するようプログラミン グすることができる。あるいは、コントローラは、特殊目的ハードウェアの一部 として実現可能である。 有利なことに、コントローラは、音声タイプに応じて命令を方向付けるよう配 置されている。このため、事前定義した1組の音声が汎用コンピュータ部分によ って処理されるようにオーディオ・シンセサイザを配置することができ、したが って、使用する特定の合成方法に最も適しているかどうかに応じて特定の楽器に 関する命令をソフトウェアまたはハードウェア・シンセサイザのいずれかに方向 付けることによって音質を改善することができる。 オーディオ・シンセサイザは、ハードウェア部分への制御命令の方向付けを遅 延させるための遅延手段を含むことができ、その結果、ハードウェア部分によっ て生成されるオーディオ・サンプルは汎用コンピュータによって生成されるオー ディオ・サンプルと同期化される。 特に好ましい一実施例では、メインCPU上での合成は、FM合成のみをサポ ートする比較的安価なサウンド・カードを使用しながら、波形テーブル合成を使 用して行うことができる。この場合、生成した音楽の品質と全体的なパフォーマ ンスはどちらも大幅に改善される。 好ましいことに、このシンセサイザは、オーディオ・サンプルを受け取るため の入力と、コード化制御命令に応答して生成されたオーディオ・サンプルと前記 入力で受け取ったオーディオ・サンプルとをミキシングするための手段とを含む 。このため、他のソースから波形メッセージを受け取り、それをシンセサイザに よって生成された波形データとミキシングすることができる。 一実施態様のオーディオ・シンセサイザは、アドオン・サウンド・カードを備 えたパーソナル・コンピュータの形式を取ることができるが、当然のことながら 、多くの他の構成も可能である。 第2の態様から本発明を考慮すると、音楽事象を表すコード化制御命令に応答 してアナログまたはディジタル・オーディオ出力を生成するためにオーディオ・ シンセサイザを操作する方法が提供される。このシンセサイザは、制御命令を受 け取ってオーディオ・サンプルを生成するようプログラミングされたCPUを有 する汎用コンピュータ部分と、制御命令を受け取ってオーディオ・サンプルを生 成するための特殊目的ハードウェア部分とを含み、この方法は、汎用コンピュー タ部分がオーディオ・サンプルを生成するようにまたはハードウェア部分がオー ディオ・サンプルを生成するように制御命令を方向付け、その結果、汎用コンピ ュータ部分とハードウェア部分によって生成されたオーディオ・サンプルを合成 し、制御命令に応じたオーディオ出力を形成できるようにすることを含む。 適当なことに、ハードウェア部分への制御命令の方向付けを遅延させることに よって制御命令に応じるようにオーディオ・サンプルを合成することができ、そ の結果、ハードウェア部分によって生成されるオーディオ・サンプルは汎用コン ピュータによって生成されるオーディオ・サンプルと同期化されるようにするこ とができる。 好ましい実施例では、この方法は、NOTE ON命令を受け取ることと、そのNOTE ON命令が汎用コンピュータ部分によって処理すべき事前定義した1組の音声用で あるかどうかを判定し、そのような音声用ではない場合にハードウェア部分が対 応するオーディオ・サンプルを生成するようにNOTE ON命令を方向付けることと 、CPUの負荷を測定し、CPUの負荷が事前定義したしきい値を超える場合に ハードウェア部分が対応するオーディオ・サンプルを生成するようにNOTE ON命 令を方向付けることと、そのようなしきい値を超えない場合に汎用コンピュータ 部分がオーディオ・サンプルを生成するようにNOTE ON命令を方向付けることを 含む。 この実施例の方法は、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を介して相互通信するよう配置されてい る。 また、このコンピュータは、ディジタル信号プロセッサを使用することによっ てMIDIシンセサイザを実現可能なオーディオ・アダプタ160も含む。オー ディオ・アダプタ180は、170に示す1つまたは複数のスピーカが接続され た状態で示されている。 第1図に示すシステムは、IBMから入手可能なIBM PS/2コンピュー タと、Creative Labs社から入手可能なSoundBlaster 16 Value Editionカードと を使用することによって実現することができる(IBMおよびPS/2はIBM の商標であり、SoundBlasterはCreative Technology社の商標である)。 第2図は、アダプタの関連部分の簡易機能ブロック図を示している。これは、 バス・インタフェース論理回路200と、FMシンセサイザ210と、ディジタ ル/アナログ変換器230と、オーディオ増幅器およびミキサ240とを含む。 当 然のことながら、他の実施例では、シンセサイザ210が、波形テーブルまたは 導波管シンセサイザなど、他のいかなる種類のシンセサイザであってもよい。こ のカードは250に示すオーディオ出力を有するが、オーディオ・サンプルは外 部D/A変換器を介してディジタル録音または処理用のディジタル形式で同等に 出力することができる。このようなカードの構造および一般的な動作は当業者に は周知のものなので、ここでは詳細に説明しない。このカードは、コンピュータ から送られるMIDI事象と波形サンプルの両方を同時に受け入れて合成するこ とができる。 MIDIデータは、1つのMIDIコマンドまたは事象を含むMIDI「メッ セージ」に構成されたシリアル・データ・ストリームとしてやりとりされる。M IDIコマンドは、通常、次々に配置され伝送される1バイト、2バイト、また は3バイトのデータから構成される。各コマンドで送られる第1のバイトは、「 状況」バイトと呼ばれ、実行すべき動作を指定する。次の1バイトまたは2バイ トを使用する場合、このようなバイトはこのコマンドのパラメータを表す。たと えば、NOTE ONコマンドは3バイトを含み、そのうちの第1のバイトは状況バイ トである。このバイトは、音符を演奏するようシンセサイザに指示し、チャネル 番号を指定する。チャネル番号は、通常、演奏すべきサウンドのタイプ、すなわ ち、シンセサイザのどの楽器を使用すべきかを表す。第2のバイトは演奏すべき 音符を指定し、第3のバイトはその音符の速 度値を指定する。MIDIコマンドの全バイトはMIDI規格で指定される。 従来のMIDI再生システムでは、以下のようにMIDIシーケンサによって MIDIシンセサイザを制御することができる。標準MIDIファイル(SMF )は、特定の時点にシンセサイザによって実行する予定の1組の事象を含む。一 般にこのような事象の時間間隔は均一ではない。従来のMIDIシーケンサは、 標準MIDIファイルを解析し、現在のMIDI事象を読み取り、それと次の事 象との時間差を読み取る。次にシーケンサは、それを実行すべきときにその事象 をMIDIメッセージに入れてMIDIシンセサイザに送る。通常、シーケンサ は、タイマを設定し、この時間差が経過した後で次のMIDI事象を読み取る。 従来のMIDIシンセサイザは、シーケンサがメッセージを送ってデコードし 、それに応じて動作するというMIDIメッセージを受け取る。たとえば、「NO TE ON」事象によってシンセサイザは、パラメータとして供給される要求済み音 符および速度に対応するオーディオ・サンプルを生成する。同様に、「NOTE OFF 」事象によってシンセサイザは、オーディオ・サンプルの生成を停止する。 このシステムでは、ソフトウェアMIDIシンセサイザは動的リンク・ライブ ラリ(DLL)として実現される。このDLLは、音符の一部をソフトウェアで 処理し、パフォーマンスおよび品質基準に応じて残りの音符をサウンド・カード に伝播する。 本実施態様のソフトウェア構成要素の概略図を第3図に示す。このシステムは 、MIDIシーケンサ・アプリケーション層300と、オペレーティング・シス テム層310と、320に示すDLL層と、サウンド・カード層330とを含む 。 DLL層320は、コントローラ335と、高レベル・ブロック340と、低 レベル・ブロック350という3つのメイン・ブロックを含む。サウンド・カー ド層330は、サウンド・カード・デバイス・ドライバ360と、370に示さ れているサウンド・カードのハードウェア資源とを含む。第3図には、出力バッ ファ380も示されている。 DLL層320は、MIDIシーケンサによって送られるMIDIメッセージ によってトリガされる。このようなメッセージは、アプリケーション300から 直接送るかまたはオペレーティング・システム・サービスを介して送ることがで きる。 コントローラ335はMIDI論理管理を担当する。言い換えると、このブロ ックは、どの音符をサウンド・カードに伝播すべきで、どれをソフトウェア合成 によって完全に処理すべきかを決定する。サウンド・カードで処理すべき音符に 関するNOTE ONメッセージとNOTE OFFメッセージは、同期を維持するための適当 な遅延の後で、線345を介してサウンド・カードに直接送られる。他のメッセ ージは、以下に詳述するように、サウンド・カードとソフトウェア・シンセサイ ザ の両方に送られる。 ソフトウェアによって処理する音符と、サウンド・カードに伝播する音符に関 する決定では、以下の考慮事項を考慮に入れる。 1.ソフトウェアDLLが波形テーブル合成をサポートし、サウンド・カードが FM合成のみをサポートするような特殊な場合、ヴァイオリン、アコースティッ ク・ピアノ、クラリネットなどのアコースティック楽器など、FM合成によって 写実的に合成できない楽器をソフトウェアで処理し、電子ピアノ、電子シンセサ イザ効果など、FM合成によって損傷しない楽器に関連する音符をサウンド・カ ードに伝播すると有利である。 2.追加の音符をソフトウェアで処理するにはCPUパワーが不十分な場合、受 け取った追加のNOTE ONメッセージをサウンド・カードに伝播しなければならな い。これに対して、CPUが比較的遊んでいる場合、CPUは合成プロセスに関 与し、その結果、全体的なパフォーマンスを改善することができる。過負荷の場 合、コントローラ335は、追加のNOTE ONメッセージをサウンド・カードに方 向付けることにより、ソフト音声の数、すなわち、ソフトウェアによって現在合 成中の音符の数を、ゼロという限界まで動的に低減するよう配置されている。 3.サウンド・カード上の空きスロットの数。各空きスロットは1つの音符を演 奏することができる。サウンド・カード がサポートするスロットの数は、サウンド・カードが同時に演奏できる音符の最 大数を表す。 高レベル・ブロック340は、ソフトウェアで処理すべきメッセージを受け取 り、シンセサイザが使用する様々な内部テーブルを更新する。これは、本発明に 直接関連しない音声割振りの管理など、MIDIシンセサイザの従来の諸機能を 処理するので、当業者には十分理解されるだろう。 低レベル・ブロック350は、定期的にトリガされ、集中的な計算を必要とす る合成エンジンを含む。このブロックは、コントローラ335によってサウンド ・カードに伝播されない音符の合成を担当する。低レベル・ブロックの一般的な 動作については第4図に示す。このループは、一般に、1mS〜5mSの周期で トリガされる。ループがトリガされるたびに、これはステップ400で各音声に ついてどの種類の音符を生成すべきかをチェックし、波形テーブル・データベー スを調べて適切な波形を見つける。正しいピッチに必要であれば、各活動音声用 の波形を伝送し、適当なサンプリング速度、たとえば、毎秒44100サンプル の速度で出力サンプルを生成するよう(ステップ410)波形を合成し、サウン ド・カード層330内のデバイス・ドライバ360によって取り出すためにバッ ファ380に入れる。 合成アルゴリズムは計算上、非常に集中的なものなので、CPUの使用状況を 監視するために使用することができる。このようなCPUの使用状況の測定は、 音符をサウンド・カ ードに伝播すべきかどうかを決定できるようにするためにコントローラ335が 使用可能である。 合成プロセスによってCPUの使用状況を監視するための方法はいくつかある 。たとえば、低レベル・ブロック340をトリガするたびに時間測定値を取るこ とができる。現行時間と前の反復時に測定された時間との差が要求された周期よ り一貫して大きい場合、CPUが過負荷になっていると想定することができる。 あるいは、各反復の合成プロセスの開始時と終了時に時間測定値を取ることが できる。このような2つの測定値の差は、現行数のソフト音声に使用するCPU 時間になるように概算される。次に、CPUの使用状況の割合(パーセント)は 、測定した合成時間と、低レベル・ブロック350のトリガ周期として使用する 時間間隔との割合として計算される。 コントローラ335は、NOTE ONメッセージとNOTE OFFメッセージは別として 、すべてのMIDIメッセージをサウンド・カードと高レベル・ブロック340 の両方に方向付ける。NOTE ONメッセージとNOTE OFFメッセージの場合は、第5 図と第6図にそれぞれ示すプロセスが実行される。 NOTE ONコマンドの場合は、その音符が関連する楽器がその特徴のために演繹 的にソフトウェアで処理すべきものであるかどうかがステップ500で判定され る。そのように処理すべきものである場合、ステップ510でCPUの負荷判定 が行われ、CPUの負荷が一定の限界より小さい場合、NOTE O Nメッセージが高レベル・ブロック340に方向付けられ、その音符がソフトウ ェアで処理される(ステップ520)。CPUの負荷が50%より大きいかまた はその音符が関連する楽器をサウンド・カードが適当に処理できる場合、NOTE O Nコマンドがサウンド・カードに方向付けられる(ステップ530)。 NOTE OFFコマンドを受け取ると、関連音声が現在ソフトウェアで処理中である かどうかが第6図のステップ600で判定される。この情報は、高レベル・ブロ ック340によって管理されるテーブルから得られる。その音符がソフトウェア で処理中である場合、NOTE OFFメッセージが高レベル・ブロック340に方向付 けられ(ステップ610)、処理中ではない場合、NOTE OFFメッセージがサウン ド・カードに方向付けられる(ステップ620)。 ソフトウェアで生成されたサンプルとハードウェアで生成されたサンプルとの 同期を維持するために、サウンド・カードで処理すべきMIDI事象の伝播を遅 延させる必要性があることが分かるだろう。これは、一定であるがプロセッサま たはサウンド・カードに依存する遅延であり、現在の構成では、ユーザに提示さ れる適当なメニューを介してユーザが手動で設定することができる。正しい遅延 の決定は、経験的にユーザが容易に確立することができる。 本実施態様は、マイクロソフト社の周知のWindowsオペレーティング・システ ムの下で機能するように作成されたもので ある(Windowsはマイクロソフト社の商標である)。このシステムの一般的な動 作は以下の通りである。まず、ユーザは、MIDIシンセサイザを必要とする、 シーケンサなどのWindowsアプリケーションを呼び出す。アプリケーションは、M MSYSTEMドライバの介入により、MIDIマッパ・プログラムを介してMIDI シンセサイザDLLをオープンする。 ソフトウェアMIDIシンセサイザDLLはサウンド・カードを2回オープン する。1回はMIDIメッセージの伝播先になるMIDIデバイスとして、もう 1回はソフトウェアMIDIシンセサイザによって生成された波形サンプルの送 り先になるWAVEデバイスとしてオープンする。 ソフトウェア・シンセサイザはサウンド・カードのWAVE入力をロックする ので、それ自体には、他のソースからWAVEメッセージを受け取り、このメッ セージとそれが生成した波形データとのミキシングを処理するために、WAVE 入力が設けられている。FM合成を使用して音質が容認される楽器用のMIDI メッセージは、サウンド・カードに伝播され、ハードウェアで処理される。 ソフトウェアMIDIシンセサイザは、使用可能なCPUパワーの50%など の一定の限界まで波形テーブル合成を必要とする楽器用のMIDIメッセージを 処理する。過負荷の場合、ソフトウェア・シンセサイザは、ソフト音声の数、す なわち、ソフトウェアによって現在合成中の音符の数をゼロという限界まで動的 に低減する。上記のように、これは、追 加のNOTE ONメッセージをサウンド・カードに方向付けることによって達成され る。 上記の説明から明らかになるように、本実施態様は、コンピュータ・プログラ ムの形式を取り、コンピュータに上記のコントローラ335の機能を実行させる ために適当なプログラム・コードが実施されるコンピュータ使用可能媒体を含む 製造品の形式で配布することができる。このプログラムは、ソフトウェア・シン セサイザの高レベル・ブロック340と低レベル・ブロック350を含むことが できるか、あるいは既存のソフトウェア・シンセサイザで使用するために実現可 能である。 しかし、請求の範囲に記載した範囲内で多くの変形態様が可能であることが分 かるだろう。たとえば、コントローラは、サウンド・カードそのものに実現する かハードウエアまたはソフトウェアで実現し、外部ソースからMIDIメッセー ジを受け取るように配置して、サウンド・カード自体が一部の音符を処理し、一 部の音符をPCバスを介してソフトウェア・シンセサイザに方向付けるようにす ることができる。 産業上の応用可能性 本発明は、コンピュータおよびディジタル・オーディオ・システムという技術 分野で応用可能である。

Claims (1)

  1. 【特許請求の範囲】 1.音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オ ーディオ出力を生成するためのオーディオ・シンセサイザにおいて、 前記制御命令を受け取ってオーディオ・サンプルを生成するようプログラミン グされたCPUを有する汎用コンピュータ部分と、 前記制御命令を受け取って前記オーディオ・サンプルを生成するための特殊目 的ハードウェア部分と、 前記汎用コンピュータ部分が前記オーディオ・サンプルを生成するようにまた は前記ハードウェア部分が前記オーディオ・サンプルを生成するように前記制御 命令を方向付けるためのコントローラと、 前記汎用コンピュータ部分と前記ハードウェア部分によって生成された前記オ ーディオ・サンプルを合成し、前記制御命令に応じたオーディオ出力を形成する ための手段とを含む、オーディオ・シンセサイザ。 2.前記CPUにかかる負荷を繰返し測定するための測定手段を含み、前記CP Uにかかる負荷の測定値に応じて前記制御命令を方向付けるよう前記コントロー ラが配置されている、請求項1に記載のオーディオ・シンセサイザ。 3.前記測定手段が、前記オーディオ・サンプルを生成するために前記プログラ ム内の合成ループのタイミングを調整す るためのタイミング手段を含む、請求項1に記載のオーディオ・シンセサイザ。 4.前記汎用コンピュータが、前記コントローラとして機能し、それ自体が前記 オーディオ・サンプルを生成するかまたは前記ハードウェア部分に前記命令を転 送するようプログラミングされる、請求項1に記載のオーディオ・シンセサイザ 。 5.前記コントローラが、音声タイプに応じて前記命令を方向付けるよう配置さ れている、請求項1に記載のオーディオ・シンセサイザ。 6.前記汎用コンピュータが前記オーディオ・サンプルを生成するために波形テ ーブル・シンセサイザを含み、前記ハードウェア部分が前記オーディオ・サンプ ルを生成するためにFMシンセサイザを含む、請求項1に記載のオーディオ・シ ンセサイザ。 7.前記ハードウェア部分への制御命令の方向付けを遅延させるための遅延手段 を含み、その結果、前記ハードウェア部分によって生成される前記オーディオ・ サンプルが前記汎用コンピュータによって生成される前記オーディオ・サンプル と同期化される、請求項1に記載のオーディオ・シンセサイザ。 8.オーディオ・サンプルを受け取るための入力と、前記コード化制御命令に応 答して生成されたオーディオ・サンプルと前記入力で受け取ったオーディオ・サ ンプルとをミキシングするための手段とを含む、請求項1に記載のオーディオ・ シンセサイザ。 9.アドオン・サウンド・カードを備えたパーソナル・コンピュータの形式にな っている、請求項1に記載のオーディオ・シンセサイザ。 10.音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・ オーディオ出力を生成するためにオーディオ・シンセサイザを操作する方法にお いて、前記シンセサイザが、前記制御命令を受け取ってオーディオ・サンプルを 生成するようプログラミングされたCPUを有する汎用コンピュータ部分と、前 記制御命令を受け取って前記オーディオ・サンプルを生成するための特殊目的ハ ードウェア部分とを含み、前記方法が、前記汎用コンピュータ部分が前記オーデ ィオ・サンプルを生成するようにまたは前記ハードウェア部分が前記オーディオ ・サンプルを生成するように前記制御命令を方向付け、その結果、前記汎用コン ピュータ部分と前記ハードウェア部分によって生成された前記オーディオ・サン プルを合成し、前記制御命令に応じたオーディオ出力を形成できるようにするこ とを含む方法。 11.前記ハードウェア部分への制御命令の方向付けを遅延させ、その結果、前 記ハードウェア部分によって生成される前記オーディオ・サンプルが前記汎用コ ンピュータによって生成される前記オーディオ・サンプルと同期化されるように することを含む、請求項10に記載の方法。 12.NOTE ON命令を受け取ることと、 前記NOTE ON命令が前記汎用コンピュータ部分によって処理すべき事前定義し た1組の音声用であるかどうかを判定し、そのような音声用ではない場合に前記 ハードウェア部分が対応するオーディオ・サンプルを生成するように前記NOTE O N命令を方向付けることと、 前記CPUの負荷を測定し、前記CPUの負荷が事前定義したしきい値を超え る場合に前記ハードウェア部分が対応するオーディオ・サンプルを生成するよう に前記NOTE ON命令を方向付けることと、 そのようなしきい値を超えない場合に前記汎用コンピュータ部分が前記オーデ ィオ・サンプルを生成するように前記NOTE ON命令を方向付けることを含む、請 求項10に記載の方法。 13.NOTE OFF命令を受け取ることと、 前記NOTE OFF命令が前記汎用コンピュータ部分によって処理中の音符に関連す るかどうかを判定し、そのような音符に関連しない場合に前記NOTE OFF命令を前 記ハードウェア部分に方向付けることと、 そのような音符に関連する場合に前記NOTE OFF命令を前記汎用コンピュータ部 分に方向付けることを含む、請求項10に記載の方法。 14.コンピュータに請求項10に記載の方法を実行させるためにプログラム・ コードが実施されるコンピュータ使用可能媒体を含む製造品。
JP9514043A 1995-10-03 1996-02-15 オーディオ・シンセサイザ Expired - Fee Related JP2970689B2 (ja)

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 true JPH10512376A (ja) 1998-11-24
JP2970689B2 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)

* Cited by examiner, † Cited by third party
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
US7078609B2 (en) 1999-10-19 2006-07-18 Medialab Solutions Llc Interactive digital music recorder and player
US6392133B1 (en) 2000-10-17 2002-05-21 Dbtech Sarl Automatic soundtrack generator
US7176372B2 (en) 1999-10-19 2007-02-13 Medialab Solutions Llc Interactive digital music recorder and player
US9818386B2 (en) 1999-10-19 2017-11-14 Medialab Solutions Corp. Interactive digital music recorder and player
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
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
EP1846916A4 (en) 2004-10-12 2011-01-19 Medialab Solutions Llc SYSTEMS AND METHODS FOR REMOVE MUSIC
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)

* Cited by examiner, † Cited by third party
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 音楽再生装置
US5119711A (en) * 1990-11-01 1992-06-09 International Business Machines Corporation Midi file translation
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
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

Also Published As

Publication number Publication date
JP2970689B2 (ja) 1999-11-02
US5808221A (en) 1998-09-15
EP0853802A1 (en) 1998-07-22
DE69608292D1 (en) 2000-06-15
GB9520124D0 (en) 1995-12-06
DE69608292T2 (de) 2001-01-04
EP0853802B1 (en) 2000-05-10
WO1997013240A1 (en) 1997-04-10
GB2306043A (en) 1997-04-23

Similar Documents

Publication Publication Date Title
JP2970689B2 (ja) オーディオ・シンセサイザ
JP3161561B2 (ja) マルチメディア・システム
US7663049B2 (en) Kernel-mode audio processing modules
US5541354A (en) Micromanipulation of waveforms in a sampling music synthesizer
USRE41757E1 (en) Sound source system based on computer software and method of generating acoustic waveform data
US7069058B2 (en) Musical composition reproducing apparatus portable terminal musical composition reproducing method and storage medium
US5703310A (en) Automatic performance data processing system with judging CPU operation-capacity
US6100461A (en) Wavetable cache using simplified looping
JPH09114462A (ja) 楽音発生方法
EP1005015B1 (en) Tone waveform generating method and apparatus based on software
JP2013152477A (ja) 電子楽器デジタルインターフェースハードウェア命令セット
US5920843A (en) Signal parameter track time slice control point, step duration, and staircase delta determination, for synthesizing audio by plural functional components
JPH07121181A (ja) 音声情報処理装置
JP3141789B2 (ja) コンピュータソフトウェアを用いた音源システム
JP3269361B2 (ja) 楽音発生方法および装置
JP3705203B2 (ja) 楽音発生方法
JP2001092450A (ja) オーディオ・ファイルの生成処理方法
Nixon-Lloyd et al. Dynamic Tuning: Implementation and Control
Yim et al. A real-time MIDI music synthesis system using sinusoidal modeling on a TI TMS320C32 digital signal processor
JPH10198382A (ja) 演奏情報処理方法
JP2566697C (ja)
JPS63240597A (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