JPH08194475A - Midiデータの送信装置および受信装置 - Google Patents

Midiデータの送信装置および受信装置

Info

Publication number
JPH08194475A
JPH08194475A JP7021233A JP2123395A JPH08194475A JP H08194475 A JPH08194475 A JP H08194475A JP 7021233 A JP7021233 A JP 7021233A JP 2123395 A JP2123395 A JP 2123395A JP H08194475 A JPH08194475 A JP H08194475A
Authority
JP
Japan
Prior art keywords
data
transmission
midi
reception
midi 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.)
Pending
Application number
JP7021233A
Other languages
English (en)
Inventor
Naoto Uchiumi
直人 内海
Kikuo Yamauchi
毅久郎 山内
Kuninori Ouchi
邦則 大内
Haruhiko Matsui
はるひこ 松井
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP7021233A priority Critical patent/JPH08194475A/ja
Priority to US08/452,173 priority patent/US5670732A/en
Publication of JPH08194475A publication Critical patent/JPH08194475A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/211Wireless transmission, e.g. of music parameters or control data by radio, infrared or ultrasound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission

Abstract

(57)【要約】 【目的】 無線信号によってMIDIデータを伝達する
MIDI楽器システムのコストダウンを図ると共に、M
IDIデータを確実に伝達することができるMIDIデ
ータの送信装置を提供することにある。 【構成】 演奏情報を伝達するためのMIDIデータを
出力する複数のMIDIデータ出力装置2に接続可能に
構成され、複数のMIDIデータ出力装置2からそれぞ
れ出力されたMIDIデータを入力するMIDIデータ
入力部12と、MIDIデータ入力部12によって入力
されたMIDIデータを、MIDIデータを出力したM
IDIデータ出力装置12の装置番号データと共に記憶
する記憶手段14と、記憶されている装置番号データお
よび装置番号データと共に記憶されているMIDIデー
タに基づいて変調した無線信号を送信する送信部16と
を備えて構成した。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ピッチ情報、ベロシテ
ィー情報、音色情報およびコントロール情報などを含ん
だ演奏情報の伝達に用いられるMIDI(Musical Inst
rument Digital Interface)信号を、キーボードやMI
DIギター等の演奏装置、音源装置およびシーケンサな
どのMIDI楽器の相互間で送信または受信するMID
Iデータの送信装置および受信装置に関するものであ
る。
【0002】
【従来の技術】この種のMIDIデータの送信装置およ
び受信装置として、出願人は、演奏装置(例えば、キー
ボード)に接続され、MIDIデータに基づいて変調し
た無線信号を送信する送信装置と、発音装置に接続さ
れ、無線信号をMIDIデータに復調する受信装置とを
既に提案している(特願平6−72463)。
【0003】これらの送信装置および受信装置では、押
鍵されたキーに対応するMIDIデータが演奏装置から
送信装置に出力されると、送信装置が、MIDIデータ
に基づいて高周波信号を変調し、変調された無線信号
を、受信装置に送信する。一方、受信装置は、無線信号
を受信すると共にMIDIデータに復調し、復調したM
IDIデータを、発音装置(例えば、音源装置)に出力
する。そして、発音装置が、出力されたMIDIデータ
によって表されるキーに対応する楽音を発音している。
【0004】
【発明が解決しようとする課題】ところが、このような
MIDIデータの送信装置および受信装置では、以下の
点で改善の余地がある。まず、上述の例では、送信装置
と受信装置とが対になって演奏装置からのMIDIデー
タを発音装置に伝達するように構成されているため、複
数の演奏装置からMIDIデータを伝達する場合、演奏
装置と等しい数の送信装置および受信装置がそれぞれ必
要となり、MIDI楽器システムのコストが上昇してし
まう。
【0005】また、複数の送信装置を用いる場合、互い
に異なる送信周波数を用いる必要があるため、現実的に
は、送信周波数としてのバンド数が法により規制されて
いるので、使用できる演奏装置の数には限界がある。ま
た、限られた数の演奏装置を使用したとしても、実際に
は、送信装置と受信装置とは密集しているのが通常であ
るため、混信などが起こり、演奏に支障をきたしてしま
う。
【0006】本発明は、かかる観点からなされたもので
あり、無線信号によってMIDIデータを伝達するMI
DI楽器システムのコストダウンを図ると共に、MID
Iデータを確実に伝達することができるMIDIデータ
の送信装置および受信装置を提供することを目的とす
る。
【0007】
【課題を解決するための手段】上記目的を達成すべく請
求項1記載のMIDIデータの送信装置は、演奏情報を
伝達するためのMIDIデータを出力する複数のMID
Iデータ出力装置に接続可能に構成され、複数のMID
Iデータ出力装置からそれぞれ出力されたMIDIデー
タを入力するMIDIデータ入力部と、MIDIデータ
入力部によって入力されたMIDIデータを、MIDI
データを出力したMIDIデータ出力装置の装置番号デ
ータと共に記憶する記憶手段と、記憶されている装置番
号データおよび装置番号データと共に記憶されているM
IDIデータに基づいて変調した無線信号を送信する送
信部とを備えていることを特徴とする。
【0008】請求項2記載のMIDIデータの受信装置
は、演奏情報を伝達するためのMIDIデータに基づい
て信号処理を行う複数のMIDIデータ処理装置に接続
可能に構成され、MIDIデータ処理装置の装置番号デ
ータ、および当該装置番号のMIDIデータ処理装置に
伝達するMIDIデータに基づいて変調された無線信号
を受信し、受信した無線信号から装置番号データおよび
MIDIデータを復調する受信部と、受信部によって復
調された装置番号データに対応するMIDIデータ処理
装置に、復調したMIDIデータを出力するMIDIデ
ータ出力部とを備えていることを特徴とする。
【0009】
【作用】請求項1記載のMIDIデータの送信装置によ
れば、送信装置に接続された複数のMIDIデータ出力
装置からMIDIデータが出力されると、MIDIデー
タ入力部が、MIDIデータを入力し、記憶手段が、入
力したMIDIデータを、当該MIDIデータを出力し
たMIDIデータ出力装置の装置番号データと共に記憶
する。そして、送信部が、記憶手段に記憶されている装
置番号データおよび当該装置番号データと共に記憶され
ているMIDIデータに基づいて変調した無線信号を送
信する。この結果、例えば、受信装置が、無線信号を受
信した後、装置番号データとMIDIデータに復調し、
その装置番号データに対応する音源装置などにMIDI
データを出力することにより、複数のMIDIデータ出
力装置からそれぞれ出力されたMIDIデータが、それ
と対応する音源装置にそれぞれ伝達される。この場合、
1台のMIDIデータ送信装置と受信装置を用いればよ
いので、MIDIデータ出力装置および音源装置毎に送
信装置および受信装置を用いるのと比較して、MIDI
楽器システムのコストを大幅に削減することができる。
しかも、用いる送信周波数が1つでよいため、混信が起
こらず、この結果、MIDIデータを確実に伝達するこ
とができる。
【0010】請求項2記載のMIDIデータの受信装置
によれば、受信部は、MIDIデータの送信装置から、
装置番号データとそれと対応するMIDIデータに基づ
いて変調された無線信号が送信されてくると、その無線
信号を受信し、装置番号データとMIDIデータに復調
する。そして、MIDIデータ出力部が、復調した装置
番号データに対応する音源装置などに復調したMIDI
データを出力することによって、MIDIデータ処理装
置にMIDIデータが伝達される。このように、1台の
受信装置で、複数のMIDIデータ処理装置にMIDI
データを伝達することができるため、MIDI楽器シス
テムのコストを大幅に削減することができる。また、1
つの送信波を受信するだけなので、受信部内で混信や相
互変調などが起きず、この結果、MIDIデータ出力部
は、誤ったMIDIデータを伝達することなく、確実に
MIDIデータを伝達することができる。
【0011】
【実施例】以下、添付図面を参照して、本発明の実施例
に係るMIDIデータの送信装置および受信装置につい
て説明する。
【0012】図1は、本実施例に係るMIDIデータの
送信装置および受信装置を適用したMIDI楽器システ
ム1の構成図である。同図に示すように、このMIDI
楽器システム1は、2台のキーボード(MIDIデータ
出力装置)2a,2b(以下、区別しない場合には「キ
ーボード2」という)、送信装置(MIDIデータの送
信装置)3、受信装置(MIDIデータの受信装置)
4、2台の音源装置(MIDIデータ処理装置)5a,
5b(以下、区別しない場合には「音源装置5」とい
う)およびスピーカ6a,6b(以下、区別しない場合
には「スピーカ6」という)を備えている。なお、送信
装置3および受信装置4は、無線信号を送受信するため
のアンテナ7および8をそれぞれ備えている。
【0013】このMIDI楽器システム1では、装置番
号「a」および「b」のキーボード2a,2bでそれぞ
れ演奏が行われると、キーボード2aから出力されたM
IDIデータが音源装置5aに伝達され、キーボード2
bから出力されたMIDIデータが音源装置5bに伝達
される。この結果、音源装置5a,5bは、キーボード
2a,2bによって押鍵された鍵に対応する楽音を別個
独立してそれぞれ発音する。具体的には、各キーボード
2で演奏が行われると、MIDIデータが送信装置3に
出力される。送信装置3は、MIDIデータが入力され
ると、そのMIDIデータに基づいて変調した無線信号
を受信装置4に送信する。一方、受信装置は、その無線
信号をMIDIデータに復調し、各音源装置5に出力す
る。そして、各音源装置5がスピーカ6に楽音信号を出
力することによって、スピーカ6から楽音が発せられ
る。
【0014】送信装置3は、図2に示すように、CPU
11、MIDIデータ入力部12a〜12h(以下、区
別しない場合には、「MIDIデータ入力部12」とい
う)、入力用クロック発生部13、伝送データ一時記憶
部14、送信データ出力部15、送受信部16、受信デ
ータ入力部17および表示部18を備え、これらの各部
は、バスライン21によって互いに接続されている。ま
た、CPU11は、割込信号出力部19,20を介し
て、送信データ出力部15および受信データ入力部17
に専用線で接続され、各種の割込み信号を受け付けるよ
うになっている。
【0015】CPU11は、送受信部16の送受信切替
制御、送信データ出力部15および受信データ入力部1
7からの割込信号に基づいた割込み処理を行うと共に、
MIDIデータの書込処理などを行う。MIDIデータ
の書込処理では、CPU11は、MIDIデータ入力部
12a〜12hからそれぞれ入力されたMIDIデータ
の伝送データ一時記憶部14への書込み、伝送データ一
時記憶部14に記憶されているMIDIデータの送信デ
ータ出力部15への書込み、および受信データ入力部1
7から出力されたMIDIデータの伝送データ一時記憶
部14への書込みを行う。
【0016】MIDIデータ入力部12a〜12hは、
それぞれ別個独立のキーボード2に接続できるようにな
っており、本実施例では、MIDIデータ入力部12a
および12bにキーボード2aおよび2bがそれぞれ接
続されている。このMIDIデータ入力部12は、3
1.25KHzの速度で非同期入力されるMIDIデー
タを入力するためのインターフェースであって、シリア
ルデータであるMIDIデータをサンプリングによって
入力した後、パラレルデータに変換し、バスライン21
を介して、変換したパラレルデータをCPU11に出力
する。
【0017】入力用クロック発生部13は、MIDIデ
ータ入力部12がMIDIデータを入力するためのサン
プリングクロックを生成し、MIDIデータ入力部12
に出力する。
【0018】伝送データ一時記憶部14は、送信データ
準備バッファ、送信データバッファおよび受信データバ
ッファ(いずれも図示せず)を備えている。送信データ
準備バッファには、送信データが記憶される。この場
合、送信データは、MIDIデータが入力されたMID
Iデータ入力部12の番号、つまり、MIDIデータ入
力部12に接続されているキーボード2の装置番号(例
えば、「a」)と、その装置番号のキーボード2から入
力されたMIDIデータ(例えば、「F0h」)から構
成されている。なお、装置番号は、CPU11によって
自動的に付加される。また、送信データバッファには、
CPU11によって送信データ準備バッファから転送さ
れた送信データが記憶され、受信データバッファには、
受信データ入力部17から入力された受信データが記憶
される。
【0019】なお、各バッファは、データを記憶してい
るときは、その記憶領域の先頭番地にデータを記憶して
いることを示すと共にデータ番号である「DATA番
号」を、次の番地以降に、送信データをそれぞれ記憶す
る。なお、「DATA番号」は、後述するように、CP
U11がタイマT1割込みによって書き込んでいる。
【0020】送信データ出力部15は、伝送データ一時
記憶部14の送信データバッファに記憶されている送信
データを内部バッファに一旦記憶し、記憶した送信デー
タを、パラレルデータからシリアルデータに変換すると
共に、後述する同期用クロック信号に同期させて送受信
部16に出力する。送信データ出力部15は、内部バッ
ファの記憶領域に空きができると、CPU11にデータ
送信割込み信号(図1の#1)を出力し、これに基づい
てCPU11が、伝送データ一時記憶部14に記憶され
ている送信データを送信データ出力部15に転送し、順
次記憶させる。また、送信データ出力部15は、送受信
部16に送信データを出力する際に、最初の送信データ
の先頭に、スタート符号を、送信データの最後に、誤り
訂正符号およびストップ符号をそれぞれ自動的に付加し
て出力する。そして、送信データ出力部15は、送受信
部16にすべてのデータを出力すると、割込信号出力部
19を介して、すべてのデータを送受信部16に出力し
たことを示すデータ送信終了割込み信号(図1の#2参
照)をCPU11に出力した後、待機する。
【0021】送受信部16は、2.4GHzのスペクト
ラム拡散方式の送受信機であり、約250KHzの変調
速度で搬送波を変調可能に構成されている。このため、
送受信部16は、31.25KHzでシリアル入力され
るMIDIデータを8チャンネル分、リアルタイムで変
調すると共にその変調した無線信号を送信することがで
きる。
【0022】また、送受信部16は、内部CPU、RO
Mなどを備えている。内部CPUは、周波数制御、拡散
符号の同期制御、送信データ出力部15および送受信部
16とのインターフェース制御などを行う。具体的に
は、以下の動作を行う。CPU11から送信開始要求が
あると、内部CPUは、送信開始の処理を行い、送信準
備の完了と共に、送信データ出力部15に同期用クロッ
ク信号(TXC)を出力することによって、同期用クロ
ック信号(TXC)に同期させて、送信データ出力部1
5の内部バッファから送信データ(TXD)を順次取り
込む。次いで、内部CPUは、送信データを内部の変調
器に出力する。これによって、送受信部16が、拡散変
調を行い、変調後の拡散信号である無線信号をアンテナ
7から出力する。そして、送信データの送信が完了する
と、内部CPUは、CPU11から出力される送信終了
信号に基づいて、送信を終了する。
【0023】また、内部CPUは、CPU11から受信
開始信号が出力されると、受信開始の処理を行い、受信
準備完了と共に、同期用クロック信号(RXC)と共に
受信データ(RXD)を受信データ入力部17に出力す
る。また、CPU11から受信終了信号が出力される
と、内部CPUは、受信終了処理を行い、すべての受信
処理を終了する。
【0024】受信データ入力部17は、送信装置3が受
信装置として機能するときに作動し、送受信部16から
入力された受信データを記憶する。受信データ入力部1
7は、送受信部16が受信したデータから、スタート符
号、誤り訂正符号およびストップ符号を検出し、スター
ト符号を検出したときは、内部バッファに受信データを
記憶する。そして、その内部バッファのすべてに受信デ
ータが記憶されると、割込信号出力部20を介して、デ
ータ受信割込み信号(図1の#3)をCPU11に出力
する。これにより、CPU11がその受信データを伝送
データ一時記憶部14に転送する。また、受信データ入
力部17は、誤り訂正信号およびストップ符号を入力
し、エラーがあるか否かを判別した後に、受信データの
受信が終了したことを示すデータ受信終了割込み信号
(図1の#4)を、割込信号出力部20を介して、CP
U11に出力する。これにより、送受信部16の受信が
終了し、受信データ入力部17は、待機する。なお、受
信データ入力部17は、スタート符号、誤り訂正符号お
よびストップ符号を自動的に削除し、必要な受信データ
のみを記憶する。
【0025】表示部18は、送受信部16の送受信動
作、MIDIデータ入力部12からのMIDIデータの
読込動作、および受信データ入力部17からの受信デー
タの読込動作などの現在実行している処理内容や、エラ
ーなどを表示する。
【0026】次に、前述した受信装置4について、図3
を参照して説明する。
【0027】同図に示すように、受信装置4は、CPU
11、MIDIデータ出力部32a〜32h(以下、区
別しない場合には、「MIDIデータ出力部32」とい
う)、出力用クロック発生部33、伝送データ一時記憶
部34、送信データ出力部15、送受信部16および受
信データ入力部17を備え、これらの各部は、バスライ
ン21によって互いに接続されている。また、CPU1
1は、割込信号出力部19,20を介して、送信データ
出力部15および受信データ入力部17に専用線で接続
され、割込み信号を受け付ける。なお、送信装置3で説
明した構成要素と同一でかつ同じ様な動作を行うもの
は、同一の符号を使用し、その説明を省略する。
【0028】MIDIデータ出力部32a〜32hは、
それぞれ音源装置5に接続できるようになっており、本
実施例では、MIDIデータ出力部32aおよび32b
に音源装置5aおよび5bがそれぞれ接続されている。
このMIDIデータ出力部32は、MIDIデータを非
同期で出力するためのインターフェースであって、伝送
データ一時記憶部34に記憶されているパラレルデータ
のMIDIデータをシリアルデータに変換し、出力用ク
ロック発生部33によって生成された同期用クロックに
同期させてシリアルデータに変換したMIDIデータ
を、音源装置5に出力する。
【0029】出力用クロック発生部33は、31.25
KHzの同期用クロックを生成し、MIDIデータ出力
部32に出力する。
【0030】伝送データ一時記憶部34は、受信データ
バッファ、受信データ準備バッファ、送信データバッフ
ァ、NAKデータバッファおよびACKデータバッファ
を備えている(いずれも図示せず)。受信データバッフ
ァには、送受信部16によって受信された受信データが
記憶され、受信データ準備バッファには、CPU11に
よって受信データバッファから転送され、MIDIデー
タ出力部32に出力する受信データが記憶されている。
この場合、受信データは、キーボード2の装置番号、つ
まり、その装置番号のキーボード2と対になる音源装置
5の装置番号(例えば、「a」)と、その装置番号の音
源装置5に出力するMIDIデータとから構成されてい
る。また、送信データバッファには、送信装置3に返答
する場合の「DATA番号」などが、必要に応じてCP
U11によって書き込まれる。さらに、NAKデータバ
ッファには、送信データを正しく受信できなかったこと
を示す「NAK」が記憶され、ACKデータバッファに
は、送信データを正しく受信できたことを示す「AC
K」が記憶されている。
【0031】次に、フローチャートを参照して、送信装
置3の処理内容について説明する。なお、以下の動作
は、特に断りのない限り、CPU11が行う。
【0032】最初に、送信装置としてのメイン処理につ
いて、図4〜8を参照して説明する。図4に示すよう
に、メイン処理では、電源投入時において初期設定を行
い(ステップS1)、その後、MIDIデータの入力処
理(ステップS2)、データ送信開始処理(ステップS
3)およびデータ受信開始処理(ステップS4)を行
う。
【0033】初期設定(ステップS1)では、図5に示
すように、伝送データ一時記憶部14の送信準備データ
バッファ、送信データバッファおよび受信データバッフ
ァのそれぞれについて先頭アドレス、書込み開始アドレ
スおよび書込みポインタ値などの設定を行う(ステップ
S11)。次いで、伝送データ一時記憶部14以外の各
部を初期化し(ステップS12)、後述する各種の割込
みの初期化と禁止を行う(ステップS13。なお、ここ
では、タイマT1割込み(これについては後述する)は
禁止しないでおく。次に、データ送信開始フラグおよび
データ受信開始フラグをリセットして、この初期化処理
を終了する(ステップS15)。
【0034】MIDIデータの入力処理は、MIDIデ
ータ入力部12からMIDIデータを入力する処理であ
って、図6に示すように、MIDIデータ入力部12a
〜12hからMIDIデータが入力されているか否かを
順にチェックする。最初に、ポインタを値X=0(値0
〜値7は、MIDIデータ入力部12aから12hにそ
れぞれ対応する)にセットし(ステップS21)、MI
DIデータ入力部12aからMIDIデータが入力され
ているか否かを判別する(ステップS22)。MIDI
データがあれば、伝送データ一時記憶部14の送信デー
タ準備バッファの書込みポインタ値(MIDIデータを
書き込むべき送信データバッファのアドレス)を読み出
す(ステップS23)。
【0035】次に、書込みポインタ値で示されるアドレ
スに装置番号「X(この場合には、「a」)」を書き込
むと共に、次のアドレスにMIDIデータを書き込む
(ステップS24)。次いで、書込みポインタ値を更新
する(ステップS25)。次に、ポインタの値に値1を
加えた(ステップS26)後、ポインタ値が値8になっ
たか否かを判別する(ステップS27)。なっていない
と判別したときは、ステップ22に戻り、次のMIDI
データ入力部12にMIDIデータが入力されているか
否かをチェックする(ステップS22)。ステップS2
7の判別結果が肯定のときは、この処理を終了する(ス
テップS28)。なお、上記ステップS22で、MID
Iデータがないと判別したときは、ステップS26にジ
ャンプする。
【0036】データ送信開始処理(ステップS3)は、
送受信部16に送信を開始させる処理であって、図7に
示すように、最初に、データ送信開始フラグがセットさ
れているか否かを判別する(ステップS31)。セット
されていると判別したときは、送信を開始してよいもの
と判定し、伝送データ一時記憶部14の送信バッファお
よび送信準備バッファを初期化する(ステップS3
2)。次いで、データ送信割込みおよびデータ送信終了
割込みを許可した(ステップS33)後、送受信部16
に送信開始を要求する(ステップS34)。その後、デ
ータ送信開始フラグをリセットして(ステップS3
5)、この処理を終了する(ステップS36)。なお、
ステップS31でフラグがセットされていないと判別し
たときは、送信禁止であると判定し、この処理を終了す
る(ステップS36)。
【0037】データ受信開始処理(ステップS4)は、
送受信部16に受信を開始させる処理であって、図8に
示すように、最初に、データ受信開始フラグがセットさ
れているか否かを判別する(ステップS41)。セット
されていると判別したときは、受信を開始してよいもの
と判定し、伝送データ一時記憶部14の受信バッファを
初期化する(ステップS42)。次いで、データ受信割
込みおよびデータ受信終了割込みを許可した(ステップ
S43)後、送受信部16に受信開始を要求する(ステ
ップS44)。その後、データ受信開始フラグをリセッ
トして(ステップS45)、この処理を終了する(ステ
ップS46)。なお、ステップS41でフラグがセット
されていないと判別したときは、受信禁止であると判定
し、この処理を終了する(ステップS46)。
【0038】次に、メイン処理とは別に割込み信号に基
づいて行う処理である、タイマT1割込み処理、タイマ
T2割込み処理、データ送信割込み処理、データ送信終
了割込み処理、データ受信割込み処理およびデータ受信
終了割込み処理について、図9〜14を参照して説明す
る。
【0039】タイマT1割込み処理みでは、所定時間
(T1)が経過すると、図9に示すように、送信データ
バッファに既に書き込まれている送信データが送信され
ているものとして、送信データバッファと送信データ準
備バッファを入れ替える(ステップS101)。なお、
送信データ準備バッファに書き込まれているデータを、
送信データバッファに転送してもよい。次いで、伝送デ
ータ一時記憶部14の受信データバッファの書込みポイ
ンタ値を受信データバッファの先頭アドレスに設定し
(ステップS102)、送信データバッファのデータ開
始アドレスと最終アドレスが等しいか否かを判別する
(ステップS103)。等しくないと判別したときは、
送信データがあると判定し、送信データバッファの先頭
番地に、「DATA番号」を書き込み(ステップS10
4)、送信開始フラグをセットし(ステップS10
4)、この処理を終了する(ステップS106)。ステ
ップ103において、その判別結果が否定と判別したと
きは、送信データがないものとして、この処理を終了す
る(ステップS106)。
【0040】タイマT2割込み処理では、図10に示す
ように、データ受信割込みを禁止する(ステップS11
1)と共に、データ受信終了割込みを禁止する(ステッ
プS112)。次いで、送受信部16に受信終了を要求
した(ステップS113)後、送信回数カウンタのカウ
ンタ値を更新する(ステップS114)。そして、送信
カウンタのカウンタ値が設定回数になったか否かを判別
する(ステップS115)。設定回数になっていないと
判別したときは、送信データバッファの読出しポインタ
値を送信データバッファの先頭アドレスに設定した(ス
テップS116)後、送信データバッファの書込みポイ
ンタ値を受信データバッファの先頭アドレスに設定する
(ステップS117)。次いで、データ送信開始フラグ
をセットし(ステップS118)、タイマT2割込みを
禁止する(ステップS119)と共に、タイマT2をリ
セットした(ステップS120)後、この処理を終了す
る(ステップS121)。ステップS115において、
送信回数カウンタが設定回数になったと判別したとき
は、正しく送信できなかったものとして、表示部18に
エラーを表示させた(ステップS122)後、「DAT
A番号」を更新する(ステップS123)ことによっ
て、次の送信データの送信に備えると共に、送信回数カ
ウンタのカウンタ値を初期値にセットした(ステップS
124)後、ステップS119にジャンプする。
【0041】データ送信割込み処理では、図11に示す
ように、伝送データ一時記憶部14の送信データバッフ
ァの読出しポインタのポインタ値を読み出し(ステップ
S131)、読出しポインタ値で示されるアドレスの送
信データを読み出す(ステップS132)。次いで、読
み出した送信データを、送信データ出力部15の内部バ
ッファに記憶させ(ステップS133)、読出しポイン
タのポインタ値を更新する(ステップS134)。そし
て、更新した読出しポインタのポインタ値が送信データ
バッファの最終アドレス値と一致するか否かを判別する
(ステップ135)。一致すると判別したときは、すべ
ての送信データを送信したものと判定し、最後の送信デ
ータであることを表す送信データ終了信号を送信データ
出力部15に出力した(ステップS136)後、データ
送信割込みを禁止し(ステップS137)、この処理を
終了する(ステップS138)。
【0042】ステップS135において、判別結果が否
定のときは、ステップS131にジャンプし、判別結果
が肯定になるまで、この処理を繰り返す。なお、以上の
処理においては、送信データ出力部15の内部バッファ
の記憶領域に空きができたことを表すデータ送信割込み
信号が送信データ出力部15から出力されてきたとき
に、伝送データ一時記憶部14の送信データバッファか
ら送信データ出力部15に送信データを転送して、次々
と記憶させている。そして、すべての送信データを転送
したときに、送信データ終了信号を送信データ出力部1
5に出力し、データ送信割込みを禁止している(ステッ
プS138)。
【0043】データ送信終了割込み処理は、送信データ
をすべて送信したことを表すデータ送信終了信号が送信
データ出力部15から出力されてきたときに行われる。
図12に示すように、送信の終了を要求するための送信
終了信号を送信データ出力部15に出力する(ステップ
S141)と共に、データ受信開始フラグをセットする
(ステップS142)。次いで、タイマT2をスタート
させ(ステップS143)、相手方の受信装置4からの
応答に対応するためのタイマT2割込み処理を許可する
(ステップS144)と共に、データ送信終了割込みを
禁止し(ステップS145)、この処理を終了する(ス
テップS146)。そして、その後に、データ受信開始
処理(ステップS4)を行う。
【0044】データ受信割込み処理では、図13に示す
ように、受信データバッファの書き込みポインタのポイ
ンタ値を読み出し(ステップS151)、受信データ入
力部17から受信データを読み出す(ステップS15
2)。次いで、書き込みポインタを書込みポインタのポ
インタ値で示されるアドレスに、読み出した受信データ
を書き込み(ステップS153)、書込みポインタのポ
インタ値を更新し(ステップS154)、この処理を終
了する(ステップS156)。なお、この処理では、内
部バッファの記憶領域のすべてに受信データが書き込ま
れたことを表すデータ受信割込み信号が受信データ入力
部17から出力されてきたときに、その記憶領域に書き
込まれている受信データを、伝送データ一時記憶部14
の受信データバッファに転送する。
【0045】データ受信終了割込み処理は、送受信部1
6が正常に受信できたか否かをチェックすると共に、正
常に受信できたときは、次の送信に備え、正常に受信で
きなかったときは、エラー表示をさせる処理である。具
体的には、図14に示すように、すべての受信データの
受信を終了したか、または誤り訂正符号で誤りを検出し
たことを表すデータ受信終了割込み信号が受信データ入
力部17から出力されてきたときに、タイマT2割込み
を禁止する(ステップS161)と共に、タイマT2を
リセットする(ステップS162)。次いで、データ受
信割込みを禁止する(ステップS163)と共に、デー
タ受信終了割込みを禁止する(ステップS164)。次
に、表示部18に受信終了を要求し(ステップS16
5)、誤り訂正符号の検査で誤りがないか否か、つま
り、正常に終了したか否かを判別する(ステップS16
6)。正常に終了したと判別したときは、受信装置4の
応答が「ACK」か否かを判別する(ステップS16
7)。「ACK」のときは、「DATA番号」を更新す
る(ステップS168)と共に、送信カウンタのカウン
タ値を更新する(ステップS169)ことによって、次
の送信に備えた後、この処理を終了する(ステップS1
70)。
【0046】前述したステップS166およびステップ
S167において、判別結果が否定のときは、送信回数
カウンタのカウンタ値を更新し(ステップS171)、
送信回数カウンタのカウンタ値が設定値に達したか否か
を判別する(ステップS172)。設定回数に達してい
ないときは、送信データバッファの読出しポインタ値を
送信データバッファの先頭アドレスとする(ステップS
173)。次いで、受信データバッファの書込みポイン
タ値を受信データバッファの先頭アドレスに設定する
(ステップS174)と共に、受信装置4に送信データ
の再送を行うために、データ送信開始フラグをセットし
て(ステップS175)、この処理を終了する(ステッ
プS170)。前述したステップS172において、判
別結果が肯定のとき、つまり、設定回数分、送信したと
きは、受信装置4が正常に受信できなかったものとし
て、表示部18にエラーを表示させ(ステップS17
6)、「DATA番号」を更新する(ステップS17
7)と共に、送信回数カウンタのカウンタ値を初期値に
セットし(ステップS178)、この処理を終了する
(ステップS169)。
【0047】次に、受信装置4の処理について説明す
る。なお、以下の動作は、特に断りのない限り、CPU
11が行う。
【0048】最初に、メイン処理について、図15〜1
9を参照して説明する。図15に示すように、メイン処
理では、電源投入時において初期設定を行い(ステップ
S51)、その後、データ受信開始処理(ステップS5
2)、データ送信開始処理(ステップS53)およびM
IDIデータの出力処理(ステップS54)を行う。
【0049】初期設定(ステップS51)では、図16
に示すように、伝送データ一時記憶部14の送信データ
バッファ、受信データバッファおよび受信データ準備バ
ッファの先頭アドレス、読出しポインタ値および書込み
ポインタ値などの設定を行う(ステップS61)。次い
で、伝送データ一時記憶部34以外の各部を初期化し
(ステップS62)、後述する各種の割込みの初期化と
禁止を行う(ステップS63)。次に、データ送信開始
フラグをリセットすると共にデータ受信開始フラグをセ
ットして(ステップS64)、この初期化処理を終了す
る(ステップS65)。
【0050】データ受信開始処理(ステップS52)
は、送受信部16に受信を開始させる処理であって、図
17に示すように、最初に、データ受信開始フラグがセ
ットされているか否かを判別する(ステップS71)。
セットされていると判別したときは、受信を開始してよ
いものと判定し、受信データ入力部17の内部バッファ
を初期化する(ステップS72)。次いで、データ受信
割込み(図3の#3)およびデータ受信終了割込み(図
3の#4)を許可した(ステップS73)後、送受信部
34に受信開始を要求する(ステップS74)。その
後、データ受信開始フラグをリセットして(ステップS
75)、この処理を終了する(ステップS76)。な
お、ステップS71でフラグがセットされていないと判
別したときは、受信禁止であると判定し、この処理を終
了する(ステップS76)。
【0051】データ送信開始処理(ステップS53)
は、送受信部16に送信を開始させる処理であって、図
18に示すように、最初に、データ送信開始フラグがセ
ットされているか否かを判別する(ステップS81)。
セットされていると判別したときは、送信を開始してよ
いものと判定し、送信データ出力部15の内部バッファ
を初期化する(ステップS82)。次いで、データ送信
割込み(図3の#1)およびデータ送信終了割込み(図
3の#2)を許可した(ステップS83)後、送受信部
34に送信開始を要求する(ステップS84)。その
後、データ送信開始フラグをリセットして(ステップS
85)、この処理を終了する(ステップS86)。な
お、ステップS81でフラグがセットされていないと判
別したときは、送信禁止であると判定し、この処理を終
了する(ステップS86)。
【0052】MIDIデータの出力処理(ステップS5
3)は、MIDIデータ出力部32からMIDIデータ
を出力させる処理であって、図19に示すように、受信
データ準備バッファの読出しポインタ値を読み出す(ス
テップS91)。次いで、読出しポインタ値が受信デー
タ準備バッファの最終アドレス値と一致しているか否か
を判別する(ステップS92)。一致していると判別し
たときは、読出しポインタ値で示されるアドレスから装
置番号XとMIDIデータを読み出す(ステップS9
4)。次に、装置番号に対応するMIDIデータ出力部
32Xが出力可能か否かを判別する(ステップS9
5)。出力可能と判別したときは、そのMIDIデータ
出力部32XにMIDIデータを出力する(ステップS
96)。
【0053】次いで、読出しポインタ値を更新し(ステ
ップS97)、ステップS92に戻ってこの処理を繰り
返し、読出しポインタ値が受信データ準備バッファの最
終アドレス値と一致したときに、この処理を終了する
(ステップS98)。なお、ステップS95でMIDI
データ出力部32Xが出力可能になっていないと判別し
たときは、ステップS97にジャンプして、この処理を
繰り返す。つまり、この処理では、受信して受信データ
準備バッファに記憶されているすべてのMIDIデータ
を、装置番号で表されるMIDIデータ出力部32Xに
出力する。
【0054】次に、メイン処理とは別に割込み信号に基
づいて行う処理である、データ受信割込み処理、データ
受信終了割込み処理、データ送信割込み処理およびデー
タ送信終了割込み処理について説明する。なお、データ
受信割込み処理およびデータ送信割込み処理は、前述し
た送信装置3におけるデータ受信割込みおよびデータ送
信終了割込みとそれぞれ同一の処理内容であるため、こ
こでは、その説明を省略する。
【0055】データ受信終了割込みは、送受信部16が
正常に受信できたか否かをチェックすると共に、正常に
受信できたときは、送信に備え、正常に受信できなかっ
たときは、再受信に備える処理である。具体的には、す
べての受信データを入力したとき、ストップ符号を検出
したとき、または誤り訂正符号によってエラーを検出し
たことを表すデータ受信終了割込み信号が受信データ入
力部17から出力されたときに、この処理が行われる。
図20に示すように、データ受信割込みおよびデータ受
信終了割込みを禁止する(ステップS181,S18
2)と共に、受信終了を送受信部34に要求し(ステッ
プS183)、正常に受信できたか否かを判別する(ス
テップS184)。正常に受信できたと判別したとき
は、今回受信した「DATA番号」を読み出し(ステッ
プS185)、前回に受信した「DATA番号」と今回
受信した「DATA番号」が等しいか否かを判別する
(ステップS187)。等しくないと判別したときは、
新たな受信データであると判定して、受信データバッフ
ァと受信データ準備バッファを入れ替える(ステップ1
87)。
【0056】次いで、送信データバッファの読出しポイ
ンタのポインタ値を「ACK」データの先頭アドレスと
すると共に、送信データバッファの最終アドレスを「A
CK」データの最終アドレスである「ACKE」とする
(ステップS188)。つまり、ここでは、「ACK」
データを送信する準備を行う。次に、前回に受信した
「DATA番号」を今回受信した「DATA番号」に更
新し(ステップS189)、データ送信開始フラグをセ
ットした(ステップS190)後、この処理を終了する
(ステップS191)。そして、MIDIデータの出力
処理を開始する。なお、ステップS186において、今
回受信した「DATA番号」が前回受信した「DATA
番号」と等しいと判別したときは、同一の送信データが
再送されてきたと判定し、受信データを破棄する。
【0057】前述したステップS184において、正常
に終了しなかったと判別したときは、受信データバッフ
ァの書込みポインタのポインタ値を受信データバッファ
の先頭アドレスとする(ステップS192)。次いで、
送信データバッファポインタ値を、「NAK」データの
先頭アドレスにすると共に、送信データバッファの最終
アドレス番号である「NAKE」とする(ステップS1
93)。つまり、ここでは、「NAK」データを送信す
る準備を行う。次いで、ステップS190にジャンプ
し、データ送信開始フラグをセットして(ステップS1
90)、この処理を終了する(ステップS191)。
【0058】データ送信終了割込み処理は、送信デー
タ、「ACK」または「NAK」、誤り訂正符号および
ストップ符号をすべて出力したことを表すデータ送信終
了信号が送信データ出力部15から出力されてきたとき
に行われる。図21に示すように、送受信部34に送信
終了を要求する(ステップS201)と共に、データ受
信開始フラグをセットする(ステップS202)。次い
で、データ送信終了割込みを禁止した(ステップS20
3)後、この処理を終了する(ステップS204)。
【0059】以上のように、本実施例によれば、送信装
置3は、複数のキーボード2からMIDIデータを同時
に入力すると共に、ほぼリアルタイムで、各キーボード
2と対になる音源装置5にそのMIDIデータを伝達す
ることができる。この結果、送信装置3および受信装置
4を各1台だけ用いればよいので、1対のキーボード2
および音源装置5毎に、送信装置3および受信装置4を
それぞれ用いる場合と比較して、MIDI楽器システム
1のコストを削減することができる。このことは、キー
ボード2および音源装置5をそれぞれ3つ以上用いる場
合も同様であり、この場合には、大幅にコストを削減す
ることができる。また、1台の送信装置3が1つの送信
周波数で送信データを送信するので、受信装置4側では
混信が起こらず、この結果、音源装置5にMIDIデー
タを確実に伝達することができる。
【0060】なお、実施例の送信装置3および受信装置
4で用いる周波数は限定されず、他の周波数を使用して
もよい。また、本実施例では、スペクトラム拡散方式の
変調方式を用いているがこれに限定されず、高周波搬送
波のオン/オフ変調、FM変調、PM変調、PCM変調
およびADPCM変調などすべての変調方式を使用する
ことができる。さらに、赤外線による送受信が可能に構
成してもよい。また、送信装置3および受信装置4を同
一の送受信機に構成すると共に、デュープレックス通信
を行えるように構成し、互いに離れた場所で演奏し合う
ことも可能である。
【0061】また、本実施例においては、キーボード2
と音源装置5の間での送受信について説明したが、これ
に限定されず、キーボードやMIDIギターなどの演奏
装置、音源装置およびシーケンサなどのすべてのMID
I楽器相互間での送受信が可能である。なお、シーケン
サなどの演奏情報記録装置に送受信装置3を接続すれ
ば、演奏情報記録装置が、他のMIDI楽器から送信さ
れた無線信号を受信し、この無線信号から復調したMI
DIデータに基づいた演奏情報を記録することもでき
る。
【0062】
【発明の効果】以上のように本発明のMIDIデータの
送信装置によれば、1台のMIDIデータ送信装置によ
って複数のMIDIデータ出力装置からのMIDIデー
タを受信装置に送信することができるので、MIDI楽
器システムのコストを大幅に削減することができる。し
かも、用いる送信周波数が1つでよいため、混信が起こ
らず、この結果、MIDIデータ処理装置にMIDIデ
ータを確実に伝達することができる。また、本発明のM
IDIデータの受信装置によれば、1台の受信装置で、
複数の音源装置などにMIDIデータを同時に伝達する
ことができるため、MIDI楽器システムのコストを大
幅に削減することができると共に、1つの送信波を受信
するだけなので、混信や相互変調などによるスプリアス
によって誤ったデータを伝達することがなく、MIDI
データ処理装置にMIDIデータを確実に伝達すること
ができる。
【図面の簡単な説明】
【図1】本発明の実施例に係るMIDI楽器システムの
構成図である。
【図2】本発明の実施例に係る送信装置のブロック図で
ある。
【図3】本発明の実施例に係る受信装置のブロック図で
ある。
【図4】送信装置のメインルーチンのフローチャートで
ある。
【図5】送信装置の初期設定処理のフローチャートであ
る。
【図6】送信装置のMIDIデータの入力処理のフロー
チャートである。
【図7】送信装置のデータ送信開始処理のフローチャー
トである。
【図8】送信装置のデータ受信開始処理のフローチャー
トである。
【図9】送信装置のタイマT1割込み処理のフローチャ
ートである。
【図10】送信装置のタイマT2割込み処理のフローチ
ャートである。
【図11】送信装置のデータ送信割込み処理のフローチ
ャートである。。
【図12】送信装置のデータ送信終了割込み処理のフロ
ーチャートである。
【図13】送信装置のデータ受信割込み処理のフローチ
ャートである。
【図14】送信装置のデータ受信終了割込み処理のフロ
ーチャートである。
【図15】受信装置のメイン処理のフローチャートであ
る。
【図16】受信装置の初期設定処理のフローチャートで
ある。
【図17】受信装置のデータ受信開始処理のフローチャ
ートである。
【図18】受信装置のデータ送信開始処理のフローチャ
ートである。
【図19】受信装置のMIDIデータの出力処理のフロ
ーチャートである。。
【図20】受信装置のデータ受信終了割込み処理のフロ
ーチャートである。
【図21】受信装置のデータ送信終了割込み処理のフロ
ーチャートである。
【符号の説明】 2 キーボード 3 送信装置 4 受信装置 5 音源装置 12 MIDIデータ入力部 14 伝送データ一時記憶部 16 送受信部 32 MIDIデータ出力部 34 伝送データ一時記憶部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成7年3月8日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 MIDIデータの送信装置および受信
装置
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ピッチ情報、ベロシテ
ィー情報、音色情報およびコントロール情報などを含ん
だ演奏情報の伝達に用いられるMIDI(Musica
l Instrument Digital Inte
rface)信号を、キーボードやMIDIギター等の
演奏装置、音源装置およびシーケンサなどのMIDI楽
器の相互間で送信または受信するMIDIデータの送信
装置および受信装置に関するものである。
【0002】
【従来の技術】この種のMIDIデータの送信装置およ
び受信装置として、出願人は、演奏装置(例えば、キー
ボード)に接続され、MIDIデータに基づいて変調し
た無線信号を送信する送信装置と、発音装置に接続さ
れ、無線信号をMIDIデータに復調する受信装置とを
既に提案している(特願平6−72463)。
【0003】これらの送信装置および受信装置では、押
鍵されたキーに対応するMIDIデータが演奏装置から
送信装置に出力されると、送信装置が、MIDIデータ
に基づいて高周波信号を変調し、変調された無線信号
を、受信装置に送信する。一方、受信装置は、無線信号
を受信すると共にMIDIデータに復調し、復調したM
IDIデータを、発音装置(例えば、音源装置)に出力
する。そして、発音装置が、出力されたMIDIデータ
によって表されるキーに対応する楽音を発音している。
【0004】
【発明が解決しようとする課題】ところが、このような
MIDIデータの送信装置および受信装置では、以下の
点で改善の余地がある。まず、上述の例では、送信装置
と受信装置とが対になって演奏装置からのMIDIデー
タを発音装置に伝達するように構成されているため、複
数の演奏装置からMIDIデータを伝達する場合、演奏
装置と等しい数の送信装置および受信装置がそれぞれ必
要となり、MIDI楽器システムのコストが上昇してし
まう。
【0005】また、複数の送信装置を用いる場合、互い
に異なる送信周波数を用いる必要があるため、現実的に
は、送信周波数としてのバンド数が法により規制されて
いるので、使用できる演奏装置の数には限界がある。ま
た、限られた数の演奏装置を使用したとしても、実際に
は、送信装置と受信装置とは密集しているのが通常であ
るため、混信などが起こり、演奏に支障をきたしてしま
う。
【0006】本発明は、かかる観点からなされたもので
あり、無線信号によってMIDIデータを伝達するMI
DI楽器システムのコストダウンを図ると共に、MID
Iデータを確実に伝達することができるMIDIデータ
の送信装置および受信装置を提供することを目的とす
る。
【0007】
【課題を解決するための手段】上記目的を達成すべく請
求項1記載のMIDIデータの送信装置は、演奏情報を
伝達するためのMIDIデータを出力する複数のMID
Iデータ出力装置に接続可能に構成され、複数のMID
Iデータ出力装置からそれぞれ出力されたMIDIデー
タを入力するMIDIデータ入力部と、MIDIデータ
入力部によって入力されたMIDIデータを、MIDI
データを出力したMIDIデータ出力装置の装置番号デ
ータと共に記憶する記憶手段と、記憶されている装置番
号データおよび装置番号データと共に記憶されているM
IDIデータに基づいて変調した無線信号を送信する送
信部とを備えていることを特徴とする。
【0008】請求項2記載のMIDIデータの受信装置
は、演奏情報を伝達するためのMIDIデータに基づい
て信号処理を行う複数のMIDIデータ処理装置に接続
可能に構成され、MIDIデータ処理装置の装置番号デ
ータ、および当該装置番号のMIDIデータ処理装置に
伝達するMIDIデータに基づいて変調された無線信号
を受信し、受信した無線信号から装置番号データおよび
MIDIデータを復調する受信部と、受信部によって復
調された装置番号データに対応するMIDIデータ処理
装置に、復調したMIDIデータを出力するMIDIデ
ータ出力部とを備えていることを特徴とする。
【0009】
【作用】請求項1記載のMIDIデータの送信装置によ
れば、送信装置に接続された複数のMIDIデータ出力
装置からMIDIデータが出力されると、MIDIデー
タ入力部が、MIDIデータを入力し、記憶手段が、入
力したMIDIデータを、当該MIDIデータを出力し
たMIDIデータ出力装置の装置番号データと共に記憶
する。そして、送信部が、記憶手段に記憶されている装
置番号データおよび当該装置番号データと共に記憶され
ているMIDIデータに基づいて変調した無線信号を送
信する。この結果、例えば、受信装置が、無線信号を受
信した後、装置番号データとMIDIデータに復調し、
その装置番号データに対応する音源装置などにMIDI
データを出力することにより、複数のMIDIデータ出
力装置からそれぞれ出力されたMIDIデータが、それ
と対応する音源装置にそれぞれ伝達される。この場合、
1台のMIDIデータ送信装置と受信装置を用いればよ
いので、MIDIデータ出力装置および音源装置毎に送
信装置および受信装置を用いるのと比較して、MIDI
楽器システムのコストを大幅に削減することができる。
しかも、用いる送信周波数が1つでよいため、混信が起
こらず、この結果、MIDIデータを確実に伝達するこ
とができる。
【0010】請求項2記載のMIDIデータの受信装置
によれば、受信部は、MIDIデータの送信装置から、
装置番号データとそれと対応するMIDIデータに基づ
いて変調された無線信号が送信されてくると、その無線
信号を受信し、装置番号データとMIDIデータに復調
する。そして、MIDIデータ出力部が、復調した装置
番号データに対応する音源装置などに復調したMIDI
データを出力することによって、MIDIデータ処理装
置にMIDIデータが伝達される。このように、1台の
受信装置で、複数のMIDIデータ処理装置にMIDI
データを伝達することができるため、MIDI楽器シス
テムのコストを大幅に削減することができる。また、1
つの送信波を受信するだけなので、受信部内で混信や相
互変調などが起きず、この結果、MIDIデータ出力部
は、誤ったMIDIデータを伝達することなく、確実に
MIDIデータを伝達することができる。
【0011】
【実施例】以下、添付図面を参照して、本発明の実施例
に係るMIDIデータの送信装置および受信装置につい
て説明する。
【0012】図1は、本実施例に係るMIDIデータの
送信装置および受信装置を適用したMIDI楽器システ
ム1の構成図である。同図に示すように、このMIDI
楽器システム1は、2台のキーボード(MIDIデータ
出力装置)2a,2b(以下、区別しない場合には「キ
ーボード2」という)、送信装置(MIDIデータの送
信装置)3、受信装置(MIDIデータの受信装置)
4、2台の音源装置(MIDIデータ処理装置)5a,
5b(以下、区別しない場合には「音源装置5」とい
う)およびスピーカ6a,6b(以下、区別しない場合
には「スピーカ6」という)を備えている。なお、送信
装置3および受信装置4は、無線信号を送受信するため
のアンテナ7および8をそれぞれ備えている。
【0013】このMIDI楽器システム1では、装置番
号「a」および「b」のキーボード2a,2bでそれぞ
れ演奏が行われると、キーボード2aから出力されたM
IDIデータが音源装置5aに伝達され、キーボード2
bから出力されたMIDIデータが音源装置5bに伝達
される。この結果、音源装置5a,5bは、キーボード
2a,2bによって押鍵された鍵に対応する楽音を別個
独立してそれぞれ発音する。具体的には、各キーボード
2で演奏が行われると、MIDIデータが送信装置3に
出力される。送信装置3は、MIDIデータが入力され
ると、そのMIDIデータに基づいて変調した無線信号
を受信装置4に送信する。一方、受信装置は、その無線
信号をMIDIデータに復調し、各音源装置5に出力す
る。そして、各音源装置5がスピーカ6に楽音信号を出
力することによって、スピーカ6から楽音が発せられ
る。
【0014】送信装置3は、図2に示すように、CPU
11、MIDIデータ入力部12a〜12h(以下、区
別しない場合には、「MIDIデータ入力部12」とい
う)、入力用クロック発生部13、伝送データ一時記憶
部14、送信データ出力部15、送受信部16、受信デ
ータ入力部17および表示部18を備え、これらの各部
は、バスライン21によって互いに接続されている。ま
た、CPU11は、割込信号出力部19,20を介し
て、送信データ出力部15および受信データ入力部17
に専用線で接続され、各種の割込み信号を受け付けるよ
うになっている。
【0015】CPU11は、送受信部16の送受信切替
制御、送信データ出力部15および受信データ入力部1
7からの割込信号に基づいた割込み処理を行うと共に、
MIDIデータの書込処理などを行う。MIDIデータ
の書込処理では、CPU11は、MIDIデータ入力部
12a〜12hからそれぞれ入力されたMIDIデータ
の伝送データ一時記憶部14への書込み、伝送データ一
時記憶部14に記憶されているMIDIデータの送信デ
ータ出力部15への書込み、および受信データ入力部1
7から出力されたMIDIデータの伝送データ一時記憶
部14への書込みを行う。
【0016】MIDIデータ入力部12a〜12hは、
それぞれ別個独立のキーボ一ド2に接続できるようにな
っており、本実施例では、MIDIデータ入力部12a
および12bにキーボード2aおよび2bがそれぞれ接
続されている。このMIDIデータ入力部12は、3
1.25KHzの速度で非同期入力されるMIDIデー
タを入力するためのインターフェースであって、シリア
ルデータであるMIDIデータをサンプリングによって
入力した後、パラレルデータに変換し、バスライン21
を介して、変換したパラレルデータをCPU11に出力
する。
【0017】入力用クロック発生部13は、MIDIデ
ータ入力部12がMIDIデータを入力するためのサン
プリングクロックを生成し、MIDIデータ入力部12
に出力する。
【0018】伝送データ一時記憶部14は、送信データ
準備バッファ、送信データバッファおよび受信データバ
ッファ(いずれも図示せず)を備えている。送信データ
準備バッファには、送信データが記憶される。この場
合、送信データは、MIDIデータが入力されたMID
Iデータ入力部12の番号、つまり、MIDIデータ入
力部12に接続されているキーボード2の装置番号(例
えば、「a」)と、その装置番号のキーボード2から入
力されたMIDIデータ(例えば、「FOh」)から構
成されている。なお、装置番号は、CPU11によって
自動的に付加される。また、送信データバッファには、
CPU11によって送信データ準備バッファから転送さ
れた送信データが記憶され、受信データバッファには、
受信データ入力部17から入力された受信データが記憶
される。
【0019】なお、各バッファは、データを記憶してい
るときは、その記憶領域の先頭番地にデータを記憶して
いることを示すと共にデータ番号である「DATA番
号」を、次の番地以降に、送信データをそれぞれ記憶す
る。なお、「DATA番号」は、後述するように、CP
U11がタイマT1割込みによって書き込んでいる。
【0020】送信データ出力部15は、伝送データ一時
記憶部14の送信データバッファに記憶されている送信
データを内部バッファに一旦記憶し、記憶した送信デー
タを、パラレルデータからシリアルデータに変換すると
共に、後述する同期用クロック信号に同期させて送受信
部16に出力する。送信データ出力部15は、内部バッ
ファの記憶領域に空きができると、CPU11にデータ
送信割込み信号(図1の#1)を出力し、これに基づい
てCPU11が、伝送データ一時記憶部14に記憶され
ている送信データを送信データ出力部15に転送し、順
次記憶させる。また、送信データ出力部15は、送受信
部16に送信データを出力する際に、最初の送信データ
の先頭に、スタート符号を、送信データの最後に、誤り
訂正符号およびストップ符号をそれぞれ自動的に付加し
て出力する。そして、送信データ出力部15は、送受信
部16にすべてのデータを出力すると、割込信号出力部
20を介して、すべてのデータを送受信部16に出力し
たことを示すデ一タ送信終了割込み信号(図1の#2参
照)をCPU11に出力した後、待機する。
【0021】送受信部16は、2.4GHzのスペクト
ラム拡散方式の送受信機であり、約250KHzの変調
速度で搬送波を変調可能に構成されている。このため、
送受信部16は、31.25KHzでシリアル入力され
るMIDIデータを8系統分、リアルタイムで変調する
と共にその変調した無線信号を送信する。
【0022】また、送受信部16は、内部CPU、RO
Mなどを備えている。内部CPUは、周波数制御、拡散
符号の同期制御、送信データ出力部15および送受信部
16とのインターフェース制御などを行う。具体的に
は、以下の動作を行う。CPU11から送信開始要求が
あると、内部CPUは、送信開始の処理を行い、送信準
備の完了と共に、送信データ出力部15に同期用クロッ
ク信号(TXC)を出力することによって、同期用クロ
ック信号(TXC)に同期させて、送信データ出力部1
5の内部バッファから送信データ(TXD)を順次取り
込む。次いで、内部CPUは、送信データを内部の変調
器に出力する。これによって、送受信部16が、拡散変
調を行い、変調後の拡散信号である無線信号をアンテナ
7から出力する。そして、送信データの送信が完了する
と、内部CPUは、CPU11から出力される送信終了
信号に基づいて、送信を終了する。
【0023】また、内部CPUは、CPU11から受信
開始信号が出力されると、受信開始の処理を行い、受信
準備完了と共に、同期用クロック信号(RXC)と共に
受信データ(RXD)を受信データ入力部17に出力す
る。また、CPU11から受信終了信号が出力される
と、内部CPUは、受信終了処理を行い、すべての受信
処理を終了する。
【0024】受信データ入力部17は、送信装置3が受
信装置として機能するときに作動し、送受信部16から
入力された受信データを記憶する。受信データ入力部1
7は、送受信部16が受信したデータから、スタート符
号、誤り訂正符号およびストップ符号を検出し、スター
ト符号を検出したときは、内部バッファに受信データを
記憶する。そして、その内部バッファのすべてに受信デ
ータが記憶されると、割込信号出力部19を介して、デ
ータ受信割込み信号(図1の#3)をCPU11に出力
する。これにより、CPU11がその受信データを伝送
データ一時記憶部14に転送する。また、受信データ入
力部17は、誤り訂正信号およびストップ符号を入力
し、エラーがあるか否かを判別した後に、受信データの
受信が終了したことを示すデータ受信終了割込み信号
(図1の#4)を、割込信号出力部20を介して、CP
U11に出力する。これにより、送受信部16の受信が
終了し、受信データ入力部17は、待機する。なお、受
信データ入力部17は、スタート符号、誤り訂正符号お
よびストップ符号を自動的に削除し、必要な受信データ
のみを記憶する。
【0025】表示部18は、送受信部16の送受信動
作、MIDIデータ入力部12からのMIDIデータの
読込動作、および受信データ入力部17からの受信デー
タの読込動作などの現在実行している処理内容や、エラ
ーなどを表示する。
【0026】次に、前述した受信装置4について、図3
を参照して説明する。
【0027】同図に示すように、受信装置4は、CPU
11、MIDIデータ出力部32a〜32h(以下、区
別しない場合には、「MIDIデータ出力部32」とい
う)、出力用クロック発生部33、伝送データ一時記憶
部34、送信データ出力部15、送受信部16および受
信データ入力部17を備え、これらの各部は、バスライ
ン21によって互いに接続されている。また、CPU1
1は、割込信号出力部19,20を介して、送信データ
出力部15および受信データ入力部17に専用線で接続
され、割込み信号を受け付ける。なお、送信装置3で説
明した構成要素と同一でかつ同じ様な動作を行うもの
は、同一の符号を使用し、その説明を省略する。
【0028】MIDIデータ出力部32a〜32hは、
それぞれ音源装置5に接続できるようになっており、本
実施例では、MIDIデータ出力部32aおよび32b
に音源装置5aおよび5bがそれぞれ接続されている。
このMIDIデータ出力部32は、MIDIデータを非
同期で出力するためのインターフェースであって、伝送
データ一時記憶部34に記憶されているパラレルデータ
のMIDIデータをシリアルデータに変換し、出力用ク
ロック発生部33によって生成された同期用クロックに
同期させてシリアルデータに変換したMIDIデータ
を、音源装置5に出力する。
【0029】出力用クロック発生部33は、31.25
KHzの同期用クロックを生成し、MIDIデータ出力
部32に出力する。
【0030】伝送データ一時記憶部34は、受信データ
バッファ、受信データ準備バッファ、送信データバッフ
ァ、NAKデータバッファおよびACKデータバッファ
を備えている(いずれも図示せず)。受信データバッフ
ァには、送受信部16によって受信された受信データが
記憶され、受信データ準備バッファには、CPU11に
よって受信データバッファから転送され、MIDIデー
タ出力部32に出力する受信データが記憶されている。
この場合、受信データは、キーボード2の装置番号、つ
まり、その装置番号のキーボード2と対になる音源装置
5の装置番号(例えば、「a」)と、その装置番号の音
源装置5に出力するMIDIデータとから構成されてい
る。また、送信データバッファには、送信装置3に返答
する場合の「DATA番号」などが、必要に応じてCP
U11によって書き込まれる。さらに、NAKデータバ
ッファには、送信データを正しく受信できなかったこと
を示す「NAK」が記憶され、ACKデータバッファに
は、送信データを正しく受信できたことを示す「AC
K」が記憶されている。
【0031】次に、フローチャートを参照して、送信装
置3の処理内容について説明する。なお、以下の動作
は、特に断りのない限り、CPU11が行う。
【0032】最初に、送信装置としてのメイン処理につ
いて、図4〜8を参照して説明する。図4に示すよう
に、メイン処理では、電源投入時において初期設定を行
い(ステップS1)、その後、MIDIデータの入力処
理(ステップS2)、データ送信開始処理(ステップS
3)およびデータ受信開始処理(ステップS4)を行
う。
【0033】初期設定(ステップS1)では、図5に示
すように、伝送データ一時記憶部14の送信準備データ
バッファ、送信データバッファおよび受信データバッフ
ァのそれぞれについて先頭アドレス、書込み開始アドレ
スおよび書込みポインタ値などの設定を行う(ステップ
S11)。次いで、伝送データ一時記憶部14以外の各
部を初期化し(ステップS12)、後述する各種の割込
みの初期化と禁止を行う(ステップS13。なお、ここ
では、タイマT1割込み(これについては後述する)は
禁止しないでおく。次に、データ送信開始フラグおよび
データ受信開始フラグをリセットして、この初期化処理
を終了する(ステップS15)。
【0034】MIDIデータの入力処理は、MIDIデ
ータ入力部12からMIDIデータを入力する処理であ
って、図6に示すように、MIDIデータ入力部12a
〜12hからMIDIデータが入力されているか否かを
順にチェックする。最初に、ポインタを値X=0(値0
〜値7は、MIDIデータ入力部12aから12hにそ
れぞれ対応する)にセットし(ステップS21)、MI
DIデータ入力部12aからMIDIデータが入力され
ているか否かを判別する(ステップS22)。MIDI
データがあれば、伝送データ一時記憶部14の送信デー
タ準備バッファの書込みポインタ値(MIDIデータを
書き込むべき送信データバッファのアドレス)を読み出
す(ステップS23)。
【0035】次に、書込みポインタ値で示されるアドレ
スに装置番号「X(この場合には、「a」)」を書き込
むと共に、次のアドレスにMIDIデータを書き込む
(ステップS24)。次いで、書込みポインタ値を更新
する(ステップS25)。次に、ポインタの値に値1を
加えた(ステップS26)後、ポインタ値が値8になっ
たか否かを判別する(ステップS27)。なっていない
と判別したときは、ステップ22に戻り、次のMIDI
データ入力部12にMIDIデータが入力されているか
否かをチェックする(ステップS22)。ステップS2
7の判別結果が肯定のときは、この処理を終了する(ス
テップS28)。なお、上記ステップS22で、MID
Iデータがないと判別したときは、ステップS26にジ
ャンプする。
【0036】データ送信開始処理(ステップS3)は、
送受信部16に送信を開始させる処理であって、図7に
示すように、最初に、データ送信開始フラグがセットさ
れているか否かを判別する(ステップS31)。セット
されていると判別したときは、送信を開始してよいもの
と判定し、送信データ出力部15の初期化を行う(ステ
ップS32)。次いで、データ送信割込みおよびデータ
送信終了割込みを許可した(ステップS33)後、送受
信部16に送信開始を要求する(ステップS34)。そ
の後、データ送信開始フラグをリセットして(ステップ
S35)、この処理を終了する(ステップS36)。な
お、ステップS31でフラグがセットされていないと判
別したときは、送信禁止であると判定し、この処理を終
了する(ステップS36)。
【0037】データ受信開始処理(ステップS4)は、
送受信部16に受信を開始させる処理であって、図8に
示すように、最初に、データ受信開始フラグがセットさ
れているか否かを判別する(ステップS41)。セット
されていると判別したときは、受信を開始してよいもの
と判定し、受信データ入力部17の初期化を行う(ステ
ップS42)。次いで、データ受信割込みおよびデータ
受信終了割込みを許可した(ステップS43)後、送受
信部16に受信開始を要求する(ステップS44)。そ
の後、データ受信開始フラグをリセットして(ステップ
S45)、この処理を終了する(ステップS46)。な
お、ステップS41でフラグがセットされていないと判
別したときは、受信禁止であると判定し、この処理を終
了する(ステップS46)。
【0038】次に、メイン処理とは別に割込み信号に基
づいて行う処理である、タイマT1割込み処理、タイマ
T2割込み処理、データ送信割込み処理、データ送信終
了割込み処理、データ受信割込み処理およびデータ受信
終了割込み処理について、図9〜14を参照して説明す
る。
【0039】タイマT1割込み処理では、所定時間(T
1)が経過すると、図9に示すように、送信データバッ
ファに既に書き込まれている送信データが送信されてい
るものとして、送信データバッファと送信データ準備バ
ッファを入れ替える(ステップS101)。なお、送信
データ準備バッファに書き込まれているデータを、送信
データバッファに転送してもよい。次いで、伝送データ
一時記憶部14の受信データバッファの書込みポインタ
値を受信データバッファの先頭アドレスに設定し(ステ
ップS102)、送信データバッファのデータ開始アド
レスと最終アドレスが等しいか否かを判別する(ステッ
プS103)。等しくないと判別したときは、送信デー
タがあると判定し、送信データバッファの先頭番地に、
「DATA番号」を書き込み(ステップS104)、送
信開始フラグをセットし(ステップS104)、この処
理を終了する(ステップS106)。ステップ103に
おいて、その判別結果が肯定と判別したときは、送信デ
ータがないものとして、この処理を終了する(ステップ
S106)。
【0040】タイマT2割込み処理では、図10に示す
ように、データ受信割込みを禁止する(ステップS11
1)と共に、データ受信終了割込みを禁止する(ステッ
プS112)。次いで、送受信部16に受信終了を要求
した(ステップS113)後、送信回数カウンタのカウ
ンタ値を更新する(ステップS114)。そして、送信
カウンタのカウンタ値が設定回数になったか否かを判別
する(ステップS115)。設定回数になっていないと
判別したときは、送信データバッファの読出しポインタ
値を送信データバッファの先頭アドレスに設定した(ス
テップS116)後、送信データバッファの書込みポイ
ンタ値を受信データバッファの先頭アドレスに設定する
(ステップS117)。次いで、データ送信開始フラグ
をセットし(ステップS118)、タイマT2割込みを
禁止する(ステップS119)と共に、タイマT2をリ
セットした(ステップS120)後、この処理を終了す
る(ステップS121)。ステップS115において、
送信回数カウンタが設定回数になったと判別したとき
は、正しく送信できなかったものとして、表示部18に
エラーを表示させた(ステップS122)後、「DAT
A番号」を更新する(ステップS123)ことによっ
て、次の送信データの送信に備えると共に、送信回数カ
ウンタのカウンタ値を初期値にセットした(ステップS
124)後、ステップS119にジャンプする。
【0041】データ送信割込み処理では、図11に示す
ように、伝送データ一時記憶部14の送信データバッフ
ァの読出しポインタのポインタ値を読み出し(ステップ
S131)、読出しポインタ値で示されるアドレスの送
信データを読み出す(ステップS132)。次いで、読
み出した送信データを、送信データ出力部15の内部バ
ッファに記憶させ(ステップS133)、読出しポイン
タのポインタ値を更新する(ステップS134)。そし
て、更新した読出しポインタのポインタ値が送信データ
バッファの最終アドレス値と一致するか否かを判別する
(ステップ135)。一致すると判別したときは、すべ
ての送信データを送信したものと判定し、最後の送信デ
ータであることを表す送信データ終了信号を送信データ
出力部15に出力した(ステップS136)後、データ
送信割込みを禁止し(ステップS137)、この処理を
終了する(ステップS138)。
【0042】ステップS135において、判別結果が否
定のときは、ステップS131にジャンブし、判別結果
が肯定になるまで、この処理を繰り返す。なお、以上の
処理においては、送信データ出力部15の内部バッファ
の記憶領域に空きができたことを表すデータ送信割込み
信号が送信データ出力部15から出力されてきたとき
に、伝送データ一時記憶部14の送信データバッファか
ら送信データ出力部15に送信データを転送して、次々
と記憶させている。そして、すべての送信データを転送
したときに、送信データ終了信号を送信データ出力部1
5に出力し、データ送信割込みを禁止している(ステッ
プS138)。
【0043】データ送信終了割込み処理は、送信データ
をすべて送信したことを表すデータ送信終了信号が送信
データ出力部15から出力されてきたときに行われる。
図12に示すように、送信の終了を要求するための送信
終了信号を送受信部16に出力する(ステップS14
1)と共に、データ受信開始フラグをセットする(ステ
ップS142)。次いで、タイマT2をスタートさせ
(ステップS143)、相手方の受信装置4からの応答
に対応するためのタイマT2割込み処理を許可する(ス
テップS144)と共に、データ送信終了割込みを禁止
し(ステップS145)、この処理を終了する(ステッ
プS146)。そして、その後に、データ受信開始処理
(ステップS4)を行う。
【0044】データ受信割込み処理では、図13に示す
ように、受信データバッファの書込みポインタのポイン
タ値を読み出し(ステップS151)、受信データ入力
部17から受信データを読み出す(ステップS15
2)。次いで、書込みポインタのポインタ値で示される
アドレスに、読み出した受信データを書き込み(ステッ
プS153)、書込みポインタのポインタ値を更新し
(ステップS154)、この処理を終了する(ステップ
S156)。なお、この処理では、内部バッファの記憶
領域のすべてに受信データが書き込まれたことを表すデ
ータ受信割込み信号が受信データ入力部17から出力さ
れてきたときに、その記憶領域に書き込まれている受信
データを、伝送データ一時記憶部14の受信データバッ
ファに転送する。
【0045】データ受信終了割込み処理は、送受信部1
6が正常に受信できたか否かをチェックすると共に、
「ACK」を受け取ったときは、次の送信に備え、「N
AK」を受け取ったときは、データの再送またはエラー
表示を行う処理である。具体的には、図14に示すよう
に、すべての受信データの受信を終了したか、または誤
り訂正符号で誤りを検出したことを表すデータ受信終了
割込み信号が受信データ入力部17から出力されてきた
ときに、タイマT2割込みを禁止する(ステップS16
1)と共に、タイマT2をリセットする(ステップS1
62)。次いで、データ受信割込みを禁止する(ステッ
プS163)と共に、データ受信終了割込みを禁止する
(ステップS164)。次に、送受信部16に受信終了
を要求し(ステップS165)、誤り訂正符号の検査で
誤りがないか否か、つまり、正常に終了したか否かを判
別する(ステップS166)。正常に終了したと判別し
たときは、受信装置4の応答が「ACK」か否かを判別
する(ステップS167)。「ACK」のときは、「D
ATA番号」を更新する(ステップS168)と共に、
送信カウンタのカウンタ値を更新する(ステップS16
9)ことによって、次の送信に備えた後、この処理を終
了する(ステップS170)。
【0046】前述したステップS166およびステップ
S167において、判別結果が否定のときは、送信回数
カウンタのカウンタ値を更新し(ステップS171)、
送信回数カウンタのカウンタ値が設定値に達したか否か
を判別する(ステップS172)。設定回数に達してい
ないときは、送信データバッファの読出しポインタ値を
送信データバッファの先頭アドレスとする(ステップS
173)。次いで、受信データバッファの書込みポイン
タ値を受信データバッファの先頭アドレスに設定する
(ステップS174)と共に、受信装置4に送信データ
の再送を行うために、データ送信開始フラグをセットし
て(ステップS175)、この処理を終了する(ステッ
プS170)。前述したステップS172において、判
別結果が肯定のとき、つまり、設定回数分、送信したと
きは、受信装置4が正常に受信できなかったものとし
て、表示部18にエラーを表示させ(ステップS17
6)、「DATA番号」を更新する(ステップS17
7)と共に、送信回数カウンタのカウンタ値を初期値に
セットし(ステップS178)、この処理を終了する
(ステップS169)。
【0047】次に、受信装置4の処理について説明す
る。なお、以下の動作は、特に断りのない限り、CPU
11が行う。
【0048】最初に、メイン処理について、図15〜1
9を参照して説明する。図15に示すように、メイン処
理では、電源投入時において初期設定を行い(ステップ
S51)、その後、データ受信開始処理(ステップS5
2)、データ送信開始処理(ステップS53)およびM
IDIデータの出力処理(ステップS54)を行う。
【0049】初期設定(ステップS51)では、図16
に示すように、伝送データ一時記憶部34の送信データ
バッファ、受信データバッファおよび受信データ準備バ
ッファの先頭アドレス、読出しポインタ値および書込み
ポインタ値などの設定を行う(ステップS61)。次い
で、伝送データ一時記憶部34以外の各部を初期化し
(ステップS62)、後述する各種の割込みの初期化と
禁止を行う(ステップS63)。次に、データ送信開始
フラグをリセットすると共にデータ受信開始フラグをセ
ットして(ステップS64)、この初期化処理を終了す
る(ステップS65)。
【0050】データ受信開始処理(ステップS52)
は、送受信部16に受信を開始させる処理であって、図
17に示すように、最初に、データ受信開始フラグがセ
ットされているか否かを判別する(ステップS71)。
セットされていると判別したときは、受信を開始してよ
いものと判定し、受信データ入力部17の内部バッファ
を初期化する(ステップS72)。次いで、データ受信
割込み(図3の#3)およびデータ受信終了割込み(図
3の#4)を許可した(ステップS73)後、送受信部
16に受信開始を要求する(ステップS74)。その
後、データ受信開始フラグをリセットして(ステップS
75)、この処理を終了する(ステップS76)。な
お、ステップS71でフラグがセットされていないと判
別したときは、受信禁止であると判定し、この処理を終
了する(ステップS76)。
【0051】データ送信開始処理(ステップS53)
は、送受信部16に送信を開始させる処理であって、図
18に示すように、最初に、データ送信開始フラグがセ
ットされているか否かを判別する(ステップS81)。
セットされていると判別したときは、送信を開始してよ
いものと判定し、送信データ出力部15の内部バッファ
を初期化する(ステップS82)。次いで、データ送信
割込み(図3の#1)およびデータ送信終了割込み(図
3の#2)を許可した(ステップS83)後、送受信部
16に送信開始を要求する(ステップS84)。その
後、データ送信開始フラグをリセットして(ステップS
85)、この処理を終了する(ステップS86)。な
お、ステップS81でフラグがセットされていないと判
別したときは、送信禁止であると判定し、この処理を終
了する(ステップS86)。
【0052】MIDIデータの出力処理(ステップS5
3)は、MIDIデータ出力部32からMIDIデータ
を出力させる処理であって、図19に示すように、受信
データ準備バッファの読出しポインタ値を読み出す(ス
テップS91)。次いで、読出しポインタ値が受信デー
タ準備バッファの最終アドレス値と一致しているか否か
を判別する(ステップS92)。一致していないと判別
したときは、読出しポインタ値で示されるアドレスから
装置番号XとMIDIデータを読み出す(ステップS9
4)。次に、装置番号に対応するMIDIデータ出力部
32Xが出力可能か否かを判別する(ステップS9
5)。出力可能と判別したときは、そのMIDIデータ
出力部32XにMIDIデータを出力し(ステップS9
6)、読出しポインタ値を更新して(ステップS9
7)、この処理を終了する(ステップS98)。
【0053】なお、前述したステップS93において、
読出しポインタ値が受信データ準備バッファの最終アド
レス値と一致したとき、および、ステップS95におい
て、MIDIデータ出力部32Xが出力可能になってい
ないと判別したときは、そのまま処理を終了する(ステ
ップS98)。
【0054】次に、メイン処理とは別に割込み信号に基
づいて行う処理である、データ受信割込み処理、データ
受信終了割込み処理、データ送信割込み処理およびデー
タ送信終了割込み処理について説明する。なお、データ
受信割込み処理およびデータ送信割込み処理は、前述し
た送信装置3におけるデータ受信割込みおよびデータ送
信終了割込みとそれぞれ同一の処理内容であるため、こ
こでは、その説明を省略する。
【0055】データ受信終了割込みは、送受信部16が
正常に受信できたか否かをチェックし、正常に受信でき
たときは、「ACK」を送信し、正常に受信できなかっ
たときは、「NAK」を送信する処理である。具体的に
は、すべての受信データの受信を終了したか、又は誤り
訂正符号で誤りを検出したことを表すデータ受信終了割
込み信号が受信データ入力部17から出力されたとき
に、この処理が行われる。図20に示すように、データ
受信割込みおよびデータ受信終了割込みを禁止する(ス
テップS181,S182)と共に、受信終了を送受信
部16に要求し(ステップS183)、正常に受信でき
たか否かを判別する(ステップS184)。正常に受信
できたと判別したときは、今回受信した「DATA番
号」を読み出し(ステップS185)、前回に受信した
「DATA番号」と今回受信した「DATA番号」が等
しいか否かを判別する(ステップS186)。等しくな
いと判別したときは、新たな受信データであると判定し
て、受信データバッファと受信データ準備バッファを入
れ替える(ステップ187)。
【0056】次いで、送信データバッファの読出しポイ
ンタのポインタ値を「ACK」データの先頭アドレスと
すると共に、送信データバッファの最終アドレスを「A
CK」データの最終アドレスである「ACKE」とする
(ステップS188)。つまり、ここでは、「ACK」
データを送信する準備を行う。次に、前回に受信した
「DATA番号」を今回受信した「DATA番号」に更
新し(ステップS189)、データ送信開始フラグをセ
ットした(ステップS190)後、この処理を終了する
(ステップS191)。そして、MIDIデータの出力
処理を行う。なお、ステップS186において、今回受
信した「DATA番号」が前回受信した「DATA番
号」と等しいと判別したときは、同一の送信データが再
送されてきたと判定し、受信データを破棄する。
【0057】前述したステップS184において、正常
に終了しなかったと判別したときは、受信データバッフ
ァの書込みポインタのポインタ値を受信データバッファ
の先頭アドレスとする(ステップS192)。次いで、
送信データバッファポインタ値を、「NAK」データの
先頭アドレスにすると共に、送信データバッファの最終
アドレスを「NAK」データの最終アドレスである「N
AKE」とする(ステップS193)。つまり、ここで
は、「NAK」データを送信する準備を行う。次いで、
ステップS190にジャンプし、データ送信開始フラグ
をセットして(ステップS190)、この処理を終了す
る(ステップS191)。
【0058】データ送信終了割込み処理は、送信デー
タ、「ACK」または「NAK」、誤り訂正符号および
ストップ符号をすべて出力したことを表すデータ送信終
了信号が送信データ出力部15から出力されてきたとき
に行われる。図21に示すように、送受信部16に送信
終了を要求する(ステップS201)と共に、データ受
信開始フラグをセットする(ステップS202)。次い
で、データ送信終了割込みを禁止した(ステップS20
3)後、この処理を終了する(ステップS204)。
【0059】以上のように、本実施例によれば、送信装
置3は、複数のキーボード2からMIDIデータを同時
に入力すると共に、ほぼリアルタイムで、各キーボード
2と対になる音源装置5にそのMIDIデータを伝達す
ることができる。この結果、送信装置3および受信装置
4を各1台だけ用いればよいので、1対のキーボード2
および音源装置5毎に、送信装置3および受信装置4を
それぞれ用いる場合と比較して、MIDI楽器システム
1のコストを削減することができる。このことは、キー
ボード2および音源装置5をそれぞれ3つ以上用いる場
合も同様であり、この場合には、大幅にコストを削減す
ることができる。また、1台の送信装置3が1つの送信
周波数で送信データを送信するので、受信装置4側では
混信が起こらず、この結果、音源装置5にMIDIデー
タを確実に伝達することができる。
【0060】なお、実施例の送信装置3および受信装置
4で用いる周波数は限定されず、他の周波数を使用して
もよい。また、本実施例では、スペクトラム拡散方式の
変調方式を用いているがこれに限定されず、高周波搬送
波のオン/オフ変調、FM変調、PM変調、PCM変調
およびADPCM変調などすべての変調方式を使用する
ことができる。さらに、赤外線による送受信が可能に構
成してもよい。また、送信装置3および受信装置4を同
一の送受信機に構成すると共に、デュープレックス通信
を行えるように構成し、互いに離れた場所で演奏し合う
ことも可能である。
【0061】また、本実施例においては、キーボード2
と音源装置5の間での送受信について説明したが、これ
に限定されず、キーボードやMIDIギターなどの演奏
装置、音源装置およびシーケンサなどのすべてのMID
I楽器相互間での送受信が可能である。なお、シーケン
サなどの演奏情報記録装置に送受信装置3を接続すれ
ば、演奏情報記録装置が、他のMIDI楽器から送信さ
れた無線信号を受信し、この無線信号から復調したMI
DIデータに基づいた演奏情報を記録することもでき
る。
【0062】
【発明の効果】以上のように本発明のMIDIデータの
送信装置によれば、1台のMIDIデータ送信装置によ
って複数のMIDIデータ出力装置からのMIDIデー
タを受信装置に送信することができるので、MIDI楽
器システムのコストを大幅に削減することができる。し
かも、用いる送信周波数が1つでよいため、混信が起こ
らず、この結果、MIDIデータ処理装置にMIDIデ
ータを確実に伝達することができる。また、本発明のM
IDIデータの受信装置によれば、1台の受信装置で、
複数の音源装置などにMIDIデータを同時に伝達する
ことができるため、MIDI楽器システムのコストを大
幅に削減することができると共に、1つの送信波を受信
するだけなので、混信や相互変調などによるスプリアス
によって誤ったデータを伝達することがなく、MIDI
データ処理装置にMIDIデータを確実に伝達すること
ができる。
【図面の簡単な説明】
【図1】本発明の実施例に係るMIDI楽器システムの
構成図である。
【図2】本発明の実施例に係る送信装置のブロック図で
ある。
【図3】本発明の実施例に係る受信装置のブロック図で
ある。
【図4】送信装置のメインルーチンのフローチャートで
ある。
【図5】送信装置の初期設定処理のフローチャートであ
る。
【図6】送信装置のMIDIデータの入力処理のフロー
チャートである。
【図7】送信装置のデータ送信開始処理のフローチャー
トである。
【図8】送信装置のデータ受信開始処理のフローチャー
トである。
【図9】送信装置のタイマT1割込み処理のフローチャ
ートである。
【図10】送信装置のタイマT2割込み処理のフローチ
ャートである。
【図11】送信装置のデータ送信割込み処理のフローチ
ャートである。。
【図12】送信装置のデータ送信終了割込み処理のフロ
ーチャートである。
【図13】送信装置のデータ受信割込み処理のフローチ
ャートである。
【図14】送信装置のデータ受信終了割込み処理のフロ
ーチャートである。
【図15】受信装置のメイン処理のフローチャートであ
る。
【図16】受信装置の初期設定処理のフローチャートで
ある。
【図17】受信装置のデータ受信開始処理のフローチャ
ートである。
【図18】受信装置のデータ送信開始処理のフローチャ
ートである。
【図19】受信装置のMIDIデータの出力処理のフロ
ーチャートである。。
【図20】受信装置のデ−タ受信終了割込み処理のフロ
ーチャートである。
【図21】受信装置のデータ送信終了割込み処理のフロ
ーチャートである。
【符号の説明】 2 キーボード 3 送信装置 4 受信装置 5 音源装置 12 MIDIデータ入力部 14 伝送データ一時記憶部 16 送受信部 32 MIDIデータ出力部 34 伝送データ一時記憶部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松井 はるひこ 静岡県浜松市寺島町200番地 株式会社河 合楽器製作所内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 演奏情報を伝達するためのMIDIデー
    タを出力する複数のMIDIデータ出力装置に接続可能
    に構成され、 当該複数のMIDIデータ出力装置からそれぞれ出力さ
    れたMIDIデータを入力するMIDIデータ入力部
    と、 当該MIDIデータ入力部によって入力された前記MI
    DIデータを、当該MIDIデータを出力したMIDI
    データ出力装置の装置番号データと共に記憶する記憶手
    段と、 当該記憶されている装置番号データおよび当該装置番号
    データと共に記憶されているMIDIデータに基づいて
    変調した無線信号を送信する送信部とを備えていること
    を特徴とするMIDIデータの送信装置。
  2. 【請求項2】 演奏情報を伝達するためのMIDIデー
    タに基づいて信号処理を行う複数のMIDIデータ処理
    装置に接続可能に構成され、 当該MIDIデータ処理装置の装置番号データ、および
    当該装置番号のMIDIデータ処理装置に伝達するMI
    DIデータに基づいて変調された無線信号を受信し、当
    該受信した無線信号から前記装置番号データおよび前記
    MIDIデータを復調する受信部と、 当該受信部によって復調された装置番号データに対応す
    るMIDIデータ処理装置に、当該復調したMIDIデ
    ータを出力するMIDIデータ出力部とを備えているこ
    とを特徴とするMIDIデータの受信装置。
JP7021233A 1994-05-26 1995-01-13 Midiデータの送信装置および受信装置 Pending JPH08194475A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7021233A JPH08194475A (ja) 1995-01-13 1995-01-13 Midiデータの送信装置および受信装置
US08/452,173 US5670732A (en) 1994-05-26 1995-05-26 Midi data transmitter, receiver, transmitter/receiver, and midi data processor, including control blocks for various operating conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7021233A JPH08194475A (ja) 1995-01-13 1995-01-13 Midiデータの送信装置および受信装置

Publications (1)

Publication Number Publication Date
JPH08194475A true JPH08194475A (ja) 1996-07-30

Family

ID=12049323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7021233A Pending JPH08194475A (ja) 1994-05-26 1995-01-13 Midiデータの送信装置および受信装置

Country Status (1)

Country Link
JP (1) JPH08194475A (ja)

Similar Documents

Publication Publication Date Title
CN103021390A (zh) 通过独立于音乐再现装置的信息处理装置显示音乐再现的内容
CN101405790A (zh) 多个输入设备对系统资源的同时共享
US8633369B2 (en) Method and system for remote concert using the communication network
CN110168634B (zh) 发声装置、发声系统及游戏装置
US6788983B2 (en) Audio trigger devices
US20010010187A1 (en) Method for transmitting music data information, music data transmitter, music data receiver and information storage medium storing programmed instructions for music data
JPH08194475A (ja) Midiデータの送信装置および受信装置
JPWO2021005804A5 (ja)
JP6934247B2 (ja) 通信システム、通信方法およびプログラム
JP2003108125A (ja) 情報提供システム、携帯型端末装置、プログラムおよび情報記憶媒体
JPH0434753B2 (ja)
JPH07261752A (ja) Midi信号の送信装置および受信装置
JP3149329B2 (ja) Midiデータの送信装置および受信装置
CN109119053B (zh) 一种信号传输方法、装置、电子设备以及计算机可读存储介质
JP3037866B2 (ja) Midi信号の送受信装置
JP2746206B2 (ja) 楽音制御装置
JP3658661B2 (ja) データ受信装置、及びデータ送信装置
JP3168900B2 (ja) 演奏システムおよび音源装置
JP2715677B2 (ja) 電子楽器
JPH07202816A (ja) カラオケ装置の楽曲データ送受システム
JP3390590B2 (ja) Midiデータの送信装置
JP4090925B2 (ja) 演奏データ送信装置、通信システム、送信方法及びプログラム
JPH03240333A (ja) 楽音発生装置
JPH0199089A (ja) キースプリット機能付電子楽器
JPH07261755A (ja) Midi信号の送受信装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20001205