【事件の表示】
　特許第３２９０９３８号「音データ処理装置」の請求項１ないし８に係る特許に対する特許異議の申立てについて，次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３２９０９３８号の請求項１ないし８に係る特許を維持する。
【理　由】
第１　手続の経緯
　特許第３２９０９３８号の請求項１ないし８に係る出願は，平成９年１１月１２日に出願され，平成１４年３月２２日にその発明について設定登録がなされ，その後，その特許について，異議申立人戸水三鈴から特許異議の申立てがなされ，取消理由通知の指定期間内である平成１５年９月１７日に訂正請求がなされたものである。
　
第２　訂正の適否
　１　訂正の概要
　平成１５年９月１７日付け訂正請求によって特許権者が求めている訂正の内容は以下のとおりである。
　(１)　特許請求の範囲の請求項１を「コンピュータと，コンピュータに接続され，コンピュータからの出力データをアナログ音信号に変換するアナログ音信号生成器とを備え，音波形の振幅値をデジタル化したサンプル化データおよび音の特性をコード化したコード化データの双方を合成してアナログ音信号として出力する音データ処理装置において，前記コンピュータは，下記プログラム(a)〜(d)にしたがって処理を行うこと
により，サンプル化データおよびコード化データをそれぞれ独立して変換した後，加算するようにしたこと
　(a)アプリケーションプログラムからのサンプル化データを，直接又は間接に受けて，前記コンピュータに接続された
前記
　(b)アプリケーションプログラムからコード化データを受けて，当該コード化データを解釈して，サンプル化データに変換する音源プログラム，
　(c)音源プログラムからのサンプル化データを受けて，前記コンピュータに接続された
前記
　(d)第１の仮想デバイスドライバ・プログラムの出力データと第２の仮想デバイスドライバ・プログラムの出力データを合成して前記コンピュータに接続された
前記
　
　(２)　特許請求の範囲の請求項２を「コンピュータと，コンピュータに接続され，コンピュータからの出力データをアナログ音信号に変換するアナログ音信号生成器とを備え，音波形の振幅値をデジタル化したサンプル化データおよび音の特性をコード化したコード化データの双方を合成してアナログ音信号として出力する音データ処理装置において，前記コンピュータは，下記プログラム(a)〜(c)にしたがって処理を行
うことにより，サンプル化データおよびコード化データをそれぞれ独立して変換し，
　(a)アプリケーションプログラムからのサンプル化データを，直接又は間接に受けて，前記コンピュータに接続された
前記
　(b)アプリケーションプログラムからコード化データを受けて，当該コード化データを解釈して，サンプル化データに変換する音源プログラム，
　(c)音源プログラムからのサンプル化データを受けて，前記コンピュータに接続された
前記
　前記アナログ音信号生成器は，第１および第２の仮想デバイスドライバ・プログラムからのデータを合成して，アナログ音信号に変換するものであることを特徴とする音データ処理装置。」と訂正する。
　
　(３)　特許請求の範囲の請求項６を「
音波形の振幅値をデジタル化したサンプル化データおよび
の双方
　
前記コンピュータは，第１のサンプル化データを，前記アナログ音信号生成器に与えることの可能なデータに変換する第１の仮想デバイスドライバ・プログラムに渡し，
第２の
第２の
前記アナログ音信号生成器に与えることの可能なデータに変換する第２の
前記第１および第２の仮想デバイスドライバ・プログラムからのデータを前記アナログ音生成器に与えることを特徴とする音データ処理方法。
　
(４)　特許請求の範囲の請求項７を「コンピュータに処理を行わせる
ことにより，サンプル化データおよびコード化データをそれぞれ独立して変換する
　(a)アプリケーションプログラムからのサンプル化データを，直接又は間接に受けて，前記コンピュータに接続されたアナログ音信号生成器に与えることの可能なデータに変換する第１の仮想デバイスドライバ・プログラム，
　(b)アプリケーションプログラムからコード化データを受けて，当該コード化データを解釈して，サンプル化データに変換する音源プログラム，
　(c)音源プログラムからのサンプル化データを受けて，前記コンピュータに接続された
前記
　
　(５)　特許請求の範囲の請求項８を「請求項７の記録媒体において，さらに，コンピュータに処理を行わせるためのプログラム(d)を記録したもの：
　(d)第１の仮想デバイスドライバ・プログラムの出力データと第２の仮想デバイスドライバ・プログラムの出力データを合成して前記コンピュータに接続された
前記
　
　(６)　上記(１)ないし(５)の訂正に伴い，明細書の該当する次の段落番号の箇所を全文訂正明細書に記載されたとおり訂正する。
　段落番号【００１５】，【００１６】，【００２０】，【００２１】及び【００２２】
　
　(７)　図面の内，１図，６図，８図及び１２図を全文訂正明細書に添付された図面のとおり訂正する。
　
２　訂正の目的，新規事項の有無等の判断
　上記１(１)ないし(５)の特許請求の範囲の訂正は，特許請求の範囲の減縮を目的とするものである。
　上記１(６)の明細書の訂正は，特許請求の範囲の記載と発明の詳細な説明の記載との整合をとるためであり，明瞭でない記載の釈明を目的とするものである。
　また，上記１(７)の訂正は，誤記の訂正を目的とするものである。
　そして，当該訂正は，願書に添付した明細書又は図面に記載した事項の範囲内の訂正であり，実質上特許請求の範囲を拡張し又は変更するものでもない。
　
３　むすび
　以上のとおりであるから，上記訂正は，特許法１２０条の４第２項の目的に該当し，同第３項において準用する特許法第１２６条第２項及び第３項の規定に適合するので，当該訂正を認める。
　
第３　特許異議の申し立てについて
１　申立の理由の概要
　特許異議申立人戸水三鈴は，証拠として甲第１号証（特開平９−１４６５５６号公報）を提出し，請求項１及び６に係る発明は，特許法２９条１項の規定に違反してなされたものであり，また，請求項１ないし５，７，８に係る発明は特許法２９条２項の規定に違反してなされたものであるから，特許を取り消すべき旨主張している。
　
２　 本件発明
　上記第２に記載したとおり，平成１５年９月１７日付け訂正請求書による訂正請求は認められるところとなったので，本件特許は，同訂正請求書に添付した訂正明細書の特許請求の範囲の請求項１ないし８に記載された事項により特定されるとおりのものである。
　
３　引用刊行物記載の発明
　当審が通知した取消の理由に引用された刊行物（甲第１号証）には，次の事項が記載されている。
　ア【００１７】１はアプリケーションプログラムや楽音波形サンプルの生成等の各種演算処理を行うマイクロプロセッサなどの中央処理装置（ＣＰＵ）
　イ【００２３】トーンジェネレータタスク２０は，その詳細は後述するが，音源ＭＩＤＩドライバ１６により生成され，該音源ＭＩＤＩドライバ１６から供給される楽音制御パラメータＴＧparamsに基づいて最大３２チャンネル分の波形テーブル合成機能とリバーブなどの音色制御処理機能とを提供するものである。さらに，ウェーブタスク２１およびミキサタスク２２はＷＡＶＥ入出力ドライバ１７によりオープンされるウェーブ入出力デバイスに対応して生成されるタスクである。
【００２４】さらに，２６は波形データを入出力するためのＡ／Ｄ変換器およびＤ／Ａ変換器を有するコーデック回路
　ウ【００２８】音源ＭＩＤＩドライバ１６は，ＭＩＤＩシーケンサソフトウエア１２などから，インターフェース１５を介してＭＩＤＩ信号の入力イベントがあったときに起動される。起動されると，音源ＭＩＤＩドライバ１６は，入力されたＭＩＤＩ信号に応じて，ノートオン，ノートオフ，プログラムチェンジ，コントロールチェンジ，システムエクスクルーシブなどの処理を行う。ノートオンイベントの場合は，新規な発音を音源であるトーンジェネレータタスク２０の発音チャンネルに割り当て，該割り当てたチャンネルに設定するための楽音制御パラメータとノートオンを用意する。用意される楽音制御パラメータは，ＭＩＤＩチャンネルごとに選択されている音色の音色パラメータをノートオンイベントに付随するノートナンバ，演奏タッチに応じて加工処理したパラメータである。なお，この用意された楽音制御パラメータはトーンジェネレータタスク２０の起動時にトーンジェネレータタスク２０の音源レジスタに転送される。
　エ【００２９】トーンジェネレータタスク２０は，最大３２ｃｈの波形テーブル合成機能と，モノラル入力ステレオ出力のリバーブ機能を有しており，コーデックドライバ２４とコーデック回路２６とからなる出力デバイスからの波形データ要求に応じて，１フレーム時間ごとに起動される。このトーンジェネレータタスク２０は，外部オーディオ入力を受け付け，自ら生成する波形テーブル合成データと該外部オーディオ入力とに対してリバーブ処理を行い，処理結果であるオーディオ波形を出力デバイスに出力する。
　オ【００３０】なお，データ変換部５５に入力されるステレオオーディオ入力信号は，コーデック２６からの入力あるいは波形再生ソフトウエア１４からＷＡＶＥ入出力ドライバ１７を介しての入力のいずれであってもよい。
　カ【００３３】各加算部５６，５７および６２には，それぞれ，データ変換部５５から外部ステレオオーディオ入力信号の左チャンネル信号Ｌ，右チャンネル信号Ｒおよび和の信号Ｌ＋Ｒも供給されており，生成された全発音チャンネルの波形データの和と外部オーディオ入力信号とのミキシングが行われる。
　キ【００３４】加算器５６および５７の出力は，それぞれ，DryLバッファ６０およびDryRバッファ６１に格納され，また，加算器６２の出力はリバーブ用バッファRev ６３に格納される。バッファRev ６３に格納されたＬ＋Ｒデータはリバーブ処理４３に入力されてリバーブ演算が行われ，生成されたリバーブ出力データ（反響音データ）は，ＬとＲ独立にゲイン調整された後，DryLバッファ６０およびDryRバッファ６１に格納されているデータにそれぞれ加算され，さらにデータ変換部６５において整数形式に変換された後，バッファ６６および６７を介してオーディオ出力データとしてコーデック２６のＤ／Ａ変換器に出力されることとなる。
　
４　対比・判断
　(１)　請求項１に係る発明について
　上記甲第１号証の発明と請求項１に係る発明とを対比すると，トーンジェネレータタスク２０が第１の仮想デバイスドライバに対応し，同じくトーンジェネレータタスク２０が第２の仮想デバイスドライバに対応する。
　しかし，第１の仮想デバイスドライバとは別個に第２の仮想デバイスドライバを設けた点，すなわち，トーンジェネレータタスク２０を２個設けることについては，開示されていない。
　請求項１に係る発明のその他の構成は甲第１号証に開示されているが，第１と第２の仮想デバイスドライバを別個に設けることは開示されておらず，かつ示唆する記載もない。
　そして，この構成により，ソフトウエアによる音源を用いて音源の音表現の柔軟性を持たせるとともに，処理速度の高速な音データ処理装置を提供できる，という効果を奏することからも，１個のトーンジェネレータタスク２０の構成から，当業者が容易に推考できたとすることはできないし，まして同一とすることもできない。
　
　(２)　請求項２に係る発明について
　請求項２に係る発明は，請求項１に係る発明と同様に，第１の仮想デバイスドライバとは別個に第２の仮想デバイスドライバを設けた点，すなわち，トーンジェネレータタスク２０を２個設けることについては，開示されていない。
　したがって，上記請求項１に係る発明についての判断と同様の理由により，甲第１号証に記載の発明から当業者が容易に推考しえたものではない。
　
　(３) 請求３ないし５に係る発明について　
　請求項３ないし５に係る発明は，請求項２に係る発明を更に限定したものであるから，上記請求項２に係る発明についての判断と同様の理由により，甲第１号証に記載の発明から当業者が容易に推考しえたものではない
　
　(４)　　請求項６ないし８に係る発明について
　請求項６及び７に係る発明は，請求項１及び２に係る発明を方法のカテゴリー及び媒体で表現したものであり，発明としての実質的な相違はなく，前記請求項１，２について示したと同様の理由により，請求項６及び７に係る発明は，甲第１号証に記載の発明から当業者が容易に推考しえたものではない。まして，請求項６に係る発明を甲第１号証記載の発明と同一とすることはできない。
　また，請求項８に係る発明は，請求項７に係る発明を更に限定したものであるから，請求項７に係る発明についての判断と同様の理由により，甲第１号証に記載の発明から当業者が容易に推考しえたものではない
　
第４　むすび
　以上のとおりであるから，特許異議申立の理由及び証拠によっては，請求項１ないし８に係る発明の特許を取り消すことはできない。
　また，他に本件発明についての特許を取り消すべき理由を発見しない。
　よって結論のとおり決定する。
【異議決定日】
平成１５年１０月１７日（２００３．１０．１７）
【訂正の要旨】
審決（決定）の【理由】欄参照。
（５４）【発明の名称】
音データ処理装置
（５７）【特許請求の範囲】
　【請求項１】
　コンピュータと、
　コンピュータに接続され、コンピュータからの出力データをアナログ音信号に変換するアナログ音信号生成器とを備え、
　音波形の振幅値をデジタル化したサンプル化データおよび音の特性をコード化したコード化データの双方を合成してアナログ音信号として出力する音データ処理装置において、
　前記コンピュータは、下記プログラム（ａ）〜（ｄ）にしたがって処理を行うこと
により、サンプル化データおよびコード化データをそれぞれ独立して変換した後、加算するようにしたこと
　（ａ）アプリケーションプログラムからのサンプル化データを、直接又は間接に受けて、前記コンピュータに接続された
前記
　（ｂ）アプリケーションプログラムからコード化データを受けて、当該コード化データを解釈して、サンプル化データに変換する音源プログラム、
　（ｃ）音源プログラムからのサンプル化データを受けて、前記コンピュータに接続された
前記
　（ｄ）第１の仮想デバイスドライバ・プログラムの出力データと第２の仮想デバイスドライバ・プログラムの出力データを合成して前記コンピュータに接続された
前記
　【請求項２】
　コンピュータと、
　コンピュータに接続され、コンピュータからの出力データをアナログ音信号に変換するアナログ音信号生成器とを備え、
　音波形の振幅値をデジタル化したサンプル化データおよび音の特性をコード化したコード化データの双方を合成してアナログ音信号として出力する音データ処理装置において、
　前記コンピュータは、下記プログラム（ａ）〜（ｃ）にしたがって処理を行
うことにより、サンプル化データおよびコード化データをそれぞれ独立して変換し、
　（ａ）アプリケーションプログラムからのサンプル化データを、直接又は間接に受けて、前記コンピュータに接続された
前記
　（ｂ）アプリケーションプログラムからコード化データを受けて、当該コード化データを解釈して、サンプル化データに変換する音源プログラム、
　（ｃ）音源プログラムからのサンプル化データを受けて、前記コンピュータに接続された
前記
　前記アナログ音信号生成器は、第１および第２の仮想デバイスドライバ・プログラムからのデータを合成して、アナログ音信号に変換するものであることを特徴とする音データ処理装置。
　【請求項３】
　請求項２の音データ処理装置において、
　第１の仮想デバイスドライバ・プログラムからの出力データを前記アナログ音信号生成器に出力するための第１の転送処理、
　第２の仮想デバイスドライバ・プログラムからの出力データを前記アナログ音信号生成器に出力するための第２の転送処理、
　を行うことを特徴とするもの。
　【請求項４】
　請求項３の音データ処理装置において、
　転送路をビットによって２つに分割し、一方を第１の転送処理用とし、他方を第２の転送処理用としたことを特徴とするもの。
　【請求項５】
　請求項３の音データ処理装置において、
　転送路を時分割によって２つに分割し、一方を第１の転送処理用とし、他方を第２の転送処理用としたことを特徴とするもの。
　【請求項６】
　
音波形の振幅値をデジタル化したサンプル化データおよび
の双方
　前記コンピュータは、第１のサンプル化データを、前記アナログ音信号生成器に与えることの可能なデータに変換する第１の仮想デバイスドライバ・プログラムに渡し、
　前記コンピュータは、コード化データを解釈して、音波形の振幅値をデジタル化した
第２の
第２の
前記アナログ音信号生成器に与えることの可能なデータに変換する第２の
　前記第１および第２の仮想デバイスドライバ・プログラムからのデータを前記アナログ音生成器に与えることを特徴とする音データ処理方法。
　【請求項７】
　コンピュータに処理を行わせる
ことにより、サンプル化データおよびコード化データををそれぞれ独立して変換する
　（ａ）アプリケーションプログラムからのサンプル化データを、直接又は間接に受けて、前記コンピュータに接続されたアナログ音信号生成器に与えることの可能なデータに変換する第１の仮想デバイスドライバ・プログラム、
　（ｂ）アプリケーションプログラムからコード化データを受けて、当該コード化データを解釈して、サンプル化データに変換する音源プログラム、
　（ｃ）音源プログラムからのサンプル化データを受けて、前記コンピュータに接続された
前記
　【請求項８】
　請求項７の記録媒体において、
　さらに、コンピュータに処理を行わせるためのプログラム（ｄ）を記録したもの：
　（ｄ）第１の仮想デバイスドライバ・プログラムの出力データと第２の仮想デバイスドライバ・プログラムの出力データを合成して前記コンピュータに接続された
前記
【発明の詳細な説明】
　【０００１】
　【産業上の利用分野】
　この発明は音データ処理装置に関し、特にその処理の高速化とハードウエアの簡素化に関するものである。
　【０００２】
　【従来の技術】
　図１５に、従来の音データ処理装置の構成図を示す。この音データ処理装置は、オペレーティングシステム（たとえば、マイクロソフト社のＷｉｎｄｏｗｓ９５）を搭載したパーソナルコンピュータと、サウンドカードと呼ばれるハードウエアによって構成されている。
　【０００３】
　図１５において、ソフトウエアとして示されている部分は、パーソナルコンピュータ側であり、ハードウエアとして示されている部分は、パーソナルコンピュータのスロットに接続されたサウンドボード側である。
　【０００４】
　ＷＡＶＥアプリケーション２は、音波形の振幅値をデジタル化したデータを出力するアプリケーションである。ダイナミックリンクライブラリ４、６は、全てのアプリケーションプログラムから使用できるようにＷｉｎｄｏｗｓ９５に用意されたライブラリである。ダイナミックリンクライブラリ６の出力は、ＷＡＶＥドライバソフトウエア８を介して、仮想ドライバソフトウエア１０に与えられる。仮想ドライバソフトウエア１０は、これを、Ｄ／Ａ変換器１６が扱うことの可能なデータ形式に変換する。
　【０００５】
　仮想ドライバソフトウエア１０の出力は、ＤＭＡ転送により、インターフェイス１４を介して、Ｄ／Ａ変換器１６に与えられ、アナログ信号に変換される。このアナログ信号は、加算器１８に与えられる。
　【０００６】
　ＭＩＤＩアプリケーション２０は、ＭＩＤＩフォーマットによって音をコード化して表現したデータを出力するアプリケーションである。このＭＩＤＩデータは、ダイナミックリンクライブラリ４、６を介して、ＭＩＤＩドライバソフトウエア２６に与えられる。ＭＩＤＩドライバソフトウエア２６は、これを、仮想ドライバソフトウエア２８に渡す。仮想ドライバソフトウエア２８は、これを、ＭＩＤＩハードウエア音源３２が扱うことの可能なデータ形式に変換する。
　【０００７】
　仮想ドライバソフトウエア２８の出力は、通常のバス転送により、インターフェイス３０を介して、ＭＩＤＩハードウエア音源３２に与えられ、アナログ信号に変換される。このアナログ信号は、加算器１８に与えられる。
　【０００８】
　加算器１８には、ＷＡＶＥアプリケーション２からの音信号と、ＭＩＤＩアプリケーション２０からの音信号が与えられる。したがって、加算器１８からは、両音信号が加算された信号が出力される。
　【０００９】
　上記のように、この音データ処理装置は、ＷＡＶＥデータとＭＩＤＩデータの双方を扱うことができる。
　【００１０】
　また、図１６に示すように、ＭＩＤＩハードウエア音源３２を、ソフトウエアによって実現したものもある。この装置では、ＭＩＤＩドライバソフトウエア２６の出力を受けたシンセサイザ・ソフトウエア３４が、これをＷＡＶＥデータに変化してダイナミックリンクライブラリ６に与えている。ダイナミックリンクライブラリ６は、ＷＡＶＥアプリケーションソフトウエア２からのＷＡＶＥデータと、シンセサイザソフトウエア３４からのＷＡＶＥデータとを合成して、ＷＡＶＥドライバソフトウエア８に与える。
　【００１１】
　【発明が解決しようとする課題】上記のような音データ処理装置には、次のような問題点があった。
　【００１２】
　図１５に示す装置においては、ＭＩＤＩ音源をハードウエアによって構成しているので、音源の構成を柔軟に変更することができないという問題点があった。また、ハードウエア音源が必要であり、装置が高価になるという問題点もあった。
　【００１３】
　図１６に示す装置においては、コード化されているＭＩＤＩデータを、波形の振幅値をデジタル化したＷＡＶＥデータに変換している。これにより、ＷＡＶＥ用のハードウエア（Ｄ／Ａ変換器）を用いることができ、装置を安価に構成できるという利点がある。しかしながら、ドライバソフトウエアを経てきたＭＩＤＩデータから波形を得て、これをＷＡＶＥデータに変換し、さらに、このＷＡＶＥデータを、ドライバソフトウエア、仮想ドライバソフトウエアを経て、Ｄ／Ａ変換器に与えるようにしている。このため、ＭＩＤＩデータの処理に時間を要するという問題があった。さらに、ハードウエアに近い階層において得られたＷＡＶＥデータを、アプリケーションの階層に伝達する必要があり、ＣＰＵのモード切替等においても処理時間を要する一因となっていた。
　【００１４】
　そこで、この発明では、ソフトウエアによる音源を用いて音源の音表現の柔軟性を持たせつつ、処理速度の高速な音データ処理装置を提供することを目的とする。
　【００１５】
　【課題を解決するための手段】
　請求項１の音データ処理装置は、コンピュータが、下記プログラム（ａ）〜（ｄ）にしたがって処理を行うこと
により、サンプル化データおよびコード化データをそれぞれ独立して変換した後、加算するようにしたこと
　（ａ）アプリケーションプログラムからのサンプル化データを、直接又は間接に受けて、前記コンピュータに接続されたアナログ音信号生成器に与えることの可能なデータに変換する第１の仮想デバイスドライバ・プログラム、（ｂ）アプリケーションプログラムからコード化データを受けて、当該コード化データを解釈して、サンプル化データに変換する音源プログラム、（ｃ）音源プログラムからのサンプル化データを受けて、前記コンピュータに接続された
前記
前記
　【００１６】
　請求項２の音データ処理装置は、コンピュータが、下記プログラム（ａ）〜（ｃ）にしたがって処理を行
うことにより、サンプル化データおよびコード化データをそれぞれ独立して変換し、
　（ａ）アプリケーションプログラムからのサンプル化データを、直接又は間接に受けて、前記コンピュータに接続されたアナログ音信号生成器に与えることの可能なデータに変換する第１の仮想デバイスドライバ・プログラム、（ｂ）アプリケーションプログラムからコード化データを受けて、当該コード化データを解釈して、サンプル化データに変換する音源プログラム、（ｃ）音源プログラムからのサンプル化データを受けて、前記コンピュータに接続された
前記
前記
　【００１７】
　請求項３の音データ処理装置は、第１の仮想デバイスドライバ・プログラムからの出力データを前記アナログ音信号生成器に出力するための第１の転送処理と、第２の仮想デバイスドライバ・プログラムからの出力データを前記アナログ音信号生成器に出力するための第２の転送処理とを行うことを特徴としている。
　【００１８】
　請求項４の音データ処理装置は、転送路をビットによって２つに分割し、一方を第１の転送処理用とし、他方を第２の転送処理用としたことを特徴としている。
　【００１９】
　請求項５の音データ処理装置は、転送路を時分割によって２つに分割し、一方を第１の転送処理用とし、他方を第２の転送処理用としたことを特徴としている。
　【００２０】
　請求項６の音データ処理方法は、
コンピュータは、第１のサンプル化データを、前記アナログ音信号生成器に与えることの可能なデータに変換する第１の仮想デバイスドライバ・プログラムに渡し、前記コンピュータは、
第２の
第２の
前記アナログ音信号生成器に与えることの可能なデータに変換する第２の
前記第１および第２の仮想デバイスドライバ・プログラムからのデータを前記アナログ音生成器に与える
　【００２１】
　請求項７の記録媒体は、コンピュータに処理を行わせる
ことにより、サンプル化データおよびコード化データををそれぞれ独立して変換するための下記プログラム（ａ）〜（ｃ）を記録した記録媒体であることを特徴としている：
　（ａ）アプリケーションプログラムからのサンプル化データを、直接又は間接に受けて、前記コンピュータに接続されたアナログ音信号生成器に与えることの可能なデータに変換する
第１の仮想デバイスドライバ・プログラム
音源プログラム
前記
第２の仮想デバイスドライバ・プログラム
　【００２２】
　請求項８の記録媒体は、さらに、
コンピュータに処理を行わせるための下記プログラム（ｄ）を記録した記録媒体であることを特徴としている：
　（ｄ）第１の仮想デバイスドライバ・プログラムの出力データと第２の仮想デバイスドライバ・プログラムの出力データを合成して前記コンピュータに接続されたアナログ音信号生成器に出力する合成処理プログラム。
　【００２３】
　【発明の効果】
　請求項１、請求項２の音データ処理装置および請求項７、請求項８の記録媒体に記録されたプログラムは、コード化データを解釈してサンプル化データに変換し、当該サンプル化データを、サンプル化データを扱うアプリケーションプログラムに渡すことなく、仮想デバイスドライバ・プログラムに渡し、当該仮想デバイスドライバ・プログラムにより、サンプル化データをアナログ音生成器に与えることの可能なデータに変換するようにしたことを特徴としている。
　【００２４】
　したがって、音波形の振幅値をデジタル化したサンプル化データおよび音の特性をコード化したコード化データの双方を同じアナログ音信号生成器でアナログ音信号に変換できる。
　【００２５】
　さらに、解釈して得たサンプル化データを、サンプル化データを扱うアプリケーションプログラムに渡すことなく、仮想デバイスドライバ・プログラムに渡している。したがって、コード化データに対する処理が簡素化され、処理が迅速となる。
　【００２６】
　すなわち、ハードウエアの簡素化を図りつつ、ソフトウエアによる音源を用いて音源の音表現の柔軟性を持たせるとともに、処理速度の高速な音データ処理装置を提供することができる。
　【００２７】
　請求項３の音データ処理装置は、第１の仮想デバイスドライバ・プログラムからの出力データ用の第１の転送処理と、第２の仮想デバイスドライバ・プログラムからの出力データ用の第２の転送処理とを行うようにしている。したがって、それぞれのデータを高速にＤ／Ａ変換器に転送することができ、さらなる処理の高速化を図ることができる。
　【００２８】
　請求項４の音データ処理装置においては、転送路をビットによって２つに分割し、一方を第１の転送処理用とし、他方を第２の転送処理用としている。したがって、第１の転送と第２の転送を同時に行うことができ、高速転送を実現することができる。
　【００２９】
　請求項５の音データ処理装置においては、転送路を時分割によって２つに分割し、一方を第１の転送処理用とし、他方を第２の転送処理用としている。したがって、ＤＭＡ転送路を増設することなく、高速転送を実現することができる。
　【００３０】
　請求項６の音データ処理方法は、コード化データを解釈してサンプル化データに変換し、当該サンプル化データを、サンプル化データを扱うアプリケーションプログラムに渡すことなく、仮想デバイスドライバ・プログラムに渡し、当該仮想デバイスドライバ・プログラムにより、サンプル化データをアナログ音生成器に与えることの可能なデータに変換するようにしたことを特徴としている。
　【００３１】
　したがって、解釈して得たサンプル化データを、サンプル化データを扱うアプリケーションプログラムに渡すことなく、仮想デバイスドライバ・プログラムに渡している。したがって、コード化データに対する処理が簡素化され、処理が迅速となる。
　【００３２】
　【発明の実施の形態】
　図１に、この発明の一実施形態による音データ処理装置の構成を示す。ＷＡＶＥアプリケーションプログラム２は、ＷＡＶＥ波形データを出力するプログラムである。ここで、ＷＡＶＥ波形データは、音波形の振幅値をデジタル化したサンプル化データである。このＷＡＶＥ波形データは、オペレーティングシステムのダイナミックリンクライブラリ（図示せず）を介して、ドライバレイヤーのＷＡＶＥドライバプログラム８に与えられる。ＷＡＶＥドライバプログラム８は、ＷＡＶＥ波形データを、仮想デバイスドライバレイヤーの仮想デバイスドライバプログラム１０に渡す。
　【００３３】
　仮想デバイスドライバプログラム１０は、ＷＡＶＥ波形データを受けて、アナログ音信号発生器であるサウンドボードが処理可能なように、データ長やタイミング等を調整する。その出力データは、加算処理プログラム４０に与えられる。
　【００３４】
　ＭＩＤＩアプリケーションプログラム２０は、ＭＩＤＩデータを出力するプログラムである。ここで、ＭＩＤＩデータは、ＭＩＤＩ規格に従って、音の特性をコード化したコード化データである。このＭＩＤＩデータは、オペレーティングシステムのダイナミックリンクライブラリ（図示せず）を介して、ドライバレイヤーのＭＩＤＩドライバプログラム２６に与えられる。ＭＩＤＩドライバプログラム２６は、ＭＩＤＩデータを、仮想デバイスドライバレイヤーのシンセサイザプログラム３４に渡す。
　【００３５】
　音源プログラムであるシンセサイザプログラム３４は、ＭＩＤＩデータを解釈して、ＷＡＶＥ波形データに変換する。このＷＡＶＥ波形データは、仮想デバイスドライバプログラム４２に渡される。仮想デバイスドライバプログラム４２は、ＷＡＶＥ波形データを受けて、アナログ音信号発生器であるサウンドボードが処理可能なように、データ長やタイミング等を調整する。その出力データは、加算処理プログラム４０に与えられる。
　【００３６】
　合成処理プログラムである加算処理プログラム４０は、仮想デバイスプログラム１０および仮想デバイスプログラム４２からの出力データを加算する。加算されたデータは、ダイレクト・メモリ・アクセス（ＤＭＡ）転送処理によって、アナログ音信号生成器であるサウンドカードに与えられる。サウンドカードにおいては、加算されたデータは、インターフェイス１４を介して、Ｄ／Ａ変換器１６に与えられる。Ｄ／Ａ変換器１６は、これを、アナログ音信号に変換して出力する。
　【００３７】
　図２に、この装置のハードウエア構成を示す。ＣＰＵ５０には、メモリ５２、ハードディスク５４、ＣＤ−ＲＯＭドライブ５６、キーボードおよびマウス６０、ＩＳＡバス６２が接続されている。また、ＩＳＡバス６２には、サウンドボード６４が接続されている。
　【００３８】
　ハードディスク５４には、図１に示す各プログラムが記憶されている。これらのプログラムは、ＣＤ−ＲＯＭドライブ５６を介して、ＣＤ−ＲＯＭ５８に記憶されたプログラムがインストールされたものである。
　【００３９】
　加算処理プログラム４０によって加算されたデータは、ＩＳＡバス６２を介して、サウンドボード６４に与えられる。サウンドボード６４からのアナログ音信号は、オーディオアンプ６６によって増幅され、スピーカ６８によって音として出力される。
　【００４０】
　図３に、シンセサイザプログラムのフローチャートを示す。まず、ステップＳ１において、ＭＩＤＩデータの読み込みを行う。次に、このＭＩＤＩデータによって指定された音色データ（たとえば、ピアノの音、ギターの音など）を、ハードディスク５４から読み出す（ステップＳ２）。さらに、ＭＩＤＩデータによって指定された音程、音の継続時間、振幅等に基づいて、読み出した音色データを変更する（ステップＳ３）。これにより、ＷＡＶＥ波形データが得られる。得られたＷＡＶＥ波形データを、仮想デバイスドライバプログラム４２に出力する（ステップＳ４）。
　【００４１】
　上記のようにして１つのＭＩＤＩデータに対する処理が終了すると、次のＭＩＤＩデータに対する処理を、ステップＳ１から繰り返して行う。
　【００４２】
　図４に、加算処理プログラム４０のフローチャートを示す。まず、ステップＳ１１において、仮想デバイスドライバ・プログラム１０からのデータを右に１ビットシフト（１／２）する。同様に、仮想デバイスドライバ・プログラム４２からのデータを右に１ビットシフト（１／２）する（ステップＳ１２）。次に、両データを加算して（ステップＳ１３）、メモリ５２に記憶する（ステップＳ１４）。この実施形態では、加算前に、データの値を１／２にしているので、加算後にオーバーフローを生じるおそれがない。メモリ５２に記憶されたデータは、ＤＭＡ転送によって、サウンドボード６４に与えられる。
　【００４３】
　図５に、サウンドボード６４の詳細を示す。コンピュータのメモリ５２には、図４の処理によって、加算後のデータが記憶されている。サウンドボード６４のＤＭＡ要求発生器７６は、メモリ７４に記憶されたデータが残り少なくなると、ＤＭＡ要求信号を生成する。この要求は、コンピュータのＤＭＡコントローラ７２に与えられる。要求を受けたＤＭＡコントローラ７２は、メモリ５２に記憶されている加算後のデータを、ＣＰＵのバス７０，ＩＳＡバス１２を介して、メモリ７４に転送する。メモリ７４が一杯になると、ＤＭＡ要求発生器７６は、ＤＭＡ要求を取り下げる。
　【００４４】
　メモリ７４に転送された加算後のデータは、まず、上位ビットが読み出されて、バッファ７８に保持される。次に、下位ビットが読み出され、バッファ７８に保持されていた上位ビットともに、バッファ８０に保持される。Ｄ／Ａ変換器１６は、バッファ８０のデータを、アナログ信号に変換する。
　【００４５】
　なお、図５においては、メモリ７４，ＤＭＡ要求発生器７６、バッファ７８、バッファ８０、読み出しクロック発生器８２によって、インターフェイス１４が構成されている。
　【００４６】
　図６に、他の実施形態による音データ処理装置の構成を示す。この実施形態では、加算処理プログラム４０によって加算処理を行わず、サウンドボードの加算器１７によって加算を行うようにしている。なお、オーバーフローを避けるために、サウンドボードに転送する前に、１／２処理プログラム３９、４１によって、データの値を１／２にしている。１／２にされたデータは、それぞれ、ＤＭＡ転送処理１２、１３よって、インターフェイス１４、１５を介して、加算器１７に与えられる。
　【００４７】
　図７に、この実施形態におけるサウンドボード６５の詳細を示す。コンピュータのメモリ５２には、１／２処理プログラム３９からのデータおよび１／２処理プログラム４１からのデータが、領域を分けて記憶される。１／２処理プログラム３９からのデータは、第１のＤＭＡ転送処理のための領域に、１／２処理プログラム４１からのデータは、第２のＤＭＡ転送処理のための領域に記憶される。
　【００４８】
　サウンドボード６４のＤＭＡ要求発生器７６は、メモリ７４に記憶されたデータが残り少なくなると、第１のＤＭＡ要求信号を生成する。この要求は、コンピュータのＤＭＡコントローラ７２に与えられる。要求を受けたＤＭＡコントローラ７２は、メモリ５２の第１のＤＭＡ転送処理のための領域に記憶されているデータを、ＣＰＵのバス７０，ＩＳＡバス１２を介して、メモリ７４に転送する。メモリ７４が一杯になると、ＤＭＡ要求発生器７６は、第１のＤＭＡ要求を取り下げる。
　【００４９】
　サウンドボード６４のＤＭＡ要求発生器７６は、メモリ７５に記憶されたデータが残り少なくなると、第２のＤＭＡ要求信号を生成する。この要求は、コンピュータのＤＭＡコントローラ７２に与えられる。要求を受けたＤＭＡコントローラ７２は、メモリ５２の第２のＤＭＡ転送処理のための領域に記憶されているデータを、ＣＰＵのバス７０、ＩＳＡバス１２を介して、メモリ７５に転送する。メモリ７５が一杯になると、ＤＭＡ要求発生器７６は、第２のＤＭＡ要求を取り下げる。
　【００５０】
　メモリ７４、７５に転送されたデータは、まず、下位ビットが読み出されて、加算器１７によって加算される。この加算結果は、バッファ７８に保持される。また、加算によるキャリービットが、加算器１７に与えられる。次に、上位ビットが読み出され、キャリービットとともに加算器１７によって加算される。下位ビットと上位ビットがまとめられて、Ｄ／Ａ変換器１６に与えられる。Ｄ／Ａ変換器１６は、このデータをアナログ信号に変換する。
　【００５１】
　この実施形態では、加算処理を加算器１７によって行うようにしているので、コンピュータの処理負担が軽減する。これにより、処理の高速化を図ることができる。
　【００５２】
　図８に、さらに、他の実施形態による音データ処理装置の構成を示す。この実施形態では、仮想デバイスドライバプログラム１０および４２からのデータを、ビット結合処理プログラム８０によってビット結合し、一度にＤＭＡ転送するようにしている。これにより、転送の高速化を図ることができる。
　【００５３】
　図９に、ビット結合処理プログラムのフローチャートを示す。まず、仮想デバイスドライバプログラム１０からの出力データ値を１／２にする（ステップＳ２１）。次に、このデータを８ビット左シフトする（ステップＳ２２）。続いて、このデータの下位９ビット目から１６ビット目までを除くビットを全て”０”にする（ステップＳ２３）。
　【００５４】
　次に、仮想デバイスドライバプログラム４２からの出力データ値を１／２にする（ステップＳ２４）。次に、このデータの下位８ビットを除くビットを全て”０”にする（ステップＳ２５）。
　【００５５】
　ステップＳ２３、Ｓ２５で得たデータの論理和をとる（ステップＳ２６）。これにより、図１０に示すように、上位ビットに仮想デバイスドライバプログラム１０からのデータ、下位ビットに仮想デバイスドライバ４２からのデータが結合されたデータが得られる。このようにして得られたビット結合データは、メモリ５２に記憶される（ステップＳ２７）。
　【００５６】
　図１１に、この実施形態におけるサウンドボードの詳細を示す。コンピュータのメモリ５２には、ビット結合されたデータが記憶されている。サウンドボードのメモリ７４のデータが少なくなると、ＤＭＡ要求発生器７６がＤＭＡ要求を発生する。これにより、メモリ５２のビット結合データが、メモリ７４に転送される。
　【００５７】
　加算器１７は、メモリ７４の上位８ビットと下位８ビットを読み出して、それぞれ８ビットのデータとして加算を行う。加算されたデータは、Ｄ／Ａ変換器１６によって、アナログ音信号に変換される。
　【００５８】
　この実施形態によれば、一度にデータを転送することができ、処理速度を向上することができる。
　【００５９】
　図１２に、さらに他の実施形態による音データ処理装置の構成を示す。この実施形態においては、多重化処理プログラム８２により、仮想デバイスドライバプログラム１０、４２からのデータを、時分割的にＤＭＡ転送するようにしている。
　【００６０】
　図１３に、多重化処理プログラムのフローチャートを示す。まず、ステップＳ３１において、カウンタフラグを”０”にする。次に、ステップＳ３２において、カウンタフラグの値を判断する。カウンタフラグが”０”であれば、仮想デバイスドライバプログラム１０からの出力データ値を１／２にする（ステップＳ３３）。その後、カウンタフラグを”１”に変更する（ステップＳ３４）。
　【００６１】
　また、ステップＳ３２において、カウンタフラグが”１”であれば、仮想デバイスドライバ４２からの出力データ値を１／２にする（ステップＳ３５）。その後、カウンタフラグを”０”に変更する。
　【００６２】
　ステップＳ３７では、１／２にしたデータをバッファ（メモリ５２の一部分を割り当ててもよい）に一時的に記憶する。ＤＭＡ転送の要求がなければ、再び、ステップＳ３２以下を繰り返し実行する。これにより、バッファには、仮想デバイスドライバプログラム１０と仮想デバイスドライバプログラム４２のデータが交互に記憶されることとなる。ＤＭＡ転送要求があると、バッファのデータをメモリ５２のＤＭＡ領域に渡す（ステップＳ３９）。
　【００６３】
　図１４に、この実施形態におけるサウンドボードの詳細を示す。１つのデータ転送ごとに発生されるデータクロックが、クロック分周器９０（１／２分周器）に与えられている。クロック分周器９０の出力Ｑは、メモリ７５のイネーブル端子に与えられている。また、反転されて、メモリ７４のイネーブル端子にも与えられている。したがって、仮想デバイスドライバプログラム１０からのデータは、メモリ７４に記憶され、仮想デバイスドライバプログラム４２からのデータは、メモリ７５に記憶される。加算器１７は、両データを加算して、Ａ／Ｄ変換器１６に与える。
　【００６４】
　上記各実施形態においては、転送処理をＤＭＡ転送によって説明したが、通常のＣＰＵ制御による転送であってもよい。ただし、処理速度の高速化という点からは、ＤＭＡ転送の方が好ましい。
　【００６５】
　また、上記各実施形態においては、サンプル化データとしてＷＡＶＥデータを示しているが、その他の波形をデジタルサンプリングしたデータについても適用することができる。
　【００６６】
　また、上記各実施形態においては、コード化データとしてＭＩＤＩデータを示しているが、その他の音の特性を所定の規格によって情報データとして扱うようなデータについても適用することができる。
【図面の簡単な説明】
　【図１】
　この発明の一実施形態による音データ処理装置の構成を示す図である。
　【図２】
　音データ処理装置のハードウエア構成を示す図である。
　【図３】
　シンセサイザプログラムのフロチャートである。
　【図４】
　加算処理プログラムのフローチャートである。
　【図５】
　サウンドボード６４の詳細を示す図である。
　【図６】
　他の実施形態による音データ処理装置の構成を示す図である。
　【図７】
　図６の音データ処理装置のサウンドボード６４の詳細を示す図である。
　【図８】
　さらに他の実施形態による音データ処理装置の構成を示す図である。
　【図９】
　ビット結合処理プログラムのフローチャートである。
　【図１０】
　ビット結合されたデータの構造を示す図である。
　【図１１】
　図８の音データ処理装置のサウンドボード６４の詳細を示す図である。
　【図１２】
　さらに他の実施形態による音データ処理装置の構成を示す図である。
　【図１３】
　多重化処理プログラムのフローチャートである。
　【図１４】
　図１２の音データ処理装置のサウンドボード６４の詳細を示す図である。
　【図１５】
　ＭＩＤＩハードウエア音源を用いた従来の音データ処理装置を示す図である。
　【図１６】
　ＭＩＤＩ音源をソフトウエアによって実現した従来の音データ処理装置を示す図である。
　【符号の説明】
　２・・・ＷＡＶＥアプリケーションプログラム
　１０・・・仮想デバイスドライバプログラム
　１６・・・Ｄ／Ａ変換器
　２０・・・ＭＩＤＩアプリケーションプログラム
　３４・・・シンセサイザプログラム
　４０・・・加算処理プログラム
　４２・・・仮想デバイスドライバプログラム
【図面】