乐器、其中的乐曲数据产生器及准确判别弦槌运动的方法转让专利

申请号 : CN200510099535.X

文献号 : CN1750114B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 佐佐木力

申请人 : 雅马哈株式会社

摘要 :

在自动演奏器钢琴中,弦槌传感器(26)监控相关的弦槌(2),以便报告弦槌轨迹上的当前位置,并且数据处理器(27)分析弦槌运动,以产生代表原声钢琴(100)上的演奏的乐曲数据;老化衰退影响弦槌(2)和弦槌传感器(26)之间的相对位置,使得数据处理器(27)校正该相对位置,数据处理器(27)确定弦槌(2)改变运动方向的转折点,并将指示转折点的当前值与先前值相比较;如果发现差异,则数据处理器(27)将弦(4)的变形值加到当前值上,以便确定并存储转折点的真实值;数据处理器(27)在真实值的基础上分析弦槌运动,使得乐曲数据是可靠的。

权利要求 :

1.一种用于产生音调的乐器,包括:

多个音调生成链接构件(1a、1b、2、3、4),被有选择地驱动,用于指定要产生的音调,所述多个音调生成链接构件(1a、1b、2、3、4)的每一个具有组成部件(2)和另一组成部件(4);以及乐曲数据产生器,用于在所述多个音调生成链接构件(1a、1b、2、3、4)的运动的基础上产生乐曲数据,其特征在于

所述乐曲数据产生器包括

多个传感器(26),监控所述组成部件(2),并产生代表多个系列运动数据的信号(Vh),所述运动数据表示相关组成部件(2)在各个轨迹上的运动,数据处理单元(27),连接到所述多个传感器(26),并具有分析器(20、S10、S11、S20),分析所述多个系列运动数据,以便确定指示所述轨迹上的唯一点的当前值,判断器(20、S12、S13、S21、S22),确定所述组成部件(2)是否到达先前值处的所述唯一点,以及校正器(20、S30、S31、S32),当所述判断器做出否定判定时,在所述当前值的基础上确定表示所述唯一点的真实值,并将所述真实值作为所述先前值存储在存储器(21)中。

2.如权利要求1所述的乐器,其中,当所述组成部件(2)与所述另一组成部件(4)协作时,所述另一组成部件(4)变形,并且所述校正器(20、S30、S31、S32)将指示变形量的值加到所述当前值上,以便确定所述真实值。

3.如权利要求2所述的乐器,其中,所述变形量随着所述组成部件(2)的速度而变化,并且将所述变形量和所述速度之间的关系存储在合并于所述数据处理单元中的所述存储器(21)中。

4.如权利要求3所述的乐器,其中,将所述关系以表的形式存储在所述存储器(21)中,使得所述校正器(20、S30、S31、S32)通过使用在所述多个系列运动数据的基础上确定的所述速度读出所述变形量。

5.如权利要求1所述的乐器,其中,所述多个音调生成链接构件(1a、1b、2、3、4)被合并在键盘乐器中,以便允许演奏者在键盘(1)上演奏一首乐曲,所述键盘(1)的键形成部分所述多个音调生成链接构件。

6.如权利要求5所述的乐器,其中,所述演奏者是人。

7.如权利要求5所述的乐器,其中,利用致动器(5)和电子控制器(10、11、12)来实现所述演奏者,并且所述电子控制器(10、11、12)有选择地驱动分别与所述多个音调生成链接构件(1a、1b、2、3、4)相关的所述致动器(5)。

8.如权利要求1所述的乐器,其中,将所述多个音调生成链接构件(1a、1b、2、3、4)合并在原声钢琴(100)中,并且所述原声钢琴(100)的弦槌(2)和弦(4)充当所述组成部件和所述另一组成部件。

9.如权利要求8所述的乐器,其中,所述多个传感器(26)监控所述弦槌(2),直到所述弦(4)被所述弦槌(2)撞击,并且所述多个系列运动数据指示所述轨迹上的所述弦槌(2)的物理量。

10.如权利要求9所述的乐器,其中,所述物理量相对于所述唯一点、在负值和正值之间变化,使得所述分析器(20、S10、S11、S20)在所述物理量的基础上确定所述唯一点。

11.如权利要求10所述的乐器,其中,所述弦槌(2)由于与所述弦(4)碰撞而在所述轨迹上的转折点处改变运动方向,并且所述转折点与所述唯一点隔开所述弦(4)的变形量。

12.如权利要求11所述的乐器,其中,所述校正器(20、S30、S31、S32)通过将等于相关弦(4)的所述变形量的值加到所述当前值上,来确定所述真实值。

13.如权利要求12所述的乐器,其中,所述变形量根据所述弦槌(2)的速度而改变,使得所述校正器(20、S30、S31、S32)在所述多个系列运动数据的基础上确定所述速度。

14.一种乐曲数据产生器,包括:

多个传感器(26),监控被驱动用于指定要产生的音调的乐器(100)的组成部件(2),并产生代表多个系列运动数据的信号(Vh),所述运动数据表示相关组成部件(2)在各个轨迹上的运动;以及数据处理单元(27),连接到所述多个传感器(26),并执行校正,其特征在于

所述数据处理单元(27)包括

分析器(20、S10、S11、S20),分析所述多个系列运动数据,以便确定指示所述轨迹上的唯一点的当前值,判断器(20、S12、S13、S21、S22),确定所述组成部件(2)是否到达先前值处的所述唯一点,以及校正器(20、S30、S31、S32),当所述判断器(20、S12、S13、S21、S22)做出否定判定时,在所述当前值的基础上确定表示所述唯一点的真实值,并将所述真实值作为所述先前值存储在存储器(21)中。

15.如权利要求14所述的乐曲数据产生器,其中,当所述组成部件(2)与所述乐器(100)的另一组成部件(4)协作时,所述另一组成部件(4)变形,并且所述校正器(20、S30、S31、S32)将指示变形量的值加到所述当前值上,以便确定所述真实值。

16.如权利要求15所述的乐曲数据产生器,其中,所述变形量随着所述组成部件(2)的速度一起变化,并且将所述变形量和所述速度之间的关系存储在合并于所述数据处理单元内的所述存储器(21)中。

17.如权利要求16所述的乐器,其中,将所述关系以表的形式存储在所述存储器(21)中,使得所述校正器(20、S30、S31、S32)通过使用在所述多个系列运动数据的基础上确定的所述速度来读出所述变形量。

18.一种用于校正值的方法,所述值指示合并于乐器(100)中的组成部件(2)的轨迹上的唯一点,包括以下步骤:a)积存表示所述组成部件(2)的运动的运动数据;

b)找到所述轨迹上的唯一点;

c)确定指示所述唯一点的当前值;

d)判断所述唯一点是否由先前值表示;

e)当步骤d)处的答案给出为否定时,在所述当前值的基础上确定指示所述唯一点的真实值;

f)将所述真实值存储为所述先前值;以及

g)当步骤d)处的答案给出为肯定时,重复所述步骤a)至d)。

19.如权利要求18所述的方法,其中,所述步骤e)包括以下子步骤:e-1)确定与所述组成部件(2)撞击的另一组成部件(4)的变形量,e-2)将等于所述变形量的值加到所述当前值上,以便确定指示所述唯一点的所述真实值。

20.如权利要求19所述的方法,其中,所述子步骤e-1)包括以下子步骤:e-1-1)确定与所述组成部件(2)撞击之前瞬间的所述组成部件(2)的速度,以及e-1-2)访问定义了所述变形量和所述速度之间的关系的表,以便读出所述变形量的值。

说明书 :

技术领域

本发明涉及一种用于生成音调的控制技术,特别涉及一种键盘乐器、合并在键盘乐器中的乐曲数据产生器、用于准确判别弦槌运动的方法和表示该方法的计算机程序。

背景技术

自动演奏器钢琴(automatic player piano)是混合乐器的典型示例。自动演奏器钢琴是原声钢琴和电子系统的组合,并且人类钢琴家和由该电子系统实现的自动演奏器在原声钢琴上演奏乐曲。当人类演奏者用手指在键盘上弹奏时,被按下的键驱动相关的动作单元,该动作单元引起弦槌(hammer)的旋转,并且弦槌在旋转的终点撞击弦。然后,弦振动,并且通过弦的振动产生原声钢琴音调。
当用户命令自动演奏器重演由一组乐曲数据代码表示的演奏时,自动演奏器开始分析该乐曲数据代码,并在没有人类演奏者的任何手指弹奏的情况下顺次引起键运动和弦槌运动。当黑键和白键在各自的基准轨迹上行进时,键传感器和/或弦槌传感器监控键运动和/或弦槌运动,并且自动演奏器通过伺服控制环强迫黑键和白键在基准轨迹上行进,其中,自动演奏器在乐曲数据代码的基础上为要按下的键确定所述基准轨迹。
在自动演奏器钢琴的若干型号中,电子系统还充当记录器和/或电子键盘。记录器分析在原声钢琴上的原始演奏中的键运动和/或弦槌运动,并产生代表原始演奏的乐曲数据代码。自动演奏器可以重演由该乐曲数据代码表示的演奏。
当用户命令电子系统产生电子音调而不是原声钢琴音调时,将来源于人类钢琴家的演奏或者从外部数据源加载的乐曲数据代码提供给电子音调生成器,并且从波形数据中产生音频信号,以便将其转换为电子音调。在乐曲数据代码来源于原声钢琴上的演奏的情况中,键传感器、踏瓣传感器和/或弦槌传感器向控制器报告踏瓣运动、键运动和/或弦槌运动,并且控制器通过分析这些乐曲数据来产生乐曲数据代码。因此,键传感器、弦槌传感器和踏瓣传感器是合并在混合乐器中的电子系统的重要系统组件。
由于键运动和弦槌运动并不简单,因此理想的是键传感器和弦槌传感器具有与键轨迹和弦槌轨迹重合的监控范围。日本专利申请公开第2001-175262号中公开了具有宽监控范围的弦槌传感器的典型示例。现有技术弦槌传感器连续监控静止位置和在相关弦上的反弹之间的弦槌柄。现有技术弦槌传感器向控制器通知弦槌轨迹上的当前弦槌位置,并使得有可能计算弦槌速度和加速度。尽管位置、速度和加速度是不同种类的物理量,但是那些种类的物理量中的任意一个都表示弦槌运动。
控制器还分析所述物理量,以便确定弦槌轨迹上的唯一点、以及另一种物理量。所述日本专利申请公开使我们知道控制器确定以下内容。
1.弦槌开始其运动的时刻,即开始时刻。
2.弦槌与相关的弦碰撞的时刻,即撞击时刻。
3.在撞击相关的弦之前瞬间的弦槌速度,即最终弦槌速度。
4.相关的黑键或白键开始键运动的时刻,即按下时刻。
5.在弦上反弹之后托木(back check)挡住弦槌的时刻,即托木时刻。
6.弦槌离开托木的时刻,即分离时刻。
7.与托木分离之后的弦槌速度,即返回速度。
8.制音器(damper)返回到弦上的时刻,即衰减时刻。
9.弦槌停止在弦槌轨迹终点的时刻,即终止时刻。
10.释放被按下的键的时刻,即释放时刻。
这样,控制器通过分析表示弦槌运动的弦槌数据而获得各种乐曲数据。
在该分析中,控制器将当前弦槌位置与阈值相比较,以查看在哪里发现弦槌,并确定该弦槌行进的轨迹。控制器假定相关的键运动,并将该键运动分类为某种风格的表演。所述阈值最初被固定为某些值。由于在所述日本专利申请公开中公开的现有技术弦槌传感器针对发光元件的老化衰退进行了校准,因此所述某些值与弦槌传感器的特性一起改变。然而,用户觉得在自动演奏中产生的音调偏离了原始演奏中产生的音调。该偏离发生在较长时间之后,并且几乎不能通过现有技术校准来解决。

发明内容

因此,本发明的一个重要目的是提供一种准确判别诸如例如弦槌的链接件(link)的运动的乐器。
本发明的另一重要目的是提供一种被合并在所述乐器中的自动演奏器。
本发明的另一重要目的是提供一种用于准确判别链接件的运动的方法。
本发明的另一重要目的是提供一种准确表示所述方法的计算机程序。
本发明人考虑了所述问题,并注意到老化衰退已经影响了链接件。例如,动作单元的一些组成部件已经被磨损,并且使动作单元很难像早些时候那样与弦槌协作。因此,与电组成部件相似,机械组成部件不能避免老化衰退。然而,阈值是在动作单元和弦槌将重复理想运动的假设下确定的。因此,该阈值逐渐地不适于对弦槌运动的分析。本发明人得出结论:应针对老化衰退校正该阈值。
根据本发明的一个方面,提供一种用于产生音调的乐器,包括:多个音调生成链接构件,被有选择地驱动以指定要产生的音调,所述多个音调生成链接构件的每一个具有组成部件和另一组成部件;以及乐曲数据产生器,其包括:多个传感器,监控所述组成部件,并产生代表多个系列运动数据的信号,所述运动数据表示相关组成部件在各个轨迹上的运动;数据处理单元,连接到所述多个传感器,并具有:分析器,分析所述多个系列运动数据,以便确定指示所述轨迹上的唯一点的当前值;判断器,确定组成部件是否到达先前值处的唯一点;以及校正器,当判断器做出否定决定时,在当前值的基础上确定表示唯一点的真实值,并将该真实值作为先前值存储在存储器中。
根据本发明的另一方面,提供一种乐曲数据产生器,包括:多个传感器,监控被驱动以指定要产生的音调的乐器的组成部件,并产生代表多个系列运动数据的信号,所述运动数据表示相关组成部件在各个轨迹上的运动;以及数据处理单元,连接到所述多个传感器,并具有:分析器,分析所述多个系列运动数据,以便确定指示所述轨迹上的唯一点的当前值;判断器,确定组成部件是否到达先前值处的唯一点;以及校正器,当判断器做出否定决定时,在当前值的基础上确定表示唯一点的真实值,并将该真实值作为先前值存储在存储器中.
根据本发明的另一方面,提供一种用于校正值的方法,所述值指示合并在乐器中的组成部件的轨迹上的唯一点,该方法包括以下步骤:a)积存表示组成部件的运动的运动数据,b)找到所述轨迹上的唯一点,c)确定指示该唯一点的当前值,d)判断该唯一点是否由先前值表示,e)当步骤d)处的答案给出为否定时,在当前值的基础上确定指示唯一点的真实值,f)将真实值存储为先前值,以及g)当步骤d)处的答案给出为肯定时,重复步骤a)至d)。

附图说明

根据结合附图的以下描述,将更清楚地理解所述乐器、自动演奏器和方法的特征及优点,其中
图1是示出根据本发明的自动演奏器钢琴的结构的侧视图,
图2是示出合并在自动演奏器钢琴中的数据处理单元的系统配置的方框图,
图3是示出弦的变形与弦槌速度之间关系的曲线图,
图4是示出被执行以计算阈值的工作序列的流程图,
图5是示出被执行以分析弦槌运动的工作序列的流程图,
图6A和6B是示出用于假定弦槌状态的表的视图,
图7是示出被执行以判断弦槌运动的工作序列的流程图,
图8是示出被执行以进行校正的工作序列的流程图,以及
图9是示出在另一自动演奏器中采用的、用于校正的工作序列的流程图。

具体实施方式

实施本发明的乐器主要包括多个音调生成链接构件和乐曲数据产生器。演奏者有选择地驱动所述多个音调生成链接构件,以指定要产生的音调,其中该演奏者是人类或者诸如例如自动演奏器的电子演奏器。当演奏者驱动所述多个音调生成链接构件时,每个音调生成链接构件的组成部件顺次在各自的轨迹上移动,并且,在运动的终点产生音调。在将原声钢琴合并在该乐器中的情况下,作为示例,多个系列的黑/白键、动作单元、弦槌和弦充当所述多个音调生成链接构件,并且演奏者通过按下和释放相关的黑/白键来有选择地驱动弦槌旋转,使得弦槌在旋转的终点撞击弦。黑/白键上下倾斜(pitch),并引起相关动作单元的复杂旋转。弦槌被驱动以进行旋转,并且弦振动以产生音调。这样,各组成部件在它们的轨迹上移动。
乐曲数据产生器包括多个传感器和数据处理单元。所述多个传感器监控所述多个音调生成链接构件的某些组成部件,并产生代表多个系列的运动数据的信号。所述多个系列的运动数据表示相关组成部件在轨迹上的运动。由于在组成部件的轨迹上的运动终点处产生音调,因此组成部件的运动影响音调的属性。由于这一原因,数据处理单元需要准确地掌握轨迹的运动。然而,组成部件和传感器之间的相对位置由于音调生成链接构件的组成部件的老化衰退而变化。这一令人讨厌的相对位置变化使得难以准确掌握组成部件的运动。
为了将传感器和组成部件校正为处于最佳相对位置,数据处理单元包括分析器、判断器和校正器.分析器分析所述多个系列的运动数据,并通过该分析确定表示所述轨迹上的唯一点的当前值.这些唯一点使组成部件与传感器相关联,并且当组成部件和传感器偏离了最佳相对位置时,改变指示唯一点的当前值.将当前值从分析器传递给判断器,并且判断器将当前值与过去正确地指示了唯一点的先前值相比较,以查看相关值是否没有改变.如果组成部件到达先前值处的唯一点,即当前值等于先前值,则答案给出为肯定.然而,当组成部件没有到达先前值处的唯一点时,答案给出为否定,并且校正器在当前值的基础上确定表示唯一点的真实值.校正器将真实值作为先前值存储,并等待下一否定答案.
在组成部件与其它组成部件协作的情况中,该组成部件可引起所述其它组成部件的变形。例如,弦槌在与弦碰撞之处引起弦的变形。变形允许该组成部件越过唯一点。出于此原因,校正器将等于变形量的值加到当前值上。这样,校正器确定精确指示所述唯一点的真实值,并使数据处理单元准确地确定要产生的音调的属性。
在以下描述中,术语“前面”表示比用术语“后面”修饰的位置更靠近演奏者的位置,该演奏者正用手指弹奏一首乐曲。术语“纵向”指示与在前面位置和对应的后面位置之间画的线平行的方向,并且“横向”与纵向以直角相交。
第一实施例
参照附图的图1,实施本发明的自动演奏器钢琴主要包括原声钢琴100和电气系统,该电气系统充当自动演奏系统300、记录系统500和电子音调生成系统700。自动演奏系统300、记录系统500和电子音调生成系统700安装在原声钢琴100中,并根据用户指令而被有选择地激活。当演奏者在原声钢琴100上用手指弹奏一首乐曲而没有任何记录、重放和通过电子音调进行演奏的指令时,原声钢琴100表现得与标准原声钢琴相似,并以通过手指弹奏指定的音高产生钢琴音调。
当演奏者希望记录他或她在原声钢琴100上的演奏时,演奏者向电气系统发出记录指令,并且记录系统500准备好记录该演奏。换句话说,记录系统500被激活。当演奏者在原声钢琴100上用手指弹奏乐曲的节(passage)时,记录系统500产生代表原声钢琴100上的演奏的乐曲数据代码,并且这组乐曲数据代码被存储在形成电气系统一部分或远离自动演奏器钢琴的合适的存储器中。这样,将演奏存储为这组乐曲数据代码。
假设用户希望再现该演奏。用户命令电气系统再现原声音调。然后,自动演奏系统300准备好重放。自动演奏系统300在原声钢琴100上弹奏这首乐曲,并在没有人类演奏者的任何手指弹奏的情况下重演该演奏。
用户可能希望顺着乐曲的节聆听电子音调。该用户命令电子音调生成系统700处理这组乐曲数据代码。然后,电子音调生成系统700开始顺次处理该乐曲数据代码,以便顺着乐曲的节产生电子音调。
在下文中详细描述原声钢琴100、自动演奏系统300、记录系统500和电子音调生成系统700。
原声钢琴
在此实例中,原声钢琴100是大钢琴。原声钢琴100包括键盘1、弦槌2、动作单元3、弦4和制音器6。中盘(key bed)102形成钢琴箱体(cabinet)的一部分,并且键盘1安装在中盘102的前部.键盘1与动作单元3和制音器6链接,并且钢琴家通过键盘1有选择地驱动动作单元3和制音器6.通过键盘1而被有选择地驱动的制音器6与相关的弦4隔开,使得弦4准备好振动.另一方面,通过键盘1而被有选择地驱动的动作单元3引起相关弦槌2的自由旋转,并且弦槌2在自由旋转的终点撞击相关的弦4.然后,弦4振动,并且通过弦4的振动产生原声音调.当弦槌2与弦4碰撞时,弦槌2在弦4上反弹,并从弦4下落.
键盘1包括多个黑键1a、多个白键1b和键架中板(balance rail)104。黑键1a和白键1b以众所周知的模式放置,并通过平衡键销(balance key pin)106而被可移动地支撑在键架中板104上。
支架(action bracket)108沿横向彼此隔开。柄凸缘轨道(shank flangerail)110在黑键1a和白键1b上方沿横向延伸,并被固定到支架108的上端。弦槌2包括各自的弦槌柄2a,并且弦槌柄2a通过销2b可旋转地连接到柄凸缘轨道110。弦槌2还包括被分别固定到弦槌柄2a的前端的各自的弦槌头2c。尽管托木7从黑键和白键1a/1b的后端部向上伸出,但是托木7形成动作单元3的一部分,并使弦槌头2c在弦4上反弹之后轻轻地降落在其上。换句话说,托木7防止弦槌2在弦槌柄停止毡112上颤动。
当在黑/白键1a/1b上没有施加任何力时,弦槌2和动作单元3将由于自重而导致的力施加到黑/白键1a/1b的后部,并且黑/白键1a/1b的前部与键架前板(front rail)114隔开,如实线画出的那样。实线所指示的键位置是“静止位置”,并且在静止位置处,键行程为0。
当钢琴家按下黑/白键1a/1b的前部时,前部逆着动作单元/弦槌3/2的自重而下降。前部最终到达点划线所指示的“终点位置”。终点位置沿着键轨迹与静止位置隔开预定距离。
当钢琴家按下黑键和白键1a/1b的前部时,黑键和白键1a/1b的后部升高,并引起相关动作单元3的旋转。顶杆116与调节按钮118相接触,并脱离弦槌2a。该脱离引起弦槌2的自由旋转,使得弦槌头2c向弦4前进。被按下的键1a/1b还使制音器6与弦4隔开,使得弦4准备好振动,如上文所述。弦槌2在自由旋转的终点与弦4碰撞以产生原声音调,如虚线画出的那样。弦槌3在弦4上反弹,并被托木7挡住。
当钢琴家释放被按下的黑键和白键1a/1b时,动作单元/弦槌3/2的自重引起黑键和白键1a/1b沿相反方向的旋转,并且动作单元/弦槌3/2返回各自的静止位置。制音器6在前往静止位置的途中与相关的弦4相接触,使得原声音调被衰减。在此实例中,弦槌2在静止位置和自由旋转的终点之间的弦槌轨迹上行进,并且自由旋转的终点与静止位置隔开48毫米。与静止位置隔开48毫米的位置称为“终点位置”。由虚线画出的弦槌头2c指示终点位置。
电子系统
在下文中,同时参考图1和2对充当自动演奏系统300、记录系统500和电子音调生成系统700的电子系统进行描述。
自动演奏系统300包括电磁控制(solenoid-operated)的键致动器5的阵列、操纵板(未示出)、数据存储单元23(参见图2)和数据处理单元27.记录系统500包括弦槌传感器26,并且还包括操纵板(未示出)、数据存储单元23和数据处理单元27.电子音调生成系统700包括数据存储单元23、数据处理单元27、电子音调生成器13a和声音系统13b.这样,在自动演奏系统300、记录系统500和电子音调生成系统700之间共享数据处理单元27和操纵板(未示出).
利用黑键和白键1a/1b后部下方的槽来形成中盘102,并且这个槽沿横向延伸。中盘102以穿过槽伸出这样的方式支撑电磁控制的键致动器5的阵列。电磁控制的键致动器5以交错的方式横向排列,并分别与黑键和白键1a/1b相关。螺线管5a、活塞5b、复位弹簧(未示出)和内置的活塞传感器5c与轭一起被装配为每个电磁控制的键致动器5,其中所述轭被与其它电磁控制的键致动器5共享。当螺线管5a闲置时,活塞5b的尖端位于相关的黑键或白键1a/1b后部的下表面附近。当螺线管5a被驱动信号Ui激励时,产生磁场,并将力施加到活塞5b上。然后,活塞5b从螺线管5a向上伸出,并向上推动黑键或白键1a/1b的后部。活塞传感器5c监控活塞5b,并产生代表当前活塞位置的活塞位置信号Vy。螺线管5a、内置的活塞传感器5c和伺服控制器12组合形成伺服控制环302,并且,通过伺服控制环302控制活塞运动,并因此控制键运动。
弦槌传感器26分别与弦槌2相关,并被分类为光位置变换器。弦槌传感器26具有与弦槌轨迹重合的监控范围,以便将当前物理量例如当前弦槌位置转换为弦槌位置信号Vh。
弦槌传感器26的每一个包括光辐射传感器头、光接收传感器头、光发射元件、光检测元件以及连接在光发射元件/光检测元件和光辐射传感器头/光接收传感器头之间的光纤。光辐射传感器头形成光辐射传感器头组,并且光接收传感器头也形成光接收传感器头组。每个光辐射传感器头组通过光纤束耦接到光发射元件之一,并且光接收传感器头通过光纤分别耦接到光检测元件,其中从光接收传感器头组之一中选择每个光接收传感器头,从光纤束中选择光纤。
将时间帧划分为多个时隙,并将所述多个时隙分别分配给光发射元件。将时间帧重复,并且每个时隙以固定间隔出现。出于此原因,顺次在分配给光发射元件的时隙中激励该光发射元件,并将光从刚刚被激励的光发射元件提供给相关的光纤束。
将光通过光纤束从每个光发射元件同时提供给相关的光辐射传感器头组,并将其从光辐射传感器头跨过相关弦槌2的弦槌轨迹而辐射到光接收传感器头。同时从光辐射传感器头输出的光入射到光接收传感器头上,并通过光纤而被传递给光检测元件,其中,从光接收传感器头组之一中选择每个光接收传感器头。光检测元件将入射光转换为光电流,其中所述光电流的量与入射光的量成比例。
在此实例中,为88个黑键和白键1a/1b提供12个光发射元件和8个光检测元件。作为示例,在日本专利申请公开第Hei 9-54584中公开了用于弦槌传感器26的控制序列。
入射光的量随着相关弦槌2的弦槌轨迹上的当前弦槌位置而变化。出于此原因,光电流量也随着当前弦槌位置而变化,并且光电流作为弦槌位置信号Vh从每个光检测元件流出。
数据处理单元27包括被简写为“CPU”的中央处理单元20、被简写为“ROM”的只读存储器21、被简写为“RAM”的随机存取存储器22、总线系统20B、被简写为“I/O”的接口24和脉冲宽度调制器25.这些系统组件20、21、22、24和25连接到总线系统20B,并且数据存储单元23也连接到总线系统20B.将地址代码、指令代码、控制数据代码和乐曲数据代码有选择地从特定系统组件通过总线系统20B传送给其它系统组件.尽管未在图2中示出,但是时钟生成器和分频器也被合并在数据处理单元27中,并且系统时钟信号和节拍(tempo)时钟信号使系统组件彼此同步,并且,产生各种计时器中断.
中央处理单元20是数据处理能力的源。代表主例程(main routine program)和子例程(subroutine program)的指令代码以及数据/参数表被存储在只读存储器21中。计算机程序在中央处理单元20上运行,以便完成有选择地分配给预数据处理器10、运动控制器11、伺服控制器12、运动分析器28和后数据处理器30的工作。在中央处理单元20上运行的子例程使得针对机械组成部件上的老化衰退而校准弦槌传感器26,如同将在下文中详细描述的那样。
只读存储器21包括电可擦除和可编程存储设备,使得数据可以重写。随机存取存储器22提供临时数据存储,并充当工作存储器,在下文中,用相同的附图标记“22”来标注该工作存储器。
数据存储单元23向自动演奏系统300、记录系统500和电子音调生成系统700提供大量数据保存容量。乐曲数据代码被存储在数据存储单元23中以供重放。在此实例中,利用硬盘驱动器来实现数据存储单元23。柔性盘(flexibledisk)驱动器或软盘(商标)驱动器、诸如例如CD-ROM驱动器的光盘驱动器、磁光盘驱动器、ZIP盘驱动器、DVD(数字多用途盘)驱动器和半导体存储板均可用于系统300/500/700。
弦槌传感器26和操纵板(未示出)连接到接口24,并且脉冲宽度调制器25将驱动信号Ui传递给电磁控制的键致动器5。接口24包含多个运算放大器24a和多个模拟数字转换器24b。尽管采样保持电路分别连接到所述多个模拟数字转换器24b,但是为简单起见,在图中没有示出采样保持电路。光检测元件有选择地连接到运算放大器24a,并且通过运算放大器24a放大弦槌位置信号Vh。运算放大器24a分别通过采样保持电路(未示出)连接到模拟数字转换器24b,使得模拟弦槌位置信号的离散值被周期性地转换为形成数字弦槌位置信号的二进制代码。系统时钟信号周期性地引起对中央处理单元20的计时器中断,使得中央处理单元20周期性地从接口24取出代表当前弦槌位置的弦槌数据。将该弦槌数据通过总线系统20B传递给随机存取存储器22,并将其临时存储在其中。在此实例中,数字弦槌位置信号的二进制值落在从0到1023的范围内。
脉冲宽度调制器25响应于代表目标平均电流量或占空比的目标值的控制信号,以便将驱动信号Ui调整到该目标平均电流或目标占空比。驱动信号Ui被有选择地传送给电磁控制的键致动器5。当驱动信号Ui存在时,产生磁场,使得有可能利用控制信号控制施加到活塞5b上的力,并因此控制施加在黑/白键1a/1b上的力。
数据处理单元27还可包括通信接口,其中,通过公共通信网络将乐曲数据代码从远程数据源提供给该通信接口。然而,这些系统组件仅仅间接涉及本发明的主旨,并且为简单起见,不加入进一步的描述。
形成自动演奏系统300的一部分的数据处理单元27的功能分解为预数据处理器10、运动控制器11和伺服控制器12。换句话说,利用在中央处理单元20上运行的子例程来实现预数据处理器10、运动控制器11和伺服控制器12。
将代表要重演的演奏的一组乐曲数据代码加载到预数据处理器10中。作为示例,将这组乐曲数据存储在数据存储单元23中。或者,将这组乐曲数据代码从外部数据源通过公共通信网络和通信接口(未示出)提供给工作存储器22。
预数据处理器10顺次分析乐曲数据代码,并确定要再现的钢琴音调以及再现和衰减该钢琴音调的定时.要产生的钢琴音调由键编号Kni表示,其中i的范围是从1到88.预数据处理器10确定黑/白键1a/1b的基准键轨迹,并且还确定关于基准键速度的一系列目标键速度(t,Vr)的值.目标键速度Vr随着时间t变化,并且目标键速度Vr与诸如例如目标键位置的另一物理量一起表示时刻t的目标键运动.在期望电磁控制的键致动器5引起匀速运动的情况中,目标键速度Vr是恒定的.伺服控制环302使活塞5b、并因此使黑/白键1a/1b追上目标活塞速度和目标键速度Vr.
在基准键轨迹上存在唯一点,并且该唯一点被称为“基准点”。如果黑/白键1a/1b以目标键速度Vr经过基准点,则该黑/白键1a/1b引起弦槌运动,该弦槌运动导致以最终琴锤速度的目标值撞击弦4。由于最终弦槌速度与原声钢琴音调的响度成比例,因此以目标键速度Vr经过基准键点的黑/白键1a/1b使弦4以由乐曲数据代码表示的目标响度产生原声音调。
预数据处理器10将代表目标键速度(t,Vr)的控制数据信号提供给运动控制器11。运动控制器11在内部时钟中检查时间流逝(lapse)。当时刻t到来时,运动控制器11将代表目标键速度Vr的当前值的控制数据信号提供给伺服控制器12。这样,运动控制器11周期性地向伺服控制器12通知一系列目标键速度Vr的值。
内置的活塞传感器5c将代表当前键位置的活塞位置信号Vy提供给伺服控制器12。伺服控制器12在预定数目的当前键位置值的基础上确定当前键速度。当前键速度和当前键位置表示当前键运动。伺服控制器12将当前键运动与目标键运动相比较,以查看黑/白键1a/1b是否无误地在基准键轨迹上行进。如果出现差异,则伺服控制器12改变驱动信号Ui的平均电流或占空比,并将驱动信号Ui提供给螺线管5a。然而,当伺服控制器12在当前键运动和目标键运动之间没有发现任何差异时,伺服控制器12将平均电流或占空比保持为先前的值。这样,伺服控制环302强迫黑键和白键1a/1b以目标键速度经过基准点。这导致了目标响度的音调。
形成记录系统500的一部分的数据处理单元27的功能分解为运动分析器28和后数据处理器30。运动分析器28和后数据处理器30也是利用在中央处理单元20上运行的另一子例程实现的。
弦槌传感器26将代表相关弦槌2的当前弦槌位置的模拟弦槌位置信号Vh提供给运动分析器28,并且运动分析器28周期性地取出由数字弦槌位置信号代表的离散值AD。运动分析器28确定在MIDI(乐器数字接口)协议中定义的格式的乐曲数据代码所需的、诸如最终弦槌速度和撞击时间等的弦槌数据。
后数据处理器30假定诸如键编号Kni的键数据,并在弦槌数据的基础上确定乐曲数据,将乐曲数据正规化,并产生以MIDI协议定义的乐曲数据代码。将持续时间数据代码插入一系列事件数据代码中,其中,每个持续时间数据代码表示连续事件之间的时间流逝。用于产生钢琴音调的向下键运动称为“音符开(note-on)事件”,并且音符开事件由音符开乐曲数据代码表示。键编号Kni和表示要产生的音调的响度的速度值存储在音符开乐曲数据代码中。另一方面,用于衰减钢琴音调的向上键运动称为“音符关(note-off)事件”,并且音符关事件由音符关乐曲数据代码表示。将表示原声钢琴100上的演奏的一组乐曲数据代码提供给数据存储单元23,并将其存储在其中。或者,以实时的方式将乐曲数据代码从通信接口(未示出)通过公共网络提供给外部数据存储器或另一乐器。
电子音调生成系统700包括预数据处理器10、电子音调生成器13a和声音系统13b。预数据处理器10测量时间的流逝。当要产生或衰减音调的时刻到来时,预数据处理器10将音符开数据代码或音符关数据代码提供给电子音调生成器13a。从形成电子音调生成器13a的一部分的波形存储器中读出波形数据,并且该波形数据形成代表要产生的电子音调的数字音频信号。将该数字音频信号从电子音调生成器13a提供给声音系统13b。在声音系统13b中,将数字音频信号转换为模拟音频信号,并对该模拟音频信号进行均衡和放大。随后,通过扬声器和/或耳机将模拟音频信号转换为电子音调。
简要描述自动演奏器钢琴的行为。现在假设钢琴家通过操纵板(未示出)命令记录系统500记录他或她的演奏,记录系统500准备好记录原声钢琴100上的演奏。当钢琴家在键盘1上用手指演奏时,弦槌传感器26通过模拟弦槌位置信号Vh连续地向接口24报告相关弦槌2的当前弦槌位置。对模拟弦槌位置信号Vh进行放大和采样,以进行模拟数字转换。数字弦槌位置信号的离散值AD在0和1023之间变化,并被传递给运动分析器28。一系列离散值AD被积存在用于黑键和白键1a/1b的每一个的工作存储器22中,并表示相关弦槌2的轨线(locus)。运动分析器28分析这一系列离散值AD或相关弦槌2的轨线,以便提取弦槌数据。将这些弦槌数据提供给后数据处理器30,并且后数据处理器30确定产生乐曲数据代码将需要的乐曲数据。这样,运动分析器28与后数据处理器30协作,并将乐曲数据代码积存在工作存储器22中。当完成演奏时,后数据处理器30将表示该演奏的这组乐曲数据代码存储在诸如例如标准MIDI文件的合适的数据文件中,并将该数据文件通过公共通信网络传递到数据存储单元23或外部目的地。
假设用户通过操纵板(未示出)请求自动演奏系统300重演该演奏。这组乐曲数据代码被加载到工作存储器22中,并且自动演奏系统300为该演奏做好准备。
预数据处理器10开始测量时间的流逝,并将该时间流逝与在持续时间数据代码中表示的时间周期相比较。当预数据处理器10判定按下时刻到来时,预数据处理器10确定要按下的黑/白键1a/1b的基准轨迹、以及一系列目标键速度(t,Vr)的值。将这一系列目标键速度(t,Vr)的值传递给运动控制器11,并且周期性地将每个目标键速度Vr的值从运动控制器11提供给伺服控制器12。伺服控制器12在活塞位置信号Vy的基础上确定当前键运动,并在当前键运动和目标键运动之间差别的基础上决定平均电流或占空比。将驱动信号Ui调整到平均电流的目标值或占空比的目标值,并将其从伺服控制器12提供给与要按下的黑/白键1a/1b相关的电磁控制的键致动器5的螺线管5a。这样,周期性地将平均电流或占空比调节到目标值,以便强迫活塞5b和相关的黑/白键1a/1b在基准键轨迹上行进。黑/白键1a/1b驱动相关的键动作单元3,并使顶杆(jack)116脱离相关的弦槌2。弦槌2在脱离处开始自由旋转,并在自动旋转的终点与相关的弦4碰撞。弦槌2在弦4上反弹,并下落到弦槌柄停止毡112上。托木7将弦槌2托住,并使弦槌2轻轻地降落在弦槌柄停止毡112上。
当预数据处理器10发现黑/白键1a/1b的音符关事件代码时,预数据处理器10确定朝向静止位置的键轨迹,即基准反向键轨迹和一系列目标释放键速度值.预数据处理器10向运动控制器11通知目标释放键速度.运动控制器11周期性地向伺服控制器12通知目标键速度值,并请求伺服控制器12强迫黑/白键1a/1b在基准反向键轨迹上行进.当活塞5b收缩进螺线管5a中时,伺服控制器12将当前键运动和目标键运动相比较,以查看黑/白键1a/1b是否无误地在基准反向键轨迹上行进,并且动作单元3和弦槌2返回静止位置.在衰减时刻,制音器6与振动的弦4相接触,并且原声钢琴音调被衰减.
当自动演奏系统300重演演奏时,对于在原始演奏中被按下和释放的黑键和白键1a/1b,重复上述控制序列,并且顺着乐曲的节产生原声钢琴音调。
假设用户顺着乐曲的节产生电子音调。这组乐曲数据代码也被加载到工作存储器22中,并且预数据处理器10开始测量时间的流逝。预数据处理器10周期性地检查内部时钟,以查看产生电子音调的时刻是否到来。当答案为否定时,预数据处理器10重复该检查。对于肯定答案,预数据处理器10将音符开事件代码传递给电子音调生成器13a,并使声音系统13b发出电子音调。预数据处理器10重复上述工作,直到乐曲节的末尾为止,使得顺着乐曲的节顺次产生电子音调。
对弦槌传感器的校正
制造商在向用户交付之前,准备用于针对光发射元件的老化衰退的校准的基本数据,并将该基本数据存储在形成只读存储器21一部分的电可擦除和可编程只读存储设备中。静止位置处的离散值AD、终点位置处的离散值AD以及它们之间的位置比是基本数据的示例。校准比被定义为初始基准离散值AD和当前基准离散值AD之间的比率。以开放的状态测量初始基准离散值AD和当前基准离散值AD,其中任何遮光板(shutter plate)都不会干扰这束光,使得老化衰退影响校准比。对于每个黑键和白键1a/1b,实际测量静止位置处的离散值AD和终点位置处的离散值AD,并且对于每个黑键和白键1a/1b,计算位置比。在以下描述中,Rc、Ec和α分别代表静止位置处的离散值AD、终点位置处的离散值AD和位置比。
通过使用基本数据,数据处理单元27自动校准弦槌传感器26。在日本专利申请公开第2000-155579号中公开了用于校准的方法。如果发现当前基准离散值从初始基准离散值减小,则假定离散值Rc和Ec也减小,并且可以通过当前离散值Rc和校准比之间的乘法来假定初始离散值Rc。初始离散值Ec通过所假定的离散值Rc和位置比之间的乘法来假定。
离散值Rc和Ec定义弦槌行程,并且在离散值Rc和Ec的基础上计算弦槌轨迹上其它基准点的基准离散值。在记录时,数据处理单元27参照离散值Rc/Ec和基准离散值来判别弦槌运动。例如,运动分析器28通过将离散值AD与离散值Ec相比较来确认到达终点位置,即撞击弦4。这样,制造商准备基本数据,并且数据处理单元27在基本数据的基础上确定阈值,以判别弦槌运动。
如上所述,通过当前离散值Rc和位置比α之间的乘法来确定离散值Ec。然而,位置比α是可变的。原声钢琴100的机械组成部件也处于老化衰退的影响之下,使得在较长的服务时间内,机械组成部件之间的相对位置往往发生变化。需要对弦槌2和弦槌传感器26之间的相对位置进行校正。
为了通过校正准确地确定终点位置,制造商测量与相关弦槌2撞击处弦4的变形量,并将该变形量作为基本数据存储在电可擦除和可编程存储设备中。数据处理单元27积存关于弦槌轨迹的一系列离散值AD,并在这一系列离散值AD和代表变形的基本数据的基础上确定离散值Ec。这样,针对钢琴100的机械组成部件上的老化衰退而校正了弦槌2和弦槌传感器26之间的相对位置。
对代表变形的基本数据进行描述。弦槌2通过从静止位置的行进到达终点位置,并且弦槌行程大约为48毫米。当弦槌2到达终点位置时,假设弦槌2与弦4碰撞。对弦4的撞击引起弦4的变形。变形量取决于撞击的强度。换句话说,变形的弦4允许弦槌2越过终点位置。如果变形和撞击强度之间的关系已知,则将终点位置假定为与转折点隔开该变形值。
图3示出了弦4的变形与弦槌速度之间的关系。利用MIDI协议中定义的值来表示弦槌速度。制造商在向用户交付之前,通过对主自动演奏器钢琴的实验来确定所述关系。详细地说,制造商将代表弦槌速度的测试数据赋给主自动演奏器的预数据处理器10,使得弦槌2以目标弦槌速度与弦4碰撞。制造商测量弦4的变形,并确定弦槌速度和弦4的变形之间的关系。在此实例中,弦4的变形和弦槌速度之间的关系在所有弦槌2之间共享,并作为“变形表”存储在只读存储器21中。
在校正工作中,中央处理单元20以弦槌速度的预定值引起弦槌运动,并积存代表弦槌轨迹的一系列离散值。中央处理单元20确定弦槌轨迹上的转折点。随后,中央处理单元20访问存储了弦4的变形和弦槌速度之间关系的表,并读出弦槌速度的预定值处的变形值。中央处理单元20将变形值加到表示转折点的最小离散值上,以便确定表示终点位置的离散值Ec。
由于运动控制器28在记录期间分析这一系列离散值,因此运动控制器28可以校正弦槌2和弦槌传感器26之间的相对位置。
计算机程序
在下文中,对与弦槌2的校准、校正和分析有关的主例程的一部分和一些子例程进行描述。在此实例中,对弦槌运动的分析需要两个基准位置M1和M2。静止位置Rp和终点位置Ep被发现处于0弦槌行程处和48毫米的弦槌行程处。第一基准位置M1被定义在终点位置Ep前8毫米处,而第二基准点M2被定义为在终点位置Ep前0.5毫米处。
当用户接通操纵板(未示出)上的电源开关时,中央处理单元20启动,并首先将电气系统初始化。在初始化程序中合并了步骤1至4。
中央处理单元20首先从接口24取出代表各个静止位置Rp处的弦槌2的离散值AD,并将离散值ADr存储在随机存取存储器22中,如步骤S1。
随后,中央处理单元20读出静止位置Rp和终点位置Ep之间的位置比α,并将离散值ADr乘以位置比α,以便估计一个弦槌2的终点位置Ep处的离散值ADe,如步骤S2。
随后,中央处理单元20从只读存储器22中读出基准位置M1和M2的其它位置比。中央处理单元20将静止位置Rp处的离散值ADr乘以位置比,以便估计基准位置M1/M2处的离散值ADm1和ADm2。中央处理单元20将基准位置M1/M2处的离散值ADm1/ADm2存储在随机存取存储器22中,如步骤S3。
最后,中央处理单元20从随机存取存储器22中顺次读出离散值ADr,并且对其它弦槌2的每一个重复步骤S2和S3,如步骤S4,以便将离散值ADr、ADe、ADm1和ADm2存储在随机存取存储器22中。这样,在初始化工作期间,重新写入离散值ADr和ADe。
在分析如图5所示的弦槌运动时,中央处理单元20参考离散值ADr、ADe、ADm1/ADm2来做出各种关于弦槌运动的决定。尽管中央处理单元20将图5示出的循环重复88次,但是为简单起见,针对目前关注的弦槌描述该循环一次。
假设钢琴家命令记录系统500记录他或她的演奏。然后,主例程分支到用于记录的子例程,并且作为用于记录的子例程的一部分,对88个弦槌2的每一个执行用于分析的循环。
中央处理单元20首先从接口24取出指示目前关注的弦槌2的当前弦槌位置的离散值AD,如步骤S10。中央处理单元20在内部时钟中检查取出离散值AD的时刻TIME,并将离散值AD和时刻TIME积存在图6A示出的表TBL1中。在随机存取存储器22中准备88个表,并将分别其分配给88个弦槌2。假设将图6A示出的表TBL1分配给目前关注的弦槌2。表TBL1包含20个存储位置,并且分别将20个离散值AD和时刻TIME对存储在这20个存储位置中。将新的离散值AD和时刻TIME对积存在第一存储位置1中,并分别将离散值AD和时刻TIME对移动到下一存储位置2-19。最旧的对被推出表TBL1。这样,在表TBL1中积存最新的20对离散值AD和时刻TIME。
随后,中央处理单元20检查表TBL1,以查看弦槌2是否已经开始在弦槌轨迹上行进,如步骤S11。在此实例中,中央处理单元20将最新的离散值AD与离散值ADr相比较,以便回答步骤S11处的问题。如果中央处理单元20发现弦槌2处于静止位置,则答案给出为否定“否”,并且中央处理单元20返回步骤S10。这样,中央处理单元20重复由步骤S10和S11组成的循环,以便发现一个或多个弦槌2已经离开了静止位置Rp。
假设钢琴家按下了与目前关注的弦槌2相链接的黑键或白键1a/1b。步骤S11处的答案给出为肯定“是”。对于肯定答案“是”,中央处理单元20前进到步骤S12,并将最新离散值AD与离散值ADm2相比较,以查看弦槌2是否经过了第二基准位置M2,如步骤S12。如上文所述,第二基准点M2与终点位置Ep仅隔开0.5毫米。当步骤S12处的答案给出为否定“否”时,弦槌2仍然在前往第二基准位置M2的途中,并且中央处理单元20前进到步骤S14,而不进行步骤S13处的任何执行。出于此原因,中央处理单元20将弦槌状态标志st1保持为“非撞击状态”。
另一方面,当弦槌2到达或超过第二基准点M2时,步骤S12处的答案给出为肯定“是”,并且弦槌2被发现处于撞击弦4之前瞬间。换句话说,有可能假定弦槌2将很快与弦4碰撞。这样,第二基准点M2充当该假设的阈值,并使得有可能容易地判别撞击弦4之间瞬间的弦槌2。
对于步骤S12处的肯定答案“是”,中央处理单元20前进到步骤S13,并将弦槌状态标志st1从“非撞击状态”改变为“撞击状态”。当弦槌2在静止位置和第二基准位置M2之间的弦槌轨迹上行进时,弦槌状态标志st1指示非撞击状态。
随后,中央单元20检查表TBL1,以查看弦槌2是否改变了弦槌运动方向,如步骤S14。如上所述,将一系列离散值AD存储在表TBL1中。如果离散值AD简单地朝着最新离散值AD减小或增大,则中央处理单元20判定弦槌2正在向终点位置Ep前进或正在离开终点位置Ep,并且步骤S14处的答案给出为否定“否”。然后,中央处理单元20返回步骤S10,并重复由步骤S10至S14组成的循环,直到该答案改变为肯定为止。
如果这一系列离散值AD在某个取出时刻TIME达到最高点,则中央处理单元20判定弦槌2改变了弦槌运动的方向,并且步骤S14处的答案改变为肯定答案“是”。中央处理单元20假设弦槌2在某个取出时刻TIME在弦4上反弹,并准备图6B中示出的表TBL2。
表TBL2具有11个存储位置,其被分配给5个离散值AD(-5)至AD(-1)和时刻t(-5)至t(-1)对、转折点处的离散值AD(0)和时刻t(0)对、以及5个离散值AD(1)至AD(5)和时刻t(1)至t(5)对.在离散值AD和时刻t对的基础上计算弦槌速度V(-4)至V(5)以及弦槌加速度a(-4)至a(4),并分别将其写入这11个存储位置.假设弦槌运动是匀速的,并且中央处理单元20将每个点与前一个点之间的行程增量除以它们之间的时间增量.中央处理单元20通过对所计算的弦槌速度的微分来确定加速度.存在多种速度和加速度的计算方法.任何计算方法都可用于弦槌2.
可以在步骤S10与表TBL1一起准备表TBL2。可以在步骤S10计算速度和加速度。如果在步骤S10计算速度,则有可能在表TBL2中的速度的基础上确定弦槌运动的方向。
当完成步骤S14处的工作时,中央处理单元20前进到步骤S15。步骤S15处的工作将在下文中参考图7描述。
当完成步骤S15处的工作时,中央处理单元20前进到步骤S16,并完成在分析结果基础上进行的其它工作。一个重要工作是要产生音符开事件代码和音符关事件代码。诸如被按下/释放的键的编号Kni以及弦槌速度的乐曲数据被存储在按MIDI协议定义的音符开事件/音符关事件中。
当产生乐曲数据代码时,中央处理单元20将该乐曲数据代码存储在工作存储器22中,并返回步骤S10。这样,中央处理单元20重复由步骤S10至S16组成的循环,直到钢琴家命令记录系统500结束记录为止。
转到图7,中央处理单元20首先访问表TBL2,并检查速度和加速度,以查看弦槌2是否改变了运动方向,如步骤S20。详细地说,中央处理单元20分析从t(-5)到t(0)的速度和加速度,并确定朝向弦4的弦槌行为。随后,中央处理单元20分析从t(0)到t(5)的速度和加速度,并确定反弹之后的弦槌行为。中央处理单元20研究弦槌行为,以查看弦槌2是否满足以下条件之一。
条件1:
在速度v(0)、v(-1)和v(-2)的值之一大于临界速度的情况下,中央处理单元20确认弦槌2足够快以撞击弦4,并假定弦槌2一定与弦4碰撞,其中,作为示例,所述临界速度为0.3m/s。
条件2:
在绝对值|a(-3)|、|a(-2)|、|a(-1)|、|a(0)|、|a(1)|、|a(2)|和|a(3)|组中绝对值|a(0)|最大的情况下,中央处理单元20假定弦槌2有可能与弦4碰撞。
条件3:
在中央处理单元20发现另一绝对值大于绝对值|a(0)|的情况下,即弦槌2不满足条件2,并且/或者在通过二次曲线逼近确定的速度v(0)几乎等于0的情况下,中央处理单元20假定弦槌2不撞击弦4存在较高的可能性。
当完成所述假定时,中央处理单元20根据弦槌2满足的条件将弦槌状态标志st2改变为假定的状态,如步骤S21。这样,弦槌状态标志st2表示对应于条件1或条件2的肯定假定状态、或者对应于条件3的否定假定状态。或者,弦槌状态标志st2可以表示确认弦槌2一定与弦4碰撞的假定状态、弦槌可能与弦4碰撞的假定状态或者弦槌可能不与弦4碰撞的假定状态。
随后,中央处理单元20将弦槌状态标志st1和弦槌状态标志st2相比较,以查看在所述假定之间是否出现不一致,如步骤S22.如果假定状态st1与假定状态st2一致,则步骤S22处的答案给出为否定“否”,并且中央处理单元20返回由步骤S10至S16组成的循环.当发现不一致时,步骤S22处的答案给出为肯定“是”,并且中央处理单元20前进到步骤S23,并执行图8示出的用于校正的工作.
当完成图8示出的工作时,中央处理单元20返回由步骤S10至S16组成的循环。
转到附图的图8,中央处理单元20检查所述不一致,以查看该不一致被分类到哪种情况,如步骤S30。
情况1:弦槌状态标志st1表示“非撞击状态”,而另一弦槌状态标志st2表示肯定假定状态。
情况2:弦槌状态标志st1表示“撞击状态”,而另一弦槌状态标志st2表示否定假定状态。
当中央处理单元20将不一致分类为情况1时,中央处理单元20前进到步骤S31,并重新计算静止位置Rp和终点位置Ep之间的位置比。详细地说,存储在弦槌状态标志st2中的肯定假定状态比存储在另一弦槌状态标志st1中的假定更可靠,这是因为该假定状态基于实际弦槌运动。中央处理单元20假定终点位置Ep处的离散值ADe小于指示终点位置Ep的真实值。小离散值ADe使基准点M2距静止位置R更远。由于静止位置Rp处的离散值ADr是在从模拟数字转换器24b的输出节点取出的离散值AD的基础上确定的,因此离散值ADr正确地指示静止位置Rp,并且静止位置Rp和终点位置Ep之间的位置比α将是不可靠的。出于此原因,中央处理单元20重新计算静止位置Rp和终点位置Ep之间的比α。离散值AD(0)正确地指示终点位置Ep。中央处理单元20确定离散值AD(0)和离散值ADr之间的比α,并将正确的位置比存储在电可擦除和可编程存储器21中。还在离散值ADr和新离散值ADe的基础上重新计算离散值ADm1和ADm2。
当中央处理单元20将不一致分类为情况2时,中央处理单元20重新计算位置比α,如步骤S32。详细地说,否定假定状态也比存储在弦槌状态标志st1中的假定更可靠。中央处理单元20假定撞击状态的原因在于离散值ADe大于终点位置Ep处的真实值,并重新计算静止位置Rp和终点位置Ep之间的位置比α。终点位置E处的真实值有可能小于离散值AD(0),使得中央处理单元20将预定值“x”加到离散值AD(0)上。中央处理单元20假设差AD(0)-x指示终点位置Ep,并确定离散值ADr和差AD(0)-x之间的比α。将离散值ADr和差AD(0)-x之间的比存储在电可擦除和可编程存储器21中,作为静止位置Rp和终点位置Ep之间的位置比α。随后,中央处理单元20重新计算基准位置M1/M2处的离散值ADm1/ADm2。即使预定值x太大,不一致也会再次发生,并且在下一次执行时将不一致分类为情况1。当完成步骤S31或S32处的工作时,中央处理单元20返回图7示出的工作序列。
如将从上面的描述理解的那样,中央处理单元20通过不同的过程两次假定对弦4的撞击,并将假定结果互相比较,以查看离散值ADe是否正确地指示终点位置Ep。即使弦槌2和弦槌传感器26之间的相对位置由于机械组成部件的老化衰退而变化,中央处理单元20也会通过改变离散值ADe来校正弦槌传感器26。该校正在用于记录的工作期间进行。换句话说,以实时的方式将阈值调整为适当的值ADe和ADm1/ADm2,使得运动分析器28参考阈值准确地分析弦槌运动。
第二实施例
图9示出了用于校正的另一工作序列。尽管用图9示出的工作序列代替了图8示出的工作序列,但是原声钢琴100、电气系统和计算机程序的其它部分与第一实施例的那些相似。出于这一原因,将描述集中于图9示出的工作序列。机械组件和系统组件用指定第一实施例的对应组件的标号来标注,而不进行详细描述。
在此实例中,在随机存取存储器22中定义计数器。当在步骤S22中央处理单元20发现假定状态st1和假定状态st2之间的不一致时,中央处理单元20将计数器增大1,并前进到步骤S40。
在步骤S40,中央处理单元20检查计数器,以查看不一致是否被重复3次。如果计数器指示1或2,则步骤S40处的答案给出为否定“否”,对于否定答案“否”,中央处理单元20返回图5示出的工作序列,并前进到步骤S16。
当计数器指示3时,步骤S40处的答案给出为肯定“是”,并且中央处理单元20将假定状态st1和假定状态st2相比较,以查看不一致被分类为情况1还是情况2,如步骤S41。这两种情况已经结合图8示出的工作序列进行了描述,并且不再重复进行描述。
当中央处理单元20确定不一致被分类为情况1时,中央处理单元20分析存储在表TBL2中的一系列离散值,并确定弦槌轨迹的峰值,如步骤S42。该峰值被发现位于时刻t(0)处,并且ADp指示峰值处的离散值AD。
中央处理单元2还从表TBL2中读出弦槌速度v(0),如步骤S43,并访问变形表,以便读出弦槌速度v(0)处的变形量,如S44。
随后,中央处理单元20在离散值ADp和等于所读出的变形值的离散值的基础上,确定指示真实终点位置Ep的离散值ADe,如步骤S45。在此实例中,将等于所述变形的离散值加到离散值ADp上。当弦槌2与弦4碰撞时,弦4变形,并且弦槌2越过终点位置Ep。
即使弦槌2尺寸由于老化衰退而变化,该老化衰退对弦4的速度-变形特性的影响也比较小。当弦槌2和弦槌传感器26之间的相对位置由于弦槌2的老化衰退而变化时,离散值ADp也变化。然而,弦4保持速度-变形特性。出于此原因,中央处理单元20通过将等于变形量的离散值加到离散值ADp上,来确定指示真实终点位置的离散值ADe。
另一方面,如果不一致被分类为情况2,则终点位置E处的真实值有可能小于离散值AD(0),使得在差AD(0)-x指示终点位置Epas的假设下,中央处理单元20将预定值“x”加到离散值AD(0)上,如步骤S46。
这样,中央处理单元20在步骤S42至S45或步骤S46确定指示真实终点位置Ep的离散值ADe。在任一情况中,当离散值ADe改变时,中央处理单元20重新写入离散值ADr和ADe,如步骤S47,并重新计算位置比α,如步骤S48。
如将从以上描述理解的那样,即使传感器和目标组成部件即弦槌2之间的相对位置变化,也在实际基准轨迹和与目标组成部件交互的另一组成部件的变形的基础上,校正诸如例如终点位置Ep和基准位置M1/M2的参考点(datum point)。结果,运动分析器28准确地假定目标组成部件的运动。
在通过分析目标组成部件的运动而产生代表演奏的乐曲数据的情况中,以高保真度记录该演奏。在通过包含传感器的伺服控制环在重放时控制固标组成部件的情况中,伺服控制环使目标组成部件准确地在基准轨迹上行进,使得乐器以高保真度重演所述演奏。
尽管示出和描述了本发明的特定实施例,但是对本领域技术人员来说将清楚的是,在不背离本发明的精神和范围的情况下,可以进行各种改变和修改.
MIDI协议不对本发明的技术范围设置任何限制。可以将任意协议用于乐曲数据,只要该数据代码可以表示乐曲数据即可。
伺服控制环可以包括弦槌传感器26来代替内置的活塞传感器5c。在此实例中,在当前弦槌位置的基础上假定当前键位置,并且可以在重放期间进行校正。
制造商可以准备多个变形表,并将其存储在只读存储器21中。在此实例中,中央处理单元20根据音符数目或键编号Kni有选择地访问变形表。
大钢琴不对本发明的技术范围设置任何限制。可以在直立式钢琴的基础上制造自动演奏器钢琴。本发明可以属于静音钢琴。静音钢琴包括原声钢琴、弦槌制止器(hammer stopper)和电子音调生成系统。弦槌制止器在自由位置和阻塞位置之间改变。当弦槌制止器停留在自由位置时,钢琴家在原声钢琴上演奏一首乐曲。当弦槌制止器改变为阻塞位置时,弦槌制止器被移动到弦槌的轨迹上。当演奏者在原声钢琴上用手指演奏时,弦槌在撞击弦之前在弦槌制止器上反弹,并且电子音调生成系统产生电子音调而不是原声钢琴音调。电子音调生成系统包括弦槌传感器,并且弦槌传感器监控相关的弦槌。运动分析器在从弦槌传感器提供的弦槌数据的基础上确定弦槌运动。校正弦槌传感器,以便使弦槌传感器不受弦槌老化衰退的影响。
本发明可应用于诸如例如钢片琴的另一种乐器。
变形表不对本发明的技术范围设置任何限制。可以用等式来表示变形量。在此实例中,将该等式存储在只读存储器中,并且运动分析器通过使用该等式来计算变形量。或者,可以减少变形数据,并且中央处理单元通过插值来确定变形量。
制造商可以通过分析实际弦槌运动和变形表来确定初始离散值ADe。
光变换器不对本发明的技术范围设置任何限制。可以将由永久磁铁和线圈组成的磁性传感器安装在原声钢琴100中,以产生弦槌速度信号。或者,半导体应变传感器可以产生弦槌加速度信号。在半导体芯片上形成在梁(beam)的前端连接到梁的重决(weight)和梁,并且在梁上形成惠斯通电桥电路。力与加速度成比例,使得从惠斯通电桥电路输出代表加速度的弦槌加速度信号。
本发明可应用于监控键运动以便校正键的终点位置的键传感器。在此实例中,可以考虑前销冲孔(front pin punching)的变形。
在实施例中,通过在中央处理单元20上运行的计算机程序来实现校正。可以通过由逻辑门实现的功能模块来完成计算机程序的功能。
在上述实施例中,终点位置Ep充当要校正的参考点。然而,弦槌轨迹上的任意位置均可充当参考点。例如,可以直接校正基准点。
实施例的组成部件与权利要求语言相关如下。黑/白键1a/1b、动作单元3、弦槌2和弦4作为整体组成每个“音调生成链接构件”,并且弦槌2和弦4分别对应于“组成部件”和“另一组成部件”。弦槌传感器26充当“多个传感器”,并且弦槌位置信号Vh对应于“信号”。离散值AD充当每个系列的“运动数据”,并且弦槌轨迹对应于“轨迹”。
数据处理单元27和计算机程序作为整体组成“数据处理单元”.中央处理单元20和用于步骤S10、S11和S20处的工作的指令作为整体组成“分析器”.弦槌2改变运动方向的点对应于“唯一点”,并且离散值AD(0)对应于“当前值”.中央处理单元20和用于步骤S12、S13、S21和S22处的工作的指令作为整体组成“判断器”.存储在电可擦除和可编程存储器中的离散值ADe充当“先前值”.中央处理单元20和用于步骤S30、S31和S32处的工作的指令作为整体组成“校正器”.
电磁控制的键致动器5充当“致动器”,并且预数据处理器10、运动控制器11和伺服控制器12作为整体组成“电子控制器”。