数据传送设备和方法以及终端设备 【技术领域】
本发明涉及允许在多个终端之间共享使用数据的技术。本发明也涉及处理乐器的演奏数据的技术,并尤其涉及演奏显示技术。
背景技术
远程训练系统已被提出,用于通过经由通信网络在多个终端之间共享使用各种数据,来提供乐器演奏训练。例如,日本专利申请公开No.2002-133238和2002-323849披露了以下系统:其中,诸如教师的声音和视频图像的数据通过网络被发送给学生的终端(即学生终端),以及诸如学生的声音和视频图像通过网络被发送给教师的终端(即教师终端)。后一个公开中披露的教师终端依照教师的指令,下载训练中心中存储的教学或训练材料,并依照教师的指令、将下载地训练材料发送给学生。
在实际的乐器演奏训练中,教师取出期望的训练材料(例如乐谱),并向学生通知所取出的训练材料,并且学生取得并观看所通知的训练材料。如果能够简化这些操作,将大大提高训练效率。然而,No.2002-133238没有披露或提出这种操作的任何简化。同样,关于No.2002-323849中披露的训练系统,教师必须操作教师终端下载期望的训练材料,并再次操作教师终端发送所下载的训练材料,由此教师的负担较重。
此外,在上述公开中披露的远程训练系统中,教师或学生终端在收到视频图像数据和演奏数据之后,不仅显示收到的视频图像所代表的图像,而且将收到的演奏数据提供给连接到教师或学生终端的乐器。而乐器在被提供演奏数据之后,又根据所提供的演奏数据,发出声音或可听见地产生音调。在使用任何一种已披露的训练系统的钢琴演奏训练中,观看所显示的视频图像允许教师在视觉上检查学生的钢琴演奏操作,以及允许学生在视觉上检查教师的钢琴演奏操作。然而,因为钢琴的键盘和踏板易于隐藏在演奏人员的手和脚的后面,因此不容易从显示的视频图像看清钢琴演奏操作。
【发明内容】
鉴于上述内容,本发明的目的是,提供一种在不向终端的用户强加负担的情况下、允许多个终端之间的数据共享的技术。
本发明的另一个目的是,提供一种允许在视觉上更容易地检查乐器的演奏操作的技术。
为了实现上述目的,本发明提供一种改进的数据传送设备,包括:成员存储部分,该成员存储部分为一组成员的每一个存储用于识别成员的标识符和指示成员属性的属性数据;接收部分,该接收部分通过网络接收发自终端设备的数据或命令;写控制部分,当发自终端设备的标识符的数据已被接收部分收到时,该写控制部分将已发送标识符的终端设备的通信地址,与收到的标识符相联系地写入成员存储部分中;以及广播(即多地址)发送控制部分,当请求传送特定数据的命令已被接收部分收到时,该广播发送控制部分确定和所述成员存储部分中与发送了命令的终端设备的通信地址相联系地存储的标识符相对应的属性数据是否指示预定的属性,以及如果确定该属性数据指示预定的属性,则通过网络把该特定数据发送给其各个通信地址被存储在成员存储部分中的组的所有终端设备。
根据本发明,仅仅通过具有预定属性的某一终端设备(例如,训练系统中的教师终端设备)发送请求传送特定数据的命令,特定数据就被传送给包括那个终端设备的组的所有预先注册的终端设备,以致于特定数据在组的所有预先注册终端设备之间被共享。因而,本发明在不向终端设备的各自用户强加负担的情况下,允许在多个终端设备之间共享使用数据(静态数据)。进一步,因为特定数据的共享是由具有预定属性的成员(即教师)引导的,因此本发明的基本原理适用于这样的训练系统,其中应该由教师来引导训练材料的共享。
在本发明的一个实施例中,数据传送设备可以进一步包括:数据可写共享存储部分;写控制部分,当请求传送特定数据的命令已被接收部分收到时,该写控制部分确定,和所述成员存储部分中与发送了命令的终端设备的通信地址相联系地存储的标识符相对应的属性数据是否指示预定的属性,以及如果确定该属性数据指示预定的属性,则把该特定数据写入共享存储部分中;以及跟随促使发送部分,当发自终端设备的标识符数据已被接收部分收到时,该跟随促使发送部分确定当前是否有任何数据被写入共享存储部分中,以及如果确定当前有数据被写入共享存储部分中,则把写入共享存储部分中的数据发送给其通信地址与收到的标识符数据相联系地存储在共享存储部分中的终端设备。
即,在本发明的数据传送设备中,要共享的数据(静态数据)(即要共享的数据)被存储在共享存储部分中,以致于当某一成员已经通过发送其ID来登录时,要共享的数据能够自动地被传送给后来变成组的成员的该成员。
在本发明的一个实施例中,数据传送设备可以进一步包括:广播传送部分,当要从某一终端设备发送到另一个终端设备的数据已被接收部分收到时,该广播传送部分通过网络把收到的数据发送给其各个通信地址被存储在成员存储部分中的组的所有终端设备。
根据本发明,仅仅通过某一终端设备把要从那个终端发送给另一个终端的数据(动态数据)发送给数据传送设备,特定数据就能够自动地被广播给组的所有预先注册的终端设备。因而,本发明在不向终端设备的各自用户强加负担的情况下,允许在多个终端设备之间共享使用数据(动态数据)。
在本发明的一个实施例中,数据传送设备可以进一步包括:数据可写共享存储部分;动态写控制部分,当要发送给另一个终端设备的数据已被接收部分收到时,该动态写控制部分将收到的数据写入共享存储部分中;以及跟随促使发送部分,当发自终端设备的标识符数据已被接收部分收到时,该跟随促使发送部分确定当前是否有任何数据被写入共享存储部分中,以及如果确定当前有数据被写入共享存储部分中,则把写入共享存储部分中的数据发送给其通信地址与收到的标识符数据相联系地存储在共享存储部分中的终端设备。
即,在传送设备中,要发送给终端设备的数据(动态数据)被存储在共享存储部分中作为要发送的数据,以致于当某一成员已经通过发送其ID登录时,要共享的数据能够自动地被传送给后来变成组的成员的该成员。因而,在不向同一组的终端设备的用户强加负担的情况下,传送设备内的特定数据(静态数据)或发自某一终端设备的数据(动态数据)能够容易地在多个终端设备之间被共享,而不论它们的通信地址何时相互联系。
根据本发明的另一方面,提供一种演奏显示终端设备,包括:输入部分,该输入部分输入响应乐器的演奏而产生的演奏数据;图像生成部分,该图像生成部分根据通过输入部分输入的演奏数据,连同模拟乐器的图形图像一起生成代表演奏内容的图像;以及显示部分,该显示部分显示由图像生成部分生成的图像。
根据本发明的又一方面,提供一种演奏显示系统,包括:第一终端设备,该第一终端设备输入响应乐器的演奏而产生的演奏数据,并发送输入的演奏数据;以及第二终端设备,该第二终端设备接收发自第一终端设备的演奏数据,并根据收到的演奏数据,连同模拟乐器的图形图像一起生成代表演奏内容的图像。在该情况下,第二终端设备也可以将生成的图像的数据发送给通信网络。
本发明被配置成,利用模拟乐器的图形图像(即图示图像)来显示代表演奏数据的演奏内容的图像,根据本发明,能够在视觉上更容易地检查或确定乐器实际被演奏时的操作状态。因此,如果本发明的配置被用作训练系统的终端设备,则它们允许用户在视觉上容易地确定乐器实际被教师或学生演奏时的操作状态,因此是非常有利的。
一般,从乐器输出的演奏数据也包括不用于上述图像的生成的数据。然而,在以上讨论的现有技术系统中,从乐器输出的演奏数据将不合乎需要地、照原样通过网络被发送。然而,在本发明的实施例中,在响应乐器的演奏而产生的演奏数据当中,只有生成表示演奏内容的图像所需的一部分才被发送,而剩余的演奏数据不被发送。这样,本发明防止了不用于图像生成的演奏数据剩余部分的发送,因而能够避免浪费的发送。
本发明不仅可以被构造和实施为如上所述的设备发明,而且还可以被构造和实施为方法发明。而且,本发明可以被配置和实施为由诸如计算机或数字信号处理器(DSP)的处理器执行的软件程序,以及存储这种软件程序的存储介质。进一步,本发明中使用的处理器可以包括内置于硬件中的专用逻辑的专用处理器,更不用说能够运行期望软件程序的其它通用型处理器。
以下将描述本发明的实施例,但是应该理解,本发明不限于所述的实施例,并且在不背离基本原理的情况下,本发明的各种更改都是可能的。因此,本发明的范围仅由所附的权利要求来确定。
【附图说明】
为了更好地理解本发明的目的和其它特征,以下将参考附图来更详细地描述本发明的优选实施例,其中:
图1显示了,根据本发明第一实施例的远程训练系统的示例一般配置的框图;
图2显示了,本发明的训练系统中采用的MIDI乐器的示例一般结构的框图;
图3显示了,本发明的训练系统中采用的分组的示例数据结构;
图4显示了,产生本发明的训练系统中所采用的演奏数据的示例方式的框图;
图5显示了,本发明的训练系统中的传送设备的示例一般配置的框图;
图6显示了,根据本发明的训练系统中采用的训练屏幕数据显示的屏幕;
图7图解显示了,在传送设备中提供的成员表的示例内容;
图8所示流程图显示了,由传送设备执行的操作的流程;
图9所示流程图显示了,由传送设备执行的操作的流程;
图10所示流程图显示了,由传送设备执行的操作的流程;
图11显示了,本发明的训练系统中的教师终端的示例一般配置的框图;
图12图解显示了,在教师终端中提供的对应表的例子;
图13图解显示了,在教师终端中提供的选择表的例子;
图14所示流程图显示了,由本发明的训练系统中的终端执行的操作的流程;
图15所示流程图显示了,由本发明的训练系统中的终端执行的操作的流程;
图16所示流程图显示了,由本发明的训练系统中的终端执行的操作的流程;
图17所示顺序图说明了,利用本发明的训练系统执行的训练的例子;
图18图解显示了,在传送设备中提供的成员表的例子;
图19图解显示了,在本发明的训练系统中的学生终端中提供的对应表的例子;
图20图解显示了,在本发明的训练系统中的学生终端中提供的选择表的例子;
图21显示了,在学生终端中显示的训练屏幕的例子;
图22显示了,在教师终端中显示的训练屏幕的另一个例子;
图23显示了,在本发明的训练系统中的另一个学生终端中显示的训练屏幕的例子;
图24显示了,在教师终端中显示的训练屏幕的另一个例子;
图25显示了,在学生终端中显示的训练屏幕的又一个例子;
图26显示了,在教师终端中显示的训练屏幕的又一个例子;以及
图27显示了,在教师终端中显示的训练屏幕的又一个例子。
【具体实施方式】
[第一实施例]
1.一般配置:
图1显示了,根据本发明第一实施例的远程训练系统的示例一般配置的框图。
图1的远程训练系统包括:传送设备1,用于提供虚拟教室(以下简称为“教室”),以执行乐器演奏训练;教师终端2A,该教师终端2A要被登录到教室中的教师A用来提供乐器演奏训练;以及学生终端2B-2D,该学生终端2B-2D要被登录到教室中的学生用来接收乐器演奏训练。传送设备1、教师终端2A和学生终端2B-2D的每一个都以计算机的形式连接到网络3。网络3是分组通信网络,并且传送设备1、教师终端2A和学生终端2B-2D能够利用网络3来发送/接收(即传送)分组。此外,虽然没有专门显示,但是域名系统(DNS)服务器连接到网络3;DNS服务器从学生终端2B-2D接收各自的统一资源定位符(URL),并将与收到的URL中的域名相对应的通信地址,返回给学生终端。
要用于登录到教室中的预定URL预先被分配给教师A和学生B-D。而且,预先为教师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”。
乐器数字接口(MIDI)乐器41A、麦克风42A、扬声器43A和照相机44A连接到教师终端2A。
MIDI乐器41A是遵照MIDI的键盘乐器,并且如图2所示,MIDI乐器41A包括MIDI键盘411、MIDI音调发生器(T.G.)412和扬声器413。MIDI键盘411包括键盘、踏板和其它各种操作子。一旦教师或成员A操作任何一个操作子(operator),MIDI键盘411就产生MIDI数据,并将MIDI数据提供给MIDI音调发生器412。
MIDI音调发生器412根据所提供的MIDI数据,产生音调信号,并且如果MIDI数据是用于设置音色的数据,则MIDI音调发生器412根据所提供的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。
连接到学生终端2B-2D的麦克风42B-42D、扬声器43B-43D和照相机44B-44D的结构与连接到教师终端2A的麦克风42A、扬声器43A和照相机44A的结构相似。在以下说明中,MIDI乐器41A-41D一般将被称为“MIDI乐器41”,麦克风“42A-42D”一般将被称为“麦克风42”,扬声器43A-43D一般将被称为“扬声器43”,以及照相机44A-44D一般将被称为“照相机44”。
1-1.分组:
图3图解地显示了通过网络3传送的分组的数据格式或结构。如图3所示,分组包括:目的地址区P1,用于存储发送目的地(即发往)设备的通信地址;发送源地址区P2,用于存储发送源(即发自)设备的通信地址;以及数据区P3,用于存储由分组携带的数据的主体。在数据区P3,存储了任何训练材料数据、图像数据、演奏数据和命令。
训练材料数据是代表诸如乐谱的训练材料的内容和使用状况的数据。在系统中的训练的时候传送的数据的各种例子包括,被预先存储在传送设备1中的数据库或存储器中的数据(以下称为“静态数据”),以及在训练期间产生或改变的数据(以下称为“动态数据”)。训练材料数据的例子也包括这种静态数据和动态数据。
声音数据是从麦克风42提供给终端2的数据,并且代表成员A-D的相应之一的声音。例如,代表成员A的声音的声音数据是从麦克风42A提供给教师终端2A的数据。注意,所有的声音数据都是“动态数据”。
图像数据是从照相机44提供给终端2的数据,并且在视觉上代表成员A-D的相应之一的图像。例如,代表成员A的图像的图像数据是从照相机44A提供给教师终端2A的数据。注意,所有的图像数据都是“动态数据”。
演奏数据是代表MIDI乐器的演奏操作的数据。例如,MIDI乐器41A的演奏数据是,通过使时间数据与从MIDI乐器41A提供给教师终端2A的MIDI数据相联系而生成的数据。注意,所有的演奏数据都是“动态数据”。以下将参考图4,来描述产生并存储这种演奏数据的示例方式。
在图4所示的例子中,音符(note)C3和G3在时点t1被开启,并且在时点t2被关闭。然后,音符G3在时点t3被开启,并在时点t4被关闭。在该实施例中,每预置的获取时间(例如50ms),对连续产生的演奏数据进行分组。“t1”是第一获取时间内的时点,“t2”-“t4”是第一获取时间之后的第二获取时间内的时点。
在所示的例子中,在第一获取时间内产生了一个演奏数据。该演奏数据包括指示音符C3和G3被开启的MIDI数据和指示时点t1的时间数据的组合,并且在第一获取时间内产生的演奏数据被存储到一个分组中。注意,指示音符开启事件的MIDI数据也包含指示键按下强度(速率)的数据。
在第二获取时间内产生了三个演奏数据。这三个演奏数据中的第一个演奏数据包括,指示音符C3和G3被关闭的MIDI数据和指示时点t2的时间数据的组合,这三个演奏数据中的第二个演奏数据包括,指示音符G3被开启的MIDI数据和指示时点t3的时间数据的组合,以及这三个演奏数据中的第二个演奏数据包括,指示音符G3被关闭的MIDI数据和指示时点t4的时间数据的组合。这三个演奏数据一起被存储到一个分组中。
命令由传送设备1或终端2产生。终端2产生的命令的例子包括,登录命令、训练材料传送命令、模式改变命令和注销命令。传送设备1产生的命令的例子包括,登录通知命令、共享状态通知命令和图像传送命令。
登录命令是请求登录到教室的命令,并且登录命令包括URL和成员ID。训练材料传送命令是请求传送训练材料数据的命令。
模式改变命令是请求改变演奏数据传送模式的命令。该实施例中采用的演奏数据传送模式的例子包括:共享模式,在共享模式下,来自学生终端2B-2D的任何之一的演奏数据在所有终端2之间被共享;以及单独模式,在单独模式下,来自学生终端2B-2D的任何之一的演奏数据仅被发送给教师终端2A。注销命令是请求从教室注销的命令,并且注销命令包括URL。
此外,登录通知命令是用于通知成功地登录到教室的命令,并且登录通知命令包括已成功登录的成员的成员ID。图像传送命令是包括训练屏幕数据132的命令,将在后面详细描述训练屏幕数据132。
如图3所示,分组的数据区P3由以下区组成:主体区P31,用于存储数据的主体;产生源区P32,用于存储指示产生了数据主体的产生源的成员ID;以及类型区P33,用于存储指示数据主体的类型的类型数据。例如,指示MIDI乐器41A的演奏操作内容的演奏数据被存储在携带演奏数据的分组的主体区P31中,成员ID“A”被存储在产生源区P32中,以及指示所述数据是演奏数据的类型数据被存储在类型区P33中。
1-2.传送设备:
图5显示了传送设备1的示例一般配置的框图。
如图5所示,传送设备1包括中央处理器(CPU)11、随机存储器(RAM)12、硬盘13和通信部分14。通信部分14在CPU11与网络3之间中继分组。
硬盘13具有共享区131,跟随促使数据被存储在共享区131中。“跟随促使数据(follow-causing data)”是要在共享成员之间共享的训练数据或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是指示当前选择的、演奏数据要传送的演奏数据传送模式(共享模式或单独模式)的数据;在初始阶段,模式标志135指示共享模式。
成员表T1是这样的表,其中成员A-D与训练屏幕的显示区R3-R7相联系;特别是,通过使成员ID“A”-“D”与显示区R3-R7的惟一区号“R3”-“R7”相联系,来进行关联。尤其是,如图7所示,成员ID“A”与区号“R3”相联系,成员ID“B”与区号“R4”相联系,成员ID“C”与区号“R5”相联系,以及成员ID“D”与区号“R6”相联系。
成员表T1也存储成员的信息,并且每个成员的信息都包括,成员ID、成员的属性(即“教师”或“学生”)、成员的状态(即“登录”或“注销”)、以及该成员所使用的终端2的通信地址。图7举例显示了成员表T1的初值。例如,作为成员A的信息,成员ID“A”、成员属性“教师”和成员状态“注销”被存储在图7的成员表T1中。图7所示的例子中没有为成员A-D存储通信地址的原因是,这些成员A-D的每一个都处于“注销”状态。
管理程序136是用于使传送设备1的CPU11执行操作的程序,稍后将详细描述这些操作。一旦电源(未显示)被接通,CPU11就读出并执行管理程序136,在此期间RAM12用作CPU11的工作区。图8-10显示了由CPU11执行的操作的一部分。
1-3.终端:
图11显示了教师终端2A的示例一般配置的框图。如图11所示,教师终端2A包括:CPU21、RAM22、硬盘23、通信部分24、操作部分25、显示器26、MIDI接口27、声音输入/输出接口28以及照相机接口29。
通信部分24在CPU21与网络3之间中继分组。操作部分25可以被教师或成员A操作,并且操作部分25把与成员A对操作部分25的操作相对应的操作信号,提供给CPU21。成员A可以通过操作操作部分25,将各种指令输入到教师终端2A中。CPU21从操作部分25接收操作信号,并识别由成员A输入到教师终端2A中的指令。
显示器26包括帧存储器,并且利用写入帧存储器中的图像数据来显示图像。以预定的时间间隔重复地执行这种显示。MIDI接口27将MIDI数据中继给MIDI乐器41A,并从MIDI乐器41A中继MIDI数据。
声音输入/输出接口28将声音数据从麦克风42A中继到CPU21,并将声音数据从CPU21中继到扬声器43A。照相机接口29将图像数据从照相机44A中继到CPU21。
在RAM22中提供了:发送区222,其要用于演奏数据的发送;以及即刻重现区221,用于临时存储收到的演奏数据。为除成员A之外的成员的每一个(即成员B、C和D的每一个)提供这种即刻重现区221。
在硬盘23中,提供了训练材料区231、自身ID区232、屏幕区233、对应区234和选择区235。训练材料区231是训练材料数据被写入其中的区,自身ID区232是成员A的成员ID“A”被写入其中的区。屏幕区233是训练屏幕数据被写入其中的区,对应区234是稍后描述的对应表T2被写入其中的区,以及选择区235是稍后描述的选择表T3被写入其中的区。
对应表T2是将成员A-D与训练屏幕的显示区R3-R7相联系的表。如图12所示,对应表T2存储与上式成员表T1中存储的数据相似的数据。然而,在图12的对应表T2中,成员A的状态被记录为“自己”,而不是“登录”或“注销”。
选择表T3是指示显示区R3-R7的选择状态的数据表,如图13所示,在选择表T3中,显示区R3-R7的区号“R3”-“R7”与显示区R3-R7的选择状态(即“选中”和“未选中”)相关联地存储。
此外,在硬盘23中,提供了用于最终存储收到的演奏数据的MIDI区237。为除成员A之外的成员的每一个(即成员B、C和D的每一个)提供一个这种MIDI区237。
此外,在硬盘23中写有终端程序236。终端程序236是用于使CPU21执行将在后面描述的操作的程序。如果输入到教师终端2A的指令是启动终端程序236的执行的指令,则CPU21读出并执行终端程序236。那时,RAM22用作CPU21的工作区。如果输入到教师终端2A的指令是用于教室注销的指令,则CPU21终止终端程序236的执行。图14-16中显示了由CPU21根据终端程序236执行的操作的一部分,稍后将详细描述这些操作。
可以通过有线连接或无线连接,来连接每个接口。
学生终端2B-2D的结构类似于教师终端2A。
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的URL)中的域名相对应的通信地址,然后将通信地址写入RAM22中。然后,CPU21产生包括该URL和成员ID的登录命令,生成其主体区P31中存储有登录命令的分组,然后将这样生成的分组发送给传送设备1。因为,分组被编址到传送设备1,因此该分组将传送设备1的通信地址包含在其目的地址区P1中。此外,因为分组是从学生终端2B发送的,因此学生终端2B的通信地址被存储在发送源地址区P2中。该分组通过通信部分24和网络3被发送给传送设备1。
传送设备1的CPU11接收分组(图8的步骤SA1),并确定收到的分组是否包含有效的登录命令(步骤SA2)。因为登录命令被存储在收到的分组的主体区P31中,登录命令中的URL是预定的URL,以及登录命令中的成员ID“B”被存储在成员表T1中,因此步骤SA2的确定结果为“是”。因而,CPU11执行图9中的登录处理(步骤SA3)流程图。
在图9的登录处理中,在步骤SB1,CPU11在把成员B处理为共享成员的情况下,执行共享处理。在共享处理中,CPU11更新成员表T1,借此将成员B的状态从“注销”改变为“登录”,并将学生终端2B的通信地址存储为成员B所使用的终端2的通信地址。因而,成员表T1的内容被改变或更新,如图18所示。
此外,在共享处理中,CPU11生成第一至第三分组,并将生成的这些分组发送给学生终端2B。在这些分组的每一个的类型区P33中,存储有指示分组的类型是“命令”的类型数据。
在第一分组的主体区P31中,存储有包括成员ID“B”的登录通知命令。在第二分组的主体区P31中,存储有包括训练屏幕数据132的屏幕传送命令。在第三分组的主体区P31中,存储有包括成员表T1的共享状态通知命令。应该将第三分组发送给所有共享成员所使用的终端;然而,在该情况下,只将第三分组发送给学生终端2B,因为在该情况下,成员B是惟一的共享成员。
然后,在步骤SB2,CPU11参考主表T1,来确定成员B的属性是否为“教师”。因为成员B的属性是“学生”,因此步骤SB2的确定结果是“否”,从而CPU11在步骤SB3进一步确定当前是否存储有“跟随促使数据”。因为当前在共享区131中没有写入数据,因此步骤SB3的确定结果为“否”,使得CPU11终止登录处理。
学生终端2B的CPU21接收上述第一分组,并将收到的分组中的成员ID“B”写入自身ID区232中。CPU21也接收上述第二分组,并将收到的分组中的训练屏幕数据132写入屏幕区233中。CPU21也接收上述第三分组,并改变收到的分组中的成员表T1的内容,以便由此生成对应表T2。然后CPU21将对应表T2写入对应区234中。通过该变化,成员B的状态从“登录”改变为“自己”。因而,图19中所示的对应表T2被写入对应区234中。
此外,CPU21参考对应表T2,并且为其状态不是“自己”的成员的每一个(即,成员A、C和D的每一个),固定即刻重现区221和MIDI区237。即刻重现区221被固定在RAM22中,MIDI区237被固定在硬盘23中。此外,CPU21参考对应表T2,以生成选择表T3,并将生成的选择表T3写入硬盘23的选择区235中。在此,“登录”和“注销”状态被改变为“选中”状态,并且“自己”状态被该表为“未选中”状态。结果,图20中所示的选择表T3被写入选择区235中。
在那期间,照相机44B对成员B成像,并将指示成员B的图像的图像数据提供给学生终端2B。CPU21接收来自照相机44B的图像数据,生成其主体区P31中存储有收到的图像数据(动态数据)的分组,并将这样生成的分组发送给传送设备1。被发送的分组的类型区P33中具有指示分组的类型是“图像数据”的类型数据。
麦克风42B拾取成员B的声音,并将拾取的声音作为声音数据提供给学生终端2B。CPU21接收来自麦克风42B的声音数据,生成其主体区P31中存储有收到的声音数据(动态数据)的分组,并将这样生成的分组发送给传送设备1。被发送的分组的类型区P33具有指示分组的类型是“声音数据”的类型数据。
在这些分组的每一个的产生源区P32中,都存储有成员ID“B”。
CPU21将发送区222固定在RAM22中,并开始MIDI发送处理,如图14所示的流程图所示。在MIDI发送处理中,在步骤SC1,CPU21清除发送区222的存储内容。然后,CPU21设置发送定时器,一旦预定的获取时间过去了,该发送定时器就超时;然而,因为在该阶段,MIDI乐器41B还没有被操作,因此在没有任何数据被写入发送区222的情况下,发送定时器超时了(即,步骤SC2的确定结果为“否”,步骤SC3的确定结果为“否”,步骤SC2的确定结果为“否”,...,步骤SC2的确定结果为“是”)。因而,CPU21重复操作,以使已超时的发送定时器复位(即,步骤SC4、SC1、...的确定结果为“否”)。
传送设备1的CPU11接收来自学生终端2B的分组,然后CPU11确定收到的分组是否包含有效的登录命令(步骤SA1和SA2)。在该阶段收到的分组在主体区P31中存储有图像数据或声音数据,因此步骤SA2的确定结果为“否”。因此,CPU11参考成员表T1,以确定收到的分组的产生源区P32中的成员ID“B”所代表的成员(即成员B)是否为共享成员(步骤SA4)。因为成员B是共享成员,因此步骤SA4的确定结果为“是”,从而CPU11移动到步骤SA5,以执行分组处理。
收到的分组的类型区P33具有指示分组的类型是“图像数据”或“声音数据”的类型数据。因而,在分组处理中,CPU11提取分组的数据区P3中存储的数据,生成其数据区P3中存储有提取的数据的分组,然后设法将这样生成的分组发送给除成员B之外的所有共享成员的终端(即,图10的步骤SD1的确定结果为“否”,步骤SD2的确定结果为“否”,步骤SD3的确定结果为“否”,然后步骤SD4)。然而,因为在该阶段,成员B是惟一共享成员、并且因而没有作为分组的目的地的终端2,因此CPU11不发送生成的分组。即,来自学生终端2B的图像数据和声音数据在传送设备1中被丢弃。
此外,因为在该阶段,没有数据从其它任何终端发往学生终端2B,因此学生终端2B的CPU21利用来自照相机44B的图像数据、屏幕区233中存储的训练屏幕数据132、对应区234中存储的对应表T2、以及选择区235中存储的选择表T3,来生成代表训练屏幕的图像数据。然后,CPU21将这样生成的图像数据写入显示器26的帧存储器中。结果,如图21所示的训练屏幕被显示在显示器26上。在训练屏幕上,由选择表T3选中的显示区R3和R5-R7被粗线框突出,并且由来自照相机44B的图像数据代表的图像(即成员B的图像)被显示在显示区R4上,对应表T2将显示区R4与“自己”状态相联系。
2-2.成员A的登录:
接下来,在图17的训练例子中,成员A利用教师终端2A执行登录操作。尤其是,作为登录操作,成员A操作操作部分25发送预定的URL和成员ID“A”,并将登录到教室的指令输入到教师终端2A中。结果,教师终端2A的CPU21产生包括URL和成员ID的登录命令,生成其主体区P31中存储有登录命令的分组,然后将这样生成的分组发送给传送设备1。
传送设备1的CPU11接收分组,并执行登录处理(步骤SA1和SA2的确定结果为“是”,然后步骤SA3)。因为成员A的属性是“教师”(即,步骤SB2的确定结果为“是”),因此在该登录处理中不确定“跟随促使数据”的存在性。作为登录处理的结果,成员A变成了共享成员,并且成员表T1在传送设备1中被更新。在更新的成员表T1中,“登录”被注册为成员A的状态,并且教师终端2A的通信地址被存储为成员A所使用的终端2的通信地址。
此外,作为登录处理的结果,在教师终端2A中,成员ID“A”被写入自身ID区232中,对应表T2被写入对应区234中,以及选择表T3被存储在选择区235中。在此,在对应表T2中,成员A与“自己”状态相联系,并且在选择表T3中,显示区R3与“未选中”状态相联系。
因为成员A通过登录处理而成为共享成员,因此类似于上述第三分组的分组不仅被发送给教师终端2A,而且被发送给学生终端2B。学生终端2B接收该分组,利用收到的分组中存储的成员表T1生成对应表T2,并将对应表T2重写到对应区234中。即,学生终端2B的对应表T2被更新。更新之前与更新之后的对应表T2之间的惟一差别在于,成员A的状态从“注销”变为“登录”。
此外,通过登录处理,训练屏幕数据132被写入教师终端2A的屏幕区233中。
与上述操作并行地,教师终端2A的CPU21生成这样的分组,该分组的主体区P31中存储有从照相机44A收到的图像数据,并且教师终端2A的CPU21将这样生成的分组发送给传送设备1。CPU21也生成这样的分组,该分组的主体区P31中存储有从麦克风42A收到的声音数据,并且教师终端2A的CPU21将这样生成的分组发送给传送设备1。此外,学生终端2B的CPU21生成这样的分组,该分组的主体区P31中存储有从照相机44B收到的图像数据,并且学生终端2B将这样生成的分组发送给传送设备1。该CPU21也生成这样的分组,该分组的主体区P31中存储有从麦克风42B收到的声音数据,并且该CPU21将这样生成的分组发送给传送设备1。
传送设备1的CPU11接收来自教师终端2A的分组,并执行分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。因为该分组的类型区P33中包括指示分组的类型是“声音数据”或“图像数据”的类型数据,因此在分组处理中,CPU11提取收到的分组的数据区P3中存储的数据,生成其数据区P3中存储有提取的数据的分组,然后将这样生成的分组发送给除成员A之外的所有共享成员的终端2(即学生终端2B)(即,步骤SD1、SD2和SD3的确定结果为“否”,然后步骤SD4)。对从学生终端2B收到的分组执行类似的操作。以上述方式,将图像数据和声音数据从教师终端2A发送给学生终端2B,以及将图像数据和声音数据从学生终端2B发送给教师终端2A。
教师终端2A的CPU21接收编址到教师终端2A的分组。在该阶段收到的分组在其主体区P31中存储有图像数据或声音数据。如果收到的分组的类型区P33中存储了指示分组的类型是“声音数据”的类型数据,则CPU21将主体区P31中存储的声音数据提供给扬声器43A。结果,扬声器43A可听地产生成员B的声音。
另一方面,如果收到的分组的类型区P33中存储了指示分组的类型是“图像数据”的类型数据,则CPU21提取主体区P31中存储的图像数据,作为分组的产生源区P32中存储的成员ID(在该情况下为成员B)的图像数据。接下来,教师终端2A的CPU21利用成员B的图像数据、来自照相机44A的图像数据、屏幕区233中存储的训练屏幕数据132、对应区234中存储的对应表T2、以及选择区235中存储的选择表T3,生成代表训练屏幕的图像数据。然后,CPU21将这样生成的图像数据写入显示器26的帧存储器中。结果,如图22所示的训练屏幕被显示在显示器26上。
在训练屏幕上,由选择表T3选中的显示区R4-R7被粗线框突出,并且由来自照相机44A的图像数据代表的图像(即成员A的图像)被显示在显示区R3上,对应表T2将显示区R3与“自己”状态相联系,并且成员B的图像数据所代表的图像(即成员B的图像)被显示在显示区R4上,对应表T2将成员B与显示区R4相联系。
一般,以相同的方式,从扬声器43B可听地产生成员A的声音,并且将成员A和B的图像显示在学生终端2B的显示器26上。
2-3.成员C的登录:
接下来,在图17的训练例子中,成员C利用教师终端2C执行登录操作,传送设备1响应此操作,执行与响应成员B的登录操作而执行的上述登录处理相似的登录处理。通过登录处理,成员C变成共享成员,并且成员表T1在传送设备1中被更新。在更新的成员表T1中,“登录”被注册为成员C的状态,并且学生终端2C的通信地址被存储为成员C所使用的终端2的通信地址。
此外,作为登录处理的结果,在学生终端2C中,成员ID“C”被写入自身ID区232中,对应表T2被写入对应区234中,以及选择表T3被存储在选择区235中。在此,在对应表T2中,成员C与“自己”状态相联系,并且在选择表T3中,显示区R5与“未选中”状态相联系。
因为通过登录处理,成员C变成了共享成员,因此类似于上述第三分组的分组不仅被发送给教师终端2A,而且也被发送给学生终端2B。因而,在教师终端2A和学生终端2B中,都在对应区234中更新成员表T1。更新之前与更新之后的对应表T2之间的惟一差别在于,成员C的状态从“注销”变为“登录”。此外,通过登录处理,训练屏幕数据132被写入学生终端2C中的屏幕区233中。
最终,从扬声器43C可听地产生成员A和成员B的声音,并且如图23所示的训练屏幕被显示在学生终端2C的显示器26上。在图23所示的训练屏幕上,由选择区235中的选择表T3选中的显示区R3、R4、R6和R7被粗线框突出,由来自照相机44C的图像数据代表的图像(即成员C的图像)被显示在显示区R5上,对应区234中的对应表T2将显示区R5与“自己”状态相联系,并且成员A和B的图像数据所代表的图像(即成员A和B的图像)被显示在显示区R3和R4上,对应表T2将显示区R3和R4与成员A和B相联系。
一般,以同样的方式,从扬声器43A可听地产生成员B和C的声音,并且将成员A-C的图像显示在教师终端2A的显示器26上。此外,从扬声器43B可听地产生成员A和B的声音,并将成员A-C的图像显示在学生终端2B的显示器26上。
2-4.训练材料的传送:
在图17的训练例子中,成员A操作教师终端2A的操作部分25,以便将传送要用于乐器演奏训练的训练材料数据的请求输入到终端2A中。CPU21响应成员A的操作,接收从操作部分25产生的操作信号,并识别成员A所输入的请求。因为所识别的请求是传送要用于训练的训练材料数据的请求,因此,然后CPU21产生训练材料传送命令,生成其主体区P31中存储有这样产生的训练材料传送命令的分组,并将生成的分组发送给传送设备1。而且,该分组的类型区P33中具有指示分组的类型是“命令”的类型数据,以及在产生源区P32中具有成员ID“A”。成员ID“A”被写入自身ID区232中。
传送设备1的CPU11接收来自教师终端2A的分组,并执行图10的分组处理(即步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。因为分组的类型区P33中包括指示分组的类型是“命令”的类型数据,因此在分组处理中,CPU11确定命令是否为有效的注销命令(即,步骤SD1的确定结果为“是”,然后步骤SD5)。因为所述命令是训练材料传送命令,因此步骤SD5的确定结果为“否”,从而CPU11在步骤SD6参考成员表T1,进一步确定收到的分组的产生源区P32中的成员ID所代表的成员是否为“教师”。
因为收到的分组的产生源区P32中的成员ID是“A”,并且属性“教师”与成员ID“A”相联系,因此步骤SD6的确定结果为“是”。因而,CPU11在步骤SD7确定所述命令是否为训练材料传送命令,并且在该情况下,步骤SD7的确定结果为“是”。因此,CPU11从硬盘13读出乐谱数据133(静止数据)和显示页数据134(静止数据),并将这样读出的数据写入共享区131中。而且,CPU11生成其主体区P31中存储有这些训练材料数据的分组,并发送这样生成的分组(步骤SD8和SD4)。特别是,在此要发送的分组被编址到教师终端2A和学生终端2B和2C,并且该分组的类型区P33中具有指示分组的类型是“训练材料数据”的类型数据。
教师终端2A的CPU21接收编址到终端2A的分组,并将收到的分组中的训练材料数据写入训练材料区231中。然后,CPU21利用训练材料区231中存储的训练材料数据、来自照相机44A的图像数据、屏幕区233中存储的训练屏幕数据、对应区234中存储的对应表T2和选择表235中存储的选择表T3,来生成代表训练屏幕的图像数据。然后,CPU21将这样生成的图像数据写入显示器26的帧存储器中。结果,如图24所示的训练屏幕被显示在显示器26上。在训练屏幕的显示区R1上,显示有由训练材料区231中存储的乐谱数据当中的显示页数据代表的页的内容。
对学生终端2B和2C执行类似于上述操作的操作,并且,最终同样的乐谱被显示在教师终端2A和学生终端2B和2C上。
注意,如果其主体区P31中存储有训练材料传送命令的分组是从学生终端2B,而不是从教师终端2A,发送给传送设备1,则成员ID“B”被存储在分组的产生源区P32中。因为属性“学生”与成员ID“B”相联系,因此传送设备1的CPU11在不执行上述操作的情况下(即步骤SD6的确定结果为“否”),终止分组处理。即,在共享成员当中,只有教师A能够命令传送要用于乐器演奏训练的训练材料。
2-5.训练材料的翻页:
在图17的训练例子中,成员A操作教师终端2A的操作部分25,以便将翻训练材料的页的指令输入到终端2A中。CPU21响应成员A的操作,接收从操作部分25产生的操作信号,并识别成员A所输入的指令。因为所识别的指令是翻训练材料的页的指令,因此CPU21更新训练材料区231中的显示页数据,以便指示下一页的页号。然后,CPU21利用训练材料区231中存储的训练材料数据、成员B和C的图像数据、来自照相机44A的图像数据、屏幕区233中存储的训练屏幕数据、对应区234中存储的对应表T2和选择区235中存储的选择表T3,来生成代表训练屏幕的图像数据。然后,CPU21将这样生成的图像数据写入显示器26的帧存储器中。结果,下一页乐谱的内容被显示在教师终端2A的训练屏幕显示区R1上。
一旦显示页数据被更新,CPU21就生成其主体区P31中存储有更新的显示页数据(动态数据)的分组,并将这样生成的分组发送给传送设备1。该分组在产生源区P32中存储有成员ID“A”,并且在类型区P33中存储有指示分组的类型是“训练材料数据”的类型数据。
传送设备1的CPU11接收来自教师终端2A的分组,并执行分组处理(即步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。因为分组在类型区P33中包括指示分组的类型是“训练材料数据”的类型数据,因此在分组处理中,CPU11参考成员表T1,确定分组的产生源区P32中存储的成员ID所代表的成员的属性是否为“教师”(即,步骤SD1的确定结果为“否”,步骤SD2的确定结果为“是”,然后步骤SD9)。因为收到的分组的产生源区P32中的成员ID是“A”,并且属性“教师”与成员ID“A”相联系,因此步骤SD9的确定结果为“是”。
结果,在步骤SD10,CPU11将分组的主体区P31中存储的显示页数据写入共享区131中。即,CPU11更新共享区131中存储的显示页数据。然后,CPU11提取分组的数据区P3中存储的数据,生成其数据区P3中存储有提取的数据的分组,然后在步骤SD4、将这样生成的分组发送给当前用作共享成员的学生终端2B和2C。
学生终端2B的CPU21接收编址到终端2B的分组,并将分组的主体区P31中存储的显示页数据写入训练材料区231中,这是因为指示分组的类型是“训练材料数据”的类型数据被存储在收到的分组的类型区P33中。即,CPU21更新训练材料区231中的训练材料数据。最终,下一页乐谱的内容被显示在学生终端2B的训练屏幕显示区R1上。对学生终端2C执行类似于上述的操作。照这样,将下一页乐谱的内容显示在教师终端2A、学生终端2B和学生终端2C中。
注意,如果其主体区P31中存储有这种翻页数据的分组是从学生终端2B,而不是从教师终端2A,发送给传送设备1,则成员ID“B”被存储在分组的产生源区P32中。因为属性“学生”与成员ID“B”相联系,因此传送设备1的CPU11在不执行上述操作的情况下(即步骤SD9的确定结果为“否”),终止分组处理。即,在共享成员当中,只有教师A能够能够翻乐谱的页。
2-6.由成员A执行的MIDI音调发生器设置:
在图17的训练例子中,成员A操作MIDI乐器41A,以设置MIDI音调发生器412的音色。那时,MIDI数据从MIDI乐器41A被提供给教师终端2A,从而CPU21接收MIDI数据。一旦收到MIDI数据,正在执行图14的发送处理的CPU21就确定,收到的MIDI数据是乐器演奏训练不需要的、并且应该被过滤以避免超出训练边界的要求的数据(例如转储请求(dump request)),应该被过滤以减少要发送的数据量的数据(例如,不用于稍后描述的图像产生的MIDI数据,诸如代表踏板/键盘位置的连续值),还是因为不适合训练的级别和/或内容而应该被过滤的数据(即步骤SC3的确定结果为“是”,然后步骤SC6)。因为收到的MIDI数据是用于设置MIDI音调发生器412的音色的数据,因此步骤SC6的确定结果为“否”,从而CPU21移动到步骤SC7。在步骤SC7,CPU21通过使收到或输入的MIDI数据与指示当前时间的时间数据相联系,来产生演奏数据,并将这样产生的演奏数据写入发送区222中(步骤SC7)。CPU21重复这些操作,直到发送定时器超时为止。
一旦发送定时器超时,CPU21就在步骤SC4确定,当前是否有任何演奏数据被写入发送区222中。因为在该情况下,上述演奏数据当前被写入发送区222中,因此步骤SC4的确定结果为“是”。因此,CPU21从发送区222读出演奏数据,生成其主体区P31中存储有读出的演奏数据(动态数据)的分组,并将这样生成的分组发送给传送设备1(即,步骤SC2和SC4的确定结果为“是”,然后步骤SC5)。该分组在产生源区P32中存储有成员ID“A”,并且在类型区P33中具有指示分组的类型是“演奏数据”的类型数据。
传送设备1的CPU11接收来自教师终端2A的分组,并执行图10的分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。因为收到的分组在类型区P33中包括指示分组的类型是“演奏数据”的类型数据,因此在分组处理中,CPU11确定主体区P31中的演奏数据是否包括转储请求和转储响应(dump response)的至少之一(即,步骤SD1和SD2的确定结果为“否”,步骤SD3的确定结果为“是”,然后SD11)。因为分组的演奏数据是用于设置MIDI音调发生器412的音色的MIDI数据,因此步骤SD11的确定结果为“否”。
因而,在分组处理中,CPU11参考成员表T1来确定,分组的产生源区P32中存储的成员ID所代表的成员的属性是否为“教师”(步骤SD12)。因为收到的产生源区P32中的成员ID是“A”,并且属性“教师”与成员ID“A”相联系,因此步骤SD12的确定结果为“是”。因此,CPU11从分组的主体区P31中存储的演奏数据,提取用于设置MIDI音调发生器412的音色的MIDI数据,并且在步骤SD13将提取的MIDI数据(动态数据)写入共享区131中。
然后,CPU11提取分组的数据区P3中存储的演奏数据,生成其数据区P3中存储有提取的演奏数据的分组,然后在步骤SD4将这样生成的分组发送给学生终端2B和2C。
学生终端2B的CPU21接收编址到终端2B的分组。因为指示分组的类型是“演奏数据”的类型数据被存储在收到的分组的类型区P33中,因此CPU21确定是否有任何时间数据存储在收到的分组的主体区P31中。因为分组的主体区P31中存储了时间数据,因此CPU21提取主体区P31中的演奏数据,作为由产生源区P32中存储的成员ID代表的成员(在该情况下为成员A)的演奏数据,并将提取的演奏数据添加到为该成员提供的即刻重现区221上。然后,一旦从所述分组开始被接收的时点起,预置的裕量时间(例如500ms)过去了,CPU21就促使重现定时器开始利用最初被写入为成员A提供的即刻重现区221中的、作为初始时间值的时间数据值,来运行或测量时间,并且以并行方式、同时执行图15的即刻重现处理和图16的传送处理。注意,上述裕量时间被预置,以便吸收在网络3上发生的分组传输延迟的变化。
在即刻重现处理中,CPU21继续确定已达到预定重现定时的演奏数据是否存在于即刻重现区221中(即,步骤SE1和SE2的确定结果为否);通过对重现定时器的当前计数和即刻重现区221中存储的时间数据进行比较,来进行确定。一旦为成员A提供的即刻重现区221中所写入的演奏数据的重现定时到达,CPU21就参考对应表T2和选择表T3,来进一步确定已达到预定重现定时的演奏数据是否被选中为要重现的演奏数据(即,步骤SE2的确定结果为“是”,然后步骤SE3)。因为在该情况下,对应于成员A的显示区R3的选择状态是“选中”,因此步骤SE3的确定结果为“是”。
因而,在步骤SE4,CPU21对已达到预定重现定时的演奏数据执行重现处理。即,CPU21从已达到预定重现定时的演奏数据提取MIDI数据,并将提取的MIDI数据提供给MIDI乐器41B。因为提供给MIDI乐器41B的MIDI数据是用于设置MIDI音调发生器412的音色的数据,因此MIDI乐器41B的MIDI音调发生器412的音色按照所提供的MIDI数据被设置。
进一步,CPU21在步骤SE5确定,提供给MIDI乐器41B的MIDI数据是否包括可视化的MIDI数据。“可视化MIDI数据”是能够被转换为在演奏期间使用的诸如键盘或踏板的操作子的运动的MIDI数据。因为在该情况下,提供给MIDI乐器41B的MIDI数据是用于设置MIDI音调发生器412的音色的数据,因此步骤SE5的确定结果为“否”,从而CPU21不执行可视化处理。
在图16的传送处理中,CPU21重复把重现定时已过的演奏数据从即刻重现区221传送到成员A的MIDI区237的操作(即,步骤SF1的确定结果为“否”,步骤SF2的确定结果为“是”,然后步骤SF3),直到所有写入的演奏数据都从成员A的即刻重现区221传出为止(即,步骤SF1和SF2的确定结果为“是”,然后SF3)。一旦所有写入的演奏数据都从成员A的即刻重现区221传出,CPU21就终止传送处理和即刻重现处理(即,步骤SF1和SE1的确定结果为“是”)。
对学生终端2C执行类似于上述的操作。照这样,以类似于MIDI乐器41A的音色的方式,为MIDI乐器41B和41C的音调发生器设置音色。
2-7.成员A的演奏:
在图17的训练例子中,成员A操作MIDI乐器41A来演奏音乐。同样,在该情况下,CPU21生成其主体区P31中存储有演奏数据(动态数据)的分组,并将这样生成的分组发送给传送设备1。然而,分组的演奏数据中包括的MIDI数据不是用于设置MIDI音调发生器412的音色的数据,而是与由成员A执行的键盘或踏板的操作相对应的数据。
传送设备1的CPU11接收来自教师终端2A的分组,并执行分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。在该情况下,收到的分组在类型区P33中包括指示分组的类型是“演奏数据”的类型数据,主体区P31中存储的演奏数据中既没有包括转储请求,也没有包括转储响应,以及分组的产生源区P32中存储的成员ID所代表的成员的属性是“教师”。因此,在分组处理中,CPU11试图从主体区P31中存储的演奏数据,提取用于设置MIDI音调发生器412的音色的MIDI数据(即,步骤SD1和SD2的确定结果为“否”,步骤SD3的确定结果为“是”,步骤SD11的确定结果为“否”,步骤SD12的确定结果为“是”,然后步骤SD13)。
然而,因为分组的主体区P31中存储的MIDI数据是对应于键盘或踏板操作的数据,而不是用于设置MIDI音调发生器412的音色的数据,因此在上述MIDI数据提取中,CPU11失败了。因而,在该情况下,没有MIDI数据被写入共享区131中。然后,CPU11提取分组的数据区P3中存储的数据,生成其数据区P3中存储有提取的数据的分组,然后在步骤SD4将这样生成的分组发送给学生终端2B和2C。
学生终端2B的CPU21接收编址到终端2B的分组,并对分组执行类似于上述的操作。然而,因为分组的主体区P31中存储的演奏数据中包括的MIDI数据是对应于键盘或踏板操作的数据,因此MIDI乐器41B按照MIDI数据,可听地产生音调;即,从MIDI乐器41B输出了与成员A所执行的演奏操作相对应的音调。
此外,因为收到的分组的主体区P31中存储的演奏数据中包括的MIDI数据是对应于键盘或踏板操作的数据,因此该MIDI数据能够被转换为可视的形式,即能够被可视化,从而CPU21执行可视化处理(即,步骤SE5的确定结果为“是”,然后步骤SE6)。
在可视化处理中,如果到达预定重现定时的演奏数据中的给定MIDI数据是对应于键盘操作的数据,则CPU21利用该MIDI数据和模拟MIDI乐器41的键盘的图形图像,来产生代表键盘操作的图像数据。另一方面,如果到达预定重现定时的演奏数据中的给定MIDI数据是对应于踏板操作的数据,则CPU21利用该MIDI数据和模拟MIDI乐器41的踏板的图形图像,来产生代表踏板操作的图像数据。
然后,CPU21利用产生的图像数据、训练材料区231中存储的训练材料数据、成员B和C的图像数据、来自照相机44A的图像数据、屏幕区233中存储的训练屏幕数据132、对应区234中存储的对应表T2、和选择区235中存储的选择表T3,来生成代表训练屏幕的图像数据。此后,CPU21将这样生成的图像数据写入显示器26的帧存储器中。结果,如图25所示的训练屏幕被显示在显示器26上。在训练屏幕的显示区R8上,利用模拟键盘的图形图像,显示了代表键盘操作内容的图像。在训练屏幕的显示区R9上,利用模拟踏板的图形图像,显示了代表踏板操作内容的图像。此外,在训练屏幕上,以不同的颜色显示当前被按下的键和当前没有被按下的键,并且在不同的位置显示当前被踏上的踏板和当前没有被踏上的踏板。
对学生终端2C执行类似于以上的操作。照这样,从MIDI乐器41B和41C输出了与教师A的演奏相对应的音调,并且利用模拟键盘或踏板的图形图像,将由教师A执行的MIDI乐器41A的操作的内容显示在学生终端2B和2C上。
2-8.成员A的演奏:
在图17的训练例子中,成员B操作MIDI乐器41B,来演奏音乐。在该情况下,学生终端2B的CPU21生成其主体区P31中存储有演奏数据的分组,并将这样生成的分组发送给传送设备1。该分组中包含的演奏数据是这样的数据,其中对应于键盘或踏板操作的MIDI数据与时间数据相互联系。而且,成员ID“B”被存储在该分组的产生源区P32中。
传送设备1的CPU11接收来自学生终端2B的分组,并执行分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。在该情况下,收到的分组在类型区P33中包括指示分组的类型是“演奏数据”的类型数据,主体区P31中存储的演奏数据中既没有包括转储请求,也没有包括转储响应,以及分组的产生源区P32中存储的成员ID所代表的成员的属性是“学生”。因此,在分组处理中,CPU11确定,主体区P31中存储的演奏数据是否包括用于设置MIDI音调发生器412的音色的MIDI数据(即,步骤SD1和SD2的确定结果为“否”,步骤SD3的确定结果为“是”,步骤SD11和SD12的确定结果为“否”,然后步骤SD14)。
因为在该情况下,主体区P31中存储的演奏数据中包括的MIDI数据是对应于键盘或踏板操作的数据,因此步骤SD14的确定结果为“否”。因而,在步骤SD15,CPU11参考模式标志135,来确定当前的传送模式是否为共享模式。因为该阶段的传送模式是共享模式,因此CPU11提取分组的数据区P3中存储的数据,生成其数据区P3中存储有提取的数据的分组,然后将这样生成的分组发送给教师终端2A和学生终端2C(即,步骤SD15的确定结果为“是”,然后步骤SD4)。
教师终端2A的CPU21接收分组,并执行类似于上述的即刻重现处理和传送处理;在学生终端2C中也执行类似的操作。结果,从MIDI乐器41A和41C可听地产生了与学生B的演奏相对应的音调,并且利用模拟键盘或踏板的图形图像,将由学生B执行的MIDI乐器41B的操作的内容显示在终端2A和2C上。
正常地,一旦成员B通过操作MIDI乐器41B设置了MIDI音调发生器412的音色,其主体区P31中存储有演奏数据的分组就从学生终端2B被发送给传送设备1。然而,因为在该情况下,分组的产生源区P32中存储的成员ID所代表的成员的属性是“学生”,并且主体区P31中存储的演奏数据包括用于设置MIDI音调发生器412的音色的MIDI数据,因此传送设备1的CPU11在收到分组之后丢弃分组(即,步骤SD12的确定结果为“否”,步骤SD14的确定结果为“是”)。即,在共享成员当中,只有教师A才能传送用于设置MIDI音调发生器412的音色的MIDI数据。
2-9.成员B和C的同时演奏
在图17所示的训练例子中,成员A操作教师终端2A的操作部分25,以便将用于改变传送模式的指令输入到教师终端2A中。结果,其主体区P31中存储有模式改变命令的分组从教师终端2A被发送给传送设备1。该分组在产生源区P32中存储有成员ID“A”,并且在类型区P33中具有指示分组的类型是“命令”的类型数据。
传送设备1的CPU11接收来自教师终端2A的分组,并执行分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。在该情况下,收到的分组在类型区P33中包括指示分组的类型是“命令”的类型数据,分组的主体区P31中存储的命令不是有效的注销命令,教师A的成员ID“A”被存储在分组的产生源区P32中,以及主体区P31中存储的命令也不是训练材料传送命令。因而,在分组处理中,CPU11确定分组的主体区P31中存储的命令是否为模式改变命令(即,步骤SD1的确定结果为“是”,步骤SD5的确定结果为“否”,步骤SD6的确定结果为“是”,步骤SD7的确定结果为“否”,然后步骤SD16)。
因为分组的主体区P31中存储的命令是模式改变命令,因此步骤SD16的确定结果为“是”。因而,在步骤SD17,CPU11通过更新硬盘13中的模式标志,来改变演奏数据的传送模式;即,模式标志135从指示共享模式的设置被更新为指示单独模式的设置。
接下来,成员A操作教师终端2A的操作部分25,以便将用于仅仅选中显示区R4的指令输入教师终端2A中。响应成员A的操作,教师终端2A的CPU21更新选择区235中存储的选择表T3,使得只有显示区R4被选中。结果,如图26所示的训练屏幕被显示在教师终端2A的显示器26上,其中只有显示区R4被粗线框突出。
接下来,成员B和C同时演奏,以致于分组从学生终端2B和2C发送,并被传送设备1接收。其中对应于键盘或踏板操作的MIDI数据与时间数据相互联系的演奏数据被存储在分组的主体区P31中,并且指示分组的类型是“演奏数据”的类型数据被存储在分组的类型区P33中。此外,成员ID“B”被存储在发自学生终端2B的分组的产生源区P32中,并且成员ID“C”被存储在发自学生终端2C的分组的产生源区P32中。
传送设备1的CPU11接收来自学生终端2B和2C的分组,并执行分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。在该情况下,收到的分组的每一个都在类型区P33中包括指示分组的类型是“演奏数据”的类型数据。在收到的分组的每一个中,主体区P31中存储的演奏数据既没有包括转储请求,也没有包括转储响应,成员B或C的成员ID被存储在产生源区P32中,并且主体区P31中存储的演奏数据不包括用于设置MIDI音调发生器412的音色的MIDI数据。此外,在该阶段,由模式标志135指示的传送模式是单独模式。因而,在分组处理中,CPU11提取收到的分组的每一个的数据区P3中存储的数据,生成其数据区P3中存储有提取的数据的分组,然后将这样生成的分组发送给教师终端2A(即,步骤SD15的确定结果为“否”,然后SD18)。在该情况下,生成的分组不发送给学生终端2B和2C。
教师终端2A的CPU21接收来自传送设备1的分组。在收到的分组的每一个中,指示分组的类型是“演奏数据”的类型数据被存储在类型区P33中,并且具有时间数据的演奏数据被存储在主体区P31中。此外,成员ID“B”或“C”被存储在每一个分组的产生源区P32中。因而,CPU21将收到的分组的每一个的主体区P31中存储的演奏数据写入相应的即刻重现区221中,并且也执行类似于上述的即刻重现处理和传送处理。注意,一旦演奏数据已被写入成员B和C的即刻重现区221的任何之一,重现定时器就被起动、运行。
在该阶段,虽然与成员B相联系的显示区R4已被选中,但是与成员C相联系的显示区R5还未被选中。因此,在即刻重现处理中,CPU21对当前被写入成员B的即刻重现区221中的演奏数据,即成员B的演奏数据,执行重现处理和可视化处理(即,步骤SE1的确定结果为“否”,步骤SE2、SE3、SE4和SE5的确定结果为“是”,然后步骤SE6),但是CPU21不对当前被写入成员C的即刻重现区221中的演奏数据,即成员C的演奏数据,执行这种重现处理和可视化处理(即,步骤SE1的确定结果为“否”,步骤SE2的确定结果为“是”,然后步骤SE3的确定结果为“否”)。
结果,从MIDI乐器41A可听地产生的音调和学生B的演奏相对应,并且利用模拟键盘或踏板的图形图像,将由学生B执行的MIDI乐器41B的操作的内容显示在教师终端2A上。
只要,一旦完成即刻重现处理和传送处理,成员A操作教师终端2A的操作部分25,以便将仅仅选中显示区R5的指令和重现成员C的MIDI区237中写入的MIDI数据的指令,输入到教师终端2A中,就利用模拟键盘或踏板的图形图像,将由成员C执行的MIDI乐器41C的操作的内容显示在教师终端2A的训练屏幕上,并且从MIDI乐器41A可听地产生与成员C的演奏相对应的音调。
2-10.写:
在图17的训练例子中,成员A操作教师终端2A的操作部分25,以便将用于把图形图像写到乐谱上的指令输入到教师终端2A中。响应成员A的操作,教师终端2A的CPU21产生、并将相应的“写数据”写入训练材料区231中,从而如图27所示的训练屏幕被显示在教师终端2A的显示器26上。乐谱的内容被显示在训练屏幕的显示区R1上,训练屏幕的显示区R1也指示图形图像已被写在乐谱上。CPU21也生成其主体区P31中存储有产生的写数据(动态数据)的分组,并将这样生成的分组发送给传送设备1。在收到的分组中,成员ID“A”被存储在产生源区P32中,并且指示分组的类型是“训练材料数据”的类型数据被存储在类型区P33中。
传送设备1的CPU11接收来自教师终端2A的分组,并执行分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为是,然后步骤SA5)。在收到的分组中,指示分组的类型是“训练材料数据”的类型数据被存储在类型区P33中,并且成员ID“A”被存储在产生源区P32中,如上所述。因而,在分组处理中,CPU11将分组的主体区P31中存储的写数据写入共享区131中(即,步骤SD1的确定结果为“否”,步骤SD2和SD9的确定结果为“是”,然后步骤SD10)。接下来,CPU11提取收到的分组的数据区P3中存储的数据,生成其数据区P3中存储有提取的数据的分组,然后将这样生成的分组发送给学生终端2B和2C(步骤SD4)。
学生终端2B的CPU21接收来自传送设备1的分组。在收到的分组中,指示分组的类型是“训练材料数据”的类型数据被存储在类型区P33中,并且写数据被存储在主体区P31中。CPU21把写数据加到训练材料区231上。结果,响应教师A的指令而被写入的图形图像和乐谱一起,被显示在学生终端2B的训练屏幕的显示区R1上。在学生终端2C中,执行类似于上述的操作。
在其主体区P31中存储有写数据的分组错误地,例如通过学生B的错误操作,从学生终端2B发送给传送设备1的情况下,因为学生B的成员ID“B”被存储在产生源区P32中,因此传送设备1的CPU11在不执行上述操作的情况下,终止分组处理(即步骤SD9的确定结果为“否”)。即,在共享成员当中,只有教师A才能写到乐谱上。
2-11.成员D的登录:
在图17的训练例子中,成员D利用学生终端2D执行登录操作。除了传送“跟随促使数据”之外,登录操作和响应登录操作而将被执行的各种处理与上述类似,因而以下段落只描述关于“跟随促使数据”传送的行为。
一旦从学生终端2D收到了其主体区P31中存储有有效登录命令的分组,传送设备1的CPU11就执行登录处理(即,步骤SA1和SA2的确定结果为“是”,然后步骤SA3)。在该情况下,成员ID“D”被包括在分组的主体区P31中存储的登录命令中,并且“跟随促使数据”被写入共享区131中。因此,CPU11在把成员D作为共享成员的情况下、执行共享处理之后,执行跟随促使数据发送处理(即,步骤SB1和SB2的确定结果为“否”,步骤SB3的确定结果为“是”,然后步骤SB4)。
在跟随促使数据发送处理中,CPU11从共享区131提取乐谱数据133(静态数据)、显示页数据(动态数据)和写数据(动态数据),生成其主体区P31中存储有提取的数据的分组,并将这样生成的分组发送给学生终端2D。指示分组的类型是“训练材料数据”的类型数据被存储在分组的类型区P33中。而且,CPU11从共享区131提取MIDI数据(动态数据),生成其主体区P31中存储有提取的数据的分组,并将这样生成的分组发送给学生终端2D。指示分组的类型是“演奏数据”的类型数据被存储在分组的类型区P33中。
学生终端2D的CPU21接收这些分组。对于其中指示分组的类型是“训练材料数据”的类型数据被存储在类型区P33中的分组,CPU21将分组的主体区P31中存储的跟随促使数据写入训练材料区231中。结果,与其它终端2的训练屏幕的显示区R1上所显示的相同的屏幕,被显示在学生终端2D的训练屏幕的显示区R1上。
对于其中指示分组的类型是“演奏数据”的类型数据被存储在类型区P33中的分组,CPU21将MIDI数据提供给MIDI乐器41D,因为分组的主体区P31中没有存储数据。结果,MIDI乐器41D的MIDI音调发生器412被设置为与其它MIDI乐器41A、41B和41C中一样的音色。
2-12.成员D的注销:
在图17的训练例子中,成员D利用学生终端2D来执行注销操作。首先,在注销操作中,成员D利用操作部分25,来发送预先分配的预定URL和成员ID“D”,以及将用于教室注销的指令输入到学生终端2D中。结果,主体区P31中存储有带有预定URL的注销命令的分组从学生终端2D被发送给传送设备1。成员ID“D”被存储在分组的产生源区P32中。一旦完成操作,CPU11就终止终端程序236的执行。
传送设备1的CPU11接收分组,并执行分组处理(即,步骤SA1和SA2的确定结果为“否”,步骤SA4的确定结果为“是”,然后步骤SA5)。在该情况下,收到的分组在类型区P33中包括指示分组的类型是“命令”的类型数据,具有预定URL的注销命令被存储在主体区P31中,作为共享成员的成员D的成员ID“D”被存储在分组的产生源区P32中。因此,在分组处理中,CPU11执行注销处理(即,步骤SD1和SD5的确定结果为“是”,然后步骤SD19)。
在注销处理中,CPU11将分组的产生源区P32中存储的成员ID的成员改变为“非共享成员”状态,并据此更新成员表T1。通过成员表T1的这种更新,成员D的状态从“登录”改变为“注销”,并且成员D所使用的终端2的通信地址从成员表T1中被删除。此外,在注销处理中,CPU11将类似于上述第三分组的分组,发送给教师终端2A和学生终端2B和2C。该分组在主体区P31中具有包括最近成员表T1的共享状态通知命令。
从以上描述,应该很明显地看出其后的行为,因而省略对其的说明。
如至今所述的,一旦收到成员表T1中注册的成员ID,传送设备1的CPU11就将已发送数据的终端的通信地址与成员ID相联系地注册在成员表T1中。而且,一旦收到训练材料传送命令,CPU11就确定与已发送数据的终端的通信地址相联系的成员表T1中注册的属性是否为“教师”。如果该属性被确定为“教师”,则CPU11将训练材料发送给其各自通信地址被注册在成员表T1中的所有终端。即,成员A仅仅通过将下载训练材料的指令输入到教师终端2A中,就允许当前登录到教室中的所有成员共享训练材料。进一步,因为CPU11自动地执行处理,来允许新近登录到教室中的给定成员的环境跟随比该给定成员更早登录到教室的另一个成员的环境,因此有可能大大减轻成员的负担。
3.附加说明:
可以以不同方式更改上述的远程训练系统的实施例,如下所述。
例如,在训练平面的显示区R8上显示的、代表键盘操作内容的图像中,当前被按下的每个键可以随键按下强度而变。
本发明的远程训练系统可以应用于除键盘乐器之外的其它任何乐器的训练,诸如象鼓的打击乐器的训练。
此外,可以在发送端终端中执行MIDI数据的可视化。即,发送端终端可以利用模拟键盘的图形图像,来生成和发送代表键盘或踏板的操作内容的图像,从而接收端终端能够接收图像,并显示收到的图像。
此外,可以将本发明的远程训练系统配置成,不执行以下处理:允许新近登录到教室中的给定成员的环境跟随比该给定成员更早登录到教室的另一个成员的环境。
此外,可以将传送设备配置成,不仅将发自教师终端的数据,而且将发自任何一个学生终端的数据,写入共享区中。
此外,要共享的数据可以是除上述之外的形式,诸如指示从教师到任何学生的指令的文本数据。
此外,可以将教师终端配置成,执行传送设备的功能。
而且,可以在传送设备与终端之间建立多个通信连接,使得可以根据要发送的数据的类型,来选择性地使用任何一种期望的通信连接。如果通信连接是基于传输控制协议/网际协议(TCP/IP)的,则使用TCP的端口号,来代替上述类型数据。
此外,如上所述,终端2的CPU21通过通信部分24,来接收与MIDI乐器41的键盘或踏板的操作内容相对应的MIDI数据,根据收到的MIDI数据、利用模拟键盘或踏板的图形图像,来生成代表操作内容的图像,以及将这样生成的图像显示在显示器26上。终端的用户能够通过观看显示的图像,来在视觉上检查乐器的操作。进一步,本发明能够通过过滤数据,例如训练不需要的并且不用于图像生成的、代表键盘或踏板的连续位置值的MIDI数据或转储请求,来避免浪费的发送。通过过滤,有可能避免浪费的发送。
尽管在上述的本发明第一实施例中,MDID数据接收端的终端生成键盘或踏板的图像,但是可以在上述其它装置的任何之一中生成键盘或踏板的图像,如以下将要描述的。
[第二实施例]
在本发明的第二实施例中,在中继MIDI数据的传递设备1中生成键盘的图像或踏板的图像。即,在第二实施例中,这样更改以上相对于第一实施例描述的管理程序和终端程序,以致于传送设备1接收MIDI数据,以便利用模拟键盘的图形图像来生成代表键盘或踏板的操作内容的图像,以及将这样生成的图像数据发送给任何终端,使得终端能够显示图像数据所代表的图像。
在第二实施例中,接收端终端不必具有使MIDI数据可视化的功能。虽然图像数据的发送正常需要比MIDI数据发送更宽的通信频带,但是可以这样更改第二实施例,以致于如果接收端终端具有使MIDI数据可视化的功能,则传送设备1照原样将MIDI数据发送给终端,但是如果接收端终端不具有使MIDI数据可视化的功能,则传送设备1利用模拟键盘的图形图像,直接将代表操作内容的图像的图像数据发送给终端。利用这种更改,实施例能够在不大大增加数据通信量的情况下,近似地处理没有MIDI数据可视化功能的终端。
[第三实施例]
在第三实施例中,MIDI数据发送端的终端利用模拟键盘的图形图像,来生成代表键盘或踏板操作内容的图像。即,在该实施例中,这样更改以上相对于第一实施例描述的管理程序和终端程序,以致于发送端终端利用从MIDI乐器41输入的MIDI数据,利用模拟键盘的图形图像来生成代表键盘或踏板操作内容的图像,以及将这样生成的图像数据发送给传送设备1。在该情况下,传送设备1接收图像数据,然后将图像数据传送给另一个终端,使得另一个终端接收图像数据,以显示图像数据所代表的图像。在第三实施例中,接收端终端不必具有使MIDI数据可视化的功能。
[进一步的附加说明]
可以以各种方式更改上述的远程训练系统的实施例,如下所述。
任何终端都可以利用从连接到该终端的MIDI乐器输入的MIDI数据,以利用模拟键盘的图形图像来显示代表键盘或踏板操作内容的图像。
此外,MIDI数据接收端的终端可以在没有传送设备1的介入的情况下,接收发自发送端终端的MIDI数据,并且可以利用收到的MIDI数据,以利用模拟键盘的图形图像来显示代表键盘或踏板操作内容的图像。
此外,可以这样更改第一实施例,使得代表键盘或踏板的连续位置值的MIDI数据在传送设备中受到过滤。
作为从上述说明提取的技术思想,可以提供这样的程序,该程序用于促使计算机起以下作用:输入装置,用于输入从乐器输出的、并代表乐器的演奏的演奏数据;生成装置,用于利用演奏数据和模拟乐器的图形图像,来生成表示由通过输入装置收到的演奏数据代表的演奏的图像;以及显示装置,用于显示由生成装置生成的图像。