JP3467941B2 - マルチポートmidiメッセージ変換装置および方法 - Google Patents

マルチポートmidiメッセージ変換装置および方法

Info

Publication number
JP3467941B2
JP3467941B2 JP33296895A JP33296895A JP3467941B2 JP 3467941 B2 JP3467941 B2 JP 3467941B2 JP 33296895 A JP33296895 A JP 33296895A JP 33296895 A JP33296895 A JP 33296895A JP 3467941 B2 JP3467941 B2 JP 3467941B2
Authority
JP
Japan
Prior art keywords
midi
message
input
correspondence table
terminal
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
JP33296895A
Other languages
English (en)
Other versions
JPH09172421A (ja
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 JP33296895A priority Critical patent/JP3467941B2/ja
Publication of JPH09172421A publication Critical patent/JPH09172421A/ja
Application granted granted Critical
Publication of JP3467941B2 publication Critical patent/JP3467941B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Time-Division Multiplex Systems (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マルチポートの
MIDIメッセージをシングルポートのMIDI機器で
処理するマルチポートMIDIメッセージ変換装置およ
びマルチポートMIDIメッセージ変換方法に関する。
【0002】
【従来の技術】MIDI規格では、MIDIメッセージ
に16チャンネルのMIDIチャンネルを設定すること
ができる。しかし、近年の音源装置などのMIDI機器
には32チャンネルや64チャンネルを用いてデータ伝
送を行うものが実用化されている。このような機器でも
データフォーマットはMIDI規格に準拠したものを用
いていた。したがって、このようなMIDI機器は2ま
たは4系統のMIDI入出力ポート(マルチポート)を
備え、1〜32または1〜64のチャンネルを各系統の
1〜16チャンネルに分割して他のMIDI機器に伝送
するようになっていた。
【0003】このことは、複数のMIDI機器から他の
複数のMIDI機器に対して、それぞれ別系統でMID
Iメッセージを伝送したい場合も同様であった。
【0004】また、マルチポートのMIDIメッセージ
を記録するためには通常マルチポート対応のMIDIシ
ーケンサが必要である。
【0005】
【発明が解決しようとする課題】しかし、多数のMID
IケーブルをMIDI機器間で引き回すことは煩雑であ
りその接続が面倒であった。また、マルチポート対応の
MIDIシーケンサはシングルポートのMIDIシーケ
ンサに比べて大がかりであり高価であった。
【0006】また、マルチポートの機器では、各系統が
それぞれ多くのMIDIチャンネルを使用していること
があり、各系統で同一のMIDIチャンネルが使用され
ている場合があるため、これを単純にマージして1系統
で送受信することは、チャンネルのバッティングを招く
ため不可能であった。
【0007】この発明は、マルチポートのMIDIメッ
セージをシングルポートのMIDIメッセージとして伝
送・記録することのできるマルチポートMIDIメッセ
ージ変換装置およびマルチポートMIDIメッセージ変
換方法を提供することを目的とする。
【0008】
【課題を解決するための手段】この出願の請求項1の発
明は、複数のMIDI入力端子、1つのMIDI出力
端子、MIDIチャンネルと前記複数のMIDI入力
端子とを対応させる対応テーブル、 いずれかのMI
DI入力端子からMIDIメッセージが入力されたと
き、入力されたMIDIメッセージの受信チャンネルと
入力されたMIDI入力端子が前記対応テーブルの内容
と一致している場合には、該MIDIメッセージをその
まま前記MIDI出力端子から出力し、不一致の場合に
は、前記入力されたMIDIメッセージの受信チャンネ
ルと入力されたMIDI入力端子とを対応させるように
前記対応テーブルを更新し、この更新したチャンネル/
端子の対応を指定する指定メッセージを前記MIDI出
力端子から出力したのち、前記MIDIメッセージを
記MIDI出力端子から出力する制御部であって、前記
不一致の場合であって、入力されたMIDIメッセージ
のチャンネル/端子の対応が、低頻度に発生する対応で
あった場合には、前記対応テーブルを更新することな
く、このMIDIメッセージのMIDI出力端子を指定
する一時指定メッセージを出力する制御部と、を備えた
送信側マルチポートMIDIメッセージ変換装置、およ
、1つのMIDI入力端子、複数のMIDI出力端
、MIDIチャンネルと前記複数のMIDI出力端
子とを対応させる対応テーブル、前記MIDI入力端
子からMIDIメッセージが入力されたとき、入力され
たMIDIメッセージの受信チャンネルに基づいて前記
対応テーブルを検索し検索されたMIDI出力端子か
ら該MIDIメッセージを出力し、前記MIDI入力端
子から前記指定メッセージが入力されたとき、この内容
でMIDIチャンネルとMIDI出力端子を対応づける
べく前記対応テーブルを更新する制御部であって、 前記
MIDI入力端子から一時指定メッセージが入力された
ときは、前記対応テーブルを更新することなく、その直
後に入力されるMIDIメッセージをこの一時指定メッ
セージが指定するMIDI出力端子から出力する制御部
、を備えた受信側マルチポートMIDIメッセージ変
換装置からなることを特徴とする。
【0009】この出願の請求項2の発明は、複数のMI
DI入力端子と、1つのMIDI出力端子と、MIDI
チャンネルと前記複数のMIDI入力端子とを対応させ
る対応テーブルと、いずれかのMIDI入力端子からM
IDIメッセージが入力されたとき、入力されたMID
Iメッセージの受信チャンネルと入力されたMIDI入
力端子が前記対応テーブルの内容と一致している場合に
は、該MIDIメッセージをそのまま前記MIDI出力
端子から出力し、不一致の場合には、前記入力されたM
IDIメッセージの受信チャンネルと入力されたMID
I入力端子とを対応させるように前記対応テーブルを更
新し、この更新したチャンネル/端子の対応を指定する
指定メッセージを前記MIDI出力端子から出力したの
ち、前記MIDIメッセージを前記MIDI出力端子か
出力する制御部であって、前記不一致の場合であっ
て、入力されたMIDIメッセージのチャンネル/端子
の対応が、低頻度に発生する対応であった場合には、前
記対応テーブルを更新することなく、このMIDIメッ
セージのMIDI出力端子を指定する一時指定メッセー
ジを出力する制御部と、を備えたことを特徴とする。
【0010】この出願の請求項3の発明は、1つのMI
DI入力端子と、複数のMIDI出力端子と、MIDI
チャンネルと前記複数のMIDI出力端子とを対応させ
る対応テーブルと、前記MIDI入力端子からMIDI
メッセージが入力されたとき、入力されたMIDIメッ
セージの受信チャンネルに基づいて前記対応テーブルを
検索し検索されたMIDI出力端子から該MIDIメ
ッセージを出力し、特定のMIDIチャンネルと特定の
MIDI出力端子の対応を指定する指定メッセージが入
力されたとき、この内容で前記対応テーブルを更新する
制御部であって、前記MIDI入力端子から一時的にM
IDI出力端子を指定する一時指定メッセージが入力さ
れたときは、前記対応テーブルを更新することなく、そ
の直後に入力されるMIDIメッセージをこの一時指定
メッセージが指定するMIDI出力端子から出力する制
御部と、を備えたことを特徴とする。
【0011】この出願の請求項4の発明は、送信側にお
いて、MIDIチャンネルと複数のMIDI入力端子と
の対応関係を対応テーブルに記憶し、いずれかのMID
I入力端子からMIDIメッセージが入力されたとき、
入力されたMIDIメッセージの受信チャンネルと入力
されたMIDI入力端子が前記対応テーブルの内容と一
致している場合には、該MIDIメッセージをそのまま
前記MIDI出力端子から出力し、不一致の場合には、
前記入力されたMIDIメッセージの受信チャンネルと
入力されたMIDI入力端子の対応で前記対応テーブル
を更新し、このチャンネル/端子の対応を指定する指定
メッセージを出力したのち、前記MIDIメッセージを
出力するとともに、前記不一致の場合であって、入力さ
れたMIDIメッセージのチャンネル/端子の対応が、
低頻度に発生する対応であった場合には、前記対応テー
ブルを更新することなく、このMIDIメッセージのM
IDI出力端子を指定する一時指定メッセージを出力
、受信側において、MIDIのチャンネルと複数のM
IDI出力端子との対応関係を対応テーブルに記憶し、
前記MIDI入力端子からMIDIメッセージが入力さ
れたとき、入力されたMIDIメッセージの受信チャン
ネルに基づいて前記対応テーブルを検索し検索された
MIDI出力端子から該MIDIメッセージを出力し、
前記指定メッセージが入力されたとき、この内容でMI
DIチャンネルとMIDI出力端子を対応づけるべく
記対応テーブルを更新するとともに、前記MIDI入力
端子から前記一時指定メッセージが入力されたときは、
前記対応テーブルを更新することなくその直後に入力さ
れるMIDIメッセージをこの一時指定メッセージが指
定するMIDI出力端子から出力することを特徴とす
る。
【0012】この出願の請求項の発明は、MIDIチ
ャンネルと複数のMIDI入力端子との対応関係を対応
テーブルに記憶し、いずれかのMIDI入力端子からM
IDIメッセージが入力されたとき、入力されたMID
Iメッセージの受信チャンネルと入力されたMIDI入
力端子が前記対応テーブルの内容と一致している場合に
は、該MIDIメッセージをそのまま前記MIDI出力
端子から出力し、不一致の場合には、前記入力されたM
IDIメッセージの受信チャンネルと入力されたMID
I入力端子の対応で前記対応テーブルを更新し、この対
応を指定する指定メッセージを出力したのち、前記MI
DIメッセージを出力するとともに、前記不一致の場合
であって、入力されたMIDIメッセージのチャンネル
/端子の対応が、低頻度に発生する対応であった場合に
は、前記対応テーブルを更新することなく、このMID
IメッセージのMIDI出力端子を指定する一時指定メ
ッセージを出力することを特徴とする。
【0013】この出願の請求項の発明は、MIDIの
チャンネルと複数のMIDI出力端子との対応関係を対
応テーブルに記憶し、前記MIDI入力端子からMID
Iメッセージが入力されたとき、入力されたMIDIメ
ッセージの受信チャンネルに基づいて前記対応テーブル
を検索し検索されたMIDI出力端子から該MIDI
メッセージを出力し、特定のMIDIチャンネルと特定
のMIDI出力端子の対応を指定する指定メッセージが
入力されたとき、この内容でMIDIチャンネルとMI
DI出力端子を対応づけるべく前記対応テーブルを更新
するとともに、前記MIDI入力端子から前記一時指定
メッセージが入力されたときは、前記対応テーブルを更
新することなくその直後に入力されるMIDIメッセー
ジをこの一時指定メッセージが指定するMIDI出力端
子から出力することを特徴とする。
【0014】MIDI規格では、MIDIメッセージ
(チャンネルメッセージ)を16チャンネルに振り分け
て送受することができる。すなわちチャンネルメッセー
ジには該メッセージを受信すべきMIDIチャンネル
(受信チャンネル)としてチャンネル1〜チャンネル1
6を指定する0〜15の数値が付されている。
【0015】この発明では、複数のMIDI入力端子の
どれかからMIDIメッセージが入力されたとき、その
MIDI入力端子とMIDIメッセージの受信チャンネ
ルとの対応関係を対応テーブルに記憶し、この受信チャ
ンネルと入力端子との対応関係を指定する指定メッセー
ジを先に出力したのち、該MIDIメッセージを出力す
る。これにより、このMIDIメッセージを受信する側
では、MIDIメッセージの受信チャンネルに基づいて
そのメッセージの入力端子が分かるため該MIDI入力
端子に対応するMIDI出力端子にこのMIDIメッセ
ージを出力すればよいことになり、シングルポート(1
系統)のMIDI伝送でマルチポート(複数系統)のM
IDIメッセージを混同することなく伝送することがで
きる。また、これを記録・再生する場合でも、シングル
ポートのシーケンサを用いることができる。
【0016】そして、この場合において、同じ受信チャ
ンネルが複数のMIDIポートで使用されない限り、す
なわち、同じ受信チャンネルを指定するMIDIメッセ
ージが複数のMIDI入力端子から入力されない限り、
一度指定メッセージを出力すれば、以後指定メッセージ
なしでその受信チャンネルのMIDIメッセージを出力
することができ、複数のMIDI入力端子で適当にMI
DI受信チャンネルを割り振ることによりデータ量の増
加を最小限にしてマルチポートのMIDIメッセージを
シングルポートのMIDIメッセージにまとめる(マー
ジする)ことができる。
【0017】さらに、この発明では、MIDIチャンネ
ルとMIDI出力端子の対応関係を指定する指定メッセ
ージ(これは請求項1の指定メッセージに対応する。)
が入力されたとき、これを対応テーブルに書き込み、M
IDIメッセージ(チャンネルメッセージ)が入力され
たとき、このMIDIメッセージから受信チャンネルを
参照し、対応するMIDI出力端子からこのMIDIメ
ッセージを出力する。これにより、シングルポートのM
IDIメッセージを混同することなくマルチポートに振
り分けて出力することができる。MIDIメッセージや
指定メッセージは、請求項2のマルチポートMIDIメ
ッセージ変換装置から入力されてもよく、請求項2,請
求項5の装置・方法で変換(マージ)されたMIDIメ
ッセージを記録したシングルポートシーケンサから読み
出して入力してもよい。
【0018】なお、指定メッセージもMIDIメッセー
ジと同様のフォーマットで、すなわち、MIDIメッセ
ージとして構成することができ、このようにすることに
より、インプリメント・伝送の画一化を図ることができ
る。
【0019】
【発明の実施の形態】図1はこの発明の実施形態である
エンコーダおよびデコーダを含むカラオケシステムを示
す図である。このカラオケシステムでは、カラオケ装置
本体1に外づけ機器として音源装置7,アンプ8,照明
装置9が接続されている。カラオケ装置本体1は、カラ
オケ演奏音発生のためのMIDIメッセージを読み出す
楽音シーケンサ3,エコーなどの効果を制御するための
MIDIメッセージを読み出す効果シーケンサ4,カラ
オケ曲に同期した照明制御をするためのMIDIメッセ
ージを読み出すための照明シーケンサ5が設けられてい
る。楽音シーケンサ3は32トラックのシーケンスデー
タを出力するため、2系統のMIDI出力ポートを有し
ている。また、照明制御などは必ずしもMIDIメッセ
ージを用いて行う必要はないが、カラオケの楽曲ファイ
ルのインプリメントを画一化するため全てのシーケンス
データはMIDIフォーマットで記載されている。これ
ら楽音シーケンサ3,効果シーケンサ4,照明シーケン
サ5のMIDI出力ポートはエンコーダ2に接続されて
いる。エンコーダ2はこれらの機器から入力されたMI
DIメッセージをシングルポート(1系統)のメッセー
ジにマージして出力する。このシングルポートのMID
Iメッセージは、1本のMIDIケーブルによってカラ
オケ装置本体1の外部に取り出される。
【0020】このケーブルはデコーダ6に接続されてい
る。デコーダ6は、シングルポートのMIDIメッセー
ジを音源装置7,アンプ8,照明装置9に振り分けて出
力する。この振り分けは、楽音シーケンサ3から送られ
てきたMIDIメッセージを音源装置7に出力し、効果
シーケンサ4から送られてきたMIDIメッセージをア
ンプ8に出力し、照明シーケンサ5から送られてきたM
IDIメッセージを照明装置9に出力するように行われ
る。
【0021】ここで、エンコーダ2は4系統のMIDI
入力ポート(MIDI入力端子)11−1〜11−4
(図2参照)を備えており、デコーダ6は4系統のMI
DI出力ポート(MIDI出力端子)27−1〜27−
4(図3参照)を備えている。このうち、楽音シーケン
サ3はMIDI入力ポート11−1,11−2に接続さ
れ、効果シーケンサ4はMIDI入力ポート11−3に
接続され、照明シーケンサ5はMIDI入力ポート11
−4に接続されている。そして、音源装置7はMIDI
出力ポート27−1,27−2に接続され、アンプ8は
MIDI出力ポート27−3に接続され、照明装置9は
MIDI出力ポート27−4に接続されている。エンコ
ーダ2は上記4系統のMIDI入力ポートから入力され
たMIDIメッセージをマージし、デコーダ6はマージ
されたMIDIメッセージをそれぞれ対応する番号の出
力ポートに振り分ける。すなわち、MIDI入力ポート
11−1から入力されたMIDIメッセージをMIDI
出力ポート27−1に出力し、MIDI入力ポート11
−2から入力されたMIDIメッセージをMIDI出力
ポート27−2に出力し、MIDI入力ポート11−3
から入力されたMIDIメッセージをMIDI出力ポー
ト27−3に出力し、MIDI入力ポート11−4から
入力されたMIDIメッセージをMIDI出力ポート2
7−4に出力する。
【0022】この振り分けはMIDIメッセージに含ま
れる受信チャンネルに基づいて行われる。ここで、MI
DIメッセージについて説明する。
【0023】図6はMIDIメッセージの構成を説明す
る図である。MIDIメッセージのうち全てのMIDI
機器に汎用的に規定されているチャンネルメッセージは
2または3バイトからなっており、第1バイトがステー
タスバイトである。ステータスとはこのMIDIメッセ
ージが何を指定するメッセージであるかを示すコードで
あり、例えば、9nはノートオンメッセージである旨を
示しており、Bnはコントロールチェンジメッセージで
ある旨を示している。このステータスバイトに含まれる
nがこのメッセージの受信チャンネルを示している。n
=0H 〜FH (15)の値をとり、それぞれMIDIの
1〜16チャンネルを示している。MIDI機器はいず
れかのMIDIチャンネルのメッセージを選択的に受信
することもでき、全てのMIDIチャンネルのメッセー
ジを受信することもできる。そして、第2バイトおよび
第3バイトがそのチャンネルメッセージの実質的内容な
示すバイトである。
【0024】同図第4段に示すコントロールチェンジメ
ッセージの場合には、第2バイトがコントローラの種類
を表している。たとえば、01:モジュレーションホイ
ール、02:ブレスコントローラ、04:フットコント
ローラ、96(60H ):データインクリメントスイッ
チ、97(61H ):データデクリメントスイッチなど
である。そして、第3バイトがそのコントローラの操作
値を示している。
【0025】上記のように第2バイトのコントローラの
種類を指定する値として0〜127を使用することがで
きるが、コントローラの種類は数種類〜十数種類程度で
あるため、大部分の値、特に100以上(HEXコード
で表現すると64H 以上)の値は使用されていない。そ
こで、上記エンコーダ2,デコーダ6はこの実際のコン
トローラに割り当てられていない第2バイトを有するコ
ントロールチェンジメッセージをMIDIポートとMI
DIチャンネルの対応を指定するメッセージとして用い
ている。ここでは120(78H )をこの対応を指定す
るメッセージとして用いている。すなわち、Bn,7
8,ppというメッセージは、nチャンネルを受信チャ
ンネルとするメッセージはppのMIDIポートから入
出力されるものである旨を示している。エンコーダ2は
マージしたMIDIメッセージにこの指定メッセージを
付して送信することにより、デコーダ6において、MI
DIメッセージを正しく振り分けることができる。ま
た、一度発生した指定メッセージをエンコーダ2,デコ
ーダ6の双方で記憶しておくことにより、ある受信チャ
ンネルを指定するMIDIメッセージが一つのMIDI
ポートのみから入力された場合には、重ねて指定メッセ
ージを送信しなくてもこのMIDIメッセージを正しく
振り分けることができ、データ伝送量を少なくすること
ができる。
【0026】図2は前記エンコーダ2のブロック図であ
る。前記MIDI入力ポート11はインタフェース12
に接続されている。インタフェース12はエンコード制
御部13に接続されている。インタフェース12はMI
DI入力ポート11−1〜11−4から入力されるMI
DIメッセージをエンコード制御部13に伝達するとと
もに、同時にそのMIDIメッセージが入力されたポー
ト番号(1〜4)をエンコード制御部13に伝達する。
エンコード制御部13はマイクロコンピュータで構成さ
れており、対応テーブル14および1つの出力バッファ
15を接続している。対応テーブル14(P)はRAM
で構成されており、MIDI受信チャンネルnとMID
I入力ポート番号P(n)=ppとを対応させて記憶す
る。出力バッファ15には1つのMIDI出力ポート1
6が接続されている。
【0027】エンコード制御部13は図4のフローチャ
ートのように動作する。まず入力ポートからMIDIメ
ッセージが入力されるまで待機している(s1)。MI
DIメッセージが入力されると、このMIDIメッセー
ジがチャンネルメッセージであるかシステムエクスクル
ーシブメッセージであるかを判定する。この判定は第1
バイトのステータスで容易に判定することができる。チ
ャンネルメッセージであれば上述したように8n,9
n,An,Bn,Cn,Dn,Enで始まり、システム
エクスクルーシブメッセージであれば,F0で始まる。
【0028】チャンネルメッセージであれば入力ポート
番号をレジスタppに取り込み、受信チャンネルをレジ
スタnに取り込む(s3)。そして対応テーブルPに記
憶されている受信チャンネルnに対応するポートP
(n)がppであるか否かを判断する(s4)。P
(n)≠ppであればP(n)の内容をppに書き換
え、ポート指定メッセージ(Bn,78,pp)を出力
バッファ15に出力したのち(s6)、入力されたチャ
ンネルメッセージを出力バッファ15に出力する(s
7)。一方、P(n)=ppであれば、そのままこのチ
ャンネルメッセージを出力バッファ15に出力する(s
7)。
【0029】たとえば、図7(A)に示すような順序で
複数のMIDI入力ポートからMIDIメッセージが入
力されたとすると、エンコーダ2は、同図(B)に示す
ようにこれをマージして出力する。この場合において、
,,,,の前にはポート指定メッセージa,
b,c,d,eが付されているが、のメッセージは
のメッセージと同じポート同じチャンネルであるため、
指定メッセージが付されていない。また、のMIDI
メッセージについても同様である。一方、でMIDI
ポート1に対してMIDIチャンネル1が対応している
が、でMIDIポート4からMIDIチャンネル1を
指定するメッセージが入力されたため、ここでMIDI
チャンネル1をポート4に対応を書き換えるポート指定
メッセージcが生成され、さらに、で再度MIDIポ
ート1からMIDIチャンネル1を指定するメッセージ
が入力されたため、MIDIチャンネル1をポート1に
対応を書き換えるポート指定メッセージeが生成されて
いる。このように、あるMIDIチャンネルを指定する
MIDIメッセージが同じMIDI入力ポートから連続
して入力された場合には、ポート指定メッセージが生成
されないが、通常のMIDIチャンネルは、出来るかぎ
りバッティングしないように割当設定されるため、MI
DIメッセージの入力がスタートして一旦対応づけれら
たのちは、書き換えのためのポート指定メッセージはそ
れほど頻繁に生成されないと考えられる。
【0030】図4において、システムエクスクルーシブ
メッセージであれば、このままこのメッセージを出力バ
ッファ15に出力する(s7)。システムエクスクルー
シブメッセージはデバイスIDで受信すべきデバイスが
指定されているため、全てのMIDI機器に出力しても
そのうち必要なもののみがこれを受信するためである。
【0031】図3は前記デコーダ6のブロック図であ
る。1つのMIDI入力ポート21は入力バッファ22
を介してデコード制御部23に接続されている。デコー
ド制御部23はデコードを制御するものであり、対応テ
ーブル24およびマルチプレクサ25を接続している。
マルチプレクサ25は4つの出力バッファ26−1〜2
6−4を接続しており、これら出力バッファ26−1〜
26−4は4つのMIDI出力ポート27−1〜27−
4に接続されている。
【0032】デコード制御部23は図5のフローチャー
トで示すデコード処理動作を実行する。MIDI入力ポ
ート21からMIDIメッセージが入力されるまで待機
する(s11)。MIDIメッセージが入力されると、
これがチャンネルメッセージであるか否かを判断する
(s12)。チャンネルメッセージの場合には、ポート
指定メッセージ、すなわち、Bn,78,ppの形式の
メッセージであるかを判断する(s13)。ポート指定
メッセージの場合には、ppをこのメッセージに記載さ
れている受信チャンネルnに対応する出力ポートP
(n)として対応テーブル24に書き込む。もし既にP
(n)にポート番号が書き込まれている場合には、これ
をこの新たなppに書き換える(s15)。また、ポー
ト指定メッセージ以外のチャンネルメッセージの場合に
は、対応テーブル24から受信チャンネルnに対応する
ポート番号すなわちppを読み出し(s16)、このp
pを出力先としてマルチプレクサ25に指定したのち
(s17)、入力されたMIDIメッセージを出力する
(s18)。一方、チャンネルメッセージでなくシステ
ムエクスクルーシブメッセージであった場合にはマルチ
プレクサ25に対して全ての出力ポートを指定したのち
(s19)、入力されたシステムエクスクルーシブメッ
セージを出力する(s18)。システムエクスクルーシ
ブメッセージは、各MIDI機器のデバイスIDをバッ
ティングしないように設定しておくことにより、全ての
MIDI機器に出力された場合でも所定の機器のみに受
信させることができる。
【0033】なお、上記実施形態は、カラオケ装置にこ
れを適用した例であり、エンコーダとデコーダが同時に
動作する例であるが、エンコーダでマージしたMIDI
メッセージを一旦シーケンサに記録し、後に、これを読
み出してデコードするようにしてもよい。また、自動演
奏でないリアルタイムの演奏にこのエンコーダ,デコー
ダを適用してもよい。図8にこの適用例を示す。4台の
電子楽器30(30−1〜30−4)はエンコーダ31
に接続されている。エンコーダはこれら4台の電子楽器
30から入力されるMIDIメッセージをマージしてシ
ーケンサ32に記録する。演奏時にはここまでの処理が
行われる。こののち、シーケンサ32からMIDIメッ
セージを読み出すとき、このMIDIメッセージをデコ
ーダ33に入力する。デコーダ33はこのMIDIメッ
セージを4台の音源装置34(34−1〜34−4)に
振り分けて出力する。これにより、音源装置34−1〜
34−4はそれぞれ電子楽器30−1〜30−4の演奏
音を生成出力する。
【0034】このような構成にすることにより、シーケ
ンサ33としてシングルポートのシーケンサを適用する
ことができる。
【0035】なお、上記ポート指定メッセージはBn,
78,ppとしたが、コントローラナンバ(78)はコ
ントローラに割り当てられていない番号に変更可能であ
り、この設定変更は専用のNRPメッセージや本体スイ
ッチなどで行うようにすればよい。ただし、エンコード
側とデコード側で同じ番号を用いるようにすることが条
件である。
【0036】また、上記ポート指定メッセージによるポ
ートとチャンネルの対応関係は、次に異なるポート指定
メッセージが生成されるまで維持されるが、システムに
よってはデータ密度が高いポートと稀に1メッセージし
か伝送されないポートが同一チャンネルを使用する場合
がある。このように場合、稀にしか使用されないポート
に設定変更したのち再度密度の高いポートに設定変更す
るためのポート指定メッセージを生成することは面倒で
あるため、1メッセージのみのポート指定メッセージを
別に設け(例えば、通常のポート指定メッセージ「B
n,78,pp」に対して「Bn,79,pp」な
ど)、デコーダがこのメッセージを受信した場合には、
続いて送られてくるチャンネルメッセージに対してポー
トを切り換えたのち、即座に元のポートに戻すようにす
れば元のポートに指定を戻すメッセージを省略すること
ができる。この設定もNRPメッセージや本体スイッチ
等で指定するようにすることができる。
【0037】また、同じチャンネルメッセージが連続す
る場合にはステータスバイトを省略して送信するランニ
ングステータスでMIDIメッセージが入力される場合
があるが、この場合には、エンコーダはステータスバイ
トが省略されたMIDIメッセージにステータスバイト
を付加して出力するものとする。そうでなければ、受信
チャンネルが表示されていないためどのポートから出力
すればよいかがわからなくなるためである。デコーダ側
で再度ランニングステータスに書き換えるか否かは自由
である。
【0038】上記実施形態では、エンコーダは複数のM
IDI機器から入力されるMIDIメッセージをマージ
するコンバータとして使用され、デコーダはマージされ
たMIDIメッセージを複数のMIDI機器に振り分け
て出力するコンバータとして使用されているが、エンコ
ーダを複数のMIDIファイルを1つのMIDIファイ
ルにまとめるソフトコンバータとして使用し、デコーダ
を1つのMIDIファイルを複数のMIDIファイルに
分割するソフトコンバータとして使用してもよい。
【0039】さらに、これらエンコーダ,デコーダをマ
ルチポートシーケンサに内蔵し、マルチポートで入力さ
れたMIDIメッセージを1つのMIDIファイルにマ
ージして記録し、記録したMIDIファイルを読み出す
ときマルチポートに振り分けて出力するようにしてもよ
い。
【0040】また、事前にエンコード・マージしたMI
DIファイルを作成するためにエンコーダのみを用いた
システムを構成してもよく、また、事前にエンコード・
マージされたMIDIファイルを読み出すためにデコー
ドのみを使用したシステムを構成してもよい。
【0041】また、上記エンコーダ,デコーダは、1つ
のハード装置として構成してもよく、コンピュータシス
テム上でアプリケーションプログラムとして動作させて
もよい。たとえば、上記カラオケ装置1の場合には、3
つのシーケンサとエンコーダが1つのCPUによって並
行して実行されるようにしてもよい。
【0042】また、上記カラオケ装置ではデコーダを単
独の装置としたが専用アンプにこの機能を内蔵させても
よい。
【0043】なお、図1のカラオケシステムではカラオ
ケ装置1からデコーダ6に対して一方通行でデータが流
れるようになっているが、リターン用のMIDI接続を
してもよい。さらに、MIDI入力/出力ポートの数は
4に限定されるものではない。
【0044】
【発明の効果】以上のようにこの発明によれば、マルチ
ポートのMIDIメッセージをそのMIDIメッセージ
のポートを指定するメッセージとともに1系統で伝送す
ることにより、受信側では、MIDIメッセージの受信
チャンネルに基づいてそのメッセージの入力端子が分か
るため、シングルポート(1系統)のMIDI伝送でマ
ルチポート(複数系統)のMIDIメッセージを混同す
ることなく伝送することができる。また、これを記録・
再生する場合でも、シングルポートのシーケンサを用い
ることができる。これにより、配線の簡略化、省コスト
化を実現することができる。したがって、それまで使用
していたシングルポートのMIDI機器をそのまま利用
しつつマルチポートに対応することが可能になる。ま
た、MIDIファイルの移動も1つのMIDIファイル
にまとめて行うことができるため、移動を容易にするこ
とができる。
【0045】なお、MIDIチャンネル毎にMIDIポ
ートが対応づけられるため、通常考えられるMIDI機
器の設定では指定メッセージの発生頻度はそれほど高く
なく、データ量の増大や処理の遅れも殆ど生じない。
【図面の簡単な説明】
【図1】この発明の実施形態であるエンコーダおよびデ
コーダを備えたカラオケシステムを示す図
【図2】前記エンコーダのブロック図
【図3】前記デコーダのブロック図
【図4】前記エンコーダの動作を示すフローチャート
【図5】前記デコーダの動作を示すフローチャート
【図6】MIDIメッセージおよびポート指定メッセー
ジの例を示す図
【図7】前記エンコーダが入出力するMIDIメッセー
ジの例を示す図
【図8】前記エンコーダ,デコーダを実演奏のシーケン
ス記録・再生システムに適用した例を示す図
【符号の説明】
1…カラオケ装置、2…エンコーダ、3…楽音シーケン
サ、4…効果シーケンサ、5…照明シーケンサ、6…デ
コーダ、7…音源装置、8…アンプ、9…照明装置、1
1…MIDI入力ポート、12…インタフェース、13
…エンコード処理部、14…対応テーブル、15…出力
バッファ、16…MIDI出力ポート、21…MIDI
入力ポート、22…入力バッファ、23…デコード処理
部、24…対応テーブル、25…マルチプレクサ、26
…出力バッファ、27…MIDI出力ポート、30…電
子楽器、31…エンコーダ、32…シーケンサ、33…
デコーダ、34…音源装置
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04J 3/00 G10H 1/00

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のMIDI入力端子、1つのMI
    DI出力端子、MIDIチャンネルと前記複数のMI
    DI入力端子とを対応させる対応テーブル、 いずれかのMIDI入力端子からMIDIメッセージが
    入力されたとき、入力されたMIDIメッセージの受信
    チャンネルと入力されたMIDI入力端子が前記対応テ
    ーブルの内容と一致している場合には、該MIDIメッ
    セージをそのまま前記MIDI出力端子から出力し、不
    一致の場合には、前記入力されたMIDIメッセージの
    受信チャンネルと入力されたMIDI入力端子とを対応
    させるように前記対応テーブルを更新し、この更新した
    チャンネル/端子の対応を指定する指定メッセージを
    記MIDI出力端子から出力したのち、前記MIDIメ
    ッセージを前記MIDI出力端子から出力する制御部で
    あって、前記不一致の場合であって、入力されたMIDIメッセ
    ージのチャンネル/端子の対応が、低頻度に発生する対
    応であった場合には、前記対応テーブルを更新すること
    なく、このMIDIメッセージのMIDI出力端子を指
    定する一時指定メッセージを出力する制御部と 、 を備えた送信側マルチポートMIDIメッセージ変換装
    、および、 1つのMIDI入力端子、複数のMIDI出力端子
    、MIDIチャンネルと前記複数のMIDI出力端子
    とを対応させる対応テーブル、 前記MIDI入力端子からMIDIメッセージが入力さ
    れたとき、入力されたMIDIメッセージの受信チャン
    ネルに基づいて前記対応テーブルを検索し検索された
    MIDI出力端子から該MIDIメッセージを出力し、
    前記MIDI入力端子から前記指定メッセージが入力さ
    れたとき、この内容でMIDIチャンネルとMIDI出
    力端子を対応づけるべく前記対応テーブルを更新する制
    御部であって、 前記MIDI入力端子から一時指定メッセージが入力さ
    れたときは、前記対応テーブルを更新することなく、そ
    の直後に入力されるMIDIメッセージをこの一時指定
    メッセージが指定するMIDI出力端子から出力する制
    御部と 、 を備えた受信側マルチポートMIDIメッセージ変換装
    からなるマルチMIDIメッセージ変換装置。
  2. 【請求項2】 複数のMIDI入力端子と、1つのMI
    DI出力端子と、 MIDIチャンネルと前記複数のMIDI入力端子とを
    対応させる対応テーブルと、 いずれかのMIDI入力端子からMIDIメッセージが
    入力されたとき、入力されたMIDIメッセージの受信
    チャンネルと入力されたMIDI入力端子が前記対応テ
    ーブルの内容と一致している場合には、該MIDIメッ
    セージをそのまま前記MIDI出力端子から出力し、不
    一致の場合には、前記入力されたMIDIメッセージの
    受信チャンネルと入力されたMIDI入力端子とを対応
    させるように前記対応テーブルを更新し、この更新した
    チャンネル/端子の対応を指定する指定メッセージを
    記MIDI出力端子から出力したのち、前記MIDIメ
    ッセージを前記MIDI出力端子から出力する制御部で
    あって、前記不一致の場合であって、入力されたMIDIメッセ
    ージのチャンネル/端子の対応が、低頻度に発生する対
    応であった場合には、前記対応テーブルを更新すること
    なく、このMIDIメッセージのMIDI出力端子を指
    定する一時指定メッセージを出力する制御部と 、 を備えたことを特徴とするマルチポートMIDIメッセ
    ージ変換装置。
  3. 【請求項3】 1つのMIDI入力端子と、複数のMI
    DI出力端子と、 MIDIチャンネルと前記複数のMIDI出力端子とを
    対応させる対応テーブルと、 前記MIDI入力端子からMIDIメッセージが入力さ
    れたとき、入力されたMIDIメッセージの受信チャン
    ネルに基づいて前記対応テーブルを検索し検索された
    MIDI出力端子から該MIDIメッセージを出力し、
    特定のMIDIチャンネルと特定のMIDI出力端子の
    対応を指定する指定メッセージが入力されたとき、この
    内容で前記対応テーブルを更新する制御部であって、 前記MIDI入力端子から一時的にMIDI出力端子を
    指定する一時指定メッセージが入力されたときは、前記
    対応テーブルを更新することなく、その直後に入力され
    るMIDIメッセージをこの一時指定メッセージが指定
    するMIDI出力端子から出力する制御部と 、 を備えたことを特徴とするマルチポートMIDIメッセ
    ージ変換装置。
  4. 【請求項4】 送信側において、MIDIチャンネルと
    複数のMIDI入力端子との対応関係を対応テーブルに
    記憶し、いずれかのMIDI入力端子からMIDIメッ
    セージが入力されたとき、入力されたMIDIメッセー
    ジの受信チャンネルと入力されたMIDI入力端子が前
    記対応テーブルの内容と一致している場合には、該MI
    DIメッセージをそのまま前記MIDI出力端子から出
    力し、不一致の場合には、前記入力されたMIDIメッ
    セージの受信チャンネルと入力されたMIDI入力端子
    の対応で前記対応テーブルを更新し、このチャンネル/
    端子の対応を指定する指定メッセージを出力したのち、
    前記MIDIメッセージを出力するとともに、前記不一
    致の場合であって、入力されたMIDIメッセージのチ
    ャンネル/端子の対応が、低頻度に発生する対応であっ
    た場合には、前記対応テーブルを更新することなく、こ
    のMIDIメッセージのMIDI出力端子を指定する一
    時指定メッセージを出力し、 受信側において、MIDIのチャンネルと複数のMID
    I出力端子との対応関係を対応テーブルに記憶し、前記
    MIDI入力端子からMIDIメッセージが入力された
    とき、入力されたMIDIメッセージの受信チャンネル
    に基づいて前記対応テーブルを検索し検索されたMI
    DI出力端子から該MIDIメッセージを出力し、前記
    指定メッセージが入力されたとき、この内容でMIDI
    チャンネルとMIDI出力端子を対応づけるべく前記対
    応テーブルを更新するとともに、前記MIDI入力端子
    から前記一時指定メッセージが入力されたときは、前記
    対応テーブルを更新することなくその直後に入力される
    MIDIメッセージをこの一時指定メッセージが指定す
    るMIDI出力端子から出力することを特徴とするマル
    チポートMIDIメッセージ変換方法。
  5. 【請求項5】 MIDIチャンネルと複数のMIDI入
    力端子との対応関係を対応テーブルに記憶し、いずれか
    のMIDI入力端子からMIDIメッセージが入力され
    たとき、入力されたMIDIメッセージの受信チャンネ
    ルと入力されたMIDI入力端子が前記対応テーブルの
    内容と一致している場合には、該MIDIメッセージを
    そのまま前記MIDI出力端子から出力し、不一致の場
    合には、前記入力されたMIDIメッセージの受信チャ
    ンネルと入力されたMIDI入力端子の対応で前記対応
    テーブルを更新し、この対応を指定する指定メッセージ
    を出力したのち、前記MIDIメッセージを出力する
    ともに、前記不一致の場合であって、入力されたMID
    Iメッセージのチャンネル/端子の対応が、低頻度に発
    生する対応であった場合には、前記対応テーブルを更新
    することなく、このMIDIメッセージのMIDI出力
    端子を指定する一時指定メッセージを出力することを特
    徴とするマルチポートMIDIメッセージ変換方法。
  6. 【請求項6】 MIDIのチャンネルと複数のMIDI
    出力端子との対応関係を対応テーブルに記憶し、前記M
    IDI入力端子からMIDIメッセージが入力されたと
    き、入力されたMIDIメッセージの受信チャンネルに
    基づいて前記対応テーブルを検索し検索されたMID
    I出力端子から該MIDIメッセージを出力し、特定の
    MIDIチャンネルと特定のMIDI出力端子の対応を
    指定する指定メッセージが入力されたとき、この内容で
    MIDIチャンネルとMIDI出力端子を対応づけるべ
    前記対応テーブルを更新するとともに、前記MIDI
    入力端子から前記一時指定メッセージが入力されたとき
    は、前記対応テーブルを更新することなくその直後に入
    力されるMIDIメッセージをこの一時指定メッセージ
    が指定するMIDI出力端子から出力することを特徴と
    するマルチポートMIDIメッセージ変換方法。
JP33296895A 1995-12-21 1995-12-21 マルチポートmidiメッセージ変換装置および方法 Expired - Fee Related JP3467941B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33296895A JP3467941B2 (ja) 1995-12-21 1995-12-21 マルチポートmidiメッセージ変換装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33296895A JP3467941B2 (ja) 1995-12-21 1995-12-21 マルチポートmidiメッセージ変換装置および方法

Publications (2)

Publication Number Publication Date
JPH09172421A JPH09172421A (ja) 1997-06-30
JP3467941B2 true JP3467941B2 (ja) 2003-11-17

Family

ID=18260839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33296895A Expired - Fee Related JP3467941B2 (ja) 1995-12-21 1995-12-21 マルチポートmidiメッセージ変換装置および方法

Country Status (1)

Country Link
JP (1) JP3467941B2 (ja)

Also Published As

Publication number Publication date
JPH09172421A (ja) 1997-06-30

Similar Documents

Publication Publication Date Title
JP3061906B2 (ja) Midiデータファイルの処理システム及び方法
JP2692768B2 (ja) ディジタル・オーディオ及びmidi合成音楽を同時に出力する方法及び装置
US20030196540A1 (en) Multiplexing system for digital signals formatted on different standards, method used therein, demultiplexing system, method used therein computer programs for the methods and information storage media for storing the computer programs
US20010045155A1 (en) Method of compressing a midi file
US6782299B1 (en) Method and apparatus for digital signal processing, method and apparatus for generating control data, and medium for recording program
JPH05188947A (ja) 演奏情報インターフェース
US6274799B1 (en) Method of mapping waveforms to timbres in generation of musical forms
US6627807B2 (en) Communications apparatus for tone generator setting information
JP3467941B2 (ja) マルチポートmidiメッセージ変換装置および方法
US6069311A (en) Electronic musical instrument having mother board communicable with plug-in board
JP2001005459A (ja) 楽音合成装置及び方法
JP2000181448A (ja) 送信装置および送信方法、受信装置および受信方法、並びに提供媒体
JP2709965B2 (ja) Bgm再生に用いる音楽伝送再生システム
JP2661493B2 (ja) データ記憶装置およびデータ選択通信方法
JP3339372B2 (ja) 楽音発生装置および楽音発生方法を実現するためのプログラムを格納した記憶媒体
JP2002023740A (ja) 音楽データ処理装置
JP2998576B2 (ja) データ処理装置
JPH10207475A (ja) カラオケ装置
JP3211646B2 (ja) 演奏情報記録方法及びその演奏情報の再生装置
JPH02192259A (ja) デジタル音楽情報の出力装置
JPH10190636A (ja) データ転送方法、データ受信装置、及びデータ送信装置
JPH0887271A (ja) 演奏情報圧縮方法及び演奏情報伸張方法
JPH0199089A (ja) キースプリット機能付電子楽器
JPH103293A (ja) 演奏情報通信システム
JPH10164544A (ja) データ集中管理型音・動画再生システム

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070905

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070905

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees