JP3196681B2 - 通信データ一時記憶装置 - Google Patents
通信データ一時記憶装置Info
- Publication number
- JP3196681B2 JP3196681B2 JP05960297A JP5960297A JP3196681B2 JP 3196681 B2 JP3196681 B2 JP 3196681B2 JP 05960297 A JP05960297 A JP 05960297A JP 5960297 A JP5960297 A JP 5960297A JP 3196681 B2 JP3196681 B2 JP 3196681B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- time information
- sound source
- time
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/025—Computing or signal processing architecture features
- G10H2230/031—Use of cache memory for electrophonic musical instrument processes, e.g. for improving processing capabilities or solving interfacing problems
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
術に関し、特に通信により受信したデータをバッファリ
ングするバッファリング技術に関する。
IDI(music instrumental digitalinterface)規格
がある。MIDI規格のインターフェースを備えた電子
楽器は、MIDI用ケーブルを用いて、他の電子楽器と
接続することができる。電子楽器は、MIDI用ケーブ
ルを介して、MIDIデータを通信することができる。
た情報をMIDIデータとして送信し、他の電子楽器
は、当該MIDIデータを受信し、楽音を発音すること
ができる。一の電子楽器で演奏すると、他の電子楽器で
リアルタイムに発音することができる。しかし、リアル
タイムに発音させるための通信は、単位時間当たりのデ
ータ量が多くなり、通信に遅れが生じやすい。
通信ネットワークでは、種々の情報を通信することがで
きる。例えば、コンピュータに接続されているハードデ
ィスク等に生の楽音情報やMIDIデータ等の情報を一
度蓄積しておき、通信ネットワークを介して、当該情報
を送信する。他のコンピュータは、当該情報を受信し
て、ハードディスク等の記憶装置に記憶する。当該通信
ネットワークは、長距離通信を可能にするが、長距離通
信を行うと通信に遅れが生じやすい。
信又は長距離通信を行うと、通信に送れが生じやすい。
通信に遅れが生じると、受信装置はデータをスムーズに
処理することが困難になる。具体的には、受信装置は、
MIDIデータをスムーズにリアルタイム再生すること
が困難になる。
ァリングして当該データをスムーズに処理するためのバ
ッファリング技術を提供することである。
ば、通信データ一時記憶装置は、外部装置から時間情報
を含むデータを受信する手段と、前記受信したデータを
一時的に記憶する手段と、前記受信したデータに含まれ
ている時間情報を所定値で補正した新たな時間情報を、
前記記憶されている受信データの処理タイミングを管理
するためのタイマ時間情報の初期値として設定する手段
と、前記タイマ時間情報を定期的にカウントアップする
とともに、該カウントアップしたタイマ時間情報と前記
記憶されている受信データに含まれている時間情報とに
基づいて該データを処理する手段と、前記受信したデー
タが特定のデータであるか否かを判断し、受信したデー
タが特定のデータである場合には前記タイマ時間情報の
設定を実行し、特定のデータでない場合には前記タイマ
時間情報の設定を実行しないよう制御する手段とを有す
る。
む。該受信したデータは記憶手段に一時的に記憶される
が、そのデータは直ぐに処理されるではなく、データに
含まれる時間情報から所定時間経過後に処理される。デ
ータを一時的に記憶することにより、リアルタイム通信
や長距離通信等により通信の遅れが生じた場合でも、該
データをスムーズに処理することができる。
一時記憶方法は、外部装置から時間情報を含むデータを
受信する工程と、前記受信したデータを一時的に記憶す
る工程と、前記受信したデータに含まれている時間情報
を所定値で補正した新たな時間情報を、前記記憶されて
いる受信データの処理タイミングを管理するためのタイ
マ時間情報の初期値として設定する工程と、前記タイマ
時間情報を定期的にカウントアップするとともに、該カ
ウントアップしたタイマ時間情報と前記記憶されている
受信データに含まれている時間情報とに基づいて該デー
タを処理する工程と、前記受信したデータが特定のデー
タであるか否かを判断し、受信したデータが特定のデー
タである場合には前記タイマ時間情報の設定を実行し、
特定のデータでない場合には前記タイマ時間情報の設定
を実行しないよう制御する工程とを有する。
通信ネットワークを示す図である。
4、エンコーダ3、5、及びルータ6が備えられる。演
奏会場1では、演奏者がMIDI楽器2を演奏する。M
IDI楽器2は、演奏者の演奏操作に応じてMIDIデ
ータを生成し、エンコーダ3に供給する。エンコーダ3
は、MIDIデータを所定のデータ形式で、ルータ6を
介してインターネット上にパケット送信する。データ形
式は、後に図4を参照しながら説明する。
撮影し、その様子を画像データとしてエンコーダ5に供
給する。エンコーダ5は、画像データを所定のデータ形
式で、ルータ6を介してインターネット上にパケット送
信する。データ形式は、後に図4を参照しながら説明す
る。
介して、MIDIデータ及び画像データを送信する。当
該データは、電話回線又は専用回線を通り、ルータ6か
らサーバー7に供給され、さらに複数のWWW(world
wide web)サーバー8に供給される。WWWサーバー8
は、いわゆるプロバイダである。
サーバー8に接続することにより、インターネットを使
用することができる。ホームコンピュータ9は、インタ
ーネットを使用し、MIDIデータ及び画像データを受
信することができる。ホームコンピュータ9は、ディス
プレイ装置と内蔵又は外付けのMIDI音源を有し、デ
ィスプレイ装置に画像データを表示し、MIDI音源に
楽音信号を生成させることができる。MIDI音源は、
MIDIデータを基に楽音信号を生成し、音声出力装置
11に出力する。音声出力装置11は、当該楽音信号に
応じて発音する。演奏会場1で演奏される演奏音と同等
の音が音声出力装置11からリアルタイムで発音され
る。
音源10を接続すれば、ホームコンピュータ9は、MI
DI音源10に楽音信号を生成させ、音声出力装置11
から発音させることができる。
もMIDIデータの方が重要な情報であるので、画像デ
ータよりもMIDIデータを優先して処理を行う。画像
データは、画質が悪く、コマ数が少なくてもさほど気に
ならないが、MIDIデータに基づく楽音情報は高品質
が要求される。
最初に初期音源設定情報を送信し、その後、演奏操作に
基づく実演奏情報を送信する。発音情報(キーオン)は
当該実演奏情報に含まれるので、初期音源設定情報は最
初の発音情報よりも前に送信される。当該初期音源設定
情報を送信した後、定期的にその時点(現在)の音源設
定情報を送信する。当該現在の音源設定情報を送信する
ことにより、初期音源設定情報を受信できなかった場合
でも、改めて音源設定情報を受信することができる。
クセスしていれば、最初に送信される初期音源設定情報
を受信することができるので問題はない。一方、演奏の
途中から演奏会場にアクセスを開始したときには、初期
音源設定情報を受信することができないが、その後に定
期的に送信される音源設定情報を受信することができ
る。ユーザは、いつ演奏会場にアクセスを開始しても、
適正な音源設定情報を受信することができる。当該音源
設定情報は、ホームコンピュータ9に内蔵又は外付けの
MIDI音源に設定される。
受信したデータをバッファリングした後、所定時間経過
後に当該データの処理を開始する。MIDIデータ又は
画像データのリアルタイム通信又は長距離通信を行うと
通信に送れが生じやすい。当該遅れが生じた場合であっ
ても、当該データをバッファリングし所定時間経過後に
処理を開始することにより、当該データをスムーズに処
理することができる。具体的には、スムーズな演奏又は
画像を再生することができる。
宅にいながらディスプレイ装置で演奏会場1の模様を見
ながら、リアルタイムで演奏を聴くことができる。ま
た、自宅のホームコンピュータ9をインターネットに接
続すれば、誰でも演奏を聴くことができる。例えば、演
奏会場1でコンサートを行った場合には、不特定多数人
が自宅でそのコンサートを楽しむことができる。
することにより、演奏者が複数のユーザのそれぞれの自
宅で電子楽器を演奏しているかのような状況を作り出す
ことができる。
報ではなく、MIDIデータを通信するので、雑音によ
り音質を下げることはない。ただし、インターネット
は、長距離通信を行い、かつ種々の通信ポイントを経由
するので、エンコーダ3、5におけるデータ送信時及び
ホームコンピュータ9におけるデータ受信時に、以下に
示す通信エラー対策を行う必要がある。通信エラーは、
例えば、データ化け、データ欠落、データ重複、データ
の順序入れ替え等である。
ピュータ9のハードウエアの構成を示す図である。これ
らは、汎用コンピュータを用いることができる。
力装置26、表示器27、MIDI音源28、インター
ネットを行うための通信インターフェース29、MID
Iインターフェース30、RAM21、ROM22、C
PU23、外部記憶装置25が接続されている。
とができる。ホームコンピュータ9においては、表示器
27は演奏会場の模様を表示し、MIDI音源28は受
信したMIDIデータを基に楽音信号を生成し、外部に
出力する。さらに、MIDI音源28は、受信した初期
音源設定情報又は音源設定情報に基づいて各種の設定が
行われる。
ットにより、MIDIデータ及び画像データを送受信す
るためのインターフェースである。MIDIインターフ
ェース30は、外部に対してMIDIデータを送受信す
るためのインターフェースである。
クドライブ、フロッピーディスクドライブ、CD−RO
Mドライブ、光磁気ディスクドライブ等であり、MID
Iデータ、画像データ又はコンピュータプログラム等を
記憶することができる。
各種パラメータを記憶することができる。RAM21
は、キーオンバッファ21aと音源設定バッファ21b
等を有する。キーオンバッファ21aは、MIDIデー
タ中のキーオンイベントを格納し、音源設定バッファ2
1bは、MIDIデータ中の音源設定情報(初期音源設
定情報を含む)を格納する。
設定情報を送信し、その後、音源設定バッファ21bに
格納されている現在の音源設定情報を定期的に送信す
る。
たデータをRAM21内のバッファ21cにバッファリ
ングし、所定時間経過後に処理を開始する。その所定時
間は、RAM21内の時間レジスタ21dに格納され
る。
タ等のワーキングエリアを有し、外部記憶装置25に記
憶されている内容をコピーして記憶することができる。
CPU23は、ROM22又はRAM21に記憶されて
いるコンピュータプログラムに従って、各種演算または
処理を行う。CPU23は、タイマ24から時間情報を
得ることができ、タイマ24に応じて割り込み処理を開
始することができる。
を示す図である。図では、模式的に、キーオン中をハイ
レベルで表し、キーオフ中をローレベルで表す。
t4においてキーオフを送信する場合を説明する。時刻
t1において送信したキーオンが通信エラーを起こし、
欠落する場合がある。その場合、受信側のホームコンピ
ュータ9は、キーオンを受け取らず、キーオフのみを受
け取ることになってしまう。これでは、正常な演奏を再
現することができない。キーオンが生成されず、キーオ
フのみが生成されることは、演奏規則上ありえない。
においてキーオンを送信した後、所定時間が経過する
度、すなわち時刻t2及び時刻t3においてリカバリー
キーデータを送信する。
であることを確認的に伝えるデータである。時刻t1に
おけるキーオンが受信されなかった場合でも、時刻t2
におけるリカバリーキーデータを受信することにより、
時刻t1からわずか遅れるがキーオンさせることができ
る。さらに、時刻t1及びt2の両方のデータを受信で
きない場合であっても、時刻t3におけるリカバリーキ
ーデータによりキーオンさせることができる。
と共に減衰する。したがって、リカバリーキーデータを
送信する際には、時間経過を考慮し、ベロシティ(音
量)の減少したキーオンを送信することが好ましい。具
体的には、時刻t1,t2,t3の順で、徐々にベロシ
ティを小さくしたキーオンを送信すればよい。
ンの通信エラーをリカバリーすることができる。次に、
時刻t4のキーオフが通信エラーを起こした場合のリカ
バリー方法を説明する。
ーオフのリカバリーデータを送信することも可能であ
る。ただし、各鍵において、キーオフ中の時間はキーオ
ン中の時間より著しく長い。一旦キーオフされた後、次
のキーオンまでリカバリーデータを送ると、そのデータ
量が莫大なものになってしまう。
オンの時刻t1からキーオフの時刻t4の間送信され、
時刻t4の後は送信されない。すなわち、リカバリーキ
ーデータが送信されないことは既にキーオフが生じたこ
とを意味する。もし、ホームコンピュータ9が時刻t4
におけるキーオフを受信できなかったときには、その後
にリカバリーキーデータが送信されてこないことを確認
し、現在キーオフ中であると判断すればよい。
であるにもかかわらずリカバリーキーデータが送信され
てこなくなったときには、キーオフし、音が誤って鳴り
つづける現象を防止することができる。これらの判断
は、図2のキーオンバッファ21aを参照することによ
り行う。詳細は、後にフローチャートを参照しながら説
明する。
源設定バッファ21bを参照することにより、音源設定
情報をリカバリーするためのリカバリー音源設定情報を
通信することもできる。
す図である。図1のエンコーダ3、5は当該パケットを
送信し、ホームコンピュータ9は当該パケットを受信す
る。
からなる。ヘッダ部41は、2ワード(1ワードは16
ビット)のチェックサム43、4ワードのデータID4
4、4ワードのシーケンスナンバー45、4ワードの時
間情報46、2ワードのイベントデータ長47を有す
る。
ヘッダ部41とデータ部42のデータの合計値である。
送信側は、当該合計値を計算し、チェックサム43とし
てパケット中に付与する。受信側は、当該合計値を計算
し、チェックサム43の値と合っていれば、通信エラー
がないことを確認することができる。
番号で表す。番号0、1、2、3はMIDIデータであ
り、番号4は画像データである。MIDIデータのう
ち、番号0は実イベントのデータ(通常のMIDIデー
タ)であり、番号1はリカバリーキーデータ(図3)で
あり、番号2はリカバリー音源設定情報である。番号3
は、演奏途中において定期的に送信する現在の音源設定
情報である。当該音源設定情報を送信することにより、
初期音源設定情報を受信できなかった場合でも、その時
点の音源設定情報を受信することができる。
で付与されるシーケンスナンバーである。受信側は、シ
ーケンスナンバー45を確認することにより、通信エラ
ーによりデータの順序が入れ替った場合でもリカバリー
することができる。
再生時間である。4ワードあれば100時間以上の時間
情報を表現することができる。時間情報46を用いれ
ば、複数の演奏会場での同時セッションが可能になる。
各演奏会場毎に演奏時間を時間情報46として付加すれ
ば、演奏会場同士の同期をとりながら自宅で同時演奏を
聴くことができる。時間情報46は、絶対時間が望まし
いが、全ての演奏会場の共通時間であれば相対時間でも
よい。
データ長を表す。データ部42は、実データ48からな
る。実データ48は、MIDIデータ又は画像データで
ある。
例えば64kビット/s(ISDN回線)である。1パ
ケットのデータ長は、限定されないが、通信効率を考慮
すれば約1kバイト又は512バイトが好ましい。
処理を示すフローチャートである。ステップSA1にお
いて、MIDI楽器2からMIDIデータを受信する。
ステップSA2では、受信したデータをRAM21にバ
ッファリングする。
ベントの種類を識別する。キーオンであれば、ステップ
SA6へ進み、当該キーオンをキーオンバッファ21a
(図2)に登録し、ステップSA7へ進む。
み、キーオンバッファ21aをサーチして、同一のキー
コードがあればそのキーオンをキーオンバッファ21a
から削除する。その後、ステップSA7へ進む。
進み、当該音源設定情報を音源設定バッファ21b(図
2)に登録し、ステップSA7へ進む。音源設定情報
は、プログラムチェンジ、コントロールデータ、イクス
クルーシブメッセージ、その他のデータである。このス
テップにおける音源設定情報は、演奏者の演奏操作に応
じて発生した情報であり、初期音源設定情報とは異なる
ものである。
番号が0であるデータID44を、受信したMIDIデ
ータに付加する。データID44が0であることは、当
該MIDIデータが実イベントデータであることを示
す。
チェックサム43、シーケンスナンバー45、タイマに
応じた時間情報46、イベントデータ長47を、受信し
たMIDIデータに付加し、ステップSA9でパケット
化し、ステップSA10で送信する。時間情報46は、
エンコーダ3がカウントアップして生成する基準時間で
ある。その後、送信処理を終了する。
した同種類の複数のイベントを1つにまとめてパケット
化し、送信することができる。すなわち、上記ではイベ
ントが発生する毎にデータをパケット化して送信してい
るが、人の聴覚が遅延したと聞き取れない程度の時間だ
けデータを蓄積し、蓄積したデータをまとめてパケット
化して送信してもよい。
にして、画像データを送信する。その場合、データID
は番号が4である。
を示すフローチャートである。当該割り込み処理は、タ
イマに応じた所定時間間隔で行われる。この時間間隔
は、任意に設定することができる。
21b内のデータとGM_onデータとの差分値を求め
る。GM_onデータは、MIDIデータのGM規格で
決められた基準音源設定コードであり、音源がGM_o
nデータを受信すると音源に所定の設定が行われる。G
M_onデータは、図2のRAM21、ROM22又は
外部記憶装置25に記憶されている。このステップで
は、GM_onデータが示す音源設定情報と音源設定バ
ッファ21b内の音源設定情報との差分を求める。
nデータを送信用データとして生成する。この送信用デ
ータは、音源設定バッファ21b内に格納されている現
在の音源設定情報と同等なものである。上記の送信用デ
ータの代わりに、音源設定バッファ21b内の音源設定
情報そのものを送信用データとして生成してもよい。
は、上記のようにGM_onデータとその差分を送信用
データとした方がよい。GM_onデータは、単一のコ
ードであるので、送信用データのデータ量を少なくする
ことができる。
定コード(例えばXG_onデータ等)を用いてもよい
し、複数の基準音源設定コードの中から現在の音源設定
情報に最も近い基準音源設定コードを選び、その基準音
源設定コードとその差分を送信用データとすることによ
り、送信用データのデータ量を少なくしてもよい。
報」という。現音源設定情報は、音源に設定可能な全て
の音源設定情報でもよいし、初期音源設定情報に含まれ
る音源設定情報だけでもよい。
たデータIDを当該送信用データに付加する。データI
Dが3であることは、当該送信用データが現音源設定情
報であることを示す。その後、図5に示すステップSA
8へ進む。
シーケンスナンバー45、タイマに応じた時間情報4
6、イベントデータ長47を、当該送信用データに付加
し、ステップSA9でパケット化し、ステップSA10
で送信する。その後、割り込み処理を終了する。
を送信し、その後、定期的に現音源設定情報を送信す
る。ユーザは、初期音源設定情報を受信できなかった場
合でも、その後適正な現音源設定情報を受信することが
できる。
に送信する必要はなく、任意のタイミングで送信しても
よい。また、送信側が送信するタイミングを決めるので
はなく、ユーザ所有のホームコンピュータが要求するタ
イミングのときに送信してもよい。例えば、ユーザが演
奏会場にアクセスを開始すると、そのタイミングでエン
コーダ3が全音源設定情報を送信してもよい。
タに直接現音源設定情報を送信するのではなく、その中
継地点であるWWWサーバー8等に現音源設定情報を蓄
積しておき、ホームコンピュータ9がWWWサーバー8
等に蓄積された現音源設定情報をダウンロードしてもよ
い。
通信に限定されず、電子楽器間でのMIDI通信等の他
の通信にも適用することができる。
1)が行う受信処理を示すフローチャートである。
上のデータを受信する。ステップSB2では、フラグR
eceiveが1か否かをチェックする。フラグRec
eiveは、受信したパケットが一番最初に受信したパ
ケットであるか否かを判別するためのフラグである。フ
ラグReceiveは、初期時には0に設定されてい
る。一番最初にパケットを受信したときにはフラグRe
ceiveが0であるので、ステップSB3へ進み、2
回目以降にパケットを受信したときにはフラグRece
iveが1であるので、ステップSB3〜SB5の処理
を行わずに、ステップSB6へ進む。
から所定値を引いた値をユーザ側時間情報として設定す
る。演奏会場側時間情報は、エンコーダ3(図1)がカ
ウントアップする時間であり、ユーザ側時間情報はホー
ムコンピュータ9(図1)がカウントアップする時間で
ある。例えば、一番最初に受信したパケット内の時間情
報46(図4)を演奏会場側時間情報とし、当該演奏会
場側時間情報から所定値を引いた値をユーザ側時間情報
として設定する。ホームコンピュータ9は、その後、設
定されたユーザ側時間情報のカウントアップを開始す
る。
信したデータをバッファリングした後に処理を遅らせる
時間に相当し、図2の時間レジスタ21dに格納され
る。所定時間だけ処理を遅らせることにより、通信時間
に遅れが生じた場合にも、スムーズに処理を行うことが
できる。
きる。また、演奏会場のエンコーダ3が当該所定値を送
信し、ホームコンピュータ9が当該所定値を受信して設
定してもよい。さらに、ホームコンピュータのメモリ容
量又はバッファ容量に応じて当該所定値を設定してもよ
い。メモリ容量等が大きいときには当該所定値を大きく
することができ、メモリ容量等が小さいときには当該所
定値を小さくする必要がある。
のシーケンスナンバー45(図4)をレジスタSequ
ence_Noに設定する。レジスタSequence
_Noは、現在処理対象であるパケットのシーケンスナ
ンバーを格納するためのレジスタである。その後、ステ
ップSB6へ進む。
クサム43(図4)を確認する。ステップSB7では、
チェックサムの結果をチェックする。チェックサムがエ
ラーであれば、パケット中にデータの誤りがあることを
示すので、NOの矢印に進み、何もせずに処理を終了す
る。信頼性に欠けるデータを捨てることにより、誤った
発音や設定をなくすことが効果的である。
頼性があるので、YESの矢印に従い、ステップSB8
へ進む。ステップSB8では、受信したデータをRAM
21内のバッファ21cにバッファリングする。
報がユーザ側時間以前である否かをチェックする。ユー
ザ側時間は、ステップSB3において、演奏会場側時間
よりも所定値だけ小さい時間に設定されているので、最
初の所定時間は上記の条件を満たさず、NOの矢印に進
み、バッファリングしたデータの処理を行わずに処理を
終了する。所定時間経過後は、YESの矢印に従い、ス
テップSB10へ進む。
ト内のシーケンスナンバー45の値がレジスタSequ
ence_Noの値と同じであるか否かをチェックす
る。同じであるときには、当該パケットの処理を行うた
め、YESの矢印に従い、ステップSB11へ進む。
タIDの番号が3か否かをチェックする。データIDが
3であるときには、当該パケットが現音源設定情報であ
ることを意味し、ステップSB12へ進む。なお、現音
源設定情報であるか否かはデータIDにより識別する場
合に限定されない。例えば、パケット内の他の部分に現
音源設定情報である旨を入れておき、その旨に応じて識
別を行ってもよい。
か否かをチェックする。フラグID3は、現音源設定情
報を既に受信したか否かを示すフラグである。初期時に
はフラグID3を0にセットしておき、未だ現音源設定
情報が設定されていない状態であることを記録してお
く。最初は、フラグID3が0になっているので、ステ
ップSB13へ進む。
をセットする。ステップSB14では、受信した現音源
設定情報を音源設定バッファに登録し、音源へ転送す
る。音源には現音源設定情報が設定される。その後、ス
テップSB16へ進む。
信されるが、2回目以降に現音源設定情報を受信したと
きには、ステップSB12において、フラグID3が1
であると判断され、YESの矢印に従い、音源の設定を
行わずにステップSB16へ進む。すなわち、現音源設
定情報の設定は1度行えば十分であるので、2回目以降
に受信した現音源設定情報については設定を行わない。
報についてもデータIDの番号を3にして送信すれば、
初期音源設定情報を音源に設定したときには、その後定
期的に受信する現音源設定情報を設定せずにすむ。
ence_Noの値をカウントアップし、次のパケット
の処理に備える。その後、ステップSB17へ進む。
ンスナンバーがバッファ内に存在するか否かをチェック
する。バッファに次のシーケンスナンバーのデータが格
納されていれば、ステップSB10へ戻り、次のデータ
について上記の処理を繰り返す。バッファに再生すべき
データがなくなれば、NOの矢印へ進み、処理を終了す
る。
スナンバーが順次増加するが、通信エラーにより受信デ
ータの順番が入れ替わることがある。つまり、後のデー
タが先に到達し、先のデータが後に到達してしまうこと
がある。その場合、ステップSB10においてパケット
内のシーケンスナンバーがレジスタSequence_
Noの値と異なることになり、ステップSB17へ進
む。
ータが既にバッファ内に格納されている場合に、ステッ
プSB10へ戻り、そのデータについての処理を繰り返
す。バッファ内に再生すべきデータがなくなるまで、当
該処理を繰り返す。この処理により、通信エラーにより
データの順序が入れ替わって受信したデータをも適切に
処理することができる。
号が0、1、2又は4であると判断されたときには、ス
テップSB15へ進む。ステップSB15では、データ
IDの番号に応じた処理を行う。具体的には、以下の処
理を行い、その後、ステップSB16へ進む。
タが実イベントデータであるので、キーオン、キーオ
フ、又は音源設定情報を音源へ転送する処理を行う。
タがリカバリーキーデータであるので、当該リカバリー
キーデータとキーオンバッファのキーデータを比較し、
その差分をキーオンバッファに登録し、音源へ転送す
る。
タがリカバリー音源設定情報であるので、当該リカバリ
ー音源設定情報と音源設定バッファの音源設定情報を比
較し、その差分を音源設定バッファに登録し、音源へ転
送する。
タが画像データであるので、当該画像データの表示処理
を行う。
蓄積されたときには、次に処理すべきシーケンスナンバ
ーのデータが欠落したと判断し、そのデータの処理を飛
ばし、その次のシーケンスナンバーのデータの処理を進
める。
ら所定値を減じた時間をユーザ側時間として設定し、処
理を所定時間だけ遅らせる場合について説明したが、ユ
ーザ側時間は演奏会場側時間と同じにして、受信する全
てのパケット内の時間情報に所定値を加えることによ
り、処理を所定時間だけ遅らせてもよい。
の時間情報そのものをユーザ側時間として設定し、受信
する全てのパケット内の時間情報に所定値を加えて、当
該データをバッファにバッファリングする。
情報を変えることなく、ホームコンピュータにおいて予
め遅延時間を設定しておき、最初のパケットを受信した
後に当該遅延時間だけデータの処理を停止しておき、当
該遅延時間経過後から処理を開始することにより、処理
を所定時間だけ遅らせてもよい。
ナンバを遅延させることにより、処理を所定時間だけ遅
らせてもよい。すなわち、シーケンスナンバに欠番を設
け、その次の番号からパケットに番号付けをし直せば、
ホームコンピュータは当該欠番を受信し終えるまで、処
理を待つことなり、結果として処理を所定時間だけ遅ら
せることができる。
リングすると、ある時間内に受信したデータがバッファ
に記憶される。それらのデータをチェックすることによ
り、時間経過に応じたデータの流れを知ることができ、
不自然なデータの存在を見つけ出すことができる。例え
ばボリュームの値が限度を越えて急激に変化している場
合には、そのデータが不自然であると判断することがで
きる。不自然なデータは、通信エラー等により発生する
ことが考えられる。不自然なデータをバッファから削除
すれば、不自然な楽音の発生を防止することができると
ともに、CPUの動作負担を軽減することができ、スム
ーズな処理を行なうことができる。例えば、不自然なボ
リュームデータに基づく音量処理を行なわなくてすむ。
ターネット通信に限定されず、電子楽器間でのMIDI
通信等の他の通信にも適用することができる。
により、演奏会場における演奏情報(MIDIデータ)
及び演奏映像(画像データ)を、不特定多数のユーザに
供給することができる。ユーザは、演奏会場に赴かなく
ても、自宅にいながらリアルタイムでMIDIデータ及
び画像データを得ることができる。
ーダがMIDIデータ等に共通の時間情報を付与すれ
ば、複数の会場間でのセッションが可能になる。
設定情報を送信し、その後、定期的に現在の全音源設定
情報を送信するので、ユーザ所有のホームコンピュータ
は、初期音源設定情報を受信できなかった場合でも、そ
の後適正な現音源設定情報を受信することができる。
通信に遅れが生じやすいが、送れが生じた場合であって
も、ホームコンピュータ9が受信したデータをバッファ
リングした後に所定時間だけ処理を遅らせて処理するこ
とにより、スムーズに処理を行うことができる。
がアクセスすることができる。通信距離は、ユーザのア
クセスポイントにより異なる。長距離通信を行うユーザ
もいれば、短距離通信を行うユーザもいる。ユーザ所有
のホームコンピュータ毎に、処理を遅らせる時間を別々
に設定することができる。短距離通信を行うユーザのみ
ならず、長距離通信を行うユーザにおいてもスムーズに
処理を行うことができる。
されない。例えば、IEEE1394規格のデジタルシ
リアル通信や通信衛星等の他の通信にも適用することが
できる。
本発明はこれらに制限されるものではない。例えば、種
々の変更、改良、組み合わせ等が可能なことは当業者に
自明であろう。
受信したデータは記憶装置に一時的に記憶され、所定時
間経過後に処理されるので、リアルタイム通信や長距離
通信等により通信の遅れが生じた場合でも、該データを
スムーズに処理することができる。
ータ内の時間情報を基に判断されるので、個々のデータ
について精度よく所定時間だけ処理を遅らせることがで
き、スムーズなリアルタイム処理を行うことができる。
することにより、時間経過に応じたデータの流れを予め
知ることができるので、スムーズな処理を行なうことが
できる。
示す図である。
ウエアの構成を示す図である。
す図である。
る。
ートである。
チャートである。
ローチャートである。
ある。
ンコーダ、 4 カメラ、 6 ルータ、 7
サーバー、 8 WWWサーバー、 9ホームコン
ピュータ、 10 MIDI音源、 11 音声出
力装置、21 RAM、 21a キーオンバッフ
ァ、 21b 音源設定情報バッファ、 21c
バッファ、 21d 時間レジスタ、 22 RO
M、23 CPU、 24 タイマ、 25 外部
記憶装置、 26 入力装置、 27 表示器、
28 音源、 29 インターネット用インターフ
ェース、 30 MIDIインターフェース、 3
1 バス、 41 ヘッダ部、 42 データ部、
43 チェックサム、 44 データID、
45 シーケンスナンバー、 46 時間情報、
47 イベントデータ長、 48 MIDIデータ又
は画像データ
Claims (5)
- 【請求項1】 外部装置から時間情報を含むデータを受
信する手段と、 前記受信したデータを一時的に記憶する手段と、 前記受信したデータに含まれている時間情報を所定値で
補正した新たな時間情報を、前記記憶されている受信デ
ータの処理タイミングを管理するためのタイマ時間情報
の初期値として設定する手段と、 前記タイマ時間情報を定期的にカウントアップするとと
もに、該カウントアップしたタイマ時間情報と前記記憶
されている受信データに含まれている時間情報とに基づ
いて該データを処理する手段と、 前記受信したデータが特定のデータであるか否かを判断
し、受信したデータが特定のデータである場合には前記
タイマ時間情報の設定を実行し、特定のデータでない場
合には前記タイマ時間情報の設定を実行しないよう制御
する手段とを有する通信データ一時記憶装置。 - 【請求項2】 前記外部装置から受信するデータに含ま
れる時間情報は、前記外部装置における絶対時間である
請求項1記載の通信データ一時記憶装置。 - 【請求項3】 さらに、前記外部装置から時間情報を補
正するための所定値を受信する手段を有し、 前記設定する手段は、前記受信した所定値を用いて前記
タイマ時間情報の初期値を設定する請求項1記載の通信
データ一時記憶装置。 - 【請求項4】 さらに、前記記憶する手段に記憶可能な
受信データの容量に基づいて時間情報を補正するための
所定値を設定する手段を有し、 前記設定する手段は、前記設定した所定値を用いて前記
タイマ時間情報の初期値を設定する請求項1記載の通信
データ一時記憶装置。 - 【請求項5】 外部装置から時間情報を含むデータを受
信する工程と、 前記受信したデータを一時的に記憶する工程と、 前記受信したデータに含まれている時間情報を所定値で
補正した新たな時間情報を、前記記憶されている受信デ
ータの処理タイミングを管理するためのタイマ時間情報
の初期値として設定する工程と、 前記タイマ時間情報を定期的にカウントアップするとと
もに、該カウントアップしたタイマ時間情報と前記記憶
されている受信データに含まれている時間情報とに基づ
いて該データを処理する工程と、 前記受信したデータが特定のデータであるか否かを判断
し、受信したデータが特定のデータである場合には前記
タイマ時間情報の設定を実行し、特定のデータでない場
合には前記タイマ時間情報の設定を実行しないよう制御
する工程とを有する通信データ一時記憶方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05960297A JP3196681B2 (ja) | 1997-03-13 | 1997-03-13 | 通信データ一時記憶装置 |
| US09/037,822 US7631094B1 (en) | 1997-03-13 | 1998-03-10 | Temporary storage of communications data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05960297A JP3196681B2 (ja) | 1997-03-13 | 1997-03-13 | 通信データ一時記憶装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10254801A JPH10254801A (ja) | 1998-09-25 |
| JP3196681B2 true JP3196681B2 (ja) | 2001-08-06 |
Family
ID=13117977
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP05960297A Expired - Fee Related JP3196681B2 (ja) | 1997-03-13 | 1997-03-13 | 通信データ一時記憶装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7631094B1 (ja) |
| JP (1) | JP3196681B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003281027A (ja) * | 2002-03-26 | 2003-10-03 | Masayuki Hasegawa | 情報送受信システム |
| US8189664B2 (en) * | 2006-05-18 | 2012-05-29 | Florida Atlantic University | Methods for encrypting and compressing video |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2538921B2 (ja) | 1987-06-02 | 1996-10-02 | 日本放送協会 | 音楽演奏情報伝送方法および送信装置と受信装置 |
Family Cites Families (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4057785A (en) * | 1975-03-14 | 1977-11-08 | Westinghouse Electric Corporation | Sequence of events recorder and system for transmitting sequence data from a remote station to a master station |
| US4458316A (en) * | 1981-03-06 | 1984-07-03 | International Business Machines Corporation | Queuing commands in a peripheral data storage system |
| US4467411A (en) * | 1981-03-06 | 1984-08-21 | International Business Machines Corporation | Scheduling device operations in a buffered peripheral subsystem |
| JPS60114040A (ja) * | 1983-11-25 | 1985-06-20 | Pioneer Electronic Corp | デイジタルオ−デイオシステム |
| US5133015A (en) * | 1990-01-22 | 1992-07-21 | Scholz Donald T | Method and apparatus for processing an audio signal |
| US5194996A (en) * | 1990-04-16 | 1993-03-16 | Optical Radiation Corporation | Digital audio recording format for motion picture film |
| US5974015A (en) * | 1990-05-14 | 1999-10-26 | Casio Computer Co., Ltd. | Digital recorder |
| JPH0430638A (ja) | 1990-05-24 | 1992-02-03 | Ricoh Co Ltd | ネツトワーク敷設管理方式 |
| JP3348247B2 (ja) | 1992-01-13 | 2002-11-20 | 日本電気エンジニアリング株式会社 | データ遅延制御方式 |
| JP3237161B2 (ja) | 1992-01-16 | 2001-12-10 | ヤマハ株式会社 | 自動演奏装置 |
| US5412782A (en) * | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
| US5307459A (en) * | 1992-07-28 | 1994-04-26 | 3Com Corporation | Network adapter with host indication optimization |
| US5430243A (en) * | 1992-09-30 | 1995-07-04 | Kabushiki Kaisha Kawai Gakki Seisakusho | Sound effect-creating device |
| KR0141112B1 (ko) * | 1993-02-26 | 1998-07-15 | 김광호 | 오디오신호 기록포맷과 그 재생방법 및 장치 |
| US5574453A (en) * | 1994-03-03 | 1996-11-12 | Sony Corporation | Digital audio recording apparatus |
| US5461415A (en) * | 1994-03-15 | 1995-10-24 | International Business Machines Corporation | Look-ahead scheduling to support video-on-demand applications |
| EP1139338A3 (en) * | 1994-03-19 | 2006-10-11 | Sony Corporation | Optical disk and method and apparatus for recording and then playing information back from that disc |
| JP3493737B2 (ja) * | 1994-08-12 | 2004-02-03 | ヤマハ株式会社 | 送信ノードおよび受信ノード |
| JPH0854888A (ja) | 1994-08-12 | 1996-02-27 | Matsushita Electric Ind Co Ltd | 音楽データ伝送装置 |
| US5771301A (en) * | 1994-09-15 | 1998-06-23 | John D. Winslett | Sound leveling system using output slope control |
| US5717870A (en) * | 1994-10-26 | 1998-02-10 | Hayes Microcomputer Products, Inc. | Serial port controller for preventing repetitive interrupt signals |
| US5717932A (en) * | 1994-11-04 | 1998-02-10 | Texas Instruments Incorporated | Data transfer interrupt pacing |
| GB2300087B (en) * | 1995-04-18 | 1999-04-28 | Ibm | Voice processing system and method |
| JP2962465B2 (ja) * | 1995-06-02 | 1999-10-12 | ヤマハ株式会社 | 可変アルゴリズム音源および音色編集装置 |
| JP2998612B2 (ja) * | 1995-06-06 | 2000-01-11 | ヤマハ株式会社 | 楽音発生装置 |
| US5752078A (en) * | 1995-07-10 | 1998-05-12 | International Business Machines Corporation | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory |
| DE19535546B4 (de) * | 1995-09-25 | 2004-04-08 | Siemens Ag | Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems |
| JP3293434B2 (ja) * | 1995-10-23 | 2002-06-17 | ヤマハ株式会社 | 楽音発生方法 |
| US5999905A (en) * | 1995-12-13 | 1999-12-07 | Sony Corporation | Apparatus and method for processing data to maintain continuity when subsequent data is added and an apparatus and method for recording said data |
| US5917835A (en) * | 1996-04-12 | 1999-06-29 | Progressive Networks, Inc. | Error mitigation and correction in the delivery of on demand audio |
| US5764896A (en) * | 1996-06-28 | 1998-06-09 | Compaq Computer Corporation | Method and system for reducing transfer latency when transferring data from a network to a computer system |
| US5883957A (en) * | 1996-09-20 | 1999-03-16 | Laboratory Technologies Corporation | Methods and apparatus for encrypting and decrypting MIDI files |
| US6199076B1 (en) * | 1996-10-02 | 2001-03-06 | James Logan | Audio program player including a dynamic program selection controller |
| US5734119A (en) * | 1996-12-19 | 1998-03-31 | Invision Interactive, Inc. | Method for streaming transmission of compressed music |
| US5944788A (en) * | 1997-03-26 | 1999-08-31 | Unisys Corporation | Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules |
| US5999969A (en) * | 1997-03-26 | 1999-12-07 | Unisys Corporation | Interrupt handling system for message transfers in network having mixed hardware and software emulated modules |
| US5998724A (en) * | 1997-10-22 | 1999-12-07 | Yamaha Corporation | Tone synthesizing device and method capable of individually imparting effect to each tone to be generated |
| US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
| US6285767B1 (en) * | 1998-09-04 | 2001-09-04 | Srs Labs, Inc. | Low-frequency audio enhancement system |
| US6310976B1 (en) * | 1998-10-01 | 2001-10-30 | Sharewave, Inc. | Method and apparatus for digital data compression |
-
1997
- 1997-03-13 JP JP05960297A patent/JP3196681B2/ja not_active Expired - Fee Related
-
1998
- 1998-03-10 US US09/037,822 patent/US7631094B1/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2538921B2 (ja) | 1987-06-02 | 1996-10-02 | 日本放送協会 | 音楽演奏情報伝送方法および送信装置と受信装置 |
Non-Patent Citations (2)
| Title |
|---|
| IBM Technical Disclosure Bulletin,"Receiving Device for Re−Synchronizing Packetized Real−Time Information",p.220−222,October 1988 |
| IBM Technical Disclosure Bulletin,Vol.37,No.2,"Sychronizing Speech on Multiple Systems",p.449−450,December 1994 |
Also Published As
| Publication number | Publication date |
|---|---|
| US7631094B1 (en) | 2009-12-08 |
| JPH10254801A (ja) | 1998-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3242028B2 (ja) | データ送受信方法およびシステム | |
| US7158530B2 (en) | Real time communications of musical tone information | |
| JP3180708B2 (ja) | 音源設定情報通信装置 | |
| JP3552667B2 (ja) | 通信システム及び通信プログラムを記録した記録媒体 | |
| JP3196681B2 (ja) | 通信データ一時記憶装置 | |
| US6757303B1 (en) | Technique for communicating time information | |
| JP2000181447A (ja) | 音楽情報送信装置、音楽情報受信装置、音楽情報送受信装置、及び記憶媒体 | |
| US6525253B1 (en) | Transmission of musical tone information | |
| JP3271572B2 (ja) | 楽音情報の通信方法、通信装置及びプログラムを記録した媒体 | |
| JP2005017992A (ja) | 演奏データ送信装置及び演奏システム並びに演奏方法 | |
| JP3705581B2 (ja) | データ送信方法および送信システム | |
| JP3977784B2 (ja) | リアルタイムパケット処理装置及びその方法 | |
| JP3180751B2 (ja) | データの通信装置、通信方法、通信システム及びプログラムを記録した媒体 | |
| JPH11284588A (ja) | 通信装置、通信方法及びプログラムを記録した媒体 | |
| JP3786039B2 (ja) | 通信装置及び方法 | |
| US20020059061A1 (en) | Transmission-reception system, transmission apparatus, reception apparatus and transmission-reception method | |
| JP2004093975A (ja) | 通信端末及びプログラム | |
| JP4090925B2 (ja) | 演奏データ送信装置、通信システム、送信方法及びプログラム | |
| HK1036140B (en) | Real time communication of musical tone information | |
| JP2003186469A (ja) | 楽音情報転送装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010508 |
|
| 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 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080608 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090608 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |