JP2000089755A - 演奏情報処理装置及び演奏情報通信システム - Google Patents
演奏情報処理装置及び演奏情報通信システムInfo
- Publication number
- JP2000089755A JP2000089755A JP10267219A JP26721998A JP2000089755A JP 2000089755 A JP2000089755 A JP 2000089755A JP 10267219 A JP10267219 A JP 10267219A JP 26721998 A JP26721998 A JP 26721998A JP 2000089755 A JP2000089755 A JP 2000089755A
- Authority
- JP
- Japan
- Prior art keywords
- information
- sound generation
- sound
- instruction
- sounding
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【課題】 任意の楽音について発音指示した後に、演奏
停止情報が欠落した場合に楽音が鳴りっぱなしになるの
を防止する。 【解決手段】 送信側の演奏情報処理装置100では、
鍵盤1からの押鍵に応じて、任意の楽音について発音開
始情報を生成してRAM5に記憶し、通信制御部6を介
してパケット交換網300に送信した後に、RAM5を
検索して、その楽音が消音指示を受けるまでは、発音継
続中である旨の発音中情報を一定時間ごとにパケット交
換網300に送信する。受信側の演奏情報処理装置20
0では、パケット交換網300から通信制御部7を介し
て、任意の楽音について発音開始情報を受信して音源1
2に発音を指示した後に、所定時間を経過してもその楽
音について発音継続中である旨の発音中情報を受信しな
い場合には、発音停止情報を受信しなくとも音源12に
対して消音の指示を行う。
停止情報が欠落した場合に楽音が鳴りっぱなしになるの
を防止する。 【解決手段】 送信側の演奏情報処理装置100では、
鍵盤1からの押鍵に応じて、任意の楽音について発音開
始情報を生成してRAM5に記憶し、通信制御部6を介
してパケット交換網300に送信した後に、RAM5を
検索して、その楽音が消音指示を受けるまでは、発音継
続中である旨の発音中情報を一定時間ごとにパケット交
換網300に送信する。受信側の演奏情報処理装置20
0では、パケット交換網300から通信制御部7を介し
て、任意の楽音について発音開始情報を受信して音源1
2に発音を指示した後に、所定時間を経過してもその楽
音について発音継続中である旨の発音中情報を受信しな
い場合には、発音停止情報を受信しなくとも音源12に
対して消音の指示を行う。
Description
【0001】
【発明の属する技術分野】本発明は、楽音の演奏情報を
通信回線を介して伝送する演奏情報処理装置及び演奏情
報処理システムに関する。
通信回線を介して伝送する演奏情報処理装置及び演奏情
報処理システムに関する。
【0002】
【従来の技術】楽音の演奏情報をパケット交換網等の通
信回線を介して伝送する演奏情報処理装置及び演奏情報
処理システムにおいては、送信側において、発音指示及
び消音指示に応じて、発音開始情報及び発音停止情報を
MIDI情報として生成して送信し、受信側において受
信した発音開始情報及び発音停止情報に応じて、音源に
対して発音の指示及び消音の指示を行っている。
信回線を介して伝送する演奏情報処理装置及び演奏情報
処理システムにおいては、送信側において、発音指示及
び消音指示に応じて、発音開始情報及び発音停止情報を
MIDI情報として生成して送信し、受信側において受
信した発音開始情報及び発音停止情報に応じて、音源に
対して発音の指示及び消音の指示を行っている。
【0003】
【発明が解決しようとする課題】しかしながら、通信回
線の不良等により送信した演奏停止情報が欠落した場合
には、受信側の音源からはその欠落した楽音が鳴りっぱ
なしになるという問題があった。また、発音指示及び消
音指示の各指示に対応する演奏時刻を送信するため、送
信する演奏情報が多くなるという問題もあった。本発明
の第1の課題は、受信側において楽音が発音中であるこ
とを確認することにより、演奏停止情報が欠落した場合
に楽音が鳴りっぱなしになるのを防止できるようにする
ことであり、第2の課題は送信する演奏情報量を少なく
することである。
線の不良等により送信した演奏停止情報が欠落した場合
には、受信側の音源からはその欠落した楽音が鳴りっぱ
なしになるという問題があった。また、発音指示及び消
音指示の各指示に対応する演奏時刻を送信するため、送
信する演奏情報が多くなるという問題もあった。本発明
の第1の課題は、受信側において楽音が発音中であるこ
とを確認することにより、演奏停止情報が欠落した場合
に楽音が鳴りっぱなしになるのを防止できるようにする
ことであり、第2の課題は送信する演奏情報量を少なく
することである。
【0004】
【課題を解決するための手段】請求項1に記載の演奏情
報処理装置の発明は、楽音の演奏に関する発音指示及び
消音指示に応じて、発音開始情報及び発音停止情報を生
成する情報生成手段と、前記発音開始情報及び発音停止
情報を通信回線を介して送信する送信手段と、任意の楽
音について前記発音開始情報が前記送信手段から送信さ
れた後に当該楽音が発音継続中であるか否かを一定時間
ごとに検索し、発音継続中であることを検索したときは
発音中情報を生成して前記送信手段から送信させる発音
検索手段と、を有する構成になっている。
報処理装置の発明は、楽音の演奏に関する発音指示及び
消音指示に応じて、発音開始情報及び発音停止情報を生
成する情報生成手段と、前記発音開始情報及び発音停止
情報を通信回線を介して送信する送信手段と、任意の楽
音について前記発音開始情報が前記送信手段から送信さ
れた後に当該楽音が発音継続中であるか否かを一定時間
ごとに検索し、発音継続中であることを検索したときは
発音中情報を生成して前記送信手段から送信させる発音
検索手段と、を有する構成になっている。
【0005】請求項2に記載の演奏情報処理装置の発明
は、通信回線を介して楽音の演奏に関する情報を受信す
る受信手段と、この受信手段が任意の楽音について発音
開始情報を受信したときは所定の音源に対して当該楽音
の発音を指示し、前記受信手段が発音中の任意の楽音に
ついて発音停止情報を受信したときは前記所定の音源に
対して当該楽音の消音を指示する発音制御手段と、この
発音制御手段が発音を指示した楽音について発音継続中
である旨の発音中情報を前記受信手段が所定時間内に受
信したか否かを判別し、当該所定時間内に当該発音中情
報の受信がないときは、前記発音制御手段に対して当該
発音中の楽音の消音を指示させる判別手段と、を有する
構成になっている。
は、通信回線を介して楽音の演奏に関する情報を受信す
る受信手段と、この受信手段が任意の楽音について発音
開始情報を受信したときは所定の音源に対して当該楽音
の発音を指示し、前記受信手段が発音中の任意の楽音に
ついて発音停止情報を受信したときは前記所定の音源に
対して当該楽音の消音を指示する発音制御手段と、この
発音制御手段が発音を指示した楽音について発音継続中
である旨の発音中情報を前記受信手段が所定時間内に受
信したか否かを判別し、当該所定時間内に当該発音中情
報の受信がないときは、前記発音制御手段に対して当該
発音中の楽音の消音を指示させる判別手段と、を有する
構成になっている。
【0006】請求項6に記載の演奏情報通信システムの
発明は、楽音の演奏に関する発音指示及び消音指示に応
じて、発音開始情報及び発音停止情報を生成する情報生
成手段と、前記発音開始情報及び発音停止情報を通信回
線を介して送信する送信手段と、任意の楽音について前
記発音開始情報が前記送信手段から送信された後に当該
楽音が発音継続中であるか否かを一定時間ごとに検索
し、発音継続中であることを検索したときは発音中情報
を生成して前記送信手段から送信させる発音検索手段
と、前記通信回線を介して前記発音開始情報及び発音停
止情報並びに前記発音中情報を受信する受信手段と、こ
の受信手段が任意の楽音について前記発音開始情報を受
信したときは所定の音源に対して当該楽音の発音を指示
し、前記受信手段が発音中の任意の楽音について前記発
音停止情報を受信したときは前記所定の音源に対して当
該楽音の消音を指示する発音制御手段と、この発音制御
手段が発音を指示した楽音について前記発音中情報を前
記受信手段が所定時間内に受信したか否かを判別し、当
該所定時間内に当該発音中情報の受信がないときは前記
発音制御手段に対して当該発音中の楽音の消音を指示さ
せる判別手段と、を有する構成になっている。
発明は、楽音の演奏に関する発音指示及び消音指示に応
じて、発音開始情報及び発音停止情報を生成する情報生
成手段と、前記発音開始情報及び発音停止情報を通信回
線を介して送信する送信手段と、任意の楽音について前
記発音開始情報が前記送信手段から送信された後に当該
楽音が発音継続中であるか否かを一定時間ごとに検索
し、発音継続中であることを検索したときは発音中情報
を生成して前記送信手段から送信させる発音検索手段
と、前記通信回線を介して前記発音開始情報及び発音停
止情報並びに前記発音中情報を受信する受信手段と、こ
の受信手段が任意の楽音について前記発音開始情報を受
信したときは所定の音源に対して当該楽音の発音を指示
し、前記受信手段が発音中の任意の楽音について前記発
音停止情報を受信したときは前記所定の音源に対して当
該楽音の消音を指示する発音制御手段と、この発音制御
手段が発音を指示した楽音について前記発音中情報を前
記受信手段が所定時間内に受信したか否かを判別し、当
該所定時間内に当該発音中情報の受信がないときは前記
発音制御手段に対して当該発音中の楽音の消音を指示さ
せる判別手段と、を有する構成になっている。
【0007】請求項1に記載の発明によれば、任意の楽
音について発音開始情報を送信した後に、その楽音が消
音指示を受けるまでは、発音継続中である旨の発音中情
報を一定時間ごとに送信する。
音について発音開始情報を送信した後に、その楽音が消
音指示を受けるまでは、発音継続中である旨の発音中情
報を一定時間ごとに送信する。
【0008】請求項2に記載の発明によれば、任意の楽
音について発音開始情報を受信した後に、所定時間を経
過してもその楽音について発音継続中である旨の発音中
情報を受信しない場合には、発音停止情報を受信しなく
とも消音の指示を行う。
音について発音開始情報を受信した後に、所定時間を経
過してもその楽音について発音継続中である旨の発音中
情報を受信しない場合には、発音停止情報を受信しなく
とも消音の指示を行う。
【0009】請求項6に記載の発明によれば、送信側か
ら任意の楽音について発音開始情報を送信した後に、そ
の楽音が消音指示を受けるまでは、発音継続中である旨
の発音中情報を一定時間ごとに送信する。受信側では、
任意の楽音について発音開始情報を受信して、その楽音
の発音を開始した後に、通信上のトラブルのために所定
時間を過ぎてもその楽音の発音中情報を受信しない場合
には、その楽音を消音する。
ら任意の楽音について発音開始情報を送信した後に、そ
の楽音が消音指示を受けるまでは、発音継続中である旨
の発音中情報を一定時間ごとに送信する。受信側では、
任意の楽音について発音開始情報を受信して、その楽音
の発音を開始した後に、通信上のトラブルのために所定
時間を過ぎてもその楽音の発音中情報を受信しない場合
には、その楽音を消音する。
【0010】請求項3に記載の発明は、請求項1に記載
の発明において、前記情報生成手段は、所定数からなる
一群の発音指示及び消音指示について、当該一群の先頭
の指示以外の残りの指示に対応する演奏時刻から当該先
頭の指示に対応する演奏時刻を減算し、当該先頭の指示
に対応する演奏時刻から前記残りの各指示の演奏時刻ま
での経過時間を相対時刻とし、前記先頭の指示に対応す
る演奏時刻及び前記残りの指示に対応する相対時刻を含
む発音開始情報及び発音停止情報を生成する。
の発明において、前記情報生成手段は、所定数からなる
一群の発音指示及び消音指示について、当該一群の先頭
の指示以外の残りの指示に対応する演奏時刻から当該先
頭の指示に対応する演奏時刻を減算し、当該先頭の指示
に対応する演奏時刻から前記残りの各指示の演奏時刻ま
での経過時間を相対時刻とし、前記先頭の指示に対応す
る演奏時刻及び前記残りの指示に対応する相対時刻を含
む発音開始情報及び発音停止情報を生成する。
【0011】請求項7に記載の発明は、請求項6に記載
の発明において、前記情報生成手段は、所定数からなる
一群の発音指示及び消音指示について当該一群の先頭の
指示以外の残りの指示に対応する演奏時刻から当該先頭
の指示に対応する演奏時刻を減算し、当該先頭の指示に
対応する演奏時刻から前記残りの各指示の演奏時刻まで
の経過時間を相対時刻とし、前記先頭の指示に対応する
演奏時刻及び前記残りの指示に対応する相対時刻を含む
発音開始情報及び発音停止情報を生成し、前記発音制御
手段は、前記受信手段が受信した前記先頭の指示に対応
する演奏時刻に前記残りの指示に対応する相対時刻を加
算して、当該残りの指示の演奏時刻を復元して発音又は
消音の指示をする。
の発明において、前記情報生成手段は、所定数からなる
一群の発音指示及び消音指示について当該一群の先頭の
指示以外の残りの指示に対応する演奏時刻から当該先頭
の指示に対応する演奏時刻を減算し、当該先頭の指示に
対応する演奏時刻から前記残りの各指示の演奏時刻まで
の経過時間を相対時刻とし、前記先頭の指示に対応する
演奏時刻及び前記残りの指示に対応する相対時刻を含む
発音開始情報及び発音停止情報を生成し、前記発音制御
手段は、前記受信手段が受信した前記先頭の指示に対応
する演奏時刻に前記残りの指示に対応する相対時刻を加
算して、当該残りの指示の演奏時刻を復元して発音又は
消音の指示をする。
【0012】請求項3又は請求項7に記載の発明によれ
ば、一群の発音指示及び消音指示のうち先頭の指示のみ
演奏時刻を送信し、先頭の指示以外の各指示に対応する
演奏時刻については演奏時刻より情報量の少ない相対時
刻に変換して送信する。
ば、一群の発音指示及び消音指示のうち先頭の指示のみ
演奏時刻を送信し、先頭の指示以外の各指示に対応する
演奏時刻については演奏時刻より情報量の少ない相対時
刻に変換して送信する。
【0013】
【発明の実施の形態】以下、本発明の実施形態について
図を参照して説明する。図1は、演奏情報通信システム
の構成を示す図であり、送信側における演奏情報処理装
置100、受信側における演奏情報処理装置200、及
びこれらを結ぶ通信回線であるパケット交換網300を
示している。
図を参照して説明する。図1は、演奏情報通信システム
の構成を示す図であり、送信側における演奏情報処理装
置100、受信側における演奏情報処理装置200、及
びこれらを結ぶ通信回線であるパケット交換網300を
示している。
【0014】送信側における演奏情報処理装置100に
おいて、鍵盤1は、押鍵及び離鍵の演奏操作を入力す
る。CPU2は、鍵盤1から入力された押鍵すなわち発
音指示及び離鍵すなわち消音指示、並びに、各指示に対
応する鍵番号すなわち音高の情報を取り込む。計時回路
3は、現在時刻を計時する回路と一定時間ごとにCPU
2にタイマインタラプトを入力する回路で構成されてい
る。したがって、CPU2は、鍵盤1からの押鍵及び離
鍵の演奏時刻を計時回路3からの現在時刻によって認識
する。そして、発音開始情報及び発音停止情報であるイ
ベントデータを生成する。したがって、イベントデータ
は、オン又はオフのデータ、音高データ、及びオン又は
オフの演奏時刻で構成される。
おいて、鍵盤1は、押鍵及び離鍵の演奏操作を入力す
る。CPU2は、鍵盤1から入力された押鍵すなわち発
音指示及び離鍵すなわち消音指示、並びに、各指示に対
応する鍵番号すなわち音高の情報を取り込む。計時回路
3は、現在時刻を計時する回路と一定時間ごとにCPU
2にタイマインタラプトを入力する回路で構成されてい
る。したがって、CPU2は、鍵盤1からの押鍵及び離
鍵の演奏時刻を計時回路3からの現在時刻によって認識
する。そして、発音開始情報及び発音停止情報であるイ
ベントデータを生成する。したがって、イベントデータ
は、オン又はオフのデータ、音高データ、及びオン又は
オフの演奏時刻で構成される。
【0015】ROM4は、CPU2が実行する制御プロ
グラム及びイニシャライズにおける初期データを記憶し
ている。RAM5は、鍵盤1から入力した演奏操作の情
報、CPU2が作成したイベントデータをストアするテ
ーブル、制御プログラムの実行に必要な各種でをストア
するフラグ、ポインタ、レジスタのエリアを備えてい
る。通信制御部6は、パケット交換網300と接続する
ための回線制御回路、モデム回路等を備えている。
グラム及びイニシャライズにおける初期データを記憶し
ている。RAM5は、鍵盤1から入力した演奏操作の情
報、CPU2が作成したイベントデータをストアするテ
ーブル、制御プログラムの実行に必要な各種でをストア
するフラグ、ポインタ、レジスタのエリアを備えてい
る。通信制御部6は、パケット交換網300と接続する
ための回線制御回路、モデム回路等を備えている。
【0016】RAM5のテーブルは、図2に示すよう
に、アドレスMで指定される複数のエリアに複数のイベ
ントデータE(M,A)をストアするエリア、及び、各
E(M,A)ごとに書き込みフラグWF(M)のエリア
が設けられている。各E(M,A)は、Aの値によって
1バイト目のE(M,1)、2バイト目のE(M,
2)、3バイト目及び4バイト目のE(M,3)の3つ
のエリアで構成され、それぞれオン又はオフのイベント
データ、音高データ、演奏時刻及び識別ビットがストア
される。識別ビットについては後述する。また、フラグ
WF(M)は、イベントデータの書き込み時に「1」に
セットされ、イベントデータの送信時に「0」にリセッ
トされる。したがって、WF(M)が「1」のイベント
データは未送信であり、「0」のイベントデータは送信
済みである。
に、アドレスMで指定される複数のエリアに複数のイベ
ントデータE(M,A)をストアするエリア、及び、各
E(M,A)ごとに書き込みフラグWF(M)のエリア
が設けられている。各E(M,A)は、Aの値によって
1バイト目のE(M,1)、2バイト目のE(M,
2)、3バイト目及び4バイト目のE(M,3)の3つ
のエリアで構成され、それぞれオン又はオフのイベント
データ、音高データ、演奏時刻及び識別ビットがストア
される。識別ビットについては後述する。また、フラグ
WF(M)は、イベントデータの書き込み時に「1」に
セットされ、イベントデータの送信時に「0」にリセッ
トされる。したがって、WF(M)が「1」のイベント
データは未送信であり、「0」のイベントデータは送信
済みである。
【0017】図1の受信側における演奏情報処理装置2
00において、通信制御部7は、送信側と同様に、パケ
ット交換網300と接続するための回線制御回路、モデ
ム回路等を備えている。CPU8は、通信制御部7が受
信したイベントデータの発音開始情報及び発音停止情報
に応じて、発音の指示及び消音の指示を行う。ROM9
は、CPU8が実行する制御プログラム及びイニシャラ
イズにおける初期データを記憶している。RAM10
は、受信したイベントデータをストアするテーブル、制
御プログラムの実行に必要な各種でをストアするフラ
グ、ポインタ、レジスタのエリアを備えている。計時回
路11は、一定時間ごとにCPU8にタイマインタラプ
トを入力する回路で構成されている。音源12は、CP
U8からの発音の指示及び消音の指示に応じて楽音波形
信号、エンベロープ波形信号を生成する。サウンドシス
テム13は、音源12からの楽音波形信号、エンベロー
プ波形信号に応じて発音及び発音停止を行う。
00において、通信制御部7は、送信側と同様に、パケ
ット交換網300と接続するための回線制御回路、モデ
ム回路等を備えている。CPU8は、通信制御部7が受
信したイベントデータの発音開始情報及び発音停止情報
に応じて、発音の指示及び消音の指示を行う。ROM9
は、CPU8が実行する制御プログラム及びイニシャラ
イズにおける初期データを記憶している。RAM10
は、受信したイベントデータをストアするテーブル、制
御プログラムの実行に必要な各種でをストアするフラ
グ、ポインタ、レジスタのエリアを備えている。計時回
路11は、一定時間ごとにCPU8にタイマインタラプ
トを入力する回路で構成されている。音源12は、CP
U8からの発音の指示及び消音の指示に応じて楽音波形
信号、エンベロープ波形信号を生成する。サウンドシス
テム13は、音源12からの楽音波形信号、エンベロー
プ波形信号に応じて発音及び発音停止を行う。
【0018】次に、送信側の演奏情報処理装置100の
フローチャートを参照して実施形態の動作を説明する。
図3は、送信側のCPU2のメインフローである。所定
のイニシャライズ処理(ステップS101)の後、イベ
ントデータをストアするRAM5のエリアのアドレスを
示すポインタM、及び送信するイベントデータを示すポ
インタLをともに「1」にセットする(ステップS10
2)。次に、鍵番号を示すポインタNを1にセットして
(ステップS103)、Nをインクリメントしながら、
以下のループ処理を繰り返す。
フローチャートを参照して実施形態の動作を説明する。
図3は、送信側のCPU2のメインフローである。所定
のイニシャライズ処理(ステップS101)の後、イベ
ントデータをストアするRAM5のエリアのアドレスを
示すポインタM、及び送信するイベントデータを示すポ
インタLをともに「1」にセットする(ステップS10
2)。次に、鍵番号を示すポインタNを1にセットして
(ステップS103)、Nをインクリメントしながら、
以下のループ処理を繰り返す。
【0019】すなわち、Nで指定した鍵に押鍵又は離鍵
の変化があるか否かを判別する(ステップS104)。
変化がない場合にはNをインクリメントする(ステップ
S105)。そして、Nが鍵数を超えたか否かを判別す
る(ステップS106)。Nが鍵数を超えていない場合
には、ステップS104に移行してNで指定した鍵に押
鍵又は離鍵の変化があるか否かを判別する。
の変化があるか否かを判別する(ステップS104)。
変化がない場合にはNをインクリメントする(ステップ
S105)。そして、Nが鍵数を超えたか否かを判別す
る(ステップS106)。Nが鍵数を超えていない場合
には、ステップS104に移行してNで指定した鍵に押
鍵又は離鍵の変化があるか否かを判別する。
【0020】オフからオンに押鍵の鍵変化があったとき
は、書き込みフラグWF(M)が「0」であるか否かを
判別する(ステップS107)。すなわち、そのエリア
に前にストアされていたイベントデータが送信されたか
否かを判別する。WF(N)が「1」で、前にストアさ
れたイベントデータが未送信である場合には、今回オン
になったイベントデータをストアすることができないの
で、ステップS105に移行してNをインクリメントす
る。そして、Nが鍵数を超えたか否かを判別する(ステ
ップS106)。Nが鍵数を超えていない場合には、ス
テップS104に移行してNで指定した鍵に押鍵又は離
鍵の変化があるか否かを判別する。
は、書き込みフラグWF(M)が「0」であるか否かを
判別する(ステップS107)。すなわち、そのエリア
に前にストアされていたイベントデータが送信されたか
否かを判別する。WF(N)が「1」で、前にストアさ
れたイベントデータが未送信である場合には、今回オン
になったイベントデータをストアすることができないの
で、ステップS105に移行してNをインクリメントす
る。そして、Nが鍵数を超えたか否かを判別する(ステ
ップS106)。Nが鍵数を超えていない場合には、ス
テップS104に移行してNで指定した鍵に押鍵又は離
鍵の変化があるか否かを判別する。
【0021】ステップS107において、WF(N)が
「0」で、前にストアされたイベントデータが送信済み
である場合には、WF(N)を「1」にセットする(ス
テップS108)。そして、RAM5の各鍵ごとに設け
られたオンフラグONF(N)を「1」にセットする
(ステップS109)。次に、RAM5のイベントデー
タをストアするテーブルにおいて、E(M,1)にオン
イベントをストアし(ステップS110)、E(M,
2)に鍵番号である音高データをストアする(ステップ
S111)。また、計時回路3から得られる現在時刻を
オンイベントの演奏時刻としてE(M,3)にストアす
る(ステップS112)。
「0」で、前にストアされたイベントデータが送信済み
である場合には、WF(N)を「1」にセットする(ス
テップS108)。そして、RAM5の各鍵ごとに設け
られたオンフラグONF(N)を「1」にセットする
(ステップS109)。次に、RAM5のイベントデー
タをストアするテーブルにおいて、E(M,1)にオン
イベントをストアし(ステップS110)、E(M,
2)に鍵番号である音高データをストアする(ステップ
S111)。また、計時回路3から得られる現在時刻を
オンイベントの演奏時刻としてE(M,3)にストアす
る(ステップS112)。
【0022】ステップS104において、オンからオフ
に離鍵の鍵変化があったときも、書き込みフラグWF
(M)が「0」であるか否かを判別する(ステップS1
13)。WF(N)が「1」で、前にストアされたイベ
ントデータが未送信である場合には、今回オンになった
イベントデータをストアすることができないので、ステ
ップS105に移行してNをインクリメントする。そし
て、Nが鍵数を超えたか否かを判別する(ステップS1
06)。Nが鍵数を超えていない場合には、ステップS
104に移行してNで指定した鍵に押鍵又は離鍵の変化
があるか否かを判別する。
に離鍵の鍵変化があったときも、書き込みフラグWF
(M)が「0」であるか否かを判別する(ステップS1
13)。WF(N)が「1」で、前にストアされたイベ
ントデータが未送信である場合には、今回オンになった
イベントデータをストアすることができないので、ステ
ップS105に移行してNをインクリメントする。そし
て、Nが鍵数を超えたか否かを判別する(ステップS1
06)。Nが鍵数を超えていない場合には、ステップS
104に移行してNで指定した鍵に押鍵又は離鍵の変化
があるか否かを判別する。
【0023】ステップS113において、WF(N)が
「0」で、前にストアされたイベントデータが送信済み
である場合には、WF(N)を「1」にセットする(ス
テップS114)。また、RAM5のオンフラグONF
(N)を「0」にリセットする(ステップS115)。
そして、RAM5のイベントデータをストアするエリア
において、E(M,1)にオフイベントをストアし(ス
テップS116)、E(M,2)に鍵番号である音高デ
ータをストアする(ステップS117)。また、計時回
路3から得られる現在時刻をオフイベントの演奏時刻と
してE(M,3)にストアする(ステップS118)。
「0」で、前にストアされたイベントデータが送信済み
である場合には、WF(N)を「1」にセットする(ス
テップS114)。また、RAM5のオンフラグONF
(N)を「0」にリセットする(ステップS115)。
そして、RAM5のイベントデータをストアするエリア
において、E(M,1)にオフイベントをストアし(ス
テップS116)、E(M,2)に鍵番号である音高デ
ータをストアする(ステップS117)。また、計時回
路3から得られる現在時刻をオフイベントの演奏時刻と
してE(M,3)にストアする(ステップS118)。
【0024】ステップS112又はステップS118に
おいて、現在時刻をストアした後は、Mをインクリメン
トして(ステップS119)、MがRAM5のイベント
データをストアするエリアの最大値を超えたか否かを判
別する(ステップS120)。最大値を超えていない場
合には、まだイベントデータをストアするエリアが残っ
ているので、ステップS105に移行してNをインクリ
メントし、Nが鍵数を超えたか否かを判別する(ステッ
プS106)。Nが鍵数を超えていない場合には、ステ
ップS104に移行してNで指定した鍵に押鍵又は離鍵
の変化があるか否かを判別する。
おいて、現在時刻をストアした後は、Mをインクリメン
トして(ステップS119)、MがRAM5のイベント
データをストアするエリアの最大値を超えたか否かを判
別する(ステップS120)。最大値を超えていない場
合には、まだイベントデータをストアするエリアが残っ
ているので、ステップS105に移行してNをインクリ
メントし、Nが鍵数を超えたか否かを判別する(ステッ
プS106)。Nが鍵数を超えていない場合には、ステ
ップS104に移行してNで指定した鍵に押鍵又は離鍵
の変化があるか否かを判別する。
【0025】ステップS120において、MがRAM5
のイベントデータをストアするエリアの最大値を超えた
ときは、イベントデータをストアするエリアが残ってい
ないので、Mに「1」をセットして最初のエリアを指定
する(ステップS121)。そして、ステップS105
に移行してNをインクリメントし、Nが鍵数を超えたか
否かを判別する(ステップS106)。Nが鍵数を超え
ていない場合には、ステップS104に移行してNで指
定した鍵に押鍵又は離鍵の変化があるか否かを判別す
る。
のイベントデータをストアするエリアの最大値を超えた
ときは、イベントデータをストアするエリアが残ってい
ないので、Mに「1」をセットして最初のエリアを指定
する(ステップS121)。そして、ステップS105
に移行してNをインクリメントし、Nが鍵数を超えたか
否かを判別する(ステップS106)。Nが鍵数を超え
ていない場合には、ステップS104に移行してNで指
定した鍵に押鍵又は離鍵の変化があるか否かを判別す
る。
【0026】図4は、タイマインタラプト処理のフロー
である。CPU2は、計時回路3からタイミングの異な
る2系統のタイマインタラプト1及び2を受ける。タイ
マインタラプト1を受けたときは、CPU2は図6に示
すイベント参照処理を実行する(ステップS122)。
タイマインタラプト2を受けたときは、CPU2は図5
に示すイベント送信処理を実行する(ステップS12
3)。このイベント送信処理においては、一群のイベン
トデータをパケットとして、所定数のイベントデータを
パケット通信により送信する。この場合に、複数のパケ
ットに跨って誤り訂正符号を付加する。
である。CPU2は、計時回路3からタイミングの異な
る2系統のタイマインタラプト1及び2を受ける。タイ
マインタラプト1を受けたときは、CPU2は図6に示
すイベント参照処理を実行する(ステップS122)。
タイマインタラプト2を受けたときは、CPU2は図5
に示すイベント送信処理を実行する(ステップS12
3)。このイベント送信処理においては、一群のイベン
トデータをパケットとして、所定数のイベントデータを
パケット通信により送信する。この場合に、複数のパケ
ットに跨って誤り訂正符号を付加する。
【0027】図5のイベント送信処理のフローにおい
て、RAM5にストアされているイベントデータを指定
するポインタkにLをセットし、送信予定のイベントデ
ータを指定するポインタsを「0」にセットする(ステ
ップS124)。Lの値は図3のステップS102にお
いて「1」にセットされているので、kの初期値も
「1」にセットされる。次に、書き込みフラグWF
(L)が「1」であるか否かを判別する(ステップS1
25)。このフラグが「0」で、イベントデータがすで
に送信済みである場合にはこのフローを終了する。この
フラグが「1」で、イベントデータが未送信である場合
には、RAM5のレジスタZTIMEにE(k,3)の
データである演奏時刻をストアする(ステップS12
6)。
て、RAM5にストアされているイベントデータを指定
するポインタkにLをセットし、送信予定のイベントデ
ータを指定するポインタsを「0」にセットする(ステ
ップS124)。Lの値は図3のステップS102にお
いて「1」にセットされているので、kの初期値も
「1」にセットされる。次に、書き込みフラグWF
(L)が「1」であるか否かを判別する(ステップS1
25)。このフラグが「0」で、イベントデータがすで
に送信済みである場合にはこのフローを終了する。この
フラグが「1」で、イベントデータが未送信である場合
には、RAM5のレジスタZTIMEにE(k,3)の
データである演奏時刻をストアする(ステップS12
6)。
【0028】次に、kをインクリメントして(ステップ
S127)、kが最大値を超えたか否かを判別する(ス
テップS128)。最大値を超えたときはkを「1」に
セットする(ステップS129)。kが最大値を超えて
いない場合、又はkを「1」にセットした後は、WF
(k)が「1」であるか否かを判別する(ステップS1
30)。WF(k)が「0」で、イベントデータがすで
に送信済みである場合にはこのフローを終了する。この
フラグが「1」で、イベントデータが未送信である場合
には、sをインクリメントする(ステップS131)。
そして、sが1パケットのイベントデータ数である所定
値に達したか否かを判別する(ステップS132)。
S127)、kが最大値を超えたか否かを判別する(ス
テップS128)。最大値を超えたときはkを「1」に
セットする(ステップS129)。kが最大値を超えて
いない場合、又はkを「1」にセットした後は、WF
(k)が「1」であるか否かを判別する(ステップS1
30)。WF(k)が「0」で、イベントデータがすで
に送信済みである場合にはこのフローを終了する。この
フラグが「1」で、イベントデータが未送信である場合
には、sをインクリメントする(ステップS131)。
そして、sが1パケットのイベントデータ数である所定
値に達したか否かを判別する(ステップS132)。
【0029】sが所定値未満である場合には、E(k,
3)の演奏時刻のデータからZTIMEの演奏時刻のデ
ータを減算して、その減算値をRAM5のレジスタST
IMEにストアする(ステップS133)。さらに、S
TIMEの値をE(k,3)にストアする(ステップS
134)。次に、送信するパケットの一群のイベントデ
ータの先頭以外の残りのイベントデータの識別ビットを
「1」にセットする(ステップS135)。先頭のイベ
ントデータの識別ビットは、図3のメインフローのイニ
シャライズで「0」にリセットされており、「0」のリ
セット状態を維持している。すなわち、E(M,3)に
相対時刻がストアされたイベントデータについては識別
ビットは「1」にセットされる。
3)の演奏時刻のデータからZTIMEの演奏時刻のデ
ータを減算して、その減算値をRAM5のレジスタST
IMEにストアする(ステップS133)。さらに、S
TIMEの値をE(k,3)にストアする(ステップS
134)。次に、送信するパケットの一群のイベントデ
ータの先頭以外の残りのイベントデータの識別ビットを
「1」にセットする(ステップS135)。先頭のイベ
ントデータの識別ビットは、図3のメインフローのイニ
シャライズで「0」にリセットされており、「0」のリ
セット状態を維持している。すなわち、E(M,3)に
相対時刻がストアされたイベントデータについては識別
ビットは「1」にセットされる。
【0030】識別ビットをセットした後は、ステップS
123に移行してkをインクリメントする。すなわち、
送信するパケットの一群のイベントデータの先頭以外の
残りのイベントデータの演奏時刻から、先頭のイベント
データの演奏時刻を減算し、残りのイベントデータの演
奏時刻を、先頭のイベントデータの演奏時刻から残りの
各イベントデータの演奏時刻までの経過時間である相対
時刻に変更する。そして、ステップS135までのルー
プ処理を繰り返し、演奏時刻を相対時刻に変換しなが
ら、ステップS132においてsが所定値(1パケット
数)に達したか否かを判別する。
123に移行してkをインクリメントする。すなわち、
送信するパケットの一群のイベントデータの先頭以外の
残りのイベントデータの演奏時刻から、先頭のイベント
データの演奏時刻を減算し、残りのイベントデータの演
奏時刻を、先頭のイベントデータの演奏時刻から残りの
各イベントデータの演奏時刻までの経過時間である相対
時刻に変更する。そして、ステップS135までのルー
プ処理を繰り返し、演奏時刻を相対時刻に変換しなが
ら、ステップS132においてsが所定値(1パケット
数)に達したか否かを判別する。
【0031】ステップS132においてsが所定値に達
したときは、送信するイベントデータのポインタmを
「0」にセットして(ステップS136)、送信開始指
示のコマンドを送信する(ステップS137)。そし
て、E(L,1)のイベントデータを送信し(ステップ
S138)、E(L,2)のイベントデータを送信し
(ステップS139)、E(L,3)のイベントデータ
を送信する(ステップS140)。次に、WF(L)を
「0(送信済み)」にリセットし(ステップS14
1)、Lをインクリメントして(ステップS142)、
Lがイベントデータのエリアの最大値を超えたか否かを
判別する(ステップS143)。最大値を超えたときは
Lを「1」にセットして、イベントデータの最初のエリ
アを指定する(ステップS144)。Lが最大値を超え
ていない場合、又はLを「1」にセットした後は、mを
インクリメントする(ステップS145)。そして、m
がs(1パケット数)に達したか否かを判別する(ステ
ップS146)。
したときは、送信するイベントデータのポインタmを
「0」にセットして(ステップS136)、送信開始指
示のコマンドを送信する(ステップS137)。そし
て、E(L,1)のイベントデータを送信し(ステップ
S138)、E(L,2)のイベントデータを送信し
(ステップS139)、E(L,3)のイベントデータ
を送信する(ステップS140)。次に、WF(L)を
「0(送信済み)」にリセットし(ステップS14
1)、Lをインクリメントして(ステップS142)、
Lがイベントデータのエリアの最大値を超えたか否かを
判別する(ステップS143)。最大値を超えたときは
Lを「1」にセットして、イベントデータの最初のエリ
アを指定する(ステップS144)。Lが最大値を超え
ていない場合、又はLを「1」にセットした後は、mを
インクリメントする(ステップS145)。そして、m
がs(1パケット数)に達したか否かを判別する(ステ
ップS146)。
【0032】mがsに達していない場合には、ステップ
S138に移行してステップS146までのループ処理
をmがsに達するまで繰り返す。ステップS146にお
いてmがsに達したときは、終了データを送信し(ステ
ップS147)、送信終了指示のコマンドを送信する
(ステップS148)。そして、このイベント送信処理
のフローを終了して図3のメインフローに戻る。
S138に移行してステップS146までのループ処理
をmがsに達するまで繰り返す。ステップS146にお
いてmがsに達したときは、終了データを送信し(ステ
ップS147)、送信終了指示のコマンドを送信する
(ステップS148)。そして、このイベント送信処理
のフローを終了して図3のメインフローに戻る。
【0033】図6のイベント参照処理では、RAM5の
オンフラグONFを指定するポインタiを「1」にセッ
トして(ステップS149)、iをインクリメントしな
がら以下のループ処理を繰り返す。すなわち、ONF
(i)が「1」であるか否かを判別し(ステップS15
0)、このフラグが「1」である場合には、書き込みフ
ラグWF(M)が「0」であるか否かを判別する(ステ
ップS151)。MF(M)が「0」で、Mで指定する
エリアのイベントデータが送信済みである場合には、W
F(M)を「1」にセットする(ステップS152)。
そして、E(M,1)にオンイベントをセットし(ステ
ップS1153)、E(M,2)に鍵番号すなわち音高
データをストアし(ステップS154)、E(M,3)
に現在時刻をストアする(ステップS155)。次に、
Mをインクリメントする(ステップS156)。
オンフラグONFを指定するポインタiを「1」にセッ
トして(ステップS149)、iをインクリメントしな
がら以下のループ処理を繰り返す。すなわち、ONF
(i)が「1」であるか否かを判別し(ステップS15
0)、このフラグが「1」である場合には、書き込みフ
ラグWF(M)が「0」であるか否かを判別する(ステ
ップS151)。MF(M)が「0」で、Mで指定する
エリアのイベントデータが送信済みである場合には、W
F(M)を「1」にセットする(ステップS152)。
そして、E(M,1)にオンイベントをセットし(ステ
ップS1153)、E(M,2)に鍵番号すなわち音高
データをストアし(ステップS154)、E(M,3)
に現在時刻をストアする(ステップS155)。次に、
Mをインクリメントする(ステップS156)。
【0034】Mをインクリメントした後、又はステップ
S150においてONF(i)が「0」である場合、若
しくはステップS151においてWF(M)が「1」で
イベントデータが未送信である場合には、iをインクリ
メントする(ステップS157)。そして、iが鍵数を
超えたか否かを判別する(ステップS158)。iが鍵
数を超えていない場合には、ステップS150に移行し
て、ステップS158までのループ処理を繰り返す。ス
テップS158においてiが鍵数を超えたときは、この
イベント参照処理のフローを終了して図2のメインフロ
ーに戻る。
S150においてONF(i)が「0」である場合、若
しくはステップS151においてWF(M)が「1」で
イベントデータが未送信である場合には、iをインクリ
メントする(ステップS157)。そして、iが鍵数を
超えたか否かを判別する(ステップS158)。iが鍵
数を超えていない場合には、ステップS150に移行し
て、ステップS158までのループ処理を繰り返す。ス
テップS158においてiが鍵数を超えたときは、この
イベント参照処理のフローを終了して図2のメインフロ
ーに戻る。
【0035】このように、図1に示した送信側の演奏情
報処理装置100は、楽音の演奏に関する発音指示及び
消音指示に応じて、発音開始情報及び発音停止情報を生
成する情報生成手段と、発音開始情報及び発音停止情報
を通信回線を介して送信する送信手段と、任意の楽音に
ついて発音開始情報が前記送信手段から送信された後に
その楽音が発音継続中であるか否かを一定時間ごとに検
索し、発音継続中であることを検索したときは発音中情
報を生成して送信手段から送信させる発音検索手段と、
を有する構成になっている。
報処理装置100は、楽音の演奏に関する発音指示及び
消音指示に応じて、発音開始情報及び発音停止情報を生
成する情報生成手段と、発音開始情報及び発音停止情報
を通信回線を介して送信する送信手段と、任意の楽音に
ついて発音開始情報が前記送信手段から送信された後に
その楽音が発音継続中であるか否かを一定時間ごとに検
索し、発音継続中であることを検索したときは発音中情
報を生成して送信手段から送信させる発音検索手段と、
を有する構成になっている。
【0036】送信側の演奏情報処理装置100によれ
ば、任意の楽音について発音開始情報を送信した後に、
その楽音が消音指示を受けるまでは、発音継続中である
旨の発音中情報を一定時間ごとに送信する。したがっ
て、受信側において楽音が発音中であることを確認でき
るので、発音中情報を受信しない場合には、発音停止情
報を受信しなくとも消音の判断をすることができ、楽音
が鳴りっぱなしになるのを防止できる。
ば、任意の楽音について発音開始情報を送信した後に、
その楽音が消音指示を受けるまでは、発音継続中である
旨の発音中情報を一定時間ごとに送信する。したがっ
て、受信側において楽音が発音中であることを確認でき
るので、発音中情報を受信しない場合には、発音停止情
報を受信しなくとも消音の判断をすることができ、楽音
が鳴りっぱなしになるのを防止できる。
【0037】また、演奏情報処理装置100における前
記情報生成手段は、所定数からなる一群の発音指示及び
消音指示について、その一群の先頭の指示以外の残りの
指示に対応する演奏時刻から先頭の指示に対応する演奏
時刻を減算し、先頭の指示に対応する演奏時刻から残り
の各指示の演奏時刻までの経過時間を相対時刻とし、先
頭の指示に対応する演奏時刻及び残りの指示に対応する
相対時刻を含む発音開始情報及び発音停止情報を生成す
る。
記情報生成手段は、所定数からなる一群の発音指示及び
消音指示について、その一群の先頭の指示以外の残りの
指示に対応する演奏時刻から先頭の指示に対応する演奏
時刻を減算し、先頭の指示に対応する演奏時刻から残り
の各指示の演奏時刻までの経過時間を相対時刻とし、先
頭の指示に対応する演奏時刻及び残りの指示に対応する
相対時刻を含む発音開始情報及び発音停止情報を生成す
る。
【0038】すなわち、送信側の演奏情報処理装置10
0では、情報量の多い演奏時刻を情報量の少ない相対時
刻に変換して送信する。したがって、送信する演奏情報
量を少なくすることができる。例えば、20分の曲の演
奏情報を送信する場合、絶対時刻である演奏時刻のデー
タは、「分」、「秒」、「秒未満」からなる7バイトのデー
タが必要であるが、相対時刻は4バイト程度で構成でき
る。
0では、情報量の多い演奏時刻を情報量の少ない相対時
刻に変換して送信する。したがって、送信する演奏情報
量を少なくすることができる。例えば、20分の曲の演
奏情報を送信する場合、絶対時刻である演奏時刻のデー
タは、「分」、「秒」、「秒未満」からなる7バイトのデー
タが必要であるが、相対時刻は4バイト程度で構成でき
る。
【0039】さらにこの演奏情報処理装置100の情報
生成手段は、発音指示及び消音指示に応じて生成した発
音開始情報及び発音停止情報、並びに、各音高ごとに発
音指示に応じてセットされ消音指示に応じてリセットさ
れる各音高ごとの識別情報(オンフラグ)を記憶する記
憶手段(RAM5)を有し、タイマインタラプトに応じ
て、一定時間ごとに記憶手段を検索してセットされてい
る識別情報を検出し、その検出した識別情報に対応する
音高及びその検出した現在時刻とを含む新たな発音開始
情報を生成して記憶手段に記憶し、送信手段は、記憶手
段に記憶されている発音開始情報及び発音停止情報、並
びに、新たな発音開始情報を送信する。
生成手段は、発音指示及び消音指示に応じて生成した発
音開始情報及び発音停止情報、並びに、各音高ごとに発
音指示に応じてセットされ消音指示に応じてリセットさ
れる各音高ごとの識別情報(オンフラグ)を記憶する記
憶手段(RAM5)を有し、タイマインタラプトに応じ
て、一定時間ごとに記憶手段を検索してセットされてい
る識別情報を検出し、その検出した識別情報に対応する
音高及びその検出した現在時刻とを含む新たな発音開始
情報を生成して記憶手段に記憶し、送信手段は、記憶手
段に記憶されている発音開始情報及び発音停止情報、並
びに、新たな発音開始情報を送信する。
【0040】すなわち、発音開始情報を送信した楽音に
ついても、オンフラグが発音中を示す楽音を検索して、
その検索の現在時刻にあたかも更なる押鍵操作があった
かのごとく、現在時刻を演奏時刻として新たな発音開始
情報を生成する。したがって、極めて簡単なプログラム
構成により、発音継続中である旨の発音中情報を一定時
間ごとに送信することが可能になる。
ついても、オンフラグが発音中を示す楽音を検索して、
その検索の現在時刻にあたかも更なる押鍵操作があった
かのごとく、現在時刻を演奏時刻として新たな発音開始
情報を生成する。したがって、極めて簡単なプログラム
構成により、発音継続中である旨の発音中情報を一定時
間ごとに送信することが可能になる。
【0041】さらにまた、演奏情報処理装置100の情
報生成手段は、一群の発音開始情報及び発音停止情報を
パケット通信によって送信するための1パケットの情報
として生成し、複数のパケットに跨って誤り訂正符号を
付加する。したがって、いくつかのパケットが通信上の
トラブルによって失われても、受信側でそれらのパケッ
トを復元することができる。
報生成手段は、一群の発音開始情報及び発音停止情報を
パケット通信によって送信するための1パケットの情報
として生成し、複数のパケットに跨って誤り訂正符号を
付加する。したがって、いくつかのパケットが通信上の
トラブルによって失われても、受信側でそれらのパケッ
トを復元することができる。
【0042】次に、受信側の演奏情報処理装置200の
フローチャートを参照して実施形態の動作を説明する。
図7は、受信側のCPU8のメインフローである。ま
ず、受信したイベントデータをストアするRAM10の
エリアのアドレスを示すポインタM、及び音源11に対
して発音指示又は消音指示を行うイベントデータを示す
ポインタLをともに「1」にセットする(ステップS2
01)。次に、送信開始指示のコマンドを受信したか否
かを判別する(ステップS202)。このコマンドを受
信したときは、イベントデータの受信処理ループを実行
する。すなわち、受信したイベントデータの内容を判別
して(ステップS203)、内容に応じた処理を実行す
る。
フローチャートを参照して実施形態の動作を説明する。
図7は、受信側のCPU8のメインフローである。ま
ず、受信したイベントデータをストアするRAM10の
エリアのアドレスを示すポインタM、及び音源11に対
して発音指示又は消音指示を行うイベントデータを示す
ポインタLをともに「1」にセットする(ステップS2
01)。次に、送信開始指示のコマンドを受信したか否
かを判別する(ステップS202)。このコマンドを受
信したときは、イベントデータの受信処理ループを実行
する。すなわち、受信したイベントデータの内容を判別
して(ステップS203)、内容に応じた処理を実行す
る。
【0043】受信したイベントデータが終了データでな
い場合には、その受信データの4バイト目には識別ビッ
トが含まれている。識別ビットが「0」である場合に
は、受信したイベントデータはパケットの先頭のデータ
である。この場合には、受信データの1バイト目のオン
/オフデータをE(M,1)のエリアにストアし、2バ
イト目の音高データをE(M,2)のエリアにストア
し、3、4バイト目の演奏時刻をE(M,3)にストア
する(ステップS204)。そして、E(M,3)にス
トアした演奏時刻をレジスタZTIMEにストアする
(ステップS205)。したがって、ZTIMEには絶
対時刻がストアされる。次に、E(M,1)、E(M,
2)、E(M,3)にストアされたデータを演奏バッフ
ァへストアする(ステップS206)。次に、Mをイン
クリメントする(ステップS207)。そして、Mが最
大値を超えたか否かを判別する(ステップS208)。
Mが最大値以下である場合にはステップ203に移行
し、Mが最大値を超えた場合にはMを「1」にセットし
て(ステップS209)、ステップS203に移行す
る。
い場合には、その受信データの4バイト目には識別ビッ
トが含まれている。識別ビットが「0」である場合に
は、受信したイベントデータはパケットの先頭のデータ
である。この場合には、受信データの1バイト目のオン
/オフデータをE(M,1)のエリアにストアし、2バ
イト目の音高データをE(M,2)のエリアにストア
し、3、4バイト目の演奏時刻をE(M,3)にストア
する(ステップS204)。そして、E(M,3)にス
トアした演奏時刻をレジスタZTIMEにストアする
(ステップS205)。したがって、ZTIMEには絶
対時刻がストアされる。次に、E(M,1)、E(M,
2)、E(M,3)にストアされたデータを演奏バッフ
ァへストアする(ステップS206)。次に、Mをイン
クリメントする(ステップS207)。そして、Mが最
大値を超えたか否かを判別する(ステップS208)。
Mが最大値以下である場合にはステップ203に移行
し、Mが最大値を超えた場合にはMを「1」にセットし
て(ステップS209)、ステップS203に移行す
る。
【0044】ステップS203において、識別ビットが
「1」である場合には、受信したイベントデータはパケ
ットの先頭のイベントデータに続く残りのイベントデー
タである。この場合には、受信データの1バイト目のオ
ン/オフデータをE(M,1)のエリアにストアし、2
バイト目の音高データをE(M,2)のエリアにストア
し、3、4バイト目の相対時刻をE(M,3)にストア
する(ステップS221)。そして、E(M,3)にス
トアした相対時刻にZTIMEにストアした先頭のデー
タの演奏時刻(絶対時刻)を加算する(ステップS21
1)。そして、ステップS206〜ステップS209の
処理を行い、ステップS203に移行する。
「1」である場合には、受信したイベントデータはパケ
ットの先頭のイベントデータに続く残りのイベントデー
タである。この場合には、受信データの1バイト目のオ
ン/オフデータをE(M,1)のエリアにストアし、2
バイト目の音高データをE(M,2)のエリアにストア
し、3、4バイト目の相対時刻をE(M,3)にストア
する(ステップS221)。そして、E(M,3)にス
トアした相対時刻にZTIMEにストアした先頭のデー
タの演奏時刻(絶対時刻)を加算する(ステップS21
1)。そして、ステップS206〜ステップS209の
処理を行い、ステップS203に移行する。
【0045】ステップS203において、受信データが
終了データである場合には、送信終了のコマンドを受信
したか否かを判別する(ステップS212)。終了デー
タを受信していない場合には、ステップS203〜ステ
ップS212のループ処理を繰り返し、1パケットのイ
ベントデータを順に演奏バッファにストアする。ステッ
プS212において、送信終了のコマンドを受信した場
合には、演奏フラグPFを「1(演奏準備完了)」にセ
ットする(ステップS213)。そして、ステップS2
02に移行して、次のパケットの送信開始のコマンドを
受信したか否かを判別する。
終了データである場合には、送信終了のコマンドを受信
したか否かを判別する(ステップS212)。終了デー
タを受信していない場合には、ステップS203〜ステ
ップS212のループ処理を繰り返し、1パケットのイ
ベントデータを順に演奏バッファにストアする。ステッ
プS212において、送信終了のコマンドを受信した場
合には、演奏フラグPFを「1(演奏準備完了)」にセ
ットする(ステップS213)。そして、ステップS2
02に移行して、次のパケットの送信開始のコマンドを
受信したか否かを判別する。
【0046】図8は、タイマインタラプト処理のフロー
である。CPU8は、計時回路11からタイミングの異
なる2系統のタイマインタラプト1及び2を受ける。タ
イマインタラプト1を受けたときは、CPU8は図9及
び10に示す演奏処理を実行する(ステップS21
4)。タイマインタラプト2を受けたときは、CPU8
は図11に示す受信側テーブル参照処理を実行する(ス
テップS215)。
である。CPU8は、計時回路11からタイミングの異
なる2系統のタイマインタラプト1及び2を受ける。タ
イマインタラプト1を受けたときは、CPU8は図9及
び10に示す演奏処理を実行する(ステップS21
4)。タイマインタラプト2を受けたときは、CPU8
は図11に示す受信側テーブル参照処理を実行する(ス
テップS215)。
【0047】図9の演奏処理において、まず、フラグP
Fが「1」であるか否かを判別する(ステップS216
A)。PFが「0」である場合には、演奏バッファに1
パケットのイベントデータがストアされておらず、演奏
準備が完了していないので、このフローを終了して図7
のメインフローに戻る。PFが「1」である場合には、
演奏準備が完了しているので、ポインタLで指定したE
(L,3)の演奏時刻が現在時刻に達しているか否かを
判別する(ステップS216B)。現在時刻に達してい
ない場合には、このフローを終了して図7のメインフロ
ーに戻る。E(L,3)の演奏時刻が現在時刻に達した
ときは、発音又は消音の演奏処理を行う。すなわち、E
(L,1)のデータがオンイベントであるか否かを判別
し(ステップS217)、オンイベントである場合には
E(L,2)の音高データをレジスタNにストアする
(ステップS218)。次に、オンフラグONF(N)
を「1」にセットし(ステップS219)、音源12に
対してレジスタNにストアした音高の発音指示を行う
(ステップS220)。次に、レジスタTIME(N)
にE(L,3)の演奏時刻をストアする(ステップS2
21)。
Fが「1」であるか否かを判別する(ステップS216
A)。PFが「0」である場合には、演奏バッファに1
パケットのイベントデータがストアされておらず、演奏
準備が完了していないので、このフローを終了して図7
のメインフローに戻る。PFが「1」である場合には、
演奏準備が完了しているので、ポインタLで指定したE
(L,3)の演奏時刻が現在時刻に達しているか否かを
判別する(ステップS216B)。現在時刻に達してい
ない場合には、このフローを終了して図7のメインフロ
ーに戻る。E(L,3)の演奏時刻が現在時刻に達した
ときは、発音又は消音の演奏処理を行う。すなわち、E
(L,1)のデータがオンイベントであるか否かを判別
し(ステップS217)、オンイベントである場合には
E(L,2)の音高データをレジスタNにストアする
(ステップS218)。次に、オンフラグONF(N)
を「1」にセットし(ステップS219)、音源12に
対してレジスタNにストアした音高の発音指示を行う
(ステップS220)。次に、レジスタTIME(N)
にE(L,3)の演奏時刻をストアする(ステップS2
21)。
【0048】ステップS217において、E(L,1)
のデータがオンイベントでない場合には、E(L,1)
のデータがすでに発音指示された楽音が発音継続中であ
ることを示すオン中イベント(発音中情報)であるか否
かを判別する(ステップS222)。オン中イベントで
ある場合には、E(L,2)の音高データをレジスタN
にストアする(ステップS223)。次に、レジスタT
IME(N)にE(L,3)の演奏時刻をストアする
(ステップS224)。この場合には、ONF(N)は
すでに「1」にセットされている。
のデータがオンイベントでない場合には、E(L,1)
のデータがすでに発音指示された楽音が発音継続中であ
ることを示すオン中イベント(発音中情報)であるか否
かを判別する(ステップS222)。オン中イベントで
ある場合には、E(L,2)の音高データをレジスタN
にストアする(ステップS223)。次に、レジスタT
IME(N)にE(L,3)の演奏時刻をストアする
(ステップS224)。この場合には、ONF(N)は
すでに「1」にセットされている。
【0049】ステップS217においてE(L,1)の
データがオンイベントでなく、オン中イベントでもない
場合には、オフイベントであるか否かを判別する(ステ
ップS225)。オフイベントである場合には、E
(L,2)の音高データをレジスタNにストアする(ス
テップS226)。次に、オンフラグONF(N)を
「0」にリセットし(ステップS227)、音源12に
対してレジスタNにストアした音高の消音指示を行う
(ステップS228)。
データがオンイベントでなく、オン中イベントでもない
場合には、オフイベントであるか否かを判別する(ステ
ップS225)。オフイベントである場合には、E
(L,2)の音高データをレジスタNにストアする(ス
テップS226)。次に、オンフラグONF(N)を
「0」にリセットし(ステップS227)、音源12に
対してレジスタNにストアした音高の消音指示を行う
(ステップS228)。
【0050】ステップS221若しくはステップS22
4において、TIME(N)にE(L,3)の演奏時刻
をストアした後、ステップS228において消音指示を
した後、又は、E(L,1)のデータがオンイベント、
オン中イベント、オフイベントのいずれでもない場合に
は、図10のフローにおいて、Lをインクリメントする
(ステップS229)。そして、Lが最大値を超えたか
否かを判別する(ステップS230)。最大値を超えた
場合にはLを「1」にセットする(ステップS23
1)。
4において、TIME(N)にE(L,3)の演奏時刻
をストアした後、ステップS228において消音指示を
した後、又は、E(L,1)のデータがオンイベント、
オン中イベント、オフイベントのいずれでもない場合に
は、図10のフローにおいて、Lをインクリメントする
(ステップS229)。そして、Lが最大値を超えたか
否かを判別する(ステップS230)。最大値を超えた
場合にはLを「1」にセットする(ステップS23
1)。
【0051】Lを「1」にセットした後又はステップS
230においてLが最大値以下である場合には、Lの値
とMの値が一致したか否か、すなわち、RAM10にス
トアされたイベントデータに対する演奏処理が終了した
か否かを判別する(ステップS232)。Lの値とMの
値が一致しない場合には、図9のステップS216に移
行して、現在時刻が次のイベントデータの演奏時刻に達
したか否かを判別する。図10のステップS232にお
いて、Lの値とMの値が一致したときは、演奏フラグP
Fを「0」にリセットし(ステップS233)、この演
奏処理のフローを終了して図7のメインフローに戻る。
230においてLが最大値以下である場合には、Lの値
とMの値が一致したか否か、すなわち、RAM10にス
トアされたイベントデータに対する演奏処理が終了した
か否かを判別する(ステップS232)。Lの値とMの
値が一致しない場合には、図9のステップS216に移
行して、現在時刻が次のイベントデータの演奏時刻に達
したか否かを判別する。図10のステップS232にお
いて、Lの値とMの値が一致したときは、演奏フラグP
Fを「0」にリセットし(ステップS233)、この演
奏処理のフローを終了して図7のメインフローに戻る。
【0052】図11の受信側テーブル参照処理において
は、鍵番号を指定するポインタiを「1」にセット(ス
テップS234)した後、iをインクリメントしながら
RAM10のテーブルに記憶されているイベントデータ
を参照する。すなわち、オンフラグONF(i)が
「1」であるか否かを判別し(ステップS235)、こ
のフラグが「1」である場合には、現在時刻からTIM
E(i)にストアされている演奏時刻を差し引いた値
が、あらかじめ設定されている所定時間Tに達したか否
かを判別する(ステップS236)。現在時刻から演奏
時刻を差し引いた時間は、直前の発音指示の時刻からの
経過時間である。すなわち、発音開始情報を受信した後
において、発音継続中を示す発音中情報を受信しない時
間を意味している。所定時間Tは、図5に示した送信側
のイベント送信処理を実行するタイマインタラプトの間
隔よりも数倍から数十倍長い時間に設定されている。し
たがって、現在時刻から演奏時刻を差し引いた時間が所
定時間Tに達した場合は、発音開始情報を受信した後
に、数回から数十回の発音中情報を受信しなかった状態
である。この場合には、通信上のトラブルのために発音
中情報を受信できなかった場合であり、発音停止情報を
受信しなかったことも充分に考えられる。
は、鍵番号を指定するポインタiを「1」にセット(ス
テップS234)した後、iをインクリメントしながら
RAM10のテーブルに記憶されているイベントデータ
を参照する。すなわち、オンフラグONF(i)が
「1」であるか否かを判別し(ステップS235)、こ
のフラグが「1」である場合には、現在時刻からTIM
E(i)にストアされている演奏時刻を差し引いた値
が、あらかじめ設定されている所定時間Tに達したか否
かを判別する(ステップS236)。現在時刻から演奏
時刻を差し引いた時間は、直前の発音指示の時刻からの
経過時間である。すなわち、発音開始情報を受信した後
において、発音継続中を示す発音中情報を受信しない時
間を意味している。所定時間Tは、図5に示した送信側
のイベント送信処理を実行するタイマインタラプトの間
隔よりも数倍から数十倍長い時間に設定されている。し
たがって、現在時刻から演奏時刻を差し引いた時間が所
定時間Tに達した場合は、発音開始情報を受信した後
に、数回から数十回の発音中情報を受信しなかった状態
である。この場合には、通信上のトラブルのために発音
中情報を受信できなかった場合であり、発音停止情報を
受信しなかったことも充分に考えられる。
【0053】したがってこの場合には、ONF(i)を
「0」にリセットし(ステップS237)、音源12に
対して音高iの消音指示を行い(ステップS238)、
発音指示された楽音が鳴りっぱなしになるのを防止す
る。そして、iをインクリメントして(ステップS23
9)、次のオンフラグONF(i)を指定する。ステッ
プS235においてONF(i)が「0」である場合、
又は、ステップS236において現在時刻から演奏時刻
を差し引いた時間が所定時間Tに達しない場合には、音
高iがすでに消音指示されているか、又は、音高iがま
だ発音継続中であるかの場合である。この場合には、i
をインクリメントして(ステップS239)、次のオン
フラグONF(i)を指定する。iをインクリメントし
た後は、iが鍵数を超えたか否かを判別し(ステップS
240)、超えていない場合にはステップS235に移
行して、オンフラグを判別する。iが鍵数を超えた場合
には、このフローを終了して図7のメインフローに戻
る。
「0」にリセットし(ステップS237)、音源12に
対して音高iの消音指示を行い(ステップS238)、
発音指示された楽音が鳴りっぱなしになるのを防止す
る。そして、iをインクリメントして(ステップS23
9)、次のオンフラグONF(i)を指定する。ステッ
プS235においてONF(i)が「0」である場合、
又は、ステップS236において現在時刻から演奏時刻
を差し引いた時間が所定時間Tに達しない場合には、音
高iがすでに消音指示されているか、又は、音高iがま
だ発音継続中であるかの場合である。この場合には、i
をインクリメントして(ステップS239)、次のオン
フラグONF(i)を指定する。iをインクリメントし
た後は、iが鍵数を超えたか否かを判別し(ステップS
240)、超えていない場合にはステップS235に移
行して、オンフラグを判別する。iが鍵数を超えた場合
には、このフローを終了して図7のメインフローに戻
る。
【0054】このように、受信側の演奏情報処理装置2
00は、通信回線を介して楽音の演奏に関する情報を受
信する受信手段と、この受信手段が任意の楽音について
発音開始情報を受信したときは所定の音源に対して当該
楽音の発音を指示し、前記受信手段が発音中の任意の楽
音について発音停止情報を受信したときは前記所定の音
源に対して当該楽音の消音を指示する発音制御手段と、
この発音制御手段が発音を指示した楽音について発音継
続中である旨の発音中情報を前記受信手段が所定時間内
に受信したか否かを判別し、当該所定時間内に当該発音
中情報の受信がないときは、前記発音制御手段に対して
当該発音中の楽音の消音を指示させる判別手段と、を有
する構成になっている。
00は、通信回線を介して楽音の演奏に関する情報を受
信する受信手段と、この受信手段が任意の楽音について
発音開始情報を受信したときは所定の音源に対して当該
楽音の発音を指示し、前記受信手段が発音中の任意の楽
音について発音停止情報を受信したときは前記所定の音
源に対して当該楽音の消音を指示する発音制御手段と、
この発音制御手段が発音を指示した楽音について発音継
続中である旨の発音中情報を前記受信手段が所定時間内
に受信したか否かを判別し、当該所定時間内に当該発音
中情報の受信がないときは、前記発音制御手段に対して
当該発音中の楽音の消音を指示させる判別手段と、を有
する構成になっている。
【0055】受信側の演奏情報処理装置200によれ
ば、任意の楽音について発音開始情報を受信した後に、
所定時間を経過してもその楽音について発音継続中であ
る旨の発音中情報を受信しない場合には、発音停止情報
を受信しなくとも消音の指示を行う。したがって、通信
上のトラブルによって演奏停止情報が欠落した場合にで
も、楽音が鳴りっぱなしになるのを防止できる。
ば、任意の楽音について発音開始情報を受信した後に、
所定時間を経過してもその楽音について発音継続中であ
る旨の発音中情報を受信しない場合には、発音停止情報
を受信しなくとも消音の指示を行う。したがって、通信
上のトラブルによって演奏停止情報が欠落した場合にで
も、楽音が鳴りっぱなしになるのを防止できる。
【0056】また、送信側の演奏情報処理装置100及
び受信側の演奏情報処理装置200の組合せによる演奏
情報通信システムは、楽音の演奏に関する発音指示及び
消音指示に応じて、発音開始情報及び発音停止情報を生
成する情報生成手段と、発音開始情報及び発音停止情報
を通信回線を介して送信する送信手段と、任意の楽音に
ついて発音開始情報が送信手段から送信された後にその
楽音が発音継続中であるか否かを一定時間ごとに検索
し、発音継続中であることを検索したときは発音中情報
を生成して送信手段から送信させる発音検索手段と、通
信回線を介して発音開始情報及び発音停止情報並びに発
音中情報を受信する受信手段と、この受信手段が任意の
楽音について発音開始情報を受信したときは所定の音源
に対してその楽音の発音を指示し、受信手段が発音中の
任意の楽音について発音停止情報を受信したときは所定
の音源に対してその楽音の消音を指示する発音制御手段
と、この発音制御手段が発音を指示した楽音について発
音中情報を受信手段が所定時間内に受信したか否かを判
別し、所定時間内に発音中情報の受信がないときは、発
音制御手段に対して発音中の楽音の消音を指示させる判
別手段と、を有する構成になっている。
び受信側の演奏情報処理装置200の組合せによる演奏
情報通信システムは、楽音の演奏に関する発音指示及び
消音指示に応じて、発音開始情報及び発音停止情報を生
成する情報生成手段と、発音開始情報及び発音停止情報
を通信回線を介して送信する送信手段と、任意の楽音に
ついて発音開始情報が送信手段から送信された後にその
楽音が発音継続中であるか否かを一定時間ごとに検索
し、発音継続中であることを検索したときは発音中情報
を生成して送信手段から送信させる発音検索手段と、通
信回線を介して発音開始情報及び発音停止情報並びに発
音中情報を受信する受信手段と、この受信手段が任意の
楽音について発音開始情報を受信したときは所定の音源
に対してその楽音の発音を指示し、受信手段が発音中の
任意の楽音について発音停止情報を受信したときは所定
の音源に対してその楽音の消音を指示する発音制御手段
と、この発音制御手段が発音を指示した楽音について発
音中情報を受信手段が所定時間内に受信したか否かを判
別し、所定時間内に発音中情報の受信がないときは、発
音制御手段に対して発音中の楽音の消音を指示させる判
別手段と、を有する構成になっている。
【0057】そして、送信側では、任意の楽音について
発音開始情報を送信した後に、その楽音が消音指示を受
けるまでは、発音継続中である旨の発音中情報を一定時
間ごとに送信する。受信側では、任意の楽音について発
音開始情報を受信した後に、所定時間を経過してもその
楽音について発音継続中である旨の発音中情報を受信し
ない場合には、発音停止情報を受信しなくとも消音の指
示を行う。したがって、通信回線の劣化や通信チャンネ
ルの輻輳等が発生して演奏停止情報が欠落した場合にで
も、楽音が鳴りっぱなしになるのを防止でき、より簡単
な通信プロトコルによって演奏情報を通信できる。
発音開始情報を送信した後に、その楽音が消音指示を受
けるまでは、発音継続中である旨の発音中情報を一定時
間ごとに送信する。受信側では、任意の楽音について発
音開始情報を受信した後に、所定時間を経過してもその
楽音について発音継続中である旨の発音中情報を受信し
ない場合には、発音停止情報を受信しなくとも消音の指
示を行う。したがって、通信回線の劣化や通信チャンネ
ルの輻輳等が発生して演奏停止情報が欠落した場合にで
も、楽音が鳴りっぱなしになるのを防止でき、より簡単
な通信プロトコルによって演奏情報を通信できる。
【0058】この場合において、送信側における前記情
報生成手段は、所定数からなる一群の発音指示及び消音
指示について、その一群の先頭の指示以外の残りの指示
に対応する演奏時刻から先頭の指示に対応する演奏時刻
を減算し、先頭の指示に対応する演奏時刻から残りの各
指示の演奏時刻までの経過時間を相対時刻とし、先頭の
指示に対応する演奏時刻及び残りの指示に対応する相対
時刻を含む発音開始情報及び発音停止情報を生成する。
報生成手段は、所定数からなる一群の発音指示及び消音
指示について、その一群の先頭の指示以外の残りの指示
に対応する演奏時刻から先頭の指示に対応する演奏時刻
を減算し、先頭の指示に対応する演奏時刻から残りの各
指示の演奏時刻までの経過時間を相対時刻とし、先頭の
指示に対応する演奏時刻及び残りの指示に対応する相対
時刻を含む発音開始情報及び発音停止情報を生成する。
【0059】すなわち、情報量の多い演奏時刻を情報量
の少ない相対時刻に変換して送信する。したがって、送
信する演奏情報量を少なくして、通信の効率化を図るこ
とができる。
の少ない相対時刻に変換して送信する。したがって、送
信する演奏情報量を少なくして、通信の効率化を図るこ
とができる。
【0060】さらにこのシステムにおける情報生成手段
は、発音指示及び消音指示に応じて生成した発音開始情
報及び発音停止情報、並びに、各音高ごとに発音指示に
応じてセットされ消音指示に応じてリセットされる各音
高ごとの識別情報(オンフラグ)を記憶する記憶手段を
有し、一定時間ごとに記憶手段を検索してセットされて
いる識別情報を検出し、その検出した識別情報に対応す
る音高及びその検出した現在時刻とを含む新たな発音開
始情報を生成して記憶手段に記憶し、送信手段は、記憶
手段に記憶されている発音開始情報及び発音停止情報、
並びに、新たな発音開始情報を送信する。
は、発音指示及び消音指示に応じて生成した発音開始情
報及び発音停止情報、並びに、各音高ごとに発音指示に
応じてセットされ消音指示に応じてリセットされる各音
高ごとの識別情報(オンフラグ)を記憶する記憶手段を
有し、一定時間ごとに記憶手段を検索してセットされて
いる識別情報を検出し、その検出した識別情報に対応す
る音高及びその検出した現在時刻とを含む新たな発音開
始情報を生成して記憶手段に記憶し、送信手段は、記憶
手段に記憶されている発音開始情報及び発音停止情報、
並びに、新たな発音開始情報を送信する。
【0061】すなわち、発音開始情報を送信した楽音に
ついても、オンフラグが発音中を示す楽音をタイマイン
タラプトに応じて一定時間ごとに検索して、その検索の
現在時刻にあたかも更なる押鍵操作があったかのごと
く、現在時刻を演奏時刻として新たな発音開始情報を生
成する。したがって、通信に関するプログラムを特別に
変更することなく、発音継続中である旨の発音中情報を
一定時間ごとに送信することが可能になる。
ついても、オンフラグが発音中を示す楽音をタイマイン
タラプトに応じて一定時間ごとに検索して、その検索の
現在時刻にあたかも更なる押鍵操作があったかのごと
く、現在時刻を演奏時刻として新たな発音開始情報を生
成する。したがって、通信に関するプログラムを特別に
変更することなく、発音継続中である旨の発音中情報を
一定時間ごとに送信することが可能になる。
【0062】さらにまた、送信側における情報生成手段
は、一群の発音開始情報及び発音停止情報をパケット通
信によって送信するための1パケットの情報として生成
し、複数のパケットに跨って誤り訂正符号を付加する。
受信側では、受信した複数のパケットの誤り訂正符号を
抽出し、誤りの検出を行う。したがって、いくつかのパ
ケットが通信上のトラブルによって失われても、受信側
でそれらのパケットを復元することができ、使用可能な
通信回線の種類が多くなる。
は、一群の発音開始情報及び発音停止情報をパケット通
信によって送信するための1パケットの情報として生成
し、複数のパケットに跨って誤り訂正符号を付加する。
受信側では、受信した複数のパケットの誤り訂正符号を
抽出し、誤りの検出を行う。したがって、いくつかのパ
ケットが通信上のトラブルによって失われても、受信側
でそれらのパケットを復元することができ、使用可能な
通信回線の種類が多くなる。
【0063】
【発明の効果】本発明によれば、受信側において楽音が
発音中であることを確認することにより、演奏停止情報
が欠落した場合に楽音が鳴りっぱなしになるのを防止で
きる。また、送信する演奏情報量を少なくすることがで
きる。
発音中であることを確認することにより、演奏停止情報
が欠落した場合に楽音が鳴りっぱなしになるのを防止で
きる。また、送信する演奏情報量を少なくすることがで
きる。
【図1】本発明の実施形態の構成を示すブロック図。
【図2】図1の送信側の演奏情報処理装置におけるRA
Mのデータエリアを示す図。
Mのデータエリアを示す図。
【図3】図1の送信側の演奏情報処理装置におけるCP
Uのメインフローチャート。
Uのメインフローチャート。
【図4】図3におけるCPUのタイマインタラプトのフ
ローチャート。
ローチャート。
【図5】図4におけるタイマインタラプトのイベント送
信処理のフローチャート。
信処理のフローチャート。
【図6】図4におけるタイマインタラプトのイベント参
照処理のフローチャート。
照処理のフローチャート。
【図7】図1の受信側の演奏情報処理装置におけるCP
Uのメインフローチャート。
Uのメインフローチャート。
【図8】図7におけるCPUのタイマインタラプトのフ
ローチャート。
ローチャート。
【図9】図8におけるタイマインタラプトの演奏処理の
フローチャート。
フローチャート。
【図10】図9に続く演奏処理のフローチャート。
【図11】図8におけるタイマインタラプトの受信側テ
ーブル参照処理のフローチャート。
ーブル参照処理のフローチャート。
1 鍵盤 5 送信側のRAM 6 送信側の通信制御部 7 受信側の通信制御部 12 音源 100 送信側の演奏情報処理装置 200 受信側の演奏情報処理装置 300 パケット交換網
Claims (7)
- 【請求項1】 楽音の演奏に関する発音指示及び消音指
示に応じて、発音開始情報及び発音停止情報を生成する
情報生成手段と、 前記発音開始情報及び発音停止情報を通信回線を介して
送信する送信手段と、 任意の楽音について前記発音開始情報が前記送信手段か
ら送信された後に当該楽音が発音継続中であるか否かを
一定時間ごとに検索し、発音継続中であることを検索し
たときは発音中情報を生成して前記送信手段から送信さ
せる発音検索手段と、 を有することを特徴とする演奏情報処理装置。 - 【請求項2】 通信回線を介して楽音の演奏に関する情
報を受信する受信手段と、 この受信手段が任意の楽音について発音開始情報を受信
したときは所定の音源に対して当該楽音の発音を指示
し、前記受信手段が発音中の任意の楽音について発音停
止情報を受信したときは前記所定の音源に対して当該楽
音の消音を指示する発音制御手段と、 この発音制御手段が発音を指示した楽音について発音継
続中である旨の発音中情報を前記受信手段が所定時間内
に受信したか否かを判別し、当該所定時間内に当該発音
中情報の受信がないときは、前記発音制御手段に対して
当該発音中の楽音の消音を指示させる判別手段と、 を有することを特徴とする演奏情報処理装置。 - 【請求項3】 前記情報生成手段は、所定数からなる一
群の発音指示及び消音指示について、当該一群の先頭の
指示以外の残りの指示に対応する演奏時刻から当該先頭
の指示に対応する演奏時刻を減算し、当該先頭の指示に
対応する演奏時刻から前記残りの各指示の演奏時刻まで
の経過時間を相対時刻とし、前記先頭の指示に対応する
演奏時刻及び前記残りの指示に対応する相対時刻を含む
発音開始情報及び発音停止情報を生成することを特徴と
する請求項1に記載の演奏情報処理装置。 - 【請求項4】 前記情報生成手段は、前記発音指示及び
消音指示に応じて生成した発音開始情報及び発音停止情
報、並びに、各音高ごとに発音指示に応じてセットされ
消音指示に応じてリセットされる各音高ごとの識別情報
を記憶する記憶手段を有し、前記一定時間ごとに当該記
憶手段を検索してセットされている識別情報を検出し、
当該検出した発音指示に係る識別情報に対応する音高及
び当該検出した現在時刻とを含む新たな発音開始情報を
生成して前記記憶手段に記憶し、 前記送信手段は、前記記憶手段に記憶されている前記発
音開始情報及び発音停止情報、並びに、前記新たな発音
開始情報を送信することを特徴とする請求項1又は3に
記載の演奏情報処理装置。 - 【請求項5】 楽音の演奏に関する発音指示及び消音指
示に応じて、発音開始情報及び発音停止情報を生成する
情報生成手段と、 前記発音開始情報及び発音停止情報を通信回線を介して
送信する送信手段と、 任意の楽音について前記発音開始情報が前記送信手段か
ら送信された後に当該楽音が発音継続中であるか否かを
一定時間ごとに検索し、発音継続中であることを検索し
たときは発音中情報を生成して前記送信手段から送信さ
せる発音検索手段と、 前記通信回線を介して前記発音開始情報及び発音停止情
報並びに前記発音中情報を受信する受信手段と、 この受信手段が任意の楽音について前記発音開始情報を
受信したときは所定の音源に対して当該楽音の発音を指
示し、前記受信手段が発音中の任意の楽音について前記
発音停止情報を受信したときは前記所定の音源に対して
当該楽音の消音を指示する発音制御手段と、 この発音制御手段が発音を指示した楽音について前記発
音中情報を前記受信手段が所定時間内に受信したか否か
を判別し、当該所定時間内に当該発音中情報の受信がな
いときは、前記発音制御手段に対して当該発音中の楽音
の消音を指示させる判別手段と、 を有することを特徴とする演奏情報通信システム。 - 【請求項6】 前記情報生成手段は、所定数からなる一
群の発音指示及び消音指示について、当該一群の先頭の
指示以外の残りの指示に対応する演奏時刻から当該先頭
の指示に対応する演奏時刻を減算し、当該先頭の指示に
対応する演奏時刻から前記残りの各指示の演奏時刻まで
の経過時間を相対時刻とし、前記先頭の指示に対応する
演奏時刻及び前記残りの指示に対応する相対時刻を含む
発音開始情報及び発音停止情報を生成し、 前記発音制御手段は、前記受信手段が受信した前記先頭
の指示に対応する演奏時刻に前記残りの指示に対応する
相対時刻を加算して、当該残りの指示の演奏時刻を復元
して発音又は消音の指示をする、 ことを特徴とする請求項5に記載の演奏情報通信システ
ム。 - 【請求項7】 前記情報生成手段は、前記発音指示及び
消音指示に応じて発生した発音開始情報及び発音停止情
報、並びに、各音高ごとに発音指示に応じてセットされ
消音指示に応じてリセットされる各音高ごとの識別情報
を記憶する記憶手段を有し、前記一定時間ごとに当該記
憶手段を検索してセットされている識別情報を検出し、
当該検出した発音指示に係る識別情報に対応する音高及
び当該検出した現在時刻とを含む新たな発音開始情報を
生成して前記記憶手段に記憶し、 前記送信手段は、前記記憶手段に記憶されている前記発
音開始情報及び発音停止情報、並びに、前記新たな発音
開始情報を送信し、 前記判別手段は、前記所定時間内に前記新たな発音開始
情報の受信がないときは、前記発音制御手段に対して当
該発音中の楽音の消音を指示させる、 ことを特徴とする請求項5又は6に記載の演奏情報通信
システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10267219A JP2000089755A (ja) | 1998-09-07 | 1998-09-07 | 演奏情報処理装置及び演奏情報通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10267219A JP2000089755A (ja) | 1998-09-07 | 1998-09-07 | 演奏情報処理装置及び演奏情報通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000089755A true JP2000089755A (ja) | 2000-03-31 |
Family
ID=17441799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10267219A Pending JP2000089755A (ja) | 1998-09-07 | 1998-09-07 | 演奏情報処理装置及び演奏情報通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000089755A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009210989A (ja) * | 2008-03-06 | 2009-09-17 | Kawai Musical Instr Mfg Co Ltd | 電子楽音発生器 |
JP2013015643A (ja) * | 2011-07-01 | 2013-01-24 | Yamaha Corp | 演奏データ送信装置及び演奏データ受信装置 |
-
1998
- 1998-09-07 JP JP10267219A patent/JP2000089755A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009210989A (ja) * | 2008-03-06 | 2009-09-17 | Kawai Musical Instr Mfg Co Ltd | 電子楽音発生器 |
JP2013015643A (ja) * | 2011-07-01 | 2013-01-24 | Yamaha Corp | 演奏データ送信装置及び演奏データ受信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2972431B2 (ja) | 音響発生装置 | |
JP2007192559A (ja) | 演奏情報発生装置およびプログラム | |
WO2010133691A2 (en) | A system and method for streaming music repair and error concealment | |
JP2000089755A (ja) | 演奏情報処理装置及び演奏情報通信システム | |
US6627807B2 (en) | Communications apparatus for tone generator setting information | |
JP2000181447A (ja) | 音楽情報送信装置、音楽情報受信装置、音楽情報送受信装置、及び記憶媒体 | |
JP3518647B2 (ja) | 電子機器用ネットワークにおける通信方法 | |
US20030004701A1 (en) | Automatic performing apparatus and electronic instrument | |
JP3180500B2 (ja) | リアルタイム通信用バス型lan | |
JP4626429B2 (ja) | Midiデータ送信装置及びプログラム | |
JP3609045B2 (ja) | 自動演奏装置 | |
JPH0375874B2 (ja) | ||
JP3197620B2 (ja) | 演奏情報通信装置 | |
JP2002032083A (ja) | 電子楽器 | |
JP2900360B2 (ja) | 自動伴奏装置 | |
JPH10177382A (ja) | 電子楽器の自動演奏装置 | |
JP3196681B2 (ja) | 通信データ一時記憶装置 | |
CN110636074B (zh) | 双排键音色自动下发系统 | |
JP4453262B2 (ja) | 伴奏スタイルデータ変換装置および伴奏スタイルデータ変換方法を実現するためのプログラム | |
JP2555765B2 (ja) | 電子楽器 | |
JPH08106285A (ja) | 自動演奏装置 | |
JP3636395B2 (ja) | 楽音生成装置 | |
JP3324881B2 (ja) | 自動演奏装置 | |
JPH06314096A (ja) | 電子楽器の前コード検出装置 | |
JP2002149159A (ja) | 楽音信号合成方法、楽音信号合成装置および記録媒体 |