JP2005250152A - 配信装置およびプログラム - Google Patents

配信装置およびプログラム Download PDF

Info

Publication number
JP2005250152A
JP2005250152A JP2004060976A JP2004060976A JP2005250152A JP 2005250152 A JP2005250152 A JP 2005250152A JP 2004060976 A JP2004060976 A JP 2004060976A JP 2004060976 A JP2004060976 A JP 2004060976A JP 2005250152 A JP2005250152 A JP 2005250152A
Authority
JP
Japan
Prior art keywords
data
terminal
packet
area
stored
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.)
Granted
Application number
JP2004060976A
Other languages
English (en)
Other versions
JP4649851B2 (ja
Inventor
Takeshi Kikuchi
菊池  健
Juichi Sato
寿一 佐藤
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 JP2004060976A priority Critical patent/JP4649851B2/ja
Priority to EP05101531A priority patent/EP1583299B1/en
Priority to DE602005004439T priority patent/DE602005004439T2/de
Priority to AT05101531T priority patent/ATE385105T1/de
Priority to US11/071,760 priority patent/US7792938B2/en
Priority to CNB2005100526855A priority patent/CN100425021C/zh
Publication of JP2005250152A publication Critical patent/JP2005250152A/ja
Application granted granted Critical
Publication of JP4649851B2 publication Critical patent/JP4649851B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 端末の使用者に負担をかけることなく、複数の端末間でデータを共有する。
【解決手段】 配信装置1はCPU11と、RAM12と、予め登録されたメンバーのメンバーIDおよび属性をメンバー毎に登録したメンバーテーブルT1を記憶したハードディスク13と、ネットワーク3に接続された通信部14とを有する。CPU11は、メンバーテーブルT1に登録されているメンバーIDを受信すると、このデータを送信した端末2の通信アドレスを当該メンバーIDに対応付けてメンバーテーブルT1に登録する。また、CPU11は、教材の配信を要求する教材配信コマンドを受信すると、このコマンドを送信した端末2の通信アドレスに対応付けてメンバーテーブルT1に登録されている属性が「教師」であるか否かを判定し、「教師」であれば、教材を、メンバーテーブルT1に通信アドレスが登録されている全ての端末2へ送信する。
【選択図】 図5

Description

本発明は、複数の端末間でデータを共有する技術に関する。
複数の端末が各種のデータをネットワーク経由で共有して楽器演奏の遠隔教習を行うシステムが提案されている。例えば、特許文献1及び特許文献2には、それぞれ、教師の音声や映像等のデータをネットワーク経由で生徒側の端末へ送り、生徒の音声や映像等のデータをネットワーク経由で教師側の端末へ送るシステムが開示されている。また、特許文献2における教師側の端末は、センタに記憶されている教材データを教師の指示に従ってダウンロードし、記憶している教材データを教師の指示に従って生徒側の端末へ送信する。
特開2002−133238号公報 特開2002−323849号公報
ところで、実際の楽器演奏の教習では、教師が、眺めるべき教材(例えば楽譜)を取り出し、取り出した教材を生徒に通知し、生徒が、通知された教材を取り出して眺める。もし、このような作業を簡素化することができれば、教習効率が向上する。しかし、特許文献1には、このような簡素化について何も記載されていない。また、特許文献2に記載のシステムでは、教師は、眺めるべき教材をセンタからダウンロードするために端末を操作し、更に、ダウンロードした教材を生徒へ送信するために再び端末を操作しなければならず、負担が大きい。
本発明は、上述した背景の下になされたものであり、端末の使用者に負担をかけることなく、複数の端末間でデータを共有することができる技術を提供することを目的とする。
本発明は、メンバーを識別するための識別子およびメンバーの属性を示す属性データをメンバー毎に記憶したメンバー記憶手段と、端末から送信されたデータをネットワーク経由で受信する受信手段と、前記メンバー記憶手段に記憶されている識別子が前記受信手段により受信されると、該データを送信した端末の通信アドレスを該識別子に対応付けて前記メンバー記憶手段に書き込む追加手段と、特定のデータの送信を要求するデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバー記憶手段に記憶されている属性が所定の属性であるか否かを判定し、所定の属性であれば、前記特定のデータを前記メンバー記憶手段に通信アドレスが記憶されている全ての端末へ前記ネットワーク経由で送信する静的同報手段とを有する配信装置を提供する。
この装置では、所定の属性のメンバーに使用されている端末が特定のデータの送信を要求するデータを送信すると、このデータを受信手段が受信し、静的同報手段が、この端末を含む予め登録されたメンバーに使用されている全ての端末へ当該データを送信する。
また、上記の装置に、データが書き込まれる共有記憶手段と、前記特定のデータの送信を要求するデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバー記憶手段に記憶されている属性が所定の属性であるか否かを判定し、所定の属性であれば、前記特定のデータを前記共有記憶手段に書き込む静的書き込み手段と、前記メンバー記憶手段に記憶されている識別子が前記受信手段により受信されると、前記共有記憶手段にデータが書き込まれているか否かを判定し、書き込まれている場合には前記共有記憶手段に書き込まれているデータを該識別子に対応付けて前記メンバー記憶手段に通信アドレスが記憶されている端末へ送信する静的追従手段とを追加した態様としてもよいし、他の端末へ送信すべきデータが前記受信手段により受信されると、該データを前記メンバー記憶手段に通信アドレスが記憶されている全ての端末から該データの送信元の端末を除外した端末へ前記ネットワーク経由で送信する動的同報手段と、データが書き込まれる共有記憶手段と、他の端末へ送信すべきデータが前記受信手段により受信されると、該データを前記共有記憶手段に書き込む動的書き込み手段と、前記メンバー記憶手段に記憶されている識別子が前記受信手段により受信されると、前記共有記憶手段にデータが書き込まれているか否かを判定し、書き込まれている場合には前記共有記憶手段に書き込まれているデータを該識別子に対応付けて前記メンバー記憶手段に通信アドレスが記憶されている端末へ前記ネットワーク経由で送信する動的追従手段とを追加した態様としてもよい。
前者の態様であれば、受信手段が、静的同報手段により特定のデータが送信された後に、メンバー記憶手段に記憶されている識別子を受信すると、静的追従手段が、この識別子の送信元の端末へ特定のデータを送信する。後者の態様であれば、受信手段が、動的同報手段によりデータが送信された後に、メンバー記憶手段に記憶されている識別子を受信すると、動的追従手段が、この識別子の送信元の端末へ、動的同報手段により送信されたデータを送信する。
さらに、後者の態様において、前記動的書き込み手段を、他の端末へ送信すべきデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバー記憶手段に記憶されている属性が所定の属性であるか否かを判定し、所定の属性であれば、該データを前記共有記憶手段に書き込むようにしてもよい。
また、本発明は、コンピュータを、端末から送信されたデータをネットワーク経由で受信する受信手段と、メンバーを識別するための識別子およびメンバーの属性を示す属性データがメンバー毎に登録されているメンバーテーブル内の識別子が前記受信手段により受信されると、該識別子を送信した端末の通信アドレスを該識別子に対応付けて前記メンバーテーブルに登録する追加手段と、特定のデータの送信を要求するデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバーテーブルに登録されている属性が所定の属性であるか否かを判定し、所定の属性であれば、前記特定のデータを前記メンバーテーブルに通信アドレスが登録されている全ての端末へ前記ネットワーク経由で送信する静的同報手段として機能させるためのプログラムを提供する。
このプログラムを実行したコンピュータでは、所定の属性のメンバーに使用されている端末が特定のデータの送信を要求するデータを送信すると、このデータを受信手段が受信し、静的同報手段が、この端末を含む予め登録されたメンバーに使用されている全ての端末へ当該データを送信する。
本発明によれば、所定の属性のメンバーに使用されている端末が特定のデータの送信を要求するデータを送信するだけで、この端末を含む予め登録されたメンバーに使用されている全ての端末間で特定のデータが共有される。よって、端末の使用者に負担をかけることなく、複数の端末間でデータを共有することができる。また、特定のデータの共有は所定の属性のメンバーにより主導されるから、教材の共有が教師により主導されるべき教習に用いて好適である。
また、本発明によれば、端末の使用者に負担をかけることなく、通信アドレスが後で対応付けられた端末と先に対応付けられた端末との間で、特定のデータや動的同報手段により送信されるデータを共有することができる。また、本発明によれば、これらの端末間で、所定の属性のメンバーに使用されている端末から送信され動的同報手段により送信されるデータを共有することができる。
以下、図面を参照して、本発明の一実施形態について説明する。
[1:構成]
図1は本実施形態に係る遠隔教習システムの構成を示すブロック図である。
本システムは、楽器演奏の教習を行うための仮想的な教室(以降、単に「教室」と記す)を提供する配信装置1、教室にログインして教習を行う教師Aに使用される教師端末2A、及び教室にログインして教習を行う生徒B〜Dに使用される生徒端末2B〜2Dを有する。配信装置1、教師端末2A、及び生徒端末2B〜2Dはそれぞれコンピュータであり、ネットワーク3に接続されている。ネットワーク3はパケット通信網であり、配信装置1、教師端末2A、及び生徒端末2B〜2Dは、ネットワーク3を用いてパケットを送受信することができる。また、ネットワーク3には、図示を略すが、生徒端末2B〜2DからURL(Uniformed Resource Locator)を受信して当該URL内のドメイン名に応じた通信アドレスを返信するDNS(Domain Name System)サーバが接続されている。
教師Aおよび生徒B〜Dには教室にログインするための所定のURLが予め配布されている。このURLは配信装置1のドメイン名を含んでいる。また、教師Aおよび生徒B〜Dには予め固有のメンバーIDが割り当てられている。メンバーIDは教室にログイン可能なメンバーを識別するための情報であり、教師AにはメンバーID「A」が、生徒B〜DにはメンバーID「B」〜「D」が割り当てられている。以降の説明では、必要に応じて、教師AをメンバーA、生徒BをメンバーB、生徒CをメンバーC、生徒DをメンバーDと呼ぶ。また、以降の説明では、教師端末2A及び生徒端末2B〜2Dの総称として「端末2」を用いる。
教師端末2AにはMIDI楽器41A、マイク42A、スピーカ43A、及びカメラ44Aが接続されている。
MIDI楽器41AはMIDI(Musical Instruments Digital Interface)規格に対応した鍵盤楽器であり、図2に示すように、MIDIキーボード411、MIDI音源412及びスピーカ413を有する。MIDIキーボード411は鍵盤、ペダル、及び他の操作子を有し、これらの操作子がメンバーAにより操作されると、MIDIデータを生成してMIDI音源412へ供給する。
MIDI音源412はMIDIデータに従って楽音信号を生成するとともに、MIDIデータが音色を設定するためのMIDIデータであれば、このMIDIデータに従って音色を設定する。なお、上記の他の操作子はMIDI音源412を設定する際に操作される。また、スピーカ413はMIDI音源412により生成された楽音信号に従って放音する。
また、MIDI楽器41AはMIDIキーボード411により生成されたMIDIデータを教師端末2Aに供給する一方、教師端末2Aから供給されたMIDIデータをMIDI音源412へ供給する。
マイク42AはメンバーAの音声を集音して音声データとして教師端末2Aへ供給する。スピーカ43Aは教師端末2Aから供給された音声データに従って放音する。カメラ44Aは予め定められた時間間隔でメンバーAを撮像してメンバーAの姿を表す画像データを教師端末2Aへ供給する。
マイク42B〜42D、スピーカ43B〜43D、及びカメラ44B〜44Dについても、上記と同様に構成されている。以降の説明では、MIDI楽器41A〜41Dの総称として「MIDI楽器41」を、マイク42A〜42Dの総称として「マイク42」を、スピーカ43A〜43Dの総称として「スピーカ43」を、カメラ44A〜44Dの総称として「カメラ44」を用いる。
[1−1:パケット]
図3はネットワーク3を用いて送受信されるパケットのデータ構造を模式的に示す図である。この図に示すように、パケットは、宛先の装置の通信アドレスを格納するための宛先アドレス領域P1、送信元の装置の通信アドレスを格納するための送信元アドレス領域P2、及び自身が運ぶデータ本体を格納するためのデータ領域P3を有する。データ領域P3には、教材データ、音声データ、画像データ、演奏データ、及びコマンドのいずれかが格納される。
教材データは楽譜等の教材の内容や使用状況を表すデータである。本システムにおいて教習中に配信されるデータには、配信装置1内に予め存在する静的データと、教習中に発生する動的データとがあり、教材データにも、静的データと動的データとがある。
音声データはマイク42から端末2へ供給される音声データであり、メンバーA〜Dの音声を表す。例えば、メンバーAの音声を表す音声データはマイク42Aから教師端末2Aへ供給される音声データである。なお、全ての音声データは動的データである。
画像データはカメラ44から端末2へ供給される画像データであり、メンバーA〜Dの姿を視覚的に表す。例えば、メンバーAの様子を表す画像データはカメラ44Aから教師端末2Aへ供給される画像データである。なお、全ての画像データは動的データである。
演奏データはMIDI楽器41の操作の内容を表すデータである。例えば、MIDI楽器41Aの演奏データはMIDI楽器41Aから教師端末2Aへ供給されるMIDIデータに時刻を表す時刻データを対応付けたデータであり、教師端末2Aにおいてパケットに格納される。なお、全ての演奏データは動的データである。このような演奏データの生成および格納の様子について図4を参照して説明する。
この図では、C3のノートとG3のノートがt1にてオンとなり、t2にてオフとなる。さらにG3のノートがt3にてオンとなり、t4にてオフとなる。本実施形態では予め定められた収集時間(例えば50ms)毎に、収集時間内に生成された演奏データを1つのパケットに格納するようにしており、t1は第1の収集時間内の時刻であり、t2〜t4は第1の収集時間に後続する第2の収集時間内の時刻である。
この図に示す例では、第1の収集時間において1つの演奏データが生成される。この演奏データは、C3のノート及びG3のノートがオンになったことを示すMIDIデータとt1を表す時刻データとが対応付けられたデータである。この演奏データは1つのパケットに格納される。なお、ノートオンを示すMIDIデータには、打鍵強度(ベロシティ)を示すデータも内包されている。
また、第2の収集時間において3つの演奏データが生成される。1つ目の演奏データは、C3のノート及びG3のノートがオフになったことを示すMIDIデータとt2を表す時刻データとが対応付けられたデータである。2つ目の演奏データは、G3のノートがオンになったことを示すMIDIデータとt3を表す時刻データとが対応付けられたデータである。3つ目の演奏データは、G3のノートがオフになったことを示すMIDIデータとt4を表す時刻データとが対応付けられたデータである。これら3つの演奏データは1つのパケットに格納される。
コマンドは配信装置1または端末2により生成される。端末2により生成されるコマンドには、ログインコマンド、教材配信コマンド、モード変更コマンド及びログアウトコマンドがある。配信装置1により生成されるコマンドには、ログイン通知コマンド、共有状況通知コマンド及び画面配信コマンドがある。
ログインコマンドは教室へのログインを要求するためのコマンドであり、URLとメンバーIDとを含む。
教材配信コマンドは教材データの配信を要求するためのコマンドである。
モード変更コマンドは演奏データの配信モードの変更を要求するためのコマンドである。演奏データの配信モードには、生徒端末2B〜2Dからの演奏データを全ての端末2で共有する共有モードと、教師端末2Aのみへ送信する個別モードとがある。
ログアウトコマンドは教室からのログアウトを要求するためのコマンドであり、URLを含む。
ログイン通知コマンドは教室へのログインに成功したことを通知するためのコマンドであり、ログインに成功したメンバーのメンバーIDを含む。
共有状況通知コマンドは教室にログインしているメンバーを通知するためのコマンドである。
画面配信コマンドは後述の教習画面データ132を含むコマンドである。
図3に示すように、データ領域P3はデータ本体を格納するための本体領域P31、データ本体の生成元を示すメンバーIDを格納するための生成元領域P32、及びデータ本体の種別を示す種別データを格納するための種別領域P33に分かれている。例えば、MIDI楽器41Aの操作の内容を表す演奏データを運ぶパケットの本体領域P31には当該演奏データが格納され、生成元領域P32にはメンバーID「A」が格納され、種別領域P33には演奏データである旨の種別データが格納される。
[1−2:配信装置]
図5は配信装置1の構成を示すブロック図である。
この図に示すように、配信装置1は、CPU(中央処理装置)11、RAM(Random Access Memory)12、ハードディスク13、及び通信部14を有する。通信部14はCPU11とネットワーク3との間でパケットを中継する。
ハードディスク13には共有領域131が確保されている。共有領域131とは追従データが書き込まれる領域である。追従データとは共有メンバーに共有されるべき教材データまたはMIDIデータであり、後からログインしたメンバーの環境(端末2の記憶内容やMIDI音源412の設定状態)を先にログインしているメンバーの環境に追従させるために用いられる。共有メンバーとは教室にログインしているメンバーである。なお、以降の説明では、教室にログイン可能なメンバーのうち、共有メンバーでないメンバーを非共有メンバーと呼ぶ。
また、ハードディスク13には、教習画面データ132、楽譜データ133(静的データ)、表示ページデータ134(静的データ)、モードフラグ135、メンバーテーブルT1、及び管理プログラム136が書き込まれている。
教習画面データ132はメンバーA〜Dが眺める教習画面を表すデータである。図6に示すように、教習画面は表示領域R1〜R9を有する。表示領域R1は楽譜の内容の表示に用いられる領域である。表示領域R2は各種のツールの表示に用いられる領域である。各種のツールとしては、教習に必要な教材データをダウンロードする旨の指示を入力するためのボタンや、楽譜のページを捲る旨の指示を入力するためのボタン、楽譜にテキストや図形を書き込むためのボタン等がある。表示領域R3は教師Aの姿の表示に用いられる領域である。表示領域R4〜R7はそれぞれ生徒B〜Dの姿の表示に用いられる領域である。表示領域R8は鍵盤の操作内容の表示に用いられる領域である。表示領域R9はペダルの操作内容の表示に用いられる領域である。
楽譜データ133は楽譜の内容を表す教材データであり、表示ページデータ134は楽譜のページを示す教材データである。
モードフラグ135は演奏データの配信モード(共有モード/個別モード)を示すデータであり、初期状態では共有モードを示している。
メンバーテーブルT1は教習画面の表示領域R3〜R7にメンバーA〜Dを対応付けたテーブルである。この対応付けは、表示領域R3〜R7に固有の領域番号「R3」〜「R7」とメンバーID「A」〜「D」を対応付けることにより為されている。具体的には、図7に示すように、領域番号「R3」にはメンバーID「A」が、領域番号「R4」にはメンバーID「B」が、領域番号「R5」にはメンバーID「C」が、領域番号「R6」にはメンバーID「D」が対応付けられている。
メンバーテーブルT1はメンバーに関する情報も格納する。メンバーに関する情報としては、メンバーID、メンバーの属性(教師/生徒)、メンバーの状態(ログイン/ログアウト)、メンバーが使用している端末2の通信アドレスがある。メンバーテーブルT1の初期値は図7に示す通りであり、例えば、メンバーAに関する情報としては、メンバーID「A」、メンバーAの属性「教師」、及びメンバーAの状態「ログアウト」が格納されている。なお、メンバーA〜Dについて通信アドレスが格納されていないのは、メンバーA〜Dの状態がいずれも「ログアウト」であるためである。
管理プログラム136はCPU11に後述の動作を実行させるためのプログラムである。CPU11は、図示せぬ電源が投入されると、管理プログラム136を読み出して実行する。この際、CPU11のワークエリアとしてRAM12が使用される。CPU11が管理プログラム136を用いて行う動作については後述するが、その流れの一部は図8〜図10に示す通りである。
[1−3:端末]
図11は教師端末2Aの構成を示すブロック図である。
この図に示すように、教師端末2Aは、CPU21、RAM22、ハードディスク23、通信部24、操作部25、ディスプレイ26、MIDIインタフェース27、音声入出力インタフェース28、及びカメラインタフェース29を有する。
通信部24はCPU21とネットワーク3との間でパケットを中継する。
操作部25はメンバーAに操作され、この操作の内容に応じた操作信号をCPU21に供給する。メンバーAは、この操作部25を操作することにより教師端末2Aに各種の指示を入力することができる。CPU21は操作部25からの操作信号を受けてメンバーAが教師端末2Aに入力した指示を特定することができる。
ディスプレイ26はフレームメモリを備え、フレームメモリに書き込まれている画像データを用いて画像を表示する。この表示は予め定められた時間間隔で繰り返し行われる。
MIDIインタフェース27はMIDI楽器41Aとの間でMIDIデータを中継する。
音声入出力インタフェース28は、マイク42Aからの音声データをCPU21へ中継する一方、CPU21からの音声データをスピーカ43Aへ中継する。
カメラインタフェース29はカメラ44Aからの画像データをCPU21へ中継する。
RAM22には、演奏データの送信に用いられる送信領域222、および受信した演奏データを一時的に格納するための即時再生領域221が確保される。即時再生領域221はメンバーAを除いたメンバー(すなわちメンバーB、C及びD)毎に確保される。
ハードディスク23には教材領域231、自ID領域232、画面領域233、対応領域234、及び選択領域235が確保されている。教材領域231は教材データが書き込まれる領域であり、自ID領域232はメンバーAのメンバーID「A」が書き込まれる領域であり、画面領域233は教習画面データ132が書き込まれる領域であり、対応領域234は後述の対応テーブルT2が書き込まれる領域であり、選択領域235は後述の選択テーブルT3が書き込まれる記憶領域である。
対応テーブルT2は、教習画面の表示領域R3〜R7にメンバーA〜Dを対応付けるテーブルであり、図12に例示するように、前述のメンバーテーブルT1と同様のデータを格納する。ただし、図12の対応テーブルT2において、メンバーAの状態は「ログイン」や「ログアウト」ではなく、「自身」となっている。
選択テーブルT3は、表示領域R3〜R7の選択状態を示すデータテーブルであり、図13に例示するように、表示領域R3〜R7の領域番号「R3」〜「R7」と表示領域R3〜R7の選択状態「選択」/「非選択」とを対応付けて格納している。
また、ハードディスク23には、受信した演奏データを最終的に格納するためのMIDI領域237が確保される。MIDI領域237はメンバーAを除いたメンバー(すなわちメンバーB、C及びD)毎に確保される。
また、ハードディスク23には端末プログラム236が書き込まれている。端末プログラム236はCPU21に後述の動作を実行させるためのプログラムである。CPU21は、教師端末2Aに入力された指示が端末プログラム236の実行を開始する旨の指示であれば、端末プログラム236を読み出して実行する。この際、CPU21のワークエリアとしてRAM22が使用される。また、CPU21は、教師端末2Aに入力された指示が教室からログアウトする旨の指示であれば、端末プログラム236の実行を終了する。CPU21が端末プログラム236を用いて行う動作については後述するが、その流れの一部は図14〜図16に示す通りである。
生徒端末2B〜2Dについても、上記と同様に構成されている。
[2:動作]
次に本システムの動作について、図17に示す教習例に沿って説明する。
[2−1:メンバーBのログイン]
まず、メンバーBが生徒端末2Bを用いてログイン作業を開始する。
ログイン作業では、まず、メンバーBが操作部25を用いてURLとメンバーID「B」を送信して教室にログインする旨の指示を生徒端末2Bに入力する。このURLはメンバーBに対して予め配布された所定のURLである。すると、操作部25からCPU21に操作信号が供給され、CPU21は供給された操作信号を受けてメンバーBにより入力された指示を特定する。特定した指示は所定のURLとメンバーID「B」を送信して教室にログインする旨の指示であるから、CPU21は、通信部24およびネットワーク3を介してDNSサーバ(図示略)と通信し、このURL内のドメイン名に応じた通信アドレス(すなわち配信装置1の通信アドレス)を取得してRAM22に書き込む。次に、CPU21はこれらのURL及びメンバーIDを含むログインコマンドを生成し、このログインコマンドを本体領域P31に格納したパケットを生成し、このパケットを配信装置1宛で送信する。このパケットは配信装置1宛のパケットであるから、その宛先アドレス領域P1には配信装置1の通信アドレスが格納されている。また、生徒端末2Bを送信元としたパケットであるから、送信元アドレス領域P2には生徒端末2Bの通信アドレスが格納されている。このパケットは通信部24及びネットワーク3を介して配信装置1に届く。
配信装置1のCPU11は、このパケットを受信し(図8のステップSA1)、このパケットに正当なログインコマンドが格納されているか否かを判定する(ステップSA2)。このパケットの本体領域P31にはログインコマンドが格納されており、このログインコマンド内のURLは所定のURLであり、このログインコマンド内のメンバーID「B」はメンバーテーブルT1に格納されているから、この判定結果は「YES」となる。よって、CPU11はログイン処理を行う(ステップSA3)。
ログイン処理において、CPU11はメンバーBを共有メンバーとする共有処理を行う(図9のステップSB1)。この共有処理では、CPU11はメンバーテーブルT1を更新する。この更新では、メンバーBの状態が「ログアウト」から「ログイン」に変化し、メンバーBが使用している端末2の通信アドレスとして生徒端末2Bの通信アドレスが格納される。この結果、メンバーテーブルT1の内容は図18に示す通りとなる。
さらに、共有処理では、CPU11は第1〜第3のパケットを生成し、これらを生徒端末2B宛で送信する。これらのパケットの種別領域P33にはコマンドである旨の種別データが格納されている。
第1のパケットの本体領域P31にはメンバーID「B」を含むログイン通知コマンドが格納されている。また、第2のパケットの本体領域P31には教習画面データ132を含む画面配信コマンドが格納されている。また、第3のパケットの本体領域P31には、メンバーテーブルT1を含む共有状況通知コマンドが格納されている。この第3のパケットは共有メンバーが使用している端末2宛で送信されるべきものであるが、ここでは、共有メンバーがメンバーBのみであるから、生徒端末2B宛で送信される。
次に、CPU11はメンバーテーブルT1を参照してメンバーBの属性が「教師」であるか否かを判定する(ステップSB2)。メンバーBの属性は「生徒」であるから、この判定結果は「NO」となる。よって、CPU11は追従データが存在するか否かを判定する(ステップSB3)。この時点では、共有領域131にデータは書き込まれていないから、この判定結果は「NO」となる。よって、CPU11はログイン処理を終了する。
生徒端末2BのCPU21は、上記の第1のパケットを受信し、このパケット内のメンバーID「B」を自ID領域232に書き込む。また、上記の第2のパケットを受信し、このパケット内の教習画面データ132を画面領域233に書き込む。また、上記の第3のパケットを受信し、このパケット内のメンバーテーブルT1の内容を変更して対応テーブルT2を生成し、この対応テーブルT2を対応領域234に書き込む。この変更では、メンバーBの状態が「ログイン」から「自身」に変化する。この結果、対応領域234には図19に示す対応テーブルT2が書き込まれる。
さらに、CPU21は対応テーブルT2を参照し、即時再生領域221およびMIDI領域237を状態が「自身」ではないメンバー(すなわちメンバーA、C及びD)毎に確保する。即時再生領域221はRAM22上に確保され、MIDI領域237はハードディスク13上に確保される。また、CPU21は対応テーブルT2を参照して選択テーブルT3を作成し、ハードディスク23上の選択領域235に書き込む。ここでは、状態「ログイン」及び状態「ログアウト」が選択状態「選択」に変更され、状態「自身」が「非選択」に変更される。この結果、選択領域235には図20に示す選択テーブルT3が書き込まれる。
このとき、カメラ44BはメンバーBを撮像してメンバーBの姿を表す画像データを生徒端末2Bへ供給している。CPU21はカメラ44Bからの画像データを受け取り、受け取った画像データ(動的データ)を本体領域P31に含むパケットを生成し、生成したパケットを配信装置1宛で送信する。送信されるパケットの種別領域P33には画像データである旨の種別データが格納されている。
また、マイク42BはメンバーBの音声を集音して音声データとして生徒端末2Bへ供給している。CPU21はマイク42Bから音声データを受け取り、受け取った音声データ(動的データ)を本体領域P31に含むパケットを生成し、生成したパケットを配信装置1宛で送信する。送信されるパケットの種別領域P33には音声データである旨の種別データが格納されている。
これらのパケットの生成元領域P32にはメンバーID「B」が格納されている。
また、CPU21は送信領域222をRAM22上に確保し、図14に示すMIDI送信処理を開始する。MIDI送信処理において、CPU21は送信領域222の記憶内容をクリアし(ステップSC1)、予め定められた収集時間後にタイムアウトする送信用タイマをセットするが、この時点では、MIDI楽器41Bが操作されていないから、送信領域222にデータが書き込まれることなく送信用タイマがタイムアウトする(ステップSC2:NO、SC3:NO、SC2:NO、…、SC2:YES)。よって、CPU21は演奏データを格納したパケットを送信することなく、タイムアウトした送信用タイマを再セットする処理を繰り返す(ステップSC4:NO、SC1、…)。
配信装置1のCPU11は、生徒端末2Bからのパケットを受信し、正当なログインコマンドが格納されているか否かを判定する(ステップSA1、SA2)。この時点で受信されるパケットは、本体領域P31に画像データ又は音声データを格納したパケットである。したがって、この判定結果は「NO」となる。よって、CPU11はメンバーテーブルT1を参照し、受信したパケットの生成元領域P32内のメンバーID「B」のメンバー(すなわちメンバーB)が共有メンバーであるか否かを判定する(ステップSA4)。メンバーBは共有メンバーであるから、この判定結果は「YES」となる。よって、CPU11はパケット処理を行う(ステップSA5)。
受信したパケットの種別領域P33には画像データ又は音声データである旨の種別データが格納されているから、パケット処理では、CPU11は、当該パケットのデータ領域P3に格納されているデータを抽出し、このデータをデータ領域P3に格納したパケットを生成し、このパケットを、メンバーBを除く全ての共有メンバーの端末2へ送信しようとする(図10のステップSD1:NO、SD2:NO、SD3:NO、SD4)。しかし、この時点での共有メンバーはメンバーBのみであり、宛先となる端末2は存在しないから、CPU11はパケットを送信しない。つまり、生徒端末2Bからの画像データ及び音声データは配信装置1において破棄される。
また、この時点では、生徒端末2Bに他の端末2からのデータが供給されることはないから、生徒端末2BのCPU21は、カメラ44Bからの画像データ、画面領域233内の教習画面データ132、対応領域234内の対応テーブルT2、及び選択領域235内の選択テーブルT3を用いて、教習画面を表す画像データを生成し、生成した画像データをディスプレイ26のフレームメモリに書き込む。この結果、ディスプレイ26には、図21に示す教習画面が表示される。この教習画面において、選択テーブルT3により選択されている表示領域R3及びR5〜R7は太枠で強調されており、対応テーブルT2により状態「自身」が対応付けられた表示領域R4内にはカメラ44Bからの画像データで表される画像(すなわちメンバーBの姿)が表示されている。
[2−2:メンバーAのログイン]
図17の教習例では、次に、メンバーAが教師端末2Aを用いてログイン作業を行う。このログイン作業では、メンバーAは操作部25を用いて所定のURLとメンバーID「A」を送信して教室にログインする旨の指示を教師端末2Aに入力する。この結果、教師端末2AのCPU21は、所定のURLとメンバーID「A」を含むログインコマンドを生成し、このログインコマンドを本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信する。
配信装置1のCPU11は、このパケットを受信してログイン処理を行う(ステップSA1、SA2:YES、SA3)。メンバーAの属性は「教師」であるから、このログイン処理では追従データの有無は判定されない(ステップSB2:YES)。このログイン処理の結果、配信装置1では、メンバーAが共有メンバーとなり、メンバーテーブルT1が更新される。更新後のメンバーテーブルT1には、メンバーAの状態として「ログイン」が登録され、メンバーAが使用している端末2の通信アドレスとして教師端末2Aの通信アドレスが登録されている。
また、上記のログイン処理の結果、教師端末2Aでは、自ID領域232にメンバーID「A」が書き込まれ、対応領域234に対応テーブルT2が書き込まれ、選択領域235に選択テーブルT3が書き込まれる。この対応テーブルT2において状態「自身」が対応付けられているのはメンバーAであり、この選択テーブルT3において選択状態「非選択」が対応付けられているのは表示領域R3である。
また、上記のログイン処理において、メンバーAが共有メンバーとなるから、前述の第3のパケットと同様のパケットが教師端末2Aのみならず、生徒端末2Bにも届く。生徒端末2BのCPU21は、このパケットを受信し、このパケット内のメンバーテーブルT1を用いて対応テーブルT2を生成し、この対応テーブルT2を対応領域234に上書きする。つまり、生徒端末2Bの対応テーブルT2が更新される。更新後の対応テーブルT2が更新前のテーブルから変化した点は、メンバーAの状態が「ログアウト」から「ログイン」に変わった点のみである。
また、上記のログイン処理の結果、教師端末2Aでは、画面領域233に教習画面データ132が書き込まれる。
これに並行して、教師端末2AのCPU21は、カメラ44Aからの画像データを本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信するとともに、マイク42Aからの音声データを本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信する。また、生徒端末2BのCPU21は、カメラ44Bからの画像データを本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信するとともに、マイク42Bからの音声データを本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信する。
配信装置1のCPU11は、教師端末2Aからのパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。この時点で受信されるパケットは、種別領域P33に音声データ又は画像データである旨の種別データを格納したパケットであるから、パケット処理では、CPU11は、受信したパケットのデータ領域P3に格納されているデータを抽出し、このデータをデータ領域P3に格納したパケットを生成し、このパケットを、メンバーAを除く全ての共有メンバーの端末2(すなわち生徒端末2B)宛で送信する(図10のステップSD1:NO、SD2:NO、SD3:NO、SD4)。これと同様の処理が生徒端末2Bからのパケットについても行われる。こうして、教師端末2Aからの画像データ及び音声データは生徒端末2Bへ、生徒端末2Bからの画像データ及び音声データは教師端末2Aへ送信される。
教師端末2AのCPU21は教師端末2A宛のパケットを受信する。この時点で受信されるパケットは、本体領域P31に画像データ又は音声データを格納したパケットである。CPU21は、受信したパケットの種別領域P33に音声データである旨の種別データが格納されていれば、このパケットの本体領域P31内の音声データをスピーカ43Aへ供給する。この結果、スピーカ43AからはメンバーBの音声が放音される。
一方、このパケットの種別領域P33に画像データである旨の種別データが格納されていれば、CPU21は、このパケットの本体領域P31内の画像データを、当該パケットの生成元領域P32内のメンバーIDのメンバー(ここではメンバーB)の画像データとして抽出する。次に、CPU21は、メンバーBの画像データ、カメラ44Aからの画像データ、画面領域233内の教習画面データ132、対応領域234内の対応テーブルT2、及び選択領域235内の選択テーブルT3を用いて、教習画面を表す画像データを生成し、生成した画像データをディスプレイ26のフレームメモリに書き込む。この結果、ディスプレイ26には、図22に示す教習画面が表示される。
この教習画面において、選択テーブルT3により選択されている表示領域R4〜R7は太枠で強調されており、対応テーブルT2により状態「自身」が対応付けられた表示領域R3内にはカメラ44Aからの画像データで表される画像(すなわちメンバーAの姿)が表示されており、対応テーブルT2によりメンバーBが対応付けられた表示領域R4内にはメンバーBの画像データで表される画像(すなわちメンバーBの姿)が表示されている。
これと同様に、スピーカ43BからはメンバーAの音声が放音され、生徒端末2Bのディスプレイ26にはメンバーA及びBの姿が表示される。
[2−3:メンバーCのログイン]
図17の教習例では、次に、メンバーCが生徒端末2Cを用いてログイン作業を行う。この結果、配信装置1ではメンバーBのログイン時と同様のログイン処理が行われる。このログイン処理の結果、配信装置1では、メンバーCが共有メンバーとなり、メンバーテーブルT1が更新される。更新後のメンバーテーブルT1には、メンバーCの状態として「ログイン」が登録され、メンバーCが使用している端末2の通信アドレスとして生徒端末2Cの通信アドレスが登録されている。
また、上記のログイン処理の結果、生徒端末2Cでは、自ID領域232にメンバーID「C」が書き込まれ、対応領域234に対応テーブルT2が書き込まれ、選択領域235に選択テーブルT3が書き込まれる。この対応テーブルT2において状態「自身」が対応付けられているのはメンバーCであり、この選択テーブルT3において選択状態「非選択」が対応付けられているのは表示領域R5である。
また、上記のログイン処理において、メンバーCが共有メンバーとなるから、前述の第3のパケットと同様のパケットが教師端末2A及び生徒端末2Bにも届く。よって、教師端末2A及び生徒端末2Bにおいて対応領域234内のメンバーテーブルT1が更新される。更新後の対応テーブルT2が更新前のテーブルから変化した点は、メンバーCの状態が「ログアウト」から「ログイン」に変化した点のみである。また、上記のログイン処理の結果、生徒端末2Cでは、画面領域233に教習画面データ132が書き込まれる。
最終的には、スピーカ43CからはメンバーA及びBの音声が放音され、生徒端末2Cのディスプレイ26には図23に示す教習画面が表示される。この教習画面において、選択領域235内の選択テーブルT3により選択されている表示領域R3、R4、R6及びR7は太枠で強調されており、対応領域234内の対応テーブルT2により状態「自身」が対応付けられた表示領域R5内にはカメラ44Cからの画像データで表される画像(すなわちメンバーCの姿)が表示されており、この対応テーブルT2によりメンバーA及びBが対応付けられた表示領域R3及びR4内にはメンバーA及びBの画像データで表される画像(すなわちメンバーA及びBの姿)が表示されている。
これと同様に、スピーカ43AからはメンバーB及びCの音声が放音され、教師端末2Aのディスプレイ26にはメンバーA〜Cの姿が表示される。また、スピーカ43BからはメンバーA及びCの音声が放音され、生徒端末2Bのディスプレイ26にはメンバーA〜Cの姿が表示される。
[2−4:教材データの配信]
図17の教習例では、次に、メンバーAが教師端末2Aの操作部25を操作して、教習で使用される教材データの配信を要求する旨の指示を教師端末2Aに入力する。CPU21は、この際に操作部25から供給される操作信号を受けて、メンバーAにより入力された指示を特定する。特定した指示は教習で使用される教材データの配信を要求する旨の指示であるから、CPU21は教材配信コマンドを生成し、この教材配信コマンドを本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信する。このパケットの種別領域P33にはコマンドである旨の種別データが格納されており、生成元領域P32にはメンバーID「A」が格納されている。このメンバーID「A」は自ID領域232に書き込まれているメンバーIDである。
配信装置1のCPU11は、このパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。このパケットの種別領域P33にはコマンドである旨の種別データが格納されているから、パケット処理では、CPU11は、このコマンドが正当なログアウトコマンドであるか否かを判定する(ステップSD1:YES、SD5)。このコマンドは教材配信コマンドであるから、この判定結果は「NO」となる。よって、CPU11は、このパケットの生成元領域P32内のメンバーIDのメンバーが教師であるか否かを、メンバーテーブルT1を参照して判定する(ステップSD6)。
このパケットの生成元領域P32内のメンバーIDは「A」であり、メンバーID「A」には属性「教師」が対応付けられているから、この判定結果は「YES」となる。よって、CPU11は、このコマンドが教材配信コマンドであるか否かを判定する(ステップSD7)。この判定結果は「YES」となる。よって、CPU11は、楽譜データ133(静的データ)及び表示ページデータ134(静的データ)をハードディスク13から読み出して共有領域131に書き込む一方、これらの教材データを本体領域P31に格納したパケットを生成し、生成したパケットを送信する(ステップSD8、SD4)。ここで送信されるパケットの宛先は教師端末2A、生徒端末2B及び生徒端末2Cであり、当該パケットの種別領域P33には教材データである旨の種別データが格納されている。
教師端末2AのCPU21は、教師端末2Aのパケットを受信し、受信したパケット内の教材データを教材領域231に書き込む。次に、CPU21は、教材領域231内の教材データと、メンバーB及びCの画像データ、カメラ44Aからの画像データ、画面領域233内の教習画面データ132、対応領域234内の対応テーブルT2、及び選択領域235内の選択テーブルT3を用いて、教習画面を表す画像データを生成し、生成した画像データをディスプレイ26のフレームメモリに書き込む。この結果、ディスプレイ26には、図24に示す教習画面が表示される。この教習画面の表示領域R1内には、教材領域231内の楽譜データで表される楽譜の内容のうち、教材領域231内の表示ページデータで表されるページの内容が表示されている。
これと同様の処理が、生徒端末2B及び2Cにおいても行われ、結局、共有メンバーが使用している教師端末2A、生徒端末2B及び生徒端末2Cにおいて、同一の楽譜の内容が表示される。
なお、教師端末2Aではなく生徒端末2Bから、教材配信コマンドを本体領域P31に格納したパケットが配信装置1宛で送信された場合、このパケットの生成元領域P32内のメンバーIDは「B」となり、このメンバーID「B」には属性「生徒」が対応付けられているから、配信装置1のCPU11は上述の処理を行うことなくパケット処理を終了する(ステップSD6:NO)。つまり、共有メンバーのうち、教習で使用される教材の配信を指示することができるのは教師Aのみである。
[2−5:教材のページ捲り]
図17の教習例では、次に、メンバーAが教師端末2Aの操作部25を操作して、教材のページを捲る旨の指示を教師端末2Aに入力する。CPU21は、この際に操作部25から供給される操作信号を受けてメンバーAにより入力された指示を特定する。特定した指示は教材のページを捲る旨の指示であるから、CPU21は、教材領域231内の表示ページデータを、次のページのページ番号を示すように更新する。次に、CPU21は、教材領域231内の教材データと、メンバーB及びCの画像データ、カメラ44Aからの画像データ、画面領域233内の教習画面データ132、対応領域234内の対応テーブルT2、及び選択領域235内の選択テーブルT3を用いて、教習画面を表す画像データを生成し、生成した画像データをディスプレイ26のフレームメモリに書き込む。この結果、教師端末2Aの教習画面の表示領域R1には、楽譜の次のページの内容が表示される。
また、CPU21は、表示ページデータを更新すると、更新後の表示ページデータ(動的データ)を本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信する。このパケットの生成元領域P32にはメンバーID「A」が格納されており、種別領域P33には教材データである旨の種別データが格納されている。
配信装置1のCPU11は、このパケットを受信してパケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。このパケットの種別領域P33には教材データである旨の種別データが格納されているから、パケット処理では、CPU11は、このパケットの生成元領域P32に格納されたメンバーIDのメンバーの属性が「教師」であるか否かを、メンバーテーブルT1を参照して判定する(ステップSD1:NO、SD2:YES、SD9)。このパケットの生成元領域P32内のメンバーIDは「A」であり、メンバーID「A」には属性「教師」が対応付けられているから、この判定結果は「YES」となる。
よって、CPU11は、このパケットの本体領域P31内の表示ページデータを共有領域131に書き込む(ステップSD10)。つまり、共有領域131内の表示ページデータを更新する。次に、CPU11は、このパケットのデータ領域P3に格納されているデータを抽出し、抽出したデータをデータ領域P3に格納したパケットを生成し、生成したパケットを共有メンバーに使用されている生徒端末2B及び2C宛で送信する(ステップSD4)。
生徒端末2BのCPU21は、生徒端末2B宛のパケットを受信する。受信したパケットの種別領域P33には教材データである旨の種別データが格納されているから、CPU21は当該パケットの本体領域P31内の表示ページデータを教材領域231に書き込む。つまり、教材領域231内の教材データを更新する。これにより、最終的には、生徒端末2Bの教習画面の表示領域R1には、楽譜の次のページの内容が表示される。これと同様の処理が、生徒端末2Cにおいても行われる。
結局、教師端末2A、生徒端末2B及び生徒端末2Cにおいて、楽譜の次のページの内容が表示される。
なお、教師端末2Aではなく生徒端末2Bから、ページ捲りデータを本体領域P31に格納したパケットが配信装置1宛で送信された場合、このパケットの生成元領域P32には生徒BのメンバーID「B」が格納されており、メンバーID「B」には属性「生徒」が対応付けられているから、配信装置1のCPU11は上述の処理を行うことなくパケット処理を終了する(ステップSD9:NO)。つまり、共有メンバーのうち、楽譜のページを捲ることができるのは教師Aのみである。
[2−6:メンバーAによるMIDI音源の設定]
図17の教習例では、次に、メンバーAがMIDI楽器41Aを操作し、MIDI音源412の音色を設定する。この際、MIDI楽器41Aから教師端末2AへMIDIデータが供給され、これを教師端末2AのCPU21が受け取る。CPU21は図14に示す送信処理を行っており、MIDIデータを受け取ると、このMIDIデータが、教習には不要であって、教習の枠を超えた要求を防止するためにフィルタリングすべきMIDIデータ(例えばダンプリクエスト)や送信するデータ量を削減するためにフィルタリングすべきMIDIデータ(例えばペダル/鍵盤の連続値のように後述する画像の生成に用いられないMIDIデータ)、または教習のレベル・内容に合わないためにフィルタリングすべきMIDIデータであるか否かを判定する(ステップSC3:YES、SC6)。受け取ったMIDIデータはMIDI音源412の音色を設定するためのMIDIデータであるから、この判定結果は「NO」となる。よって、CPU21は入力したMIDIデータと現在時刻を表す時刻データとを対応付けて演奏データを生成し、これを送信領域222に書き込む(ステップSC7)。CPU21は、このような処理を送信用タイマがタイムアウトするまで繰り返す。
そして、送信用タイマがタイムアウトすると、CPU21は送信領域222に演奏データが書き込まれているか否かを判定する(ステップSC4)。ここでは、送信領域222に演奏データが書き込まれているから、この判定結果は「YES」となる。よって、CPU21は送信領域222から演奏データを読み出し、読み出した演奏データ(動的データ)を本体領域P31に格納したパケットを生成し、生成したパケットを配信装置1宛で送信する(ステップSC2:YES、SC4:YES、SC5)。このパケットの生成元領域P32にはメンバーID「A」が格納されており、種別領域P33には演奏データである旨の種別データが格納されている。
配信装置1のCPU11は、教師端末2Aからのパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。受信したパケットの本体領域P31には演奏データである旨の種別データが格納されているから、パケット処理では、CPU11は、当該パケットの本体領域P31内の演奏データにダンプリクエスト及びダンプレスポンスの少なくとも一方が含まれているか否かを判定する(ステップSD1:NO、SD2:NO、SD3:YES、SD11)。当該パケット内のMIDIデータはMIDI音源412の音色を設定するためのMIDIデータであるから、この判定結果は「NO」となる。
よって、CPU11は、当該パケットの生成元領域P32に格納されたメンバーIDのメンバーの属性が「教師」であるか否かを、メンバーテーブルT1を参照して判定する(ステップSD12)。当該パケットの生成元領域P32内のメンバーIDは「A」であり、メンバーID「A」には属性「教師」が対応付けられているから、この判定結果は「YES」となる。よって、CPU11は、当該パケットの本体領域P31内の演奏データから、MIDI音源412の音色を設定するためのMIDIデータを抽出し、抽出したMIDIデータ(動的データ)を共有領域131に書き込む(ステップSD13)。
次に、CPU11は、当該パケットのデータ領域P3から演奏データを抽出し、抽出した演奏データをデータ領域P3に格納したパケットを生成し、生成したパケットを生徒端末2B及び2C宛で送信する(ステップSD4)。
生徒端末2BのCPU21は生徒端末2B宛のパケットを受信する。受信したパケットの種別領域P33には演奏データである旨の種別データが格納されているから、CPU21は当該パケットの本体領域P31に時刻データが格納されているか否かを調べる。当該パケットの本体領域P31には時刻データが格納されているから、CPU21は、本体領域P31内の演奏データを、生成元領域P32内のメンバーIDのメンバー(ここではメンバーA)の演奏データとして抽出し、このメンバー用に確保された即時再生領域221に追記する。この際、CPU21は、当該パケットの受信を開始した時点から予め設定された余裕時間(例えば500ms)が経過した後に、メンバーA用の即時再生領域221に最初に書き込んだ時刻データで表される時刻を初期値として再生用タイマをスタートさせ、図15に示す即時再生処理および図16に示す移動処理を並列に実行する。なお、上記の余裕時間はネットワーク3におけるパケットの伝送遅延のバラツキを吸収するために設定されている。
即時再生処理では、CPU21は、再生タイミングを迎えた演奏データが即時再生領域221に存在するか否かを判定し続ける(ステップSE1:NO、SE2:NO)。この判定は、再生用タイマのカウント値と即時再生領域221内の時刻データとを比較することにより行われる。そして、メンバーA用の即時再生領域221に書き込まれた演奏データの再生タイミングを迎えると、CPU21は、対応テーブルT2及び選択テーブルT3を参照して、再生タイミングを迎えた演奏データが再生すべき演奏データとして選択されているか否かを判定する(ステップSE2:YES、SE3)。メンバーAに対応する表示領域R3の選択状態が「選択」となっているから、この判定結果は「YES」となる。
よって、CPU21は、再生タイミングを迎えた演奏データについて再生処理を行う(ステップSE4)。つまり、再生タイミングを迎えた演奏データからMIDIデータを抽出してMIDI楽器41Bに供給する。ここでMIDI楽器41Bに供給されるMIDIデータはMIDI音源412の音色を設定するためのMIDIデータであるから、MIDI楽器41BのMIDI音源412の音色が設定される。
また、CPU21はMIDI楽器41Bに供給したMIDIデータが可視化可能なMIDIデータを含んでいるか否かを判定する(ステップSE5)。可視化可能なMIDIデータとは、鍵盤やペダルのように演奏中に用いられる操作子の動きに変換することができるMIDIデータである。ここでは、MIDI楽器41Bに供給したMIDIデータはMIDI音源412の音色の設定のためのMIDIデータであるから、この判定結果は「NO」となる。よって、CPU21は可視化処理を行わない。
一方、移動処理において、CPU21は、メンバーA用の即時再生領域221に書き込まれている演奏データが無くなるまで、再生タイミングを過ぎた演奏データを当該即時再生領域221からメンバーA用のMIDI領域237へ移動する処理を繰り返す(ステップSF1:NO、SF2、SF3)。メンバーA用の即時再生領域221から全ての演奏データが移動されると、CPU21は、移動処理および即時再生処理を終了する(ステップSF1:YES、SE1:YES)。
これと同様の処理が、生徒端末2Cにおいても行われる。こうして、MIDI楽器41B及び41CのMIDI音源412の音色が、MIDI楽器41Aにおける音色と同様に設定される。
[2−7:メンバーAの演奏]
図17の教習例では、次に、メンバーAがMIDI楽器41Aを用いて演奏する。このときにも、教師端末2AのCPU21は、本体領域P31に演奏データ(動的データ)を格納したパケットを生成し、配信装置1宛で送信する。ただし、このパケット内の演奏データに含まれているMIDIデータは、MIDI音源412の音色を設定するためのデータではなく、メンバーAによる鍵盤やペダルの操作に応じたデータである。
配信装置1のCPU11は、教師端末2Aからのパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。受信されたパケットの種別領域P33には演奏データである旨の種別データが格納されており、かつ、本体領域P31内の演奏データにはダンプリクエスト及びダンプレスポンスのいずれも含まれておらず、かつ、生成元領域P32に格納されたメンバーIDのメンバーの属性は「教師」である。よって、パケット処理において、CPU11は、当該パケットの本体領域P31内の演奏データからMIDI音源412の音色を設定するためのMIDIデータを抽出しようとする(ステップSD1:NO、SD2:NO、SD3:YES、SD11:NO、SD12、YES、SD13)。
しかし、当該パケットの本体領域P31内のMIDIデータは鍵盤やペダルの操作の内容に応じたデータであり、MIDI音源412の音色を設定するためのデータではないから、CPU11は上記の抽出に失敗する。よって、ここでは、共有領域131にMIDIデータが書き込まれることはない。次に、CPU11は、当該パケットのデータ領域P3内のデータを抽出し、抽出したデータをデータ領域P3に格納したパケットを生成し、生成したパケットを生徒端末2B及び2C宛で送信する(ステップSD4)。
生徒端末2BのCPU21は配信装置1からのパケットを受信し、前述と同様の処理を行う。ただし、受信されたパケットの本体領域P31内の演奏データに含まれているMIDIデータは鍵盤やペダルの操作の内容に応じたデータであるから、MIDI楽器41Bから当該MIDIデータに従って楽音が放音される。つまり、メンバーAの演奏に応じた楽音がMIDI楽器41Bから出力される。
また、受信されたパケットの本体領域P31内の演奏データに含まれているMIDIデータは鍵盤やペダルの操作の内容に応じたデータであるから、その可視化が可能である。よって、CPU21は可視化処理を行う(ステップSE5:YES、SE6)。
可視化処理では、CPU21は、再生タイミングを迎えた演奏データ内のMIDIデータが鍵盤の操作の内容に応じたデータであれば、当該MIDIデータとMIDI楽器41の鍵盤に模した図形とを用いて、鍵盤の操作の内容を表す画像データを生成する。一方、再生タイミングを迎えた演奏データ内のMIDIデータがペダルの操作の内容に応じたデータであれば、当該MIDIデータとMIDI楽器41のペダルに模した図形とを用いて、ペダルの操作の内容を表す画像データを生成する。
そして、CPU21は、生成した画像データと、教材領域231内の教材データと、メンバーB及びCの画像データ、カメラ44Aからの画像データ、画面領域233内の教習画面データ132、対応領域234内の対応テーブルT2、及び選択領域235内の選択テーブルT3を用いて、教習画面を表す画像データを生成し、この画像データをディスプレイ26のフレームメモリに書き込む。この結果、ディスプレイ26には、図25に示す教習画面が表示される。この教習画面の表示領域R8内には鍵盤の操作の内容を鍵盤に模した図形を用いて表現した画像が表示されており、表示領域R9内にはペダルの操作の内容をペダルに模した図形を用いて表現した画像が表示されている。この教習画面においては、押下されている鍵の色と押下されていない鍵の色とが異なっており、踏み込まれているペダルの表示位置と踏み込まれていないペダルの表示位置とが異なっている。
これと同様の処理が生徒端末2Cにおいても行われる。こうして、教師Aの演奏に応じた楽音がMIDI楽器41B及び41Cから出力され、生徒端末2B及び2Cでは教師AによるMIDI楽器41Aの操作の内容が鍵盤やペダルを模した図形を用いて表示される。
[2−8:メンバーBの演奏]
図17の教習例では、次に、メンバーBがMIDI楽器41Bを用いて演奏する。この場合、生徒端末2BのCPU21は、本体領域P31に演奏データを格納したパケットを生成し、配信装置1宛で送信する。このパケット内の演奏データは鍵盤やペダルの操作の内容に応じたMIDIデータと時刻データとを対応付けたデータである。また、このパケットの生成元領域P32にはメンバーID「B」が格納されている。
配信装置1のCPU11は、生徒端末2Bからのパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。受信されたパケットの種別領域P33には演奏データである旨の種別データが格納されており、かつ、このパケットの本体領域P31内の演奏データにはダンプリクエスト及びダンプレスポンスのいずれも含まれておらず、かつ、このパケットの生成元領域P32に格納されたメンバーIDのメンバーの属性は「生徒」である。よって、パケット処理において、CPU11は、当該パケットの本体領域P31に格納された演奏データがMIDI音源412の音色を設定するためのMIDIデータを含んでいるか否かを判定する(ステップSD1:NO、SD2:NO、SD3:YES、SD11:NO、SD12、NO、SD14)。
このパケットの本体領域P31に格納された演奏データが含んでいるMIDIデータは、鍵盤やペダルの操作の内容に応じたデータであるから、この判定結果は「NO」となる。よって、CPU11は、配信モードが共有モードであるか否かをモードフラグ135を参照して判定する(ステップSD15)。この時点では、配信モードは共有モードであるから、CPU11は、このパケットのデータ領域P3に格納されたデータを抽出し、抽出したデータをデータ領域P3に格納したパケットを生成し、生成したパケットを教師端末2A及び生徒端末2C宛で送信する(ステップSD15:YES、SD4)。
教師端末2AのCPU21は配信装置1からのパケットを受信し、前述と同様の即時再生処理および移動処理を行う。これと同様の処理が生徒端末2Cにおいても行われる。この結果、生徒Bの演奏に応じた楽音がMIDI楽器41A及び41Cから放音され、教師端末2A及び生徒端末2Cでは生徒BによるMIDI楽器41Bの操作の内容が鍵盤やペダルを模した図形を用いて表示される。
なお、メンバーBがMIDI楽器41Bを操作してMIDI音源412の音色を設定すれば、演奏データを本体領域P31に格納したパケットが生徒端末2Bから配信装置1宛で送信されるが、当該パケットの生成元領域P32に格納されたメンバーIDのメンバーの属性は生徒であり、当該パケットの本体領域P31に格納された演奏データはMIDI音源412の音色を設定するためのMIDIデータを含んでいるから、配信装置1のCPU11は、当該パケットを受信して破棄する(ステップSD12:NO、SD14:YES)。つまり、共有メンバーのうち、MIDI音源412の音色を設定するためのMIDIデータを配信することができるのは教師Aのみである。
[2−9:メンバーB及びCの同時演奏]
図17の教習例では、次に、メンバーAが教師端末2Aの操作部25を操作して、配信モードを変更する旨の指示を教師端末2Aに入力する。この結果、モード変更コマンドを本体領域P31に格納したパケットが、教師端末2Aから配信装置1宛で送信される。このパケットの生成元領域P32にはメンバーID「A」が格納されており、種別領域P33にはコマンドである旨の種別データが格納されている。
配信装置1のCPU11は、このパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。このパケットの種別領域P33にはコマンドである旨の種別データが格納されており、かつ当該パケットの本体領域P31内のコマンドは正当なログアウトコマンドではなく、かつ当該パケットの生成元領域P32には教師AのメンバーID「A」が格納されており、かつ当該パケットの本体領域P31内のコマンドは教材配信コマンドではない。よって、パケット処理では、CPU11は当該パケットの本体領域P31内のコマンドがモード変更コマンドであるか否かを判定する(ステップSD1:YES、SD5:NO、SD6:YES、SD7:NO、SD16)。
このパケットの本体領域P31内のコマンドはモード変更コマンドであるから、この判定結果は「YES」となる。よって、CPU11は演奏データの配信モードを変更する(ステップSD17)。具体的には、ハードディスク13に書き込まれているモードフラグ135を更新する。この更新により、モードフラグ135の内容は、共有モードを示す内容から個別モードを示す内容に変化する。
メンバーAは、次に、教師端末2Aの操作部25を操作して、表示領域R4のみを選択する旨の指示を教師端末2Aに入力する。これを受けて、教師端末2AのCPU21は表示領域R4のみが選択されるように、選択領域235内の選択テーブルT3を更新する。この結果、教師端末2Aのディスプレイ26には図26に示す教習画面が表示される。この教習画面においては、表示領域R4のみが太枠で強調されている。
次に、メンバーB及びCが同時に演奏する。これにより、生徒端末2B及び2Cからパケットが送信されて配信装置1に届く。当該パケットの本体領域P31には鍵盤やペダルの操作の内容に応じたMIDIデータと時刻データとが対応付けられた演奏データが格納されており、種別領域P33には演奏データである旨の種別データが格納されている。また、生徒端末2Bから送信されたパケットの生成元領域P32にはメンバーID「B」が格納されており、生徒端末2Cから送信されたパケットの生成元領域P32にはメンバーID「C」が格納されている。
配信装置1のCPU11は生徒端末2B及び2Cからのパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。当該パケットの種別領域P33には演奏データである旨の種別データが格納されており、本体領域P31内の演奏データにはダンプリクエスト及びダンプレスポンスのいずれも含まれておらず、生成元領域P32には生徒B又はCのメンバーIDが格納されており、本体領域P31に格納された演奏データはMIDI音源412の音色を設定するためのMIDIデータを含んでいない。また、この時点で、モードフラグ135により示されている配信モードは個別モードである。よって、パケット処理において、CPU11は、当該パケットのデータ領域P3に格納されたデータを抽出し、抽出したデータをデータ領域P3に格納したパケットを生成し、生成したパケットを教師端末2A宛で送信する(ステップSD15:NO、SD18)。この際、生成されたパケットが生徒端末2Bや生徒端末2C宛で送信されることはない。
教師端末2AのCPU21は配信装置1からのパケットを受信する。受信されたパケットの種別領域P33には演奏データである旨の種別データが格納されており、かつ、本体領域P31には時刻データを含む演奏データが格納されており、かつ、生成元領域P32にはメンバーID「B」又は「C」が格納されている。よって、CPU21は、受信した各パケットの本体領域P31内の演奏データを該当する即時再生領域221に書き込むとともに、前述と同様の即時再生処理および移動処理を行う。ただし、再生タイマは、メンバーB用の即時再生領域221とメンバーC用の即時再生領域221とのいずれかに演奏データが書き込まれたときにスタートする。
このとき、メンバーBに対応付けられている表示領域R4は選択されているが、メンバーCに対応付けられている表示領域R5は選択されていない。よって、即時再生処理において、CPU21は、メンバーB用の即時再生領域221に書き込まれている演奏データ、すなわちメンバーBの演奏データについては再生処理および可視化処理を行うが(ステップSE1:NO、SE2:YES、SE3:YES、SE4、SE5:YES、SE6)、メンバーC用の即時再生領域221に書き込まれている演奏データ、すなわちメンバーCの演奏データについては再生処理および可視化処理を行わない(ステップSE1:NO、SE2:YES、SE3:NO)。
この結果、MIDI楽器41Aから放音される楽音は生徒Bの演奏に応じた楽音となり、教師端末2Aにおいて鍵盤やペダルを模した図形を用いて表示されるのは生徒BによるMIDI楽器41Bの操作の内容となる。
なお、即時再生処理および移動処理の終了後に、メンバーAが教師端末2Aの操作部25を操作して、表示領域R5のみを選択する旨の指示を教師端末2Aに入力し、更にメンバーC用のMIDI領域237に書き込まれているMIDIデータを再生する旨の指示を教師端末2Aに入力すると、教師端末2Aの教習画面においては、メンバーCによるMIDI楽器41Cの操作の内容が鍵盤やペダルを模した図形を用いて表示され、MIDI楽器41Aからは、メンバーCの演奏に応じた楽音が放音される。
[2−10:書き込み]
図17の教習例では、次に、メンバーAが教師端末2Aの操作部25を操作して、楽譜に図形を書き込む旨の指示を教師端末2Aに入力する。この結果、教師端末2AのCPU21は、この指示に応じた書き込みデータを生成して教材領域231に書き込む。これにより、ディスプレイ26には、図27に示す教習画面が表示される。この教習画面の表示領域R1には楽譜の内容が表示されており、この内容は楽譜に図形が書き込まれていることを示す内容となっている。また、CPU21は、生成した書き込みデータ(動的データ)を本体領域P31に格納したパケットを生成し、配信装置1宛で送信する。このパケットの生成元領域P32にはメンバーID「A」が格納されており、種別領域P33には教材データである旨の種別データが格納されている。
配信装置1のCPU11は、このパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。このパケットの種別領域P33には教材データである旨の種別データが格納されており、生成元領域P32には教師AのメンバーIDが格納されている。よって、パケット処理では、CPU11は、このパケットの本体領域P31内の書き込みデータを共有領域131に書き込む(ステップSD1:NO、SD2:YES、SD9:YES、SD10)。次に、CPU11は、このパケットのデータ領域P3に格納されたデータを抽出し、抽出したデータをデータ領域P3に格納したパケットを生成し、生徒端末2B及び2C宛で送信する(ステップSD4)。
生徒端末2BのCPU21は配信装置1からのパケットを受信する。このパケットの種別領域P33には教材データである旨の種別データが格納されており、本体領域P31には書き込みデータが格納されている。よって、CPU21は、この書き込みデータを教材領域231に追記する。この結果、生徒端末2Bの教習画面の表示領域R1には、教師Aにより書き込まれた図形が楽譜の内容とともに表示される。これと同様の処理が、生徒端末2Cにおいても行われる。
なお、生徒Bの誤操作等のミスにより、書き込みデータを本体領域P31に格納したパケットが、生徒端末2Bから配信装置1宛で送信された場合、このパケットの生成元領域P32には生徒BのメンバーID「B」が格納されているから、配信装置1のCPU11は上述の処理を行うことなくパケット処理を終了する(ステップSD9:NO)。つまり、共有メンバーのうち、楽譜に書き込みを行うことができるのは教師Aのみである。
[2−11:メンバーDのログイン]
図17の教習例では、次に、メンバーDが生徒端末2Dを用いてログイン作業を行う。このログイン作業や、このログイン作業に起因して行われる各種処理は、追従データの配信が行われる点を除いて、前述したものと同様である。よって、以降では、追従データの配信に関する動作のみについて説明する。
配信装置1のCPU11は、生徒端末2Dから、正当なログインコマンドを本体領域P31に格納したパケットを受信すると、ログイン処理を行う(ステップSA1、SA2:YES、SA3)。このパケットの本体領域P31内のログインコマンドに含まれているメンバーIDは生徒DのメンバーID「D」である。また、共有領域131には追従データが書き込まれている。よって、CPU11は、メンバーDを共有メンバーとする共有処理を行った後に追従データの送信処理を行う(ステップSB1、SB2:NO、SB3:YES、SB4)。
追従データの送信処理では、CPU11は共有領域131から楽譜データ133(静的データ)、表示ページデータ(動的データ)、及び書き込みデータ(動的データ)を読み出し、これらを本体領域P31に格納したパケットを生成し、生成したパケットを生徒端末2D宛で送信する。当該パケットの種別領域P33には教材データである旨の種別データが格納されている。また、CPU11は共有領域131からMIDIデータ(動的データ)を読み出し、これを本体領域P31に格納したパケットを生成し、生成したパケットを生徒端末2D宛で送信する。当該パケットの種別領域P33には演奏データである旨の種別データが格納されている。
生徒端末2DのCPU21は、これらのパケットを受信する。受信したパケットの種別領域P33に教材データである旨の種別データが格納されている場合、CPU21は、当該パケットの本体領域P31に格納されている追従データを教材領域231に書き込む。この結果、生徒端末2Dの教習画面の表示領域R1には、他の端末2の教習画面の表示領域R1に表示されている画像と同一の画像が表示される。
また、受信したパケットの種別領域P33に演奏データである旨の種別データが格納されている場合、当該パケットの本体領域P31には時刻データが格納されていないから、CPU21は、当該MIDIデータをMIDI楽器41Dに供給する。この結果、MIDI楽器41DのMIDI音源412の音色が、他のMIDI楽器41A、41B及び41Cにおける音色と同様に設定される。
[2−12:メンバーDのログアウト]
図17の教習例では、次に、メンバーDが生徒端末2Dを用いてログアウト作業を行う。ログアウト作業では、まず、メンバーBが操作部25を用いて予め配布された所定のURLとメンバーID「D」を送信して教室からログアウトする旨の指示を生徒端末2Bに入力する。この結果、所定のURLを含むログアウトコマンドを本体領域P31に格納したパケットが、生徒端末2Dから配信装置1宛で送信される。このパケットの生成元領域P32にはメンバーID「D」が格納されている。この処理の後、CPU11は端末プログラム236の実行を終了する。
配信装置1のCPU11は、このパケットを受信し、パケット処理を行う(ステップSA1、SA2:NO、SA4:YES、SA5)。このパケットの種別領域P33にはコマンドである旨の種別データが格納されており、本体領域P31には所定のURLを含むログアウトコマンドが格納されており、生成元領域P32には共有メンバーである生徒DのメンバーID「D」が格納されている。よって、CPU11はログアウト処理を行う(ステップSD1:YES、SD5:YES、SD19)。
ログアウト処理では、CPU11は、このパケットの生成元領域P32に格納されているメンバーIDのメンバーを非共有メンバーとし、メンバーテーブルT1を更新する。この更新では、メンバーDの状態が「ログイン」から「ログアウト」に変化し、メンバーDが使用している端末2の通信アドレスがメンバーテーブルT1から削除される。さらに、ログアウト処理において、CPU11は、前述の第3のパケットと同様のパケットを、教師端末2A、生徒端末2B及び生徒端末2C宛で送信する。当該パケットの本体領域P31には、最新のメンバーテーブルT1を含む共有状況通知コマンドが格納されている。
以降の動作については、以上の説明から自明であるから、その説明を省略する。
以上、説明したように、配信装置1のCPU11は、メンバーテーブルT1に登録されているメンバーIDを受信すると、このデータを送信した端末の通信アドレスを当該メンバーIDに対応付けてメンバーテーブルT1に登録し、また、教材の配信を要求する教材配信コマンドを受信すると、このコマンドを送信した端末の通信アドレスに対応付けてメンバーテーブルT1に登録されている属性が「教師」であるか否かを判定し、「教師」であれば、教材を、メンバーテーブルT1に通信アドレスが登録されている全ての端末へ送信する。つまり、メンバーAは、教師端末2Aに教材をダウンロードする旨の指示を入力するだけで、教室にログインしている全てのメンバーに教材を共有させることができる。また、CPU11はログインしたメンバーの環境を先にログインしているメンバーの環境に追従させるための処理を自動的に行うから、メンバーにかかる負担はより低減される。
[3:補足]
上述した実施形態を以下に列記するように変形してもよい。
例えば、教習画面の表示領域R8に表示される鍵盤の操作内容を表現する画像において、押下されている鍵の色が打鍵強度に応じて変化するようにしてもよい。
また、鍵盤楽器ではない楽器の教習に適用してもよい。例えば、ドラム等の打楽器の教習に適用してもよい。
また、MIDIデータの可視化を送信側の端末において行うようにしてもよい。つまり、送信側の端末において鍵盤やペダルの操作の内容を鍵盤に模した図形を用いて表現した画像を生成して送信し、受信側の端末において受信した画像を表示するようにしてもよい。
また、ログインしたメンバーの環境を先にログインしているメンバーの環境に追従させるための処理を行わないようにしてもよい。
また、配信装置が、教師端末から送信されたデータだけではなく、生徒端末から送信されたデータをも共有領域に書き込むようにしてもよい。
また、共有するデータは上記の例に限らず、例えば教師から生徒への指示を表すテキストデータであってもよい。
また、上記の配信装置の機能を教師端末に持たせてもよい。
また、配信装置と端末との間に複数の通信コネクションを確立して、送信するデータの種別毎に通信コネクションを使い分ける態様としてもよい。この通信コネクションがTCP/IP(Transmission Control Protocol/Internet Protocol)における通信コネクションの場合、前述の種別データの代わりにTCPにおけるポート番号が用いられることになる。
本発明の一実施形態に係る遠隔教習システムの構成を示すブロック図である。 本システムにおいて用いられるMIDI楽器41の構成を示すブロック図である。 本システムにおいて用いられるパケットのデータ構造を示す図である。 本システムにおいて用いられる演奏データの生成の様子を示す図である。 本システムを構成する配信装置1の構成を示すブロック図である。 本システムにおいて用いられる教習画面データ132で表される画面を示す図である。 配信装置1が有するメンバーテーブルT1の内容を模式的に示す図である。 配信装置1が行う処理の流れを示すフローチャートである。 配信装置1が行う処理の流れを示すフローチャートである。 配信装置1が行う処理の流れを示すフローチャートである。 本システムを構成する教師端末2Aの構成を示すブロック図である。 教師端末2Aが有する対応テーブルT2の一例を模式的に示す図である。 教師端末2Aが有する選択テーブルT3の一例を模式的に示す図である。 本システムを構成する端末2が行う処理の流れを示すフローチャートである。 本システムを構成する端末2が行う処理の流れを示すフローチャートである。 本システムを構成する端末2が行う処理の流れを示すフローチャートである。 本システムを用いて行われる教習例を示すシーケンス図である。 配信装置1が有するメンバーテーブルT1の一例を模式的に示す図である。 本システムを構成する生徒端末2Bが有する対応テーブルT2の一例を模式的に示す図である。 生徒端末2Bが有する選択テーブルT3の一例を模式的に示す図である。 生徒端末2Bにて表示される教習画面の一例を示す図である。 教師端末2Aにて表示される教習画面の一例を示す図である。 本システムを構成する生徒端末2Cにて表示される教習画面の一例を示す図である。 教師端末2Aに表示される教習画面の一例を示す図である。 生徒端末2Bに表示される教習画面の一例を示す図である。 教師端末2Aに表示される教習画面の一例を示す図である。 教師端末2Aに表示される教習画面の一例を示す図である。
符号の説明
1…配信装置、11,21…CPU、12,22…RAM、13,23…ハードディスク、14…通信部、2A…教師端末、2B,2C,2D…生徒端末、24…通信部、25…操作部、26…ディスプレイ、27…MIDIインタフェース。

Claims (5)

  1. メンバーを識別するための識別子およびメンバーの属性を示す属性データをメンバー毎に記憶したメンバー記憶手段と、
    端末から送信されたデータをネットワーク経由で受信する受信手段と、
    前記メンバー記憶手段に記憶されている識別子が前記受信手段により受信されると、該識別子を送信した端末の通信アドレスを該識別子に対応付けて前記メンバー記憶手段に書き込む追加手段と、
    特定のデータの送信を要求するデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバー記憶手段に記憶されている属性が所定の属性であるか否かを判定し、所定の属性であれば、前記特定のデータを前記メンバー記憶手段に通信アドレスが記憶されている全ての端末へ前記ネットワーク経由で送信する静的同報手段と
    を有する配信装置。
  2. データが書き込まれる共有記憶手段と、
    前記特定のデータの送信を要求するデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバー記憶手段に記憶されている属性が所定の属性であるか否かを判定し、所定の属性であれば、前記特定のデータを前記共有記憶手段に書き込む静的書き込み手段と、
    前記メンバー記憶手段に記憶されている識別子が前記受信手段により受信されると、前記共有記憶手段にデータが書き込まれているか否かを判定し、書き込まれている場合には前記共有記憶手段に書き込まれているデータを該識別子に対応付けて前記メンバー記憶手段に通信アドレスが記憶されている端末へ送信する静的追従手段と
    を有することを特徴とする請求項1に記載の配信装置。
  3. 他の端末へ送信すべきデータが前記受信手段により受信されると、該データを前記メンバー記憶手段に通信アドレスが記憶されている全ての端末から該データの送信元の端末を除外した端末へ前記ネットワーク経由で送信する動的同報手段と、
    データが書き込まれる共有記憶手段と、
    他の端末へ送信すべきデータが前記受信手段により受信されると、該データを前記共有記憶手段に書き込む動的書き込み手段と、
    前記メンバー記憶手段に記憶されている識別子が前記受信手段により受信されると、前記共有記憶手段にデータが書き込まれているか否かを判定し、書き込まれている場合には前記共有記憶手段に書き込まれているデータを該識別子に対応付けて前記メンバー記憶手段に通信アドレスが記憶されている端末へ前記ネットワーク経由で送信する動的追従手段と
    を有することを特徴とする請求項1に記載の配信装置。
  4. 前記動的書き込み手段は、他の端末へ送信すべきデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバー記憶手段に記憶されている属性が所定の属性であるか否かを判定し、所定の属性であれば、該データを前記共有記憶手段に書き込む
    ことを特徴とする請求項3に記載の配信装置。
  5. コンピュータを、
    端末から送信されたデータをネットワーク経由で受信する受信手段と、
    メンバーを識別するための識別子およびメンバーの属性を示す属性データがメンバー毎に登録されているメンバーテーブル内の識別子が前記受信手段により受信されると、該識別子を送信した端末の通信アドレスを該識別子に対応付けて前記メンバーテーブルに登録する追加手段と、
    特定のデータの送信を要求するデータが前記受信手段により受信されると、該データを送信した端末の通信アドレスに対応付けて前記メンバーテーブルに登録されている属性が所定の属性であるか否かを判定し、所定の属性であれば、前記特定のデータを前記メンバーテーブルに通信アドレスが登録されている全ての端末へ前記ネットワーク経由で送信する静的同報手段
    として機能させるためのプログラム。
JP2004060976A 2004-03-04 2004-03-04 配信装置およびプログラム Expired - Fee Related JP4649851B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004060976A JP4649851B2 (ja) 2004-03-04 2004-03-04 配信装置およびプログラム
EP05101531A EP1583299B1 (en) 2004-03-04 2005-03-01 Data delivery apparatus and method, and terminal apparatus for example for the teaching of music
DE602005004439T DE602005004439T2 (de) 2004-03-04 2005-03-01 Gerät und Verfahren zur Übermittlung und Ausgabe von Daten beispielsweise zum Musikunterricht
AT05101531T ATE385105T1 (de) 2004-03-04 2005-03-01 Gerät und verfahren zur übermittlung und ausgabe von daten beispielsweise zum musikunterricht
US11/071,760 US7792938B2 (en) 2004-03-04 2005-03-03 Data delivery apparatus and method, and terminal apparatus
CNB2005100526855A CN100425021C (zh) 2004-03-04 2005-03-03 数据传送设备和方法以及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004060976A JP4649851B2 (ja) 2004-03-04 2004-03-04 配信装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2005250152A true JP2005250152A (ja) 2005-09-15
JP4649851B2 JP4649851B2 (ja) 2011-03-16

Family

ID=35030681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004060976A Expired - Fee Related JP4649851B2 (ja) 2004-03-04 2004-03-04 配信装置およびプログラム

Country Status (1)

Country Link
JP (1) JP4649851B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233007A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 集団音楽教習システム
JP2007233006A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 集団音楽教習システム
JP2007235476A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 音楽ネットワークシステム
JP2008009102A (ja) * 2006-06-29 2008-01-17 Yamaha Corp 集団音楽教習システム
JP2019061006A (ja) * 2017-09-26 2019-04-18 株式会社河合楽器製作所 演奏練習支援装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172161A (ja) * 1998-10-02 2000-06-23 Hitachi Electronics Service Co Ltd 教育システム、教育システムにおけるコミュニケ―ション支援方法および記録媒体
JP2000311257A (ja) * 1999-04-28 2000-11-07 Ntt Data Corp 共有仮想空間表示システム、分散オブジェクト機構の構築方法及び記録媒体
JP2002082895A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 3次元仮想空間共有コミュニケーションシステムとそのシステムにおける利用者情報管理方法
JP2003058031A (ja) * 2001-08-10 2003-02-28 Koichi Sekii 学習コンテンツ配信システム
JP2003107986A (ja) * 2001-09-27 2003-04-11 Yamaha Corp 情報処理装置およびその制御方法、制御プログラムおよび記録媒体
JP2003157225A (ja) * 2002-07-25 2003-05-30 Fujitsu Hokuriku Systems:Kk サーバ
US20030108000A1 (en) * 2001-12-07 2003-06-12 Telefonaktiebolaget Lm Ericsson (Pub1) Service access system and method in a telecommunications network
JP2004037568A (ja) * 2002-06-28 2004-02-05 Matsushita Electric Ind Co Ltd 教育支援システム、教育支援プログラム及び端末

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172161A (ja) * 1998-10-02 2000-06-23 Hitachi Electronics Service Co Ltd 教育システム、教育システムにおけるコミュニケ―ション支援方法および記録媒体
JP2000311257A (ja) * 1999-04-28 2000-11-07 Ntt Data Corp 共有仮想空間表示システム、分散オブジェクト機構の構築方法及び記録媒体
JP2002082895A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 3次元仮想空間共有コミュニケーションシステムとそのシステムにおける利用者情報管理方法
JP2003058031A (ja) * 2001-08-10 2003-02-28 Koichi Sekii 学習コンテンツ配信システム
JP2003107986A (ja) * 2001-09-27 2003-04-11 Yamaha Corp 情報処理装置およびその制御方法、制御プログラムおよび記録媒体
US20030108000A1 (en) * 2001-12-07 2003-06-12 Telefonaktiebolaget Lm Ericsson (Pub1) Service access system and method in a telecommunications network
JP2004037568A (ja) * 2002-06-28 2004-02-05 Matsushita Electric Ind Co Ltd 教育支援システム、教育支援プログラム及び端末
JP2003157225A (ja) * 2002-07-25 2003-05-30 Fujitsu Hokuriku Systems:Kk サーバ

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233007A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 集団音楽教習システム
JP2007233006A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 集団音楽教習システム
JP2007235476A (ja) * 2006-02-28 2007-09-13 Yamaha Corp 音楽ネットワークシステム
JP4677929B2 (ja) * 2006-02-28 2011-04-27 ヤマハ株式会社 集団音楽教習システム
JP2008009102A (ja) * 2006-06-29 2008-01-17 Yamaha Corp 集団音楽教習システム
JP4702202B2 (ja) * 2006-06-29 2011-06-15 ヤマハ株式会社 集団音楽教習システムの管理装置及び集団音楽教習システム
JP2019061006A (ja) * 2017-09-26 2019-04-18 株式会社河合楽器製作所 演奏練習支援装置

Also Published As

Publication number Publication date
JP4649851B2 (ja) 2011-03-16

Similar Documents

Publication Publication Date Title
EP1583299B1 (en) Data delivery apparatus and method, and terminal apparatus for example for the teaching of music
JP3726712B2 (ja) 演奏設定情報の授受が可能な電子音楽装置及びサーバ装置、並びに、演奏設定情報授受方法及びプログラム
RU2003104812A (ru) Интерактивная развлекательная система для виртуальных театральных представлений
US8242344B2 (en) Method and apparatus for composing and performing music
KR20020060751A (ko) 문자 통신 장치
JP2007025447A (ja) 自動演奏システム
JP2001327754A (ja) ゲーム用コントローラ
EP1650743A1 (en) Electronic musical apparatus system, server-side electronic musical apparatus and client-side electronic musical apparatus
JP4649851B2 (ja) 配信装置およびプログラム
JP2008178442A (ja) ゲーム端末、ゲームシステムおよびプログラム
JP3903821B2 (ja) 演奏音提供システム
US7723603B2 (en) Method and apparatus for composing and performing music
JP2005250153A (ja) 演奏表示端末および演奏表示システム
JP2000076167A (ja) コミュニケーション方法及びコミュニケーション装置
JP5249546B2 (ja) インターネットを利用したカラオケシステム
JP2002182553A (ja) 演奏教習装置および演奏教習方法
JP4549994B2 (ja) 通信カラオケシステムにおいてカラオケビデオレターを取り扱う方法、通信カラオケシステム、カラオケ装置
JP2009183567A (ja) ゲームシステム、ゲーム装置及びプログラム
JP2020091438A (ja) 音声生成プログラム、および音声生成装置
JP3922207B2 (ja) ネットセッション演奏装置及びプログラム
JP5146974B1 (ja) 番組画像作成方法およびその装置
JP2005266337A (ja) ネットワーク音楽教習システムおよびサーバ装置
JP2023051140A (ja) カラオケシステム
JPS60135764U (ja) パソコン学習・ゲ−ム装置
CN110062289A (zh) 一种文件播放方法和装置、终端、可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees