JP4211266B2 - 通信設定装置及び通信設定プログラム - Google Patents
通信設定装置及び通信設定プログラム Download PDFInfo
- Publication number
- JP4211266B2 JP4211266B2 JP2002057960A JP2002057960A JP4211266B2 JP 4211266 B2 JP4211266 B2 JP 4211266B2 JP 2002057960 A JP2002057960 A JP 2002057960A JP 2002057960 A JP2002057960 A JP 2002057960A JP 4211266 B2 JP4211266 B2 JP 4211266B2
- Authority
- JP
- Japan
- Prior art keywords
- driver
- midi
- response
- drivers
- data
- 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
Images
Description
【発明の属する技術分野】
この発明は、コンピュータに接続されたコンピュータ周辺機器を制御するために必要なソフトウエアプログラムである各種ドライバの設定を行う通信設定装置及び通信設定プログラムに関する。特に、MIDIインタフェースを介して接続されたコンピュータと外部MIDI機器との間でMIDIデータを送受信できるように制御するために必要なMIDI通信ドライバを、接続された外部MIDI機器にあわせて簡単に設定することができるようにした通信設定装置及び通信設定プログラムに関する。
【0002】
【従来の技術】
最近ではパーソナルコンピュータ(以下、パソコン端末と呼ぶ)の普及に伴い、パソコン端末を用いて楽器を演奏したり、楽曲を作成・編曲したり、あるいは音色を合成したりするコンピュータミュージックにより、誰でもが音楽を自由に楽しめるようになってきた。こうしたコンピュータミュージックを行う場合には、パソコン端末に対して外部音源モジュールや電子楽器あるいはシーケンサなどの外部のMIDI機器を接続し、これらの外部MIDI機器をパソコン端末から制御している。すなわち、パソコン端末では接続された外部MIDI機器をコントロールして互いの間で適宜にMIDIデータを送受信することにより、楽曲の作成・編集や楽音の発生あるいは楽音の合成などを行うことができるようになっている。
【0003】
【発明が解決しようとする課題】
ところで、パソコン端末に接続した外部MIDI機器をコントロールして互いの間で適宜にMIDIデータを送受信するためには、パソコン端末側において外部MIDI機器を制御するための橋渡し的なソフトウエアプログラムであるMIDI通信ドライバを、予め接続する外部MIDI機器に適したものに設定しておく必要がある。従来では、ユーザ自身が予め用意された複数のMIDI通信ドライバの中から接続する外部MIDI機器に適したMIDI通信ドライバを手動で選択し設定しなければならなかった。しかし、コンピュータミュージック初心者などにとって、複数あるMIDI通信ドライバの中から接続する外部MIDI機器に適した正しいMIDI通信ドライバを手動で選択し設定することは非常に難しい、という問題点があった。
【0004】
本発明は上述の点に鑑みてなされたもので、パソコン端末に対して外部MIDI機器を接続した場合に必要とされるMIDI通信ドライバをパソコン端末が自動的に選択して設定することにより、初心者であっても正しいMIDI通信ドライバを簡単に設定できるようにした通信設定装置及び通信設定プログラムを提供しようとするものである。
【0005】
【課題を解決するための手段】
本発明に係る通信設定装置は、外部MIDI機器を接続することが可能な複数種類のインタフェースのうちのいずれかからなる1つのMIDI接続手段と、前記複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、前記MIDI接続手段に接続される外部MIDI機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して複数記憶する記憶手段と、前記複数のドライバのうちの任意のドライバによる制御に従って、前記MIDI接続手段から応答要求データを送信する送信手段と、前記応答要求データが前記外部MIDI機器で受理された場合に、前記外部MIDI機器から返される応答を前記ドライバによる制御に従って受信する受信手段と、前記受信手段が応答を受信した際に用いたドライバを、前記MIDI接続手段を制御するためのドライバとして決定する決定手段とを具え、前記決定手段にて決定したドライバを、前記MIDI接続手段に物理的に接続されている外部MIDI機器との間でのデータ伝送を制御するためのドライバとして利用することを特徴とする
【0006】
この発明によると、受信手段が応答を受信した際に用いたドライバを、MIDI接続手段を制御するためのドライバとして自動的に決定することから、ユーザは難しい設定を行わなくても簡単にドライバを設定することができるようになる。すなわち、送信手段は、記憶手段に記憶された複数のドライバのうちの任意のドライバによる制御に従って、外部MIDI機器を接続することが可能な複数種類のインタフェースのうちのいずれかからなる1つのMIDI接続手段から応答要求データを送信する。ドライバは外部MIDI機器を接続することが可能な複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであって、記憶手段に前記複数種類のインタフェースに対応して複数記憶されている。受信手段は、応答要求データが外部MIDI機器で受理された場合に、前記外部MIDI機器から返される応答を前記ドライバによる制御に従って受信する。受信手段が外部MIDI機器からの応答を受信するということは、該応答受信時に用いたドライバはMIDI接続手段に物理的に接続されている外部MIDI機器との間でのデータ伝送を制御するためのドライバとして利用できるものであることから、決定手段はこのドライバを当該MIDI接続手段を制御するためのドライバとして決定する。このように、複数あるドライバを介して応答要求データの送信及び外部MIDI機器からの応答の受信を正常に行うことができたドライバを外部MIDI機器との間でのデータ伝送を制御するためのドライバとして自動的に決定し利用できるようにした。これにより、ユーザは難しいドライバの設定作業を行わなくても簡単にドライバの設定を行うことができるようになる。
【0007】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【0008】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明する。
【0009】
図1は、この発明に係る通信設定装置を内蔵したパソコン端末の実施の形態を示すハード構成ブロック図である。ここに示されたパソコン端末のハードウエア構成例はコンピュータを用いて構成されており、そこにおいて、MIDIインタフェース4を介して接続されているパソコン端末と外部のMIDI機器4Aとの間でMIDIデータを送受信できるように制御するために必要なMIDI通信ドライバの自動設定は、コンピュータがこの発明に係るMIDI通信ドライバの自動設定処理を実現する所定の制御プログラムを含むソフトウエアを実行することにより実施される。勿論、このMIDI通信ドライバの自動設定処理(後述する「メイン処理」参照)はコンピュータソフトウエアの形態に限らず、DSPによって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
なお、本発明に係るパソコン端末はパーソナルコンピュータに限らず、電子楽器やカラオケ装置又は電子ゲーム装置、あるいは携帯通信端末などのマルチメディア機器等、任意の製品応用形態をとっているものであってもよい。
【0010】
本実施例に示すパソコン端末は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御されるようになっている。CPU1は、このパソコン端末全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、MIDIインタフェース(I/F)4、操作子検出回路5、表示制御回路6、楽音合成回路7、外部記憶装置8、通信インタフェース(I/F)9がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。例えば、タイマ1Aはクロックパルスを発生し、発生したクロックパルスをCPU1に対して処理タイミング命令として与えたり、あるいはCPU1に対してインタラプト命令として与える。CPU1は、これらの命令に従って各種処理を実行する。ROM2は、CPU1により実行あるいは参照される各種制御プログラム(例えば、後述する「メイン処理」など)、MIDIインタフェース4を介して接続されたコンピュータと外部MIDI機器4Aとの間でMIDIデータを送受信できるように制御するために必要な各種のMIDI通信ドライバ等を格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中の制御プログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【0011】
MIDIインタフェース(I/F)4は、当該パソコン端末に接続された外部のMIDI機器4AからMIDI規格の楽音データ(つまり、MIDIデータ)を当該パソコン端末へ入力したり、あるいは当該パソコン端末からMIDI規格の楽音データ(MIDIデータ)を外部のMIDI機器4Aへ出力するためのインタフェースであって、例えばMIDI-IN端子やMIDI‐OUT端子あるいはMIDI‐THRU端子などを含む。外部のMIDI機器4Aはユーザによる操作に応じてMIDIデータを発生するシーケンサ、あるいはMIDIデータに基づいて楽音を発生する外部音源モジュールや電子楽器などの各種MIDI機器であればどのようなものであってもよい。こうしたMIDIインタフェース4は専用のMIDIインタフェースを用いるものに限らず、RS-232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェース4を構成するようにしてよい。そうした場合、MIDIデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース4として上記したような汎用のインタフェースを用いる場合には、外部のMIDI機器4AはMIDIデータ以外のデータも送受信できるようにしてよい。勿論、パソコン端末と外部のMIDI機器4Aとの間で送受信するデータに関するデータフォーマットはMIDI形式のデータに限らず、他の形式であってもよく、その場合はMIDIインタフェース4と外部のMIDI機器4Aはそれにあった構成とする。
【0012】
操作子検出回路5は、操作子の操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。操作状態を検出する対象の操作子としては、例えば音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ(図示せず)に表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子がある。表示制御回路6は現在設定されているMIDI通信ドライバやROM2に記憶されている複数のMIDI通信ドライバなどの各種情報を、例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイに表示するのは勿論のこと、これ以外にもCPU1の制御状態などをディスプレイに表示するよう制御する。楽音合成回路7は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた楽音データを入力し、この楽音データに基づいて生成した楽音信号をアンプやスピーカなどを含むサウンドシステムから発音する。楽音データの形式はMIDI形式のようなディジタル符号化されたものであってもよいし、PCM、DPCM、ADPCMのような波形サンプルデータ方式からなるものであってもよい。こうした楽音合成回路7の構成には、従来のいかなる構成を用いてもよい。
【0013】
外部記憶装置8は、各種のMIDI通信ドライバやCPU1が実行する各種制御プログラムなどを記憶するものである。前記ROM2にMIDI通信ドライバや制御プログラムが記憶されていない場合に、この外部記憶装置8(例えばハードディスク)にMIDI通信ドライバや制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2にMIDI通信ドライバや制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、MIDI通信ドライバや制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置8はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RW)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。半導体メモリなどであってもよい。
【0014】
通信インタフェース(I/F)9は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークXに接続されており、該通信ネットワークXを介して図示しないサーバコンピュータなどと接続され、当該サーバコンピュータなどからMIDI通信ドライバや制御プログラムなどをパソコン端末側に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置8(例えば、ハードディスク)等にMIDI通信ドライバや制御プログラムが記憶されていない場合に、サーバコンピュータなどからMIDI通信ドライバや制御プログラムをダウンロードするために用いられる。クライアントとなるパソコン端末は、通信インターフェース9及び通信ネットワークXを介してサーバコンピュータへとMIDI通信ドライバや制御プログラムのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたMIDI通信ドライバや制御プログラムを通信ネットワークXを介して本パソコン端末へと配信し、本パソコン端末が通信インタフェース9を介して、これらMIDI通信ドライバや制御プログラムを受信して外部記憶装置8(例えば、ハードディスク)等に蓄積することにより、ダウンロードが完了する。なお、通信インタフェース9及び通信ネットワークXは、有線のものに限らず無線のものであってもよい。また、双方を具えていてもよい。
【0015】
なお、上述したようなパソコン端末は操作子検出回路5や表示制御回路6あるいは楽音合成回路7などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことはいうまでもない。
【0016】
上述したように、パソコン端末とMIDIインタフェース4を介して接続された外部のMIDI機器4Aとの間でMIDIデータを送受信するためには、接続された外部のMIDI機器4Aに対応するMIDI通信ドライバを予め設定しておく必要がある。そこで、図1に示したパソコン端末では、接続された外部のMIDI機器4A(以下、接続デバイスと呼ぶ)を制御するのに適するMIDI通信ドライバをROM2や外部記憶装置8等から自動的に読み出して設定することができるようにした。こうしたMIDI通信ドライバの自動設定の概要について、図2を用いて説明する。図2は、パソコン端末によるMIDI通信ドライバの自動設定の概要を説明するための機能ブロック図である。ただし、この実施例ではパソコン端末と接続デバイスとを接続するMIDIインタフェースとしてシリアルケーブルを用いた例について説明することとし、また説明の便宜上、メーカA社のUSB接続用ドライバを「ドライバA」、メーカB社のUSB接続用ドライバを「ドライバB」、メーカA社のシリアル接続用ドライバを「ドライバC」と呼ぶ。この場合においてパソコン端末と接続デバイスとの間でMIDIデータを送受信するためには、パソコン端末側で予め「ドライバC」を用いるように設定済みである必要がある。なお、図中の矢印はデータの流れを表すものである。
【0017】
この図2に示す実施例において、まずパソコン端末はROM2などに記憶されている各種ドライバの中からインドライバとアウトドライバとを対で含むMIDI通信ドライバであるドライバA〜Cを選択して、これらのドライバのインドライバA〜Cを全て起動する。インドライバはMIDI通信ドライバの有する機能の1つであり、インドライバを起動することによってパソコン端末は接続デバイスから受信したMIDIデータをパソコン端末で処理できる形式のデータに変換することができる。全てのインドライバA〜Cを起動すると、パソコン端末は最初の検査としてドライバAを選択してドライバAのアウトドライバAのみを起動する。そして、起動したアウトドライバAに対してリクエストを送信する。アウトドライバはMIDI通信ドライバの有する機能の1つであり、アウトドライバを起動することによってパソコン端末はパソコン端末で発生したMIDIデータを、パソコン端末と接続デバイスとを接続するインタフェースケーブルで(つまりMIDIインタフェースを介して)送信できる形式のデータに変換することができる。こうしたアウトドライバに対して送信するリクエストは、例えば接続デバイスに対して該接続デバイスの機種IDを送れといったような命令を含むリクエストである。勿論、これに限らず何らかの送信データを含むものであって、接続デバイスに対して送信した送信データをそのまま送り返せといったような命令(つまりエコーバックの実行命令)であってもよい。こうしたリクエストの場合には、送信データの内容を確認することによって正常なデータの送受信が行われているか否かを含めて確認することができる。
【0018】
アウトドライバAに対してリクエストが送信された場合、該アウトドライバAはUSB接続用ドライバであることから、パソコン端末はシリアルケーブルで接続された接続デバイスに対してリクエストを送信することができない。リクエストを受信しないと、接続デバイスでは検査中のドライバAのインドライバAに対して何らの応答(リプライ)を送信することもできないことから、パソコン端末ではインドライバAからの応答をいつまでたっても受信しない。インドライバAからの応答を所定時間待っても受信しない場合には、パソコン端末はインドライバAによる接続デバイスからの応答の受信をタイムアウトとし、次に第2の検査としてドライバBを選択してアウトドライバBのみを起動する。そして、上述したアウトドライバAに対して実行した処理をアウトドライバBに対しても繰り返し実行する。アウトドライバAと同様、該アウトドライバBもUSB接続用ドライバであることから、パソコン端末はインドライバBによる接続デバイスからの応答の受信をタイムアウトとし、さらに第3の検査としてドライバCを選択してアウトドライバCのみを起動する。
【0019】
アウトドライバCに対してリクエストが送信された場合、該アウトドライバCはシリアル接続用ドライバであることから、パソコン端末はシリアルケーブルで接続された接続デバイスに対してリクエストを送信することができる。接続デバイスは、アウトドライバCからのリクエストの受信に応じてアウトドライバCに対応するインドライバCに対して何らの応答を送信する。応答としてパソコン端末から受信したリクエストの内容に対応した、機種IDや受信したデータそのものを送信する。インドライバCでは接続デバイスからの応答を受信すると、パソコン端末に対して該応答を送信する。パソコン端末ではインドライバCから応答を受信すると、アウトドライバC及びインドライバCを含むドライバCを利用することのできるMIDI通信ドライバとして検出する。このようにして、パソコン端末は複数あるMIDI通信ドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。
【0020】
上述したように、図1に示したパソコン端末では、接続デバイスを制御するのに適するMIDI通信ドライバをROM2や外部記憶装置4等から自動的に読み出して設定する。そこで、こうしたMIDI通信ドライバの自動設定処理を行うための「メイン処理」について説明する。図3は、図1に示したパソコン端末におけるCPU1で実行する「メイン処理」の一実施例を示すフローチャートである。以下、図3に示したフローチャートに従って、当該処理の動作を説明する。
【0021】
ステップS1では、接続デバイスに関連するドライバを検出する。すなわち、一般的にパソコン端末にはMIDIデータの送受信に関連するMIDI通信ドライバ以外にも数多くの他のドライバを記憶している。そこで、こうした複数種類のドライバのうち、MIDIデータの送受信に関連するMIDI通信ドライバだけを検出する。この際に、MIDI通信ドライバが検出されなかった場合には、MIDI通信ドライバをインストールするようユーザに対して促す。ステップS2では、検出された全てのMIDI通信ドライバのインドライバを起動する。起動されたインドライバは、接続デバイスからのデータを受信できる状態になっている。ステップS3では、検出したMIDI通信ドライバのうちのいずれか1つのMIDI通信ドライバを選択し、該MIDI通信ドライバのアウトドライバを起動する。ステップS4ではアウトドライバから接続デバイスへパソコン端末から受信したリクエストを、そのドライバの通信規格にあったデータ形式に変換して送る。ステップS5では、リクエストの送信開始時間から所定時間が経過したか否かを判定する。リクエストの送信開始時間から所定時間が経過した場合には(ステップS5のYES)、ステップS3の処理へ戻る。すなわち、「タイムアウト」として、上記ステップS3で選択した該アウトドライバとインドライブとを含むMIDI通信ドライバを設定対象外のドライバとし、次のドライバの検査を行う。他方、リクエストの送信開始時間から所定時間が経過していない場合には(ステップS5のNO)、上記ステップS3において選択されたMIDI通信ドライバのインドライバの受信データを確認する(ステップS6)。ステップS7では、接続デバイスからの応答データを受信したか否かを判定する。接続デバイスからの応答データを受信したと判定しなかった場合には(ステップS7のNO)、ステップS5へ戻る。接続デバイスからの応答データを受信したと判定した場合には(ステップS7のYES)、上記ステップS3において選択されたMIDI通信ドライバを利用するドライバに決定する(ステップS8)。
【0022】
以上のようにすることで、上述の図2に示したMIDI通信ドライバの自動設定を実現することができる。すなわち、パソコン端末は複数あるドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。
なお、上述したメイン処理において、全てのMIDI通信ドライバについての検査が終了したにも関わらず、利用すべきMIDI通信ドライバが決定されなかったような場合には、その旨を表示することでユーザに対してMIDI通信ドライバのインストールを行うように促してから該「メイン処理」を終了するように構成するとよい。
【0023】
上述した実施例においては、複数あるMIDI通信ドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定しているが、応答を受信することのできたMIDI通信ドライバが複数ある場合にはその中からいずれかをユーザが手動で選択することができるようにするとよい。そこで、こうした「メイン処理」の実施例について、図4を用いて説明する。図4は、「メイン処理」の別の実施例を示すフローチャートである。
【0024】
図4に示すステップS11〜ステップS17までの各処理は、上述の図3に示した「メイン処理」におけるステップS1〜ステップS7までの各処理にそれぞれ対応する処理であることから、ここでの説明を省略する。ステップS18では、MIDI通信ドライバに付与されているドライバ名をRAM3などのメモリに記憶する。ステップS19では、選択されていない(つまり通信の確認を行っていない)MIDI通信ドライバがあるか否かを判定する。選択されていないMIDI通信ドライバがあると判定した場合には(ステップS19のYES)、ステップS13の処理へ戻る。選択されていないMIDI通信ドライバがないと判定した場合には(ステップS19のNO)、メモリに記憶されている応答のあった全てのMIDI通信ドライバのドライバ名をディスプレイなどに表示してユーザに対してMIDI通信ドライバの選択を促す(ステップS20)。ステップS21では、ユーザ選択に伴いユーザが選んだMIDI通信ドライバを利用するMIDI通信ドライバに決定する。このように、この図4の処理では最初に応答データを受信したものを利用するMIDI通信ドライバとせずに、検出された全てのMIDI通信ドライバについて通信の確認を行い、レスポンスを受信したMIDI通信ドライバが複数あった場合にはその中からいずれかのMIDI通信ドライバをユーザが選択することができるようになる。こうすると、ユーザは所望のMIDI通信ドライバを設定できるので便利である。
【0025】
また、応答を受信することのできたMIDI通信ドライバが複数ある場合にはその中からいずれかを自動的に選択するようにしてよい。そこで、こうした「メイン処理」の実施例について、図5を用いて説明する。図5は、「メイン処理」のさらに別の実施例を示すフローチャートである。
【0026】
図5に示すステップS31〜ステップS39までの各処理は、上述の図4に示した「メイン処理」におけるステップS11〜ステップS19までの各処理にそれぞれ対応する処理であることから、ここでの説明を省略する。ステップS40では、応答のあった全てのMIDI通信ドライバの中から、機種情報にあったMIDI通信ドライバを選択し、それを利用するドライバに決定する。例えば、接続デバイスから応答として受信する機種IDを参照することで、機種情報としてのメーカー名を取得するようにして、その取得したメーカーが供給しているMIDI通信ドライバを選択する。応答として機種IDを受信していない場合には、この自動選択の処理よりも前に機種IDを取得しておく。このように、この図5の処理では最初に応答データを受信したものを利用するMIDI通信ドライバとせずに、検出された全てのMIDI通信ドライバについて通信の確認を行い、レスポンスを受信したMIDI通信ドライバが複数あった場合にはその中からいずれかのMIDI通信ドライバを自動的に選択する。このMIDI通信ドライバの自動選択の際には機種情報を参照してMIDI通信ドライバを選択することから、接続デバイスに最も適したMIDI通信ドライバが設定されることになり便利である。
【0027】
上述の図2に示した実施例においては、パソコン端末は複数あるドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。しかし、こうした複数あるドライバに対し順番にリクエストを送信して応答の受信を待つといった方法では、数多くのMIDI通信ドライバが記憶されている場合において処理に多大な時間が係り効率が非常に悪くなる。そこで、数多くのMIDI通信ドライバが記憶されている場合には、複数のMIDI通信ドライバに対して同時にリクエストを送信するとよい。こうした方法によるMIDI通信ドライバの自動設定の概要について、図6を用いて説明する。図6は、パソコン端末によるMIDI通信ドライバの自動設定の他の方法による概要を説明するための機能ブロック図である。図2に示した実施例と同様に、この実施例においてもパソコン端末と接続デバイスとを接続するMIDIインタフェースとしてシリアルケーブルを用いた例について説明を行う。ただし、ここではメーカA社のUSB接続用ドライバを「ドライバA」、メーカA社のシリアル接続用ドライバを「ドライバB」、メーカB社のUSB接続用ドライバを「ドライバC」と便宜上呼ぶ。こうした場合にパソコン端末と接続デバイスとの間でMIDIデータを送受信するためには、パソコン端末側で予め「ドライバB」を用いるように設定済みである必要がある。
【0028】
この図5に示す実施例において、パソコン端末はROM2などに記憶されている各種ドライバのうちMIDI通信ドライバであるドライバA〜Cを選択して、これらのドライバのアウトドライバA〜C及びインドライバA〜Cを全て起動しておく。パソコン端末は全てのアウトドライバA〜C及びインドライバA〜Cを起動すると、起動した全てのアウトドライバA〜Cに対してリクエストを送信する。アウトドライバA〜Cに対して送信する各リクエストに対しては、送信する先のドライバ毎に異なる識別子(例えばドライバの種類を表わす識別子)が付加される。各アウトドライバA〜Cに対してリクエストが送信されると、シリアル接続用ドライバであるアウトドライバBのみがシリアルケーブルで接続された接続デバイスに対してリクエストを送信することができる。接続デバイスは、アウトドライバBからのリクエストの受信に応じてそれに対応するインドライバBに対して何らの応答(リプライ)を送信する。接続デバイスでは応答を送信する際に、該応答に対して受信したリクエストに付加されていた識別子を付加して送信する。インドライバBでは接続デバイスからの応答を受信すると、パソコン端末に対して識別子の付加された応答を送信する。パソコン端末ではインドライバBから応答を受信すると、応答に付加された識別子を参照して、該識別子で特定されるドライバBを利用できるドライバとして検出する。このようにして、パソコン端末は複数あるドライバに対して同時にリクエストを送信し、受信することのできた応答の識別子に対応するMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。
なお、パソコン端末が複数の応答を受信した場合には、受信することのできた複数の応答に各々付加されている識別子に対応するMIDI通信ドライバを表示してユーザに選択させるようにしてもよいし、あるいは接続デバイスの機種情報に従って自動的に選択するようにしてもよい。また、この実施例では1回の確認において複数のドライバに同時にリクエストを送ることができればよく、同時に全てのドライバにリクエストを送ることに限らず、複数回にわけて一部の複数ドライバずつに、同時にリクエストを送るようにすることもできる。
【0029】
なお、上述した各実施例において全てのインドライバあるいはアウトドライバを同時に起動させる必要はなく、1つずつ順番に起動して検査するようにしてもよい。こうする場合には、選択されたドライバのインドライバとアウトドライバとをセットで起動して検査を行うようにするとよい。
【0030】
【発明の効果】
この発明によれば、パソコン端末が通信MIDIインタフェースを介して接続された外部MIDI機器との間でMIDIデータを送受信できるように制御するために必要なMIDI通信ドライバを自動的に設定することから、初心者であっても正しいMIDI通信ドライバを簡単に設定することができる、という効果を得る。
【図面の簡単な説明】
【図1】 この発明に係る通信設定装置を内蔵したパソコン端末の実施の形態を示すハード構成ブロック図である。
【図2】 パソコン端末によるMIDI通信ドライバの自動設定の概要を説明するための機能ブロック図である。
【図3】 メイン処理の一実施例を示すフローチャートである。
【図4】 メイン処理の別の実施例を示すフローチャートである。
【図5】 メイン処理のさらに別の実施例を示すフローチャートである。
【図6】 パソコン端末によるMIDI通信ドライバの自動設定の他の方法による概要を説明するための機能ブロック図である。
【符号の説明】
1…CPU、1A…タイマ、2…ROM、3…RAM、4…MIDIインタフェース、4A…外部のMIDI機器、5…操作子検出回路、6…表示制御回路、7…楽音合成回路、8…外部記憶装置、9…通信インタフェース、X…通信ネットワーク、1D…データ及びアドレスバス
Claims (6)
- 外部MIDI機器を接続することが可能な複数種類のインタフェースのうちのいずれかからなる1つのMIDI接続手段と、
前記複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、前記MIDI接続手段に接続される外部MIDI機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して複数記憶する記憶手段と、
前記複数のドライバのうちの任意のドライバによる制御に従って、前記MIDI接続手段から応答要求データを送信する送信手段と、
前記応答要求データが前記外部MIDI機器で受理された場合に、前記外部MIDI機器から返される応答を前記ドライバによる制御に従って受信する受信手段と、
前記受信手段が応答を受信した際に用いたドライバを、前記MIDI接続手段を制御するためのドライバとして決定する決定手段と
を具え、前記決定手段にて決定したドライバを、前記MIDI接続手段に物理的に接続されている外部MIDI機器との間でのデータ伝送を制御するためのドライバとして利用することを特徴とする通信設定装置。 - 前記送信手段は、複数あるドライバの中から順次に選択したドライバによる制御に従って応答要求データを送信することを特徴とする請求項1に記載の通信設定装置。
- 前記送信手段は、ドライバごとの識別子を付加した応答要求データを、複数のドライバによる制御に従って同時に送信することを特徴とする請求項1に記載の通信設定装置。
- 前記受信手段が複数の応答を受信した際に、該応答を受信した複数のドライバの中から、いずれのドライバを前記MIDI接続手段を制御するためのドライバとして利用するかを選択する選択手段を具えたことを特徴とする請求項1に記載の通信設定装置。
- 前記応答は前記外部MIDI機器の機種情報を含み、
前記決定手段は、前記受信手段が複数の応答を受信した際に、該応答を受信した複数のドライバの中から、外部MIDI機器の機種情報に対応するドライバを前記MIDI接続手段を制御するためのドライバとして決定することを特徴とする請求項1に記載の通信設定装置。 - コンピュータに、
外部MIDI機器を接続することが可能な複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、各インタフェースに接続された外部MIDI機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して所定の記憶手段に複数記憶する手順と、
前記複数のドライバのうちの任意のドライバによる制御に従って、前記複数種類のインタフェースのうちのいずれかからなる1つのMIDI接続手段から応答要求データを送信する手順と、
前記応答要求データが前記外部MIDI機器で受理された場合に、前記外部MIDI機器から返される応答を前記ドライバによる制御に従って受信する手順と、
前記応答を受信した際に用いたドライバを、前記MIDI接続手段を制御するためのドライバとして決定する手順と
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002057960A JP4211266B2 (ja) | 2002-03-04 | 2002-03-04 | 通信設定装置及び通信設定プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002057960A JP4211266B2 (ja) | 2002-03-04 | 2002-03-04 | 通信設定装置及び通信設定プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003256348A JP2003256348A (ja) | 2003-09-12 |
JP4211266B2 true JP4211266B2 (ja) | 2009-01-21 |
Family
ID=28668094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002057960A Expired - Fee Related JP4211266B2 (ja) | 2002-03-04 | 2002-03-04 | 通信設定装置及び通信設定プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4211266B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG119377A1 (en) | 2004-08-06 | 2006-02-28 | Yamaha Corp | Electrical music apparatus capable of connecting with external device |
JP4655538B2 (ja) * | 2004-08-06 | 2011-03-23 | ヤマハ株式会社 | 電子音楽装置及びプログラム |
JP4345029B2 (ja) | 2007-03-28 | 2009-10-14 | ブラザー工業株式会社 | 画像処理プログラム |
JP2008287633A (ja) * | 2007-05-21 | 2008-11-27 | Fujitsu Ltd | Hba情報提供プログラム、hba情報提供方法及びhba情報提供装置 |
-
2002
- 2002-03-04 JP JP2002057960A patent/JP4211266B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003256348A (ja) | 2003-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3726712B2 (ja) | 演奏設定情報の授受が可能な電子音楽装置及びサーバ装置、並びに、演奏設定情報授受方法及びプログラム | |
EP1221688B1 (en) | Music data distribution system and method | |
JP3753007B2 (ja) | 演奏支援装置、演奏支援方法並びに記憶媒体 | |
US7390954B2 (en) | Electronic musical apparatus system, server-side electronic musical apparatus and client-side electronic musical apparatus | |
US20050204902A1 (en) | Technique for simplifying setting of network connection environment for electronic music apparatus | |
US7375274B2 (en) | Automatic accompaniment apparatus, method of controlling the apparatus, and program for implementing the method | |
JP4211266B2 (ja) | 通信設定装置及び通信設定プログラム | |
JP3770153B2 (ja) | 通信設定装置及び通信設定プログラム | |
JP4765765B2 (ja) | 電子楽器システム及びそのためのプログラム | |
JP2008233334A (ja) | 音楽アプリケーション装置、電子楽器、及びプログラム | |
JP2003099627A (ja) | 電子音楽装置システム、同システムに適用される電子音楽装置、管理コンピュータ、ユーザコンピュータおよび配信コンピュータ、ならびにこれらに適用されるプログラム | |
US20040173081A1 (en) | Interactive music application apparatus and electronic musical instrument and programs therefor | |
JP5066975B2 (ja) | ネットワーク接続環境設定用クライアント装置及びネットワーク接続環境設定システム並びにプログラム | |
JP2003114690A (ja) | 楽曲情報配信システム、楽曲情報配信装置、楽曲情報再生装置、楽曲情報配信プログラム、及び楽曲情報再生プログラム | |
JP4000842B2 (ja) | 作詞支援装置及びそれに用いる作詞支援プログラム | |
CN210721950U (zh) | 键盘乐器教学*** | |
JP2002258852A (ja) | 占い及び作曲システム、占い及び作曲装置、占い及び作曲方法並びに記憶媒体 | |
JP2010128482A (ja) | 電子音楽装置及び音楽コンテンツ利用プログラム | |
JP2005181823A (ja) | 電子音楽装置、サーバコンピュータおよびこれらに適用されるプログラム | |
JP3176497B2 (ja) | 通信カラオケシステムの運用方法およびカラオケ装置 | |
CN112767781A (zh) | 键盘乐器教学***和键盘乐器教学方法 | |
JP2002202989A (ja) | 情報検索システム、情報検索装置及び方法並びに記憶媒体 | |
JPH10282977A (ja) | 楽音再生装置及びシステム | |
JP2006133678A (ja) | 自動伴奏装置およびその制御方法を実現するためのプログラム | |
JP2002373276A (ja) | コンテンツ配信及び外部機器販売システム及びサーバ、コンテンツ配信可能な携帯通信端末及び外部機器、並びに、コンテンツ配信及び外部機器販売プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040924 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070123 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080131 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081007 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081020 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4211266 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |