Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4211266B2 - Communication setting device and communication setting program - Google Patents
[go: Go Back, main page]

JP4211266B2 - Communication setting device and communication setting program - Google Patents

Communication setting device and communication setting program Download PDF

Info

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
Application number
JP2002057960A
Other languages
Japanese (ja)
Other versions
JP2003256348A (en
Inventor
菊池  健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2002057960A priority Critical patent/JP4211266B2/en
Publication of JP2003256348A publication Critical patent/JP2003256348A/en
Application granted granted Critical
Publication of JP4211266B2 publication Critical patent/JP4211266B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、コンピュータに接続されたコンピュータ周辺機器を制御するために必要なソフトウエアプログラムである各種ドライバの設定を行う通信設定装置及び通信設定プログラムに関する。特に、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…データ及びアドレスバス
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a communication setting apparatus and a communication setting program for setting various drivers, which are software programs necessary for controlling computer peripheral devices connected to a computer. In particular, you can easily set the MIDI communication driver required for controlling MIDI data to be sent and received between a computer connected via a MIDI interface and an external MIDI device, according to the connected external MIDI device. The present invention relates to a communication setting device and a communication setting program.
[0002]
[Prior art]
Recently, with the spread of personal computers (hereinafter referred to as personal computer terminals), anyone can play musical instruments using personal computer terminals, create and arrange music, or synthesize timbres. I have come to enjoy music freely. When performing such computer music, an external MIDI device such as an external tone generator module, electronic musical instrument or sequencer is connected to a personal computer terminal, and these external MIDI devices are controlled from the personal computer terminal. In other words, a personal computer terminal can control the connected external MIDI device and send and receive MIDI data appropriately between each other so that music creation / editing, generation of musical sounds, or synthesis of musical sounds can be performed. It has become.
[0003]
[Problems to be solved by the invention]
By the way, in order to control external MIDI devices connected to a personal computer terminal and send and receive MIDI data appropriately between each other, MIDI is a bridging software program for controlling external MIDI devices on the personal computer side. The communication driver must be set in advance to be suitable for the external MIDI device to be connected. Conventionally, a user has to manually select and set a MIDI communication driver suitable for an external MIDI device to be connected from among a plurality of MIDI communication drivers prepared in advance. However, for beginners of computer music, it is very difficult to manually select and set the correct MIDI communication driver suitable for the external MIDI device to be connected from among multiple MIDI communication drivers.
[0004]
The present invention has been made in view of the above points, and a personal computer terminal automatically selects and sets a MIDI communication driver required when an external MIDI device is connected to a personal computer terminal, so that a beginner can Even so, it is an object of the present invention to provide a communication setting device and a communication setting program that can easily set a correct MIDI communication driver.
[0005]
[Means for Solving the Problems]
The communication setting device according to the present invention connects an external MIDI device. Possible Multiple type of One of any of the interfaces MIDI connection means and the plurality type of Each interface Driver that is a bridging software program for controlling Controlling data transmission with an external MIDI device connected to the MIDI connection means The above Multiple types of interfaces A plurality of storage units corresponding to the transmission unit, a transmission unit that transmits response request data from the MIDI connection unit in accordance with control by an arbitrary driver of the plurality of drivers, and the response request data is transmitted from the external MIDI device. When received, the receiving means for receiving a response returned from the external MIDI device according to the control of the driver, and the driver used when the receiving means receives the response Step Determining means for determining as a driver for controlling, the driver determined by said determining means The External MIDI equipment physically connected to the MIDI connection means Data transmission to and from Control Use as a driver to It is characterized by
[0006]
According to the present invention, the driver used when the receiving means receives the response is used for the MIDI connection. Step Since the driver is automatically determined as the driver for control, the user can easily set the driver without performing difficult settings. That is, the transmission unit is controlled by an arbitrary driver among a plurality of drivers stored in the storage unit. One consisting of any of a plurality of types of interfaces that can be connected to an external MIDI device Response request data is transmitted from the MIDI connection means. Driver is Possible to connect external MIDI equipment Multiple type of interface Respectively Control A bridging software program for controlling the storage means Multiple types of interfaces Are stored in correspondence with each other. When the response request data is received by the external MIDI device, the receiving means receives a response returned from the external MIDI device according to the control by the driver. The fact that the receiving means receives a response from the external MIDI device means that the driver used at the time of receiving the response is an external MIDI device physically connected to the MIDI connecting means. Data transmission to and from Therefore, the decision means assigns this driver to the driver. The M IDI Connection means It is determined as a driver for controlling. In this way, a driver that has successfully transmitted response request data and received a response from an external MIDI device via a plurality of drivers can be externally connected. MIDI machine Data transmission to and from Automatically determined as a driver to control Available It was to so. Accordingly, the user can easily set the driver without performing a difficult driver setting operation.
[0007]
The present invention can be constructed and implemented not only as a device invention but also as a method invention. Further, the present invention can be implemented in the form of a program of a processor such as a computer or a DSP, or can be implemented in the form of a storage medium storing such a program.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
[0009]
FIG. 1 is a block diagram of a hardware configuration showing an embodiment of a personal computer terminal incorporating a communication setting device according to the present invention. The hardware configuration example of the personal computer terminal shown here is configured using a computer, in which MIDI data is transmitted between the personal computer terminal connected via the MIDI interface 4 and the external MIDI device 4A. The automatic setting of the MIDI communication driver necessary for control so that transmission and reception can be performed is performed by executing software including a predetermined control program for realizing the automatic setting processing of the MIDI communication driver according to the present invention by the computer. . Of course, this MIDI communication driver automatic setting process (see “main process” to be described later) is not limited to the form of computer software, but can also be implemented in the form of a microprogram processed by a DSP. However, the present invention is not limited to this form, and may be implemented in the form of a dedicated hardware device that includes a discrete circuit, an integrated circuit, a large scale integrated circuit, or the like.
The personal computer terminal according to the present invention is not limited to a personal computer, and may be any product application form such as an electronic musical instrument, a karaoke device, an electronic game device, or a multimedia device such as a portable communication terminal. Good.
[0010]
The personal computer terminal shown in this embodiment is controlled by a microcomputer comprising a microprocessor unit (CPU) 1, a read only memory (ROM) 2, and a random access memory (RAM) 3. The CPU 1 controls the operation of the entire personal computer terminal. For this CPU 1, ROM 2, RAM 3, MIDI interface (I / F) 4, operator detection circuit 5, display control circuit 6, tone synthesis circuit 7, external storage device 8, communication interface via data and address bus 1D (I / F) 9 are connected to each other. Further, the CPU 1 is connected to a timer 1A for measuring the interrupt time and various times in the timer interrupt process (interrupt process). For example, the timer 1A generates a clock pulse, and gives the generated clock pulse to the CPU 1 as a processing timing command or to the CPU 1 as an interrupt command. The CPU 1 executes various processes according to these instructions. The ROM 2 can transmit and receive MIDI data between a computer connected via the MIDI interface 4 and an external MIDI device 4A, such as various control programs executed by or referred to by the CPU 1 (for example, “main processing” described later). Various MIDI communication drivers and the like necessary for control are stored. The RAM 3 is used as a working memory that temporarily stores various data generated when the CPU 1 executes a predetermined program, or a memory that stores a control program currently being executed and related data. A predetermined address area of the RAM 3 is assigned to each function and used as a register, flag, table, memory, or the like.
[0011]
The MIDI interface (I / F) 4 inputs MIDI standard musical sound data (that is, MIDI data) from the external MIDI device 4A connected to the personal computer terminal to the personal computer terminal, or from the personal computer terminal to the MIDI standard. Is an interface for outputting musical tone data (MIDI data) to an external MIDI device 4A, and includes, for example, a MIDI-IN terminal, a MIDI-OUT terminal, a MIDI-THRU terminal, and the like. The external MIDI device 4A is any sequencer that generates MIDI data in response to a user operation, or any other MIDI device such as an external tone generator module or electronic musical instrument that generates musical sound based on MIDI data. Also good. The MIDI interface 4 is not limited to a dedicated MIDI interface, and the MIDI interface 4 is configured by using a general-purpose interface such as RS-232C, USB (Universal Serial Bus), IEEE1394 (I-Triple 1394). You may do it. In such a case, data other than MIDI data may be transmitted and received simultaneously. When the general-purpose interface as described above is used as the MIDI interface 4, the external MIDI device 4A may be able to transmit and receive data other than MIDI data. Of course, the data format related to the data transmitted and received between the personal computer terminal and the external MIDI device 4A is not limited to the data in the MIDI format, and may be in other formats. In this case, the MIDI interface 4 and the external MIDI device 4A Is a configuration suitable for it.
[0012]
The operation element detection circuit 5 detects an operation state of the operation element, and outputs switch information corresponding to the operation state to the CPU 1 via the data and address bus 1D. For example, a numeric keypad for inputting numeric data, a keyboard for inputting character data, or a display (not shown) used for selecting, setting, and controlling the pitch, tone, effect, etc. There are various operators such as a mouse used for operating a predetermined pointing device displayed on the screen. The display control circuit 6 displays various information such as a currently set MIDI communication driver and a plurality of MIDI communication drivers stored in the ROM 2 on a display composed of, for example, a liquid crystal display panel (LCD) or a CRT. Of course, in addition to this, control is performed so that the control state of the CPU 1 is displayed on the display. The musical tone synthesizing circuit 7 can simultaneously generate musical tone signals in a plurality of channels. The musical tone data given via the data and the address bus 1D is inputted, and the musical tone signal generated based on the musical tone data is inputted to the amplifier or the like. Sounds from a sound system including speakers. The format of the musical sound data may be digitally encoded as in the MIDI format, or may be composed of a waveform sample data system such as PCM, DPCM, or ADPCM. Any conventional configuration may be used for the configuration of the tone synthesizing circuit 7.
[0013]
The external storage device 8 stores various MIDI communication drivers and various control programs executed by the CPU 1. When no MIDI communication driver or control program is stored in the ROM 2, the MIDI communication driver or control program is stored in the external storage device 8 (for example, a hard disk) and read into the RAM 3, so that the MIDI data is stored in the ROM 2. The CPU 1 can be made to perform the same operation as when a communication driver or a control program is stored. In this way, MIDI communication drivers and control programs can be easily added and upgraded. The external storage device 8 is not limited to a hard disk (HD), but a flexible disk (FD), a compact disk (CD-ROM / CD-RW), a magneto-optical disk (MO), a DVD (Digital Versatile Disk), etc. Any storage device may be used as long as the storage device uses various external storage media. It may be a semiconductor memory or the like.
[0014]
The communication interface (I / F) 9 is connected to a wired or wireless communication network X such as a LAN, the Internet, or a telephone line, and is connected to a server computer (not shown) via the communication network X, and the server This is an interface for importing MIDI communication drivers and control programs from a computer to the personal computer terminal. That is, when no MIDI communication driver or control program is stored in the ROM 2 or the external storage device 8 (for example, hard disk), it is used to download the MIDI communication driver or control program from a server computer or the like. A personal computer terminal serving as a client transmits a command for requesting downloading of a MIDI communication driver and a control program to the server computer via the communication interface 9 and the communication network X. Upon receiving this command, the server computer distributes the requested MIDI communication driver and control program to the personal computer terminal via the communication network X, and the personal computer terminal transmits these MIDI communication driver and control via the communication interface 9. Downloading is completed by receiving the program and storing it in the external storage device 8 (for example, hard disk). The communication interface 9 and the communication network X are not limited to wired ones and may be wireless ones. Moreover, you may have both.
[0015]
The personal computer terminal as described above is not limited to one in which the operation element detection circuit 5, the display control circuit 6 or the musical tone synthesis circuit 7 is built in one apparatus body, but each is configured separately, and has a MIDI interface and various networks. Needless to say, the apparatus may be configured to connect each device using a communication means such as the above.
[0016]
As described above, in order to transmit and receive MIDI data between the personal computer terminal and the external MIDI device 4A connected via the MIDI interface 4, a MIDI communication driver corresponding to the connected external MIDI device 4A is installed. It is necessary to set in advance. Therefore, the personal computer terminal shown in FIG. 1 automatically reads out a MIDI communication driver suitable for controlling the connected external MIDI device 4A (hereinafter referred to as a connected device) from the ROM 2, the external storage device 8 or the like. Enabled to set. An outline of such automatic setting of the MIDI communication driver will be described with reference to FIG. FIG. 2 is a functional block diagram for explaining an outline of automatic setting of the MIDI communication driver by the personal computer terminal. However, in this embodiment, an example in which a serial cable is used as a MIDI interface for connecting a personal computer terminal and a connection device will be described. For convenience of explanation, the USB connection driver of manufacturer A is “driver A”, the manufacturer The USB connection driver of company B is called “driver B”, and the serial connection driver of manufacturer A is called “driver C”. In this case, in order to transmit and receive MIDI data between the personal computer terminal and the connected device, the personal computer terminal must be set in advance to use the “driver C”. In addition, the arrow in a figure represents the flow of data.
[0017]
In the embodiment shown in FIG. 2, the personal computer terminal first selects drivers A to C, which are MIDI communication drivers including a pair of in-driver and out-driver, from various drivers stored in the ROM 2 or the like. All in-drivers A to C of the driver are activated. The in-driver is one of the functions of the MIDI communication driver. By starting the in-driver, the personal computer terminal can convert the MIDI data received from the connected device into data in a format that can be processed by the personal computer terminal. When all the in-drivers A to C are activated, the personal computer terminal selects the driver A as the first inspection and activates only the out-driver A of the driver A. Then, a request is transmitted to the activated out driver A. The out driver is one of the functions of the MIDI communication driver. When the out driver is activated, the personal computer terminal uses the interface cable that connects the personal computer terminal to the connected device. Can be converted to data in a form that can be transmitted. The request to be transmitted to such an out driver is a request including an instruction to send the model ID of the connected device to the connected device, for example. Of course, it is not limited to this, and may include some transmission data, and may be an instruction (that is, an echo back execution instruction) such that transmission data transmitted to the connected device can be sent back as it is. In the case of such a request, it is possible to confirm whether or not normal data transmission / reception is performed by confirming the content of the transmission data.
[0018]
When a request is transmitted to the out driver A, since the out driver A is a USB connection driver, the personal computer terminal cannot transmit a request to a connection device connected by a serial cable. If the request is not received, the connected device cannot send any response (reply) to the in-driver A of the driver A being inspected. Therefore, the personal computer terminal receives the response from the in-driver A indefinitely. do not do. If the personal computer terminal does not receive the response from the in-driver A after waiting for a predetermined time, the personal computer terminal times out the reception of the response from the connected device by the in-driver A, and then selects the driver B as the second inspection and outputs it. Only driver B is activated. And the process performed with respect to the out driver A mentioned above is repeatedly performed with respect to the out driver B. Like the out driver A, the out driver B is also a USB connection driver. Therefore, the personal computer terminal times out reception of a response from the connected device by the in driver B, and selects the driver C as a third inspection. Only the out driver C is activated.
[0019]
When a request is transmitted to the out driver C, since the out driver C is a serial connection driver, the personal computer terminal can transmit a request to a connection device connected by a serial cable. The connected device transmits any response to the in-driver C corresponding to the out-driver C in response to the reception of the request from the out-driver C. As a response, a model ID corresponding to the content of the request received from the personal computer terminal and the received data itself are transmitted. When the in-driver C receives a response from the connected device, the in-driver C transmits the response to the personal computer terminal. When the personal computer terminal receives a response from the in-driver C, it detects it as a MIDI communication driver that can use the driver C including the out-driver C and the in-driver C. In this way, the personal computer terminal automatically transmits a request to a plurality of MIDI communication drivers, and automatically sets the MIDI communication driver to use the first MIDI communication driver that has received a response.
[0020]
As described above, in the personal computer terminal shown in FIG. 1, a MIDI communication driver suitable for controlling the connected device is automatically read from the ROM 2 or the external storage device 4 and set. Therefore, the “main process” for performing the automatic setting process of the MIDI communication driver will be described. FIG. 3 is a flowchart showing an example of “main processing” executed by the CPU 1 in the personal computer terminal shown in FIG. Hereinafter, the operation of the processing will be described according to the flowchart shown in FIG.
[0021]
In step S1, a driver related to the connected device is detected. That is, generally, a personal computer terminal stores many other drivers in addition to a MIDI communication driver related to transmission / reception of MIDI data. Therefore, only the MIDI communication driver related to the transmission / reception of MIDI data is detected from the plurality of types of drivers. At this time, if the MIDI communication driver is not detected, the user is prompted to install the MIDI communication driver. In step S2, in-drivers of all detected MIDI communication drivers are activated. The activated in-driver is ready to receive data from the connected device. In step S3, one of the detected MIDI communication drivers is selected, and the out driver of the MIDI communication driver is activated. In step S4, the request received from the personal computer terminal is sent from the out driver to the connected device after being converted into a data format conforming to the communication standard of the driver. In step S5, it is determined whether or not a predetermined time has elapsed since the request transmission start time. If a predetermined time has elapsed from the request transmission start time (YES in step S5), the process returns to step S3. That is, as the “timeout”, the MIDI driver including the out driver and the in drive selected in step S3 is set as a non-target driver, and the next driver is inspected. On the other hand, if the predetermined time has not elapsed since the request transmission start time (NO in step S5), the reception data of the in-driver of the MIDI communication driver selected in step S3 is confirmed (step S6). In step S7, it is determined whether or not response data from the connected device has been received. If it is not determined that the response data from the connected device has been received (NO in step S7), the process returns to step S5. If it is determined that the response data from the connected device has been received (YES in step S7), the driver that uses the MIDI communication driver selected in step S3 is determined (step S8).
[0022]
As described above, automatic setting of the MIDI communication driver shown in FIG. 2 described above can be realized. In other words, the personal computer terminal automatically transmits a request to a plurality of drivers and automatically sets the MIDI communication driver to use the first MIDI communication driver that has received a response.
In the above-described main process, if all the MIDI communication drivers have been inspected but no MIDI communication driver to be used has been determined, a message to that effect is displayed to the user. It may be configured to prompt the user to install a MIDI communication driver and then end the “main process”.
[0023]
In the above-described embodiment, a request is sequentially transmitted to a plurality of MIDI communication drivers, and the first MIDI communication driver that can receive a response is automatically set as a MIDI communication driver. When there are a plurality of MIDI communication drivers that can receive the response, it is preferable that the user can manually select one of them. An example of such “main processing” will be described with reference to FIG. FIG. 4 is a flowchart showing another embodiment of the “main process”.
[0024]
Each process from step S11 to step S17 shown in FIG. 4 is a process corresponding to each process from step S1 to step S7 in the “main process” shown in FIG. Is omitted. In step S18, the driver name assigned to the MIDI communication driver is stored in a memory such as the RAM 3. In step S19, it is determined whether there is a MIDI communication driver that is not selected (that is, communication is not confirmed). If it is determined that there is an unselected MIDI communication driver (YES in step S19), the process returns to step S13. If it is determined that there is no unselected MIDI communication driver (NO in step S19), the driver names of all the MIDI communication drivers that have received responses stored in the memory are displayed on the display or the like to the user. The user is prompted to select a MIDI communication driver (step S20). In step S21, a MIDI communication driver that uses the MIDI communication driver selected by the user in accordance with user selection is determined. As described above, in the process of FIG. 4, the MIDI communication driver that first receives the response data is not used as the MIDI communication driver, but the communication is confirmed for all detected MIDI communication drivers, and the MIDI communication driver that has received the response. If there are multiple IDs, the user can select one of the MIDI communication drivers. This is convenient because the user can set the desired MIDI communication driver.
[0025]
If there are a plurality of MIDI communication drivers that can receive the response, one of them may be automatically selected. An example of such “main processing” will be described with reference to FIG. FIG. 5 is a flowchart showing still another embodiment of the “main process”.
[0026]
Each process from step S31 to step S39 shown in FIG. 5 is a process corresponding to each process from step S11 to step S19 in the “main process” shown in FIG. Is omitted. In step S40, the MIDI communication driver that matches the model information is selected from all the MIDI communication drivers that have responded, and the driver that uses the MIDI communication driver is determined. For example, by referring to the model ID received as a response from the connected device, the manufacturer name as model information is acquired, and the MIDI communication driver supplied by the acquired manufacturer is selected. If the model ID is not received as a response, the model ID is acquired before the automatic selection process. In this way, in the process of FIG. 5, the MIDI communication driver that first receives the response data is not used as the MIDI communication driver, but the communication is confirmed for all detected MIDI communication drivers, and the MIDI communication driver that has received the response. If there is more than one, one of the MIDI communication drivers is automatically selected. When the MIDI communication driver is automatically selected, the MIDI communication driver is selected by referring to the model information, which is convenient because the MIDI communication driver most suitable for the connected device is set.
[0027]
In the embodiment shown in FIG. 2 described above, the personal computer terminal sends requests to a plurality of drivers in order, and automatically becomes a MIDI communication driver that uses the first MIDI communication driver that has received a response. Set. However, such a method of sending a request to a plurality of drivers in order and waiting for reception of a response results in a very long processing time and a very poor efficiency when a large number of MIDI communication drivers are stored. Therefore, when a large number of MIDI communication drivers are stored, it is preferable to transmit requests to a plurality of MIDI communication drivers simultaneously. The outline of the automatic setting of the MIDI communication driver by such a method will be described with reference to FIG. FIG. 6 is a functional block diagram for explaining an outline of another method for automatically setting a MIDI communication driver by a personal computer terminal. Similar to the embodiment shown in FIG. 2, in this embodiment, an example in which a serial cable is used as a MIDI interface for connecting a personal computer terminal and a connection device will be described. However, for convenience, the USB connection driver from manufacturer A is referred to as “driver A”, the serial connection driver from manufacturer A as “driver B”, and the USB connection driver from manufacturer B as “driver C”. In such a case, in order to transmit / receive MIDI data between the personal computer terminal and the connected device, the personal computer terminal must be set in advance to use “driver B”.
[0028]
In the embodiment shown in FIG. 5, the personal computer terminal selects drivers A to C which are MIDI communication drivers from various drivers stored in the ROM 2 and the like, and out drivers A to C and in drivers A of these drivers. All of ~ C are activated. When the personal computer terminal activates all the out drivers A to C and the in drivers A to C, the personal computer terminal transmits a request to all the activated out drivers A to C. For each request transmitted to the out-drivers A to C, a different identifier (for example, an identifier representing the type of driver) is added for each destination driver. When a request is transmitted to each of the out-drivers A to C, only the out-driver B that is a serial connection driver can transmit the request to a connected device connected by a serial cable. In response to the reception of the request from the out driver B, the connected device transmits any response (reply) to the corresponding in driver B. When transmitting a response, the connected device transmits the response by adding the identifier added to the received request. When the in-driver B receives a response from the connected device, the in-driver B transmits a response with an identifier added to the personal computer terminal. When receiving a response from the in-driver B, the personal computer terminal refers to the identifier added to the response and detects the driver B specified by the identifier as a usable driver. In this way, the personal computer terminal automatically transmits a request to a plurality of drivers and automatically sets it as a MIDI communication driver that uses the MIDI communication driver corresponding to the identifier of the response that can be received.
When the personal computer terminal receives a plurality of responses, the MIDI communication driver corresponding to the identifier added to each of the plurality of responses that can be received may be displayed and selected by the user. Alternatively, the selection may be made automatically according to the model information of the connected device. In this embodiment, it is only necessary to send a request to a plurality of drivers at the same time in one confirmation. Not only sending requests to all the drivers at the same time, You can also send requests at the same time.
[0029]
In each of the above-described embodiments, it is not necessary to start all the in-drivers or out-drivers at the same time. In this case, the in-driver and the out-driver of the selected driver may be activated as a set for inspection.
[0030]
【The invention's effect】
According to the present invention, since a personal computer terminal automatically sets a MIDI communication driver necessary for controlling so that MIDI data can be transmitted to and received from an external MIDI device connected via a communication MIDI interface, The effect is that even a beginner can easily set the correct MIDI communication driver.
[Brief description of the drawings]
FIG. 1 is a block diagram of a hardware configuration showing an embodiment of a personal computer terminal incorporating a communication setting device according to the present invention.
FIG. 2 is a functional block diagram for explaining an outline of automatic setting of a MIDI communication driver by a personal computer terminal.
FIG. 3 is a flowchart illustrating an example of main processing.
FIG. 4 is a flowchart showing another embodiment of the main process.
FIG. 5 is a flowchart showing still another embodiment of the main process.
FIG. 6 is a functional block diagram for explaining an outline of another method for automatically setting a MIDI communication driver by a personal computer terminal.
[Explanation of symbols]
1 ... CPU, 1A ... timer, 2 ... ROM, 3 ... RAM, 4 ... MIDI interface, 4A ... external MIDI device, 5 ... operator detection circuit, 6 ... display control circuit, 7 ... musical synthesis circuit, 8 ... external Storage device, 9 ... communication interface, X ... communication network, 1D ... data and address bus

Claims (6)

外部MIDI機器を接続することが可能な複数種類インタフェースのうちのいずれかからなる1つのMIDI接続手段と、
前記複数種類インタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、前記MIDI接続手段に接続される外部MIDI機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して複数記憶する記憶手段と、
前記複数のドライバのうちの任意のドライバによる制御に従って、前記MIDI接続手段から応答要求データを送信する送信手段と、
前記応答要求データが前記外部MIDI機器で受理された場合に、前記外部MIDI機器から返される応答を前記ドライバによる制御に従って受信する受信手段と、
前記受信手段が応答を受信した際に用いたドライバを、前記MIDI接続手段を制御するためのドライバとして決定する決定手段と
を具え、前記決定手段にて決定したドライバを、前記MIDI接続手段に物理的に接続されている外部MIDI機器との間でのデータ伝送を制御するためのドライバとして利用することを特徴とする通信設定装置。
One MIDI connection means comprising any one of a plurality of types of interfaces capable of connecting an external MIDI device;
A plurality of types of interface driver is a bridging specific software program for controlling each of the plurality of types of controls transmission of data to and from the external MIDI device connected to the MIDI connection means Storage means corresponding to the interface of
Transmission means for transmitting response request data from the MIDI connection means in accordance with control by an arbitrary driver of the plurality of drivers;
Receiving means for receiving a response returned from the external MIDI device in accordance with control by the driver when the response request data is received by the external MIDI device;
The driver used when the receiving unit receives a response, comprising a determining means for determining as a driver for controlling the MIDI connection hand stage, the driver decided by said decision means, the MIDI connection means A communication setting device used as a driver for controlling data transmission with an external MIDI device physically connected.
前記送信手段は、複数あるドライバの中から順次に選択したドライバによる制御に従って応答要求データを送信することを特徴とする請求項1に記載の通信設定装置。  The communication setting apparatus according to claim 1, wherein the transmission unit transmits response request data according to control by a driver sequentially selected from a plurality of drivers. 前記送信手段は、ドライバごとの識別子を付加した応答要求データを、複数のドライバによる制御に従って同時に送信することを特徴とする請求項1に記載の通信設定装置。  The communication setting apparatus according to claim 1, wherein the transmission unit simultaneously transmits response request data to which an identifier for each driver is added according to control by a plurality of drivers. 前記受信手段が複数の応答を受信した際に、該応答を受信した複数のドライバの中から、いずれのドライバを前記MIDI接続手段を制御するためのドライバとして利用するかを選択する選択手段を具えたことを特徴とする請求項1に記載の通信設定装置。When the receiving means receives a plurality of responses, the receiving means comprises a selecting means for selecting which driver is to be used as a driver for controlling the MIDI connection means from among the plurality of drivers that have received the responses. The communication setting device according to claim 1. 前記応答は前記外部MIDI機器の機種情報を含み、
前記決定手段は、前記受信手段が複数の応答を受信した際に、該応答を受信した複数のドライバの中から、外部MIDI機器の機種情報に対応するドライバを前記MIDI接続手段を制御するためのドライバとして決定することを特徴とする請求項1に記載の通信設定装置。
The response includes model information of the external MIDI device,
When the receiving unit receives a plurality of responses, the determining unit controls the MIDI connection unit for a driver corresponding to the model information of the external MIDI device from the plurality of drivers that have received the response. The communication setting device according to claim 1, wherein the communication setting device is determined as a driver.
コンピュータに、
外部MIDI機器を接続することが可能な複数種類インタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、各インタフェースに接続された外部MIDI機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して所定の記憶手段に複数記憶する手順と、
前記複数のドライバのうちの任意のドライバによる制御に従って、前記複数種類のインタフェースのうちのいずれかからなる1つのMIDI接続手段から応答要求データを送信する手順と、
前記応答要求データが前記外部MIDI機器で受理された場合に、前記外部MIDI機器から返される応答を前記ドライバによる制御に従って受信する手順と、
前記応答を受信した際に用いたドライバを、前記MIDI接続手段を制御するためのドライバとして決定する手順と
を実行させるためのプログラム。
On the computer,
An external MIDI device is a bridge specific software programs for control the respective plurality of types of interfaces capable of connecting the driver, the transmission of data between the connected external MIDI device to the interface and instructions for storing a plurality in a predetermined storage means in correspondence with the plurality of types of interfaces and controls the,
Under the control of any of the driver of the plurality of drivers, and transmitting a one MIDI connection hand variable or response from the requested data consisting of any one of the plurality of types of interfaces,
A procedure for receiving a response returned from the external MIDI device in accordance with control by the driver when the response request data is received by the external MIDI device;
Program for executing a procedure for determining the driver used when receiving the response, as a driver for controlling the MIDI connection hand stage.
JP2002057960A 2002-03-04 2002-03-04 Communication setting device and communication setting program Expired - Fee Related JP4211266B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002057960A JP4211266B2 (en) 2002-03-04 2002-03-04 Communication setting device and communication setting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002057960A JP4211266B2 (en) 2002-03-04 2002-03-04 Communication setting device and communication setting program

Publications (2)

Publication Number Publication Date
JP2003256348A JP2003256348A (en) 2003-09-12
JP4211266B2 true JP4211266B2 (en) 2009-01-21

Family

ID=28668094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002057960A Expired - Fee Related JP4211266B2 (en) 2002-03-04 2002-03-04 Communication setting device and communication setting program

Country Status (1)

Country Link
JP (1) JP4211266B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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 (en) * 2004-08-06 2011-03-23 ヤマハ株式会社 Electronic music apparatus and program
JP4345029B2 (en) 2007-03-28 2009-10-14 ブラザー工業株式会社 Image processing program
JP2008287633A (en) * 2007-05-21 2008-11-27 Fujitsu Ltd HBA information providing program, HBA information providing method, and HBA information providing apparatus

Also Published As

Publication number Publication date
JP2003256348A (en) 2003-09-12

Similar Documents

Publication Publication Date Title
JP3726712B2 (en) Electronic music apparatus and server apparatus capable of exchange of performance setting information, performance setting information exchange method and program
EP1221688B1 (en) Music data distribution system and method
JP3753007B2 (en) Performance support apparatus, performance support method, and storage medium
JP4211266B2 (en) Communication setting device and communication setting program
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
JP3770153B2 (en) Communication setting device and communication setting program
US7375274B2 (en) Automatic accompaniment apparatus, method of controlling the apparatus, and program for implementing the method
JP2003099627A (en) Electronic music equipment system, electronic music equipment applied to electronic music equipment system, management computer, user computer, distribution computer and program applied thereto
JP2008233334A (en) Music application device, electronic musical instrument and program
JP4765765B2 (en) Electronic musical instrument system and program therefor
US20040173081A1 (en) Interactive music application apparatus and electronic musical instrument and programs therefor
JP5066975B2 (en) NETWORK CONNECTION ENVIRONMENT SETTING CLIENT DEVICE, NETWORK CONNECTION ENVIRONMENT SETTING SYSTEM, AND PROGRAM
JP2003114690A (en) System and device for music information distribution, music information reproducing device, music information distributing program, and music information reproducing program
JP4000842B2 (en) Lyric support device and lyrics support program used therefor
JP2002258852A (en) Fortune-telling and composition system, fortune-telling and musical composition apparatus, fortune-telling and musical composition method and recording medium
JP2010128482A (en) Electronic music device and music content using program
JP4111258B2 (en) Information search system, information search apparatus and method, and storage medium
JP2005181823A (en) Electronic music instrument, server computer and program applied therefor
JP3176497B2 (en) Operation method of communication karaoke system and karaoke apparatus
JP2003015659A (en) Device and program for music information distribution
JP2004078096A (en) Automatic playing device with display function
JP2006133678A (en) Automatic accompaniment apparatus and program for realizing its control method
JP2002373276A (en) System, server for distributing contents, for selling external equipment, portable communication terminal, external equipment capable of distributing contents and program for distributing contents and selling external equipment
JP2003022081A (en) Device and program for music information distribution

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