【事件の表示】
　特許第２９７０６８９号「オーディオ・シンセサイザ」の請求項１ないし９に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第２９７０６８９号の請求項１ないし８に係る特許を維持する。
【理　由】
［１］手続の経緯
　特許第２９７０６８９号の発明は、平成８年２月１５日（パリ条約による優先権主張１９９５年１０月３日、イギリス）を国際出願日として特許出願され、平成１１年８月２７日にその特許の設定登録がなされ、その後、廣田修一（以下、「申立人」という。）より特許異議の申立てがなされ、取消理由通知がなされ、その指定期間内である平成１３年３月１２日に訂正請求がなされたものである。
　
［２］訂正の適否についての判断
　訂正事項は、特許請求の範囲の請求項２を削除するものであるから、特許請求の範囲の減縮を目的としたものであり、新規事項の追加に該当せず、実質的に特許請求の範囲を拡張又は変更するものではない。したがって、上記訂正は特許法第１２０条の４第２項及び同条第３項において準用する特許法第１２６条第２項及び第３項の規定に適合するので、当該訂正を認める。
　
［３］特許異議の申立てについての判断
１．本件の請求項１ないし８に係る発明
　上記［２］で示したように上記訂正が認められるから、本件の請求項１ないし８に係る発明は、上記訂正に係る訂正明細書の特許請求の範囲の請求項１ないし８に記載された事項に特定されるとおりのものである。以下に、訂正された請求項１ないし８を示す。
　
　【請求項１】音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためのオーディオ・シンセサイザにおいて、
　前記制御命令を受け取ってオーディオ・サンプルを生成するようプログラミングされたＣＰＵを有する汎用コンピュータ部分と、
　前記制御命令を受け取って前記オーディオ・サンプルを生成するための特殊目的ハードウェア部分と、
　前記ＣＰＵにかかる負荷を繰返し測定するための測定手段と、
　前記測定手段により測定された負荷に応じて、前記制御命令を前記汎用コンピュータ部分または前記特殊目的ハードウェア部分に方向付けるためのコントローラと、
　前記汎用コンピュータ部分と前記ハードウェア部分によって生成された前記オーディオ・サンプルを合成し、前記制御命令に応じたオーディオ出力を形成するための手段とを含む、オーディオ・シンセサイザ。
　【請求項２】前記汎用コンピュータが、前記コントローラとして機能し、それ自体が前記オーディオ・サンプルを生成するかまたは前記ハードウェア部分に前記命令を転送するようプログラミングされる、請求項１に記載のオーディオ・シンセサイザ。
　【請求項３】前記コントローラが、音声タイプに応じて前記命令を方向付けるよう配置されている、請求項１に記載のオーディオ・シンセサイザ。
　【請求項４】前記ハードウェア部分への制御命令の方向付けを遅延させるための遅延手段を含み、その結果、前記ハードウェア部分によって生成される前記オーディオ・サンプルが前記汎用コンピュータ部分によって生成される前記オーディオ・サンプルと同期化される、請求項１に記載のオーディオ・シンセサイザ。
　【請求項５】音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためにオーディオ・シンセサイザを操作する方法であって、前記シンセサイザが、前記制御命令を受け取ってオーディオ・サンプルを生成するようプログラミングされたＣＰＵを有する汎用コンピュータ部分と、前記制御命令を受け取って前記オーディオ・サンプルを生成するための特殊目的ハードウェア部分とを含み、前記方法が、
　前記ＣＰＵにかかる負荷を繰返し測定するステップと、
　測定した負荷に応じて、前記制御命令を前記汎用コンピュータ部分または前記ハードウェア部分に方向付けるステップと、
　前記汎用コンピュータ部分および前記ハードウェア部分によって生成されたオーディオ・サンプルを合成し、前記制御命令に応じたオーディオ出力を形成するステップと、
　を含む方法。
　【請求項６】前記ハードウェア部分への制御命令の方向付けを遅延させ、その結果、前記ハードウェア部分によって生成されるオーディオ・サンプルが前記汎用コンピュータによって生成されるオーディオ・サンプルと同期化されるようにすることを含む、請求項５に記載の方法。
　【請求項７】ＮＯＴＥ ＯＮ命令を受け取るステップと、
　前記ＮＯＴＥ ＯＮ命令が前記汎用コンピュータ部分によって処理すべき事前定義した１組の音声用であるかどうかを判定し、そのような音声用ではない場合に前記ハードウェア部分が対応するオーディオ・サンプルを生成するように前記ＮＯＴＥＯＮ命令を方向付けるステップと、
　前記ＣＰＵの負荷が事前定義したしきい値を超える場合に前記ハードウェア部分が対応するオーディオ・サンプルを生成するように前記ＮＯＴＥ ＯＮ命令を方向付けるステップと、
　そのようなしきい値を超えない場合に前記汎用コンピュータ部分が前記オーディオ・サンプルを生成するように前記ＮＯＴＥ ＯＮ命令を方向付けるステップと含む、請求項５に記載の方法。
　【請求項８】ＮＯＴＥ ＯＦＦ命令を受け取るステップと、
　前記ＮＯＴＥ ＯＦＦ命令が前記汎用コンピュータ部分によって処理中の音符に関連するかどうかを判定し、そのような音符に関連しない場合に前記ＮＯＴＥ ＯＦＦ命令を前記ハードウェア部分に方向付けるステップと、
　そのような音符に関連する場合に前記ＮＯＴＥ ＯＦＦ命令を前記汎用コンピュータ部分に方向付けるステップとを含む、請求項５に記載の方法。
　
２．特許異議申立の概要
　申立人は特許異議申立書において以下のように主張している。
　訂正前の請求項１ないし９に係る発明は刊行物１（甲第１号証）に記載の発明に、刊行物２ないし５（甲第２号証ないし甲第５号証）等の周知の技術を考慮することにより、当業者が容易に発明することができたものであるから、特許法２９条２項に違反している。
　訂正前の請求項２、４、８の記載は明確でないから特許法３６条６項２号に違反している。
　発明の詳細な説明は、当業者がその実施をすることができる程度に明確かつ十分に記載されたものではないから、特許法３６条４項に違反している。
　
３．特許法２９条２項について
（１）引用刊行物に記載された発明
（ａ）当審が通知した取消理由で引用した刊行物１（特開平４−２３４７９７号公報、申立人が提出した甲第１号証）には、以下の事項が記載されている。なお。［　］内の番号は、段落番号である。
Ａ．［０００３]
　「電子楽器の楽音波形発生装置は、・・・従来は、必要とする音源方式に基づく楽音発生アルゴリズムと等価なアーキテクチャをハードウエアで実現した専用の音源回路によって構成されていた。そのため、ハードウェア規模が大きくなってしまい、また、音源方式の自由な変更が困難であり」
Ｂ．［０００４］
　「近年においては、汎用のデータ処理を行うための高性能なマイクロプロセッサが多く実現されており、このようなマイクロプロセッサを使用して音源処理をソフト的に行う楽音波形発生装置を実現させることも考えられ、特に、処理を複数のプロセッサに分散して行わせる方式が考えられる。」
Ｃ．［０００５］
　「このような方式では、例えば、１つの主プロセッサ（マスタープロセッサ）が、通常、演奏情報処理プログラムを実行して演奏操作に基づいて鍵盤等から発生する演奏情報を処理し、所定の時間間隔で割り込みがかかることによって、音源処理プログラムに処理を移して楽音生成を行う。このとき、他のプロセッサ（スレーブプロセッサ）に対しても並列に音源処理プログラムを実行させ、その後、全てのプロセッサにおいて音源処理プログラムの実行が終了すると、マスタープロセッサは、割り込みを解除して演奏情報処理プログラムの実行を再開する。
Ｄ．［００１５］、［００１６］
　「図１は、本実施例の全体構成図であり、外部メモリ１１６以外は１チップで構成され、その中のマスターとスレーブの２つのＣＰＵ（中央演算制御装置）が互いに情報を交換しつつ、楽音作成のために音源処理を分担して行う。・・・外部メモリ１１６には、エンベロープ値の目標値等の楽音制御パラメータと、ＰＣＭ（パルス符号変調）方式における楽音波形又はＤＰＣＭ（差分パルス符号変調）方式における楽音差分波形等が記憶されている。」
Ｅ．［００１９］
「その後、それぞれのデータに対し、ＭＣＰＵ１０１及びＳＣＰＵ１０２で、ソフトウェアによって音源処理が施された後、発音チャンネル分全部が累算され、ＬｅｆｔＤ／Ａ変換器部１０７のレフト出力端子１１３及びＲｉｇｈｔＤ／Ａ変換器部１０８のライト出力端子１１４から、それぞれ楽音信号として、左チャネルのレフト・アナログ出力と右チャネルのライト・アナログ出力が出力される。」
Ｆ．「００３６］
「本実施例では、基本的にはＭＣＰＵ１０１が中心となって動作し、図９のメインフローチャートに示すように、Ｓ９０２〜Ｓ９１０の一連の処理を繰り返し行っている。そして実際の音源処理は割り込み（インタラプト）処理で行っている。具体的には、ある一定時間毎に、ＭＣＰＵ１０１とＳＣＰＵ１０２に割り込みが掛かり、それに基づいてそれぞれのＣＰＵが最大８チャンネルずつの音を作る音源処理を行う。この場合、それぞれのＣＰＵに均等な数の発音チャネルが割り当てられ、これによりインクラプト処理に要する時間を短縮させていることが特徴となっている。その処理が終わると、それぞれのＣＰＵの最大８チャネル、計最大１６チャネル分の楽音波形が加算され、Ｌｅｆｔ　Ｄ／Ａ変換器部１０７、 Ｒｉｇｈｔ　Ｄ／Ａ変換器部１０８から出力される。その後、割り込み状態からメインフローに戻る。なお、上述の割り込みは、図２のインクラプト制御部２０３内のハードタイマに基づき周期的に行われる。この周期は、楽音出力時のサプリング周期に等しい。」
Ｇ．［００４２］
　「その後、押鍵されている鍵盤キーの状態が上述の機能キーの場合と同様に取り込まれ（Ｓ９０４）、変化した鍵（押鍵又は離鍵された鍵）が識別されることによりキーアサイン処理が行われる（Ｓ９０５）。この処理は、押鍵された鍵に基づいて発音されるべき楽音のデータを発音チャネルに割り当てたり、逆に、離鍵された鍵に対応する発音チャネルを開放したりする処理である。」
Ｈ．［００５７］〜［００５９］
　「次に、図１２は、前述の図９と図１０のフローチャートの処理の関係を概念的に示した流れ図であり、ＭＣＰＵ１０１とＳＣＰＵ１０２が、音源処理をそれぞれ分担して行う様子を示している。まず、ある処理Ａ（以下、処理Ｂ、Ｃ、・・・、Ｆも同じ）が実行される（Ｓ１２０１）。この処理は、図９のメインフローチャートの例えば「機能キー処理」、や「鍵盤キー処理」などに対応する。その後、ＭＣＰＵインタラプタ処理とＳＣＰＵインクラプト処理に入り、同時にＭＣＰＵ１０１とＳＣＰＵ１０２による音源処理が開始される（Ｓ１２０２，Ｓ１２０３）。そして、ＳＣＰＵ１０２でのＳＣＰＵインタラプト処理の終了時に、ＳＣＰＵ処理終了信号ＢがＭＣＰＵ１０１に入力する。ＭＣＰＵインタラプト処理では、ＳＣＰＵインタラプト処理より早く音源処理が終了し、ＳＣＰＵインタラプト処理の終了を待っている。そして、ＭＣＰＵインタラプト処理においてＳＣＰＵ処理終了信号Ｂが識別されると、ＳＣＰＵ１０２で生成された波形データがＭＣＰＵ１０１に送られてＭＣＰＵ１０１で生成された波形データとまとめられ、Ｌｅｆｔ　Ｄ／Ａ変換器部１０７及びＲｉｇｈｔ　Ｄ／Ａ変換器部１０８に出力される。その後、メインフローチャートの処理Ａの次の処理Ｂに戻る。以上のような動作が、全ての発音チャネル（ＭＣＰＵ１０１とＳＣＰＵ１０２で実行中の発音チャネル）に対する音源処理が行われながら繰り返される（Ｓ１２０４〜Ｓ１２１６）。そして、この繰り返し処理は、楽音の発音中続けられる。」
Ｉ．[００６１］
　「本実施例では、音源処理が実行されるべき発音チャネルがＭＣＰＵ１０１又はＳＣＰＵ１０２のいずれか一方に片寄らないように両ＣＰＵへの発音チャネルのアサインを均等に行い、また、各インタラプト処理で実行される音源処理において、アサインが行われていない発音チャネルについては音源処理を実行しないように制御することにより、インタラプト処理時間の短縮化を可能としている。これにより、図９のメインフローチャートのステップＳ９０２〜Ｓ９１０のループ処理が高速に実行されるようになり」
Ｊ．［００６２］
　「まず、図１３、図１４は、図９のメインフフローチャートのステップＳ９０５、Ｓ９０６及びＳ９０７で実行されるキーアサイン処理の動作フローチャートである。始めに、これから行われるキーアサイン処理が発音のための処理であるか消音のための処理であるかが判定される（Ｓ１３０１）。これは、キーオンが日示されたかキーオフが指示されたかを判定する処理である。
Ｋ．［００６３］
「発音処理である場合、次に、変数ＭＥＣ及びＳＥＣの内容が両方とも０であか否かが判定される（Ｓ１３０２）。ＭＣＰＵ１０１内のＲＡＭ２０６（図２）には、図１６に示されるように変数ＭＥＣ及びＳＥＣが記憶されている。そして、変数ＭＥＣは、ＭＣＰＵ１０１で発音処理が可能な空チャネル数を表し、変数ＳＥＣは、ＳＣＰＵ１０２で発音処理が可能な空きチャネル数を表す。」
Ｌ．［００６４］〜［００６６］
　「ステップＳ１３０２の判定がＮＯの場合、変数ＭＥＣの値がＳＥＣの値以上であるか否かが判定される（Ｓ１３０３）。この判定がＹＥＳなら、ＭＣＰＵ１０１の空きチャネル数の方が多いため、ＭＣＰＵ１０１の空チャネルが確保され（Ｓ１３０４）。そして、変数ＭＥＣの内容が−１されて（Ｓ１３０５）、キーサイン処理を終了する。一方、ステップＳ１３０３の判定がＮＯなら、ＳＣＰＵ１０２の空チャネル数の方が多いため、ＳＣＰＵ１０２の空きチャネルが確保れる（Ｓ１３０６）。そして、変数ＳＥＣの内容が−１されて（Ｓ１３０７）、キーアサイン処理を終了する。以上のようにして、ＭＣＰＵ１０１及びＳＣＰＵ１０２での発音チャネルのアサインが均等に行われる。」
Ｍ．［００６７］〜「００６９］
　「一方、ステップＳ１３０１において、これから行われるキーアサイン処理が消音のための処理であると判定された場合、消音すべき楽音がＭＣＰＵ１０１の楽音チャネルにアサインされているか否かが判定される（Ｓ１３０８）。・・・消音すべき楽音がＭＣＰＵ１０１にアサインされておりステップＳ１３０８の判定がＹＥＳの場合、その楽音がアサインされているＳＣＰＵ１０２の発音チャネルがキャンセルされ空きチャネルにされる（Ｓ１３１１）。そして、変数ＳＥＣの内容が十１されて（Ｓ１３１２）、キーアサイン処理を終了する。逆に、消音すべき楽音がＳＣＰＵ１０２にアサインされておりステップＳ１３０８の判定がＮＯの場合、その楽音がアサインされているＳＣＰＵ１０２の発音チャネルがキャンセルされ空チャネルにされる（Ｓ１３１１）。そして、変数ＳＥＣの内容が十１されて（Ｓ１３１２）、キーアサイン処理を終了する。」
Ｎ．［００８１］
　「図１７の各発音チャネル領域には、後に詳述するような操作によって、図１８に概念的に示すように、それぞれの音源方式が設定でき、その音源方式が設定されたら、図１９及び図２０に示すような各音源方式のデータフォーマットで、図１７の各発音チャネルの各領域にデータが設定される。なお、本実施例では、後述するように、各発音チャネルに異なる音源方式を割り当てることが可能である。」
Ｏ．［０１２４］
　「ＦＭ変調方式では、通常、図３１のＯＰ１〜ＯＰ４で示されるような、オペレータと呼ばれる同一機能を有するハードウェア又はソフトウェアのモジュールが用いられ、それらが図３１（ａ）〜（ｄ）のアルゴリズム１〜４として示されるような接続規則で相互に接続されることにより、楽音の生成が行われる。本実施例では、ソフトウェア処理によりＦＭ変調方式を実現するものである。」
Ｐ．［０２３５］〜［０２３７］
　「上述の発音チャネル毎に行われる音源処理においては、ＭＣＰＵ１０１の入力ポート２１０（図２参照）を介して例えば電子楽器の操作パネル上に接続される図７の機能キー７０１により、ＭＣＰＵ１０１又はＳＣＰＵ１０２のＲＡＭ２０６又は３０６（図２及び図３参照）上の各発音チャネル領域（図１７参照）に、前述した各種音源方式のデータフォーマット（図１９、図２０参照）が設定さる。図４７は、図７の機能キー７０１の一部の配置例を示した図である。同図では、機能キー７０１の一部が音色指定スイッチとして実現され、Ａグループの「ピアノ」、「ギター」、・・・、「琴」などのスイッチが押されると、それぞれの楽器音の音色が選択され、ガイドランプが点灯する。そして、ＤＰＣＭ／ＴＭ方選択スイッチ４７０１で．これらの楽器音の音色をＤＰＣＭ方式とＴＭ方式の、いずれの音源方式で生成するかが選択される。一方、Ｂグループの「チューバ」スイッチが押されればＦＭ方式により、「ベース」が押されればＰＣＭ／ＴＭ方式により、また、「トランペット」が押されればＰＣＭ方式により、それぞの音色が指定され、それらの音源方式に基づく楽音が生成されることになる。」
Ｑ［０２８３］
　「更に、図２のＭＣＰＵ１０１の入力ポート２１０には、図７及び図８のようま楽器操作部のほかに様々な操作部を接続することが可能であり、これにより種の形態の電子楽器を実現できる。また、他の電子楽器からの演奏情報を入力し音源処理のみを行う音源モジュールとして実現することも容易である。」
　
（ｂ）同刊行物２（特開昭６３−３１４５９８号公報、申立人が提出した甲第２号証）には、以下の事項が記載されている。
Ａ．（公報第１頁左下欄第１７行〜右下欄第１行）
　「鍵盤の数より少ない音源をキーが押される毎にそのキーを一定の条件のもとに、ある音源に割り当てることが行われている。この音源の数をボイス数と呼び、その楽器固有の一つの仕様として評価されていた。」
Ｂ．（公報第１頁右下欄第１５行〜第２頁左上欄第１６行）
　「第１図は本発明の一実施例を表わすブロック図で、１は、例えば８ボイスのキーボードである。２は、例えば１６ボイスの音源モジュールでありキーボード１から音源モジュール２へは信号線３が接続されている。ここでは、鍵盤と音源が一体となっているものをキーボード、鍵盤を有さずアサイナと音源とからなるものを音源モジュールという。・・・キーボードにおけるキーアサイナは、ＣＰＵによって動作するもので、この処理を第２図に示すフローチャートを用いて説明する。キーボードが新たな押鍵を検出すると（Ｓ１）ＣＰＵに付属するＲＡＭ内に設けられたテーブルを参照し、空いている音源を探す（Ｓ２）。空いている音源がある場合には、その音源に割当てる（Ｓ３）。すべての音源が発音中であれば、そのキーに対応する信号を信号線３から出力する（Ｓ４）。」
　
（ｃ）同刊行物３（特開昭５７−７６６４６号公報、申立人が提出した甲第３号証）には、以下の事項が記載されている。
Ａ．（公報第２頁左上欄第１３行〜第１５行）
「計測手段１１は常に応用プログラム１３の処理量を監視し、・・・処理量が所定の値を越えると、新たに入力される要求を応用プログラム１３より計測手段１１が受ける。・・・計測手段１１が受けた入力を依頼すべき処理装置を抽出する。・・・計測手段１１は通信回線３１により処理装置２に処理依頼信号を送出する。第２の処理装置２中の計測手段２１がこの信号を受けると、・・・。応用プログラム２３の処理量が所定の値を越えていなければ計数手段１１から処理データを計数手段２１が受け、応用プログラム２３にこのデータを送出する。応用プログラム２３は依頼された処理を終了すると・・・応用プログラム１３に結果データを送出する。」
Ｂ．（公報第２頁右上欄第２０行〜左下欄第２行）
「処理量が増大した場合のみ他処理装置への処理依頼が可能となり負荷分散が効率的に実施できる」
　
（ｄ）同刊行物４（特開平６−３０８９６０号公報、申立人が提出した甲第４号証）には、以下の事項が記載されている。
Ａ．［０００５」、［０００６］
　「このため、複数の出力端子を有するＭＩＤＩ規格の通信手段を備えるように自動演奏装置を構成し、複数の出力端子にそれぞれ接続される複数のＭＩＤＩ回線を使用して、これら複数のＭＩＤＩ回線のそれぞれに接続された音源毎に演奏情報の出力を振り分け、発音の遅れやチャネル不足を軽減することが行われていた。また、上記の様に複数のＭＩＤＩ回線を使用して、音源毎に演奏情報の出力を振り分けるようにすると、演奏情報に基づき生成される各楽音の音色毎に、当該音色の楽音を生成するのに好適な特化した音源を割り当てることができるようになるので、より品質の高いリアリティのある演奏を行うことが可能とされるものであった。」
　
（ｅ）同刊行物５（特開平６−１２４０８４号公報、申立人が提出した甲第５号証）には、以下の事項が記載されている。
Ａ．［０００４］，［０００５］
　「図８を参照し説明する。図において自動演奏ピアノ１は、ピアノ部ｌａと、これを制御するコントローラｌｂとから構成されている。・・・処理装置９１は、曲の進行順序に従って、ＲＡＭ１１から演奏情報の単位演奏情報を読出し、これをピアノ部ｌａおよび遅延用バッファ９２に供給する。ピアノ部ｌａは、供給された単位演奏情報に従って約５００ｍｓｅｃの時間遅れを伴いながら、自動演奏を行う。一方、遅延用バッファ９２は、供給された単位演奏情報を記憶し、これを約５００ｍｓｅｃ遅延させて、電子楽器を２に供給する。電子楽器２は供給された単位演奏情報に従って直ちに発音する。上記構成によれば、処理装置９１から出力された各単位演奏情報が、約５００ｍｓｅｃの時間遅れを伴って、ピアノ部ｌａおよび電子楽器２によって発音される。これにより、両者の演奏のタイミングは合致し、正確なアサンブルが可能になる。」
　
（２）請求項１について
（ａ）対比
　本件の請求項１に係る発明（以下、「請求項１発明」という。）と刊行物１に記載された発明（以下、「刊行物１発明」という。）を対比すると、
　両者は、
「音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためのオーディオ・シンセサイザにおいて、
　オーディオ・サンプルを生成するようプログラミングされたＣＰＵを有する第１の手段、
　前記オーディオ・サンプルを生成するための第２の手段と
　前記第１の手段と前記第２の手段によって生成された前記オーディオ・サンプルを合成し、前記制御命令に応じたオーディオ出力を形成するための手段とを含む、オーディオ・シンセサイザ。」
である点で一致し、以下の点で相違している。
　
相違点
　請求項１発明においては、
　第１の手段は前記制御命令を受け取る汎用コンピュータ部分であり、
　第２の手段は前記制御命令を受け取る特殊目的ハードウェア部分であり、
「前記ＣＰＵにかかる負荷を繰返し測定するための測定手段と、
　前記測定手段により測定された負荷に応じて、前記制御命令を第１の手段（汎用コンピュータ部分）または第２の手段（特殊目的ハードウェア部分）に方向付けるためのコントローラと、」
を含んでいるのに対して、
　刊行物１発明においては、
　第１の手段はＭＣＰＵ１０１（マスターＣＰＵ）を含む手段であり、
　第２の手段はＳＣＰＵ１０２（スレーブＣＰＵ）を含む手段であり、
「基本的にはＭＣＰＵ１０１が中心となって動作し、図９のメインフローチャートに示すように、Ｓ９０２〜Ｓ９１０の一連の処理を繰り返し行っている。そして実際の音源処理は割り込み（インタラプト）処理で行っている。具体的には、ある一定時間毎に、ＭＣＰＵ１０１とＳＣＰＵ１０２に割り込みが掛かり、それに基づいてそれぞれのＣＰＵが最大８チャンネルずつの音を作る音源処理を行う。この場合、それぞれのＣＰＵに均等な数の発音チャネルが割り当てられ、これによりインクラプト処理に要する時間を短縮させている」（［００３６］参照）
ものである点で相違している。
　
　なお、申立人は、刊行物１において上記第１の手段（ＭＣＰＵ１０１）及び上記第２の手段（ＳＣＰＵ１０２）が「前記音楽事象を表すコード化制御命令を受け取って」いるものであるとして、一致点に「前記音楽事象を表すコード化制御命令を受け取って」を含めて認定しているが、刊行物１においては音楽事象を表すコード化制御命令は図９のメインフローチャートによってＭＣＰＵ１０１が処理し、音源処理のみを割り込み処理でＭＣＰＵ１０１とＳＣＰＵ１０２で分担して行っているのであるから、本件実施例の第３図の高レベルブロック３４０に相当する部分はＭＣＰＵ１０１が行い、低レベルブロック３５０に相当する部分だけをＭＣＰＵ１０１とＳＣＰＵ１０２で均等に分担して行っていると考えられる。したがって、上記のように一致点及び相違点を認定した。
　
（ｂ）判断
　刊行物２には、外部音源（音源モジュール２）を増設し内部音源（キーボード１）ですべての音源が発音中であればキーに対応する信号を外部音源へ回す技術が記載されており、刊行物３には、一般に、処理装置において処理量を計測し、この処理量が所定のしきい値を越えると、他の処理装置に対して処理を行わせる技術が記載されており、刊行物４には、複数のＭＩＤＩ回線を使用して、音源毎に演奏情報の出力を振り分けるようにすると、演奏情報に基づき生成される各楽音の音色毎に、当該音色の楽音を生成するのに好適な特化した音源を割り当てることができる技術が記載されており、刊行物５には、処理装置９１から出力された各単位演奏情報が、約５００ｍｓｅｃの時間遅れを伴って、ピアノ部ｌａおよび電子楽器２によって発音される技術が記載されている。
　しかし、刊行物１に記載されたＭＣＰＵ１０１を含む手段（第１の手段）が汎用コンピュータでないことは明らかであり、刊行物２ないし５の記載を考慮しても、刊行物１のＭＣＰＵ１０１を含む手段（第１の手段）を前記制御命令を受け取る汎用コンピュータ部分とし、刊行物１のＳＣＰＵ１０２を含む手段（第２の手段）を前記制御命令を受け取る特殊目的ハードウェア部分とし、さらに刊行物１においてＭＣＰＵ１０１を含む手段（第１の手段）にかかる負荷を繰返し測定するための測定手段と、測定手段により測定された負荷に応じて、前記制御命令をＭＣＰＵ１０１を含む手段（第１の手段）またはＳＣＰＵ１０２を含む手段（第２の手段）に方向付けるようにすることが、当業者が容易に想到できたことであるとはいえない。
　したがって、請求項１発明は刊行物１ないし５に基づいて当業者が容易に発明できたものということはできない。
　
（３）請求項２ないし４について
　請求項２ないし４（訂正前請求項３ないし５）に係る発明は請求項１を引用した発明であるから、上記（２）と同様な理由により刊行物１ないし５に基づいて当業者が容易に発明できたものということはできない。
　
（４）請求項５について
　請求項５（訂正前請求項６）は請求項１を方法としたものであるから、請求項５に係る発明は上記（２）と同様の理由により刊行物１ないし５に基づいて当業者が容易に発明できたものということはできない。
　
（５）請求項６ないし８について
　請求項６ないし８（訂正前請求項７ないし９）に係る発明は請求項５を引用した発明であるから、上記（４）と同様な理由により刊行物１ないし５に基づいて当業者が容易に発明できたものということはできない。
　
４．特許法第３６条６項２号について
（１）訂正前請求項２について
　申立人は訂正前の請求項２の記載は明確でないから特許法６項２号の規定に違反するものであると主張しているが、訂正前の請求項２は訂正により削除されたので、特許法３６条６項２号の規定に違反しないものとなった。
　
（２）請求項３（訂正前請求項４）について
　申立人は、
『本件特許請求の範囲の請求項４には、
　請求項１に記載の「ｅ．前記測定手段により測定された負荷に応じて、前記制御命令を前記汎用コンピュータ部分または前記特殊目的ハードウェア部分に方向付けるためのコントローラ」を受けて、
「ｅ１．前記コントローラが、音声タイプに応じて前記命令を方向付けるよう配置されている」旨、記載されている。
　そうすると、コントローラは、ある１つの音楽事象を表すコード化制御命令を、測定された負荷、音声タイプという独立した２つの条件に応じて方向付ける必要がある。したがって、コントローラは、この２条件に応じて、前記汎用コンピュータ部分または前記特殊目的ハードウェア部分のいずれに方向付けるように機能するものかが不明である。例えば、ある１つの音楽事象を表すコード化制御命令が、前記汎用コンピュータ部分に方向付けられる音声タイプであるのに、測定された負荷によっては、特殊目的ハードウエア部分に方向付けられる場合には、このままではコントロールが不可能である。
　したがって、請求項４の記載は、明確でないから特許法第３６条第６項第２号に違反するものである。』
と主張している。
　しかし、申立人が主張する「測定された負荷」及び「音声タイプ」に応じた方向付けは、それぞれ本件実施例の第５図に示された５１０、５００に対応する方向付けであり、コントロールが不可能であるとは考えられない。そして、請求項において第５図に示されているとおりに限定しなければならない理由もないから、請求項３（訂正前請求項４）は特許法３６条６項２号に違反するものではない。
　
（３）請求項７（訂正前請求項８）について
　申立人は、
『本件特許請求の範囲の請求項８には、
「ｓ．前記ＮＯＴＥ ＯＮ命令が前記汎用コンピュータ部分によって処理すべき事前定義した１組の音声用であるかどうかを判定し、そのような音声用ではない場合に前記ハードウェア部分が対応するオーディオ・サンプルを生成するように前記ＮＯＴＥ ＯＮ命令を方向付けるステップ」と、
「ｔ．前記ＣＰＵの負荷が事前定義したしきい値を超える場合に前記ハードウェア部分が対応するオーディオ・サンプルを生成するように前記ＮＯＴＥ ＯＮ命令を方向付けるステップ」とを含んだ記載がなされている。
　その結果、ＮＯＴＥ ＯＮ 命令が汎用コンピュータ部分によって処理すべき事前定義した１組の音声用であるかどうかを判定する上記ステップｓと、前記ＣＰＵの負荷が事前定義したしきい値を超える場合を判定することを前提とする上記ステップｔとが競合する。
　したがって、ＮＯＴＥ ＯＮ 命令が、前記汎用コンピュータ部分または前記特殊目的ハードウェア部分のいずれに方向付けられるのかが不明である。例えば、ある１つのＮＯＴＥ ＯＮ命令が、前記汎用コンピュータ部分によって処理すべき音声用であるときに、測定された負荷がしきい値を超える場合にハードウェア部分がオーディオ・サンプルを生成するように方向付けられる場合に、このままではコントロールが不可能である。
　したがって、請求項８の記載は、明確でないから特許法第３６条第６項第２号に違反するものである。』
と主張している。
　しかし、上記（２）と同様な理由により請求項７（訂正前請求項８）は特許法３６条６項２号に違反するものではない。
　
５．特許法３６条４項について
（１）特許公報６頁１１欄３行〜１５行について
　申立人は、
『本件特許掲載公報第６頁第１１欄第３行〜第１５行において、本件第１特許発明における「ｄ．前記ＣＰＵにかかる負荷を繰返し測定するための測定手段」、および、本件第６特許発明における「１．前記方法が、前記ＣＰＵにかかる負荷を繰返し測定するステップ」、を実施できるための裏付けが「合成プロセスによってＣＰＵの使用状況を監視するための方法はいくつかある」として記載されている。
　しかし、第１に、ＣＰＵの使用状況を監視するための方法として、１「たとえば、低レベル・ブロック３４０をトリガするたびに時間測定値を取る」、２「あるいは、各反復の合成プロセスの開始時と終了時に時間測定値を取る」、３「次に、ＣＰＵの使用状況の割合（パーセント）は、測定した合成時間と、低レベル・ブロック３５０のトリガ周期として使用する時間間隔との割合として計算される」の３つの方法が記載されているのか、３の方法のみが監視方法の一例であるのかが不明である。
　第２に、上述した１、２、３のいずれの方法も、なぜこのような方法で、ＣＰＵにかかる負荷を測定できるのかが不明である。より具体的に指摘すれば、上述した１に関しては、「要求された周期」とは、何であるのか。楽音波形の生成が間に合わなかったときの所要時間を測定するのか。上述した２に関しては、「各反復の合成プロセスの開始時と終了時」とは、１つの音符の楽音波形の合成に要する時間であるのか。上述した３に関しては、上述した１、２が不明であるために、一層不明である。
　したがって、発明の詳細な説明は、当業者がその実施をすることができる程度に明確かつ十分に記載されたものではない。』
と主張している。
　これに対して、特許権者は意見書において、
『ここで述べられている方法は２種類であり、特許異議申立人の言うような３種類ではない。最初の方法は、「低レベル・ブロック３４０をトリガするたびに時間測定値を取」り、「現行時間と前の反復時に測定された時間との差が要求された周期より一貫して大きい場合、ＣＰＵが過負荷になっていると想定する」ものである。ここで、「要求された周期」とは、同公報第５頁第１０欄第３７〜３８行に「このループは、一般に、ｌｍｓ〜５ｍｓの周期でトリガされる。」と記載されていることから明らかなように、ここでは最大５ｍｓを意味している。したがって、次のトリガまでに例えば１０ｍｓを要したとすると、ＣＰＵが過負荷になっていると推定される。これは、ＣＰＵが他の何らかのジョブでビジーのために、なかなか合成プロセスに入れないことを示している。
　２番目の方法は、まず「各反復の合成プロセスの開始時と終了時に時間測定値を取る」。これは、合成に要した時間の長さであるから、概算的には、ＣＰＵの使用時間となる。当然、ＣＰＵの使用時間だけでは過負荷かどうかを判断することはできないので、次のステップとして、「測定した合成時間と、低レベル・ブロック３５０のトリガ周期として使用する時間間隔との割合」を計算する。トリガ周期に比べて、合成時間が長くなるほど、ＣＰＵの使用状況の割合(パーセント)すなわち負荷が大きくなることは容易に理解できる。』
と主張している。
　特許権者の主張の方が妥当であると判断できるから、発明の詳細な説明は特許法３６条４項に違反しているとはいえない。
　
（２）特許公報３頁５欄４６行〜５０行について
　申立人は、
『本件特許掲載公報第３頁第５欄第４６行〜第５０行には、「ＣＰＵの使用状況は、たとえば、計算集約ループである合成内部ループのタイミングを調整することによって測定することができるが、ＣＰＵ の使用状況を決定するための他の方法も可能である」旨、記載されている。
　しかし、上述した６−４（１）において、請求項２について指摘した理由と同様の理由で、「合成ループのタイミングを調整する」とは、どうのような機能を意味するのかが不明である。
　したがって、発明の詳細な説明は、この点でも、当業者がその実施をすることができる程度に明確かつ十分に記載されたものではない。』
と主張している。
　申立人の主張するように「合成ループのタイミングを調整する」がどのような機能を意味するのかは必ずしも明らかではないが、この記載に対応する発明である訂正前請求項２は訂正により削除されたので、特許法３６条４項に違反しているとはいえない。
　
６．むすび
　以上のとおりであるから、特許異議申立の理由及び証拠によっては、本件請求項１ないし８に係る発明の特許を取り消すことはできない。
　また、他に本件請求項１ないし８に係る発明の特許を取り消すべき理由を発見しない。
　よって結論のとおり決定する。
　
【異議決定日】
平成１３年６月７日（２００１．６．７）
【訂正の要旨】
　訂正の要旨
　平成１１年３月１９日の本件請求人に係る手続補正書により補正された請求の範囲（以下、特許請求の範囲という）の請求項２を削除し、請求項３〜請求項９をそれぞれ１項ずつ繰り上げて請求項２〜請求項８とする。
（５４）【発明の名称】
オーディオ・シンセサイザ
（５７）【特許請求の範囲】
　【請求項１】音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためのオーディオ・シンセサイザにおいて、
　前記制御命令を受け取ってオーディオ・サンプルを生成するようプログラミングされたＣＰＵを有する汎用コンピュータ部分と、
　前記制御命令を受け取って前記オーディオ・サンプルを生成するための特殊目的ハードウェア部分と、
　前記ＣＰＵにかかる負荷を繰返し測定するための測定手段と、
　前記測定手段により測定された負荷に応じて、前記制御命令を前記汎用コンピュータ部分または前記特殊目的ハードウェア部分に方向付けるためのコントローラと、
　前記汎用コンピュータ部分と前記ハードウェア部分によって生成された前記オーディオ・サンプルを合成し、前記制御命令に応じたオーディオ出力を形成するための手段とを含む、オーディオ・シンセサイザ。
　【請求項２】前記汎用コンピュータが、前記コントローラとして機能し、それ自体が前記オーディオ・サンプルを生成するかまたは前記ハードウェア部分に前記命令を転送するようプログラミングされる、請求項１に記載のオーディオ・シンセサイザ。
　【請求項３】前記コントローラが、音声タイプに応じて前記命令を方向付けるよう配置されている、請求項１に記載のオーディオ・シンセサイザ。
　【請求項４】前記ハードウェア部分への制御命令の方向付けを遅延させるための遅延手段を含み、その結果、前記ハードウェア部分によって生成される前記オーディオ・サンプルが前記汎用コンピュータ部分によって生成される前記オーディオ・サンプルと同期化される、請求項１に記載のオーディオ・シンセサイザ。
　【請求項５】音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためにオーディオ・シンセサイザを操作する方法であって、前記シンセサイザが、前記制御命令を受け取ってオーディオ・サンプルを生成するようプログラミングされたＣＰＵを有する汎用コンピュータ部分と、前記制御命令を受け取って前記オーディオ・サンプルを生成するための特殊目的ハードウェア部分とを含み、前記方法が、
　前記ＣＰＵにかかる負荷を繰返し測定するステップと、
　測定した負荷に応じて、前記制御命令を前記汎用コンピュータ部分または前記ハードウェア部分に方向付けるステップと、
　前記汎用コンピュータ部分および前記ハードウェア部分によって生成されたオーディオ・サンプルを合成し、前記制御命令に応じたオーディオ出力を形成するステップと、
　を含む方法。
　【請求項６】前記ハードウェア部分への制御命令の方向付けを遅延させ、その結果、前記ハードウェア部分によって生成されるオーディオ・サンプルが前記汎用コンピュータによって生成されるオーディオ・サンプルと同期化されるようにすることを含む、請求項５に記載の方法。
　【請求項７】ＮＯＴＥ　ＯＮ命令を受け取るステップと、
　前記ＮＯＴＥ　ＯＮ命令が前記汎用コンピュータ部分によって処理すべき事前定義した１組の音声用であるかどうかを判定し、そのような音声用ではない場合に前記ハードウェア部分が対応するオーディオ・サンプルを生成するように前記ＮＯＴＥ　ＯＮ命令を方向付けるステップと、
　前記ＣＰＵの負荷が事前定義したしきい値を超える場合に前記ハードウェア部分が対応するオーディオ・サンプルを生成するように前記ＮＯＴＥ　ＯＮ命令を方向付けるステップと、
　そのようなしきい値を超えない場合に前記汎用コンピュータ部分が前記オーディオ・サンプルを生成するように前記ＮＯＴＥ　ＯＮ命令を方向付けるステップと含む、請求項５に記載の方法。
　【請求項８】ＮＯＴＥ　ＯＦＦ命令を受け取るステップと、
　前記ＮＯＴＥ　ＯＦＦ命令が前記汎用コンピュータ部分によって処理中の音符に関連するかどうかを判定し、そのような音符に関連しない場合に前記ＮＯＴＥ　ＯＦＦ命令を前記ハードウェア部分に方向付けるステップと、
　そのような音符に関連する場合に前記ＮＯＴＥ　ＯＦＦ命令を前記汎用コンピュータ部分に方向付けるステップとを含む、請求項５に記載の方法。
【発明の詳細な説明】
技術分野
　本発明は、ＭＩＤＩデータ・ストリームなど、音楽事象を表すコード化制御命令に応答してディジタルで符号化したオーディオ・サンプルを生成するためのオーディオ・シンセサイザに関する。
背景技術
　現在、多くのコンピュータでは、たとえば、ゲーム、合成、その他のマルチメディア・アプリケーション用の音楽を生成するために、サウンド・カードまたはその他の専用ハードウェアを使用する。通常、専用サウンド・カードはコンピュータのマザーボードに差し込まれるが、最近のパーソナル・コンピュータの中には、マザーボードそのものに専用サウンド・ハードウェアが付いているものもある。
　このようなハードウェア実施態様の主な利点は、コンピュータのＣＰＵに対してその限度まで負荷が加わったときでも、音質が劣化しないことである。
　しかし、完全にハードウェアによる実施態様には、所与の欠点もある。たとえば、サウンド・カードの諸資源はサウンド生成プロセスのみに使用され、マシンは他のいかなる点でもその恩恵を受けることはできない。コンピュータ上のソフトウェアの改良は、たとえば、オペレーティング・システムにとっては、音質またはパフォーマンスを改善するものではない。というのは、サウンド・カードは半独立エンティティとして動作するからである。
　ＭＩＤＩ（楽器用ディジタル・インタフェース）は、ディジタル電子楽器と、コンピュータ、ライティング・コントローラ、ミキサなどの他の装置との間のデータ通信のための国際的に認められた規格である。ＭＩＤＩデータは、サウンド情報とは対照的に、パフォーマンス情報を指定する。たとえば、どの音符を押さえつけるか、鳴らした後でその音符に追加の圧力を加えるかどうか、キーを放し、楽器の設定に応じて他の調整を行う時期などである。ＭＩＤＩデータは、１つのＭＩＤＩコマンドまたは事象を含むＭＩＤＩ「メッセージ」に構成されたシリアル・データ・ストリームとしてやりとりされる。
　従来のＭＩＤＩ再生システムでは、ＭＩＤＩメッセージのストリームによってＭＩＤＩシンセサイザが制御されている。このシンセサイザは、メッセージを受け取ってデコードし、それに応じて動作する。たとえば、「ＮＯＴＥ　ＯＮ」事象によってシンセサイザは、パラメータとして供給される要求済み音符および速度に対応するオーディオ・サンプルを生成する。同様に、「ＮＯＴＥ　ＯＦＦ」事象によってシンセサイザは、オーディオ・サンプルの生成を停止する。
　多くの市販のサウンド・カードには、ＭＩＤＩポートまたはＰＣバスを介してＭＩＤＩソースからデータを受け取ることによってＭＩＤＩシンセサイザとして機能する能力を備えている。
　汎用コンピュータで使用するために、ソフトウェア専用のＭＩＤＩシンセサイザが提案されている。これは、ＣＰＵパワー、メモリ、磁気およびＣＤ−ＲＯＭ記憶装置、キャッシュ機構、仮想メモリなど、コンピュータのすべての資源を利用することができ、カストマイズ、アップグレード、保守が容易に行われる。しかし、このようなシンセサイザには、コンピュータが他のタスクを実行しているために必要とする計算資源が使用できないときに、音質が劣化しうるという欠点がある。にもかかわらず、近年、パーソナル・コンピュータに使用されているプロセッサから得られるパワーは大幅に増大し、通常の使用では、ＣＰＵにかかる負荷は多くの場合、きわめて低くなる可能性がある。
本発明の開示
　本発明は、ハードウェアおよびソフトウェアの実施態様の利点を組み合わせた、上記の定義済みタイプのオーディオ・シンセサイザを提供することに関する。
　この目的を達成するため、音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためのオーディオ・シンセサイザが提供される。このシンセサイザは、制御命令を受け取ってオーディオ・サンプルを生成するようプログラミングされたＣＰＵを有する汎用コンピュータ部分と、制御命令を受け取ってオーディオ・サンプルを生成するための特殊目的ハードウェア部分と、汎用コンピュータ部分がオーディオ・サンプルを生成するようにまたはハードウェア部分がオーディオ・サンプルを生成するように制御命令を方向付けるためのコントローラと、汎用コンピュータ部分とハードウェア部分によって生成されたオーディオ・サンプルを合成し、制御命令に応じたオーディオ出力を形成するための手段とを含む。
　これは、ソフトウェアおよびハードウェアの両方の実施態様からの利点を組み合わせ、ホストＣＰＵの予備の計算能力を使用して、サウンド・カードの計算能力を補うことができる、ハイブリッド・オーディオ・シンセサイザを提供するものである。
　このようなシンセサイザの実施例は、ＭＩＤＩデータ・ストリームで使用するために開発されたが、他の形式の制御命令にアナログ技法を応用することは除外されている。
　好ましい実施例のオーディオ・シンセサイザは、ＣＰＵにかかる負荷を繰返し測定するための測定手段を含み、ＣＰＵにかかる負荷の測定値に応じて制御命令を方向付けるようコントローラが配置されている。ＣＰＵの使用状況は、たとえば、計算集約ループである合成内部ループのタイミングを調整することによって測定することができるが、ＣＰＵの使用状況を決定するための他の方法も可能である。
　この場合、ＣＰＵにあまり負荷がかかっていないと、ハイブリッド・シンセサイザは、固有のＣＰＵを使用してＭＩＤＩ事象の一部をソフトウェアで処理し、一部の事象をハードウェア部分に伝播することができる。同時音符のうちのいくつをソフトウェアで処理し、いくつをハードウェアで処理するかという決定は、現行のＣＰＵの使用状況に基づいて行われる。
　汎用コンピュータは、コントローラとして機能し、それ自体がオーディオ・サンプルを生成するかまたはハードウェア部分に命令を転送するようプログラミングすることができる。あるいは、コントローラは、特殊目的ハードウェアの一部として実現可能である。
　有利なことに、コントローラは、音声タイプに応じて命令を方向付けるよう配置されている。このため、事前定義した１組の音声が汎用コンピュータ部分によって処理されるようにオーディオ・シンセサイザを配置することができ、したがって、使用する特定の合成方法に最も適しているかどうかに応じて特定の楽器に関する命令をソフトウェアまたはハードウェア・シンセサイザのいずれかに方向付けることによって音質を改善することができる。
　オーディオ・シンセサイザは、ハードウェア部分への制御命令の方向付けを遅延させるための遅延手段を含むことができ、その結果、ハードウェア部分によって生成されるオーディオ・サンプルは汎用コンピュータによって生成されるオーディオ・サンプルと同期化される。
　特に好ましい一実施例では、メインＣＰＵ上での合成は、ＦＭ合成のみをサポートする比較的安価なサウンド・カードを使用しながら、波形テーブル合成を使用して行うことができる。この場合、生成した音楽の品質と全体的なパフォーマンスはどちらも大幅に改善される。
　好ましいことに、このシンセサイザは、オーディオ・サンプルを受け取るための入力と、コード化制御命令に応答して生成されたオーディオ・サンプルと前記入力で受け取ったオーディオ・サンプルとをミキシングするための手段とを含む。このため、他のソースから波形メッセージを受け取り、それをシンセサイザによって生成された波形データとミキシングすることができる。
　一実施態様のオーディオ・シンセサイザは、アドオン・サウンド・カードを備えたパーソナル・コンピュータの形式を取ることができるが、当然のことながら、多くの他の構成も可能である。
　第２の態様から本発明を考慮すると、音楽事象を表すコード化制御命令に応答してアナログまたはディジタル・オーディオ出力を生成するためにオーディオ・シンセサイザを操作する方法が提供される。このシンセサイザは、制御命令を受け取ってオーディオ・サンプルを生成するようプログラミングされたＣＰＵを有する汎用コンピュータ部分と、制御命令を受け取ってオーディオ・サンプルを生成するための特殊目的ハードウェア部分とを含み、この方法は、汎用コンピュータ部分がオーディオ・サンプルを生成するようにまたはハードウェア部分がオーディオ・サンプルを生成するように制御命令を方向付け、その結果、汎用コンピュータ部分とハードウェア部分によって生成されたオーディオ・サンプルを合成し、制御命令に応じたオーディオ出力を形成できるようにすることを含む。
　適当なことに、ハードウェア部分への制御命令の方向付けを遅延させることによって制御命令に応じるようにオーディオ・サンプルを合成することができ、その結果、ハードウェア部分によって生成されるオーディオ・サンプルは汎用コンピュータによって生成されるオーディオ・サンプルと同期化されるようにすることができる。
　好ましい実施例では、この方法は、ＮＯＴＥ　ＯＮ命令を受け取ることと、そのＮＯＴＥ　ＯＮ命令が汎用コンピュータ部分によって処理すべき事前定義した１組の音声用であるかどうかを判定し、そのような音声用ではない場合にハードウェア部分が対応するオーディオ・サンプルを生成するようにＮＯＴＥ　ＯＮ命令を方向付けることと、ＣＰＵの負荷を測定し、ＣＰＵの負荷が事前定義したしきい値を超える場合にハードウェア部分が対応するオーディオ・サンプルを生成するようにＮＯＴＥ　ＯＮ命令を方向付けることと、そのようなしきい値を超えない場合に汎用コンピュータ部分がオーディオ・サンプルを生成するようにＮＯＴＥ　ＯＮ命令を方向付けることを含む。
　この実施例の方法は、ＮＯＴＥ　ＯＦＦ命令を受け取ることと、そのＮＯＴＥ　ＯＦＦ命令が汎用コンピュータ部分によって処理中の音符に関連するかどうかを判定し、そのような音符に関連しない場合にＮＯＴＥ　ＯＦＦ命令をハードウェア部分に方向付けることと、そのような音符に関連する場合にＮＯＴＥ　ＯＦＦ命令を汎用コンピュータ部分に方向付けることをさらに含む。
　本発明は、コンピュータに上記の方法を実行させるためにプログラム・コードが実施されるコンピュータ使用可能媒体を含む製造品の形式で実現することができる。
図面の簡単な説明
　添付図面に関連して例としてのみ本発明の実施例について以下に説明する。
　第１図は、パーソナル・コンピュータを示す概略図である。
　第２図は、サウンド・カードの簡易概略機能ブロック図である。
　第３図は、オーディオ・シンセサイザのソフトウェア構造を示す概略図である。
　第４図は、ソフトウェア・シンセサイザの合成ループを示す流れ図である。
　第５図は、ＮＯＴＥ　ＯＮというＭＩＤＩメッセージを受け取ったときのプロセスを示す流れ図である。
　第６図は、ＮＯＴＥ　ＯＦＦというＭＩＤＩメッセージを受け取ったときのプロセスを示す流れ図である。
本発明を実施するための最適態様
　第１図は、オーディオ・シンセサイザとして機能するよう配置されたパーソナル・コンピュータを示す概略図である。このコンピュータは、ディスプレイ装置１００と関連のディスプレイ・アダプタ１１０、キーボードとマウスが接続される入出カインタフェース１２０などの従来の構成要素を含む。また、このコンピュータは、ＣＰＵ１３０と、ＲＡＭ１４０と、磁気記憶装置１５０も含む。このような構成要素は、従来通りバス１６０を介して相互通信するよう配置されている。
　また、このコンピュータは、ディジタル信号プロセッサを使用することによってＭＩＤＩシンセサイザを実現可能なオーディオ・アダプタ１６０も含む。オーディオ・アダプタ１８０は、１７０に示す１つまたは複数のスピーカが接続された状態で示されている。
　第１図に示すシステムは、ＩＢＭから入手可能なＩＢＭ　ＰＳ／２コンピュータと、Ｃｒｅａｔｉｖｅ　Ｌａｂｓ社から入手可能なＳｏｕｎｄＢｌａｓｔｅｒ　１６　Ｖａｌｕｅ　Ｅｄｉｔｉｏｎカードとを使用することによって実現することができる（ＩＢＭおよびＰＳ／２はＩＢＭの商標であり、ＳｏｕｎｄＢｌａｓｔｅｒはＣｒｅａｔｉｖｅ　Ｔｅｃｈｎｏｌｏｇｙ社の商標である）。
　第２図は、アダプタの関連部分の簡易機能ブロック図を示している。これは、バス・インタフェース論理回路２００と、ＦＭシンセサイザ２１０と、ディジタル／アナログ変換器２３０と、オーディオ増幅器およびミキサ２４０とを含む。当然のことながら、他の実施例では、シンセサイザ２１０が、波形テーブルまたは導波管シンセサイザなど、他のいかなる種類のシンセサイザであってもよい。このカードは２５０に示すオーディオ出力を有するが、オーディオ・サンプルは外部Ｄ／Ａ変換器を介してディジタル録音または処理用のディジタル形式で同等に出力することができる。このようなカードの構造および一般的な動作は当業者には周知のものなので、ここでは詳細に説明しない。このカードは、コンピュータから送られるＭＩＤＩ事象と波形サンプルの両方を同時に受け入れて合成することができる。
　ＭＩＤＩデータは、１つのＭＩＤＩコマンドまたは事象を含むＭＩＤＩ「メッセージ」に構成されたシリアル・データ・ストリームとしてやりとりされる。ＭＩＤＩコマンドは、通常、次々に配置され伝送される１バイト、２バイト、または３バイトのデータから構成される。各コマンドで送られる第１のバイトは、「状況」バイトと呼ばれ、実行すべき動作を指定する。次の１バイトまたは２バイトを使用する場合、このようなバイトはこのコマンドのパラメータを表す。たとえば、ＮＯＴＥ　ＯＮコマンドは３バイトを含み、そのうちの第１のバイトは状況バイトである。このバイトは、音符を演奏するようシンセサイザに指示し、チャネル番号を指定する。チャネル番号は、通常、演奏すべきサウンドのタイプ、すなわち、シンセサイザのどの楽器を使用すべきかを表す。第２のバイトは演奏すべき音符を指定し、第３のバイトはその音符の速度値を指定する。ＭＩＤＩコマンドの全バイトはＭＩＤＩ規格で指定される。
　従来のＭＩＤＩ再生システムでは、以下のようにＭＩＤＩシーケンサによってＭＩＤＩシンセサイザを制御することができる。標準ＭＩＤＩファイル（ＳＭＦ）は、特定の時点にシンセサイザによって実行する予定の１組の事象を含む。一般にこのような事象の時間間隔は均一ではない。従来のＭＩＤＩシーケンサは、標準ＭＩＤＩファイルを解析し、現在のＭＩＤＩ事象を読み取り、それと次の事象との時間差を読み取る。次にシーケンサは、それを実行すべきときにその事象をＭＩＤＩメッセージに入れてＭＩＤＩシンセサイザに送る。通常、シーケンサは、タイマを設定し、この時間差が経過した後で次のＭＩＤＩ事象を読み取る。
　従来のＭＩＤＩシンセサイザは、シーケンサがメッセージを送ってデコードし、それに応じて動作するというＭＩＤＩメッセージを受け取る。たとえば、「ＮＯＴＥ　ＯＮ」事象によってシンセサイザは、パラメータとして供給される要求済み音符および速度に対応するオーディオ・サンプルを生成する。同様に、「ＮＯＴＥ　ＯＦＦ」事象によってシンセサイザは、オーディオ・サンプルの生成を停止する。
　このシステムでは、ソフトウェアＭＩＤＩシンセサイザは動的リンク・ライブラリ（ＤＬＬ）として実現される。このＤＬＬは、音符の一部をソフトウェアで処理し、パフォーマンスおよび品質基準に応じて残りの音符をサウンド・カードに伝播する。
　本実施態様のソフトウェア構成要素の概略図を第３図に示す。このシステムは、ＭＩＤＩシーケンサ・アプリケーション層３００と、オペレーティング・システム層３１０と、３２０に示すＤＬＬ層と、サウンド・カード層３３０とを含む。
　ＤＬＬ層３２０は、コントローラ３３５と、高レベル・ブロック３４０と、低レベル・ブロック３５０という３つのメイン・ブロックを含む。サウンド・カード層３３０は、サウンド・カード・デバイス・ドライバ３６０と、３７０に示されているサウンド・カードのハードウェア資源とを含む。第３図には、出力バッファ３８０も示されている。
　ＤＬＬ層３２０は、ＭＩＤＩシーケンサによって送られるＭＩＤＩメッセージによってトリガされる。このようなメッセージは、アプリケーション３００から直接送るかまたはオペレーティング・システム・サービスを介して送ることができる。
　コントローラ３３５はＭＩＤＩ論理管理を担当する。言い換えると、このブロックは、どの音符をサウンド・カードに伝播すべきで、どれをソフトウェア合成によって完全に処理すべきかを決定する。サウンド・カードで処理すべき音符に関するＮＯＴＥ　ＯＮメッセージとＮＯＴＥ　ＯＦＦメッセージは、同期を維持するための適当な遅延の後で、線３４５を介してサウンド・カードに直接送られる。他のメッセージは、以下に詳述するように、サウンド・カードとソフトウェア・シンセサイザの両方に送られる。
　ソフトウェアによって処理する音符と、サウンド・カードに伝播する音符に関する決定では、以下の考慮事項を考慮に入れる。
１．ソフトウェアＤＬＬが波形テーブル合成をサポートし、サウンド・カードがＦＭ合成のみをサポートするような特殊な場合、ヴァイオリン、アコースティック・ピアノ、クラリネットなどのアコースティック楽器など、ＦＭ合成によって写実的に合成できない楽器をソフトウェアで処理し、電子ピアノ、電子シンセサイザ効果など、ＦＭ合成によって損傷しない楽器に関連する音符をサウンド・カードに伝播すると有利である。
２．追加の音符をソフトウェアで処理するにはＣＰＵパワーが不十分な場合、受け取った追加のＮＯＴＥ　ＯＮメッセージをサウンド・カードに伝播しなければならない。これに対して、ＣＰＵが比較的遊んでいる場合、ＣＰＵは合成プロセスに関与し、その結果、全体的なパフォーマンスを改善することができる。過負荷の場合、コントローラ３３５は、追加のＮＯＴＥ　ＯＮメッセージをサウンド・カードに方向付けることにより、ソフト音声の数、すなわち、ソフトウェアによって現在合成中の音符の数を、ゼロという限界まで動的に低減するよう配置されている。
３．サウンド・カード上の空きスロットの数。各空きスロットは１つの音符を演奏することができる。サウンド・カードがサポートするスロットの数は、サウンド・カードが同時に演奏できる音符の最大数を表す。
　高レベル・ブロック３４０は、ソフトウェアで処理すべきメッセージを受け取り、シンセサイザが使用する様々な内部テーブルを更新する。これは、本発明に直接関連しない音声割振りの管理など、ＭＩＤＩシンセサイザの従来の諸機能を処理するので、当業者には十分理解されるだろう。
　低レベル・ブロック３５０は、定期的にトリガされ、集中的な計算を必要とする合成エンジンを含む。このブロックは、コントローラ３３５によってサウンド・カードに伝播されない音符の合成を担当する。低レベル・ブロックの一般的な動作については第４図に示す。このループは、一般に、１ｍＳ〜５ｍＳの周期でトリガされる。ループがトリガされるたびに、これはステップ４００で各音声についてどの種類の音符を生成すべきかをチェックし、波形テーブル・データベースを調べて適切な波形を見つける。正しいピッチに必要であれば、各活動音声用の波形を伝送し、適当なサンプリング速度、たとえば、毎秒４４１００サンプルの速度で出力サンプルを生成するよう（ステップ４１０）波形を合成し、サウンド・カード層３３０内のデバイス・ドライバ３６０によって取り出すためにバッファ３８０に入れる。
　合成アルゴリズムは計算上、非常に集中的なものなので、ＣＰＵの使用状況を監視するために使用することができる。このようなＣＰＵの使用状況の測定は、音符をサウンド・カードに伝播すべきかどうかを決定できるようにするためにコントローラ３３５が使用可能である。
　合成プロセスによってＣＰＵの使用状況を監視するための方法はいくつかある。たとえば、低レベル・ブロック３４０をトリガするたびに時間測定値を取ることができる。現行時間と前の反復時に測定された時間との差が要求された周期より一貫して大きい場合、ＣＰＵが過負荷になっていると想定することができる。
　あるいは、各反復の合成プロセスの開始時と終了時に時間測定値を取ることができる。このような２つの測定値の差は、現行数のソフト音声に使用するＣＰＵ時間になるように概算される。次に、ＣＰＵの使用状況の割合（パーセント）は、測定した合成時間と、低レベル・ブロック３５０のトリガ周期として使用する時間間隔との割合として計算される。
　コントローラ３３５は、ＮＯＴＥ　ＯＮメッセージとＮＯＴＥ　ＯＦＦメッセージは別として、すべてのＭＩＤＩメッセージをサウンド・カードと高レベル・ブロック３４０の両方に方向付ける。ＮＯＴＥ　ＯＮメッセージとＮＯＴＥ　ＯＦＦメッセージの場合は、第５図と第６図にそれぞれ示すプロセスが実行される。
　ＮＯＴＥ　ＯＮコマンドの場合は、その音符が関連する楽器がその特徴のために演繹的にソフトウェアで処理すべきものであるかどうかがステップ５００で判定される。そのように処理すべきものである場合、ステップ５１０でＣＰＵの負荷判定が行われ、ＣＰＵの負荷が一定の限界より小さい場合、ＮＯＴＥ　ＯＮメッセージが高レベル・ブロック３４０に方向付けられ、その音符がソフトウェアで処理される（ステップ５２０）。ＣＰＵの負荷が５０％より大きいかまたはその音符が関連する楽器をサウンド・カードが適当に処理できる場合、ＮＯＴＥ　ＯＮコマンドがサウンド・カードに方向付けられる（ステップ５３０）。
　ＮＯＴＥ　ＯＦＦコマンドを受け取ると、関連音声が現在ソフトウェアで処理中であるかどうかが第６図のステップ６００で判定される。この情報は、高レベル・ブロック３４０によって管理されるテーブルから得られる。その音符がソフトウェアで処理中である場合、ＮＯＴＥ　ＯＦＦメッセージが高レベル・ブロック３４０に方向付けられ（ステップ６１０）、処理中ではない場合、ＮＯＴＥ　ＯＦＦメッセージがサウンド・カードに方向付けられる（ステップ６２０）。
　ソフトウェアで生成されたサンプルとハードウェアで生成されたサンプルとの同期を維持するために、サウンド・カードで処理すべきＭＩＤＩ事象の伝播を遅延させる必要性があることが分かるだろう。これは、一定であるがプロセッサまたはサウンド・カードに依存する遅延であり、現在の構成では、ユーザに提示される適当なメニューを介してユーザが手動で設定することができる。正しい遅延の決定は、経験的にユーザが容易に確立することができる。
　本実施態様は、マイクロソフト社の周知のＷｉｎｄｏｗｓオペレーティング・システムの下で機能するように作成されたものである（Ｗｉｎｄｏｗｓはマイクロソフト社の商標である）。このシステムの一般的な動作は以下の通りである。まず、ユーザは、ＭＩＤＩシンセサイザを必要とする、シーケンサなどのＷｉｎｄｏｗｓアプリケーションを呼び出す。アプリケーションは、ＭＭＳＹＳＴＥＭドライバの介入により、ＭＩＤＩマッパ・プログラムを介してＭＩＤＩシンセサイザＤＬＬをオープンする。
　ソフトウェアＭＩＤＩシンセサイザＤＬＬはサウンド・カードを２回オープンする。１回はＭＩＤＩメッセージの伝播先になるＭＩＤＩデバイスとして、もう１回はソフトウェアＭＩＤＩシンセサイザによって生成された波形サンプルの送り先になるＷＡＶＥデバイスとしてオープンする。
　ソフトウェア・シンセサイザはサウンド・カードのＷＡＶＥ入力をロックするので、それ自体には、他のソースからＷＡＶＥメッセージを受け取り、このメッセージとそれが生成した波形データとのミキシングを処理するために、ＷＡＶＥ入力が設けられている。ＦＭ合成を使用して音質が容認される楽器用のＭＩＤＩメッセージは、サウンド・カードに伝播され、ハードウェアで処理される。
　ソフトウェアＭＩＤＩシンセサイザは、使用可能なＣＰＵパワーの５０％などの一定の限界まで波形テーブル合成を必要とする楽器用のＭＩＤＩメッセージを処理する。過負荷の場合、ソフトウェア・シンセサイザは、ソフト音声の数、すなわち、ソフトウェアによって現在合成中の音符の数をゼロという限界まで動的に低減する。上記のように、これは、追加のＮＯＴＥ　ＯＮメッセージをサウンド・カードに方向付けることによって達成される。
　上記の説明から明らかになるように、本実施態様は、コンピュータ・プログラムの形式を取り、コンピュータに上記のコントローラ３３５の機能を実行させるために適当なプログラム・コードが実施されるコンピュータ使用可能媒体を含む製造品の形式で配布することができる。このプログラムは、ソフトウェア・シンセサイザの高レベル・ブロック３４０と低レベル・ブロック３５０を含むことができるか、あるいは既存のソフトウェア・シンセサイザで使用するために実現可能である。
　しかし、請求の範囲に記載した範囲内で多くの変形態様が可能であることが分かるだろう。たとえば、コントローラは、サウンド・カードそのものに実現するかハードウェアまたはソフトウェアで実現し、外部ソースからＭＩＤＩメッセージを受け取るように配置して、サウンド・カード自体が一部の音符を処理し、一部の音符をＰＣバスを介してソフトウェア・シンセサイザに方向付けるようにすることができる。
産業上の応用可能性
　本発明は、コンピュータおよびディジタル・オーディオ・システムという技術分野で応用可能である。