首页> 中国专利> 用于音乐会话的音乐演奏系统和组成乐器

用于音乐会话的音乐演奏系统和组成乐器

摘要

提供了一种用于音乐会话的音乐演奏系统和组成乐器。当演奏者选择性地按压和释放主乐器(PC)的键(1Aa)时,利用键运动数据来表示真实键移动,并且推测在比当前时刻滞后了等于通信时间延迟的时间段(D)的时刻处的、在键运动数据的基础上确定的键轨迹上的键(1Aa)的物理量;将所推测的物理量通过因特网(N)发送给从属乐器(PD),并且在所推测的物理量的基础上再现键移动,使得主乐器(PC)上的演奏与从属乐器(PD)上的演奏同步。

著录项

  • 公开/公告号CN101414460A

    专利类型发明专利

  • 公开/公告日2009-04-22

    原文格式PDF

  • 申请/专利权人 雅马哈株式会社;

    申请/专利号CN200810169080.8

  • 发明设计人 古川令;藤原佑二;

    申请日2008-10-20

  • 分类号G10H1/00;G10F1/02;

  • 代理机构北京市柳沈律师事务所;

  • 代理人邸万奎

  • 地址 日本静冈县

  • 入库时间 2023-12-17 21:49:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-12

    未缴年费专利权终止 IPC(主分类):G10H1/00 授权公告日:20120523 终止日期:20171020 申请日:20081020

    专利权的终止

  • 2012-05-23

    授权

    授权

  • 2009-06-17

    实质审查的生效

    实质审查的生效

  • 2009-04-22

    公开

    公开

说明书

技术领域

本发明涉及一种用于彼此远离的演奏者的音乐演奏系统,更具体地涉及一种具有可通过通信网络互相通信的多个乐器的音乐演奏系统。

背景技术

自动演奏器钢琴是原声钢琴和自动演奏系统之间的组合,人类演奏者或者利用计算机化的键驱动系统实现的自动演奏器在原声钢琴上演奏音乐曲调。自动演奏器具有螺线管控制(solenoid-operated)的键致动器,作为示例,所述键致动器被安装在键盘之下,并且在音乐数据的基础上、在计算机系统的控制下被选择性地激励。

自动演奏器钢琴可以用于音乐演奏系统。在日本专利申请特许公开No.2006-178197中公开了音乐演奏系统的示例。将两个自动演奏器钢琴合并到现有技术的音乐演奏系统中。所述自动演奏器钢琴中的一个充当主乐器,另一个充当从属乐器。当人类演奏者在主乐器上用手指弹奏音乐曲调时,在主乐器的计算机系统中产生表示主乐器上的演奏的音乐数据代码,所述音乐数据代码被传递到从属乐器的计算机系统。在从属乐器的计算机系统中分析被存储在所述音乐数据代码中的音乐数据,并且通过该分析来确定要移动的键和键的目标轨迹。以这样的方式激励用于要移动的键的螺线管控制的键致动器:螺线管控制的键致动器的活塞强迫所述键在目标轨迹上行进。结果,从属乐器的弦槌被驱动旋转,并且使从属乐器的弦槌与琴弦碰撞,以便在没有在从属乐器上用手指弹奏的情况下产生钢琴音调。这样,人类演奏者借助于自动演奏系统而通过主乐器和从属乐器二者演奏音乐曲调。

在以下描述中,术语“音乐会话(music session)”是指实时演奏,在该实时演奏中,表示组成乐器之一上的手指弹奏的音乐数据通过通信网络而被传递到另一组成乐器以进行自动演奏,并且反之亦然,以便在组成乐器上演奏音乐曲调。

尽管现有技术的音乐演奏系统允许人类演奏者通过主乐器键盘上的手指弹奏来驱动从属乐器的键,但是现有技术的音乐演奏系统的发明者并没有以主乐器和从属乐器之间的音乐会话为目标。音乐数据单向地从主乐器流动到从属乐器。从属乐器的自动演奏系统仅仅再现主乐器的键的移动。没有考虑音乐会话。

即使主乐器的角色和从属乐器的角色在这两个自动演奏器钢琴之间动态地改变,音乐会话也不会流畅地进行。在主乐器上的手指弹奏和通过从属乐器产生的音调之间出现时间延迟(lag)。该时间延迟部分是因为从主乐器到从属乐器的数据传递,并且螺线管控制的键致动器花费了几百毫秒量级的时间段。数据传输时间延迟被加到机械时间延迟上,并且总时间延迟使得不可能在主乐器和从属乐器之间以良好的合奏来演奏音乐曲调。然而,在现有技术的音乐演奏系统中没有合并任何针对该时间延迟的防范措施。在自动演奏器钢琴通过诸如因特网的数据通信网络而互相连接时,上述问题变得严重了。

发明内容

因此,本发明的一个重要目的是提供一种音乐演奏系统,其使得可减少在组成乐器上的手指弹奏和通过另一组成乐器产生的音调之间的时间延迟。

本发明的另一重要目的是提供一种乐器,其形成所述音乐演奏系统的一部分。

为了达到所述目的,本发明提出推测(presume)操纵器的预期移动,以便通过另一乐器的操纵器再现该预期移动。

根据本发明的一个方面,提供了一种用于音乐演奏的音乐演奏系统,其包括多个乐器、通信信道和预期数据产生器,所述多个乐器的每一个包含:多个操纵器,被选择性地移动以便指定要产生的音调;音调生成器,被连接到所述多个操纵器以便产生所述音调;致动器,被与所述多个操纵器相关联地提供,并且所述致动器响应驱动信号,以便在没有人类演奏者的任何手指弹奏的情况下,再现所述多个乐器中的另一个的多个操纵器的预期移动;转换器,其监控所述多个操纵器并且产生检测信号,该检测信号代表表示所述多个乐器的所述每一个的所述多个操纵器的真实移动的物理量;通信器,其将表示所述多个乐器的所述每一个的多个操纵器的预期移动或真实移动的演奏数据发送给所述多个乐器中的另一个,并且从所述多个乐器中的所述另一个接收表示所述多个乐器中的所述另一个的多个操纵器的预期移动或真实移动的其它演奏数据;数据产生器,被连接在转换器和通信器之间,并且从由所述检测信号表示的所述物理量产生表示所述真实移动的演奏数据;以及信号产生器,被连接在通信器和致动器之间,并且从表示所述预期移动的其它演奏数据产生驱动信号,以便将所述驱动信号提供给致动器;所述通信信道连接到所述多个乐器的通信器,并且在所述多个乐器的所述每一个和所述多个乐器中的所述另一个之间传送演奏数据和其它演奏数据,所述预期数据产生器被与所述多个乐器的所述每一个的数据产生器或者所述多个乐器中的所述另一个的数据产生器相关联地提供,以便使数据产生器产生表示所述预期移动的演奏数据或表示所述预期移动的其它演奏数据,来代替表示所述真实移动的演奏数或表示所述真实移动的其它演奏数据,或者,所述预期数据产生器被与所述多个乐器的所述每一个的信号产生器或所述多个乐器中的所述另一个的信号产生器相关联地提供,以便从表示所述真实移动的其它演奏数据或表示所述真实移动的演奏数据,产生表示所述预期移动的其它演奏数据或表示所述预期移动的演奏数据,其中,所述预期数据产生器在表示所述真实移动的演奏数据或表示所述真实移动的其它演奏数据的基础上,推测在比所述真实移动发生的时刻滞后了预定时间段的时刻处的所述多个操纵器的预期移动,从而产生表示所述预期移动的演奏数据或表示所述预期移动的其它演奏数据。

根据本发明的另一方面,提供了一种用于音乐演奏的乐器,包括:多个操纵器,被选择性地移动以便指定要产生的音调;音调生成器,被连接到所述多个操纵器以便产生所述音调;转换器,其监控所述多个操纵器,并且产生检测信号,所述检测信号代表表示所述多个操纵器的真实移动的物理量;数据产生器,被连接到所述转换器,并且从由所述检测信号表示的物理量产生表示所述真实移动的演奏数据;预期数据产生器,被连接到所述数据产生器,并且在表示所述真实移动的演奏数据的基础上,推测在比所述真实移动发生的时刻滞后了预定时间段的时刻处的所述多个操纵器的预期移动;以及通信器,被连接在预期数据产生器和通信信道之间,并且将表示所述预期移动的演奏数据通过通信信道发送到另一个乐器,以便使所述另一个乐器通过所述另一个乐器的多个操纵器再现所述预期移动。

根据本发明的另一方面,提供了一种用于音乐演奏的乐器,包括:多个操纵器,被选择性地移动以便指定要产生的音调;音调生成器,被连接到所述多个操纵器以便产生所述音调;致动器,被与所述多个操纵器相关联地提供,并且所述致动器响应驱动信号,以便在没有人类演奏者的任何手指弹奏的情况下,再现另一个乐器的多个操纵器的预期移动;通信器,从所述另一个乐器接收表示所述另一个乐器的所述多个操纵器的真实移动的演奏数据;预期数据产生器,被连接到通信器,并且在表示所述真实移动的演奏数据的基础上,推测在比所述真实移动发生的时刻滞后了预定时间段的时刻处的所述多个操纵器的预期移动,从而产生表示所述预期移动的演奏数据;以及信号产生器,被连接到预期数据产生器,并且从表示所述预期移动的演奏数据产生驱动信号,以便通过所述多个操纵器再现所述另一个乐器的所述多个操纵器的预期移动。

附图说明

根据结合附图进行的以下描述,将更清楚地理解音乐演奏系统和组成乐器的特征和优点,在附图中:

图1是示出本发明的音乐演奏系统的系统配置的框图,

图2是示出被合并在自动演奏器钢琴中的原声钢琴的结构和其它系统的配置的横截面视图,

图3是示出被合并在自动演奏器钢琴中的控制系统的系统配置的框图,

图4是示出音乐会话中的作业序列的流程图,

图5是示出本发明的另一音乐演奏系统的系统配置的框图,

图6示出了用于音乐会话的作业序列。

图7是示出音乐会话中的作业序列的流程图,

图8是示出用于音乐会话的准备工作中的作业序列的流程图,

图9A和图9B示出被合并在音乐会话的子例程中的作业序列的流程图,

图10是示出自动演奏器钢琴在音乐会话中的功能的框图,

图11是示出用于推测音乐会话中的对应键的键位置和键速度的作业序列的流程图,

图12是示出标准手指弹奏中的键的轨线和半行程键移动中的键的轨线的波形图,

图13是示出在估计键轨迹、推测键轨迹和实际键轨迹上的键位置相对于时间的图,

图14是示出在估计键轨迹、推测键轨迹和实际键轨迹上的键速度相对于时间的图,

图15是示出用于测量通信时间延迟的作业序列的流程图,

图16是示出用于周期性地测量通信时间延迟的作业序列的流程图,

图17是示出主乐器中的实际键轨迹、推测键轨迹trEB、以及从属乐器中的实际键轨迹相对于时间的图,

图18是示出用于确定机械时间延迟的作业序列的流程图,

图19是示出本发明的另一音乐演奏系统的系统配置的框图,

图20是示出音乐会话中的作业序列的流程图,

图21是由键运动估计器执行的作业序列的流程图,

图22是示出本发明的另一音乐演奏系统的系统配置的框图,

图23是示出音乐会话中的作业序列的流程图,

图24是示出用于产生推测键事件数据代码的作业序列的流程图,

图25是示出键轨迹上的推测键位置的曲线图,

图26是示出用于确定总延迟时间的作业序列的流程图,

图27是示出本发明的另一音乐演奏系统的系统配置的框图,

图28是示出音乐会话中的作业序列的流程图,以及

图29是示出用于产生推测键事件数据代码的作业序列的流程图。

具体实施方式

实施本发明的音乐演奏系统主要包括多个乐器、通信信道和预期数据产生器。所述多个乐器连接到通信信道,使得所述多个乐器中的每一个将多个演奏数据和其它演奏数据传递到所述多个乐器中的另一个,或者从所述多个乐器中的另一个接收多个演奏数据和其它演奏数据,以便进行音乐演奏。当通过通信信道传播多个演奏数据和其它演奏数据时,在向通信信道发送和从通信信道接收之间引入时间延迟。

在以下描述中,术语“主乐器”表示从中将演奏数据发送到所述多个乐器中的另一个的乐器,术语“从属乐器”表示接收演奏数据的乐器。

与所述多个乐器中的至少一个相关联地提供预期数据产生器。在与主乐器相关联地提供预期数据产生器的情况下,该预期数据产生器基于表示真实移动的演奏数据来推测其多个操纵器的预期移动。所述预期移动在比真实移动发生的时刻滞后预定时间段的时刻发生。预期数据产生器产生表示预期移动的演奏数据,并且主乐器将该演奏数据通过通信信道发送到从属乐器。从属乐器通过其多个操纵器引起预期移动。

另一方面,在与从属乐器相关联地提供预期数据产生器的情况下,主乐器将表示多个操纵器的真实移动的演奏数据发送给从属乐器,预期数据产生器基于表示该真实移动的演奏数据来推测预期移动,并且从属乐器通过其多个操纵器再现该预期移动。

在任一情况下,通过从属乐器的多个操纵器来实现所述预期移动。尽管在演奏数据通过通信信道的传播期间引入了时间延迟,但是通过真实移动和预期移动之间的时间差,消除了该时间延迟的至少一部分。这使得在与主乐器的多个操纵器的移动的定时更接近的定时移动从属乐器的多个操纵器。

更详细地讲,所述多个乐器中的每一个包括多个操纵器、音调生成器、致动器、转换器、通信器、数据产生器和信号产生器。在音乐演奏中,人类演奏者选择性地按压所述多个乐器,以便指定要产生的音调。音调生成器连接到所述多个操纵器,并且通过该音调生成器产生音调。与所述多个操纵器相关联地提供致动器,并且致动器响应于驱动信号,在没有人类演奏者的任何手指弹奏的情况下再现所述多个乐器中的另一个的多个操纵器的预期移动。还与所述多个操纵器相关联地提供转换器,并且转换器监控所述多个操纵器以便产生检测信号。该检测信号代表表示所述多个操纵器的真实移动的物理量。在所述乐器充当主乐器的情况下,通信器将表示预期移动或真实移动的演奏数据发送给所述多个乐器中充当从属乐器的另一个乐器。另一方面,在所述乐器充当从属乐器的情况下,通信器从所述乐器接收表示预期移动或真实移动的其它演奏数据。

数据产生器连接在转换器和通信器之间,并且根据由检测信号表示的物理量,产生表示真实移动的演奏数据。在与主乐器相关联地提供预期数据产生器的情况下,该预期数据产生器连接在数据产生器和通信器之间,使得将表示预期移动的演奏数据发送到从属乐器。在与从属乐器相关联地提供预期数据产生器的情况下,将演奏数据从数据产生器直接提供给通信器,并且将演奏数据发送到从属乐器。

信号产生器连接在通信器和通信器和致动器之间,并且从表示预期移动的其它演奏数据产生驱动信号,以便将该驱动信号提供给致动器。在与从属乐器相关联地提供预期数据产生器的情况下,预期数据产生器连接在通信器和信号产生器之间,使得将表示预期移动的演奏数据提供给信号产生器。另一方面,在与主乐器相关联地提供预期数据产生器的情况下,在演奏数据到达从属乐器之后,将表示预期移动的演奏数据从通信器直接提供给信号产生器。

在以下描述中,术语“前面”表示比用术语“后面”修饰的位置更靠近演奏者的位置,所述演奏者正坐在凳子上用手指弹奏。在前面位置和对应的后面位置之间画的线沿“纵向”延伸,并且纵向以直角与“横向”相交。“上下方向”垂直于由纵向和横向定义的平面。

术语“轨线”表示键经过的一系列键位置值,术语“轨迹”是指随时间一起变化的一系列键位置值,即,随着该系列值与时间之间的关系变化的一系列键位置值。

第一实施例

系统配置

首先参照附图的图1,实施本发明的音乐演奏系统主要包括多个自动演奏器钢琴PA和PB以及诸如例如因特网N的通信网络。自动演奏器钢琴PA和PB可与因特网N连接,并且在自动演奏器钢琴PA和PB之间传递音乐数据。

自动演奏器钢琴PA和PB中的每一个包括配备有键1Aa或1Ba和琴弦4A或4B的原声钢琴1A或1B、通信系统15A或15B、电子音调生成系统16A或16B、自动演奏系统18A或18B以及音乐数据产生系统19A或19B。通信系统15A或15B、电子音调生成系统16A或16B、自动演奏系统18A或18B以及音乐数据生成器19A或19B被安装在原声钢琴15A或15B内部,并且,分别通过原声钢琴15A或15B的琴弦4A或4B的振动以及通过电子音调生成系统16A或16B来产生原声钢琴音调和电子音调。

人类演奏者A或B在原声钢琴1A或1B的键4A或4B上用手指弹奏音乐曲调,以便通过琴弦4A或4B的振动来产生原声钢琴音调,并且自动演奏系统18A或18B在没有人类演奏者A或B的手指弹奏的情况下,驱动原声钢琴1A或1B,以便也通过琴弦4A或4B的振动来产生原声钢琴音调。

当人类演奏者A或B在原声钢琴1A或1B上用手指弹奏音乐曲调时,音乐数据产生系统19A或19B监控原声钢琴1A或1B,并且产生表示音乐数据的音乐数据代码。以实时的方式将该音乐数据代码从音乐数据产生系统19A或19B提供给通信系统15A或15B。通信系统15A和15B连接到因特网N,并且,通过因特网N将音乐数据代码从通信系统15A或15B传递到另一通信系统15B或15A。当接收到音乐数据代码时,将该音乐数据代码从通信系统15B或15A传递到电子音调生成系统16B或16A,并且通过电子音调生成系统16B或16A产生电子音调。

还将音乐数据代码从通信系统15B或15A传递到自动演奏系统18B或18A,自动演奏系统18B或18A移动键1Ba或1Aa,好像人类演奏者按压和释放它们一样。然而,自动演奏系统18B或18A防止原声钢琴1B或1A生成原声钢琴音调。因此,尽管移动键1Ba或1Aa,但是只通过自动演奏器钢琴PB或PA产生电子音调。在音乐会话中,演奏者A和B在他们自己的原声钢琴1A和1B上用手指弹奏音乐曲调,并且听到和看到由自动演奏系统18A和18B在通过音乐数据产生系统19B和19A产生的音乐数据的基础上驱动的键1Aa和1Ba的移动。

原声钢琴1A或1B在手指弹奏和原声钢琴音调的生成之间引入时间延迟。然而,电子音调不受由于原声钢琴1B或1A的机械联动装置(linkwork)导致的时间延迟影响。由于这一原因,与通过现有技术音乐演奏系统的从属乐器产生原声钢琴音调的定时相比,通过电子音调生成系统16B或16A生成电子音调的定时更接近于通过原声钢琴1B或1A生成原声钢琴音调的定时。

当两个演奏者A和B分别在原声钢琴1A和1B上用手指弹奏时,响应于键1Aa上的手指弹奏而通过琴弦4A的振动、以及响应于键1Ba上的手指弹奏而通过琴弦4B的振动来产生原声钢琴音调,并且将表示键1Aa上的手指弹奏的音乐数据代码以及表示其它键1Ba上的手指弹奏的音乐数据代码分别从通信系统15A发送到另一通信系统15B、以及从通信系统15B发送到通信系统15A。结果,在自动演奏器钢琴PA和PB二者中产生原声钢琴音调和电子音调,好像两个演奏者A和B在自动演奏器钢琴PA和PB的每一个上演奏钢琴二重奏中的音乐曲调一样。

由于自动演奏器钢琴1A、通信系统15A、电子音调生成系统16A、自动演奏系统18A和音乐数据产生系统19A分别与自动演奏器钢琴1B、通信系统15B、电子音调生成系统16B、自动演奏系统18B和音乐数据产生系统19B相似,因此在以下描述中,在某些上下文中可以使自动演奏器钢琴PA的组件和自动演奏器钢琴PB的组件交替。当组件可替换时,利用没有“A”和“B”的附图标记来标注该组件。例如,在键1Aa和键1Ba在上下文中可替换的情况下,从附图标记1Aa和1Ba中删除“A”和“B”。例如,利用“1a”来标注自动演奏器钢琴PA和PB中的任何一个的键。另一方面,当对任一个自动演奏器钢琴PA或PB的组件进行描述时,附图标记带有“A”或“B”。例如,利用“16A”来标注自动演奏器钢琴PA的电子音调生成系统,利用“16B”来标注自动演奏器钢琴PB的电子音调生成系统。

自动演奏器钢琴

转到附图的图2,图示了原声钢琴1的结构、电子音调生成系统16的系统配置、自动演奏系统18的功能、以及音乐数据演奏系统19的功能。如上文所述,原声钢琴1、电子音调生成系统16、自动演奏系统18和音乐数据产生系统19分别代表原声钢琴1A和1B中的任一个、电子音调生成系统16A和16B中的任一个、自动演奏系统18A和18B中的任一个、以及音乐数据产生系统19A和19B中的任一个。

原声钢琴1包括键1a的阵列、动作单元2、弦槌3的阵列、琴弦4、制音器单元8和钢琴箱体9。键1a的阵列被安装在形成钢琴箱体9底部的中盘(key bed)9a上,并且在钢琴箱体9内部提供动作单元2、弦槌3、琴弦4和制音器单元8。

在此实例中,在所述阵列中包含88个键1a。键1a围绕键架中板(balancerail)9b倾斜。当人类演奏者A或B以及自动演奏系统18没有在键1a上施加任何力时,键1a停留在静止位置上。当人类演奏者A或B或者自动演奏系统18将力施加在键1a上时,键1a的前部朝着终点位置下降,因此键1a的后部被升高。当键1a被发现处于静止位置上时,键行程为0。终点位置与静止位置分开10毫米。换言之,当键1a到达终点位置时,键行程为10毫米。键行程是从静止位置到轨线上的任意键位置的长度。

人类演奏者A或B和自动演奏系统18引起键1a朝向终点位置的移动,该动作被称为“按压”。人类演奏者A或B和自动演奏系统18还引起键1a朝向静止位置的移动,该动作被称为“释放”。在演奏和自动演奏中,键1a中的每一个保持和改变键位置。

键1a中的每一个通常具有4个阶段(phrase):停留在静止位置、向终点位置移动、停留在终点位置、以及向静止位置移动,因此,键轨迹可被划分为静止位置上的静态(stationary)部分、朝向终点位置的移动部分、终点位置上的静态部分、以及朝向静止位置的移动部分。朝向终点位置的移动部分和朝向静止位置的移动部分分别被称为“基准正向键轨迹”和“基准反向键轨迹”。终点位置上的静态部分和静止位置上的静态部分分别被称为“静态轨迹”。

键1a沿横向排列,并且在动作单元2的中间部分处与动作单元2链接,以及在制音器单元8的后部与制音器单元8链接。当人类演奏者A或B将力施加在键1a的前部或者自动演奏系统18将力施加在后部时,键1a沿着相应的轨线从静止位置行进到终点位置,并且键1a促动(actuate)相关联的动作单元2。

动作单元2还与弦槌3相链接,并且弦槌3由动作支架(bracket)可旋转地支撑。由于这一原因,键1a的移动通过动作单元2而被传到弦槌3,并且通过动作单元2和弦槌3之间的脱离而引起弦槌3的旋转。弦槌3与琴弦4相对,并且在旋转的终点引起琴弦4的振动。人类演奏者A或B和自动演奏系统18通过按压和释放键1a来驱动弦槌3进行旋转。

根据轨线上的键位置,键1a使相关联的制音器单元8与琴弦4分开或者接触。当制音器单元8保持与琴弦4接触时,禁止琴弦4振动。当制音器单元8与琴弦4分开时,允许琴弦4振动。被按压的键1a首先使相关联的制音器单元8与琴弦4分开,随后使弦槌3被驱动以进行旋转。当人类演奏者A或B释放被按压的键1a时,被释放的键1a开始在轨线上反向行进。被释放的键1a通过轨线上的某些点。然后,制音器单元8与振动的琴弦4相接触,并且使该振动被衰减。

人类演奏者A或B按照以下方式在原声钢琴1上演奏音乐曲调。当所有键1a都停留在静止位置上时,弦槌3与相关联的琴弦4分开,并且制音器单元8保持与琴弦4相接触,如图2所示。当人类演奏者开始他或她的演奏时,他或她选择性地按压键1a和释放被按压的键1a。

假设人类演奏者A或B按压键1a之一,被按压的键1a开始在其轨线上行进。当被按压的键1a在轨线上朝着终点位置行进时,被按压的键1b/1c使制音器单元8与相关联的琴弦4分开,并且琴弦4准备振动。被按压的键1a还促动相关联的动作单元2。被促动的动作单元2使弦槌3被驱动朝着相关联的琴弦4旋转。弦槌3在旋转的终点与琴弦4碰撞,并且引起琴弦4的振动。振动的琴弦4继而引起形成钢琴箱体9的一部分的声板(sound board)的振动,并且从原声钢琴1发出原声钢琴音调。弦槌3在琴弦4上回弹,并且轻柔地降落在托木(back check)上。

原声钢琴音调的响度与弦槌3在和琴弦4碰撞之前瞬间的速度成比例。人类演奏者A或B强有力地按压黑键1a以便以大响度产生原声钢琴音调。另一方面,人类演奏者A或B为了小响度的原声钢琴音调而轻轻地按压键1a。

在生成原声钢琴音调之后,人类演奏者A或B释放键1a。然后,被释放的键1a开始在轨线上反向行进。被释放的键1a允许制音器8向振动的琴弦4移动并且与其接触。然后,振动被衰减,并且使原声钢琴音调消失。被释放的键1a还允许动作单元2返回到静止位置。

自动演奏系统18包括在图1中利用18Aa或18Ba标注的控制系统18a、螺线管(电磁)控制的键致动器5和键传感器6。控制系统18a具有信息处理能力,并且螺线管控制的键致动器5和键传感器6连接到控制系统18a。螺线管控制的键致动器5被以交错的方式横向排列在键1a后部的下方,并且分别与键1a相关联。控制系统18a利用螺线管控制的键致动器5引起键1a的移动,并且使键1a在轨线上行进。键传感器6被提供在键1a前部的下方,并且分别与键1a相关联。键传感器6是将整个轨线上的键位置光学地转换为键位置信号S1的类型,并且安装在中盘9a上的光电耦合器6a以及装在相关联的键1a的下表面的光调制器6b共同形成每个键传感器6。当键1a沿着它们的轨线在静止位置和终点位置之间行进时,光调制器6b使入射光的量根据当前键位置而变化,并且入射光被转换为形成键位置信号S1的光电流。

在图3中图示了控制系统18a的系统配置。控制系统18a包括被简写为“CPU”的中央处理单元20、外围处理器(未示出)、被简写为“ROM”的只读存储器21、被简写为“RAM”的随机存取存储器22、通信接口15a、其它接口23、脉宽调制器24和共享总线系统20b。中央处理单元20和其它系统组件21、22、15a、23和24连接到共享总线系统20b,使得中央处理单元20可通过共享总线系统20b与其它系统组件21、22、15a、23和24通信。

与音乐数据产生系统19、通信系统15和电子音调生成系统16共享中央处理单元20、只读存储器21、随机存取存储器22和接口15a/23。

中央处理单元20是信息处理能力的源。计算机程序被存储在只读存储器21中,并且在中央处理单元20上运行,以便完成将在下文中详细描述的各种任务。随机存取存储器22充当中央处理单元20的工作存储器,并且在该工作存储器中定义键索引寄存器、标志和内部软件时钟。

通信接口15a将通信系统15和控制系统18a互连。通信系统15包括发射器和接收器。中央处理单元20将音乐数据代码作为净荷装载到分组中或者从分组中卸载音乐数据代码,通过通信系统15向因特网N传递以及从因特网N接收所述分组。

其它接口23充当MIDI(乐器数字接口)接口以及用于弦槌传感器7和键传感器6的信号接口。MIDI接口是本领域技术人员公知的。每个信号传感器具有模数转换器和数据缓冲器。弦槌位置信号S2和键位置信号S1被选择性地提供给信号接口,关于这些信号S1/S2的离散值被转换为键位置数据代码和弦槌位置数据代码。键位置数据代码和弦槌位置数据代码被临时存储在数据缓冲器中,并且中央处理单元20周期性地从数据缓冲器中提取表示当前键位置值的键位置数据和表示当前弦槌位置值的弦槌位置数据。所述键位置数据和弦槌位置数据被累积存储在随机存取存储器22中以供分析。

脉宽调制器24响应从中央处理单元20提供的控制数据,以便将驱动脉冲信号S3调整为充当驱动脉冲信号S3的脉冲串的平均电流量的目标值或者占空比的目标值。驱动信号S3流过螺线管控制的键致动器5,并且产生磁场。该磁场的强度以及因此施加在键1a后部的力与所述平均电流量成比例。由于这一原因,中央处理单元20利用脉宽调制器24来控制施加在键1a后部的力的大小。

电子音调生成系统16包括电子音调生成器16a和声音系统17。音乐数据代码被依序提供给电子音调生成器16a,电子音调生成器16a在该音乐数据代码的基础上产生音频信号。该音频信号被提供给声音系统17,并且通过声音系统17而被转换为电子音调。

根据MIDI协议来准备音乐数据代码,并且在音符开(note-on)消息和音符关(note-off)消息中指定要产生的音调和要衰减的音调,音符开消息包含表示音符开事件、分配给要产生的音调的音符号码、以及表示音调响度的速度的音乐数据。向88个键1a分配不同的音符号码,使得控制系统18a能够利用音符号码来识别要驱动的键1a。另一方面,音符关消息包含表示音符关事件和分配给要衰减的音符的音符号码的音乐数据。一个音符事件与下一个音符事件之间的时间段表示持续时间数据,所述音符事件是音符开事件或音符关事件,并且,所述持续时间数据被混合在音乐数据中。

电子音调生成器16a具有波形存储器(未示出),并且,利用音乐数据代码来指明波形。从波形存储器读出波形数据,并且从该波形数据形成音频信号。向该数字音频信号赋予包络(envelope),并且将该数字音频信号转换为音频信号,该音频信号被提供给声音系统16。由于电子音调生成器16a是本领域技术人员公知的,因此为简单起见,在下文中没有包含进一步的描述。

回到图2,音乐数据产生系统19包括控制系统18a、键传感器6和弦槌传感器7。在自动演奏系统18和音乐数据产生系统19之间共享控制系统18a和键传感器,并且结合自动演奏系统18来描述控制系统18a和键传感器。弦槌传感器7是与键位置传感器6相似地将当前弦槌位置光学地转换为键位置信号S2的类型。当演奏者A或B在键1a上用手指弹奏时,键1a的移动和弦槌3的移动被转换为键位置数据和弦槌位置数据,控制系统18分析该键位置数据和弦槌位置数据,以便产生音乐数据和持续时间数据。该音乐数据和持续时间数据被存储在音乐数据代码中。

计算机程序

被安装在控制系统18a中的计算机程序被分解为主例程和子例程。当主例程在中央处理单元20上运行时,用户通过诸如例如触摸板显示单元的适当人机界面(未示出)来与控制系统18a通信。

将若干子例程分配给自动演奏、在自动演奏器钢琴PA或PB上的演奏期间的音乐数据生成、以及通过因特网N进行的通信。这些子例程可用于自动演奏器钢琴PA或PB上的独奏曲或合奏曲中的演奏。另一子例程在中央处理系统上运行以进行音乐会话,并且在用于音乐会话的子例程的监管下选择性地调用上述子例程。当用户从人机界面(未示出)上的作业菜单中选择他或她喜欢的操作时,主例程开始通过定时器中断而分支到子例程。当该时间段到期时,中央处理单元20从所述子例程返回到主例程。这样,重复进入子例程和返回主例程。

通过执行用于自动演奏的子例程来完成任务,该任务对应于控制系统18a的功能。所述功能被称为“预(preliminary)数据处理器”、“运动控制器”和“伺服控制器”,在图2中,块10、11和12代表所述“预(preliminary)数据处理器”、“运动控制器”和“伺服控制器”。

当用于自动演奏的子例程在中央处理单元20上运行时,将音乐数据代码从通信系统15、数据存储设备(未示出)或另一MIDI乐器周期性地提供给预数据处理器10,并且将个体化的(individualized)音乐数据从预数据处理器10提供给运动控制器11,从运动控制器11将键轨迹数据提供给伺服控制器12,以便对螺线管控制的键致动器5进行伺服控制。

在预数据处理器10中,音乐数据被个体化,以便对于自动演奏器钢琴PA和PB是最优的。该音乐数据在预数据处理器10中进行个体化,即,通过预数据处理器10产生个体化的音乐数据。将该个体化的音乐数据从预数据处理器10传送到运动控制器11。

在自动演奏中,运动控制器11确定要按压的每个键1a的基准正向键轨迹和要释放的每个键1a的基准反向键轨迹。然而,对于音乐会话,运动控制器11确定基准正向无声轨迹和基准反向无声轨迹,而不是基准正向键轨迹和基准反向键轨迹。

如上文所述,术语“键轨迹”是指随时间变化的一系列键位置值。基准点是每个键的轨线上的唯一键位置。如果被按压的键1a以基准键速度通过基准点,则被按压的键1a使相关联的弦槌3以目标弦槌速度与琴弦4碰撞。由于原声音调的响度与目标弦槌速度成比例,因此可以通过使被按压的键1a以基准键速度通过基准点来控制要产生的音调的响度。因此,可以通过将基准点处的基准键速度调整为与目标响度相对应的某个值来以目标响度值产生原声音调。在被按压的键1a在基准正向键轨迹上行进的范围内,被按压的键1a以基准键速度的目标值通过基准点。因此,运动控制器11通过使用基准正向键轨迹而使得可以以目标响度值产生原声音调。

产生基准反向键轨迹,以便使得原声音调被适时地衰减。如上文所述,当使制音器单元8与振动的琴弦4接触时,原声音调被衰减。在演奏数据中定义从先前的键事件到音符关事件的时间段,基准反向键轨迹将被释放的键1a引导到所述轨线上的键位置,在该键位置上,被释放的键1a使相关联的制音器单元8适时地与振动的琴弦4接触。因此,运动控制器11通过使用基准反向键轨迹来使原声音调被适时地衰减。

如上文所述,基准键速度和与琴弦4碰撞之前瞬间的弦槌速度成比例,从而与原声音调的响度成比例。如果基准键速度小于阈值,则被按压的键1a微弱地驱动相关联的弦槌3,该弦槌3不能到达相关联的琴弦4。由于这一原因,尽管在轨线上移动键1a,但是不生成任何原声音调。基准正向无声轨迹使被按压的键1a以小于阈值的小基准键速度值通过基准点。因此,运动控制器11使键1a在轨线上行进而不生成任何原声钢琴音调。用于基准正向无声轨迹的基准键速度是由制造商通过实验确定的,并且在交付给用户之前,表示各个键1a的基准键速度值的控制数据被存储在只读存储器21中。

基准反向无声轨迹将被释放的键1a引导到初始键位置。由于不生成任何原声音调,因此预计基准反向无声轨迹不会使被释放的键1a在衰减原声钢琴音调的定时经过轨线上的键位置。

在基准正向键轨迹和基准反向键轨迹之间、并且还在基准正向无声轨迹和基准反向无声轨迹之间插入所述静态轨迹。

键轨迹数据表示基准正向键轨迹、基准反向键轨迹、基准正向无声轨迹和基准反向无声轨迹中的任何一个,并且每个键轨迹数据表示所述轨线上的目标键位置。将该键轨迹数据周期性地从运动控制器11提供给伺服控制器12。

当键轨迹数据到达伺服控制器12时,伺服控制器12从随机存取存储器22中提取表示当前键位置的键位置数据,并且根据键轨迹数据的一系列值和键位置数据的一系列值,确定目标键速度和当前键速度。伺服控制器12将当前键位置和当前键速度与目标键位置和目标键速度进行比较,以查看在当前键位置和目标键位置之间以及在当前键速度和目标键速度之间是否发现任何差别。如果发现一个或多个差别,则伺服控制器12改变驱动信号S3的平均电流或占空比。可以利用该平均电流来控制螺线管周围的磁场的强度,使得螺线管控制的键致动器5的活塞被加速或减速。这样,伺服控制器12强迫键1a在基准正向键轨迹、基准反向键轨迹、基准正向无声轨迹或基准反向无声轨迹上行进。

当运动控制器11周期性地提供表示基准正向无声轨迹的键轨迹数据时,伺服控制器12使螺线管控制的键致动器5强迫键1a在基准正向无声轨迹上行进。基准正向无声轨迹上的基准键速度值非常小,以至于动作单元2使弦槌3缓慢旋转。由于这一原因,弦槌3不会到达相关联的琴弦4。结果,尽管移动键1a,但是不生成任何原声音调。

还通过执行用于音乐数据生成的子例程来完成另一个任务,该另一个任务对应于控制系统18a的功能。所述功能被称为“音乐数据产生器”13和“后数据处理器”14。

当用于音乐数据生成的子例程在中央处理单元20上运行时,音乐数据产生器13间歇地将键位置数据和弦槌位置数据从接口23传递到随机存取存储器22,以便累积存储每个键1a的一系列键位置值和每个弦槌3的一系列弦槌位置值,并且确定开始按压的时刻、每个被按压的键1a的键速度、使琴弦4与每个弦槌3撞击的时刻、开始释放的时刻、每个被释放的键1a的键速度,以便产生音乐数据。演奏数据表示开始按压的时刻、每个被按压的键1a的键速度、撞击琴弦4的时刻、开始释放的时刻以及每个被释放的键1a的键速度,并且通过分析而从该演奏数据产生音乐数据。该音乐数据表示MIDI消息以及从诸如音符开事件或音符关事件的每个事件到下一事件的时间段。

将音乐数据从音乐数据产生器13传递到后数据处理器14,并且在后数据处理器14中将该音乐数据正规化。由于传感器6和7与精确的目标位置的偏离、原声钢琴1结构上的差异、加工上的容差等,自动演奏器钢琴PA和PB中的每一个不可避免地具有个体性。为了使在自动演奏器钢琴PA和PB之间共享音乐数据代码,有必要从所述音乐数据中去除该个体性。由于这一原因,提供后数据处理器14以便将音乐数据正规化。将正规化的音乐数据简称为“音乐数据”。

在正规化之后,将正规化的音乐数据存储在符合MIDI协议的音乐数据代码中,并且通过MIDI电缆将该音乐数据代码提供给通信系统15、电子音调生成器16a、用于记录的数据存储设备(未示出)、或者MIDI乐器。

当用于通信的子例程在中央处理单元20上运行时,将音乐数据代码作为净荷装载到分组中,并且将所述分组依序传递到因特网N。通过执行用于通信的子例程来从所述分组中卸载该音乐数据代码。

下面将详细描述用于音乐会话的子例程。图4示出了用于音乐会话的控制系统18a的作业。如上文所述,用于音乐会话的子例程监管用于自动演奏的子例程、用于音乐数据生成的子例程、以及用于通信的子例程。在此实例中,用于音乐会话的子例程包含选择电子音调生成系统16使得将所接收的音乐数据代码传递到电子音调生成器16a的作业。用户将自动演奏器钢琴PA和PB连接到因特网N,并且从人机界面上的作业菜单中选择音乐会话。然后,主例程开始周期性地分支到用于音乐会话的子例程。

音乐会话中的行为

当用于音乐会话的子例程在控制系统18Aa的中央处理单元20和控制系统18Ba的中央处理单元20上运行时,该音乐会话如图4所示的那样进行。在此实例中,如果用户分别同时按压自动演奏器钢琴PA和PB的、被分配了某个键号码的键1a时,控制系统18Aa和18Ba将优先权给予由用户的手指按压的键移动,并且键1a在返回到静止位置之后由螺线管控制的键致动器5驱动。

假设用户A按压键1Aa之一。被按压的键1Aa促动相关联的动作单元2,并且动作单元2通过脱离引起弦槌3的旋转。弦槌3在旋转的终点与琴弦4碰撞,并且,通过琴弦4的振动生成原声钢琴音调。此外,键传感器6A将当前键位置报告给信号接口23A,其中当前键位置的值随着时间一起变化,中央处理单元20A将键位置数据累积存储在随机存取存储器22A中。中央处理单元20A通过对键位置数据的分析发现被按压的键1Aa,如步骤S1,并且,通过音乐数据产生器13A和后数据处理器14A来产生表示音符开事件、键号码、键速度和从先前的键事件起的时间段的音乐数据代码,如步骤S2。

随后,将音乐数据代码装载在分组中,并且通过执行用于通信的子例程,从通信系统15A发送该分组,如步骤S3。

该分组到达自动演奏器钢琴PB的通信系统15B,并且通过执行用于通信的子例程来从该分组中卸载音乐数据代码,如步骤S4。通过用于自动演奏的子例程来处理存储在音乐数据代码中的音乐数据,如步骤S5,并且将该音乐数据从通信系统15B传递到电子音调生成系统16B。

钢琴控制器10B将音乐数据个体化,以便将个体化的音乐数据提供给运动控制器11B。运动控制器11B分析个体化的音乐数据,并且在该个体化的音乐数据的基础上确定基准正向无声轨迹。将表示基准正向无声轨迹、静态轨迹和基准反向无声轨迹的键轨迹数据周期性地从运动控制器11B提供给伺服控制器12B,伺服控制器12B强迫键1Ba在基准正向无声轨迹和基准反向无声轨迹上行进,如步骤S5。这样,在没有任何原声钢琴音调的情况下移动键1Ba,并且键1Ba在到达终点位置之后或者从前往终点位置途中的某个键位置开始返回。

另一方面,电子音调生成器16B在音乐数据代码的基础上产生音频信号,并且将该音频信号提供给声音系统17B以便产生电子音调,如步骤S6。

键1Ba的移动和电子音调向用户B通知自动演奏器钢琴PA上的手指弹奏。然后,用户B开始按压与被按压的键1Aa相对应或不同的键1Ba。被按压的键1Ba促动动作单元2B,并且被促动的动作单元2B引起弦槌旋转。使弦槌2B与琴弦4B碰撞,并且通过琴弦4的振动生成原声钢琴音调。

当按压键1Ba时,键传感器6B使键位置信号S1随着当前键位置一起变化,如步骤S7,并且中央处理单元20B将键位置数据累积存储在随机存取存储器22B中。表示音符开键事件的音乐数据通过音乐数据产生器13B而被产生,并且通过后数据处理器14B而被正规化。将被正规化的演奏数据存储在音乐数据代码中,如步骤S8。将该音乐数据代码装载在分组中,并且通过执行用于通信的子例程,将该分组从通信系统15B发送到通信系统15A,如步骤S9。

当如步骤S10接收到所述分组时,在通信系统15A中从该分组中卸载音乐数据代码,并且将该音乐数据代码从通信系统15A并行地提供给自动演奏系统18A和电子音调生成系统16A。自动演奏系统18A强迫键1Aa在基准正向无声轨迹和基准反向无声轨迹上行进而不生成原声钢琴音调,如步骤S11,并且,通过电子音调生成系统16A生成电子音调,如步骤S12。这样,用户A看到键1Ba的移动并且听到电子音调。

当用户A为了乐谱上的下一个音调而按压键1Aa时,重复步骤S1、S2和S3处的作业,如步骤S13、S14和S15。在自动演奏器钢琴PA和PB上重复步骤S1至S12,直到演奏结束为止。当然,当用户B在没有从自动演奏器钢琴PA接收到音乐数据代码的情况下按压键1Ba时,在自动演奏器钢琴PA中产生电子音调,并且移动对应的键1Aa而不生成原声钢琴音调。

执行作业S1至S6以便通过另一自动演奏器钢琴PB重演在自动演奏器钢琴PA上的演奏,并且作业S1至S6被称为音乐会话的第一阶段。另一方面,执行作业S7至S12以便使用户A看到键1Ba的移动并且听到电子音调,作业S7至S12被称为音乐会话的第二阶段。作为示例,第一阶段和第二阶段对于远程音乐课程来说是期望的。在图1中,实线指示第一阶段,虚线指示第二阶段。该音乐会话进行到结束。当用户A和B通过人机界面向控制系统18A和18B通知退出音乐会话时,主例程不再分支到用于音乐会话的子例程。

在用户A和B分别用手指弹奏音乐曲调的不同部分的情况下,在自动演奏器钢琴PA和PB二者上用钢琴二重奏演奏该音乐曲调。然而,所述音乐会话可以部分地由仅仅第一阶段或第二阶段构成。在此音乐会话中,在自动演奏器钢琴PA和PB之一上以钢琴二重奏演奏该音乐曲调。表示自动演奏器钢琴上的手指弹奏的音乐数据不被传送给另一自动演奏器钢琴。

如将从前面的描述理解的那样,尽管通过自己的自动演奏器钢琴PA或PB产生原声钢琴音调,但是通过电子音调生成系统16A或16B再现在另一个自动演奏器钢琴PB或PA上的演奏。没有必要考虑由于动作单元2的激活和弦槌旋转导致的时间延迟。电子音调仅仅因为通过因特网N进行的通信而被延迟。由于这一原因,音乐会话流畅地进行而没有严重的延迟。尽管不生成原声钢琴音调的键移动,即无声键移动由于动作单元2的促动和弦槌3的旋转而相对于电子音调的生成被延迟,但是在电子音调的生成和无声键移动之间的时间延迟不严重,使得用户A和B以及听众不会觉得该无声键移动不自然。

第二实施例

音乐演奏系统的系统配置

转到附图的图5,实施本发明的另一音乐演奏系统也包括自动演奏器钢琴PC和PD以及因特网N。

除了音乐数据产生系统19C和19D以外,自动演奏器钢琴PC和PD与自动演奏器钢琴PA和PB相似。由于这一原因,利用指定自动演奏器钢琴PA的对应组成部件和自动演奏器钢琴PB的对应组成部件的附图标记来标注自动演奏器钢琴PC的其它组成部件以及自动演奏器钢琴PD的其它组成部件,并且为了避免重复而不进行详细描述。此外,利用指定图2所示的原声钢琴的对应组成部件和图3所示的控制系统的对应系统组件的附图标记来标注自动演奏器钢琴的原声钢琴的组成部件以及控制系统18Aa和18Ba的系统组件。

计算机程序

安装在控制系统18a中的计算机程序也被分解为主例程和若干子例程。主例程和用于通信的子例程与安装在自动演奏器钢琴PA和PB的控制系统18a中的计算机程序的主例程和用于通信的子例程相似。

用于自动演奏的子例程比安装在自动演奏器钢琴PA和PB中的用于自动演奏的子例程简单。尽管在自动演奏器钢琴PA和PB中、在音乐会话中为无声键移动确定基准正向无声轨迹和基准反向无声轨迹,但是不通过实现第二实施例的音乐演奏系统在音乐会话中产生基准正向键轨迹和基准反向键轨迹。换言之,在音乐会话中,自动演奏器钢琴PC和PD的自动演奏系统18A和18B驱动键1Aa和1Ba以生成原声钢琴音调。因此,当用于音乐会话的子例程在中央处理单元20上运行时,音乐数据代码被从通信系统15A或15B传递到自动演奏系统18A或18B,而不被提供给电子音调生成系统16A或16B。

音乐会话中的行为

音乐数据产生系统19C包括键传感器6、弦槌传感器7、音乐数据产生器(未示出)、后数据处理器(未示出)和预键数据提供器25,即25A或25B。音乐数据产生器和后数据处理器与音乐数据产生器13和后数据处理器14相同,并且由于这一原因,在下文中利用附图标记13和14(即,13A或13B和14A或14B)来标注音乐数据产生系统19C或19D的音乐数据产生器和后数据处理器。预键数据提供器25A或25B并联连接到音乐数据产生器13和后数据处理器14,并且在音乐会话中,通过预键数据提供器25A或25B来处理键位置数据。预键数据提供器25A和25B推测比当前时刻滞后通信延迟时间D的时刻处的目标键位置和目标键速度。预键数据提供器25A或25B表示音乐数据产生系统19C或19D的功能,并且是通过执行用于音乐数据生成的子例程的一部分来实现的。

预键数据提供器25A或25B目标在于加快通过原声钢琴1B和1A进行的原声钢琴音调的生成。当用户A和B从作业菜单中选择音乐会话时,中央处理单元20A和20B重复用于音乐数据生成的子例程中的作业序列,并且基于累积存储在随机存取存储器22A和22B中的键位置数据来产生键运动数据。每个键运动数据表示分配给被移动的键1Aa或1Ba的键号码、从音乐会话开始起经过的时间、推测的键位置和推测的键速度。将该键运动数据从预键数据提供器25A或25B提供给通信系统15A或15B,并且将其作为分组的净荷发送到另一通信系统15A或15B。在日本专利申请特许公开No.2006-178197中公开了键运动数据的格式。

图6示出了用于音乐会话的作业序列。用户A和B从作业菜单中选择音乐会话,并且主例程开始周期性地分支到用于该音乐会话的子例程。

当音乐会话正在进行时,用户A依序按压键1Aa。当用户A按压键1Aa之一时,相关联的键传感器6A根据当前键位置而改变键位置信号S1,如步骤S16,表示被按压的键1Aa的当前键位置的键位置数据被累积存储在随机存取存储器22A中。然后,预键数据提供器25A开始基于该键位置数据产生键运动数据,如步骤S17。当预键数据提供器25A产生键运动数据时,考虑通信时间延迟D,并且键运动数据使自动演奏系统18B以补偿该通信时间延迟D这样的方式来驱动对应的键1Ba。通过因特网N将键运动数据从通信系统15A发送到通信系统15B,如步骤S18。

预键数据提供器25A和通信系统15A以固定的间隔重复步骤S17和S18处的作业,使得将键运动数据周期性地提供给另一个自动演奏器钢琴PD。

键运动数据到达通信系统15B,如步骤S19,并且由于分组通过因特网N的传播而在发送和接收之间引入通信时间延迟D。控制系统18Ba分析键运动数据,并且开始驱动与被按压的键1Aa相对应的键1Ba,以产生原声钢琴音调,如步骤S20。由于键运动数据表示比当前时刻滞后通信时间延迟D的时刻处的推测键位置和推测键速度,因此强迫对应的键1Ba在与键1A的轨线相同的基准正向键轨迹和基准反向键轨迹上行进,使得与通过原声钢琴1A产生的原声钢琴音调同时地通过原声钢琴B产生原声钢琴音调。

以类似的方式,当音乐会话正在进行时,用户B依序按压键1Ba。当用户B按压键1Ba之一时,相关联的键传感器6B将当前键位置报告给预键数据提供器25B,如步骤S21,并且预键数据提供器25B基于该键位置数据产生键运动数据,如步骤S22。通过因特网N将键运动数据从通信系统15B提供到通信系统15A,如步骤S23,并且在通信系统15A接收该键运动数据,如步骤S24。在该发送和接收之间也引入通信时间延迟D。自动演奏系统18A驱动与被按压的键1Ba相对应的键1Aa,以便与通过原声钢琴1A产生的原声钢琴音调同时产生原声钢琴音调,如步骤S25。

在自动演奏器钢琴PA中重复当前键位置的报告、键运动数据的产生、以及键运动数据的发送,如步骤S26、S27和S28,并且在另一自动演奏器钢琴PB中也重复当前键位置的报告、键运动数据的产生、以及键运动数据的发送。与步骤S16至S20相对应的、键1Aa的按压到对应键1Ba的驱动发生在音乐会话的第一阶段,与步骤S21至S25相对应的、键1Ba的按压以及键1Ba的按压到对应键1Aa的驱动发生在音乐会话的第二阶段。该音乐会话由多个第一阶段和多个第二阶段组成。

图7示出了在自动演奏器钢琴PC和PD二者中执行的用于音乐会话的子例程中的作业序列。在以下描述中,将术语“基准周期(cycle)时间T”定义为用来测量通信时间延迟D的单位时间段。术语“基准周期”是在长度上等于基准周期时间的时间帧。

当用户A和B从作业菜单中选择音乐会话时,主例程通过定时器中断开始周期性地分支到用于音乐会话的子例程。在下文中,将描述集中于自动演奏器钢琴PC和PD在音乐会话的第一阶段的行为。

如步骤S29,自动演奏器钢琴PC的中央处理单元20,即中央处理单元20A进行准备工作,以便确定通信时间延迟D。在下文中参照图8来详细描述该准备工作S29。

随后,中央处理单元20A将键号码“1”写入键索引寄存器,如步骤S30,然后进行对于被分配了存储在键索引寄存器中的键号码的键1Aa的数据处理,如步骤S31。在下文中,将存储在键索引寄存器中的键号码称为“键索引”。在下文中参照图9来详细描述步骤S31处的数据处理。

随后,中央处理单元20A将键索引增加1,如步骤S32,并且检查键索引寄存器以查看键索引是否大于88,如步骤S33。由于原声钢琴1A具有88个键1Aa,因此在完成对于所有键1Aa的数据处理之前,该答案给出为否定

“否”。另一方面,肯定答案“是”表示对于所有键1Aa重复步骤S31处的数据处理的完成。

当步骤S33处的答案给出为否定“否”时,中央处理单元20A返回到步骤S31。这样,中央处理单元20A在单个基准周期时间段T内对于88个键1Aa重复步骤S31处的作业。

中央处理单元20A对于所有键1Aa重复由步骤S31至S33组成的循环。在步骤S31完成对于88个键1Aa的数据处理之后,步骤S33处的答案改变为肯定答案“是”。

中央处理单元20A检查随机存取存储器22A,以查看用户A是否已经指示控制系统18Aa停止用于音乐会话的数据处理,如步骤S34B。当用户A正在原声钢琴1A上用手指弹奏时,步骤S34B处的答案给出为否定“否”。对于该否定答案“否”,中央处理单元20A进行到步骤S34A,并且等待基准周期时间段T的到期。当基准周期时间段T到期时,中央处理单元20A返回到步骤S30。这样,在原声钢琴1A上的演奏中,中央处理单元20A重复由步骤S30至S34B组成的循环,并且对于88个键1Aa重复进行所述数据处理。

另一方面,当用户A指示控制系统18Aa停止音乐会话时,将表示用户指令的控制数据存储在随机存取存储器22A中,并且步骤S34B处的答案改变为肯定答案“是”。对于步骤S34B处的肯定答案“是”,控制返回到主例程,并且该主例程不再分支到子例程。

转到图8,当中央处理单元20A开始步骤S29处的准备工作时,中央处理单元20A将事件数据代码传递到通信系统15A,以便将装载了所述事件数据代码的分组从通信系统15A通过因特网N发送到通信系统15B,并且在内部时钟上读取发送时刻tA,如步骤S35。利用内部时钟来对基准周期的数目进行计数。中央处理单元20A将发送时刻tA存储在随机存取存储器22A中。

随后,中央处理单元20A开始监视通信接口15A,并且等待答复。当事件数据代码到达通信系统15A时,中央处理单元20B将该事件数据代码传递到通信系统15B,以便将装载了该事件数据代码的分组作为答复从通信系统15B发送到通信系统15A。

当该答复到达通信系统15A时,该事件数据代码被提取到控制系统18Aa中,如步骤S37,并且在内部时钟上读取接收时刻tB,如步骤S37。在通信系统15A和通信系统15B之间通过因特网N往复地传播所述事件数据代码。结果,发送时刻tA和接收时刻tB之间的差是通信时间延迟D的两倍长。

最后,中央处理单元20A将发送时刻tA和接收时刻tB之间的差除以2,以便确定通信时间延迟D,如步骤S38。这样,在音乐会话之前的准备工作S29中确定了通信时间延迟D。

图9A和9B示出了步骤S31处的数据处理期间的作业序列。当用户A或B按压键1Aa或1Ba时,遵循图9A所示的作业序列。另一方面,当音乐数据代码到达通信系统15A或15B时,中央处理单元20A或20B遵循图9B所示的作业序列。控制系统15A或15B完成对于每个键1Aa或1Ba的任一作业序列,并且在基准周期时间T内对于所有键1Aa或1Ba重复所述一个或多个作业序列。在下文中描述图9A和9B所示的作业序列。在将键运动数据从自动演奏器钢琴PA提供给另一自动演奏器钢琴PB的假设下进行描述。

音乐数据处理系统19C和19D实现图10所示的功能。键1Aa、螺线管控制的键致动器5A、键传感器6A和控制系统18A是涉及音乐会话的自动演奏器钢琴PC的硬件。类似地,键1Ba、螺线管控制的键致动器5A、键传感器6A和控制系统18B作为自动演奏器钢琴PD的硬件参与音乐会话。所述功能被分解为“键运动数据的产生26A或26B”和“键移动的再现26C或26D”。

假设用户A在音乐会话中开始按压自动演奏器钢琴PC的键1Aa中的一个。假设键1Ba对应于被按压的键1Aa。相关联的键传感器6A改变键位置信号S1,并且控制系统18A开始数据处理。

对键位置信号S1进行采样,并且将键位置信号S1的采样幅值yxAa转换为离散值yxAd。这样,对键位置信号S1进行模数转换27A。

随后,从离散值yxAd中去除由于原声钢琴1A的个体性导致的个体分量。换言之,将离散值yxAd正规化为正规化离散值yxA,并且利用“28A”来标注正规化的功能。将正规化离散值yxA与采样时刻一起累积存储在随机存取存储器22A中。在正规化离散值yxA的基础上确定表示键速度的正规化值yvA,并且利用“29A”来标注该计算的功能。根据表示正规化键位置rxB的正规化离散值yxA、表示正规化键速度yvB的正规化离散值yvA、对键位置信号进行采样的时刻、以及分配给被按压的键1Ax的键号码产生键运动数据rB,并且利用“30A”来标注该键运动数据的产生。

将键运动数据rB提供给通信系统15A,并且将其装载在分组中。通过因特网N将该分组发送给通信系统15B。利用“31A”来标注键运动数据rB的发送。

在另一自动演奏器钢琴PD中也实现功能27A、28A、29A、30A和31A,并且分别利用27B、28B、29B、30B和31B来标注对应的功能,yxBa、yxBd、yxB、yvB和rA分别代表采样幅值、从采样幅值转换的离散值、表示正规化键位置的正规化离散值、表示正规化键速度的正规化离散值、以及键运动数据。

所述分组到达通信系统15B,并且从该分组中卸载键运动数据rB。利用38B来标注该接收和卸载。基于键运动数据rB来确定目标键位置和目标键速度。目标键位置是期望在给定时刻在其上发现键1Ba的键位置,并且等于推测键位置。目标键速度是目标键位置上的键速度,并且等于推测键速度。分别利用rxB和rvB来标注目标键位置和目标键速度。

由于传感器6B监控对应的键1Ba,因此周期性地对键位置信号S1进行采样,并且将幅值yxBa转换为离散值yxBd。将离散值yxBd正规化为表示正规化的当前键位置的正规化离散值yxB,并且基于正规化离散值yxB确定正规化的当前键速度。

通过目标键位置rxB和正规化的当前键位置yxB之间以及目标键速度rvB和正规化的当前键速度yvB之间的减法33B和35B来确定偏差exB和evB,并且通过乘法34B和36B将偏差exB和evB乘以某些增益。将乘积uxB和uvB彼此相加以便确定和数uB、利用“37B”来标注该加法。和数uB指示平均电流量的目标值。通过脉宽调制器24B将驱动信号S3调整到该平均电流量的目标值,并且将驱动信号S3提供给螺线管控制的键致动器5B。功能33B、34B、35B、36B、37B、24B、27B、28B和29B对应于图2所示的伺服控制器12。

在自动演奏器钢琴PC中实现功能38B、32B、33B、34B、35B、36B、37B和24B,并且分别利用38A、32A、33A、34A、35A、36A、37A和24A来标注对应的功能。

在音乐会话中依序实现功能27A至30A、32B至34B、24B、27B至30B、32A至37A和24A,如图9A和9B所示。

当用户A在音乐会话中按压键1Aa之一时,相关联的键传感器6A开始改变键位置信号S1的幅值yxAa。信号接口23A的模数转换器对幅值yxAa进行采样,如步骤S40,并且将幅值yxAa转换为离散值yxAd,如步骤S41。中央处理单元20A从离散值yxAd中去除原声钢琴1A和键传感器6A的个体性,以便获得正规化值yxA,如步骤S42。

随后,中央处理单元20A检查静止位置上的正规化值,以查看当前的正规化值yxA是否大于静止位置上的正规化值,如步骤S43。在此实例中,当键1Aa正从静止位置向终点位置移动时,正规化值yxA逐渐增大。步骤S43处的肯定答案“是”意味着用户A已经按压了键1Aa。另一方面,如果步骤S43处的答案给出为否定“否”,则用户A仍然将键1A留在静止位置上,并且中央处理单元20A进行到图9B所示的作业序列。

由于用户A按压了键1Aa,因此步骤S43处的答案给出为肯定“是”,中央处理单元20A建立(rasie)标志,并且进行到步骤S44,以便为了功能29A和功能30A的一部分而分析键位置数据。当键1Aa到达被释放的键轨迹的终点时,所述标志被取消(take down)。当所述标志建立时,中央处理单元20A忽略步骤S43处的答案,并且进行到步骤S44。

通过步骤S44处的分析来确定推测键位置rxB和推测键速度rvB。在下文中详细描述步骤S44处的分析。

当完成该分析时,中央处理单元20A产生键运动数据rB,如步骤S45,并且将键运动数据rB装载在分组中,以便将键运动数据rB发送到自动演奏器钢琴PD。

重复图9A所示的作业序列以便周期性地提供键运动数据rB。

即使键运动数据rA与按压的开始同时地到达通信系统15A,中央处理单元20A也将优先权赋予用户的手指弹奏,并且不执行功能32A至37A和24A。

中央处理单元20B周期性地检查通信系统15B,以查看所述分组是否到达通信系统15B,如步骤S47。当分组正在通过因特网N传播时,步骤S47处的答案给出为否定“否”。然后,中央处理单元20B立即返回到主例程。

当所述分组到达通信系统15B时,步骤S47处的答案改变为肯定答案“是”。对于该肯定答案“是”,中央处理单元20B将与被按压的键1Aa相对应的键1Ba的正规化值rxB与静止位置处的正规化值进行比较,以查看对应的键1Ba是否已经离开静止位置,如步骤S48。如果用户B已经按压了对应的键1Ba,则步骤S48处的答案给出为肯定“否”,并且中央处理单元20B立即返回到主例程。

当在第一个键运动数据rB到达时发现对应的键1Ba处于静止位置的时候,步骤S48处的答案给出为否定“是”,并且将利用螺线管控制的键致动器5B来驱动对应的键1Ba。由于这一原因,中央处理单元20B建立指示利用螺线管控制的键致动器5B促动键1Ba的标志。当建立该标志时,中央处理单元忽略步骤S48处的答案,并且进行到下一步骤S49。在返回静止位置时,取消该标志。

在S49,中央处理单元20B从键运动数据rB中提取表示推测键速度rvB的正规化值和表示推测键位置rxV的正规化值。为简单起见,也利用“rxB”和“rvB”来标注所述正规化值。

随后,将键位置信号S1的幅值yxBa转换为离散值yxBd,如步骤S50,并且将离散值yxBd正规化为正规化值yxB,如步骤S51。中央处理单元20B通过从表示目标键位置的正规化值rxB中减去表示当前键位置的正规化值yxB来确定位置偏差exB,如步骤S52。放大该位置偏差exB,如步骤S53。

中央处理单元20B基于正规化值yxB来确定表示目标键速度的正规化值yvB,如步骤S54,并且确定正规化值yvB和正规化值rvB之间的速度偏差evB,如步骤S55。放大该速度偏差evB,如步骤S56。

随后,中央处理单元20B计算位置偏差exB和速度偏差evB的和数,以便确定控制数据uB,如步骤S57。将控制数据uB提供给脉宽调制器24B,脉宽调制器24B考虑该控制数据uB而将驱动信号S3调整到目标平均电流量,如步骤S58。

将驱动信号S3提供给螺线管控制的键致动器5B,如步骤S59。螺线管控制的键致动器5B推动对应的键1Ba的后部,以便促动原声钢琴1B的动作单元2B。

重复图9B中示出的作业序列,以便引起对应键1Ba的移动。对应键1Ba促动相关联的动作单元2B,该动作单元2B随即驱动相关联的弦槌3B进行旋转。使弦槌3B与琴弦4B碰撞,并且通过琴弦4B的振动生成原声音调。这样,在没有任何手指弹奏的情况下在原声钢琴1B中生成原声钢琴音调。

当用户按压键1Ba之一时,控制系统18Ba完成图9A所示的作业S40至S46,控制系统18Aa完成图9B所示的作业S47至S59。

如将从前面的描述理解的那样,在自动演奏器钢琴PC或PD的预键数据提供器25A或25B中,对于对应键1Ba或1Aa推测对应键1Ba或1Aa的键位置以及对应键1Ba或1Aa的键速度,并且将键运动数据rB或rA提供给另一自动演奏器钢琴PD或PC。推测键位置rxB或rxA以及推测键速度rvB或rvA表示在比当前时刻滞后通信延迟时间D的时刻处的对应键1Ba或1Aa的位置和速度。由于这一原因,即使在键运动数据rB的传播期间不可避免地引入通信延迟时间D,也与键1Aa或1Ba同时移动对应键1Ba或1Aa。这样,从键1A的移动和对应键1Ba的移动之间消除了通信延迟时间D。

通信时间延迟的补偿

图11示出了对应于步骤S44的作业序列,图12示出了原声钢琴的键的轨线。在步骤S44如下推测对应键1Ba或1Aa的键位置和键速度。

假设用户仅按压键1a、将键1a保持在终点位置上片刻、释放键1a、将键1a保持在静止位置上片刻、按压键1a、并且在前往终点位置的途中释放键1a,如图12所示。当用户仅仅在静止位置和终点位置之间移动键1a时,键轨迹TR1被划分为五个阶段,即,停留在静止位置上、按压、停留在终点位置上、释放和停留在静止位置上。由于这一原因,存在4个阶段边界。另一方面,当用户正通过半行程移动键1a时,键1a在静止位置和终点位置之间的某个点处改变移动方向,并且轨迹TR2被划分为两个阶段,即,释放PH6和按压PH7。由于这一原因,键轨迹TR1只有释放阶段PH6和按压阶段PH7之间的一个阶段边界。

从所述阶段边界起n个基准周期时间nT之后的时刻t[n]处的键位置X[n]被表示为:

X[n]=A[n]/2×t[n]2+V[n]×t[n]   ......等式1

其中A[n]是等于n个基准周期时间nT的时间段到期t[n]时的加速度,V[n]是t[n]处的速度。

假设在步骤S42将离散值yxAd正规化为正规化值yxA。中央处理单元20A或20B开始图11所示的作业序列。中央处理单元20A或20B将时刻t[n]处的正规化值yxA存储在分配给被按压的键1Aa或1Ba的存储器位置上,如步骤S60。

随后,中央处理单元20A或20B从随机存取存储器22A或22B读出时刻[n]处的正规化值yxA[n]和前一正规化值yxA[n-1],并且计算键速度yv[n],如步骤S61。

yv[n]=(yx[n]-yx[n-1])/T        ......等式2

随后,中央处理单元20A或20B检查键位置yx[n]和键速度yx[n],以查看是否在阶段边界处发现键1Aa或1Ba,如步骤S62。

如果键位置yx[n]改变为0毫米或小于0毫米,则键1Aa或1Ba被发现处于释放阶段PH4和静止位置上的停留阶段PH5之间的边界处。如果键位置yx[n]改变为10毫米或大于10毫米,则键1Aa或1Ba被发现处于按压阶段PH2和终点位置上的停留阶段PH3之间的边界处。如果键速度yv[n]在等于0的键位置上或者在释放阶段PH6中具有正值,则键1Aa或1Ba被发现处于静止位置上的停留阶段PH1和按压阶段PH2之间的阶段边界处或者释放阶段PH7和下一按压阶段之间的阶段边界处。如果键速度数据yv[n]在等于10毫米的键位置上或者在按压阶段PH6中具有负值,则键1Aa或1Ba被发现处于终点位置上的停留阶段PH3和释放阶段PH4之间或者按压阶段PH6和释放阶段PH7之间的阶段边界处。

如果满足上述条件中的任何一个,则步骤S62处的答案给出为肯定“是”,并且中央处理单元20A或20B进行到下一步骤S63。另一方面,如果上述条件没有都被满足,则步骤S62处的答案给出为否定“否”,并且中央处理单元20A或20B进行到步骤S64,而不在步骤S63做任何执行。

假设发现1Aa或1Ba处于所述阶段边界处。在步骤S63,中央处理单元20A或20B将以下初始值赋予基准周期时间T的数目n、键位置yx[n]、键速度yv[n]、和加速度ya[n]。

yx0=yx[n-1]

yx1=yx[n]

n=1

yv0=0

yv1=(yx1-yx0)/T

ya0=0,

ya1=0

这样,在阶段边界处将基准周期T的数目n、键位置yx[n]、键速度yv[n]和键加速度ya[n]重置为所述初始值。

当完成步骤S63处的作业时,或者对于步骤S62处的否定答案“否”,中央处理单元20A或20B在步骤S64确定时刻t[n]处的加速度ya[n]。

ya[n]=(yv[n]-yv[n-1])/T                          ......等式3

中央处理单元20A或20B估计初始键速度Vv[n],如步骤S64。中央处理单元20A或20B估计通过当前键位置yx[n]和前一键位置yx[n-1]以及yx[n-2]的键轨迹,如步骤S66,并且根据所估计的键轨迹来确定初始键速度Vv[n]。初始键速度Vv[n]给出为

Vv[n]={(2×n-1)×yv[n-1]-(2×n-3)×yv[n]}/2      ......等式4

键加速度ya[n]和初始键速度Vv[n]被存储在分配给键1Aa或1Ba的随机存取存储器22A或22B的某个存储器位置上。

最后,中央处理单元20A或20B估计当前阶段中的键轨迹,并且推测比当前时刻t[n]滞后了通信时间延迟D的时刻t[n+D]处的键位置rx[n]和键速度rv[n],如步骤S67。

详细地讲,中央处理单元20A或20B从随机存取存储器22A或22B中依序读出初始键速度Vv1、...、和Vv[n]的值,并且对值Vv1、...、和Vv[n]求平均,即,V[n]=(Vv1+...+Vv[n])/n。此外,中央处理单元20A或20B依序读出键加速度的值ya[2]、...、ya[n],并且将这些值平均为A[n]=(ya2+、...、+ya[n])/(n-1)。由于当前阶段中的键轨迹X[n]被表示为X[n]=A[n]/2×t[n]2+V[n]×t[n](参见等式1),因此在比当前时刻t[n]滞后了通信时间延迟D的时刻t[n+D]处的键位置rx[n]和键速度rv[n]分别由等式5和6给出。

rx[n]=A[n]/2×t[n+D]2+V[n]×t[n+D]                ......等式5

rv[n]=A[n]×t[n+D]+V[n]                           ......等式6

如将从前面的描述理解的那样,预键数据提供器25A或25B在键1Aa或1Ba到达当前阶段和下一阶段之间的阶段边界之前估计键轨迹,并且推测该键轨迹上的键位置rxB或rxA以及键速度rvB或rvA。期望在比当前时刻滞后了通信时间延迟D的时刻发现键1Aa或1Ba处于键位置rxB或rxA上以及处于键速度rvB或rvA。控制系统18Ba或18Aa通过推测键位置rxB/rxA和实际键位置yxB/yxA之间的比较、以及推测键速度rvB/rvA和实际键速度yvB/yvA之间的比较,来进行伺服控制,使得与键1Aa或1Ba同步地在轨线上移动键1Ba或1Aa。这样,通过预键数据提供器25A或25B和伺服控制器12B或12A中的数据处理补偿了通信时间延迟D。用户A和B可以在自动演奏器钢琴PC和PD二者上以良好的合奏来演奏音乐曲调的不同部分。

本发明人通过实验确认了同步的键移动1Aa和1Ba。在该实验中,键1Ba跟随键1Aa。本发明人绘制了由等式1表示的估计键轨迹X[n]上的键1Aa的键位置、通过使用等式5推测的推测键轨迹上的键1Aa的键位置rxB、以及键1Ba的实际键位置yxB,如图13所示。估计键轨迹由曲线PL1表示,曲线PL1在形状上接近于表示实际键轨迹的曲线PL2。曲线PL1和曲线PL2之间的时间差等于通信时间延迟D。

此外,本发明人绘制了估计键轨迹上的估计键速度V[n]、推测键轨迹上的推测键速度rvB、以及实际键轨迹上的实际键速度yvB,如图14所示。表示推测键速度rvB的曲线PL3相对于表示估计键速度V[n]的曲线PL4而被延迟了通信时间延迟D,表示实际键速度yvB的曲线PL5接近于曲线PL4。根据这些曲线所理解的是:键1Ba与键1Aa良好地同步。

此外,推测键轨迹使得生成通过从属乐器产生的原声钢琴音调的定时、音调生成时的键速度、使钢琴音调衰减的定时、以及衰减时的键速度与主乐器的那些一致。主乐器是指用户A在其上用手指弹奏音乐曲调的自动演奏器钢琴PC或PD,从属乐器是指借以再现原声钢琴音调的自动演奏器钢琴PD或PC。

与阶段PH1至PH5不同地确定阶段PH6和PH7,使得推测键轨迹表示主乐器上的表演的风格差异。这使得以高保真度再现演奏。

由于对于估计键轨迹X[n]考虑了加速度A[n],因此音色上的差异被反映在估计键轨迹中,从而被反映在推测键轨迹中。这样,通过从属乐器再现的原声钢琴音调在音色上接近在主乐器上产生的原声钢琴音调。

可以利用图15所示的作业序列来替换图8所示的作业序列。在音乐演奏系统的自动演奏器钢琴中采用图8所示的作业序列,并且自动演奏器钢琴分别具有内部钟表(watch)。该内部钟表指示年、月、日、小时、分钟、秒和亚秒(sub-second)tt。当内部钟表采取从亚秒到秒的数字时,亚秒返回到0,并且该内部钟表开始再次递增亚秒。

当中央处理单元开始图15所示的作业序列时,每个自动演奏器钢琴的中央处理单元利用通过无线电波广播标准时间的标准钟表来设置内部钟表,如步骤S68。

随后,自动演奏器钢琴之一的中央处理单元在内部钟表上读取当前时刻ttA,并且将事件代码和表示当前时刻ttA的时间代码通过因特网发送给另一自动演奏器钢琴,如步骤S69。该事件代码表示时间延迟的测量。

所述事件代码和时间代码到达另一自动演奏器钢琴,并且中央处理单元在内部钟表上读取到达时刻ttB。中央处理单元通过时刻ttA和到达时刻ttB之间的减法来确定通信时间延迟DAB,如步骤S70。

另一自动演奏器钢琴的中央处理单元在内部钟表上读取当前时刻ttB’,并且将事件代码和表示当前时刻ttB’的时间代码通过因特网发送给所述自动演奏器钢琴,如步骤S71。

所述事件代码和时间代码到达所述自动演奏器钢琴,并且中央处理单元在内部钟表上读取到达时刻ttA’。中央处理单元通过时刻ttB’和到达时刻ttA’之间的减法来确定通信时间延迟DBA。

自动演奏器钢琴发送表示通信时间延迟DAB和DBA的时间代码,以便交换通信时间延迟DAB和DBA,如步骤S73。这样,确定了通信时间延迟。

如果另一自动演奏器钢琴的中央处理单元在步骤S71与所述事件代码和时间代码ttB’一起发送表示通信时间延迟DAB的时间代码,则减少了发送步骤。此外,可以重复所述作业序列,以便将作为多个通信时间延迟DAB/DBA的平均值来确定所述通信时间延迟。

尽管在音乐会话中为了通信时间延迟D而将步骤S29处的准备工作执行一次,但是可以在音乐会话期间重复对通信时间延迟D的确定。图16示出了用于周期性地测量通信时间延迟D的作业序列。当中央处理单元重复由步骤S30至S34B组成的循环时,中央处理单元通过定时器中断周期性地进入图16所示的作业序列。

当中央处理单元进入所述作业序列时,该中央处理单元检查随机存取存储器,以查看是否任何一个键到达终点位置,如步骤S74A。当步骤S74A的答案给出为否定“否”时,中央处理单元立即返回到循环S30至S34。

另一方面,如果该答案给出为肯定,则中央处理单元将事件代码和表示当前时刻tA的时间代码通过通信网络发送给另一自动演奏器钢琴,如步骤S74B。当接收到该事件代码和时间代码tA时,另一自动演奏器钢琴将该事件代码和表示到达时刻的时间代码tB发送给所述自动演奏器钢琴,如步骤S75。

当事件代码和时间代码tB到达所述自动演奏器钢琴时,将到达时间代码tB储存在随机存取存储器中,如步骤S76。中央处理单元通过当前时刻tA和到达时刻tB之间的减法来确定通信时间延迟,如步骤S77。

图17示出了主乐器中的实际键轨迹tEA上的键位置、推测键轨迹trEB上的键位置、以及从属乐器中的实际键轨迹上的键位置。推测键轨迹trEB由于通信时间延迟而相对于实际键轨迹tEA被延迟,实际键轨迹tEB由于螺线管控制的键致动器、即机械延迟而相对于推测键轨迹trEB被延迟。

如图18所示,对于对应键的控制,考虑了通信时间延迟和机械时间延迟二者。由于如图16所示的那样确定通信时间延迟DAB/DBA,因此为简单起见,从图18所示的作业序列中删除了用于确定通信时间延迟DAB/DBA的作业。

中央处理单元通过定时器中断周期性地进入所述作业序列。当自动演奏器钢琴的中央处理单元进入该作业序列时,中央处理单元检查随机存取存储器,以查看是否任何一个键到达终点位置,如步骤S78A。

如果步骤S78A处的答案给出为否定“否”,则自动演奏器钢琴的中央处理单元立即返回到循环S30至S34B。另一方面,当中央处理单元发现到达终点位置的键时,步骤S78A处的答案给出为肯定“是”。对于肯定答案“是”,中央处理单元将曲线tEA上的时间存储在随机存取存储器中,并且将事件代码和表示曲线trEB上的时间的时间代码发送到另一自动演奏器钢琴,如步骤S78B。

当所述事件代码和时间代码到达另一自动演奏器钢琴时,另一自动演奏器钢琴的中央处理单元将曲线trEB上的时间存储在随机存取存储器中,如步骤S79。

另一自动演奏器钢琴的中央处理单元检查随机存取存储器,以查看对应键是否到达终点位置,如步骤S80A。如果步骤S80A处的答案给出为否定“否”,则中央处理单元返回到所述循环。另一方面,当对应键到达终点位置时,步骤S80A处的答案给出为肯定“是”,并且中央处理单元通过减法来确定机械时间延迟DrB,如步骤S80B。另一自动演奏器钢琴的中央处理单元将表示该机械时间延迟DrB的时间代码发送给所述自动演奏器钢琴,如步骤S81。

当该时间代码到达所述自动演奏器钢琴时,所述自动演奏器钢琴的中央处理单元通过通信时间延迟和机械时间延迟之间的加法来确定总延迟DD,如步骤S82。

图18所示的作业序列形成了图6所示的音乐会话的一部分。由于对于从属乐器的键的控制不仅考虑了通信时间延迟还考虑了机械时间延迟,因此从属乐器的键与主乐器的键良好地同步,并且在主乐器和从属乐器二者上同时演奏音乐曲调。

第三实施例

音乐演奏系统的系统配置

转到附图的图19,实施本发明的另一音乐演奏系统也包括自动演奏器钢琴PE和PF以及因特网N。

除了音乐数据产生系统19E和19F以及键运动估计器25E和25F以外,自动演奏器钢琴PE和PF与自动演奏器钢琴PC和PD相似。音乐数据产生系统19E和19F不仅产生音乐数据,还在键位置数据的基础上产生原始(raw)键运动数据。在此实例中,每个原始键运动数据表示从音乐会话开始起经过的时间、键号码和正规化的键位置。

键运动估计器25E和25F连接在通信系统15A和15B与控制系统18A和18B之间,并且键运动估计器25F和25E在从另一个自动演奏器钢琴PE和PF发送的原始键运动数据的基础上,推测在比当前时刻滞后预定时间段的时刻处的轨线上的键运动。所述预定时间段等于通信延迟时间D。

利用指定自动演奏器钢琴PA的对应组成部件和自动演奏器钢琴PB的对应组成部件的附图标记来标注自动演奏器钢琴PE的其它组成部件和自动演奏器钢琴PF的其它组成部件,而不进行详细描述以避免重复。此外,利用图2所示的指定原声钢琴的对应组成部件以及图3所示的控制系统的对应系统组件的附图标记来标注自动演奏器钢琴PE和PF的原声钢琴的组成部件以及控制系统18Aa和18Ba的系统组件。

尽管在第二实施例中通过演奏者A和B在其上用手指弹奏音乐曲调的自动演奏器钢琴PC和PD的预键数据提供器25A和25B来准备键运动数据,但是第三实施例的自动演奏器钢琴PE和PF将原始键运动数据通过因特网N提供给另一个自动演奏器钢琴PF和PE,并且,在该原始键运动数据的基础上,确定基准正向键轨迹和基准反向键轨迹,所述基准正向键轨迹和基准反向键轨迹表示随着比在原始键运动数据中表示的时刻滞后预定时间段的时刻变化的键位置。将在基准正向键轨迹和基准反向键轨迹上发现的目标键位置和目标键速度提供给伺服控制器12。这样,在基准正向键轨迹和基准反向键轨迹的推测中消除了通信延迟D。结果,与被按压的键同步地移动对应键。

计算机程序

被安装在控制系统18a中的计算机程序也被分解为主例程和若干子例程。主例程、用于通信的子例程和用于音乐数据生成的子例程与安装在自动演奏器钢琴PA和PB的控制系统18a中的计算机程序的那些相似。

用于自动演奏的子例程比安装在自动演奏器钢琴PA和PB中的用于自动演奏的子例程简单。尽管在自动演奏器钢琴PA和PB中、在音乐会话中为无声键移动确定了基准正向无声轨迹和基准反向无声轨迹,但是不通过实现第二实施例的音乐演奏系统在音乐会话中产生基准正向键轨迹和基准反向键轨迹。换言之,在音乐会话中,自动演奏器钢琴PC和PD的自动演奏系统18A和18B驱动键1Aa和1Ba以生成原声钢琴音调。用于音乐数据生成的子例程与自动演奏器钢琴PA和PB中的用于音乐数据生成的子例程不同。通过执行用于音乐数据生成的子例程来产生原始键运动数据。用于音乐会话的子例程与第一实施例和第二实施例的用于音乐会话的子例程不同,并且将在下文中进行描述。

音乐会话中的行为

图20示出了音乐演奏系统在音乐会话中的行为。演奏者A和B分别指示自动演奏器钢琴PE和PF开始音乐会话,该指令从自动演奏器钢琴PE传递到自动演奏器钢琴PF并且反之亦然。

演奏者A按压键1A,相关联的键传感器6A开始改变键位置信号S1的幅值。键位置信号S1的离散值在模数转换之后被累积存储在随机存取存储器22A中,并且音乐数据产生系统19E通知正被按压的键1Aa,如步骤S112。音乐数据产生系统19F将当前键位置正规化,并且确定分配给被按压的键1Aa的键号码和经过的时间。音乐数据产生系统19F产生表示正规化的键位置、经过的时间、以及键号码的原始键运动数据,如步骤S113。该原始键位置数据被装载在分组中,通信系统15A将该分组通过因特网N发送到另一个自动演奏器钢琴PF。

音乐数据产生系统19F和通信系统15A以固定的间隔重复步骤S113和S114处的作业,并且原始键运动数据通过因特网N而被周期性地发送到另一个自动演奏器钢琴PF。

所述分组到达自动演奏器钢琴PF的通信系统15B,如步骤S115。在每个分组通过因特网N的传播期间不可避免地引入通信时间延迟D。

从所述分组中卸载原始键运动数据,并且将原始键运动数据从通信系统15B传递到键运动估计器25E。该原始键运动数据被个体化,并且被累积存储在随机存取存储器22B中。这样,原始键运动数据被周期性地累积存储在随机存取存储器22B中。

键运动估计器25E分析原始键运动数据以便确定基准键轨迹。键运动估计器25E按照与第二实施例的预键数据提供器25A和25B相似的方式确定基准键轨迹,该作业序列在图21中示出。在关于图21所示的流程图的以下描述中,将正规化的键位置的值和确定该正规化的键位置的值的时刻分别表示为yxA和t[n]。相对于时刻t[n]被提前所述固定间隔的时刻被表示为t[n+1],并且前一时刻被表示为t[n-1]。

中央处理单元20B将时刻t[n]处的正规化的键位置值yxA存储在分配给被按压的键1Aa的存储器位置中,如步骤S127。

随后,中央处理单元20A或20B从随机存取存储器22A或22B中读出时刻t[n]处的正规化值yxA[n]以及前一个正规化值yxA[n-1],并且通过使用等式yv[n]=(yx[n]-yx[n-1])/T来计算键速度yv[n],如步骤S128。

随后,中央处理单元20B检查键位置yx[n]和键速度yv[n],以查看是否发现键1Aa处于阶段边界处,如步骤S129。阶段边界的标准与在第二实施例中使用的标准相同。

如果键1Aa的当前状态与所述标准之一匹配,则步骤S129处的答案给出为肯定“是”,并且中央处理单元20B进行到下一步骤S130。另一方面,如果键1Aa的当前状态不与所有标准匹配,则步骤S129处的答案给出为否定“否”,并且中央处理单元20B进行到步骤S131,而不在步骤S130做任何执行。

假设发现键1Aa处于阶段边界处。在步骤S130,中央处理单元20B将初始值赋予基准周期时间T的数目n、键位置yx[n]、键速度yv[n]和加速度ya[n]。所述初始值与结合第二实施例描述的初始值相同。这样,在阶段边界处将基准周期T的数目n、键位置yx[n]、键速度yv[n]和键加速度ya[n]重置为所述初始值。

当完成步骤S130处的作业时,或者对于步骤S129处的否定答案“否”,在步骤S131,中央处理单元20B通过使用被表示为ya[n]=(yv[n]-yv[n-1])/T的等式确定时刻t[n]处的加速度ya[n]。

中央处理单元20B估计初始键速度Vv[n],如步骤S132。中央处理单元20B估计通过当前键位置yx(n)以及先前的键位置yx[n-1]和yx[n-2]的基准键轨迹,如步骤S133,并且通过使用被表示为Vv[n]={(2×n-1)×yv[n-1]-(2×n-3)×yv[n]}/2的等式而从所估计的键轨迹确定初始键速度Vv[n]。键加速度ya[n]和初始键速度Vv[n]被存储在分配给键1Aa的随机存取存储器22B的某个存储器位置上。

最后,中央处理单元20B确定当前阶段中的键轨迹,并且推测在比当前时刻t[n]滞后通信时间延迟D的时刻t[n+D]处的目标键位置和目标键速度,如步骤S134。

回到图20,将目标键位置和目标键速度提供给伺服控制器12B,并且驱动与键1Aa相对应的键1Ba以便产生原声音调,如步骤S117。

另一方面,当演奏者B按压键1Ba时,音乐数据产生系统19F和通信系统15B准备原始键运动数据并且将原始键运动数据发送到另一个自动演奏器钢琴PE,如步骤S118、S119和S120,步骤S118、S119和S120的作业与步骤S112、S113和S114的作业相似,键运动估计器25E和自动演奏系统18A驱动对应键1Aa以便产生原声音调,如步骤S121、S122和S123,步骤S121、S122和S123的作业与步骤S115、S116和S117的作业相似。

当演奏者A按压另一个键1Aa时,音乐数据产生系统19E和通信系统15A准备原始键运动数据并且将原始键运动数据发送到自动演奏器钢琴PF,如步骤S124、S125和S126。

如将从前面的描述理解的那样,键运动估计器25E和25F确定在比当前时刻滞后通信时间延迟D的时刻处的目标键位置和目标键速度。结果,演奏者A和B在音乐会话中演奏音乐曲调,好像他们在原声钢琴1A和1B的每一个上通过四只手演奏音乐曲调一样。

第四实施例

转到附图的图22,实施本发明的另一演奏系统包括自动演奏器钢琴PG和PH以及因特网N。

除了音乐数据产生系统19G和19H以外,自动演奏器钢琴PG和PH与自动演奏器钢琴PA和PB相似。由于这一原因,利用指定自动演奏器钢琴PA和PB的对应组件的附图标记来标注自动演奏器钢琴PG和PH的其它组件,并且为简单起见而不进行详细描述。此外,利用图2所示的指定原声钢琴的对应组成部件和图3所示的控制系统的对应系统组件的附图标记来标注自动演奏器钢琴PG和PH的原声钢琴的组成部件以及控制系统18Aa和18Ba的系统组件。

在音乐数据产生系统19G和19H中分别包括预事件数据提供器29A和29B,并且预事件数据提供器29A和29B是自动演奏器钢琴PG和PH的特征。在下文中,将描述集中于预事件数据提供器29A和29B。

假设自动演奏器钢琴PG和PH被分配给用户A和B。假设用户A在自动演奏器钢琴PG的原声钢琴1A的键1Aa上演奏音乐。当音乐数据处理系统19G发现被移动的键1Aa时,音乐数据产生系统19G基于键位置数据来产生推测事件数据代码evBB。通过预事件数据提供器29A的功能来产生推测事件数据代码evBB。将推测事件数据代码evBB装载在分组中,并且通过因特网N将该分组从通信系统15A发送到通信系统15B。

当分组到达通信系统15B时,从该分组中卸载推测事件数据代码evBB。将推测事件数据代码evBB提供给电子音调生成系统16B,并且通过电子音调生成系统16B的声音系统来生成电子音调。还将推测事件数据代码evBB提供给控制系统18Ba,控制系统18Ba基于该推测事件数据代码来确定基准正向无声轨迹。控制系统18Ba强迫对应键1Ba在基准正向无声轨迹和基准反向无声轨迹上行进。由于在对推测事件数据代码evBB的准备工作中考虑了通信时间延迟,因此与键1Aa同步地移动对应键1Ba。这样,在两个自动演奏器钢琴PG和PH上同时演奏音乐曲调。

图23示出了用于被按压的键1Aa和对应键1Ba的作业序列,当释放被按压的键1Aa时,对于被释放的键1Aa产生推测事件数据代码evBB,并且强迫对应键1Ba在基准反向无声轨迹上行进。用于被释放的键的作业序列类似于图23所示的作业序列。在下文中,对仅用于被按压的键的作业序列进行描述。

当用户A按压键1Aa时,相关联的键传感器6A发现被按压的键1Aa,如步骤S83,并且,将键位置数据从相关联的键传感器6A提供给信号接口。控制系统18Aa的中央处理单元20A周期性地从信号接口中提取键位置数据,以便将该键位置数据的值累积存储在随机存取存储器22A中。

中央处理单元20A分析键位置数据,如步骤S84,并且产生表示推测键事件的推测事件数据代码evBB,如步骤S85。推测键事件表示在比当前时刻滞后通信时间延迟D的时刻处的音符开键事件或音符关键事件。这样,在实际的音符开事件和实际的音符关事件之前预先通知音符开键事件和音符关键事件。在下文中,对如何产生所述事件数据代码进行描述。

将推测键事件代码evBB装载在分组中,并且通过因特网N将分组发送到自动演奏器钢琴PH,如步骤S86。自动演奏器钢琴PG接收该分组,如步骤S87。

从所述分组中卸载推测键事件数据,并且将其传递到自动演奏系统18B。自动演奏系统18B强迫对应键1Ba在基准正向无声轨迹上行进,如步骤S88。尽管在分组发送和分组接收之间不可避免地引入了通信时间延迟D,但是在实际的音符开键事件之前产生了推测键事件数据,使得与被按压的键1Aa同步地移动对应键1Ba。

还将推测键事件数据传递到电子音调生成系统16B,并且通过电子音调生成系统16B产生电子音调,如步骤S89。

当用户B按压键1Ba时,重复上述作业,如步骤S90、S91、S92、S93、S94、S95和S96。在图22中,利用“evA”来标注用于自动演奏器钢琴PG的推测键事件数据代码。强迫对应键1Aa在基准正向无声轨迹上行进,并且生成电子音调。

当用户A按压另一个键1Aa时,预事件数据提供器29A执行与步骤S83至S86处的作业相同的作业,如步骤S97、S98、S99和S100。

尽管未在图23中示出,但是当用户A或B释放被按压的键1Aa或1Ba时,预事件数据提供器29A或29B产生用于音符关事件的推测事件数据代码evBB或evA,并且将该推测事件数据发送到另一自动演奏器钢琴PH或PG。控制系统18Ba或18Aa基于该推测事件数据确定基准反向键轨迹,并且强迫对应键1Ba或1Aa在基准反向无声轨迹上行进。结果,使制音器8与振动的琴弦4接触,并使原声钢琴音调被衰减。

尽管未在图中示出,但是在音乐会话中,中央处理单元20A执行与图7和8所示的作业序列相似的作业序列,并且确定通信时间延迟D。然而,用于键的数据处理与对应的步骤S31不同。

现在假设用户A在音乐会话中按压键1Aa之一,中央处理单元20A通过图24所示的作业序列产生推测键事件数据代码evBB。基准周期时间T的数目被表示为“n”,并且假设从离开静止位置起对基准周期时间进行计数。键速度V被表示为V[n],并且假设最终弦槌速度vv与键速度V成比例。换言之,最终弦槌速度vv被表示为vv=m×V[n],其中m是系数。

当中央处理单元20A进入所述作业序列时,中央处理单元20A提取表示键1Aa的当前键位置yx[n]的键位置数据,并且在模数转换和正规化之后将键位置数据yx[n]累积存储在随机存取存储器22A中,如步骤S101。

随后,中央处理单元20A确定当前键速度yv[n],如步骤S102。当前键速度yv[n]由等式2给出,即,yv[n]=(yx[n]-yx[n-1])/T。中央处理单元20A对当前键速度的值求平均,如步骤S103。平均值V[n]被给出为V[n]=(yv1+,......,+yv[n])/n。

随后,中央处理单元20A推测在比当前时刻[n]滞后通信时间延迟D的时刻处的键位置rx[n+D],如步骤S104。推测键位置rx[n+D]被给出为等式7。

rx[n+D]=yx[n]+V[n]×(D×T)......等式7

其中T是等于基准周期时间T的时间段。这样,通过使用绝对时间(D×T)来表示从当前时刻到推测键位置rx[n+D]的时刻的时间间隔。

在图25中图示了步骤S101至S104处的数据处理。当前时刻被表示为[n],yv[n]指示时刻[n-1]和时刻[n]之间的当前键速度。平均键速度V[n]从时刻0至时刻[n]是合适的。由于期望键1A以平均键速度V[n]移动,因此可以基于表示该平均键速度V[n]的曲线来确定键位置rx[n+D]。这样,中央处理单元20A推测在比当前时刻t[n]滞后通信时间延迟D的时刻[n+D]处的键位置,如步骤S104。

随后,中央处理单元20A将推测键位置rx[n+D]与终点位置相比较,以查看键1Aa是否被认为是在时刻t[n+D]到达终点位置,如步骤S105。在此实例中,终点位置与静止位置分开10毫米。

当发现推测键位置rx[n+D]处于前往静止位置的途中时,步骤S105处的答案给出为否定“否”,并且中央处理单元20立即返回到循环S30至S34B。然而,当发现推测键位置rx[n+D]处于终点位置上时,步骤S105处的答案改变为肯定“是”。然后,中央处理单元20Aa产生推测键事件数据代码evBB。用于音调生成的推测键事件数据代码evBB/evA在格式上与表示音符开键事件的音乐数据代码相同。将音符开消息、与键号码相同的音符号码、与最终弦槌速度vv相等的速度存储在推测键事件数据代码evBB中。最后,中央处理单元20A将推测键事件数据evBB发送给自动演奏器钢琴PF,如步骤S106。

自动演奏系统18B强迫对应键1Ba在基准正向无声键轨迹上行进,并且电子音调生成系统16B产生电子音调来代替原声钢琴音调。自动演奏系统18B的行为与图9B所示的行为相似。尽管在推测键事件数据代码evBB/evA的发送和接收之间不可避免地引入了通信时间延迟D,但是在被按压的键到达终点位置之前将推测事件数据代码evBB/evA发送到另一自动演奏器钢琴,从而消除该通信时间延迟。由于这一原因,与被按压的键同步地移动对应的键。

当释放被按压的键1Aa时,预事件数据提供器29A产生与表示音符开键事件的键事件数据代码相似的、表示音符关键事件的推测键事件数据代码evBB,并且将推测键事件数据代码evBB发送给另一自动演奏器钢琴PF。

当用户B在自动演奏器钢琴PH上用手指弹奏音乐曲调时,预事件数据提供器29B通过图24所示的数据处理产生推测键事件数据代码evA,并且通信系统15B将推测键事件数据代码evA发送给自动演奏器钢琴PG的通信系统15A。移动对应的键1Aa,并且如结合自动演奏器钢琴PH描述的那样生成电子音调。

如将从前面的描述理解的那样,自动演奏器钢琴PG或PH在键事件发生之前产生推测键事件数据代码evBB/evA,并且将该推测键事件数据代码evBB/evA从自动演奏器钢琴PG和PH中的一个发送到自动演奏器钢琴PH或PG中的另一个。推测键事件数据代码evBB/evA使键事件在自动演奏器钢琴PG和PH二者中发生。这样,在自动演奏器钢琴PG和PH二者中同步地驱动键和对应的键。

在第四实施例中,假设键轨迹由如图25所示的线性线表示。然而,可以将键轨迹表示为诸如二阶曲线的非线性线。可以通过图15或图16所示的作业序列来确定通信时间延迟D。

预事件数据提供器29A和29B可以产生表示在比当前时刻滞后一总延迟时间的时刻处的推测键事件的推测事件数据代码,所述总延迟时间即通信时间延迟和机械时间延迟的总和。按照下面所述来确定总延迟时间。

图26示出了用于测量总时间延迟、即通信时间延迟和机械时间延迟的总和的作业序列。基于图18所示的作业序列来准备图26所示的作业序列。在其它实施例中,可以采用图26所示的作业序列。假设将推测事件数据代码evBB从自动演奏器钢琴PG发送给另一自动演奏器钢琴PH。

自动演奏器钢琴PG的中央处理单元20周期性地检查分配给弦槌传感器7A的信号接口,以查看是否使弦槌3中的任何一个与相关联的琴弦4碰撞,如步骤S107A。当该答案给出为否定“否”时,中央处理单元20立即返回到循环S30至S34B。

假设用户按压键1Aa之一。自动演奏器钢琴PG的中央处理单元20执行对于键位置数据的数据处理,以便如上文所述的那样产生推测键事件数据。被按压的键1Aa引起相关联的动作单元2的促动(actuation),这继而引起相关联的弦槌3的旋转。当弦槌3正朝着相关联的琴弦4旋转时,弦槌传感器7A改变弦槌位置信号S2,键位置信号S2的值被周期性地提取,并且被累积存储在随机存取存储器22中。当使弦槌3与琴弦4碰撞时,中央处理单元20确认与琴弦4的碰撞,并且步骤S107A处的答案改变为肯定“是”。然后,中央处理单元20确定使弦槌3与琴弦4碰撞的时刻tEA。

中央处理单元20将时刻tEA储存在随机存取存储器22中,并且将装载了事件代码和表示时刻tEA的时间数据代码的分组通过因特网N发送给另一自动演奏器钢琴PF,如步骤S107B。

当该分组到达通信系统15B时,中央处理单元20确定该分组到达通信系统15B的时刻,并且,将时间数据trEB储存在随机存取存储器22中,如步骤S108。

自动演奏器钢琴PH的中央处理单元20周期性地检查随机存取存储器22,以查看弦槌3是否被认为是与相关联的琴弦4碰撞,如步骤S109A。弦槌传感器7B监控与对应键1Ba相关联的弦槌3,并且弦槌位置数据被累积存储在随机存取存储器22中。由于相关联的键1Ba在基准正向无声轨迹上行进,因此弦槌3没有到达相关联的琴弦4。当弦槌3通过脱离而开始旋转时,中央处理单元20在动作单元2通过脱离而将标准的力传给弦槌3的假设下,推测使弦槌3与琴弦4碰撞的时刻tEB。中央处理单元20从时刻tEB中减去到达时刻trEB,以便确定机械时间延迟DrB,如步骤S109B。

中央处理单元20产生装载了表示到达时刻trEB和机械时间延迟DrB的时间数据的分组,并且通过因特网N将该分组发送给自动演奏器钢琴PE,如步骤S110。

当该分组到达通信系统15A时,从该分组中卸载时间数据。自动演奏器钢琴PE的中央处理单元20从到达时刻trEB中减去时刻tEA,以便确定通信时间延迟。中央处理单元将该通信时间延迟加到机械时间延迟DrB上,并且确定总延迟时间DD,如步骤S111。

第五实施例

音乐演奏系统的系统配置

转到附图的图27,实施本发明的另一音乐演奏系统也包括自动演奏器钢琴PJ和PK以及因特网N。

除了键音乐数据产生系统19J和19K以及键事件估计器29J和29K以外,自动演奏器钢琴PJ和PK与自动演奏器钢琴PG和PH相似。由于这一原因,利用指定自动演奏器钢琴PG和PH的对应系统组件的附图标记来标注自动演奏器钢琴PJ和PK的其它系统组件而不进行详细描述。此外,利用图2所示的指定原声钢琴的对应组成部件和图3所示的控制系统的对应系统组件的附图标记来标注原声钢琴1A和1B的组成部件以及控制系统18Aa和18Ba的系统组件。

尽管音乐数据产生系统19G和19H从键位置数据产生推测事件数据,即推测事件数据代码,但是音乐数据产生系统19J和19K根据该键位置数据准备原始键运动数据,并且将该原始键运动数据提供给通信系统15A和15B。每个原始键运动数据表示正规化的键位置、从音乐会话开始起经过的时间、以及键号码。

键事件估计器29K和29j将正规化的键位置个体化,随后将键位置值与经过的时间和键号码一起累积存储在随机存取存储器22B和22A中。键事件估计器29K和29j分析原始键运动数据,并且产生推测事件数据代码。将该推测事件数据代码提供给音调生成系统16B和16A以及自动演奏系统18B和18A。这样,自动演奏器钢琴PJ和PK将原始键运动数据传递到另一自动演奏器钢琴PK和PJ,并且另一自动演奏器钢琴PK和PJ在原始键运动数据的基础上产生推测事件数据代码。

图28示出了音乐会话中的作业序列。演奏者A和B首先指示自动演奏器钢琴PJ和PK开始音乐会话。当演奏者按压键1Aa时,相关联的键传感器6A开始改变键位置信号S1的幅值。键位置信号S1的离散值被转换为数字键位置信号,并且键位置数据被存储在随机存取存储器22A中。音乐数据产生系统19J在累积存储于随机存取存储器22A中的键位置数据的基础上,通知键1Aa开始行进,如步骤S135,并且产生原始键位置数据,如步骤S136。

将原始键运动数据提供给通信系统15A。原始键运动数据被装载在分组中,该分组被传送到因特网N,如步骤S137。以固定的时间间隔重复步骤S136和S137处的作业,并且将原始键事件数据周期性地传送到因特网N。

在通过因特网N传播期间不可避免地引入了通信时间延迟D,并且通信系统15B接收所述分组,如步骤S138。从所述分组中卸载原始键运动数据,并且将原始键运动数据提供给键事件估计器29K。

键事件估计器29K将原始键事件数据个体(性)化,随后将其存储在随机存取存储器22B中。这样,将原始键运动数据的个体化后的值累积存储在随机存取存储器22B中。

键事件估计器29K分析原始键运动数据,并且产生推测事件数据代码,如步骤S139。在图29中图示了产生预事件数据代码的方法。

详细地讲,当中央处理单元20B进入图29所示的作业序列时,中央处理单元20B提取表示键1Aa的当前键位置yx[n]的原始键运动数据,并且在模数转换和正规化之后将键位置数据yx[n]累积存储在随机存取存储器22B中,如步骤S150。

随后,中央处理单元20B确定当前键速度yv[n],如步骤S151。当前键速度yv[n]由等式2给出,即,yv[n]=(yx[n]-yx[n-1])/T。中央处理单元20B对当前键速度的值求平均,如步骤S152。平均值V[n]被给出为V[n]=(yv1+,...,+yv[n])/n。

随后,中央处理单元20B推测在比当前时刻[n]滞后通信时间延迟D的时刻处的键位置rx[n+D],如步骤S153。推测键位置rx[n+D]被给出为rx[n+D]=yx[n]+V[n]×(D×T)。这样,通过使用绝对时间(D×T)来表示从当前时刻到推测键位置rx[n+D]的时刻的时间间隔。

当前时刻被表示为[n],yv[n]指示时刻[n-1]和时刻[n]之间的当前键速度。平均键速度V[n]从时刻0至时刻[n]是合适的。由于期望键1Aa以平均键速度V[n]移动,因此可以基于表示该平均键速度V[n]的曲线来确定键位置rx[n+D]。这样,中央处理单元20B推测在比当前时刻t[n]滞后通信时间延迟D的时刻[n+D]处的键位置,如步骤S153。

随后,中央处理单元20B将推测键位置rx[n+D]与终点位置相比较,以查看键1Aa是否被认为是在时刻t[n+D]到达终点位置,如步骤S154。在此实例中,终点位置与静止位置分开10毫米。

当发现推测键位置rx[n+D]处于前往静止位置的途中时,步骤S154处的答案给出为否定“否”,并且中央处理单元20B立即返回到循环S30至S34B。然而,当发现推测键位置rx[n+D]处于终点位置上时,步骤S154处的答案改变为肯定“是”。然后,中央处理单元20B产生推测键事件数据代码。该推测键事件数据代码在格式上与表示音符开键事件的音乐数据代码相同。将音符开消息、与键号码相同的音符号码、与最终弦槌速度vv相等的速度存储在推测键事件数据代码中。最后,中央处理单元20B将推测键事件数据发送给自动演奏系统18B和电子音调生成器16B,如步骤S155。

回到图28,电子音调生成系统18B产生电子音调,运动控制器11B和伺服控制器12B强迫键1Ba在基准正向无声轨迹上行进。结果,键1Ba在没有任何原声音调的情况下移动,并且生成电子音调,如步骤S140。

当演奏者B按压键1Ba时,音乐数据产生系统19K在步骤S141和S142产生原始键运动数据,所述步骤S141和S142与步骤S136和S137处的作业相同。原始键运动数据被传递到自动演奏器钢琴PJ,如步骤S143,并且被接收,如步骤S144。键事件估计器29J产生推测事件数据代码,如步骤S145,并且推测事件数据代码被提供给电子声音系统16A和自动演奏系统18A。这样,在没有任何原声音调的情况下移动对应键1Aa,并且产生电子音调,如步骤S146。

当演奏者A按压另一个键1Aa时,重复上述作业,如步骤S147、S148和S149。这样,音乐会话进行下去。

可以将推测事件数据代码仅仅提供给自动演奏系统18A和18B。在此实例中,自动演奏系统18A和18B强迫键1Aa和1Ba在基准正向键轨迹和基准反向键轨迹上行进,从而产生原声音调。

如将从前面的描述理解的那样,即使在接收到原始键运动数据之后产生推测事件数据代码,也在没有任何原声音调的情况下再现键1Ba和1Aa的移动,并且演奏者B和A听到与通过原声钢琴1A和1B产生的原声音调相对应的电子音调。推测键事件相对于常规键事件而被提前,从而消除了通信时间延迟D。

尽管已经示出和描述了本发明的特定实施例,但是对于本领域技术人员来说将清楚的是,可以在不背离本发明的精神和范围的情况下进行各种改变和修改。

MIDI协议不对本发明的技术范围设置任何限制。其它种类的音乐数据协议是已知的,并且可以用于在所述音乐演奏系统中使用的音乐数据代码。

推测键运动数据和推测事件数据不对本发明的技术范围设置任何限制。可以将键位置数据的采样值从主乐器发送到从属乐器。在此实例中,键传感器具有与键行程一样宽或者比键行程宽的可检测范围,并且从属乐器的控制系统推测在到达时刻的键位置或键事件。

在前述实施例中,自动演奏器钢琴PA至PK在音乐会话中充当主乐器和从属乐器。然而,所述自动演奏器钢琴之一可以始终充当主乐器。在此实例中,将推测键运动数据或推测事件数据单向地从主乐器发送到一个或多个从属乐器。

音乐演奏系统的自动演奏器钢琴可以具有键传感器6或弦槌传感器7。换言之,键传感器6或弦槌传感器7是可有可无的。

可以将键速度传感器或活塞速度传感器安装在自动演奏器钢琴PA和PB中。在此实例中,运动控制器12根据键速度信号或活塞速度信号直接确定当前键速度。

脉宽调制不对本发明的技术范围设置任何限制。可以将任何种类的信号调制用于伺服控制,只要磁场强度可以控制即可。

因特网N不对本发明的技术范围设置任何限制。可以通过LAN(局域网)或MAN(城域网)连接自动演奏器乐器PA和PB。所述网络可以基于以太网(商标)。

分组发送不对本发明的技术范围设置任何限制。可以通过经由线缆的基带传送,来将推测键运动数据和推测事件数据从主乐器发送到从属乐器。另外,可以通过无线电信道将推测键运动数据和推测事件数据从主乐器发送到从属乐器。

可以从利用存储在只读存储器21中的控制数据修正的键轨迹数据产生用于基准正向无声轨迹的基准键速度。在此实例中,首先在个体化的演奏数据的基础上确定基准正向键速度,所述演奏数据被存储在从另一自动演奏器钢琴PA或PB接收的音乐数据代码中,并且,利用控制数据来修正表示基准正向键轨迹的键轨迹数据。

可以将在日本专利申请特许公开No.2006-235216中公开的键控制技术用于步骤S5处的键驱动。如上文所述,动作单元2通过脱离引起弦槌3的旋转。可以通过在该日本专利申请特许公开中公开的键控制技术来在脱离之前瞬间停止被按压的键1a。换言之,基准正向无声轨迹在脱离之前瞬间的某个键位置处终止,使得不会驱动弦槌3进行旋转。这导致键1a的移动而没有任何原声钢琴音调。

两个自动演奏器钢琴PA和PB不对本发明的技术范围设置任何限制。可以通过通信系统连接超过两个的自动演奏器钢琴,以便在它们之间进行音乐会话。

自动演奏器钢琴不对本发明的技术范围设置任何限制。在本发明的音乐演奏系统中可以包含自动演奏器钢琴和另一种类的乐器,只要所述种类的乐器具有产生音乐数据的能力即可。电子键盘、电子钢琴、以及诸如例如电子管乐器的另一种类的电子乐器可以充当所述种类的乐器。

另一种类的自动演奏器乐器可以参与音乐会话。自动演奏器管乐器、自动打击乐器和自动弦乐器是所述种类的自动演奏器乐器的示例。

本发明可适合于乐器的另一种类的操纵器。自动演奏器钢琴具有由螺线管控制的致动器驱动的钢琴踏瓣。可以在主乐器中产生对应于推测键运动数据和推测事件数据的推测踏瓣运动数据或推测踏瓣事件数据,并且将推测踏瓣运动数据或推测踏瓣事件数据发送到从属乐器。

可以用诸如例如液压致动器、气动致动器或者电机的另一种类的致动器来代替螺线管控制的键致动器5。

可以重复步骤S35至S38。在此实例中,可以作为结果的平均值来确定通信时间延迟D。

通信时间延迟D可以是可变的。在此实例中,预键数据提供器25A和25B通过优化系数而使推测键轨迹与实际键轨迹精确地重合。为了使推测键轨迹与实际键轨迹精确地重合,将推测键位置rxB乘以所述系数,并且周期性地更新该系数。

另外,可以根据估计键轨迹的梯度来改变通信时间延迟D。在此实例中,当预键数据提供器25A和25B在步骤S66确定估计键轨迹时,预键数据提供器25A和25B基于估计键轨迹的梯度来确定系数,并且将该系数乘到通信时间延迟D上,以使得适当地延迟推测键轨迹。

两种手指弹奏,即标准手指弹奏和半行程手指弹奏不对本发明的技术范围设置任何限制。可以为其它种类的手指弹奏准备多组阶段,所述其它种类的手指弹奏例如为没有任何音调的键移动,其中,键移动引起弦槌旋转而不与琴弦碰撞。

阶段边界PH1至PH5、PH6和PH7不对本发明的技术范围设置任何限制。可以将标准键轨迹划分为少于5个的阶段或者多于5个的阶段。可以将半行程键轨迹划分为多于两个的阶段PH6和PH7。

在音乐会话中可以对机械时间延迟测量一次。在此实例中,总延迟DD被引入到所有推测键轨迹中。另外,可以在每个键到达终点位置时测量机械时间延迟。在此实例中,在主乐器上的演奏期间更新机械时间延迟。

在图18所示的作业序列中,当键到达终点位置时,将事件代码和时间代码trEB发送到从属乐器。然而,该终点位置不对本发明的技术范围设置任何限制。当到达所述阶段边界之一或者多于一个的阶段边界时,主乐器的中央处理单元可以进行到步骤S78B。

可以多次测量机械时间延迟。在此实例中,机械时间延迟被给出为所测量的机械时间延迟值的平均值。

可以在主乐器和从属乐器之间共享总延迟DD。另外,主乐器和从属乐器可以独立地确定总延迟DD。

在第四实施例中,可以基于基准正向无声轨迹来推测时刻tEA。另外,可以将振动传感器或麦克风安装在自动演奏器钢琴PE和PF中,以便将琴弦4的振动转换为检测信号。

权利要求语言与在实施例中描述的乐器的系统组件和组成部件关联如下。

自动演奏器钢琴PC、PD、PE、PF、PG、PH、PJ和PK是“主乐器”。当使得自动演奏器钢琴PC、PE、PG或PJ对应于“所述多个乐器的每一个”时,自动演奏器钢琴PD、PF、PH或PK充当“所述多个乐器中的另一个”。

键1Aa或1Ba对应于所述多个乐器的每一个的“多个操纵器”,并且电子音调生成系统16A或16B、动作单元2、弦槌3、琴弦4和制音器8作为整体组成“音调生成器”。螺线(电磁)管控制的键致动器5A或5B充当“致动器”,并且驱动脉冲信号S3对应于“驱动信号”。键传感器6A或6B对应于“转换器”,并且键位置信号S1充当“检测信号”。

通信系统15A或15B对应于“通信器”。键运动数据对应于“表示真实移动的演奏数据”和“表示真实移动的其它演奏数据”,并且推测事件数据evBB和evA对应于“表示预期移动的演奏数据”和“表示预期移动的其它演奏数据。

音乐数据产生系统19C或19D充当“产生表示所述预期移动的所述演奏数据的数据产生器”,并且音乐数据产生系统19E或19F充当“产生表示所述真实移动的所述演奏数据的数据产生器”。

预数据处理器10、运动控制器11、伺服控制器12和脉宽调制器24形成“信号产生器”的各个部分。因特网N向所述多个乐器提供“通信信道”。

预数据提供器19C或预事件数据提供器29A充当“被与所述多个乐器的所述每一个的所述数据产生器相关联地提供的预期数据产生器”,并且预数据提供器19D或预事件数据提供器29B充当“被与所述多个乐器中的所述另一个的所述数据处理器相关联地提供的预期数据产生器”。键运动估计器25E或键事件估计器29J充当“被与所述多个乐器的所述每一个的所述信号产生器相关联地...提供的预期数据产生器”,并且键运动估计器25F或键事件估计器29K充当“被与所述多个乐器中的所述另一个的信号产生器相关联地...提供的预期数据产生器”。

控制系统10a和步骤S35至S38处的作业充当“延迟测量模块”,并且可以用步骤S68至S73处的作业、步骤S74A至S77处的作业、或者步骤S78A至S82处的作业来代替步骤S35至S38处的作业。

在与“所述多个乐器的所述每一个”的数据产生器相关联地提供预期数据产生器的情况下,控制系统18a和步骤S60至S66处的作业充当“实际轨迹估计器”。此外,在与“所述多个乐器的所述每一个”的数据产生器相关联地提供预期数据产生器的情况下,控制系统18a和步骤S67处的作业充当“物理量估计器”。

在与“所述多个乐器的所述每一个”的信号产生器相关联地提供预期数据产生器的情况下,控制系统18a和步骤S127至S133处的作业充当“实际轨迹估计器”。此外,在与“所述多个乐器的所述每一个”的信号产生器相关联地提供预期数据产生器的情况下,控制系统18a和步骤S134处的作业充当“物理量估计器”。

在与“所述多个乐器的每一个”的数据产生器相关联地提供预期数据产生器的情况下,控制系统10a和步骤S101至S104处的作业充当“位置估计器”,控制系统10a和步骤S106处的作业的一部分充当“事件数据产生器”,控制系统10a和步骤105和106处的作业充当“事件数据提供器”。

在与“所述多个乐器的所述每一个”的信号产生器相关联地提供预期数据产生器的情况下,控制系统10a和步骤S150至S153处的作业充当“位置估计器”,控制系统10a和步骤S155处的作业的一部分充当“事件数据产生器”,控制系统10a以及步骤154和155处的作业充当“事件数据提供器”。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号