JP3196715B2 - 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体 - Google Patents

楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体

Info

Publication number
JP3196715B2
JP3196715B2 JP05843898A JP5843898A JP3196715B2 JP 3196715 B2 JP3196715 B2 JP 3196715B2 JP 05843898 A JP05843898 A JP 05843898A JP 5843898 A JP5843898 A JP 5843898A JP 3196715 B2 JP3196715 B2 JP 3196715B2
Authority
JP
Japan
Prior art keywords
information
tone
data
midi
audio data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP05843898A
Other languages
English (en)
Other versions
JPH11190993A (ja
Inventor
菊池  健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP05843898A priority Critical patent/JP3196715B2/ja
Priority to US09/174,642 priority patent/US6143973A/en
Publication of JPH11190993A publication Critical patent/JPH11190993A/ja
Application granted granted Critical
Publication of JP3196715B2 publication Critical patent/JP3196715B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • 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/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/031File merging MIDI, i.e. merging or mixing a MIDI-like file or stream with a non-MIDI file or stream, e.g. audio or video
    • 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/271Serial transmission according to any one of RS-232 standards for serial binary single-ended data and control signals between a DTE and a DCE
    • 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/295Packet switched network, e.g. token ring
    • G10H2240/301Ethernet, e.g. according to IEEE 802.3
    • 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/315Firewire, i.e. transmission according to IEEE1394
    • 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/325Synchronizing two or more audio tracks or files according to musical features or musical timings

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、楽音情報の処理技
術に関し、特に2種類以上の楽音情報を再生するための
楽音情報の処理技術に関する。
【0002】
【従来の技術】電子楽器間の通信の統一規格として、M
IDI(musical instrument digitalinterface)規格
がある。MIDI規格のインターフェースを備えた電子
楽器は、MIDI用ケーブルを用いて、他の電子楽器と
接続することができる。電子楽器は、MIDI用ケーブ
ルを介して、MIDIデータを通信することができる。
例えば、一の電子楽器は、演奏者が演奏した情報をMI
DIデータとして送信し、他の電子楽器は、当該MID
Iデータを受信し、楽音を発音することができる。一の
電子楽器で演奏すると、他の電子楽器でリアルタイムに
発音することができる。
【0003】また、複数の汎用コンピュータを接続する
通信ネットワークでは、種々の情報を通信することがで
きる。例えば、コンピュータに接続されているハードデ
ィスク等に音声データ(生の楽音情報)やMIDIデー
タ等の情報を一度蓄積しておき、通信ネットワークを介
して、当該情報を送信する。他のコンピュータは、当該
情報を受信して、ハードディスク等の記憶装置に記憶す
る。汎用の通信ネットワークは、情報の通信を行うのみ
であり、MIDIとは性質を異にする。
【0004】MIDI規格は、電子楽器間のリアルタイ
ム通信を可能にするが、長距離の通信及び多数ノード間
の通信に適していない。一方、汎用通信ネットワーク
は、長距離の通信及び多数ノード間の通信に適している
が、電子楽器間のリアルタイム通信を考慮したものでは
ない。
【0005】
【発明が解決しようとする課題】楽音情報は、MIDI
データと音声データを含む。MIDIデータは、MID
I規格のデータであり、キーオンイベント(例えば押鍵
情報)やキーオフイベント(例えば離鍵情報)を含む。
音声データは、例えばマイクロフォンを用いて生成され
るデータである。マイクロフォンは、音声(楽音を含
む)を電気信号に変換してアナログ形式の音声信号を生
成することができる。そのアナログ形式の音声信号をデ
ジタル形式に変換することにより、音声データを生成す
ることができる。音声データは、例えば、コンパクトデ
ィスクやデジタルオーディオテープに記録されているも
のである。
【0006】通信装置は、送信装置と受信装置を含む。
送信装置は、MIDIデータと音声データの両方を混在
して送信するものが望まれている。受信装置は、MID
Iデータと音声データを受信して同時に再生するものが
望まれている。MIDIデータ又は音声データのうちの
いずれか一方のみを通信することは可能であると考えら
れる。しかし、MIDIデータと音声データの両方を混
在して通信することは困難である。
【0007】仮に、MIDIデータと音声データの両方
を混在して通信できたとしても、両方のデータの同期を
とりながら再生を行うことは困難である。両データの再
生を同時に開始することは可能であるが、それ以降は同
期をとることができない。
【0008】本発明の目的は、複数の楽音情報の同期を
とりながら再生するための楽音情報の通信装置、通信方
法又はプログラムを記録した媒体を提供することであ
る。
【0009】本発明の他の目的は、MIDIデータと音
声データを適切に制御することができる楽音情報の制御
装置、制御方法又はプログラムを記録した媒体を提供す
ることである。
【0010】
【課題を解決するための手段】 本発明の一観点によれ
ば、楽音情報の通信装置は、第1及び第2の楽音情報及
び各楽音情報に関連付けられた時間情報を受信する受信
手段と、前記時間情報を基に前記第1及び第2の楽音情
報の同期をとって再生手段に出力する出力手段であっ
て、第1及び第2の楽音情報の間の時間的ずれの有無を
定期的に検出し、時間的ずれを検出したときには該時間
的ずれを修正する出力手段とを有する。
【0011】 本発明の他の観点によれば、楽音情報の
通信装置は、第1及び第2の楽音情報及び各楽音情報に
関連付けられた時間情報を受信する受信手段と、前記時
間情報を基に前記第1及び第2の楽音情報の同期をとっ
て再生手段に出力する出力手段であって、第1及び第2
の楽音情報の間の時間的ずれの有無を定期的に検出し、
時間的ずれを検出したときには該時間的ずれを修正する
出力手段とをし、前記再生手段は、楽音パラメータを指
定する指定部と、 前記指定部により指定される楽音パ
ラメータに応じてMIDIデータ及び音声データを制御
する制御部と、前記制御部により制御されるMIDIデ
ータ及び音声データの再生を指示する再生指示部とを有
する。
【0012】送信手段は、第1及び第2の楽音情報の各
々と、各楽音情報に付与された時間情報とを関連付けて
送信し、受信手段はそれらを受信する。出力手段は、上
記の時間情報を基に第1及び第2の楽音情報の同期をと
って再生装置に出力するので、第1及び第2の楽音情報
は互いにタイミングがあって再生される。
【0013】
【発明の実施の形態】図1は、楽音情報の通信ネットワ
ークを示す図である。
【0014】演奏会場1には、MIDI楽器2、音声入
力装置12、カメラ4、エンコーダー3、5、及びルー
タ6が備えられる。音声入力装置12は、例えばマイク
ロフォンである。演奏会場1では、演奏者がMIDI楽
器2を演奏し、歌手がその演奏にあわせて音声入力装置
12に向かって歌う。また、音声入力装置12を生ドラ
ムのそばに置いてもよい。
【0015】MIDI楽器2は、演奏者の演奏操作に応
じてMIDIデータを生成し、エンコーダー3に供給す
る。音声入力装置12は、歌手の歌声又はドラムの音を
電気信号に変換してアナログ形式の音声信号を生成し、
リアルタイムでエンコーダー3に供給する。エンコーダ
ー3は、アナログ形式の音声信号をデジタル形式の音声
データに変換し、MIDIデータ及び音声データを所定
のデータ形式で、ルータ6を介してインターネット上に
パケット送信する。データ形式は、後に図5(A)、
(B)を参照しながら説明する。
【0016】カメラ4は、演奏者が演奏している様子を
撮影し、その様子を画像データとしてエンコーダー5に
供給する。エンコーダー5は、画像データを所定のデー
タ形式で、ルータ6を介してインターネット上にパケッ
ト送信する。
【0017】ルータ6は、以下に示すインターネットを
介して、MIDIデータ、音声データ及び画像データを
送信する。当該データは、電話回線又は専用回線を通
り、ルータ6からサーバー7に供給され、さらに複数の
WWW(world wide web)サーバー8に供給される。W
WWサーバー8は、いわゆるプロバイダである。
【0018】ユーザは、ホームコンピュータ9をWWW
サーバー8に接続することにより、インターネットを使
用することができる。ホームコンピュータ9は、インタ
ーネットを使用し、MIDIデータ、音声データ及び画
像データを受信することができる。ホームコンピュータ
9は、ディスプレイ装置とMIDI音源を有し、音声出
力装置11に接続される。
【0019】画像データは、ディスプレイ装置に表示さ
れる。MIDIデータは、MIDI音源で楽音信号に変
換され、音声出力装置11で発音される。音声データ
は、デジタル形式からアナログ形式に変換されて、音声
出力装置11で発音される。ホームコンピュータ9は、
MIDIデータと音声データとの同期をとりながら両者
を発音させる。同期をとる方法は、後に説明する。演奏
会場1の演奏音や歌声と同等の音が音声出力装置11か
らリアルタイムで発音される。
【0020】また、ホームコンピュータ9の外部に、M
IDI音源10を接続すれば、ホームコンピュータ9
は、MIDI音源10に楽音信号を生成させ、音声出力
装置11から発音させることができる。
【0021】なお、ユーザにとっては、画像データより
もMIDIデータ及び音声データの方が重要な情報であ
るので、画像データよりもMIDIデータ及び音声デー
タを優先して処理を行う。画像データは、画質が悪く、
コマ数が少なくてもさほど気にならないが、MIDIデ
ータ及び音声データに基づく楽音信号は高品質が要求さ
れる。
【0022】ユーザは、演奏会場1に赴かなくても、自
宅にいながらディスプレイ装置で演奏会場1の模様を見
ながら、リアルタイムで演奏及び歌声を聴くことができ
る。また、自宅のホームコンピュータ9をインターネッ
トに接続すれば、誰でも演奏及び歌声を聴くことができ
る。例えば、演奏会場1でコンサートを行った場合に
は、不特定多数人が自宅でそのコンサートを楽しむこと
ができる。
【0023】演奏会場からMIDIデータを自宅に送信
することにより、演奏者が複数のユーザのそれぞれの自
宅で電子楽器を演奏しているかのような状況を作り出す
ことができる。MIDIデータの通信は、雑音により音
質を下げることはない。
【0024】図2は、送信端であるエンコーダー3と受
信端であるホームコンピュータ9を示す。以下、両者の
関係を説明するため、便宜的にエンコーダー3をサーバ
3と呼び、ホームコンピュータ9をクライアント9と呼
ぶ。
【0025】サーバ3とクライアント9は、インターネ
ットのデジタル回線により接続される。サーバ3は、M
IDI楽器2からMIDIデータを受け、音声入力装置
12からアナログ形式の音声信号を受ける。デジタル形
式に変換された音声データ及びMIDIデータは、サー
バ3からクライアント9に送信される。クライアント9
は、MIDI音源10にMIDIデータを出力し、音声
出力装置11にアナログ形式に変換された音声信号を出
力する。MIDI音源10は、MIDIデータを受け、
アナログ形式の楽音信号を生成して音声出力装置11に
出力する。音声出力装置11は、アナログ形式の音声信
号及び楽音信号を受けて発音する。
【0026】図3は、図2の具体的なハードウエア構成
を示す図である。サーバ3とクライアント9は、共に汎
用コンピュータ又はパーソナルコンピュータ等を用いる
ことができる。
【0027】サーバ3とクライアント9は、基本的に同
じ構成である。両者の構成を説明する。バス21には、
CPU22、RAM24、外部記憶装置25、外部に対
してMIDIデータを送受信するためのMIDIインタ
ーフェース26、サウンドカード27、ROM28、表
示装置29、キーボードやスイッチやマウス等の入力手
段30、インターネットを行うための通信インターフェ
ース31が接続されている。
【0028】サウンドカード27は、バッファ27aと
コーデック回路27bとクロック27cを有する。バッ
ファ27は、外部に対して入力又は出力するデータをバ
ッファリングする。コーデック回路27bは、A/D変
換器及びD/A変換器を有し、アナログ形式とデジタル
形式の両者間の変換を行うことができる。クロック27
cは、上記の変換を行う際のサンプリングクロックを生
成する。サンプリングクロックは、システムクロック2
3により生成することもできる。その場合は、クロック
27cをサウンドカード27に設けなくても良い。
【0029】外部記憶装置25は、例えばハードディス
クドライブ、フロッピーディスクドライブ、CD−RO
Mドライブ、光磁気ディスクドライブ等であり、MID
Iデータ、音声データ、画像データ又はコンピュータプ
ログラム等を記憶することができる。
【0030】ROM28は、コンピュータプログラム及
び各種パラメータを記憶することができる。RAM24
は、バッファやレジスタ等のワーキングエリアを有し、
外部記憶装置25に記憶されている内容をコピーして記
憶することができる。CPU22は、ROM28又はR
AM24に記憶されているコンピュータプログラムに従
って、各種演算または処理を行う。CPU22は、シス
テムクロック23から時間情報を得て、タイマ割り込み
処理を行うことができる。システムクロック23は、M
IDIデータと音声データの同期をとるための時間情報
も生成する。
【0031】インターネット回線32には、サーバ3の
通信インターフェース31及びクライアント9の通信イ
ンタフェース31が接続される。通信インターフェース
31は、インターネットにより、MIDIデータ、音声
データ及び画像データを送受信するためのインターフェ
ースである。サーバ3とクライアント9は、インターネ
ット回線32により接続される。
【0032】まず、サーバ3について説明する。MID
Iインタフェース26には、MIDI楽器2が接続さ
れ、サウンドカード27には、音声入力装置12が接続
される。MIDI楽器2は、演奏者の演奏操作に応じて
MIDIデータを生成し、MIDIインタフェース26
に出力する。音声入力装置12は、演奏会場における音
声を入力し、アナログ形式の音声信号をサウンドカード
27に出力する。サウンドカード27は、アナログ形式
の音声信号をデジタル形式の音声データに変換する。
【0033】図4(A)に示すように、サーバ3のRA
M24は、MIDIデータ用送信バッファ24aと音声
データ用送信バッファ24bを有する。MIDIインタ
フェース26に入力されたMIDIデータは、MIDI
データ用送信バッファ24aに蓄積され、サウンドカー
ド27に入力された音声データは、音声データ用送信バ
ッファ24bに蓄積される。CPU22は、上記のMI
DIデータと音声データをそれぞれ送信バッファ24a
と24bから読み出して、通信インタフェース31を介
してインターネット回線32上にパケット送信する。
【0034】次に、クライアント9について説明する。
図3に示すように、MIDIインタフェース26には、
MIDI音源10が接続され、サウンドカード27に
は、音声出力装置12が接続される。CPU22は、通
信インタフェース31を介して、インタネット回線32
上からMIDIデータと音声データと画像データを受信
する。
【0035】図4(B)に示すように、クライアント9
のRAM24は、MIDIデータ用受信バッファ24
c、音声データ用受信バッファ24d、MIDIデータ
用再生バッファ24e、及び音声データ用再生バッファ
24fを有する。MIDIデータ用受信バッファ24c
に、受信したMIDIデータをバッファリングし、音声
データ用受信バッファ24dに、受信した音声データを
バッファリングする。
【0036】CPU22は、MIDIデータ用受信バッ
ファ24c内のMIDIデータをMIDIデータ用再生
バッファ24eに記憶し、音声データ用受信バッファ2
4d内の音声データを音声データ用再生バッファ24f
に記憶する。MIDIデータ又は音声データは、時間の
経過と共に、再生バッファ24e又は24fのアドレス
の小さい方から順に記憶される。再生バッファ24e,
24fの各アドレスは、時間情報をも表す。すなわち、
アドレス軸が時間軸に対応する。
【0037】再生バッファ24e内のMIDIデータ
は、MIDIインタフェース26からMIDI音源10
に出力される。MIDI音源10は、MIDIデータを
受け取り、楽音信号を生成して音声出力装置11に出力
する。サウンドカード27は、再生バッファ24f内の
デジタル形式の音声データをアナログ形式の音声信号に
変換して、音声出力装置11に出力する。音声出力装置
11は、上記の楽音信号と音声信号を受け取り、発音す
る。
【0038】通信インタフェース31は、インターネッ
ト用インタフェースの他、イーサネット用インタフェー
ス、IEEE1394規格のデジタル通信インタフェー
ス、RS−232C用インタフェースでもよく、種々の
ネットワークに接続することができる。
【0039】サーバ3は、MIDIデータ等を送信する
ためのコンピュータプログラムを記憶する。クライアン
ト9は、MIDIデータ等を受信するためのコンピュー
タプログラムを記憶する。コンピュータプログラムや各
種パラメータ等を外部記憶装置25に記憶させておき、
それをRAM24に読み込むことにより、コンピュータ
プログラム等の追加やバージョンアップ等が容易に行え
る。
【0040】CD−ROM(コンパクトディスク−リー
ド・オンリィ・メモリ)ドライブは、CD−ROMに記
憶されているコンピュータプログラムや各種データを読
み出す装置である。読み出したコンピュータプログラム
や各種データは、ハードディスクにストアされる。コン
ピュータプログラムの新規インストールやバージョンア
ップ等が容易に行える。
【0041】通信インターフェース31はLAN(ロー
カルエリアネットワーク)やインターネット、電話回路
等の通信ネットワーク32に接続されており、該通信ネ
ットワーク32を介して、コンピュータ33と接続され
る。外部記憶装置25内に上記のコンピュータプログラ
ム等が記憶されていない場合、コンピュータ33からコ
ンピュータプログラム等をダウンロードすることができ
る。サーバ3又はクライアント9は、通信インターフェ
ース31及び通信ネットワーク32を介してコンピュー
タ33へコンピュータプログラム等のダウンロードを要
求するコマンドを送信する。コンピュータ33は、この
コマンドを受け、要求されたコンピュータプログラム等
を、通信ネットワーク32を介してサーバ3又はクライ
アント9へ配信する。サーバ3又はクライアント9が通
信インタフェース31を介して、コンピュータプログラ
ム等を受信して外部記憶装置25に蓄積することによ
り、ダウンロードが完了する。
【0042】なお、本実施例は、本実施例に対応するコ
ンピュータプログラム等をインストールした市販のパー
ソナルコンピュータ等によって、実施させるようにして
もよい。その場合には、本実施例に対応するコンピュー
タプログラム等を、CD−ROMやフロッピディスク等
の、コンピュータが読み込むことができる記憶媒体に記
憶させた状態で、ユーザーに提供してもよい。そのパー
ソナルコンピュータ等が、LAN、インターネット、電
話回線等の通信ネットワークに接続されている場合に
は、通信ネットワークを介して、コンピュータプログラ
ムや各種データ等をパーソナルコンピュータ等に提供し
てもよい。
【0043】また、サーバ3又はクライアント9は、パ
ーソナルコンピュータの他、電子楽器、ゲーム機、カラ
オケ装置、テレビ等の形態として適用してもよい。
【0044】図5(A)は、サーバ3が送信するMID
Iデータパケット49の構造を示す。
【0045】MIDIデータパケット49は、同期をと
るためのタイムスタンプ41、当該パケットがMIDI
データであることを示す識別子(ID)42、当該パケ
ットのサイズ43、MIDIデータ44を有する。
【0046】タイムスタンプ41は、パケット内のMI
DIデータ44の送信時刻を表すと共に、演奏時刻、録
音時刻、再生時刻をも表す。識別子42は、MIDIデ
ータパケットや音声データパケットや画像データパケッ
ト等のパケットの種類を表す。
【0047】MIDIデータ44は、スタンダードMI
DIファイルフォーマットに準拠したものであり、デル
タタイム(インターバル)とMIDIイベントを1組に
したデータの列である。デルタタイム46がMIDIイ
ベント45と47の間にある場合、デルタタイム46
は、前のMIDIイベント45と次のMIDIイベント
47の間の時間間隔を表す。ただし、デルタタイムが0
であるときには、デルタタイムを省略することができ
る。
【0048】図5(B)は、サーバ3が送信する音声デ
ータパケット50の構造を示す。音声データパケット5
0は、同期をとるためのタイムスタンプ41、当該パケ
ットが音声データであることを示す識別子(ID)4
2、当該パケットのサイズ43、デジタル音声データ4
8を有する。
【0049】タイムスタンプ41は、MIDIデータパ
ケットの場合と同様に、パケット内の音声データ48の
録音時刻等を表す。デジタル音声データ48は、音声入
力装置12(図3)を基に生成されたデータである。
【0050】次に、MIDIデータと音声データの同期
のとり方を説明する。MIDIデータパケット49は、
タイムスタンプ41を有する。音声データパケット50
も、タイムスタンプ41を有する。
【0051】両者のタイムスタンプ41は、共にシステ
ムクロック23(図3)により生成される共通の時間軸
上の時間情報であり、演奏開始からの経過時間である。
例えば、コンサートを21時00分に開始し22時00
分に終了したときには、タイムスタンプはコンサート開
始時が0時0分0秒00(21時00分)であり、コン
サート終了時が1時0分0秒00(22時00分)であ
る。
【0052】クライアント9は、サーバ3から受信した
タイムスタンプ41を基に時間情報のカウントを行え
ば、演奏開始時からの経過時間を知ることができる。こ
の経過時間を利用することにより、MIDIデータと音
声データの同期をとることができる。
【0053】MIDIデータと音声データの再生開始時
に同期をとっても、その後にタイミングがずれて行くこ
とがある。例えば、MIDIデータの生成クロックと音
声データの生成クロックが非同期又は異なることがあ
る。具体的には、図3において、MIDIインタフェー
ス26がMIDI楽器2からMIDIデータを受信する
クロック23と、サウンドカード27がA/D変換する
クロック27cが非同期又は異なることがある。その場
合は、MIDIデータと音声データの再生開始時に同期
をとっても、その後、時間の経過と共に、両者のタイミ
ングがずれていく。それと同時に、サーバ3でのタイミ
ングとクライアント9でのタイミングがずれていく。
【0054】同様に、サーバ3のクロックとクライアン
ト9のクロックとに誤差がある場合にも、上記のタイミ
ングのずれが生じることがある。
【0055】次に、上記のタイミングのずれを軽減又は
なくすために、再生開始時だけでなく、その後も定期的
に同期をとる方法を説明する。
【0056】まず、MIDIデータを定期的に同期させ
る方法を説明する。MIDIデータパケット内のタイム
スタンプを初期値として所定時間間隔でカウントするこ
とにより、現在のMIDIデータの再生経過時間を獲得
することができる。MIDIデータ用再生バッファ24
e(図4(B))のアドレスも再生経過時間に対応して
いるが、この時間が上記の時間とずれることがある。そ
こで、そのずれを修正することにより、MIDIデータ
の同期をとる。MIDIデータのタイミングの修正方法
は、後に図7を参照しながら説明する。
【0057】同様に、音声データパケット内のタイムス
タンプを初期値としてカウントすることにより、現在の
音声データの再生経過時間を獲得することができる。音
声データ用再生バッファ24f(図4(B))のアドレ
スも再生経過時間に対応しているが、この時間が上記の
時間とずれることがある。そこで、そのずれを修正する
ことにより、音声データの同期をとる。音声データのタ
イミングの修正方法は、図6を参照しながら説明する。
【0058】図6は、音声データのタイミングの修正方
法を示す。横軸は時間である。音声データ及びMIDI
データの同期は例えば2秒間隔でとられる。すなわち、
2秒毎に再生経過時間にずれが生じているか否かをチェ
ックし、ずれている場合にはそのずれを修正する。
【0059】音声データDD1は、本来の再生経過時間
に従った2秒間のデータであり、時刻t1に開始して時
刻t3に終了する。サーバ3は、例えば0.2秒間分の
各音声データD1〜D10をそれぞれ1パケットとして
パケット通信する。音声データのサンプリングレートが
例えば50kHzであるとすると、0.02ms毎にサ
ンプリングが行われる。各音声データD1〜D10は、
0.2秒間のデータであるので、10,000ポイント
(サンプル)を有する。
【0060】例えば、実際に再生すべき音声データDD
2が、本来の音声データDD1に比べ、0.1秒間だけ
遅れて時刻t2から開始するとする。この場合、音声デ
ータDD2を音声データDD3に修正して再生する。す
なわち、音声データDD2内の各データD1〜D10か
ら50ポイントずつ間引きし、音声データDD3を生成
する。具体的には、20ポイント毎に1ポイントを間引
けばよい。音声データDD3内の各データD1〜D10
は、9,500ポイントを有し、再生時間が0.19秒
に減少する。10個のデータD1〜D10を有する音声
データDD3は、再生時間が1.9秒である。
【0061】音声データDD3は、音声データDD2に
比べ、再生時間が0.1秒だけ短いので、音声データの
遅れを回復することができる。すなわち、音声データD
D3は、音声データDD1に比べ、開始時(時刻t2)
には0.1秒遅れていたが、終了時(時刻t3)には遅
れがなくなる。2秒間隔で同期をとる場合には、2秒の
間に遅れを取り戻せばよい。
【0062】逆に、0.1秒進んだ場合には、20ポイ
ント毎に1ポイントを補間して、1パケットのデータを
10,500ポイントにすればよい。補間は、例えば、
前後のデータを平均する。
【0063】図7(A)〜(C)は、MIDIデータの
タイミングの修正方法を示す。MIDIデータは、図5
(A)のMIDIデータ44に対応する。MIDIデー
タと音声データの同期は例えば2秒間隔でとられる。
【0064】図7(A)に示すように、MIDIデータ
DD1は、MIDIイベントEV1、デルタタイム
(0.5秒)DT1、MIDIイベントEV2、デルタ
タイム(1.5秒)DT2を順次有する。MIDIデー
タDD1の再生時間は、デルタタイム(0.5秒)DT
1とデルタタイム(1.5秒)DT2を加算した値であ
り、2秒である。
【0065】MIDIデータDD1が0.1秒遅れた場
合、図7(B)に示すMIDIデータDD2に修正す
る。MIDIデータDD2は、デルタタイムDT1が
0.5−0.1×1/4秒であり、デルタタイムDT2
が1.5−0.1×3/4秒である。すなわち、デルタ
タイムDT1とDT2の時間配分に応じて、各デルタタ
イムDT1,DT2を修正する。デルタタイムDT1
は、0.1×1/4(=0.1×0.5/(0.5+
1.5))秒だけ早め、デルタタイムDT2は、0.1
×3/4(=0.1×1.5/(0.5+1.5))秒
だけ早める。MIDIデータDD2は、MIDIデータ
DD1に比べ、0.1秒だけ短くなり、1.9秒とな
る。MIDIデータDD2は、0.1秒の遅れを取り戻
すことができる。
【0066】逆に、MIDIデータDD1が0.1秒進
んだ場合、図7(C)に示すMIDIデータDD3に修
正する。MIDIデータDD3は、デルタタイムDT1
が0.5+0.1×1/4秒であり、デルタタイムDT
2が1.5+0.1×3/4秒である。MIDIデータ
DD3は、MIDIデータDD1に比べ、0.1秒だけ
長くなり、2.1秒となる。MIDIデータDD3は、
0.1秒の進みを修正することができる。
【0067】図8は、サーバ3の第1の処理を示すフロ
ーチャートである。ステップSA1では、MIDIイベ
ントを取得する。具体的には、MIDI楽器からMID
Iインタフェースを介してMIDIイベントを取得す
る。
【0068】ステップSA2では、当該MIDIイベン
トがパケットデータの先頭イベントであるか否かをチェ
ックする。すなわち、パケット送信する際に、パケット
内の先頭イベントに該当するか否かをチェックする。先
頭イベントであるときには、yesの矢印に従い、ステ
ップSA3へ進む。先頭イベントでないときには、no
の矢印に従い、ステップSA3をバイパスしてステップ
SA4へ進む。
【0069】ステップSA3では、タイムスタンプを付
与する。タイムスタンプは、演奏開始時(録音開始時)
からの経過時間であり、パケット内のデータの演奏時刻
に相当する。その後、ステップSA4へ進む。
【0070】ステップSA4では、デルタタイムを付与
する。デルタタイムは、前のMIDIイベントと次のM
IDIイベントとの間の時間間隔である。
【0071】ステップSA5では、取得したMIDIイ
ベントをデルタタイム又はタイムスタンプと共に送信バ
ッファ24a(図4(A))に順次格納する。当該MI
DIイベントがパケット内の先頭イベントであるときに
は、タイムスタンプ、デルタタイム、取得したMIDI
イベントを送信バッファに格納する。当該MIDIイベ
ントがパケット内の先頭イベントでないときには、デル
タタイム、取得したMIDIイベントを送信バッファに
格納する。
【0072】ステップSA6では、所定のMIDIイベ
ント数を超えたか、あるいは所定時間経過したか否かの
条件をチェックする。上記のイベント数又は時間によ
り、パケットの大きさが決まる。条件を満たさない場合
には、noの矢印に従い、第1の処理を終了し、その
後、次のMIDIイベントが入力されれば、ステップS
A1から始まる上記の処理を繰り返す。ステップSA6
の条件を満たす場合には、yesの矢印に従い、ステッ
プSA7へ進む。
【0073】ステップSA7では、パケットを送信バッ
ファから読み出し配信する。具体的には、図5(A)に
示すように、タイムスタンプ41、識別子42、パケッ
トサイズ43、MIDIデータ44を配信する。パケッ
トのサイズは、例えば約500バイトである。その後、
サーバ3は第1の処理を終了する。
【0074】図9は、サーバ3の第2の処理を示すフロ
ーチャートである。ステップSB1では、音声入力装置
から音声信号を取得する。
【0075】ステップSB2では、所定のサンプリング
レートにて音声信号をサンプリングする。具体的には、
サウンドカードが音声信号をA/D変換して、デジタル
音声データを生成する。
【0076】ステップSB3では、当該音声データがパ
ケットデータの先頭データであるか否かをチェックす
る。先頭データであるときには、yesの矢印に従い、
ステップSB4へ進む。先頭データでないときには、n
oの矢印に従い、ステップSB4をバイパスしてステッ
プSB5へ進む。
【0077】ステップSB4では、タイムスタンプを付
与する。タイムスタンプは、演奏開始時(録音開始時)
からの経過時間であり、パケット内のデータの演奏時刻
に相当する。その後、ステップSB5へ進む。
【0078】ステップSB5では、サンプリングした音
声データを送信バッファ24b(図4(A))に順次格
納する。ただし、当該音声データがパケット内の先頭デ
ータであるときには、タイムスタンプと当該音声データ
を送信バッファに格納する。
【0079】ステップSB6では、所定のデータ量を超
えたか、あるいは所定時間経過したか否かの条件をチェ
ックする。条件を満たさない場合には、noの矢印に従
い、第2の処理を終了し、その後、次の音声信号が入力
されれば、ステップSB1から始まる上記の処理を繰り
返す。ステップSB6の条件を満たす場合には、yes
の矢印に従い、ステップSB7へ進む。
【0080】ステップSB7では、パケットを送信バッ
ファから読み出し配信する。具体的には、図5(B)に
示すように、タイムスタンプ41、識別子42、パケッ
トサイズ43、音声データ48を配信する。その後、サ
ーバ3は第2の処理を終了する。
【0081】図10は、クライアント9のパケット受信
処理を示すフローチャートである。ステップSC1で
は、通信インタフェースを介してパケットデータを受信
する。
【0082】ステップSC2では、クロックカウンタに
パケット内のタイムスタンプの値をセットする。その
後、クライアント9のシステムクロックがクロックカウ
ンタの値を定期的にインクリメントする。
【0083】ステップSC3では、タイムスタンプが0
であるか否かをチェックする。最初のパケットを受信し
たときには、そのパケット内のタイムスタンプは0であ
る。0であるときには、yesの矢印に従い、ステップ
SC4ヘ進む。0でないときには、noの矢印に従い、
ステップSC4をバイパスしてステップSC5へ進む。
【0084】ステップSC4では、スケジュラーを起動
し、上記のクロックカウンタのクロック計測を開始す
る。スケジュラーは、MIDIデータと音声データの同
期をとるための割り込み処理であり、詳細は、後に図1
4を参照しながら説明する。上記のクロック計測は、図
12に示すように、所定時間間隔の割り込み処理により
行われる。ステップSE1では、クロックカウンタの値
をインクリメントする。クロックカウンタの値は、図1
0のステップSC2において設定され、その後、所定時
間間隔でインクリメントされる。ステップSE2及びS
E3は後に説明する。その後、図10のステップSC5
へ進む。
【0085】ステップSC5では、パケット内の識別子
(ID)がMIDIデータパケットを示すものであるか
否かをチェックする。MIDIデータパケットを示すも
のであるときには、MIDIデータパケットの処理を行
うため、yesの矢印に従い、ステップSC6へ進む。
一方、MIDIデータパケットを示すものでないときに
は、音声データパケットを示すものであることを意味
し、noの矢印に従い、ステップSC9へ進む。
【0086】ステップSC6では、受信したパケットデ
ータをMIDIデータ用受信バッファ24c(図4
(B))に格納する。
【0087】次に、ステップSC7では、MIDIデー
タ用再生バッファ24e(図4(B))に上記の受信バ
ッファ内のパケットを転送する。MIDIデータ用再生
バッファは、MIDI再生モジュールが再生処理するた
めのバッファであり、アドレスが時間に相当する。
【0088】その後、ステップSC8でMIDI再生モ
ジュール処理を行う。MIDI再生モジュール処理の詳
細は、後に図11のフローチャートを参照しながら説明
する。
【0089】次に、音声データの処理を説明する。ステ
ップSC9は、受信したパケットデータを音声データ用
受信バッファ24d(図4(B))に格納する。その
後、ステップSC10へ進む。
【0090】ステップSC10では、音声データ用再生
バッファ24f(図4(B))に上記の受信バッファ内
のパケットを転送する。音声データ用再生バッファは、
音声再生モジュールが再生処理するためのバッファであ
り、アドレスが時間に相当する。
【0091】その後、ステップSC11で音声再生モジ
ュール処理を行う。音声再生モジュール処理の詳細は、
後に図13のフローチャートを参照しながら説明する。
【0092】図11は、図10のステップSC8におけ
るMIDI再生モジュール処理の詳細を示すフローチャ
ートである。当該処理は、シーケンサと同様に、MID
Iイベントの再生処理を行う。
【0093】ステップSD1では、デルタタイムのカウ
ント値が0か否かをチェックする。まず、パケット内の
デルタタイムが読み出され、カウンタにセットされる。
その後、図12の割り込み処理により、そのデルタタイ
ムは、クライアント9のシステムクロックにより減算さ
れる。具体的には、ステップSE2で、デルタタイムの
カウンタ値が0か否かをチェックする。0でないときに
は、noの矢印に従い、ステップSE3において、デル
タタイムのカウンタ値をデクリメントし、割り込み前の
処理に戻る。一方、0であるときには、yesの矢印に
従い、ステップSE3をバイパスして割り込み前の処理
に戻る。
【0094】図11に戻り、ステップSD1でデルタタ
イムのカウント値が0でないときには、未だ再生タイミ
ングに到達していないことを意味するので、MIDI再
生モジュール処理を終了する。
【0095】一方、ステップSD1でデルタタイムのカ
ウント値が0であると判断されたときには、再生タイミ
ングに到達したことを意味するので、ステップSD2へ
進む。
【0096】ステップSD2では、上記の再生バッファ
より読み出したMIDIイベントをMIDI音源に転送
する。MIDI音源は、MIDIイベントを基に楽音信
号を生成し、音声出力装置が当該楽音信号を基に発音す
る。
【0097】ステップSD3では、次のイベントを再生
バッファから読み出す。当該イベントは、MIDIイベ
ント又はデルタタイムである。
【0098】ステップSD4では、読み出したイベント
がデルタタイムであるか否かをチェックする。デルタタ
イムでないときには、MIDIイベントであることを意
味し、noの矢印に従い、ステップSD2へ戻り、読み
出したMIDIイベントをMIDI音源に転送する。一
方、読み出したイベントがデルタタイムであるときに
は、yesの矢印に従い、ステップSD5へ進む。
【0099】ステップSD5では、読み出したデルタタ
イムをデルタタイムカウンタにセットする。デルタタイ
ムカウンタの値は、図12の割り込み処理においてデク
リメントされる。その後、MIDI再生モジュール処理
を終了する。
【0100】なお、上記のMIDI再生モジュール処理
は、MIDIデータパケットを受信したときのみに行う
のではなく、割り込み処理により定期的にも行われる。
MIDI再生モジュール処理を定期的に行い、その都度
再生バッファ内に存在するデータを再生処理することに
より、所定の分解能で再生処理を行うことができる。
【0101】図13は、図10のステップSC11にお
ける音声再生モジュール処理の詳細を示すフローチャー
トである。
【0102】ステップSF1では、音声データ用再生バ
ッファよりパケットデータを所定サンプル分だけサウン
ドカードへ転送する。サウンドカードは、音声データを
アナログ形式の音声信号に変換する。音声出力装置は、
当該音声信号を基に発音する。その後、音声再生モジュ
ール処理を終了する。
【0103】なお、上記の音声再生モジュール処理は、
音声データパケットを受信したときのみに行うのではな
く、割り込み処理により定期的にも行われる。音声再生
モジュール処理を定期的に行い、その都度再生バッファ
内に存在するデータを再生処理することにより、所定の
分解能で再生処理を行うことができる。
【0104】図14は、図10のステップSC4におけ
る第1のスケジュラー処理の詳細を示すフローチャート
である。当該処理は、割り込み処理により定期的(例え
ば2秒間隔)に起動され、MIDIデータと音声データ
の同期をとる。
【0105】ステップSG1では、音声データの再生時
間を算出する。まず、音声データ用再生バッファのリー
ドポインタ(アドレス)を獲得し、時間情報に換算す
る。当該再生バッファは、音声再生モジュール(図1
3)が再生処理するためのバッファであり、アドレスが
再生時間に対応している。次に、上記のリードポインタ
から最近前のタイムスタンプを獲得する。次に、上記の
タイムスタンプとリードポインタが示す時間とを加算
し、再生時間を算出する。
【0106】ステップSG2では、上記の再生時間とク
ロックカウンタの値を比較する。クロックカウンタの値
は、まず、図10のステップSC2でタイムスタンプの
値にセットされ、その後図12の割り込み処理でインク
リメントされる。比較の結果、両者が同じであれば、音
声データのタイミングが合っており、両者が異なれば、
音声データのタイミングがずれていることを意味する。
【0107】ステップSG3では、上記の比較結果に応
じ、図6に示すように、音声データのポイント数(サン
プル数)を制御し、音声データの時間的ずれを修正す
る。すなわち、上記のリードポインタから次回スケジュ
ラーが起動されるまでに再生されるデータ間のポイント
数を制御する。
【0108】ステップSG4では、MIDIデータの再
生時間を算出する。まず、MIDIデータ用再生バッフ
ァのリードポインタ(アドレス)を獲得し、時間情報に
換算する。当該再生バッファは、MIDI再生モジュー
ル(図11)が再生処理するためのバッファであり、ア
ドレスが再生時間に対応している。次に、上記のリード
ポインタから最近前のタイムスタンプを獲得する。次
に、上記のタイムスタンプとリードポインタが示す時間
とを加算し、再生時間を算出する。
【0109】ステップSG5では、上記の再生時間とク
ロックカウンタの値を比較する。比較の結果、両者が異
なれば、MIDIデータのタイミングがずれており、両
者が同じであれば、MIDIデータのタイミングが合っ
ていることを意味する。
【0110】ステップSG6では、上記の比較結果に応
じ、図7に示すように、MIDIデータ中のデルタタイ
ム値を制御し、MIDIデータの時間的ずれを修正す
る。すなわち、上記のリードポインタから次回スケジュ
ラーが起動されるまでに再生されるデータ間のデルタタ
イム値を制御する。その後、第1のスケジュラー処理を
終了する。
【0111】上記のように、音声データの時間的ずれと
MIDIデータの時間的ずれを定期的に修正することに
より、音声データとMIDIデータの同期をとることが
できる。また、音声データ及びMIDIデータに関し
て、サーバ3とクライアント9との間でも定期的に同期
をとることができる。
【0112】次に、クライアント9において音声データ
とMIDIデータの同期をとる簡便な方法を図15と図
16に2種類示す。これらの方法は、サーバ3とクライ
アント9との間で定期的に同期をとることはしないが、
音声データとMIDIデータの間の同期はとられるの
で、両者間のタイミングのずれが解消される。
【0113】図15は、図14の第1のスケジュラー処
理に代わる第2のスケジュラー処理を示すフローチャー
トである。当該処理は、割り込み処理により定期的(例
えば2秒間隔)に起動され、MIDIデータと音声デー
タの同期をとる。
【0114】ステップSH1では、上記のステップSG
1と同様に、リードポインタとタイムスタンプとから音
声データの再生時間を算出する。
【0115】ステップSH2では、上記のステップSG
4と同様に、リードポインタとタイムスタンプとからM
IDIデータの再生時間を算出する。
【0116】ステップSH3では、上記の音声データの
再生時間とMIDIデータの再生時間を比較する。比較
の結果、両者が同じであれば、両者のタイミングが合っ
ており、両者が異なれば、両者のタイミングがずれてい
ることを意味する。両者を比較することにより、音声デ
ータとMIDIデータとの同期をとることができる。た
だし、図14の第1のスケジュラー処理と異なり、クロ
ックカウンタ値との比較を行っていないので、サーバ3
とクライアント9との間の同期はとっていない。
【0117】ステップSH4では、上記のステップSG
6と同様に、比較の結果に応じて、MIDIデータ中の
デルタタイム値を制御し、MIDIデータの時間的ずれ
を修正する。MIDIデータの時間的ずれを定期的に修
正することにより、音声データとMIDIデータの間の
同期をとることができる。その後、第2のスケジュラー
処理を終了する。
【0118】図16は、図14の第1のスケジュラー処
理に代わる第3のスケジュラー処理を示すフローチャー
トである。当該処理は、割り込み処理により定期的(例
えば2秒間隔)に起動され、MIDIデータと音声デー
タの同期をとる。
【0119】第2のスケジュラー処理(図15)では、
MIDIデータのタイミングを修正することにより、M
IDIデータと音声データの同期をとっていたが、第3
のスケジュラー処理(図16)では、音声データのタイ
ミングを修正することにより、MIDIデータと音声デ
ータの同期をとる。
【0120】ステップSI1では、上記のステップSG
1と同様に、リードポインタとタイムスタンプとから音
声データの再生時間を算出する。
【0121】ステップSI2では、上記のステップSG
4と同様に、リードポインタとタイムスタンプとからM
IDIデータの再生時間を算出する。
【0122】ステップSI3では、上記の音声データの
再生時間とMIDIデータの再生時間を比較する。比較
の結果、両者が同じであれば、両者のタイミングが合っ
ており、両者が異なれば、両者のタイミングがずれてい
ることを意味する。
【0123】ステップSI4では、上記のステップSG
3と同様に、比較の結果に応じて、音声データのポイン
ト数(サンプル数)を制御し、音声データの時間的ずれ
を修正する。音声データの時間的ずれを定期的に修正す
ることにより、音声データとMIDIデータの同期をと
ることができる。その後、第3のスケジュラー処理を終
了する。
【0124】以上のように、本実施例では、2種類以上
の異なる楽音情報(例えば音声データとMIDIデー
タ)をパケット送信する際に、各パケットにタイムスタ
ンプを付与する。タイムスタンプは、パケット内の楽音
情報の発生時間(再生時間)を示す。なお、異種の楽音
情報に限定されず、同種の2以上の楽音情報を通信する
際にも適用することができる。
【0125】受信装置であるクライアント9は、タイム
スタンプを含むパケットを受信する。パケット内の楽音
情報を再生する際には、このタイムスタンプを利用する
ことにより、音声データとMIDIデータの同期をとる
ことができる。具体的には、音声データとMIDIデー
タとの間のタイミングのずれを定期的に検出し、ずれが
ある場合にはそのずれを修正することにより、両者の同
期をとる。
【0126】クライアント9は、クロックカウンタにタ
イムスタンプ値をセットし、その値をインクリメントす
ることにより、クライアント9におけるクロックカウン
タ値を計測することができる。このクロックカウンタ値
を基にMIDIデータ及び音声データの時間的ずれを検
出すれば、サーバ3とクライアント9の間の同期をとる
こともできる。
【0127】なお、本実施例は、音声データ及びMID
Iデータをインターネットで通信する場合に限定されな
い。例えば、IEEE1394規格のデジタルシリアル
通信や通信衛星等の他の通信にも適用することができ
る。
【0128】図17は、ホームコンピュータ9の表示装
置29(図1及び図3)に表示される入力画面を示す。
ユーザは、ホームコンピュータ9のマウスやキーボード
を用いて、その入力画面で以下の入力を行うことができ
る。
【0129】入力画面には、ボリューム操作子61、バ
ランス操作子62、再生ボタン63、停止ボタン64、
MIDIデータ表示ランプ65、音声データ(以下、オ
ーディオデータという)表示ランプ66、その他の操作
ボタン67が表示される。
【0130】ボリューム操作子61は、MIDIデータ
及びオーディオデータの音量を指定するための操作子で
ある。例えば、マウスカーソルをボリューム操作子61
の位置に移動させ、マウスのドラッグ操作を行うことに
より、MIDIデータ及びオーディオデータの音量を変
えることができる。ボリューム操作子61を上に移動さ
せれば音量を上げることができ、ボリューム操作子61
を下に移動させれば音量を下げることができる。その操
作に応じて、ボリューム操作子61の表示位置も変わ
る。ユーザは、ボリューム操作子61の位置を参照する
ことにより、音量の大きさを知ることができる。ボリュ
ーム操作子61の詳細は、後に図18(A)、(B)を
参照しながら説明する。
【0131】バランス操作子62は、MIDIデータと
オーディオデータの音量バランスを指定するための操作
子である。例えば、バランス操作子62を上に移動させ
れば、オーディオデータをMIDIデータに比較して大
きくすることができ、バランス操作子62を下に移動さ
せれば、MIDIデータをオーディオデータに比較して
大きくすることができる。バランス操作子62の詳細
は、後に図19を参照しながら説明する。
【0132】再生ボタン63は、MIDIデータ及び/
又はオーディオデータの再生を指示するためのボタンで
あり、停止ボタン64は、その再生の停止を指示するた
めのボタンである。
【0133】再生ボタン63及び停止ボタン64は、M
IDIデータとオーディオデータとを別々にスタート及
びストップさせるようにしてよいし、両方を同時にスタ
ート及びストップさせるようにしてもよい。別々にスタ
ート及びストップさせる場合には、再生ボタン63と停
止ボタン64を、MIDIデータ用のものとオーディオ
データ用のものとに分けて別に設けてもよい。
【0134】MIDIデータ表示ランプ65は、MID
Iデータの再生中であることを知らせるためのランプで
あり、オーディオデータ表示ランプ66は、オーディオ
データの再生中であることを知らせるためのランプであ
る。
【0135】図18(A)は、ボリューム操作子61に
よる第1の音量制御を説明するための図である。
【0136】ボリューム操作子61を操作することによ
り、ボリューム係数αを制御することができる。すなわ
ち、ボリューム操作子61の操作位置に応じて、ボリュ
ーム係数αが決まる。ボリューム操作子61は、最上位
置が係数α=1であり、最下位置が係数α=0であり、
中間位置が係数α=0.5である。
【0137】その最上位置と最下位置との間の距離をy
とし、最下位置から現在の操作子61の位置までの距離
をxとすると、現在の操作子61の位置に対応する係数
αは、次式により求められる。
【0138】α=x/y 次に、MIDIデータの音量の制御方法を説明する。ホ
ームコンピュータは、上記のように、演奏会場からイン
タネットを介してMIDIデータを受信する。そのMI
DIデータの中には、トラックボリューム(メインボリ
ューム)が含まれる。トラックボリュームは、MIDI
のコントロールチェンジメッセージにより指定すること
ができる。コントロールチェンジメッセージの第1バイ
トデータを「7」に設定し、第2バイトデータに0から
127までのトラックボリューム値Vtrを設定するこ
とができる。
【0139】実際のMIDIデータのボリュームVtr
1は、上記のトラックボリュームVtrにボリューム係
数αを乗じた値とする。
【0140】Vtr1=Vtr×α トラックボリュームVtrは、最大値127にしてもよ
いが、それでは演奏者の意思が反映されないので、上記
のように、演奏者がトラックボリュームVtrとして送
信した値を採用するのが好ましい。
【0141】次に、オーディオデータの音量の制御方法
を説明する。実際のオーディオデータのボリュームVa
u1は、音声出力装置11(図1)の最大ボリュームV
auにボリューム係数αを乗じた値とする。
【0142】Vau1=Vau×α MIDIデータとオーディオデータは、上記の方法によ
り、同期をとることができるが、その際、同時期のMI
DIデータとオーディオデータとは音楽上の相関関係が
ある。例えば、音量、エフェクト情報(イコライザやフ
ィルタ等)等の相関関係がある。そのため、1つのボリ
ューム操作子61で、MIDIデータとオーディオデー
タの両方の音量を同時に制御することの必要性が生じ
る。ボリューム操作子61と同様に、エフェクト情報等
の操作子を設けてもよい。
【0143】なお、1つのボリューム操作子61を操作
することにより、全MIDIチャネルのMIDIデータ
及びオーディオデータの音量を制御してもよいし、ボリ
ューム操作子61を2つ設け、MIDIデータとオーデ
ィオデータとを別々に制御するようにしてもよい。ま
た、MIDIチャンネル数分のボリューム操作子61を
設けて、MIDIチャンネル毎に別々に音量を制御して
もよい。その場合、コントロールチェンジメッセージに
は、MIDIチャンネル番号が含まれているので、MI
DIチャンネル毎に別のトラックボリュームVtrを設
定することができる。
【0144】MIDIチャンネルの数だけボリューム操
作子61を表示させると、数が多すぎて、却って邪魔に
なる場合がある。その場合には、全てのMIDIチャン
ネルのボリューム操作子61を表示するのではなく、あ
るMIDIチャンネルのMIDIデータを受信したとき
だけ(又は再生しているときだけ)、そのMIDIチャ
ンネルのボリューム操作子を表示するようにしてもよ
い。これにより、余分なボリューム操作子61の表示を
なくすことができ、さらに、以下の効果も生じる。
【0145】すなわち、あるMIDIチャンネルのボリ
ューム操作子61を操作しても、そのMIDIチャンネ
ルのMIDIデータが存在しないために、操作子61に
よる効果が現れないというユーザの混乱を防止すること
ができる。
【0146】次に、ボリューム係数αの別の求め方を示
す。図18(B)は、ボリューム操作子61による第2
の音量制御を説明するための図である。
【0147】ボリューム操作子61の全操作領域を、例
えば4分割し、5つのポイントを設ける。そして、5つ
のポイントにそれぞれ係数α=0,0.25,0.5,
0.75,1を割り当てる。5つのポイントの中で、ボ
リューム操作子61が一番近いポイントを検出し、その
ポイントに対応する係数αが選択されて設定される。例
えば、ボリューム操作子61が一番近いポイントの係数
α=0.75が設定される。
【0148】ボリューム操作子61が一番近いポイント
を検出する方法の例を示す。まず、ボリューム操作子6
1から5つのポイントまでのそれぞれの距離を算出す
る。そして、その5つの距離の中で一番短い距離のポイ
ントを見つける。そのポイントに対応する係数αが設定
される。
【0149】上記の5つのポイントに対応する5つの係
数αを、テーブルに記憶させ、係数αを変更可能にして
もよい。上記の方法により、ボリューム操作子61が一
番近いポイントを検出したら、そのポイントに対応する
係数αをテーブルから読み出し、係数αを決定する。
【0150】係数αをテーブル化することにより、演算
では行いにくいものであっても、操作子位置と係数αと
の対応関係を決めることができる。すなわち、テーブル
により、操作子位置と係数αの対応関係を表す様々なカ
ーブを決めることができる。
【0151】図19は、バランス操作子62による音量
バランス制御を説明するめの図である。図17ではバラ
ンス操作子62を垂直方向に操作可能に示しているが、
説明の便宜上、図19ではバランス操作子62を水平方
向に操作可能なように示す。
【0152】実線で示すMIDIデータ特性線71は、
バランス操作子62の操作位置とMIDIデータの音量
係数βとの関係を示す。破線で示すオーディオデータ特
性線72は、バランス操作子62の操作位置とオーディ
オデータの音量係数βとの関係を示す。音量係数βは、
音量の大きさに対応する。
【0153】バランス操作子62を操作可能範囲の中間
位置aに移動させると、MIDIデータの音量係数βが
1、オーディオデータの音量係数βも1に設定される。
すなわち、MIDIデータの音量とオーディオデータの
音量の相対バランスが等しく設定される。
【0154】バランス操作子62を中間位置aよりも左
に移動させると、MIDIデータの音量係数β=1は変
化せず、オーディオデータの音量係数βが小さくなる。
すなわち、MIDIデータの音量がオーディオデータの
音量よりも相対的に大きくなる。
【0155】逆に、バランス操作子62を中間位置aよ
りも右に移動させると、オーディオデータの音量係数β
=1は変化せず、MIDIデータの音量係数βが小さく
なる。すなわち、オーディオデータの音量がMIDIデ
ータの音量よりも相対的に大きくなる。
【0156】例えば、バランス操作子62を操作位置b
に移動させると、オーディオデータの係数βは1とな
り、MIDIデータの係数βは0.6になる。
【0157】次に、MIDIデータの音量バランス制御
方法を説明する。実際のMIDIデータのボリュームV
tr2は、上記のトラックボリュームVtr1にバラン
ス係数βを乗じた値とする。
【0158】
【0159】次に、オーディオデータの音量バランス制
御方法を説明する。実際のオーディオデータのボリュー
ムVau2は、上記のボリュームVau1にバランス係
数βを乗じた値とする。
【0160】
【0161】MIDIデータとオーディオデータは、デ
ータ生成方法が異なるので、両者の音量バランスがとれ
ていないことがある。バランス操作子62を用いて両者
の音量バランスをとることができるので、ユーザは、自
己の好みに応じた音量バランスで、MIDIデータとオ
ーディオデータの同時再生を行うことができる。
【0162】バランス係数βは、ボリューム係数αの場
合と同様に、図18(A)に示す方法で求めてもよい
し、図18(B)に示す方法で求めてもよい。
【0163】図20は、係数α又はβの第1の決定処理
を示すフローチャートである。この処理は、図18
(A)に示した方法に対応する処理である。
【0164】ステップSJ1では、ボリューム操作子6
1又はバランス操作子62の変化を検出したか否かをチ
ェックする。変化を検出したときにはステップSJ2へ
進み、変化を検出しないときには何もせずに処理を終了
する。
【0165】ステップSJ2では、ボリューム操作子6
1又はバランス操作子62の位置から基準点(例えば最
下位置)までの距離xを取得する。
【0166】ステップSJ3では、ボリューム操作子6
1又はバランス操作子62の全範囲の距離yと基準点ま
での距離xとの比x/yを取得する。ステップSJ4で
は、求めた比x/yを係数αとして設定し、又は求めた
比x/yを基にMIDIデータ及びオーディオデータの
係数βを設定し、記憶する。その後、処理を終了する。
【0167】図21は、係数α又はβの第2の決定処理
を示すフローチャートである。この処理は、図18
(B)に示した方法に対応する処理である。
【0168】ステップSK1では、ボリューム操作子6
1又はバランス操作子62の変化を検出したか否かをチ
ェックする。変化を検出したときにはステップSK2へ
進み、変化を検出しないときには何もせずに処理を終了
する。
【0169】ステップSK2では、ボリューム操作子6
1又はバランス操作子62の位置を検出する。
【0170】ステップSK3では、予め決められた規定
位置(例えば5ポイント)の中で操作子61又は62の
最寄りのポイント位置を検出する。すなわち、規定位置
から操作子61又は62までの距離が最短のポイント位
置を採用する。
【0171】ステップSK4では、採用したポイント位
置に規定されている係数α又はβをテーブルから読み出
し、記憶部(例えば図3のRAM24)に記憶する。そ
の後、処理を終了する。
【0172】図22は、MIDIデータの音量制御を行
うための機能ブロック図である。トラックボリュームV
trは、上記のように、受信したコントロールチェンジ
メッセージに対応する値である。乗算器85は、トラッ
クボリュームVtrにボリューム係数αを乗じて、新た
なトラックボリュームVtr1を生成する。
【0173】Vtr1=Vtr×α 乗算器84は、トラックボリュームVtr1にバランス
係数βを乗じて、新たなトラックボリュームVtr2を
生成する。
【0174】Vtr2=Vtr1×β 音量パラメータPR1は、上記のトラックボリュームと
は別の音量パラメータであり、例えば、ベロシティやエ
クスプレッション等であり、音量演算器81に入力され
る。音量演算器81は、音量パラメータPR1を基に演
算を行い、その演算結果としてパラメータPR2を出力
する。
【0175】乗算器83は、トラックボリュームVtr
2にパラメータPR2を乗じて、新たなトラックボリュ
ームVtr3を生成する。
【0176】Vtr3=Vtr2×PR2 音源LSI86には、トラックボリュームVtr3及び
パラメータPR3が入力される。パラメータPR3は、
音量パラメータ以外のパラメータであり、例えば音高情
報や音色情報等である。音源LSI86は、トラックボ
リュームVtr3に応じて楽音信号の音量を制御する。
【0177】音源LSI86は、MIDIチャンネル毎
に制御を行うことが可能である。全チャンネルを統一し
て音量制御してもよいし、MIDIチャンネル毎に個別
に音量制御を行ってもよい。
【0178】なお、音源LSI86を他の音源に代える
ことができる。音源は、専用のハードウェアを用いて構
成するものに限らず、DSP+マイクロプログラムを用
いて構成してもよいし、CPU+ソフトウェアのプログ
ラム(ソフト音源)で構成するようにしてもよい。
【0179】図23は、ホームコンピュータのRAM2
4(図3)に記憶されるパラメータ87を示す。
【0180】パラメータ87は、MIDIチャンネル
(音源パート)毎に同種類のパラメータを有する。例え
ば、第1チャンネルのパラメータ87a及び第2チャン
ネルのパラメータ87b等を有する。
【0181】各チャンネルのパラメータは、トラックボ
リュームVtr、ボリューム係数α、バランス係数β、
音量パラメータの演算結果PR2、音量パラメータPR
1、パラメータPR3を有する。
【0182】1つのボリューム操作子61及び1つのバ
ランス操作子62により全MIDIチャンネルの音量を
制御する場合には、全チャンネルのボリューム係数α及
びバランス係数βは同じになる。MIDIチャンネル毎
に操作子61又は62を設ければ、MIDIチャンネル
毎に異なる係数α又はβを設定することできる。
【0183】図24は、上記のMIDIデータの音量制
御処理を示すフローチャートである。
【0184】音量制御は、2つのイベント発生のうちの
いずれのイベント発生によっても行われる。第1のイベ
ント発生は、演奏会場からMIDIデータを受信した場
合であり、ステップSL1の処理から始まる。第2のイ
ベント発生は、ボリューム操作子61又はバランス操作
子62を操作した場合であり、ステップSL10の処理
から始まる。
【0185】まず、MIDIデータを受信した場合を説
明する。ステップSL1では、再生バッファよりMID
Iデータを読み出す。
【0186】ステップSL2では、受信したMIDIデ
ータがトラックボリューム(コントロールチェンジメッ
セージ)であるか否かをチェックする。トラックボリュ
ームであれば、yesの矢印に従い、ステップSL4へ
進み、トラックボリュームでなければ、noの矢印に従
い、ステップSL3へ進む。
【0187】ステップSL4では、検出されたトラック
ボリュームVtrを、対応するMIDIチャンネル(音
源パート)別の領域87(図23)に格納する。
【0188】ステップSL5では、決定された係数α及
びβをパート別領域87から読み出し、トラックボリュ
ームVtrに掛け算し、新たなトラックボリュームVt
r2を算出する。
【0189】Vtr2=Vtr×α×β ステップSL6では、パート別領域87から他の音量パ
ラメータPR1を読み出し、それらを基に演算を行い、
パラメータPR2を求める。次に、そのパラメータPR
2をトラックボリュームVtr2に掛け算し、トラック
ボリュームVtr3を求める。
【0190】Vtr3=Vtr2×PR2 ステップSL7では、上記のトラックボリュームVtr
3を音源LSI86(図22)用のフォーマットに変換
し、音源LSI86に書き込む。音源LSI86は、ト
ラックボリュームVtr3に応じて音量を制御する。そ
の後、処理を終了する。
【0191】上記のステップSL3では、受信したMI
DIデータが他の音量パラメータPR1であるか否かを
チェックする。音量パラメータPR1であれば、yes
の矢印に従い、ステップSL8へ進み、音量パラメータ
PR1でなければ、noの矢印に従い、音量制御をせず
に処理を終了する。
【0192】ステップSL8では、パート別領域87か
ら他の音量パラメータPR1を読み出す。すなわち、音
量パラメータPR1が複数ある場合において、そのうち
の1つのみを受信した場合には、それ以外の音量パラメ
ータPR1をパート別領域87から読み出す。
【0193】次に、全ての音量パラメータPR1を基に
演算を行い、演算結果のパラメータPR2を求める。続
いて、そのパラメータPR2を当該領域87に格納す
る。
【0194】ステップSL9では、パート別領域87か
らトラックボリュームVtr、ボリューム係数α、バラ
ンス係数β、演算結果のパラメータPR2を読み出し、
それらを掛け算し、トラックボリュームVTR3を求め
る。
【0195】Vtr3=Vtr×α×β×PR2 その後、ステップSL7へ進み、上記と同様に、トラッ
クボリュームVtr3をフォーマット変換して音源LS
I86に書き込み、処理を終了する。
【0196】次に、ユーザがボリューム操作子61又は
バランス操作子62を操作した場合を説明する。
【0197】ステップSL10では、ボリューム操作子
61又はバランス操作子62の変化を検出したか否かを
チェックする。変化を検出したときには、ステップSL
11へ進み、変化を検出しないときには、音量制御を行
わずに処理を終了する。
【0198】ステップSL11では、係数決定処理(図
20又は図21)によりボリューム係数α又はバランス
係数βを決定し、パート別領域87に記憶する。
【0199】ステップSL12では、パート毎に音量制
御を行う場合には、パート毎に他の音量パラメータPR
1を読み出し、それらの演算を行い、パート毎の演算結
果パラメータPR2を求める。全パートを一括して音量
制御する場合には、全パート共通の演算結果パラメータ
PR2を求める。
【0200】次に、パート別領域87からトラックボリ
ュームVtr、ボリューム係数α、バランス係数βを読
み出し、それらをパラメータPR2に掛け算し、トラッ
クボリュームVtr3を求める。
【0201】Vtr3=Vtr×α×β×PR2 その後、ステップSL7へ進み、上記と同様に、トラッ
クボリュームVtr3をフォーマット変換して音源LS
I86に書き込み、処理を終了する。
【0202】図25は、オーディオデータの音量制御を
行うための機能ブロック図である。D/Aコンバータ9
1には、演奏会場から受信したデジタル形式のオーディ
オデータが入力される。D/Aコンバータ91は、オー
ディオデータをデジタル形式からアナログ形式に変換す
る。フィルタ92は、例えばローパスフィルタであり、
アナログ形式のオーディオデータに対してフィルタ処理
を行う。
【0203】アンプ93は、ボリューム係数α及びバラ
ンス係数βに応じて、フィルタ処理されたオーディオデ
ータに対して音量制御を行う。アンプ93の最大ボリュ
ームをボリュームVauとすると、アンプ93は、オー
ディオデータを次式によるボリュームVau2に制御し
て出力する。
【0204】Vau2=Vau×α×β D/Aコンバータ91、フィルタ92及びアンプ93
は、コーデック回路27b(図3)で代用することがで
きる。アンプ93の音量制御は、デジタル制御が可能で
あり、アンプ93のパラメータを指定するだけでよい。
【0205】なお、ホームコンピュータのオペレーティ
ングシステム(OS)としてWindowsを使用する
場合には、コントロールパネルで音量指定することがで
きる。この場合は、コントロールパネルによる音量制御
と同等の処理により、アンプ93の音量制御を行うよう
にしてもよい。
【0206】音声出力装置94は、例えばスピーカであ
り、音量制御されたオーディオデータを基に発音する。
【0207】図26は、上記のオーディオデータの音量
制御処理を示すフローチャートである。
【0208】ステップSM1では、ボリューム操作子6
1又はバランス操作子62の変化を検出したか否かをチ
ェックする。変化を検出したときには、ステップSM2
へ進み、変化を検出しないときには、音量制御を行わず
に処理を終了する。
【0209】ステップSM2では、係数決定処理(図2
0又は図21)によりボリューム係数α又はバランス係
数βを決定し、記憶装置(例えば図3のRAM24)に
記憶する。
【0210】次に、記憶装置から係数α及びβを読み出
し、ボリュームVau2(=Vau×α×β)を求め
る。そのボリュームVau2をアンプ93(図25)用
にフォーマット変換し、アンプ93の制御部に書き込
む。アンプ93は、係数α及びβに応じて音量制御を行
い、音声出力装置94にオーディオデータを発音させ
る。その後、処理を終了する。
【0211】ユーザは、ボリューム操作子61を操作す
ることにより、MIDIデータ及び/又はオーディオデ
ータの音量を制御することができる。その操作に応じ
て、ボリューム操作子61の位置を変化させて表示すれ
ば、ユーザは音量の大きさを認識することができる。
【0212】また、ユーザは、バランス操作子62を操
作することにより、MIDIデータとオーディオデータ
との音量バランスを制御することができる。その際、一
方のデータの音量を固定し、他方のデータの音量を小さ
くすることにより、音量バランスをとることが好まし
い。この方法によれば、ユーザは聴覚上音量バランスの
変化を確認しやすく、音量バランスの調整が容易にな
る。
【0213】なお、ボリューム操作子61やバランス操
作子62は、音量制御用の操作子であるが、その他の楽
音パラメータを制御するための操作子を設けてもよい。
その場合は、音量に代えて他の楽音パラメータを制御パ
ラメータとして用いればよい。他の楽音パラメータは、
例えば効果パラメータ(イコライザやフィルタ等)であ
る。
【0214】以上実施例に沿って本発明を説明したが、
本発明はこれらに制限されるものではない。例えば、種
々の変更、改良、組み合わせ等が可能なことは当業者に
自明であろう。
【0215】
【発明の効果】以上説明したように、本発明によれば、
第1及び第2の楽音情報の各々と、各楽音情報に付与さ
れた時間情報とを関連付けて送信することにより、上記
の時間情報を基に第1及び第2の楽音情報の同期をとっ
て再生装置に出力することができる。同期をとることに
より、第1及び第2の楽音情報は互いにタイミングがあ
って再生される。
【0216】また、指定された楽音パラメータに応じ
て、MIDIデータ及び音声データを制御して再生を指
示することにより、両データの制御を容易かつ適切に行
うことができる。
【図面の簡単な説明】
【図1】 楽音情報の通信ネットワークを示す図であ
る。
【図2】 送信端であるエンコーダーと受信端であるホ
ームコンピュータの接続を示す図である。
【図3】 エンコーダー及びホームコンピュータのハー
ドウエアの構成を示す図である。
【図4】 図4(A)はエンコーダーのRAMを示し、
図4(B)はホームコンピュータのRAMを示す図であ
る。
【図5】 図5(A)はMIDIデータパケットの構造
を示し、図5(B)は音声データパケットの構造を示す
図である。
【図6】 音声データのタイミングの調整方法を示すタ
イミングチャートである。
【図7】 MIDIデータのタイミングの調整方法を示
す図である。
【図8】 サーバの第1の処理を示すフローチャートで
ある。
【図9】 サーバの第2の処理を示すフローチャートで
ある。
【図10】 クライアントのパケット受信処理を示すフ
ローチャートである。
【図11】 図10のステップSC8におけるMIDI
再生モジュール処理の詳細を示すフローチャートであ
る。
【図12】 割り込み処理を示すフローチャートであ
る。
【図13】 図10のステップSC11における音声再
生モジュール処理の詳細を示すフローチャートである。
【図14】 第1のスケジュラー処理を示すフローチャ
ートである。
【図15】 第2のスケジュラー処理を示すフローチャ
ートである。
【図16】 第3のスケジュラー処理を示すフローチャ
ートである。
【図17】 ボリューム操作子及びバランス操作子を含
む入力画面を示す図である。
【図18】 ボリューム操作子によるボリュームの制御
方法を示す図である。
【図19】 バランス操作子による音量バランスの制御
方法を示す図である。
【図20】 音量係数の第1の決定処理を示すフローチ
ャートである。
【図21】 音量係数の第2の決定処理を示すフローチ
ャートである。
【図22】 MIDIデータの音量制御を行うための機
能ブロック図である。
【図23】 MIDIチャンネル毎に記憶されるパラメ
ータを示す図である。
【図24】 MIDIデータの音量制御処理を示すフロ
ーチャートである。
【図25】 オーディオデータ(音声データ)の音量制
御を行うための機能ブロック図である。
【図26】 オーディオデータ(音声データ)の音量制
御処理を示すフローチャートである。
【符号の説明】
1 演奏会場、 2 MIDI楽器、 3,5 エ
ンコーダー、 4カメラ、 6 ルータ、 7
サーバー、 8 WWWサーバー、 9ホームコン
ピュータ、 10 MIDI音源、 11 音声出
力装置、12 音声入力装置、 21 バス、 2
2 CPU、 23 システムクロック、 24
RAM、 24a MIDIデータ用送信バッファ、
24b 音声データ用送信バッファ、 24c MI
DIデータ用受信バッファ、 24d 音声データ用
受信バッファ、 24e MIDIデータ用再生バッ
ファ、 24f 音声データ用再生バッファ、 2
5 外部記憶装置、 26 MIDIインタフェー
ス、 27 サウンドカード、 27a バッフ
ァ、 27b コーデック回路、 27c クロッ
ク、 28 ROM、 29 表示装置、 30
入力手段、 31 通信インタフェース、 32
通信ネットワーク、 33 コンピュータ、 4
1タイムスタンプ、 42 識別子(ID)、 4
3 パケットサイズ、44 MIDIデータ、 4
5,47 MIDIイベント、 46 デルタタイ
ム、 48 デジタル音声データ、 49 MID
Iデータパケット、50 音声データパケット、 6
1 ボリューム操作子、 62 バランス操作子、
63 再生ボタン、 64 停止ボタン、 6
5 MIDIデータ表示ランプ、 66 オーディオ
データ表示ランプ、 67 その他の操作ボタン、
71 MIDIデータ特性線、 72 オーディオ
データ特性線、 81 音量演算器、 83,8
4,85 乗算器、 86音源LSI、 87 パ
ラメータ、 91 D/Aコンバータ、 92フィ
ルタ、 93 アンプ、 94 音声出力装置
フロントページの続き (56)参考文献 特開 平6−325560(JP,A) 特開 平6−295269(JP,A) 特開 昭62−286095(JP,A) 特開 平8−254985(JP,A) 特公 平4−48237(JP,B2) 特公 平5−2240(JP,B2) 特許2538921(JP,B2) 「MIDI−1.0詳解(改訂版)」 (昭62−1−10)MIDI規格協議会 p.37−38 (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 G06F 13/00 351 - 353 INSPEC(DIALOG) WPI(DIALOG)

Claims (36)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1及び第2の楽音情報及び各楽音情報
    に関連付けられた時間情報を受信する受信手段と、 前記時間情報を基に前記第1及び第2の楽音情報の同期
    をとって再生手段に出力する出力手段であって、第1及
    び第2の楽音情報の間の時間的ずれの有無を定期的に検
    出し、時間的ずれを検出したときには該時間的ずれを修
    正する出力手段とを有する楽音情報の通信装置。
  2. 【請求項2】 前記第1又は第2の楽音情報は音声デー
    タであり、 前記出力手段は、前記第1又は第2の楽音情報の間引き
    又は補間を行うことにより前記時間的ずれを修正する請
    求項1記載の楽音情報の通信装置。
  3. 【請求項3】 前記第1又は第2の楽音情報は複数のM
    IDIイベントと該複数のMIDIイベント間の時間間
    隔情報を含み、 前記出力手段は、前記時間間隔情報を調整することによ
    り前記時間的ずれを修正する請求項1記載の楽音情報の
    通信装置。
  4. 【請求項4】 前記第1及び第2の楽音情報は異なる楽
    音情報生成装置により生成された楽音情報である請求項
    1〜3のいずれか1つに記載の楽音情報の通信装置。
  5. 【請求項5】 前記第1の楽音情報はMIDIデータで
    あり、 前記第2の楽音情報は音声データである請求項4記載の
    楽音情報の通信装置。
  6. 【請求項6】 前記受信手段は、第1及び第2の楽音情
    報の各々が楽音パケットに分割され、各楽音パケットに
    時間情報が付与された送信パケットを受信する請求項1
    〜5のいずれか1つに記載の楽音情報の通信装置。
  7. 【請求項7】 前記受信手段はインターネット上から前
    記送信パケットを受信する請求項6記載の楽音情報の通
    信装置。
  8. 【請求項8】 前記出力手段は、前記受信した第1及び
    第2の楽音情報をリアルタイムで再生手段に出力する請
    求項1〜7のいずれか1つに記載の楽音情報の通信装
    置。
  9. 【請求項9】 (a)第1及び第2の楽音情報及び各楽
    音情報に関連付けられた時間情報を受信する工程と、 (b)前記時間情報を基に前記第1及び第2の楽音情報
    の同期をとって再生手段に出力する工程であって、第1
    及び第2の楽音情報の間の時間的ずれの有無を定期的に
    検出し、時間的ずれを検出したときには該時間的ずれを
    修正する工程とを含む楽音情報の通信方法。
  10. 【請求項10】 前記第1又は第2の楽音情報は音声デ
    ータであり、 前記工程(b)は、前記第1又は第2の楽音情報の間引
    き又は補間を行うことにより前記時間的ずれを修正する
    請求項9記載の楽音情報の通信方法。
  11. 【請求項11】 前記第1又は第2の楽音情報は複数の
    MIDIイベントと該複数のMIDIイベント間の時間
    間隔情報を含み、 前記工程(b)は、前記時間間隔情報を調整することに
    より前記時間的ずれを修正する請求項9記載の楽音情報
    の通信方法。
  12. 【請求項12】 前記第1及び第2の楽音情報は異なる
    楽音情報生成装置により生成された楽音情報である請求
    項9〜11のいずれか1つに記載の楽音情報の通信方
    法。
  13. 【請求項13】 前記第1の楽音情報はMIDIデータ
    であり、 前記第2の楽音情報は音声データである請求項12記載
    の楽音情報の通信方法。
  14. 【請求項14】 前記工程(a)は、第1及び第2の楽
    音情報の各々が楽音パケットに分割され、各楽音パケッ
    トに時間情報が付与された送信パケットを受信する請求
    項9〜13のいずれか1つに記載の楽音情報の通信方
    法。
  15. 【請求項15】 前記工程(a)はインターネット上か
    ら前記送信パケットを受信する請求項14記載の楽音情
    報の通信方法。
  16. 【請求項16】 前記工程(b)は、前記受信した第1
    及び第2の楽音情報をリアルタイムで再生手段に出力す
    る請求項9〜15のいずれか1つに記載の楽音情報の通
    信方法。
  17. 【請求項17】 (a)第1及び第2の楽音情報及び各
    楽音情報に関連付けられた時間情報を受信する手順と、 (b)前記時間情報を基に前記第1及び第2の楽音情報
    の同期をとって再生手段に出力する手順であって、第1
    及び第2の楽音情報の間の時間的ずれの有無を定期的に
    検出し、時間的ずれを検出したときには該時間的ずれを
    修正する手順とをコンピュータに実行させるためのプロ
    グラムを記録した媒体。
  18. 【請求項18】 前記第1又は第2の楽音情報は音声デ
    ータであり、 前記手順(b)は、前記第1又は第2の楽音情報の間引
    き又は補間を行うことにより前記時間的ずれを修正する
    請求項17記載のプログラムを記録した媒体。
  19. 【請求項19】 前記第1又は第2の楽音情報は複数の
    MIDIイベントと該複数のMIDIイベント間の時間
    間隔情報を含み、 前記手順(b)は、前記時間間隔情報を調整することに
    より前記時間的ずれを修正する請求項17記載のプログ
    ラムを記録した媒体。
  20. 【請求項20】 前記第1及び第2の楽音情報は異なる
    楽音情報生成装置により生成された楽音情報である請求
    項17〜19のいずれか1つに記載のプログラムを記録
    した媒体。
  21. 【請求項21】 前記第1の楽音情報はMIDIデータ
    であり、 前記第2の楽音情報は音声データである請求項20記載
    のプログラムを記録した媒体。
  22. 【請求項22】 前記手順(a)は、第1及び第2の楽
    音情報の各々が楽音パケットに分割され、各楽音パケッ
    トに時間情報が付与された送信パケットを受信する請求
    項17〜21のいずれか1つに記載のプログラムを記録
    した媒体。
  23. 【請求項23】 前記手順(a)はインターネット上か
    ら前記送信パケットを受信する請求項22記載のプログ
    ラムを記録した媒体。
  24. 【請求項24】 前記手順(b)は、前記受信した第1
    及び第2の楽音情報をリアルタイムで再生手段に出力す
    る請求項17〜23のいずれか1つに記載のプログラム
    を記録した媒体。
  25. 【請求項25】 さらに前記再生手段を含み、前記再生
    手段は、 楽音パラメータを指定する指定部と、 前記指定部により指定される楽音パラメータに応じてM
    IDIデータ及び音声データを制御する制御部と、 前記制御部により制御されるMIDIデータ及び音声デ
    ータの再生を指示する再生指示部とを有する請求項1記
    載の楽音情報の通信装置。
  26. 【請求項26】 前記制御部は、前記指定部により指定
    される1つの楽音パラメータに応じてMIDIデータ及
    び音声データの両方を制御する請求項25記載の楽音情
    報の通信装置。
  27. 【請求項27】 前記指定部は、MIDIデータの楽音
    パラメータと音声データの楽音パラメータを個別に指定
    する部であり、 前記制御部は、前記指定部により指定されるMIDIデ
    ータの楽音パラメータ及び音声データの楽音パラメータ
    に応じてMIDIデータ及び音声データを個別に制御す
    る請求項25記載の楽音情報の通信装置。
  28. 【請求項28】 さらに、前記指定部により指定された
    楽音パラメータを表示する表示部を有する請求項25〜
    27のいずれか1つに記載の楽音情報の通信装置。
  29. 【請求項29】 さらに前記再生手段により再生する再
    生工程を有し、 前記再生工程は (c)楽音パラメータを指定する工程と、 (d)前記指定された楽音パラメータに応じてMIDI
    データ及び音声データを制御する工程と、 (e)前記制御されたMIDIデータ及び音声データの
    再生を指示する工程とを有する楽音情報制御方法である
    請求項9記載の楽音情報の通信方法。
  30. 【請求項30】 前記工程(d)は、前記工程(c)で
    指定された1つの楽音パラメータに応じてMIDIデー
    タ及び音声データの両方を制御する請求項29記載の楽
    音情報の通信方法。
  31. 【請求項31】 前記工程(c)は、MIDIデータの
    楽音パラメータと音声データの楽音パラメータを個別に
    指定する工程であり、 前記工程(d)は、前記指定されたMIDIデータの楽
    音パラメータ及び音声データの楽音パラメータに応じて
    MIDIデータ及び音声データを個別に制御する請求項
    29記載の楽音情報の通信方法。
  32. 【請求項32】 さらに、(f)前記工程(c)で指定
    された楽音パラメータを表示する工程を有する請求項2
    9〜31のいずれか1つに記載の楽音情報の通信方法。
  33. 【請求項33】 さらに前記再生手段により再生する再
    生手順を有し、 前記再生手順は、 (c)楽音パラメータを指定する手順と、 (d)前記指定された楽音パラメータに応じてMIDI
    データ及び音声データを制御する手順と、 (e)前記制御されたMIDIデータ及び音声データの
    再生を指示する手順とを有する再生手順をコンピュータ
    に実行させるためのプログラムである請求項17記載の
    プログラムを記録した媒体。
  34. 【請求項34】 前記手順(d)は、前記手順(c)で
    指定された1つの楽音パラメータに応じてMIDIデー
    タ及び音声データの両方を制御する請求項33記載のプ
    ログラムを記録した媒体。
  35. 【請求項35】 前記手順(c)は、MIDIデータの
    楽音パラメータと音声データの楽音パラメータを個別に
    指定する手順であり、 前記手順(d)は、前記指定されたMIDIデータの楽
    音パラメータ及び音声データの楽音パラメータに応じて
    MIDIデータ及び音声データを個別に制御する請求項
    33記載のプログラムを記録した媒体。
  36. 【請求項36】 さらに、(f)前記手順(c)で指定
    された楽音パラメータを表示する手順を有する請求項3
    3〜35のいずれか1つに記載のプログラムを記録した
    媒体。
JP05843898A 1997-10-22 1998-03-10 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体 Expired - Fee Related JP3196715B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP05843898A JP3196715B2 (ja) 1997-10-22 1998-03-10 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体
US09/174,642 US6143973A (en) 1997-10-22 1998-10-19 Process techniques for plurality kind of musical tone information

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-290093 1997-10-22
JP29009397 1997-10-22
JP05843898A JP3196715B2 (ja) 1997-10-22 1998-03-10 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体

Publications (2)

Publication Number Publication Date
JPH11190993A JPH11190993A (ja) 1999-07-13
JP3196715B2 true JP3196715B2 (ja) 2001-08-06

Family

ID=26399499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05843898A Expired - Fee Related JP3196715B2 (ja) 1997-10-22 1998-03-10 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体

Country Status (2)

Country Link
US (1) US6143973A (ja)
JP (1) JP3196715B2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909728B1 (en) * 1998-06-15 2005-06-21 Yamaha Corporation Synchronous communication
US6462264B1 (en) * 1999-07-26 2002-10-08 Carl Elam Method and apparatus for audio broadcast of enhanced musical instrument digital interface (MIDI) data formats for control of a sound generator to create music, lyrics, and speech
US7176372B2 (en) * 1999-10-19 2007-02-13 Medialab Solutions Llc Interactive digital music recorder and player
US9818386B2 (en) 1999-10-19 2017-11-14 Medialab Solutions Corp. Interactive digital music recorder and player
US7078609B2 (en) * 1999-10-19 2006-07-18 Medialab Solutions Llc Interactive digital music recorder and player
US6945784B2 (en) * 2000-03-22 2005-09-20 Namco Holding Corporation Generating a musical part from an electronic music file
US6646195B1 (en) * 2000-04-12 2003-11-11 Microsoft Corporation Kernel-mode audio processing modules
US6961631B1 (en) * 2000-04-12 2005-11-01 Microsoft Corporation Extensible kernel-mode audio processing architecture
JP3552667B2 (ja) 2000-12-19 2004-08-11 ヤマハ株式会社 通信システム及び通信プログラムを記録した記録媒体
JP4423790B2 (ja) 2001-01-11 2010-03-03 ソニー株式会社 実演システム、ネットワークを介した実演方法
JP4403658B2 (ja) * 2001-01-18 2010-01-27 ヤマハ株式会社 楽曲データ出力装置及び楽曲データ出力方法
JP3804536B2 (ja) * 2002-01-16 2006-08-02 ヤマハ株式会社 楽音再生記録装置、記録装置及び記録方法
US6737571B2 (en) 2001-11-30 2004-05-18 Yamaha Corporation Music recorder and music player for ensemble on the basis of different sorts of music data
US7076035B2 (en) * 2002-01-04 2006-07-11 Medialab Solutions Llc Methods for providing on-hold music using auto-composition
EP1326228B1 (en) 2002-01-04 2016-03-23 MediaLab Solutions LLC Systems and methods for creating, modifying, interacting with and playing musical compositions
JP3852348B2 (ja) 2002-03-06 2006-11-29 ヤマハ株式会社 再生及び送信切替装置及びプログラム
JP4110807B2 (ja) * 2002-03-15 2008-07-02 ヤマハ株式会社 同期調整装置および同期調整方法を実現するためのプログラム
JP3823855B2 (ja) * 2002-03-18 2006-09-20 ヤマハ株式会社 記録装置、再生装置、記録方法、再生方法及び同期再生システム
JP3846344B2 (ja) * 2002-03-25 2006-11-15 ヤマハ株式会社 セッション装置およびその制御方法を実現するためのプログラム
JP3835324B2 (ja) * 2002-03-25 2006-10-18 ヤマハ株式会社 楽曲再生装置
JP3894062B2 (ja) * 2002-07-11 2007-03-14 ヤマハ株式会社 楽曲データ配信装置、楽曲データ受信装置及びプログラム
US7928310B2 (en) * 2002-11-12 2011-04-19 MediaLab Solutions Inc. Systems and methods for portable audio synthesis
US9065931B2 (en) * 2002-11-12 2015-06-23 Medialab Solutions Corp. Systems and methods for portable audio synthesis
US7169996B2 (en) 2002-11-12 2007-01-30 Medialab Solutions Llc Systems and methods for generating music using data/music data file transmitted/received via a network
US20040094020A1 (en) * 2002-11-20 2004-05-20 Nokia Corporation Method and system for streaming human voice and instrumental sounds
JP4001091B2 (ja) * 2003-09-11 2007-10-31 ヤマハ株式会社 演奏システム及び楽音映像再生装置
US7288712B2 (en) * 2004-01-09 2007-10-30 Yamaha Corporation Music station for producing visual images synchronously with music data codes
JP2006119320A (ja) * 2004-10-21 2006-05-11 Yamaha Corp 電子音楽装置システム、サーバ側電子音楽装置およびクライアント側電子音楽装置
US7297858B2 (en) * 2004-11-30 2007-11-20 Andreas Paepcke MIDIWan: a system to enable geographically remote musicians to collaborate
IL165817A0 (en) * 2004-12-16 2006-01-15 Samsung Electronics U K Ltd Electronic music on hand portable and communication enabled devices
WO2006078597A2 (en) * 2005-01-18 2006-07-27 Haeker Eric P Method and apparatus for generating visual images based on musical compositions
JP2006215460A (ja) * 2005-02-07 2006-08-17 Faith Inc カラオケ音声送受信システムおよびその方法
JP4321476B2 (ja) * 2005-03-31 2009-08-26 ヤマハ株式会社 電子楽器
KR100689849B1 (ko) * 2005-10-05 2007-03-08 삼성전자주식회사 원격조정제어장치, 영상처리장치, 이를 포함하는 영상시스템 및 그 제어방법
WO2007053687A2 (en) * 2005-11-01 2007-05-10 Vesco Oil Corporation Audio-visual point-of-sale presentation system and method directed toward vehicle occupant
JP4757704B2 (ja) * 2006-05-01 2011-08-24 任天堂株式会社 音楽再生プログラム、音楽再生装置、音楽再生方法及び音楽再生システム
JP4586787B2 (ja) * 2006-09-29 2010-11-24 ヤマハ株式会社 生演奏カラオケシステム
JP4826508B2 (ja) * 2007-02-27 2011-11-30 ヤマハ株式会社 再生装置および自動演奏装置
US7568505B2 (en) 2007-03-23 2009-08-04 Tokai Rubber Industries, Ltd. Fuel hose
EP2043088A1 (en) * 2007-09-28 2009-04-01 Yamaha Corporation Music performance system for music session and component musical instruments
JP5119932B2 (ja) * 2008-01-11 2013-01-16 ヤマハ株式会社 鍵盤楽器、ピアノおよび自動演奏ピアノ
JP6229576B2 (ja) * 2014-04-03 2017-11-15 ヤマハ株式会社 サンプリング周波数推定装置
WO2018068316A1 (en) 2016-10-14 2018-04-19 Sunland Information Technology Co. , Ltd. Methods and systems for synchronizing midi file with external information
JP6668306B2 (ja) * 2017-10-18 2020-03-18 ヤマハ株式会社 サンプリング周波数推定装置
JP6801687B2 (ja) * 2018-03-30 2020-12-16 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム
US20230186882A1 (en) * 2019-09-10 2023-06-15 Sony Group Corporation Transmission device, transmission method, reception device and reception method
US11900825B2 (en) 2020-12-02 2024-02-13 Joytunes Ltd. Method and apparatus for an adaptive and interactive teaching of playing a musical instrument
US20240054911A2 (en) * 2020-12-02 2024-02-15 Joytunes Ltd. Crowd-based device configuration selection of a music teaching system
US11893898B2 (en) 2020-12-02 2024-02-06 Joytunes Ltd. Method and apparatus for an adaptive and interactive teaching of playing a musical instrument

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2969783B2 (ja) * 1990-05-11 1999-11-02 ヤマハ株式会社 演奏情報送受信装置
JPH0440133A (ja) * 1990-06-06 1992-02-10 Yamaha Corp リング型lan
JP3206619B2 (ja) * 1993-04-23 2001-09-10 ヤマハ株式会社 カラオケ装置
JP3248792B2 (ja) * 1993-08-26 2002-01-21 ヤマハ株式会社 カラオケネットワークシステムおよびカラオケ端末装置
US5737531A (en) * 1995-06-27 1998-04-07 International Business Machines Corporation System for synchronizing by transmitting control packet to omit blocks from transmission, and transmitting second control packet when the timing difference exceeds second predetermined threshold
US5928330A (en) * 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US5883957A (en) * 1996-09-20 1999-03-16 Laboratory Technologies Corporation Methods and apparatus for encrypting and decrypting MIDI files
US5734119A (en) * 1996-12-19 1998-03-31 Invision Interactive, Inc. Method for streaming transmission of compressed music

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「MIDI−1.0詳解(改訂版)」(昭62−1−10)MIDI規格協議会p.37−38

Also Published As

Publication number Publication date
JPH11190993A (ja) 1999-07-13
US6143973A (en) 2000-11-07

Similar Documents

Publication Publication Date Title
JP3196715B2 (ja) 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体
JP4423790B2 (ja) 実演システム、ネットワークを介した実演方法
EP1126435A2 (en) Real time communication of musical tone information
JP2003255950A (ja) アナログ楽器のディジタルインターフェイス及びこれを備えたアナログ楽器
JPH0744183A (ja) カラオケ演奏装置
JP3358528B2 (ja) 通信装置及び通信方法
US6525253B1 (en) Transmission of musical tone information
JP2002196761A (ja) 楽音演奏装置、方法及び媒体
JP5966531B2 (ja) 通信システム、端末装置、再生制御方法およびプログラム
JPH11284588A (ja) 通信装置、通信方法及びプログラムを記録した媒体
JP2002091443A (ja) 自動演奏装置
JP3558749B2 (ja) 通信カラオケ装置
JP2008309928A (ja) カラオケシステム、楽曲配信装置およびプログラム
JP3915517B2 (ja) マルチメディアシステム、再生装置及び再生記録装置
JP3180751B2 (ja) データの通信装置、通信方法、通信システム及びプログラムを記録した媒体
JP4586787B2 (ja) 生演奏カラオケシステム
JP7456215B2 (ja) オーディオインターフェース装置、及び、録音システム
JP5754404B2 (ja) Midi演奏装置
JP5691132B2 (ja) 演奏補助装置
JP3786039B2 (ja) 通信装置及び方法
JP4168391B2 (ja) カラオケ装置、音声処理方法及びプログラム
JP3867579B2 (ja) マルチメディアシステム及び再生装置
JP2017015957A (ja) 演奏記録装置およびプログラム
JP4178641B2 (ja) カラオケ装置
JP2001083969A (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

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

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130608

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140608

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees