具有重放表的自动演奏器乐器及其方法

申请号 CN200510068905.3 申请日 2005-04-27 公开(公告)号 CN100593192C 公开(公告)日 2010-03-03
申请人 雅马哈株式会社; 发明人 佐佐木智也; 佐佐木力;
摘要 一种自动演奏器 钢 琴,只配有键 传感器 (7),并且期望该自动演奏器引起随 音调 响度变化的琴槌运动;制造商通过实验准备了表示琴槌速度的测量值(v2)和基准键速度的测量值(ko)之间关系(PX2)的速度转换表、以及表示琴槌速度的测量值(v2)和基准键速度的目标值(kt)之间关系(PX1)的基准表,并且,速度转换表(PX2)和基准表(PX1)被存储在自动演奏器(302)中的适当 存储器 中;自动演奏器(302)部分通过实验、并且部分通过从基准表(PX1)抄录来确定重放表(PX3),以便在没有不稳定键运动的影响的情况下以大响度驱动琴槌(3)。
权利要求

1.一种用于在没有人类演奏者的手指弹奏的情况下产生音调的自动演奏 器乐器,包括:
原声乐器(100),包括
多个操纵器(1a、1b),被有选择地操纵,以指定要产生的音调,和
音调生成器(2、3、4),具有连接到所述多个操纵器(1a、1b)的特定链 接件(3),并响应于被操纵的操纵器(1a、1b)的运动,以通过连接到所述被操 纵的操纵器(1a、1b)的特定链接件(3)的运动产生所述音调;以及
自动演奏器(302),包括
多个致动器(6),分别与所述多个操纵器(1a、1b)相关,并响应于驱动 信号(ui),以便引起所述被操纵的操纵器(1a、1b)沿基准轨迹的所述运动,所 述基准轨迹上的各个基准点处的所述被操纵的操纵器(1a、1b)的基准速度与相 关特定链接件(3)的速度成比例,而相关特定链接件(3)的速度又与通过所述音 调生成器(2、3、4)产生的所述音调的响度成比例,和
数据处理单元(303),连接到所述多个致动器(6),并引起所述被操纵的 操纵器(1a、1b)的所述运动,
其特征在于:
所述数据处理单元(303)存储所述基准速度的目标值和其中的所述特定 链接件的所述速度的目标值之间的重放关系(PX3),分析代表至少所述被操纵 的操纵器(1a、1b)和所述音调的所述响度的乐曲数据代码,以便在所述重放关 系(PX3)的基础上确定所述基准速度的目标值,并控制所述被操纵的操纵器 (1a、1b)以所述基准速度的所述基准值经过所述基准点,
其中,通过来自主自动演奏器乐器的所述基准速度的目标值(kt)和对应的 特定链接件的速度的测量值(v2)之间的基准关系(PX1)的抄录,来准备至少一 部分所述重放关系(PX3),所述主自动演奏器乐器配有用于监控所述对应的特 定链接件的传感器、和用于以所述基准速度的所述目标值驱动对应的操纵器 的致动器。
2.如权利要求1所述的自动演奏器乐器,其中,所述自动演奏器还包括:
多个传感器(7),连接到所述数据处理单元(303),分别监控所述多个操纵 器(1a、1b),并产生代表表示所述被操纵的操纵器(1a、1b)的所述运动的物理 量的检测信号(yxa),使得所述数据处理单元(303)在所述物理量的测量值的基 础上,确定所述多个操纵器的所述基准速度的测量值,
其中,所述数据处理单元(303)还通过参考以所述基准速度的所述测量值 访问的速度转换器(PX2)、而以所述基准速度的目标值内部进行的实验来准备 所述重放关系(PX3)的另一部分,以确定所述基准速度的所述目标值和所述特 定链接件(3)的所述速度的所述目标值之间的关系。
3.如权利要求2所述的自动演奏器乐器,其中,所述速度转换器(PX2) 定义通过使用所述主自动演奏器乐器确定的、所述对应操纵器的所述基准速 度的测量值(ko)和所述对应特定链接件的所述速度的测量值(v2)之间的关系, 使得所述数据处理单元(303)通过以所述基准速度的所述测量值访问所述速度 转换器(PX2),来估计所述重放关系(PX3)的所述另一部分的所述速度的所述 目标值和所述基准速度的所述目标值之间的所述关系。
4.如权利要求2所述的自动演奏器乐器,其中,所述多个传感器(7)与 所述多个致动器(6)和所述数据处理单元(303)一起形成伺服控制环,以便按照 以所述基准速度的所述目标值经过所述基准点这样的方式,来控制所述被操 纵的操纵器(1a、1b)。
5.如权利要求1所述的自动演奏器乐器,其中,以重放表(21a)的形式 将所述重放关系(PX3)存储在所述数据处理单元(303)中。
6.如权利要求5所述的自动演奏器乐器,其中,所述重放表(21a)具有 分别分配给所述多个操纵器(1a、1b)的多个数据(2101、...2188),并且,所 述多个数据块(2101、...2188)的每一个定义连接到所述多个操纵器(1a、1b)之 一的特定链接件(3)的所述速度的所述目标值与所述基准速度的所述目标值之 间的重放关系(PX3)。
7.如权利要求1所述的自动演奏器乐器,其中,所述重放关系(PX3)的 所述部分定义所述特定链接件(3)的所述速度的大的目标值和所述基准速度的 所述目标值之间的关系。
8.如权利要求7所述的自动演奏器乐器,其中,所述重放关系(PX3)还 具有另一部分,该部分通过访问速度转换器(PX2)来定义所述速度的小的目标 值与所述基准速度的所述目标值之间的关系,所述速度转换器(PX2)定义通过 使用所述主自动演奏器乐器而确定的所述对应操纵器的所述基准速度的测量 值(ko)与所述对应特定链接件的所述速度的测量值(v2)之间的关系。
9.如权利要求8所述的自动演奏器乐器,其中,所述自动演奏器(302) 还包括多个传感器(7),其监控所述多个操纵器(1a、1b),用于测量表示所述 多个操纵器(1a、1b)的所述运动的物理量,并且,所述数据处理单元(303)在 所述物理量的测量值的基础上确定所述基准速度的测量值,以便通过以所述 基准速度的所述测量值访问所述速度转换器(PX2),来估计所述被操纵的操纵 器(1a、1b)的所述基准速度的所述目标值与所述相关特定链接件(3)的所述速 度的所述目标值之间的所述关系。
10.如权利要求9所述的自动演奏器乐器,其中,以速度转换表的形式 将所述速度转换器(PX2)存储在所述数据处理单元(303)中。
11.如权利要求8所述的自动演奏器乐器,其中,将所述另一部分与所 述重放关系(PX3)的所述部分合并。
12.如权利要求11所述的自动演奏器乐器,其中,通过插值来将所述另 一部分与所述部分合并。
13.如权利要求1所述的自动演奏器乐器,其中,琴(100)充当所述原 声乐器。
14.如权利要求13所述的自动演奏器乐器,其中,所述钢琴的黑白键(1a、 1b)和琴槌(3)分别表现为所述多个操纵器和所述特定链接件。
15.如权利要求14所述的自动演奏器乐器,其中,在所述黑白键(1a、 1b)的后部下方提供所述多个致动器(6),并且,所述自动演奏器(302)还包括 在所述黑白键(1a、1b)的前部下方提供的键传感器(7),使得当所述多个致动 器(6)强有地推动所述后部以便以所述基准速度的大目标值引起所述操纵器 (1a、1b)的所述运动时,所述黑白键(1a、1b)不仅绕平衡轨道(104)旋转,还在 平衡轨道(104)上跳动。
16.如权利要求15所述的自动演奏器乐器,其中,将所述重放关系(PX3) 的所述部分应用于表示所述特定链接件(3)的所述速度的大目标值的所述乐曲 数据代码,以便确定所述基准速度的所述大目标值。
17.如权利要求1所述的自动演奏器乐器,还包括记录器(301),其以所 述乐曲数据代码的形式记录在所述多个操纵器上的演奏。
18.一种控制在没有人类演奏者的手指弹奏的情况下产生音调的自动演 奏器乐器的方法,包括以下步骤:
a)以特定链接件(3)的目标速度的形式、取出代表至少要产生的音调的音 高和所述音调的响度的乐曲数据代码,所述特定链接件(3)形成响应于操纵器 (1a、1b)的音调生成器(2、3、4)的一部分;
b)参考重放关系(PX3),确定基准轨迹上的基准点处的所述操纵器(1a、1b) 的基准速度的目标值,其中,通过来自主自动演奏器乐器的对应操纵器的基 准速度的目标值(kt)和对应特定链接件的速度的测量值(v2)之间的基准关系 (PX1)的抄录,来准备至少一部分所述重放关系(PX3),所述主自动演奏器乐 器配有用于监控所述对应特定链接件的传感器和用于驱动所述对应操纵器的 致动器;以及
c)控制所述操纵器(1a、1b),以便以所述基准速度的所述目标值经过所述 基准点。
19.如权利要求18所述的方法,其中,以重放表(21a)的形式存储所述 重放关系(PX3),使得从所述重放表(21a)中读出所述基准速度的所述目标值。
20.如权利要求18所述的方法,其中,所述重放关系(PX3)还具有通过 内部进行的实验并参考速度转换器(PX2)来准备的另一部分,所述内部进行的 实验用于确定所述操纵器(1a、1b)的所述基准速度的测量值,所述速度转换器 (PX2)定义所述对应特定链接件的所述速度的测量值(v2)与所述对应操纵器的 所述基准速度的测量值(ko)之间的关系。

说明书全文

技术领域

发明涉及一种自动演奏器乐器(automatic player musical instrument),并 特别涉及一种诸如例如自动演奏器键盘乐器的自动演奏器乐器、以及其中使 用的计算机程序,所述自动演奏器键盘乐器配有用于在键盘上重演演奏的自 动演奏器。

背景技术

自动演奏器琴是自动演奏器乐器的典型示例。自动演奏器钢琴是原声 钢琴和电子控制系统之间的组合,并且通常具有两种操作模式。第一操作模 式在下文中被称为“记录模式”,而第二模式被称为“重放模式”。当自动演 奏器钢琴停留在记录模式中时,用户可以请求充当记录器的电子控制系统收 集用于记录键盘和踏板上的演奏的乐曲数据。另一方面,当自动演奏器钢琴 进入重放模式时,该自动演奏器钢琴准备好重演(reenact)所述演奏,而没有人 类演奏者的任何手指弹奏。当接收到用户的请求时,充当自动演奏器的电子 控制系统有选择地按压黑白键,并踏在踏板上,以顺着乐曲的节(passage)产 生原声钢琴音调
在日本专利申请公开第2001-175262号中公开了标准的自动演奏器钢 琴。琴槌(hammer)传感器被安装在自动演奏器钢琴中,并形成记录器的一部 分。当用户在键盘和踏板上演奏一首乐曲时,琴槌传感器监控原声钢琴的琴 槌,并将当前琴槌位置通知给数据处理器。数据处理器分析表示琴槌运动的 琴槌数据,以便确定琴槌速度、弦被琴槌撞击的定时(timing)等,并估计按压 和释放相关键的定时。这些乐曲数据被存储在合适的信息存储介质中以供重 放。因而,在琴槌数据的基础上准备(prepare)了乐曲数据。
另一种自动演奏器钢琴未配有任何琴槌传感器,并且可以说是“无琴槌 传感器的自动演奏器钢琴”。这种无琴槌传感器的自动演奏器钢琴配有键传感 器。数据处理器确定按压和释放黑白键的定时,并估计琴槌速度和弦被琴槌 撞击的定时。
当数据处理器估计出在MIDI(乐器数字接口)协议中定义的琴槌速度时, 数据处理器访问表示在键数据的基础上确定的键速度和琴槌速度之间的关系 的表,并从该表中读出琴槌速度的值。键速度和琴槌速度之间的关系通过制 造商进行的实验而确定,并被存储在记录器的合适的非易失性存储器中。在 下文中,将定义了键速度和琴槌速度之间关系的表称为“速度转换表”。
为重放准备了另一个表,并且,在该表中定义了琴槌速度和基准键速度 之间的关系。基准键速度被定义为“在静止位置和最终位置之间的键轨迹上 的基准键点处的键速度”,并且,在日本专利申请公开第Hei 7-175472号中 公开了该基准键点和基准键速度。基准键速度与琴槌速度成比例,琴槌速度 又与原声钢琴音调的响度成比例。尽管无琴槌传感器的自动演奏器钢琴未配 有琴槌传感器,但是有可能通过控制黑白键获得基准键速度来再现原声钢琴 音调。当数据处理器利用驱动脉冲信号有选择地驱动形成自动演奏器的一部 分的电磁控制的键致动器(solenoid-operated key actuator)以便自动演奏时,乐 曲数据代码传授琴槌速度,使得数据处理器从所述表中读出基准键速度的目 标值,并且,数据处理器通过伺服控制环与调制器协作,以便将基准键速度 的目标值给予黑白键,以再现原声钢琴音调。在下文中,将存储琴槌速度和 基准键速度之间关系的表称为“重放表”,以便将它和速度转换表区分开。在 速度转换表的基础上准备重放表,并且,在下文中将准备重放表的工作称为 “学习”。
现有技术的无琴槌传感器的自动演奏器钢琴按照以下所述来学习琴槌速 度和基准键速度之间的关系。首先,数据处理器从信息存储介质中读出基准 键速度的标准值,并通过伺服控制环控制黑或白键。驱动脉冲信号被按顺序 提供给其它电磁控制的键致动器,以便引起键运动。键传感器监控键运动, 并在键从静止位置行进到最终位置期间将键数据提供给数据处理器。数据处 理器周期性地取出由键位置信号代表的键数据,并确定基准键速度的测量值。 数据处理器以不同的标准值重复上述序列,使得基准键速度的标准值与基准 键速度的测量值相关。
随后,数据处理器以基准键速度的测量值访问速度转换表,并读出琴槌 速度的值。数据处理器重复上述序列,并在每个键的基准键速度的测量值和 琴槌速度值之间关系的基础上产生重放表。
当自动演奏器在键盘和踏板上重演演奏时,数据处理器首先在MIDI乐 曲数据代码的基础上确定琴槌速度的目标值,从重放表读出基准键速度的目 标值,并通过伺服控制环控制对应于要产生的原声音调的黑白键。黑白键获 得基准键点处的基准键速度的目标值,并引起琴槌动作。琴槌以目标琴槌速 度撞击弦,并且,振动的弦预计将以目标响度产生原声钢琴音调。
在现有技术无琴槌传感器的自动演奏器钢琴中遇到了这样的问题:无琴 槌传感器的自动演奏器钢琴往往以不同于原始演奏中的响度再现原声钢琴音 调。当自动演奏器以大响度再现原声音调时,差别是显著的。

发明内容

因此,本发明的重要目的是提供一种自动演奏器乐器,通过该自动演奏 器乐器,以从小值到大值的响度准确地产生音调。
本发明考虑了现有技术的无琴槌传感器的自动演奏器钢琴中的固有问 题,并发现黑白键有时候在平衡轨道上跳动。电磁控制的键致动器安装在黑 白键后部的下方,并且,键传感器位于黑白键前部下方的区域中。当电磁控 制的键致动器使活塞缓慢地伸出时,活塞引起围绕平衡轨道的稳定的键旋转。 然而,当使用驱动脉冲信号强有地激励电磁控制的键致动器时,活塞与黑/ 白键的后部猛烈碰撞,并且,黑白键不仅围绕平衡轨道旋转,还在平衡轨道 上跳动。出于此原因,键数据没有准确地表示围绕平衡轨道的键旋转。即使 速度转换表准确地定义了主(master)自动演奏器钢琴上的基准键速度和琴槌 速度之间的关系,在学习时基于键数据确定的键速度也是不可靠的,并且, 因此,在由于键跳动造成的误差的影响下确定了重放表,其中,为了所述速 度转换表而在制造商的工厂里安装了所述主自动演奏器钢琴。本发明人得到 这样的结论:直接通过对主自动演奏器钢琴的实验来准备为大响度的原声钢 琴音调而访问的重放表的那一部分。
根据本发明的一个方面,提供一种用于在没有人类演奏者的手指弹奏的 情况下产生音调的自动演奏器乐器,包括:原声乐器,其包括被有选择地操 纵以指定要产生的音调的多个操纵器,和音调生成器,具有连接到所述多个 操纵器的特定链接件(link)、并响应被操纵的操纵器的运动,以通过连接到被 操纵的操纵器的特定链接件的运动来产生音调;以及自动演奏器,包括分别 与所述多个操纵器相关联、并响应驱动信号以便引起被操纵的操纵器沿基准 轨迹的运动的多个致动器,和数据处理单元,连接到所述多个致动器,存储 基准速度的目标值与其中的所述特定链接件的速度的目标值之间的重放关 系,分析代表至少被操纵的操纵器和音调的响度的乐曲数据代码、以便在重 放关系的基础上确定基准速度的目标值,并控制被操纵的操纵器以基准速度 的基准值通过基准点,并且,基准轨迹上的各个基准点处的被操纵的操纵器 的基准速度与相关特定链接件的速度成比例,而相关特定链接件的速度又与 通过音调生成器产生的音调的响度成比例,其中,通过从主自动演奏器乐器 的基准速度的目标值和对应的特定链接件的速度的测量值之间的基准关系抄 录,来准备至少一部分重放关系,所述主自动演奏器乐器配有用于监控对应 特定链接件的传感器、和用于以基准速度的目标值驱动对应操纵器的致动器。
根据本发明的另一方面,提供一种控制用于在没有人类演奏者的手指弹 奏的情况下产生音调的自动演奏器乐器的方法,包括以下步骤:取出以特定 链接件的目标速度的形式代表至少要产生的音调音高和音调响度的乐曲数据 代码,所述特定链接件形成响应于操纵器的音调生成器的一部分;参照重放 关系,确定基准轨迹上的基准点处的操纵器的基准速度的目标值,其中,通 过从主自动演奏器乐器的对应操纵器的基准速度的目标值与对应特定链接件 的速度的测量值之间的基准关系抄录,来准备至少一部分所述重放关系,所 述主自动演奏器乐器配有:传感器,用于监控对应的特定链接件;和致动器, 用于驱动对应操纵器,并控制该操纵器,以便以基准速度的目标值通过基准 点。
附图说明
根据结合附图的以下描述,将更清楚地理解自动演奏器乐器和计算机程 序的特征及优点,其中:
图1A是示出通过对主自动演奏器钢琴的实验确定的基准键速度的目标 值和琴槌速度的测量值之间关系的图,
图1B是示出通过对主自动演奏器钢琴的实验确定的基准键速度的测量 值和琴槌速度的测量值之间关系的图,
图1C是示出通过学习确定的琴槌速度的目标值和基准键速度的目标值 的图,
图2是示出根据本发明的自动演奏器钢琴的结构的侧视图,
图3是示出合并在自动演奏器钢琴中的数据处理单元的系统结构的方框 图,
图4是示出重放表的概念的视图,
图5A是示出用于准备重放表的计算机程序的一部分的流程图
图5B是示出用于准备重放表的低-中速部分的子例程的流程图,
图6是示出用于确定琴槌速度的指令序列的流程图,
图7是示出在静止位置和最终位置之间定义的区域的示意图,
图8是示出用于记录的子例程的一部分的流程图,
图9是示出与定时数据成对的琴槌数据的视图,
图10是示出倒计数(count-down)程序的流程图,以及
图11是示出用于重放的子例程的流程图。

具体实施方式

实现本发明的自动演奏器乐器主要包括原声乐器和电子系统。原声乐器 包括多个操纵器和音调生成器。在原声乐器是钢琴的情况中,黑白键以及动 作机构的组合、琴槌和弦分别充当操纵器和音调生成器。为了使描述可被容 易地理解,将原声乐器假设为钢琴。然而,电子系统和另一原声乐器一起形 成另一种自动演奏器乐器。
在以下描述中,术语“前面”表示比用术语“后面”修饰的位置更接近 钢琴家的位置,该钢琴家坐在凳子上用手指弹奏。在前面的位置和对应的后 面位置之间画的线沿纵向延伸,并且横向与该纵向以直相交。
在此实例中,自动演奏器乐器被分类到“无琴槌传感器的自动演奏器钢 琴”,并且仅在黑白键的前面部分下方提供了键传感器,并在黑白键的后面部 分下方提供了键致动器。键致动器、键传感器和数据处理单元形成伺服控制 环,使得数据处理单元强迫黑白键获取基准键轨迹上的基准键点处的基准键 速度的目标值。
电子系统在原声乐器上重演演奏,并且,用一组乐曲数据代码来表示该 演奏。数据处理单元在用于音符开(note-on)事件的乐曲数据代码的基础上, 确定要移动的黑白键和要产生的音调响度。尽管响度与琴槌速度成比例,但 是在自动演奏器乐器中没有合并任何琴槌传感器,使得数据处理单元将在键 传感器报告的键数据的基础上估计琴槌速度。在此实例中,电子系统在重放 前准备重放表,即,定义琴槌速度的目标值和基准键速度的目标值之间关系 的表,并且,数据处理单元利用重放表确定基准键速度的目标值,并通过伺 服控制环控制黑白键,以便将黑白键调整为基准键轨迹上的基准键点处的基 准键速度的目标值。
按照下面所述来准备重放表。首先,制造商对主自动演奏器乐器进行实 验,并通过实验确定琴槌和黑白键之间的两个关系。第一关系将在基准键速 度的目标值和琴槌速度的测量值之间发现,而第二关系将在基准键速度的测 量值和琴槌速度的测量值之间发现。在此实例中,用于第一关系的实验产生 基准表(reference table),而用于第二关系的实验产生速度转换表。在图1A中 示出了在基准表中定义的关系,而在图1B中示出了在速度转换表中定义的关 系。
主自动演奏器乐器也包括原声乐器和电子系统,所述电子系统包括琴槌 传感器、键致动器、键传感器和数据处理单元,使得从琴槌传感器向数据处 理单元报告琴槌动作。键传感器、键致动器和数据处理单元形成伺服控制环, 并且,数据处理单元强迫黑白键沿基准键轨迹前进。
制造商首先将黑白键的基准键速度的目标值kt给予数据处理单元,并且, 数据处理单元通过伺服控制强迫黑白键获取基准键轨迹上的基准键点处的目 标值。琴槌传感器向数据处理单元报告琴槌动作,使得数据处理单元将基准 键速度的目标值kt和琴槌速度的测量值v2相关联。制造商还将其它黑白键 的目标值kt给予数据处理单元,并且数据处理单元将目标值kt和所述其它黑 白键的琴槌速度的测量值v2相关联。制造商改变目标值kt,并对所有黑白键 重复该实验。结果,通过实验定义了基准键速度的目标值kt和琴槌速度的测 量值v2之间的关系,并作为基准表来存储该关系。曲线PX1代表基准键速 度的目标值kt和琴槌速度的测量值v2之间的关系。即使黑白键表现出不稳 定的键运动,由于在由琴槌传感器直接报告的琴槌数据的基础上确定琴槌速 度,因此不稳定的键在实验中也没有影响。
随后,制造商将基准键速度的标准值给予数据处理单元,并且数据处理 单元使键致动器引起键运动。数据处理单元利用伺服控制环来控制黑白键沿 基准轨迹前进。从键传感器和琴槌传感器将键动作和琴槌动作报告给数据处 理单元,并且,基准键速度的测量值ko与琴槌速度的测量值v2相关联。数 据处理单元对其它黑白键进行实验,并以不同的基准键速度的标准值重复实 验。结果,如曲线PX2所示,基准键速度的测量值ko与琴槌速度的测量值 v2相关联,并被存储为速度转换表。
速度转换表与现有技术自动演奏器乐器中使用的速度转换表相似。然而, 为根据本发明的自动演奏器乐器重新准备基准表。基准表和速度转换表均存 储在合并在电子系统内的合适的存储设备中,并且,随后,自动演奏器乐器 被交付给用户。
假设自动演奏器乐器被安装在用户家里的房间内。数据处理单元按照下 面所述来准备重放表。
首先,数据处理从合适的存储设备中读出基准键速度的最小目标值,并 使键致动器引起黑白键之一的键运动。数据处理单元通过伺服控制环控制黑 白键,并检查键传感器,以查看键运动是否导致对弦的撞击。如果答案给出 为否定,则数据处理单元增大基准键速度的目标值,并重复伺服控制。假设 键运动导致了对弦的撞击。那么,数据处理单元在从相关键传感器报告的键 数据的基础上,确定基准键速度的测量值ko,并通过速度转换表将基准键速 度的目标值kt与琴槌速度的测量值v2相关联。
数据处理单元还增大基准键速度的目标值kt,并在速度转换表的协助下 将基准键速度的目标值kt和琴槌速度的测量值v2相关联。当基准键速度的 目标值kt落在低-中速度范围内时,数据处理单元通过数据转换表将基准键 速度的目标值kt与琴槌速度的测量值v2相关联。
当目标值kt达到黑白键表现出不稳定键运动的临界值P时,数据处理单 元从基准表上抄录(transcript)曲线PX1的一部分,并将这部分曲线PX1连接 到在数据转换表的协助下确定的曲线。结果,如图1C中的曲线PX3所示来 确定目标值kt和测量值v2之间的关系。
如将从前面的描述理解的,部分通过学习、并且部分通过从基准表抄录 来准备重放表。如上文所述,通过对主自动演奏器乐器的实验而准备的基准 表不受不稳定键运动的影响,因此,重放表是可靠的。
假设用户希望重演由一组乐曲数据代码表示的演奏。这组乐曲数据代码 被加载到电子系统中,并且,数据处理单元按顺序处理该乐曲数据代码。当 数据处理单元取出代表音符开事件的乐曲数据代码时,数据处理单元指定要 移动的黑或白键,要产生的音调的响度和产生该音调的时间,如上文所述, 响度被给出作为琴槌速度的目标值。数据处理单元访问重放表,并读出对应 于琴槌速度值的基准键速度的目标值kt。数据处理单元确定黑或白键的基准 键轨迹,并通过伺服控制环强迫黑或白键沿该基准键轨迹前进。出于此原因, 黑或白键获取基准键轨迹上的基准键点处的基准键速度的目标值kt,并且, 该黑或白键引起琴槌运动。琴槌获取撞击弦之前片刻的琴槌速度的目标值, 并引起弦的振动。音调以目标响度从振动的弦发出。因而,重放表导致了如 实的重放。
即使乐曲数据代码请求无琴槌传感器的自动演奏器钢琴以大响度产生音 调,数据处理单元也能通过重放表确定基准键速度的目标值,并且,该基准 键速度的目标值不受不稳定键运动的影响。因而,根据本发明的无琴槌传感 器的自动演奏器钢琴如实地重演演奏。
自动演奏器钢琴的结构
参考附图的图2,自动演奏器钢琴主要包括原声钢琴100和电子系统300, 并根据用户的模式指令有选择地进入至少标准模式、记录模式和重放模式。 原声钢琴100是大钢琴(grand piano),并且电子系统300安装在原声钢琴100 中。
在标准模式中,用户通过在原声钢琴100上用手指弹奏而演奏一首乐曲, 并且,通过原声钢琴100产生原声钢琴音调。因而,在标准模式中,自动演 奏器钢琴表现为标准原声钢琴。
当用户将用于记录模式的模式指令给予自动演奏器钢琴时,主例程程序 周期性地岔到用于记录的子例程中,并且电子系统300准备记录原声钢琴100 上的演奏。当用户在原声钢琴100上用手指弹奏时,电子系统300获得代表 键运动的键数据和代表踏板运动的踏板数据,并分析该键数据和踏板数据, 以便产生代表演奏中产生的原声音调的乐曲数据代码。该乐曲数据代码被以 实时的方式提供给外部数据源,并且/或者被存储在存储器中,这样,在记录 模式中,通过电子系统300记录了原声钢琴100上的演奏。
另一方面,电子系统300在代表演奏的一组乐曲数据代码的基础上,通 过原声钢琴100重演该演奏,并再现原声钢琴音调。这组乐曲数据被从合适 的存储器读出。或者,电子系统300请求外部数据源通过电缆或公共通信网 络传送这组乐曲数据。
当按顺序处理乐曲数据代码时,电子系统300顺着乐曲的节确定音高、 要产生原声钢琴音调的定时、琴槌速度或响度、要衰减原声钢琴音调的定时、 以及要施加到原声钢琴音调上的效果(如果有的话),并在原声钢琴100上演奏 该乐曲的节,而没有人类演奏者的任何手指弹奏。
通过学习来部分地准备一组重放表。然而,在基准表的基础上准备这组 重放表的剩余部分。访问这组重放表的所述部分,以便以小到中等的响度产 生原声钢琴音调。另一方面,访问这组重放表的剩余部分,以便以大响度产 生原声音调。
制造商通过实验准备一组基准表,在所述基准表中,其值被实际测量的 琴槌速度与制造商给出的基准键速度的值相关。在重放模式中,电子系统300 访问这组重放表,以便如将在下文中详细描述的,确定基准键速度的目标值, 并控制基准键轨迹上的键运动。
原声钢琴
原声钢琴100包括键盘1、动作单元2、琴槌3、弦4和制音器(damper)5。 键盘1安装在限定钢琴壳体底部的键座102的前部,并且动作单元2、琴槌3、 弦4和制音器5装在钢琴壳体中。
黑键1a和白键1b的阵列被合并在键盘1中。黑键1a和白键1b沿纵向 延长,并以众所周知的模式横向放置。在此实例中,88个黑白键1a/1b形成 该阵列。黑键1a和白键1b在平衡轨道104上面上下倾斜(pitch),并且,平衡 销(pin)P保持黑键1a和白键1b处于平衡轨道104上。前面的销将黑键1a和 白键1b引导到前面的轨道106,使得黑键1a的前部和白键1b的前部在预定 轨迹上往复地行进。
在没有任何外力施加到黑白键1a/1b前部的情况下,黑白键1a/1b停留在 各个静止位置。静止位置位于行程为0的地方,并且,在图1中用实线画出 了静止位置处的黑键1a和白键1b。当外力施加到黑白键1a/1b的前部时,所 述前部向各自的最终位置下降。在此实例中,最终位置位于静止位置下方10 毫米处,并且,在图2中,点划线指示最终位置处的白键1b的上表面。
黑白键1a/1b分别在其后部与动作单元2链接,并且动作单元2引起琴 槌3的自由旋转。弦4被拉伸经过琴槌3,并且制音器5与黑白键1a/1b的最 后面的部分链接,以便与弦4间隔开和与弦4接触
当黑白键1a/1b停留在静止位置时,如图2所示,琴槌3在其琴槌辊(roller) 3a处保持与形成动作单元的一部分的支撑杆(jack)2a的头相接触,并且制音 器5保持与弦4相接触。假设钢琴家按压黑白键1a/1b之一,则被按压的键 1a/1b倾斜,并且前部向最终位置下降。在被按压的键向最终位置下降途中, 制音器5与弦4间隔开,并允许弦4振动。此外,被按压的键1a/1b引起动 作单元2的运动,并且,在被按压的键1a/1b向最终位置下降途中,支撑杆 2a脱离琴槌辊3a。从而,钢琴家感觉到被按压的键1a/1b比以前轻。
当支撑杆2a脱离琴槌辊3a时,琴槌3开始向弦4自由旋转。在自由旋 转的终点,琴槌3与弦4碰撞,并引起弦4的振动。弦振动引起给定音高的 原声钢琴音调。
琴槌3在弦4上回弹,并被动作单元2挡住。当钢琴家释放所按压的键 1a/1b时,被释放的键1a/1b开始返回静止位置。在被释放的键1a/1b返回静 止位置途中,制音器5与振动的弦4接触,使得原声钢琴音调衰减。如图2 所示,当被释放的键1a/1b到达静止位置时,动作单元2和琴槌3返回它们 的静止位置。
电子系统
电子系统300充当记录模式中的记录器301和重放模式中的自动演奏器 302。记录器301的功能分解为记录控制器12和后数据处理器13。另一方面, 自动演奏器302的功能分解为预数据处理器10和运动控制器11。通过数据 处理单元303上运行的计算机程序来实现记录控制器12、后数据处理器12。 预数据处理器10和运动控制器11,其系统结构将在下文中参考图3进行描 述。
电子系统300还包括电磁控制的键致动器6的阵列、键传感器7的阵列、 电磁控制的踏板致动器(未示出)和踏板传感器(未示出)。分别用附图标记9a 和9b来标记活塞和螺线管。在黑白键1a/1b后部下方的键座102中形成狭缝, 并且该狭缝沿横向延伸。电磁控制的键致动器6挂在键座102上,并在黑/白 键1a/1b后部的下方横向排列。螺线管9b布置在狭缝中,并且数据处理单元 303连接到螺线管9b。活塞9a指向上方,并且,活塞9a的顶端位于相关黑 白键1a/1b后部的下表面附近。当数据处理单元303确定要移动的键1a/1b时, 数据处理单元303将驱动脉冲信号ui提供给与该键1a/1b相关的螺线管9b。 然后,螺线管9b产生磁场,并且,磁力被施加到磁场中的活塞9a上。活塞 9a从螺线管9b向上伸出,并推动键1a/1b的后部,以便引起键运动。
键传感器7属于发射越过黑白键1a/1b前部的轨迹的光束的类型。换句 话说,利用非接触式光学传感器来实现键传感器7。键传感器7沿横向排列 在键座102上,并用于将键轨迹上的当前键位置转换为模拟键位置信号yxa。 由于光束的横截面与静止位置和最终位置之间的全部键行程重叠,因此有可 能连续在键位置信号yxa中表示静止位置和最终位置之间的当前键位置。当 前键位置等于距静止位置的行程。在此实例中,最终位置(end position)与对应 的静止位置隔开10毫米。当前键位置具有从0到10毫米的值。
键位置信号yxa在记录模式中被提供给记录控制器12,而在重放模式中 被提供给运动控制器11。当电子系统300充当记录器301时,记录控制器12 分析由键位置信号yxa表示的键数据,以便确定键运动,将表示演奏的乐曲 数据提供给后数据处理器12,并且,后数据处理器13按照MIDI协议中定义 的格式将正规化后的乐曲数据编码。在正规化过程中,后数据处理器13从乐 曲数据中消除由于原声钢琴100的个体性和键传感器7的个体性导致的噪声 成分。
另一方面,当电子系统300充当自动演奏器302时,预数据处理器10 分析乐曲数据代码,以便确定作为随时间变化的目标键位置的基准键轨迹, 并且,运动控制器11将在键数据的基础上计算的当前键位置和当前键速度与 目标键位置和目标键速度相比较,以查看黑键1a和白键1b是否在基准键轨 迹上行进。如果黑键1a和白键1b偏离了基准键轨迹,则运动控制器11改变 驱动脉冲信号ui的平均电流或占空比,以便强迫黑键1a和白键1b在基准键 轨迹上行进。在基准键轨迹上行进的黑/白键1a/1b引起琴槌运动,并将琴槌 3调整到在乐曲数据代码中表示的琴槌速度的目标值。因而,在对电磁控制 的键致动器6的伺服控制中使用键位置信号yxa,并且,电磁控制的键致动器 6、键传感器7和运动控制器11形成伺服控制环。
可以通过对表示一系列当前键位置的函数进行微分来确定当前键速度。 在实际使用中,在每个键轨迹上确定两个基准键点,并且,当前键速度被给 出为以毫米/秒表示的平均速度。
转向附图的图3,数据处理单元303包括被缩写为“CPU”的中央处理 单元20、被缩写为“ROM”的只读存储器21、被缩写为“RAM”的随机存 取存储器22、数据存储器23、被缩写为“I/O”的接口24、脉冲宽度调制器 25和共享总线系统20B。中央处理单元20、只读存储器21、随机存取存储器 22、数据存储器23、接口24和脉冲宽度调制器25连接到共享总线系统20B, 使得中央处理单元20可通过共享总线系统20B与只读存储器21、随机存取 存储器22、数据存储器23、接口24和脉冲宽度调制器25通信。
微处理器可以充当中央处理单元20。包括主例程(main routine program) 和子例程(subroutine program)的计算机程序以及参数表与一组基准表、两组速 度转换表和用于音调生成的定时表一起存储在只读存储器21中,并且随机存 取存储器22充当工作存储器。随机存取存储器22给中央处理单元20提供临 时数据存储器,并且,将这组重放表从数据存储器23传递到随机存取存储器 22。
用于音调生成的定时表表示琴槌速度和琴槌3撞击弦4的定时之间的关 系。另一方面,该组基准表表示撞击弦4之前瞬间的琴槌速度的目标值和所 有88个黑白键1a/1b的基准键速度的目标值之间的关系,并且,制造商通过 在其制造厂中进行的实验来准备这组基准表。如上文所述,本发明的特定特 征之一是如何准备这组重放表,并且,将在下文中详细描述用于准备这组重 放表的方法。
在此实例中,中央处理单元根据操作模式有选择地访问两组速度转换表。 在下文中,将在记录模式中使用的一组速度转换表、以及在重放模式中使用 的另一组速度转换表称为“用于被手指弹奏的键的速度转换表”和“用于被 驱动的键的速度转换表”。这是因为这样的事实:在记录模式中的手动演奏和 重放模式中的自动弹奏之间,黑白键1a/1b表现得不同。
制造商在制造厂内为电子系统300准备一组用于被手指弹奏的键的速度 转换表和一组用于被驱动的键的速度转换表。详细地说,制造商在其制造厂 内拥有主自动演奏器钢琴,并且,该主自动演奏器钢琴不仅配有键传感器, 还配有琴槌传感器。换句话说,实际上有可能测量基准键速度和琴槌速度。
在主自动演奏器钢琴中收集键数据和琴槌数据,并按照下面所述来准备 所述一组用于被手指弹奏的键的速度转换表和一组用于被驱动的键的速度转 换表。
首先,对如何准备这组用于被手指弹奏的键的速度转换表进行描述。当 操作者按压键时,键传感器提供代表当前键位置的键数据,而琴槌传感器提 供代表当前琴槌位置或被按压的键引起的琴槌运动的琴槌数据。对于每个黑 白键,操作者以不同的键速度值重复上述实验。当完成该实验时,对于主自 动演奏器钢琴的每个黑/白键,一组琴槌速度值与一组基准键点处的键速度值 相关。对所有黑白键重复该实验,并且,获得用于所有黑白键的一组速度转 换表。这就是一组用于被手指弹奏的键的速度转换表。
随后,操作者指示主自动演奏器钢琴的电子系统以基准键速度的目标值 驱动黑白键,并通过用于黑白键的键传感器和琴槌传感器收集键数据和琴槌 数据。对于黑白键,以其它基准键速度的目标值重复该实验,并将琴槌速度 的测量值与基准键速度的测量值相关联。术语“基准键速度的测量值”意思 是在基准键轨迹上的基准键点周围的键数据的基础上确定的、该基准键点处 的键速度值。琴槌速度的测量值和基准键速度的测量值之间的关系被制表为 另外一组用于被驱动的键的速度转换表。
制造商还通过实验来准备所述一组基准表。制造商指示主自动演奏器钢 琴的数据处理单元,通过伺服控制循环将黑白键调整为各自的基准键轨迹上 的基准键点处的基准键速度的目标值。从脉冲宽度调制器将驱动信号按顺序 提供给电磁控制的键致动器,并且利用驱动信号、通过伺服控制环来使黑白 键加速和减速。被驱动的键引起琴槌运动,并且,琴槌传感器将琴槌位置信 号提供给数据处理单元,琴槌速度的测量值在琴槌数据的基础上确定,并与 基准键速度的目标值相关。以基准键速度的不同目标值重复该实验,并确定 基准键速度的目标值和琴槌速度的测量值之间的关系。这样,通过实验,为 所有黑白键准备了所述一组基准表。
尽管在电子系统300中以非易失的方式将表存储在只读存储器21中,但 是可以将表存储在数据存储器23中,以便通过主例程中的系统初始化将其传 递到随机存取存储器22。当给数据处理单元303提供电力时,中央处理单元 20重新执行主例程,以便与用户通信,并且,主例程根据用户的指令有选择 地分支到子例程中。
数据存储器23具有巨大的数据保存能力,并且,代表乐曲的多组乐曲数 据代码被存储在其中。在记录模式中,通过键盘1上的演奏来为重放准备所 述多组乐曲数据代码。或者,通过便携式信息存储介质或通信网络将所述多 组乐曲数据代码加载到数据存储器23中。在此实例中,利用硬盘驱动单元来 实现数据存储器23。数据存储器23在没有任何电力的情况下保持上述的表。
接口24包括模拟-数字转换器,并且键传感器7连接到该模拟-数字转 换器。键位置信号yxa被提供给模拟-数字转换器,并被转换为数字键位置 信号。中央处理单元20周期性地取出由数字键位置信号表示的键数据,并将 该键数据存储在随机存取存储器22中。软件计时器将取出键数据的定时给予 中央处理单元20。中央处理单元20分析该键数据系列,以便确定每个黑白 键1a/1b的当前键状态。
脉冲宽度调制器25响应从中央处理单元20提供的控制信号,以便将驱 动脉冲信号ui调整为平均电流值或给定的占空比,并将驱动信号ui提供给用 于要驱动的黑/白键1a/1b的螺线管9b。
尽管在图3中没有示出其它系统组件,例如开关、指示器和显示窗,但 是这些系统组件连接到接口24,并且,用户通过这些系统组件与中央处理单 元20通信。然而,在电子系统300中没有合并任何琴槌传感器,使得根据本 发明的自动演奏器钢琴被分类为无琴槌传感器的自动演奏器钢琴。
现在假设用户指示电子系统重演他/她的演奏,则中央处理单元20将代 表该演奏的一组乐曲数据从数据存储器23传递到随机存取存储器22,并从 随机存取存储器23中顺序读出该乐曲数据代码。该乐曲数据代码表示音符开 事件、音符关(note-off)事件、先前的音符开事件/先前的音符关事件和当前音 符开事件/当前音符关事件之间的时间间隔以及其它消息。
当中央处理单元20接收到表示音符开事件的乐曲数据代码时,中央处理 单元20确定要驱动的黑/白键1a/1b,黑/白键1a/1b开始向最终位置行进的定 时、黑/白键1a/1b的基准键轨迹和基准键速度的目标值。由于乐曲数据代码 将目标响度,即琴槌速度的目标值,给予中央处理单元20,因此中央处理单 元20访问所述一组重放表,以便确定基准键速度的目标值。该功能被表示为 图2中的“预数据处理器”。如果黑/白键1a/1b准确地在基准键轨迹上行进, 则黑/白键1a/1b以基准键速度的目标值经过基准键点,并且,琴槌3以琴槌 速度的目标值撞击弦4,使得以目标响度产生原声钢琴音调。在如结合相关 技术所述的日本专利申请公开第Hei 7-175472号中公开了用于确定基准键轨 迹的方法。在以下描述中,假设黑/白键1a/1b在基准键轨迹上进行匀速运动 (uniform motion)。
当中央处理单元20通过预数据处理器10的功能确定基准键速度的目标 值和基准键轨迹时,中央处理单元20确定将黑/白键1a/1b带到基准键轨迹上 的第一键位置值所需要的平均电流的目标值,并将表示该平均电流值的控制 信号rf提供给脉冲宽度调制器25。脉冲宽度调制器25将驱动脉冲信号ui调 整为该平均电流值,并将驱动信号ui提供给与要驱动的黑/白键1a/1b相关联 的螺线管9b。
当驱动脉冲信号ui流经螺线管9b时,螺线管9b产生磁场,并且,与平 均电流值成比例的磁力被施加到活塞9a上。活塞9a从螺线管9b向上伸出, 并推动黑/白键1a/1b的后部。黑/白键1a/1b的前部略微下降,并且键传感器 7通过键位置信号yxa将当前键位置报告给数据处理器20。
中央处理单元20将键位置的目标值和键速度的目标值与当前键位置的 测量值和键速度的测量值相比较,以查看黑/白键1a/1b是否准确地在基准键 轨迹上行进。如果答案给出为肯定,则中央处理单元20请求脉冲宽度调制器 25将驱动脉冲信号ui保持在平均电流值。另一方面,如果答案给出为否定, 则中央处理单元20确定将黑/白键1a/1b带到基准键轨迹上的下一个键位置值 所需要的新平均电流值,并将该新平均电流值通知给脉冲宽度调制器25。脉 冲宽度调制器25增大或减小平均电流,使得黑/白键1a/1b被加速或减速。这 样,中央处理单元20、脉冲宽度调制器25、电磁控制的键致动器6和键传感 器7形成伺服控制环。
对于要驱动的黑/白键1a/1b,中央处理单元20重复上述控制序列,使得 顺着乐曲的节循序产生原声钢琴音调,而没有人类钢琴家的任何手指弹奏。
为了在重放模式中准确地控制黑键1a和白键1b,有必要弄清楚琴槌速 度的目标值和键速度的目标值之间的关系。
琴槌速度的测量值和键速度的测量值之间的关系被保存在所述一组用于 被驱动的键的速度转换表中,而在基准表中描述基准键速度的目标值和琴槌 速度的测量值之间的关系。所述一组重放表部分通过参考一组用于被驱动的 键的速度转换表的学习来准备,并且部分通过从基准表抄录来准备,并且二 者均消除了不稳定运动的不期望的影响。出于此原因,在重放模式中,通过 重放表的协助,根据本发明的自动演奏器302可以准确地再现原声钢琴音调。 将描述集中于如何准备这组重放表。
重放表
图4图示了这组重放表的概念。这组重放表组由附图标记21a指定,并 具有三维结构。这组重放表21a包括分别对应88个黑白键1a/1b的88个表或 88个数据。用2101来标记被分配给最低音高音调处的白键1b的第一数据 块,而用2188来标记被分配给最高音高音调处的白键1b的最末数据块。由 于这88个数据块2101至2188在结构上彼此相似,因此将描述集中在第一数 据块2101或第一重放表上。
在数据块2101中,合并在MIDI消息中的琴槌速度的目标值与基准键速 度的目标值相关,并且用曲线PL1来表示琴槌速度和基准键速度之间的关系。 曲线PL1分解为两部分,即高速区30和低-中速区31。琴槌速度的临界目 标值在高速区30和低-中速区31之间的边界处。当黑/白键1a/1b以等于或 小于琴槌速度临界值F的琴槌速度的目标值引起琴槌运动时,键运动相当稳 定,并且可以忽略不期望的影响。然而,如果琴槌3超过琴槌速度F的临界 值F,则键运动变得不稳定,并且由键传感器7测量的键速度较不可靠。出 于此原因,部分通过学习、部分通过从该组基准表转录来准备数据文件2101 至2188。
计算机程序在中央处理单元20上运行,并在电子系统300的初始化的一 部分中准备这组重放表21a。图5A和图5B示出了为准备这组重放表而执行 的计算机程序的一部分。尽管对于88个黑/白键1a/1b,中央处理单元20重 复88次步骤S3、S4、S5、S6、S7和S8,但是为简单起见,对黑/白键1a/1b 之一进行描述。
现在假设用户接通电源开关,如步骤S1,计算机程序开始在中央处理单 元20上运行,并首先将电子系统300初始化。如果用户指示中央处理单元 20准备这组重放表,则中央处理单元20确认用户的指令,如步骤S2,并确 定驱动琴槌以自动旋转的临界平均电流值,如步骤S3和S4。当工人完成对 自动演奏器钢琴的修复工作或维护工作时,用户在步骤S2将指令给予中央处 理单元20。
详细地说,中央处理单元20指示伺服控制环将黑/白键1a/1b调整为基准 键速度的最小目标值。脉冲宽度调制器25将驱动脉冲信号ui调整为某个值, 并将该驱动脉冲信号ui提供给相关的电磁控制的键致动器6的螺线管9b。然 后,活塞9a从螺线管9b向上伸出,并推动黑/白键1a/1b的后部。黑/白键1a/1b 的前部下降,并使当前键位置随时间变化。伺服控制环使黑/白键1a/1b以基 准键速度的目标值经过基准键点,如步骤S3。
随后,中央处理单元20检查键位置信号,以查看动作单元2是否引起琴 槌3的旋转,如步骤S4。如果活塞9b在黑/白键1a/1b的后部施加足够大的 力,以使琴槌3脱离支撑杆2a,则琴槌3开始自由旋转,并且弦4被琴槌3 撞击。弦4生成原声钢琴音调。另一方面,如果所述力太小,则琴槌3不能 脱离支撑杆2a,并且不生成任何原声钢琴音调。中央处理单元20在键数据的 基础上假定弦4被琴槌3撞击。如将结合图7描述的,如果键数据显示黑/白 键1a/1b超过了阈值K2,则将肯定答案“是”给予中央处理单元20。另一方 面,如果黑/白键1a/1b没有超过阈值K2,则将否定答案“否”给予中央处理 单元20。由于驱动脉冲信号已被调整为最小平均电流值,因此所述力非常小, 以至于琴槌3不能脱离支撑杆2a。这导致了步骤S4的否定答案“否”。对于 技术人员来说,所述假定的方法已经是公知的。
对于否定答案,中央处理单元20返回步骤S3,并指示伺服控制环增大 基准键速度的目标值。脉冲宽度调制器25将驱动信号ui提供给螺线管9b, 并且,电磁控制的键致动器6再次引起键运动。伺服控制环使黑/白键1a/1b 获得基准键轨迹的下一个值,并且,在步骤S4,中央处理单元20检查键位 置信号,以查看黑/白键1a/1b是否引起相关琴槌3的旋转。这样,中央处理 单元20重复由步骤S3和S4组成的循环,直到步骤S4的答案改变为肯定为 止。
假设琴槌3以某个基准键速度的目标值脱离支撑杆2a。步骤S4的回答 改变为肯定。对于肯定回答“是”,中央处理单元20前进到步骤S5,并将所 述某个目标值存储在工作存储器22中。在MIDI消息中定义的速度的最小值 已经是公知的。然后,中央处理单元20将所述某个基准键速度的目标值与对 应于琴槌速度最小值的MIDI速度的最小值相关联。
当完成步骤S5的任务时,中央处理单元20进入用于学习的子例程,如 步骤S6。图5B中示出了该子例程的序列,并将在下文中对其进行详细描述。
当进入该子例程时,中央处理单元20将基准键速度增大到下一目标值, 如步骤S10。在步骤S6的第一次执行中,将基准键速度从最小目标值增大到 下一目标值。所述增大没有必要对应最高分辨率(resolution)。在最小值到临界 值F之间,可以逐步增大琴槌速度5次。当在重放中发现琴槌速度的目标值 在这5个点中的一个和这5个点中的另一个之间时,中央处理单元20通过插 值来确定目标基准键速度。这样,因为减小了在学习时中央处理单元20上的 负荷,所以插值是令人满意的。
中央处理单元20请求伺服控制环使黑/白键1a/1b以基准键速度的下一个 值通过基准键点。伺服控制环将黑/白键1a/1b调整到基准键点处的基准键速 度的下一个值。通过动作单元2,力被从黑/白键1a/1b传送到琴槌3,并且, 在自由旋转的终点,弦4被琴槌3撞击。
在此情形中,键传感器7通过键位置信号yxa向中央处理单元20报告键 运动,并且中央处理单元20确定键速度的测量值,如步骤S 11。对于该键速 度的测量值,中央处理单元20访问用于螺线管的速度转换表,并从该用于螺 线管的速度转换表中读出对应的琴槌速度值,如步骤S12。中央处理单元20 将所读出的琴槌速度值与基准键速度的目标值相关联,并将它们存储在随机 存取存储器22中。
随后,中央处理单元20将所读出的琴槌速度值与临界值F相比较,以查 看学习工作是否到达低-中速部分和高速部分之间的边界,如步骤S13。当 步骤S13的答案给出为否定“否”时,中央处理单元20重复由步骤S10至 S13组成的循环,并在随机存取存储器22中积存与基准键速度的目标值相关 的琴槌速度的对应值。
当中央处理单元20发现所读出的琴槌速度值等于临界值F时,中央处理 单元20完成“学习”。换句话说,中央处理单元20确定低-中速部分,如步 骤S14,并将该低-中速部分中的关系存储在随机存取存储器22中。随后, 中央处理单元20返回主例程,并前进到步骤S7。
在步骤S7,中央处理单元20访问基准表之一,并从该基准表中读出高 速部分。中央处理单元20将该高速部分存储在随机存取存储器22中,并将 该高速部分与低-中速部分合并,如步骤S8。这样,中央处理单元20完成 用于88个键1a/1b之一的曲线PL1。
低-中速部分最右边的值等于高速部分的最左边的值可能很少见。这意 味着低-中速部分必须通过适当的合并技术连接到高速部分。存在一些候选 技术。第一候选技术是插值。在最右边的值“P”(参见图4)和高速部分最左 边的值之间插入多个值。第二候选技术是准备若干型式(pattern)不同的基准 表,中央处理单元20从它们中选择最佳基准表,并将低-中速部分连接到从 最佳表中读出的高速部分。第三候选技术是修改基准表。可以通过高速部分 的平行移动或高速部分绕最大值的旋转来进行该修改。
对于88个键1a/1b,中央处理单元20将上述序列重复88次,并完成这 组重放表21a。由于还为这88个黑/白键1a/1b准备了一组基准表,因此在步 骤S7,中央处理单元20访问不同的基准表。
如将被理解的,在学习的基础上准备重放表,并将学习结果与基准表的 所述部分合并。通过关于主自动演奏器钢琴的经验来准备这组基准表,并考 虑不稳定键运动的影响。换句话说,期望电磁控制的键致动器6在基准键速 度的目标值和琴槌速度的测量值之间关系的条件下引起琴槌运动。因而,在 重放模式中,根据本发明的重放表允许无琴槌传感器的自动演奏器钢琴准确 再现原来的琴槌运动。
在图5B中,通过步骤S11的执行来确定琴槌速度。步骤S11处的任务 通过图6示出的指令序列来实现。尽管该指定序列是在黑白键1a/1b向下移 动的假设下准备的,但是有可能以类似于用于向下的键运动的指令序列的方 式,来准备用于向上的键运动的指令序列。
对于88个键1a/1b,中央处理单元20周期性地进入该指令序列,并重复 由步骤S21至S27组成的循环。键编号被分别分配给黑白键1a/1b,并被表示 为“kn”。当然,该指令序列可以用于在重放模式中确定琴槌速度。当黑/白 键1a/1b从静止位置向最终位置向下移动时,黑/白键1a/1b经过3个区域Z1、 Z2和Z3,如图6所示,并且,区域Z1和Z2之间的边界以及区域Z2和Z3 之间的边界与当前键位置的值K1和K2对准,并且,当前键位置K1和K2 分别位于行程m和行程n处。从静止位置处的下表面到当前键位置的下表面 测量所述行程。当前键位置的值K1和K2充当阈值。
首先,中央处理单元20将“1”设置为kn,如步骤S20。中央处理单元 20将当前键位置的最新值与当前键位置的前一个值以及阈值K1和K2相比 较,以查看被分配了键编号kn的黑/白键1a/1b是否前进到下一个区域Z2或 Z3,如步骤S21。如果从前一次执行到本次执行,白键1b仍然停留在区域 Z1、Z2或Z3中,则答案给出为否定“否”。对于否定答案“否”,中央处理 单元20将kn增大1,如步骤S26,并将键编号kn与88相比较,以查看kn 是否大于88,如步骤S27。当中央处理单元21调查到最左边的白键1b和最 右边的白键1b左侧的白键时,步骤S27的答案给出为否定“否”,并且中央 处理单元20返回步骤S21。这样,中央处理单元20重复由步骤S21、S26和 S27组成的循环,并查找越过阈值K1或K2进入下一区域Z2或Z3的黑键/ 白键1a/1b。
假设中央处理单元20发现黑/白键1a/1b进入了下一区域Z2或Z3。步骤 S21处的答案改变为肯定“是”,并且中央处理单元20检查比较结果,以查 看黑/白键1a/1b是否从区域Z1前进到区域Z2、或从区域Z2前进到区域Z3, 如步骤S22。当黑/白键1a/1b进入区域Z2时,中央处理单元20采用过程(course) “A”,并检查用于确定时间的软件计时器,以便将该时间与键位置一起存储 在随机存取存储器22中,如步骤S23。当完成步骤S23的任务时,中央处理 单元20前进到步骤S26,并返回所述循环。在下一次执行的步骤S21中,使 用当前的键位置。
另一方面,如果黑/白键1a/1b进入下一区域Z3,则中央处理单元20确 认黑/白键1a/1b已经引起琴槌3的自由旋转,并采用过程“B”。过程“B” 将中央处理单元20引导到步骤S24,并且,在步骤S24,中央处理单元20 确定键速度。详细地说,中央处理单元20确定当前键位置和所述时间,并分 别从在前一次执行中的步骤S23存储的前一个值和时间中减去当前键位置的 值和时间。当前键位置的值之间的差被除以前一个时间和当前时间之间的差, 并确定键速度的平均值。
随后,中央处理单元20访问用于螺线管的速度转换表,并读出对应于键 速度平均值的琴槌速度的值,如步骤S25。当完成步骤S25的任务时,中央 处理单元前进到步骤S26。这样,中央处理单元20重复由步骤S20至S27组 成的、用于在键速度的基础上确定琴槌速度的循环。
当中央处理单元调查到第88个键1b时,步骤S27的答案改变为肯定, 并且中央处理单元20返回步骤S20,并将键编号kn重置为1。换句话说,中 央处理单元20反复执行图5示出的程序序列,并在键速度的基础上确定琴槌 速度。
如将被理解的,部分通过学习、并部分通过从一组基准表抄录到高速部 分来准备所述一组重放表21a。由于琴槌速度的测量值与这组基准表中的基准 键速度的目标值准确关联,因此这组重放表免除了不稳定键运动的不期望的 影响。中央处理单元20查找重放表,以便在琴槌速度的目标值的基础上确定 基准键速度的目标值。即使MIDI数据代码请求自动演奏器302以大响度产 生原声钢琴音调,自动演奏器302也能通过相关的黑/白键1a/1b准确再现琴 槌运动,并且,以等于原始原声钢琴音调的响度准确再现原声钢琴音调。
记录
在下文中,参考图8、9和10对记录期间的任务序列进行描述。首先, 中央处理单元20将“1”设置为kn,如步骤S30。标记(index)“kn”表示黑 键1a或白键1b,并在1和88之间变化。中央处理单元20将当前键位置的最 新值与当前键位置的前一个值以及阈值K1和K2相比较,以查看被分配了键 编号kn的白键1b是否前进到下一区域Z2或Z3,如步骤S31。如果从前一 次执行到本次执行,白键1b仍然停留在区域Z1、Z2或Z3中,则答案给出 为否定“否”。对于否定答案“否”,中央处理单元20将kn增大1,如步骤 S37,并将键编号kn和88相比较,以查看kn是否大于88,如步骤S38。当 中央处理单元20调查到最左边的白键1b和最右边的白键1b左侧的白键时, 步骤S38处的答案给出为否定“否”,并且数据处理单元20返回步骤S31。 这样,中央处理单元20重复由步骤S31、S37和S38组成的循环,并查找越 过阈值K1或K2进入下一区域Z2或Z3的黑键/白键1a/1b。
假设中央处理单元20发现黑/白键1a/1b进入了下一区域Z2或Z3。步骤 S31处的答案改变为肯定“是”,并且中央处理单元20检查比较结果,以查 看黑/白键1a/1b是从区域Z1前进到区域Z2还是从区域Z2前进到区域Z3, 如步骤S32。当黑/白键1a/1b进入区域Z2时,中央处理单元20采用过程“A”, 并检查用于确定时间的软件计时器,以便将该时间与键位置一起存储在随机 存取存储器22中,如步骤S33。当完成步骤S33的任务时,中央处理单元20 前进到步骤S37,并返回所述循环。在下一次执行的步骤S31中,使用当前 的键位置。
另一方面,如果黑/白键1a/1b进入了下一区域Z3,则中央处理单元20 确认黑/白键1a/1b已经引起了琴槌3的自由旋转,并采用过程“B”。过程“B” 将中央处理单元20引导到步骤S34,并且中央处理单元20确定键速度。
随后,中央处理单元20访问用于被手指弹奏的键的速度转换表,并读出 对应于键速度的平均值的琴槌速度的值,如步骤S35。当完成步骤S35的任 务时,中央处理单元20前进到步骤S36,并访问定时表,以便确定产生原声 钢琴音调的定时。在定时表中,定时数据与琴槌速度的值相关。定时数据指 示从越过K2到音调生成开始的时间间隔,并且单位是毫秒。
中央处理单元20使代表琴槌速度值的琴槌数据Velo1、Velo2、 Velo3、…Velo16与定时数据T1、T2、T3、…和T16配对,如图9所示,并 将琴槌速度值和产生原声钢琴音调的定时与键编号kn一起存储在随机存取 存储器22中,其中,所述琴槌数据对应于在MIDI协议中定义的速度数据。 最多有可能同时产生16个成对数据,当完成存储时,中央处理单元20返回 由步骤S31、S37和S38组成的循环。从而,中央处理单元20重复由步骤S31 至S38组成的循环,以便获得乐曲数据。
当中央处理单元20调查到第88键1b时,步骤S38处的答案改变为肯定, 并且中央处理单元20返回步骤S30,并将键编号kn重置为1。如上文所述, 中央处理单元20反复执行图8示出的程序序列,并产生代表键盘1上的演奏 的乐曲数据。
该乐曲数据被正规化,并被编码为MIDI乐曲数据代码。当键盘1上的 演奏以某个音调终止时,用户指示中央处理单元20将一组MIDI乐曲数据代 码传递到数据存储器23。中央处理单元20将代表演奏结束的状态字节添加 到代表用户产生的音调的MIDI乐曲数据代码中,并通过MIDI电缆将这组 MIDI乐曲数据代码传递到数据存储器23,即外部乐器,或通过通信网络将 其传递到外部数据存储器。
因而,中央处理单元20通过使用用于被手指弹奏的键的速度转换表来估 计琴槌速度,并产生代表所述演奏的MIDI乐曲数据代码。
持续时间数据的准备
代表音符开事件和音符关事件的MIDI乐曲数据代码与持续时间代码相 伴随。每个持续时间代码指示从前一事件起的时间间隔。如上文所述,当黑/ 白键1a/1b到达当前键位置K2时,中央处理单元20确认音符开事件,并确 定用于该音符开事件的琴槌速度。然而,越过K2和撞击弦4之间的时间间 隔根据琴槌速度而变化。为了准确确定再现音调的定时,中央处理单元20在 准备持续时间代码之前执行图10示出的倒计数子例程。
当中央处理单元20通过用于记录的子例程准备一组MIDI乐曲数据代码 和相关的持续时间数据代码时,计时器中断以1毫秒的固定间隔发生,并且 所述子例程分支到用于倒计数的倒计数子例程中。
假设发生了计时器中断。用于记录的子例程分支到倒计数程序中,并且 中央处理单元20首先将代表所有定时数据T1、T2、…的定时数据值T减小 1。如果16个琴槌数据Velo 1至Velo 16已经与琴槌数据成对,如图8所示, 则由16个定时数据T1至T16代表的所有值均被减小1,如步骤S40。
随后,中央处理单元20检查定时数据T,以查看是否任意一个值达到0, 如步骤S41。如果答案给出为否定“否”,则中央处理单元立即返回用于记录 的子例程。
另一方面,当中央处理单元20发现定时数据之一指示0时,步骤S41 处的答案给出为肯定“是”。然后,中央处理单元20将相关的琴槌数据提供 给在随机存取存储器22中定义的寄存器,如步骤S42。
当完成步骤S42的任务时,中央处理单元20返回用于记录的子例程,并 确定距前一事件的时间间隔。中央处理单元按照MIDI协议中定义的格式将 该时间间隔编码,并产生代表音符开事件的、带有持续时间代码的MIDI乐 曲数据代码。
如将被理解的,当为代表所述事件的MIDI乐曲数据代码准备持续时间 代码时,考虑了琴槌速度。这意味着所述事件之间的时间间隔与在原始演奏 期间产生的音调之间的时间间隔严格相等。因而,根据本发明的自动演奏器 钢琴准确地重演原始表演。
重放
当中央处理单元20重复主例程时,假设用户指示自动演奏器302重演已 经以MIDI乐曲数据代码的形式记录的演奏。中央处理单元20确认用于重放 的指令,如步骤S50(参见图11)。然后,主例程分支到用于重放的子例程中, 并且,中央处理单元20将这组MIDI乐曲数据代码从数据存储器23传递到 随机存取存储器22。
中央处理单元20从随机存取存储器22中取出要首先处理的MIIDI乐曲 数据代码,并指定要移动的黑/白键1a/1b、琴槌速度或响度以及产生音调的 定时,如步骤S51。
随后,中央处理单元20访问对应于要移动的黑/白键1a/1b的重放表21a 之一,并确定用于该黑/白键1a/1b的基准键速度的目标值和基准键轨迹,如 步骤S52。脉冲宽度调制器25将驱动脉冲信号ui提供给螺线管9b,并且, 活塞9a开始向上伸出。
电磁控制的键致动器6引起键运动。当活塞9a向上伸出时,键传感器7 向中央处理单元20报告当前键位置,并且,中央处理单元20将当前键位置 和当前键速度与基准轨迹上的目标键位置和目标键速度相比较,以查看黑/白 键1a/1b是否准确地在基准轨迹上行进。如果答案给出为肯定,则中央处理 单元20指示脉冲宽度调制器25将驱动脉冲信号ui保持在当前值。另一方面, 如果答案给出为否定,则中央处理单元20指示脉冲宽度调制器25增大或减 小平均电流,并且,脉冲宽度调制器25改变驱动脉冲信号ui的平均电流。 换句话说,中央处理单元20指示伺服控制环使黑/白键1a/1b以基准键速度的 目标值经过基准键点,并且,脉冲宽度调制器25在中央处理单元20的控制 下增大、减小或保持驱动脉冲信号ui的平均电流。因而,伺服控制环使黑/ 白键1a/1b以基准键速度的目标值经过基准键点,如步骤S53。
随后,中央处理单元20检查随机存取存储器22,以查看其中是否仍然 剩余代表所述事件的MIDI乐曲数据代码,如步骤S54。当中央处理单元20 在随机存取存储器中发现MIDI乐曲数据代码时,答案给出为否定“否”,并 且中央处理单元20返回步骤S51。这样,中央处理单元20重复由步骤S51 至S54组成的、用于处理MIDI乐曲数据代码的循环。如果中央处理单元20 没有发现任何MIDI乐曲数据代码,则步骤S54处的答案给出为否定,并且 中央处理单元20返回主例程。
如将从前面的描述认识到的,自动演奏器302查阅所述一组重放表21a, 以便确定基准键速度的目标值,其中,部分通过学习、部分通过从一组基准 表抄录来准备这组重放表21a。通过对主自动演奏器钢琴的实验来准备所述基 准表,使得琴槌速度不受不稳定键运动的影响。出于此原因,根据本发明的 自动演奏器乐器准确地重演所述演奏。
尽管示出和描述了本发明的特定实施例,但是对本领域技术人员来说将 清楚的是:在不脱离本发明的精神和范围的情况下,可以进行各种改变和修 改。
例如,可以用诸如例如磁传感器或电位计的另一种传感器来代替非接触 式光学传感器。其它种类的传感器可以将黑/白键1a/1b的速度或加速度转换 为键速度信号或键加速度信号。通过微分和积分,位置、速度和加速度被互 相转换。记录器301的功能12/13和自动演奏器的功能10/11可以利用有线逻 辑电路来实现。
可以通过学习而仅为临界琴槌速度F以下的关系准备重放表。在此实例 中,中央处理单元20根据琴槌速度的目标值和临界琴槌速度之间的比较结 果,有选择地访问重放表和基准表。
根据本发明的另一自动演奏器可具有表示琴槌速度的目标值和基准键速 度的目标值之间关系的一等式或一组等式,而不是重放表。
临界值P可以由产品共有,或者被单独给予产品。在临界值被单独给予 无琴槌传感器的自动演奏器钢琴的产品的情况中,自动演奏器具有表示琴槌 速度的测量值和基准键速度的目标值之间关系的基准表,并且,中央处理单 元从0开始增大基准键速度,以便通过借助于访问速度转换表而确定的琴槌 速度的对应值和基准表中的琴槌速度值之间的比较,来找到临界值P。
可以仅在基准表的基础上准备重放表。换句话说,重放表的任何部分都 不通过学习来准备。在不进行任何学习的情况下准备的重放表可用于没有任 何键传感器的自动演奏器。
可以通过电可擦除可编程只读存储器来实现只读存储器21。在此实例 中,只读存储器21可部分充当工作存储器。
柔性(flexible)盘驱动单元、软盘(商标)驱动单元、致密盘驱动单元、光- 电-磁盘驱动单元、ZIP盘驱动单元和DVD(数字多用途盘)驱动单元可用于 数据存储器23。在将所述表存储在只读存储器21内的情况中,RAM板可用 于数据存储器23。
可以只用一个基准表或一些基准表来代替所述一组基准表。可以将所述 一些基准表分配给不同音高的部分。在所有黑白键1a/1b之间只共享一个基 准表的情况中,对于所有黑白键1a/1b,只能访问一个高速部分。在此实例中, 所述一组重放表仅占用少量存储空间,使得制造商可以减小随机存取存储器 22的数据保存容量。
在上述实施例中,假设键进行匀速运动。可以假设黑/白键1a/1b进行均 匀加速运动。即使假设黑/白键进行均匀加速运动,也可以假定要移动的键的 基准轨迹,并且,电磁控制的键致动器参照重放表引起键运动。
可以将加速度和/或位移考虑到伺服控制中。在此实例中,对所选择的位 置、速度和加速度的一个或一些进行伺服控制。
曲线PL1不对本发明的技术范围设置任何限制。另一模型可具有不同于 曲线PL1的曲线。
MIDI协议不对本发明的技术范围设置任何限制。即使在另一组音乐协议 的基础上设计了自动演奏器乐器,只要是在并非直接监控的组成部件的特定 行为的基础上控制音调的响度,本发明就可以应用于该自动演奏器乐器。
自动演奏器钢琴不对本发明的技术范围设置任何限制。本发明可应用于 在诸如例如静音钢琴(mute piano)、用于练习用途的键盘、大键琴或钢片琴的 另一原声或混合乐器的基础上制造的任意种类的自动演奏器乐器。静音钢琴 是混合键盘乐器,并且,琴槌制动器和电子音调生成器安装在原声钢琴中。
在将本发明应用于静音钢琴的情况中,中央处理单元还周期性地执行倒 计数子例程,并在相关定时数据达到0时,将其中存储琴槌数据Velo的MIDI 乐曲数据代码传递到电子音调生成器。
在多个键1a/1b之间共享高速部分的情况中,中央处理单元20将琴槌速 度值与临界值F相比较,以查看是要从公共的高速部分还是从通过学习准备 的重放表中读出基准键速度的目标值。
在另一实施例中,键传感器7和运动控制器11没有合并在自动演奏器中, 并且从预数据处理器10将驱动信号直接提供给电磁控制的键致动器6。换句 话说,不进行任何伺服控制。因而,键传感器7和伺服控制不是本发明的必 不可少的特征。在此实例中,通过从基准表抄录来准备重放表,而不进行“学 习”。
可以通过通信网络从外部程序源下载所述计算机程序,或者从诸如例如 软盘或致密盘的便携式信息存储介质中读出该计算机程序。
脉冲宽度调制器25不对本发明的技术范围设置任何限制。可以使用调压 器来将驱动信号的电势电平调整为目标值。
自动演奏器钢琴的组成部件与权利要求语言相关如下。黑键1a和白键 1b对应于“多个操纵器”,而动作单元2、琴槌3和弦4作为整体构成“音调 生成器”。琴槌3充当“特定链接件”。电磁控制的键致动器6充当“多个致 动器”,并且驱动脉冲信号ui对应于“驱动信号”。当前键位置或者距静止位 置的行程对应于“物理量”。预数据处理器10和运动控制器11即中央处理单 元20、只读存储器21、随机存取存储器22、数据存储器23、接口24、脉冲 宽度调制器25、总线系统20B和计算机程序作为整体构成“数据处理单元”。 在重放表21a中定义的关系对应于“重放关系”。
键传感器7充当“多个传感器”,并且键位置信号yxa对应于“检测信号”。 速度转换表充当“速度转换器”。学习对应于“内部进行的实验”。
QQ群二维码
意见反馈