CN101656065B - 乐器,音乐数据产生器和用于乐器的音乐数据源 - Google Patents
乐器,音乐数据产生器和用于乐器的音乐数据源 Download PDFInfo
- Publication number
- CN101656065B CN101656065B CN2009101710064A CN200910171006A CN101656065B CN 101656065 B CN101656065 B CN 101656065B CN 2009101710064 A CN2009101710064 A CN 2009101710064A CN 200910171006 A CN200910171006 A CN 200910171006A CN 101656065 B CN101656065 B CN 101656065B
- Authority
- CN
- China
- Prior art keywords
- hammer
- key
- music data
- data
- position data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10F—AUTOMATIC MUSICAL INSTRUMENTS
- G10F1/00—Automatic musical instruments
- G10F1/02—Pianofortes with keyboard
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/32—Constructional details
- G10H1/34—Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/005—Device type or category
- G10H2230/011—Hybrid piano, e.g. combined acoustic and electronic piano with complete hammer mechanism as well as key-action sensors coupled to an electronic sound generator
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
为了精确地表示琴键(130)的移动或音锤(150)的移动,利用自动弹奏钢琴中空闲的用于复调键压的声音信息([An kk xx])和用于控制变化的另外的一个声音信息([Bn 10 yy])来表示粗略的键位置或粗略的音锤位置以及偏离该粗略的键位置或粗略的音锤位置的一偏离量,该偏离量在休息位置和端部位置之间的一通常轨迹上以高分辨率的方式被表示,在通常轨迹外侧则以低分辨率的方式被表示;此外,复调键压的声音信息([An kk xx])的第三字节(xx)所表示的数字范围被分成两个被赋予给琴弦(130)和音锤(150)的数字子范围,从而只需很少的声音信息。
Description
本申请是雅马哈株式会社于2004年11月1日提交的名称为“乐器,音乐数据产生器和用于乐器的音乐数据源”的申请号为200410090097.6的发明专利申请的分案申请。
技术领域
本发明涉及一种乐器,更具体地说是涉及例如键盘乐器的乐器,与乐器相关联的音乐数据产生器和音乐数据源。
背景技术
当音乐家在弹奏一声学乐器例如钢琴时,弹奏者按次序确定出乐音,这些乐音是借助于乐谱通过操作盘即黑琴键和白琴键来产生的,被按压的黑白琴键使得执行单元产生移动,从而利用音锤来击打琴弦。基本音乐数据以置于五线谱上的音符和休止符的形式给音乐家,音乐家解释乐谱上的所表示的乐曲,从而确定实际的键移动。因此,在声学乐器上进行演奏需要脑力劳动。
乐器制造商们已向使用者们提供了电子乐器和复合型乐器,例如自动弹奏钢琴,这些类型的乐器已受到使用者们的青睐。
对于电子乐器和复合型乐器而言,乐曲是用二进制代码来表达的。当使用者希望通过电子乐器来乐曲时,一数据处理器就解释键移动,并把二进制代码供给到一乐音产生器,以便产生电子乐音。类似地,当使用者命令自动弹奏钢琴重现一演奏时,一数据源就开始把二进制数据供给到数据处理器,从而键无需演奏人员的手指的弹奏,利用驱动器来激起键移动。这就意味着音乐数据是以二进制代码给出的。不仅音符和休止符,而且精细的脑力劳力要用二进制代码来表达。在下文中,电子乐器和复合型乐器被称作“非声学乐器”。
在日本专利申请公开Nos.昭53-112716,昭58-159279和昭59-82682中公开了非声学乐器的一些典型例子。音乐数据被转换成二进制代码,其格式在MIDI(乐器数字接口(Musical Instrument Digit Interface))协议中被定义了。在下文中,这些二进制代码被称作“MIDI音乐数据代码”。例如,音符-起事件,音符-止事件,要被产生的乐音的音高,要被赋予给这些乐音的速度是由MIDI音乐数据代码来表达的。尽管音符-起事件,音符-止事件以及音高与五线谱上的音符相对应,速度在乐谱上并未被精确表达,并且是通过演奏人员的脑力劳动来为声学乐器确定的。这样,MIDI音乐数据代码可方便地表达在声学乐器上所进行的演奏,并且被广泛地应用于非声学乐器中。
通过自动弹奏钢琴可获得用于重现演奏的MIDI音乐数据代码。内置的控制器根据要被移动的黑/白键的音乐数据确定出参考轨迹,并且通过一伺服控制技术迫使黑/白键在休息位置和端部位置之间沿着参考轨迹进行移动。
然而,在非声学乐器中会遇到这样一个问题,即,根据MIDI音乐数据代码所重现出的乐音并不能与在声学乐器上的原始演奏的乐音或音乐家所指定的乐音精确对应。
发明内容
因此,本发明的一个重要目的是提供一种乐器,这种乐器以高级的音乐数据代码的形式来精确地记录那些要被产生的乐音。
本发明的另一个重要目的是提供一种音乐数据产生器,用于以高级的音乐数据代码的形式来记录那些要被产生的乐音。
本发明的另外一个重要目的是提供一种音乐数据源,高级的音乐数据代码被存储在该音乐数据源中。
根据本发明的一个方面,提供了一种用于产生乐音的乐器,这种乐器包括:一乐音产生系统,该乐音产生系统包括多个连接件,这些连接件选择性地被驱动,以便指定所述要被产生的乐音的音高,所述的多个连接件中的每个连接件都具有一特定的构件;一乐音产生子系统,该乐音产生子系统通过所述的多个连接件被驱动以产生乐音;以及一记录系统,该记录系统包括多个传感器,至少监测多个连接件的特定构件,并产生监测信号,这些监测信号携带有多段数据,每段数据代表一物理量,所述物理量用于表示所述特定构件的移动,一数据处理单元,用于分析所述的多段数据,以便产生一音乐数据代码组,该音乐数据代码组代表由所述乐音产生系统产生的乐音,其中,所述音乐数据代码组包括特定的音乐数据代码,每个特定的音乐数据代码具有被赋予一位串的一数据字段,所述位串用于在一通常区域中以一分辨率以及在所述通常区域外侧的一区域中以不同于所述分辨率的另外一个分辨率来表示所述的物理量。本发明还提供了一种音乐数据产生器,该音乐数据产生器包括:多个传感器,至少监测安装在一乐器内的多个连接件的特定构件,并产生一些监测信号,这些监测信号携带有多段数据,每段数据代表用于表示所述特定的构件的移动的一物理量;和一数据处理单元,用于分析所述的数据,以便形成一音乐数据代码组,该音乐数据代码组代表由所述乐器产生的乐音,其中,所述的音乐数据代码组包括特定的音乐数据代码,每个音乐数据代码具有一数据字段,该数据字段被赋予一位串,所述位串在通常区域内以一分辨率表示所述物理量,在所述通常区域外侧的一区域中以不同于所述分辨率的另外的一个分辨率表示所述物理量。本发明还提供一种用于输出至少一音乐数据代码组的音乐数据源,包括一存储空间,用于存储代表要被产生的乐音的所述音乐数据代码组,其中,所述的音乐数据代码组包括特定的音乐数据代码,每个音乐数据代码具有一数据字段,该数据字段被赋予一位串,所述位串在通常区域内以一分辨率表示所述物理量,在所述通常区域外侧的一区域中以不同于所述分辨率的另外的一个分辨率表示所述物理量。
根据本发明的另一方面,提供了一种用于产生乐音的乐器,这种乐器包括:一乐音产生系统,该乐音产生系统包括多个连接件,这些连接件选择性地被驱动,以便指定所述要被产生的乐音的音高,并且具有对应的构件和对应的另外的构件;和一乐音产生子系统,该乐音产生子系统通过所述的多个连接件被驱动以产生所述的乐音;一记录系统,该记录系统包括多个传感器,用于监测所述多个连接件的所述构件和所述另外的构件,并产生监测信号,这些监测信号携带有多段第一数据,每段第一数据代表用于表示所述构件的移动的一物理量,并且产生另外的监测信号,该另外的监测信号携带有多段第二数据,每段第二数据代表用于表示所述另外的特定的构件的移动的另外的一个物理量;和一数据处理单元,用于分析所述的多段第一数据和多段第二数据,以便产生一音乐数据代码组,该音乐数据代码组代表由所述乐音产生系统产生的所述乐音,其中,所述音乐数据代码组包括特定的音乐数据代码,每个特定的音乐数据代码具有被赋予一位串的一数据字段,该位串的数字范围可被分成至少两个数字范围,这两个数字范围分别表示所述物理量和所述的另外的一个物理量。本发明还提供了一种音乐数据产生器,它包括:多个传感器,用于监测一乐器中的多个连接件的构件和另外的构件,并产生监测信号和另外的监测信号,所述的监测信号携带有多段第一数据,每段第一数据代表用于表示所述构件的移动的一物理量,所述另外的监测信号携带有多段第二数据,每段第二数据代表用于表示所述另外的构件的移动的另外的一个物理量,一数据处理单元,用于分析所述的多段第一数据和多段第二数据,以便产生一音乐数据代码组,该音乐数据代码组代表由所述乐器产生的乐音,其中,所述的音乐数据代码组包括特定的音乐数据代码,每个特定的音乐数据代码具有一数据字段,该数据字段被赋予一位串,该位串的一数字范围可以分成至少两个数字范围,分别表示所述物理量和所述另外的一个物理量。本发明还提供了一种用于输出至少一音乐数据代码组的音乐数据源,包括一存储空间,用于存储代表要被产生的乐音的所述音乐数据代码组,其中,所述的音乐数据代码组包括特定的音乐数据代码,每个音乐数据代码具有一数据字段,该数据字段被赋予一位串,该位串的数字范围可分成至少两个数字范围,分别表示所述的物理量和所述的另外的一个物理量。
根据本发明另外一个方面,提供了一种用于产生乐音的乐器,包括:
一乐音产生系统,该乐音产生系统包括多个连接件,这些连接件选择性地被驱动,以便指定所述要被产生的乐音的音高,所述的多个连接件中的每个连接件具有一特定的构件;和一乐音产生子系统,该乐音产生子系统通过所述的多个连接件被驱动以产生所述的乐音;一记录系统,该记录系统包括多个传感器,用于至少监测所述多个连接件的特定构件,并产生监测信号,这些监测信号携带有多段数据,每段数据代表用于表示所述特定的构件的移动的一物理量;和一数据处理单元,用于分析所述的多段数据,以便产生一音乐数据代码组,该音乐数据代码组代表由所述乐音产生系统产生的所述乐音,其中,所述音乐数据代码组包括表示所述物理量的多个音乐数据代码子组,每个音乐数据代码子组具有:一第一位串,该第一位串粗略表示所述物理量;和一第二位串,该第二位串精确表示所述物理量。本发明还提供了一种音乐数据产生器,包括:多个传感器,用于至少监测一乐器中的多个连接件的特定的构件,并产生监测信号,所述的监测信号携带有多段数据,每段数据代表用于表示所述特定构件的移动的一物理量;和一数据处理单元,用于分析所述多段数据,以便产生一音乐数据代码组,该音乐数据代码组代表由所述乐器产生的乐音,其中,所述的音乐数据代码组包括多个代表所述物理量的音乐数据子组,每个音乐数据子组具有第一位串,所述第一位串粗略地表示所述物理量,和第二位串,所述第二位串精确地表示所述物理量。本发明还提供了一种用于输出至少一音乐数据代码组的音乐数据源,包括一存储空间,用于存储代表要被产生的乐音的所述音乐数据代码组,其中,所述的音乐数据代码组包括多个音乐数据代码子组,这些音乐数据代码代表用于表示一乐器的特定构件的移动的一物理量,并且其中每个音乐数据代码子组具有:和一第一位串,该第一位串粗略表示所述物理量;一第二位串,该第二位串精确地表示所述物理量。
附图说明
根据下面的描述,并结合附图就可以更清楚地理解乐器、音乐数据产生器和音乐数据源的特征和优点,在这些附图中:
图1是表示本发明的一复合型键盘乐器的结构的剖面侧视图,
图2是一侧视图,表示出了安装在复合型键盘乐器中的一白键,
图3是一侧视图,表示出了也被安装在复合型键盘乐器中的一音锤,
图4是一方框图,表示安装在复合型键盘乐器中的一记录器的系统结构,
图5表示被赋予给复合型键盘乐器中所用的基本位置数据和延伸位置数据的格式,
图6A是一曲线图,表示第一例中的实际音锤行程和基本位置数据/延伸位置数据之间的相互关系,
图6B是一曲线图,表示第一例中的实际的键行程和基本位置数据/延伸位置数据之间的相互关系,
图7A是一个表,用于描述第一例中的实际音锤行程的基本位置数据/延伸位置数据的特征,
图7B是一个表,用于描述第一例中的实际的键行程的基本位置数据/延伸位置数据的特征,
图8是一个表,用于描述第二例中的被赋予给不同数据的数字子范围,
图9A表示在第一例中的被赋予给一增量和一减量的数字范围,
图9B表示在第三例中的被赋予给一增量和一减量的数字范围,
图10A是一曲线图,表示第三例中的实际音锤行程和基本位置数据/延伸位置数据之间的相互关系,
图10B是一曲线图,表示第三例中的实际的键行程和基本位置数据/延伸位置数据之间的相互关系,
图11A是一个表,用于描述第三例中的实际音锤行程的基本位置数据/延伸位置数据的特征,
图11B是一个表,用于描述第三例中的实际的键行程的基本位置数据/延伸位置数据的特征,
图12表示出了在第三例中所用的被赋予给基本位置数据和延伸位置数据的数字范围,
图13是一剖面侧视图,表示出了根据本发明的另一种复合型键盘乐器的结构,
图14是一侧视图,表示安装在复合型键盘乐器中的一白键,
图15是一侧视图,表示出了也被安装在复合型键盘乐器中的一音锤,
图16是一方框图,表示复合型键盘乐器中所安装的一记录器的系统结构,
图17表示被赋予给复合型键盘乐器中所用的基本位置数据和延伸位置数据的格式,
图18表示分别被赋予给当前键位置和当前音锤位置的两个数字范围,
图19A是一曲线图,表示第一例中的实际音锤行程和基本位置数据/延伸位置数据之间的相互关系,
图19B是一曲线图,表示第一例中的实际的键行程和基本位置数据/延伸位置数据之间的相互关系,
图20A是一个表,用于描述第一例中的实际音锤行程的基本位置数据/延伸位置数据的特征,
图20B是一个表,用于描述第一例中的实际的键行程的基本位置数据/延伸位置数据的特征,
图21A表示出了在第一例中被赋予给一增量和一减量的数字范围,
图21B表示出了在第二例中被赋予给一增量和一减量的数字范围,
图22A是一曲线图,表示第二例中的实际音锤行程和基本位置数据/延伸位置数据之间的相互关系,
图22B是一曲线图,表示第二例中的实际的键行程和基本位置数据/延伸位置数据之间的相互关系,
图23A是一个表,用于描述第二例中的实际音锤行程的基本位置数据/延伸位置数据的特征,
图23B是一个表,用于描述第二例中的实际的键行程的基本位置数据/延伸位置数据的特征,
图24表示出了在第二例中被赋予给基本位置数据和延伸位置数据的一些数字范围,
图25是一剖面图侧视图,表示出了根据本发明的另外一种复合型键盘乐器的结构,
图26是一侧视图,表示安装在复合型键盘乐器中的一白键,
图27是一侧视图,表示出了也被安装在复合型键盘乐器中的一音锤,
图28是一方框图,表示复合型键盘乐器中所安装的一记录器的系统结构,
图29表示出了位置数据的一系列段,
图30A是一曲线图,表示第一例中的实际音锤行程和基本位置数据/延伸位置数据之间的相互关系,
图30B是一曲线图,表示第一例中的实际的键行程和基本位置数据/延伸位置数据之间的相互关系,
图31A是一个表,用于描述第一例中的实际音锤行程的基本位置数据/延伸位置数据的特征,
图31B是一个表,用于描述第一例中的实际的键行程的基本位置数据/延伸位置数据的特征,
图32A和32B表示出了可提供一当前音锤位置和一当前键位置的两组延伸位置数据,
图33A表示出了在第一例中被赋予给一增量和一减量的数字范围,
图33B表示在第三例中被赋予给一增量和一减量的数字范围,
图34A是一曲线图,表示第三例中的实际音锤行程和基本位置数据/延伸位置数据之间的相互关系,
图34B是一曲线图,表示第三例中的实际的键行程和基本位置数据/延伸位置数据之间的相互关系,
图35A是一个表,用于描述第三例中的实际音锤行程的基本位置数据/延伸位置数据的特征,
图35B是一个表,用于描述第三例中的实际的键行程的基本位置数据/延伸位置数据的特征,
图36表示出了在第二例中被赋予给多段基本位置数据和延伸位置数据的一些数字范围,
图37是一侧视图,表示出了根据MIDI音乐数据代码组来重现演奏一演奏的自动演奏器的结构。
具体实施方式
在下面的描述中,术语“前部”是指比术语“后部”所指位置更靠近正弹奏乐曲的弹奏者的位置。在一前部位置和一对应的后部位置之间所画的一条线在一个“前后方向”上延伸,侧向方向与该前后方向垂直。
第一实施例
复合型键盘乐器的结构
参照图1,实施本发明的一种复合型键盘乐器大体上包括一声学钢琴100和一记录系统105。记录系统105被安装在声学钢琴100内,该记录系统产生一些表示在声学钢琴上的演奏的音乐数据代码。
声学钢琴100包括:一钢琴箱110、一键盘120、一些执行单元140、一些音锤150、一些制音器(damper)160和一些琴弦170。键盘120被安装在钢琴箱的一键床110a上,并且向坐在声学钢琴100前方的一凳子(图中未示)上的钢琴演奏者暴露着。琴弦170被拉伸在钢琴箱110内部的键盘120的后部上,执行单元140和音锤150被安装在钢琴箱110内,并位于琴弦170下方。一些制音机构160分别与这些琴弦170相关联,并且这些制音机构能与相关联的琴弦170间隔开以及相接触,从而能暂时性地允许琴弦发生振动。
键盘120包括:一平衡轨120a、一些平衡销125以及一些黑色键/白色键130。平衡轨120a沿侧向在键床110a上延伸,这些平衡销125从平衡轨120a以间隔开的方式向上突出。在黑色键/白色键130的中部设置一些竖直孔,平衡销125分别穿过这些竖直孔,以便分别向黑色键/白色键130提供支点。在这个例子中,黑色键/白色键130的总数是八十八,代表音符的键代码[21]至[108]被分别赋予这些黑/白键130。
再参照图1,键执行单元140与黑/白键130的后部分别相连,从而黑/白键130在其自身重量作用下,使得黑/白键130的后部下沉到一后轨上。另一方面,黑/白键130的前部被提升到一前轨120c上方。因此,黑/白键130停留在对应对应的休息位置,而且没有任何外力作用于它们的前部。在图2中用实线表示出了处于休息位置的其中一个白键130。
在钢琴演奏者用他/她的手指在黑/白键130的前部上实施作用力时,所述前部就下沉到前轨120c上,后部把执行单元140向上推起。当前部与前轨120c接触时,黑/白键130就到达对应对应的端部。在图2中用点划线表示出了位于端部的白键130。在这种情况中,在黑/白键的前端,键的行程为10毫米数量级。对于本领域普通技术人员来说,执行单元140的结构是已知的,因此为了简明起见,在下文中将不再对其进行描述。
音锤150分别与执行单元140关联,相应地也就与黑/白键130相关联。由于这个原因,音符号[21]-[108]也分别被赋予这些音锤150。当黑/白键130处于休息位置时,相关联的音锤150与相关联的执行单元140在顶杆的头部相接触,并且停留在对应对应的休息位置。在图3中,用实线表示出了位于休息位置的一个音锤150。当演奏者按压黑/白键130的前端部时,相关联的执行单元140就开始转动,并向上推动音锤。在黑/白键130向端部位置运动的过程中,执行单元140就从相关联的音锤150脱离。然后,音锤150被驱动转动,并且在自由转动结束时与琴弦170相撞击。音锤150使得琴弦170产生振动,并且这种振动被传播到一音板(图中未示)。音板也产生振动,从而就从音板上辐射出乐音。
如图3所示,音锤150被分解成一锤木141、一锤毡(a hammer felt)142、一锤柄143。锤木141被固定在锤柄142的前端,锤毡142被锤木141保持着。锤柄143的另一端通过一销144与锤柄突缘146相连,从而可以绕着销144转动。点划线表示出了位于端部位置的音锤150,在这个端部位置,音锤150撞击到琴弦170(如图3所示)。在这种情况下,锤毡142从休息位置到端部位置大致移动了大约48毫米以上。
如果声学钢琴100的所有的构件都是刚性的,那么,黑/白键130就会在休息位置和端部位置之间移动,并且音锤会从休息位置转动到音锤130撞上琴弦170的位置。然而,实际中的声学钢琴100的构件是可弹性变形的。此外,由于老化变劣,一些构件还会塑性变形。这就意味着黑/白键130和音锤150会移动超过端部位置和休息位置。
实际上,在声学钢琴上进行实际演奏时可以看出,黑/白键130和音锤150有时会过度地移动超过端部位置和休息位置。然而,在现有技术中,键移动和音锤移动是按假设黑/白键和音锤都在休息位置和端部位置之间的参考轨迹上移动来描述的。本发明人注意到了实际的键移动与这种假设之前存在着差别,这种差别使得重新演奏时的乐音变得很怪。为了精确地描述键移动,将会考虑到所述的过度移动,这将在下文中被详细描述。
记录系统105包括:一记录器107、一些键传感器310和一些音锤传感器410。这些键传感器310分别与黑/白键130相关联,用于监测相关联的黑/白键130。另一方面,这些音锤传感器410分别与音锤150相关联,用于监测相关联的音锤150。这些键传感器310和音锤传感器410与记录器107相连接,并且提供表示相关联的黑/白键130的当前键位置的键位置信号和表示相关联的音锤150的当前音锤位置的信号。
从如2中可以更清楚地看到,刚性板300在成排的黑/白键130上侧向延伸,键传感器310以等于黑/白键130的间距的间隔固连在刚性板300的下表面上。在这个例子中,键传感器310采用成对的光发射元件和光检测元件,即反射型光电耦(photo-coupler),反射板135被连接到黑/白键130的上表面上。光发射元件把光束照射到相关联的反射板135上。光束在反射板135上反射,并且入射到光检测元件上。入射光在光检测元件中被转变成光电流,由该光电流产生键位置信号。入射光的强度随着光电耦与反射板135之间的距离而变化,从而,键位置信号就表示出距键传感器310的距离,即,表示出当前的键位置。键传感器310能分辨0.001毫米的增量/减量,可监测距离被增加到超过每个休息位置和端部位置达键行程的三分之一,键行程即休息位置和端部位置之间的轨迹长度。为了使两种键行程可被区分开,休息位置和端部位置之间的键行程被称作“理论的键行程”,可监测距离内的键行程被称作“实际的键行程”。当一黑/白键130从休息位置移动到端部位置时,该黑/白键130就移动了所述的“理论的整个键行程”。理论的整个键行程之外的可监测的距离范围被称作“过移区域”。
类似地,从图3中可以看得更清楚,一刚性板400在音锤柄143上方沿侧向延伸,音锤传感器410和相关联的反射板145分别被连接到刚性板400的下表面和音锤柄143的上表面。音锤传感器410可由光电耦来实施,由光电流产生类似于键位置信号的音锤位置信号。音锤传感器410也具有0.001毫米的分辨率,可监测范围被加长到超过每个休息位置和端部位置达三分之一音锤行程,即休息位置和端部位置之间的轨迹长度。与键行程相类似,休息位置和端部位置之间的音锤行程被称作“理论的音锤行程”,可监测范围内的音锤行程被称作“实际音锤行程”。当一音锤150被从休息位置转动到端部位置时,音锤就移动了“理论的整个音锤行程”。理论的整个音锤行程之外的可监测范围被称作“过移区域”。
尽管为声学钢琴100配备了键传感器310和音锤传感器410,但是,另外的构件也可以由传感器来监测。例如,制音器传感器161可以被设置在制音器160上方。制音器传感器161以这样的方式被连接到一刚性板162上,即,使得制音器传感器与反射板163相对置。如前所述,制音器160允许琴弦170振动并使振动衰减。然而,制音器160不仅仅在两个位置之间被改变。在实际演奏中,演奏者有时使制音器轻轻地接触琴弦170,以便给乐音赋予艺术表现。如果制音器传感器161也被安装在声学风琴100上,那么,记录器107就会从制音传感器161上获得另一种音乐数据,从而使得演奏更接近原始演奏。
记录器的系统结构
参照图4,记录器107包括:一中央处理器200,称为“CPU”;一随机存取存储器,简称为“RAM”;一只读存储器220,简称为“ROM”;一操作盘230;一些计时器240;一些模数转换器250a/250b;一共享母线系统B;一存储单元260,例如一软盘驱动器。一磁盘驱动器或硬盘驱动器与该记录器107相连。也可以用另外的存储装置来存储数据。存储单元260可采用CD-ROM或CD-RAM的光盘驱动器、光电磁磁盘驱动器、ZIP盘驱动器、DVD(Digital Versatile Disk)驱动器,或安装有半导体存储装置的存储板。
中央处理器200、随机存取存储器210、只读存储器220、操作盘230、计时器240、模数转换器250a/250b和存储单元260都与共享母线系统B相连接,从而,中央处理器200能通过共享母线系统B与其它的部件210/220/230/240/250a/250b/260相互通信。八十八个键传感器310与模数转换器250a相连,通过该模数转换器250a把键位置信号转换成数字的键位置信号。另一方面,八十八个音锤传感器410与另外的模数转换器250b相连,并且通过该模数转换器250b把音锤位置信号转换成数字的音锤位置信号。数字的键位置信号和数字的音锤位置信号具有一位串,该位串的长度足以表示出所述的分辨率。在这种情况下,向当前键位置和当前音锤位置赋予12位。
计算机程序和参数表被存储在只读存储器220内,随机存取存储器210用作一工作存储器。中央处理器200根据计算机程序运行,完成计算机程序中所表达的任务,从而产生代表在键盘120上的演奏的MIDI信息的音乐数据代码。代表着MIDI信息的音乐数据代码组即MIDI音乐数据代码被存储在存储单元260内。从而,演奏就被记录在存储单元260内。
操作盘230是一人机界面。各种开关、杆、指示器、显示窗被设置在操作盘230上,使用者通过操作盘230向中央处理器200发出命令。计时器240可以由软件来实施。中央处理器200选择性地起动和停止所述的计时器,从而测定所消逝的时间。
当演奏者在声学钢琴100上演奏乐曲时,中央处理器200就根据计算机程序运行,从而产生MIDI音乐数据代码。中央处理器200周期性地从模数转换器250a/250b获取当前键位置和当前音锤位置,并且把这些当前键位置和当前音锤位置加到已经存储在随机存取存储器210内的一系列当前键位置和一系列当前音锤位置。中央处理器200检验这些当前键位置,以便确定是否移动了任何键130。
当中央处理器200发现一黑/白键130的位置发生了改变时,中央处理器200就断定发生了键移动,并且为将要产生的要衰减乐音产生MIDI声音信息。中央处理器200还在产生MIDI声音信息时起动计时器240,在产生下一个MIDI声音信息时停止计时器。中央处理器200测量两个MIDI事件之间的消逝时间,以产生代表消逝时间的持续时间数据代码。在这种情况下,中央处理器200还产生代表当前键位置和当前音锤位置的声音信息。在用于重现演奏的乐器中未被使用的空闲格式(idle formats)被赋予代表当前键位置和当前音锤位置的声音信息,代表当前键位置和当前音锤位置的MIDI音乐数据代码与代表音符-起和音符-止以及消逝时间的MIDI音乐数据一起被存储在存储单元260内。这些空闲格式将在下文中被详细描述。
MIDI音乐数据代码和持续时间数据代码被供给到存储单元260并存储于其内。使用者通过操作盘230可以向中央处理器200给出数据写入速度和数据读出速度,中央处理器200又把这些数据写入速度和数据读出速度指示给存储单元260。然而,在只读存储器220内为所述速度写入速度和数据读出速度存储了默认值,中央处理器200通常命令存储单元260以默认值把MIDI音乐数据代码和持续时间数据代码向磁盘写入或从磁盘读出。在下面的描述中,假设存储单元260以默认值把这些数据代码写入磁盘或从磁盘中读出。
尽管中央处理器200通常把代表演奏的全部的MIDI音乐数据代码和持续时间数据代码从随机存取存储器210转移到存储单元260,但是,使用者能选择要被记录到存储单元260内的音符。假设使用者想记录一部分乐曲,那么,使用者就命令中央处理器200把这些乐音记录在一寄存器内。中央处理器200选择那些代表所选音符的MIDI音乐数据、改变持续时间数据代码的消逝时间。中央处理器200把所选的MIDI音乐数据代码和持续时间数据代码选定的数据代码转移到存储单元260,并且把它们存储在存储盘内。这样,记录器107就能选择性地记录那些由键移动/音锤移动所表达的乐音。
一组MIDI音乐数据代码和持续时间数据代码以标准的MIDI文件形式被存储在存储单元260内,这种文件形式通常被简称为“SMF”。换句话说,键移动和音锤移动与代表音符-起、音符数、速度和音符-止的声音信息一起被编译成空闲声音信息,并且那些声音信息被存储在MIDI音乐数据代码中。对于直接表达键轨迹和音锤轨迹的数据代码而言,编译成声音信息是有利的,这是因为使用者容易编辑和传输这些MIDI音乐数据代码。
位置数据
图5表示出了被赋予键移动和音锤移动的格式。由于这种格式被赋予给MIDI协议中的复调键压(polyphonic key pressure)和控制变化,在自动弹奏钢琴中(通过这种钢琴来重现演奏),复调键压和控制变化是无用的。换句话说,这些格式在自动弹奏钢琴中是空闲的。由于这个原因,这些空闲格式被赋给基本位置数据和延伸位置数据,这将在下文中被详细描述。
基本的定位数据和延伸位置数据以不同的分辨率表示当前键位置和当前音锤位置。一段基本位置数据以相对较低的分辨率粗略表示位于休息位置和端部位置之间的键轨迹即理论的键行程上的当前键位置,或表示位于休息位置和端部位置之间的音锤轨迹即理论的音锤行程上的当前音锤位置。换句话说,位于休息位置和端部位置之间的键轨迹的一特定区域或位于休息位置和端部位置之间的音锤轨迹的一特定区域由这段基本位置数据来粗略规定。
另一方面,一段延伸位置数据以相对较高的分辨率表示在端部位置和休息位置之间的特定区域中的当前键位置或者以相对较低的分辨率表示在过移区域中的当前键位置。否则,这段延伸位置数据以相对较高的分辨率表示在端部位置和休息位置之间的特定区域中的当前音锤位置或者以相对较低的分辨率表示在过移区域中的当前音锤位置。因此,这段延伸位置数据不仅描述了在休息位置和端部位置之间实际的键行程/实际的音锤行程,而且还描述了在过移区域中实际的键行程或实际的音锤行程。这段延伸位置数据使得可以表达一“富余”,其意思是过移量。由于基本位置数据和延伸位置数据在当前键位置和当前音锤位置之间被共享,因此,两个数字范围分别被赋予理论的/实际的键行程和理论的/实际的音锤行程。
如5所示,代表一段基本位置数据和一段延伸位置数据的声音信息由3个字节来表示。第一个字节是在MIDI协议中定义的状态字节,第二个字节和第三个字节也是在MIDI协议中定义的数据字节。代表一段基本位置数据的声音信息所具有的状态字节为[1010nnnn],所具有的数据字节为[0kkkkkkk]和[0xxxxxxx],并且该声音信息由十六进制符号[An kk xx]表示。位串[nnnn]表示一通道号。位串[kkkkkkk]表示被赋予黑/白键130或其中一个音锤150的音符号。换句话说,位串[kkkkkkk]代表从[0010101]到[1101100]中的一个二进制数,其中,[0010101]等于十进制符号中的21,[1101100]等于十进制符号中的108。如前所述,使用者能命令中央处理器200处理一特定区域中的黑/白键130的移动以及处理特定寄存器中的音锤150的移动。如果使用者把特定寄存器给了中央处理器200,那么,中央处理器200就通过把位串[kkkkkkk]与特定寄存器中的音符号相比,选择黑/白键130和音锤150。
位串[xxxxxxx]代表一段基本位置数据。数字范围[xxxxxxx]被分成两个数字范围,这两个数字范围分别被赋予理论的键行程和理论的音锤行程。从而,只有一个格式在黑/白键130和音锤150之间被共享。从MIDI信息的经济使用方面来看,这个特征是有利的。
延伸位置数据代表在特定区域/过移区域中的不同分辨率的实际的键行程以及在特定区域/过移区域中不同分辨率的实际的音锤行程。代表一段延伸位置数据的声音信息也具有一个状态字节[1011nnnn]和两个数据字节,表示成[00010000]和[0yyyyyyy]。位串[nnnn]还代表通道号,该通道号与对应的状态字节[An]的位串[nnnn]一致。伴随有位串[00010000]的状态字节代表着通常目的的延伸数据。
如果基本位置数据表明黑/白键130或音锤150正在休息位置和端部位置之间的特定区域中移动,那么,位串[yyyyyyy]就代表在特定区域中当前键位置或当前音锤位置,并且具有相对较高的分辨率。另一方面,当黑/白键130在过移区域中移动时,位串[yyyyyyy]代表当前键位置或当前音锤位置,并且具有相对较低的分辨率。因此,分辨率的变化使得位串[yyyyyyy]可以表示实际的键行程和实际的音锤行程。
当代表一段延伸位置数据的声音信息被存储在存储单元260内时,这段延伸位置数据就被存储在与对应的基本位置数据所存储的地址相邻的地址。当MIDI音乐数据代码被从存储单元260输送到中央处理器200时,代表一段基本位置数据的声音信息就被代表这段延伸位置数据的声音信息跟随着,其它任何声音信息都不在这些声音信息之间传递。这能确保所述一段基本位置数据与所述一段延伸位置数据成对。因此,连续的地址分配和连续的信息传递有效地防止了意外的丢失数据。
第一例
图6A和6B表示出了一实际的音锤轨迹和一实际的键轨迹。横坐标轴表示消逝的时间,纵坐标轴表示由十六进制数所表达的实际的键行程/实际的音锤行程或当前音锤位置/当前键位置。曲线PL1和PL2代表实际的音锤行程和实际的键行程。由于当前键位置/当前音锤位置由7位表示,因此,十六进制数[xx]和[yy]从零,即十六进制符号[00h],变化到127,即十六进制符号[7Fh]。方括号中的小字母“h”代表十六进制符号。
图7A和7B是描述用于实际音锤行程的基本位置数据/延伸位置数据特征的表以及描述用于实际的键行程的基本位置数据/延伸位置数据的特征。
首先,参照图6A和7A描述实际音锤行程。音锤行程的基本位置数据被赋予[40h]至[70h]的数字范围。音锤150从零毫米处的休息位置转动到48毫米处的端部位置,从而,理论的整个音锤行程为48毫米。第三字节[xx]从[40h],其等于十进制符号64,变化到[70h],其等于十进制符号112,从而理论的整个音锤行程即48毫米被分成48个区域。因此,每个计数表示1毫米的变化。如果音锤150被转动超过40毫米,那么,声音信息就被表示为[An kk 68]。每个区域中的音锤轨迹被假设为线性的。
当前音锤位置精确地由延伸位置数据来表示。第三字节[yy]从[00h]变化到[7Fh],从而每段延伸位置数据向相关联段的基本位置数据提供128个子区域。当第三字节[xx]落入到数值范围[41h]至[6Fh]时,第三字节[yy]就表示休息位置和端部位置之间的当前音锤位置的增量和减量,每个计数等于1/64毫米。这128个子区域被分成两组。128个子区域的一个子区域即[00h]被赋予这段基本位置数据[An kk xx],剩余的子区域被分成两组。这两组中的其中一组包括64个子区域[00h]至-[40h],另外一组包括63个子区域[00h]至+[3Fh]。减量由64个子区域所表示,从而相对于当前音锤位置[An kk xx]而言最大减量为-1毫米。另一方面,增量由63个子区域所表示,从而最大的增量为+63/64毫米,即+0.984375毫米。因此,第三字节[yy]表示最小行程-1毫米至最大音锤行程+0.984375毫米。当前音锤位置被表示为十六进制数[xx]和[yy]的和。
当第三字节[xx]表示休息位置即[40h]或端部位置即[70h]时,第三字节[yy]就表示增量或减量,每个计数等于1/4毫米。实际音锤行程由[xx]+[yy]/64毫米表示。由于在过移区域中的当前音锤位置被以低分辨率确定,因此,可以表示在过移区域中实际的音锤行程,而且无需增加表示空闲声音信息的数据字节的数目。
如上所述,最大减量和最大增量分别为-1毫米和0.984375毫米。因此,位串以相对较高的分辨率表示数字范围±1毫米。当第三字节[yy]是[00h]时,增量或减量为零,并且对应于由这段基本位置数据[40h]或[70h]表示的音锤位置。从休息位置的最大减量为-64/4毫米,即-16毫米,并且由[40h]表示。另一方面,从端部位置的最大增量是+63/4毫米,即15.75毫米,并由[3Fh]表示。因此,第三字节[yy]表示过移区域中的数值范围±16毫米。增量和减量与所述富余相对应。
音锤行程被假设为从休息位置的40.5毫米。音锤行程被基本位置数据[An kk 68]和延伸位置数据[Bn 10 20]表示。第三字节[68h]等于40毫米,第三字节[20h]等于+0.5毫米。因此,两个十六制数字的和等于40.5毫米。当然,40.5毫米的音锤行程也可由基本位置数据[An kk 69]和延伸位置数据[Bn10 60]表示,这是因为第三字节[69h]和[60h]等于41毫米和-5毫米。
类似地,56毫米的音锤行程由基本位置数据[An kk 70]和延伸位置数据[Bn 10 20]表示。第三字节[70h]等于48毫米,第三字节[20h]等于+8毫米。因此,两个十六制数的和等于56毫米。
-0.25毫米的音锤行程由基本位置数据[An kk 40]和延伸位置数据[Bn 107F]表示。第三字节[40h]为0毫米或休息位置,另外的第三字节[7Fh]等于-0.25毫米。因此,这两个十六进制数的和等于-0.25毫米。
接着,参照图6B和7B来描述键行程。键行程的基本位置数据被赋予数字范围[01h]至[30h]。黑/白键130从休息位置移动到端部位置,经过的理论的整个键行程为10毫米。第三个字节[xx]的每个计数(digit)1等于0.225毫米的变化。十六进制数[01h]表示一当前键位置,该当前位置朝端部位置从休息位置间隔开0.225毫米。十六进制数[30h]表示与当前键位置[01h]间隔0.225×48=10.8毫米的当前位置。最大当前键位置位于端部位置外侧。因此,键行程由从[02h]至[2Fh]的十六进制数表示,且间隔为0.225毫米。在每个区域中的键轨迹被假设为线性的。
当第三字节[xx]表示最小当前键位置即[01h]或最大当前键位置即[30h]时,第三字节[yy]表示相当大的增量或相当小的增量,每个计数等于0.225/4毫米。实际的键行程由[xx]与[yy]×0.225/64的和表示,单位为毫米。由于在过移区域中当前键位置被以低分辨率确定,因此,可以表示在过移区域中的实际的键行程,而且未增大数据字节的数目。
另一方面,当前音锤位置被当前键位置[0.2h]和当前键位置[2Fh]之间的延伸位置数据精确地表示。也就是,第三字节[yy]表示休息位置和端部位置之间的当前音锤位置的增量和减量,并具有相对较高的分辨率。每个计数等于0.225/64毫米。实际的键行程为[xx]和[yy]×0.225/64的和,单位为毫米。
类似于实际音锤行程来确定实际的键行程。第三字节[xx]被假设为落入在数字范围[02h]至[30h]内。如果第三字节[yy]等于十六进制数[00h],实际的键行程等于第三字节[xx]与0.225的乘积,单位为毫米。另一方面,如果第三字节[yy]等于[40h],那么,减量达到最大,为-64×0.225/64毫米,即-0.225毫米,最大减量被加到由第三字节[xx]所表示的当前键位置上。当第三字节[yy]等于[3Fh]时,增量达到最大化,为+63×0.225/64毫米,即,+0.221484375毫米,该最大增量被加到由第三字节[xx]所表示的当前键位置上。因此,当前键位置就被基本位置数据和延伸位置数据精确地表示为(0.225×(xx+yy/65)毫米。
第三字节[xx]被假设等于十六进制数[01h]和[30h]。延伸位置数据表示在过移区域中距当前键位置[01h]或[30h]的长度。十六进制数[00h],即[yy]=[00h],表示参考位置[xx]=[01h]或[30h]。如果第三字节[yy]等于[40h],那么,相对于由[01h]的第三字节[xx]所表示的当前键位置而言,减量就达最大化-64×0.225/4毫米,即,-3.6毫米。另一方面,当第三字节[yy]等于[3Fh]时,增量达最大化,为+63×0.225/4毫米,即,+3.54375毫米。因此,数字范围被加长至约±3.6毫米。在过移区域中实际的键行程由延伸位置数据和基本位置数据表示为(0.225×(xx+yy/4))毫米。由于每个计数等于最大值,因此,可以表示富余,而且未增大第三字节[yy]中的计数的数目。
零键行程由基本位置数据[An kk 01]和延伸位置数据[Bn 10 7C]的组合来表示,其中的基本位置数据[An kk 01]表示0.225毫米的键行程,其中的延伸位置数据[Bn 10 7C]表示(-4×0.225/4)的减量,即0.225毫米。类似地,10.125毫米的实际的键行程由基本位置数据[An kk 2D]和延伸位置数据[Bn 10 00]的组合来表示,其中基本位置数据[An kk 2D]表示10.125毫米的键行程,延伸位置数据[Bn 10 00]表示为零的增量/减量。当黑/白键移过休息位置时,-0.025毫米的实际的键行程由基本位置数据[An kk 01]和延伸位置数据[Bn 10 7F]的组合来表示,其中基本位置数据[An kk 01]表示0.225毫米的键行程,延伸位置数据[Bn 10 7F]表示为-0.25毫米的减量。
从前面的描述可以知道,当前音锤位置和当前键位置由一段基本位置数据和一段延伸位置数据来描述,增量/减量在过移区域中被增大。结果是,增大的增量/增大的减量使得可以表示出当前音锤位置/当前键位置,而且不会增大第三字节中的计数的数目。这个特征是有利的,因为对于复合型键盘乐器而言,空闲声音信息是可获得的。
第二例
尽管在第一例中,当前键位置需要两类声音信息,但是,在第二实施例中,只有一类声音信息在过移区域中的当前键位置和休息位置与端部位置之间的当前键位置之间被共享。在这个例子中,复音键压的声音信息[Ankk xx]在基本位置数据和延伸位置数据之间被共享。复音键压的声音信息具有被表示为[xx]的第三字节,第三字节[xx]的数字范围被分成图8所示的三个数字子范围。
第三字节[xx]的数字范围被分成三个子区域,即:[00h]至[0Fh],[10h]至[6Fh],[70h]至[7Fh]。数字子区域[10h]至[6Fh]被赋予休息位置和端部位置之间的当前键位置。在这种情况中,端部位置与休息位置间隔开10毫米。由于具有位于[10h]至[6Fh]之间的十六进制的数,因此,每个十六进制数的计数等于约0.01毫米。
从[00h]至[0Fh]的数字范围被赋予休息位置外侧的过移区域中的当前键位置。每个数表示约0.16毫米,也就是说,分辨率在0.16毫米数量级,从而休息位置外侧的富余在2.5毫米数量级。另一方面,从[70h]至[7Fh]的数字子区域被赋予端部位置外侧的过移区域中的当前键位置。分辨率也是为0.16毫米数量级,从而,端部位置外侧的富余为2.5毫米数量级。
因此,分辨率随着数字子范围而改变,从而,只有一类MIDI信息的第三字节[xx]能表示过移区域中的当前键位置以及休息位置和端部位置之间的当前键位置。
当重现演奏时需要当前音锤位置时,另一类MIDI信息就被赋予当前音锤位置。
第三例
正如结合第一例所描述的那样,由第三字节[yy]的十六进制数[00h]所表示的参考位置与第三字节[xx]的十六进制数相对齐,数字范围[00h]至[3Fh],[00h]至[40h]分别被赋予增量或偏离参考位置的正偏离值以及减量或偏离参考位置的负偏离值,如图9A所示。所有这些延伸位置数据都具有被固定成[10h]的第二字节。
在第三实施例中,这些延伸位置数据被表示为[Bn 10 yy]和[Bn 11 yy]。由第三字节[yy]的十六进制数[00h]所表示的参考位置也与第三字节[xx]的十六进制数对齐。延伸位置数据[Bn 10 yy]的第三字节[yy]被赋予一增量或偏离参考位置的正偏离值,延伸位置数据[Bn 11 yy]的第三字节[yy]被赋予一减量或偏离参考位置的负偏离值,如图9B所示。第一和第二字节[Bn 10]代表应用于偏离参考位置的正偏离值的延伸数据。第一和第二字节[Bn 11]代表偏离参考位置的负偏离值的延伸数据。由于129个十六进制数由第三字节[yy]表示,因此,在第三实施例中的富余等于第一例中的富余的情况下,在过移区域中的分辨率比第一例中的分辨率要高两倍。否则,第三实施例中的第三字节[yy]所提供的富余要大于第一例中的富余。
图10A表示出了实际的音锤行程PL3与第三字节[xx]和[yy]的十六进制数字之间的关系;图10B表示出了实际的键行程PL4与第三字节[xx]和[yy]之间的关系。横坐标轴表示消逝的时间,纵坐标轴表示以十六进制数[xx]和[yy]所表示的实际的键行程/实际音锤行程或当前音锤位置/当前键位置。
图11A是一个表,该表中描述了实际音锤行程的基本位置数据/延伸位置数据的特征。图11B是一个表,该表中描述了实际的键行程的基本位置数据/延伸位置数据的特征。
首先来描述实际音锤行程。理论的整个音锤行程被假设为48毫米。休息位置对应的音锤行程为零。端部位置对应的音锤行程为48毫米。第三字节[xx]的数字范围一部分被地赋予音锤行程,一部分被赋予键行程。在这种情况中,数字范围[40h]至[70h]被赋予音锤行程(见图11A)。每个计数或每个十六进制数表示1毫米的音锤行程。十六进制数[40h]表示休息位置,十六进制数[70h]表示端部位置。休息位置和端部位置之间的当前音锤位置由[41h]和[6Fh]之间的一个十六进制数来表示。1毫米的单元音锤行程被假设是线性变化的因此,由第三字节[xx]所表示的这些特征与结合图6A和7A所描述的特征是相同的。
当第三字节[xx]表示休息位置和端部位置之间的当前音锤位置,即从[41h]至[6Fh]时,每段延伸位置数据[Bn 11 yy]的第三字节[yy]和每段延伸位置数据[Bn 11 yy]的第三字节[yy]精确地表示当前音锤位置,并表示增量和减量,即偏离由第三字节[xx]的十六进制数所表示的当前音锤位置的偏离值。每个计数或每个十六进制数等于1/128毫米。因此,第三字节[yy]以相对较高的分辨率表示出在音锤150在休息位置和端部位置之间移动情况下的偏离值。
另一方面,当第三字节[xx]表示休息位置[40h]或端部位置[70h]时,每段延伸位置数据[Bn 10 yy]的第三字节[yy]表示在端部位置外侧的过移区域中的当前音锤位置。每段延伸位置数据[Bn 11 yy]的第三字节[yy]表示在休息位置外侧的过移区域中的当前音锤位置。每个数位或每个十六进制数等于1/8毫米。因此,第三字节[yy]在音锤150过移端部位置和休息位置的情况下以相对较低的分辨率表示偏离值。从端部位置的最大增量为15.875毫米,从休息位置的最大减量为-15.875毫米。因此,这些延伸位置数据向音锤150提供富余±15.875,从而使得休息位置和端部位置之间的通常范围两侧的可监测范围被加长了。由于两类MIDI信息[Bn 10 yy]和[Bn 11 yy]被用于这些延伸位置数据,因此与第一例相比,本例的分辨率被提高了。
假设一音锤150在通常区域移动,该通常区域等于48毫米,位于休息位置和端部位置之间。第三字节[xx]大于[40h]且小于[70h],在通常区域中的分辨率为1.0毫米。当基本位置数据和和相关联的延伸位置数据被表示为[An kk xx]和[Bn 10 00]时,音锤150位于由第三字节[xx]表示的当前音锤位置,第三字节[yy]的十六进制数[00h]表明偏离由第三字节[xx]所表示的当前音锤位置的偏离量为零。如果第三字节[yy]等于[7Fh],正偏离量被最大化,最大增量等于127/128毫米,即+0.9921875毫米。因此,这段延伸位置数据[Bn 10 yy]以分辨率为1/128毫米来表示从零至+0.9921875毫米的正偏离。
另一方面,当基本位置数据[An kk xx]伴随有一段延伸位置数据[Bn 11yy]时,在朝休息位置的方向上,当前音锤位置从等于第三字节[xx]的位置偏离。如果第三字节[yy]十六进制数[00h],那么负偏离为零,音锤150位于等于第三字节[xx]的当前音锤位置。如果第三字节[yy]等于十六进制数[7Fh],负偏离被最大化,并且该最大减量等于-127/128毫米,即-0.9921875毫米。因此,延伸位置数据[Bn 11 yy]以1/128毫米的分辨率表示从零至-0.9921875毫米的负偏离。
假设音锤150移过端部位置或休息位置。第三字节[xx]等于[40h]或[70h],在过移区域中分辨率为1/8毫米。当基本位置数据[An kk xx]伴随有一段延伸位置数据[Bn 10 yy]时,音锤150就移过端部位置。如果第三字节[yy]等于[00h],那么,音锤150就位于端部位置。如果第三字节[yy]等于[7Fh],那么,当前音锤位置就从端部位置正偏离达+127/8毫米,即+15.875毫米。因此,第三字节[yy]以1/8毫米的分辨率表示从端部位置的增量或偏离,最大增量等于+15.875毫米。
另一方面,当基本位置数据[An kk xx]伴随有一段延伸位置数据[Bn 11yy]时,音锤150就移过休息位置。如果第三字节[yy]等于[00h],那么音锤150就位于休息位置。如果第三字节[yy]等于[7Fh],那么当前音锤位置就负偏离休息位置达-127/8毫米,即-15.875毫米。因此,第三字节[yy]以1/8毫米的分辨率表示从休息位置的负偏离或减量,最大的减量等于15.875毫米。
假设一黑/白键130在由十六进制数[00h]所表示的休息位置与由十六进制数[30h]所表示的一边界键位置之间移动。在休息位置和端部位置之间的键行程约为10毫米,在边界键位置的键行程等于10.8毫米。这些基本位置数据在休息位置和边界键位置之间的分辨率为0.225毫米。另一方面,这些延伸位置数据在十六进制数[01h]和十六进制数[2Fh]之间的第三字节[xx]的数字范围内分辨率为0.225/128毫米。
当基本位置数据和相关联的延伸位置数据被表示为[An kk xx]和[Bn 1000]时,黑/白键130位于由第三字节[xx]所表示的当前键位置,第三字节[yy]的十六进制数[00h]表明偏离由第三字节[xx]所表示的当前音锤位置的偏离量为零。如果第三字节[yy]等于[7Fh],那么,正偏离或增量就达最大化,该最大增量等于+127×0.225/128毫米,即+0.2232421875毫米。因此,延伸位置数据[Bn 10 yy]以0.225/128毫米的分辨率表示从零至+0.2232421875毫米的正偏离。
另一方面,当基本位置数据[An kk xx]伴随有一段延伸位置数据[Bn 11yy]时,当前键位置就朝休息位置方向从等于十六进制数[00h]的位置偏离。如果第三字节[yy]等于十六进制数[00h],负偏离或减量为零,黑/白键130位于等于第三字节[xx]的当前键位置。如果第三字节[yy]等于十六进制数[7Fh],那么,负偏离就被最大化,该最大减量等于-127×0.225/128毫米,即-0.2232421875毫米。因此,延伸位置数据[Bn 11 yy]以0.225/128毫米的分辨率表示从零至-0.2232421875毫米的负偏离。
假设黑/白键130移过端部位置或边界键位置。第三字节等于[00h]或[30h],在过移区域中分辨率为0.225/8毫米。当基本位置数据伴随有延伸数据[Bn 10 yy]时,黑/白键130移过边界键位置。如果第三字节[yy]等于[00h],那么,黑/白键130就位于边界键位置。如果第三字节[yy]等于[7Fh],那么,当前键位置就从边界键位置正偏离达+127×0.225/8毫米,即+3.571875毫米。因此,第三字节[yy]以0.225/8毫米的分离率表示从边界键位置偏离的偏离量或增量,最大增量等于+3.571875毫米。
另一方面,当基本位置数据[An kk xx]伴随有一段延伸位置数据[Bn 11yy]时,黑/白键130移过休息位置。如果第三字节[yy]等于[00h],那么黑/白键130就位于休息位置。如果第三字节[yy]等于[7Fh],那么,当前键位置就从休息位置负偏离-127×0.225/8毫米,即-3.571875毫米。因此,第三字节[yy]以0.225/8毫米的分辨率表示从休息位置的负偏离或减量,最大减量等于-3.571875毫米。
因此,在过移区域中采用相对较低的分辨率,从而两类声音信息表示休息位置外侧和边界键位置外侧的富余。
尽管对于休息位置和端部位置/边界键位置之间的当前音锤位置和当前键位置而言,延伸位置数据[Bn 10 yy]和[Bn 11 yy]都可供使用,但是,如图12所示,在第三实施例中,只有延伸位置数据[Bn 10 yy]被用于偏离由第三字节[xx]所表示的位置的偏离量。延伸位置数据[Bn 11 yy]只表示从休息位置[00h]或[40h]的负偏离量或负减量。音锤150和黑/白键130位于基于基本位置数据[An kk xx]和相关联的延伸位置数据[Bn 10 yy]的组合的当前的音锤位置/当前键位置。例如,当音锤150或黑/白键130到达基本位置数据[An kk 50]和基本位置数据[An kk 51]之间的一特定位置时,从[An kk 50]的正偏离量就由延伸位置数据[Bn 10 yy]表示。如果音锤150或黑/白键130移过端部位置或边界键位置,那么,音锤150或黑/白键130就位于偏离端部位置或边界键位置达由[Bn 10 yy]所表示的富余量的当前音锤位置或当前键位置。
然而,只有端部位置或边界键位置外侧的音锤150或黑/白键130才可位于偏离那儿达由延伸位置数据所表示的距离的当前音锤位置或当前键位置。否则,两类声音信息[Bn 10 yy]和[Bn 11 yy]可以选择性地与声音信息[An kk xx]一起被使用。例如,如果音锤150或黑/白键130位于基于基本位置数据[An kk 50]和相关联的延伸位置数据[Bn 10 yy]的当前音锤位置或当前键位置,那么可以利用基本位置数据[An kk 51]和另外相关联的延伸位置数据[Bn 11 yy]来表示该当前音锤位置和当前键位置。
延伸位置数据可只表示在过移区域中的当前音锤位置和当前键位置。在这种情况中,,音锤150和黑/白键130可只基于基本位置数据[An kk xx]位于特定当前音锤位置和特定当前键位置。
正如将要知道的那样,第三字节[xx]的数字范围被分成两个子范围,和第一例一样,声音信息[An kk xx]能表示两类当前位置。
此外,两个声音信息[Bn 10 yy]和[Bn 11 yy]被用于正增量和负减量,这个特征使得分辨率要高于第一例中的分辨率。分辨率在通常区域和过移区域之间被改变,这个特征使得在休息位置/端部位置/边界键位置外侧具有富余量。
根据在实际轨迹上的当前位置来改变分辨率,也就是说,本发明的第一种构思在每、第二、第三实施例中被实现了,并且可以精确地表示移动目标的实际移动。表示实际移动的这些数据被编入到各种乐器中所用协议的空闲格式中,并且被存储在或供给到另外的乐器中。这个特征是有利的,因为在重现演奏过程中,实际移动在乐器中被精确地再现。
上面已经描述了复合型键盘乐器的结构、记录器107和基本位置数据/延伸位置数据的系统构成。下面将简要描述中央处理器200或数字信号处理器所运行的计算机程序以及在计算机程序中所表示的方法。
当演奏者命令记录系统105记录他/她的演奏时,中央处理器200就周期性地从模数据转换器250a获取数字键位置信号。并形成一键表,在该键表中,存储区域分别被赋予黑/白键130,中央处理器200把由数字键位置信号所表示的位置数据在对应的存储区域中进行排队。这种周期性地数据获取可以通过一计时器中断来执行。
一旦从计时器中断子例程返回,中央处理器200就分析位置数据队列或系列,判断演奏者是否按压了任一黑/白键130。假设中央处理器200注意到了一黑/白键130被按压了。中央处理器200就为被按压的黑/白键130产生音符-起信息,并把代表音符-起信息的MIDI音乐数据代码写入到随机存取存储器210内。此外,中央处理器200从队列读出表示键轨迹的多段位置数据中的一个,然后确定在键轨迹上的当前键位置。
当中央处理器200确定出每个当前键位置时,中央处理器200就粗略确定了当前键位置,并且确定出了偏离粗略键位置的偏离量。中央处理器200产生声音信息[An kk xx]和相关联的声音信息[Bn 10 yy],并把声音信息[An kk xx]和[Bn 10 yy]存储到随机存取存储器210内。即使黑/白键130移过了端部位置,中央处理器200也可确定出偏离端部位置的偏离量,并且产生出声音信息[An kk xx]和[Bn 10 yy]。这样,中央处理器就通过利用由声音信息[An kk xx]和[Bn 10 yy]或[Bn 11 yy]所表示的每个当前键位置为每个黑/白键确定出了键轨迹。中央处理器重复上述次序,并为那些被按压的键130产生声音信息[An kk xx]和[Bn 10 yy]/[Bn 11 yy]的多个组合。
当演奏者松开按压的黑/白键130时,中央处理器200就产生代表音符-止信息的MIDI音乐数据,并且还确定出在键轨迹上朝着休息位置的当前键位置。每个键位置由声音信息[An kk xx]和[Bn 10 yy]/[Bn 11 yy]的组合来表示,并且并存储在随机存储存储器210内。中央处理器200重复上述次序,并且为那些松开的键130产生声音信息[An kk xx]和[Bn 10 yy]/[Bn11 yy]的多个组合。
中央处理器200还周期性地从模数转换器250b获取数字音锤位置,并利用声音信息[An kk xx]和[Bn 10 yy]/[Bn 11 yy]表示出在音锤轨迹上的当前音锤位置。由于键移动会导致音锤移动,因此,中央处理器200就把代表音锤轨迹的声音信息[An kk xx]和[Bn 10 yy]/[Bn 11 yy]与代表键轨迹的声音信息[An kk xx]和[Bn 10 yy]/[Bn 11 yy]相互关联起来。
当演奏者完成演奏时,演奏者就命令记录系统105把MIDI音乐数据代码存储到存储单元260内。中央处理器200要求存储单元260准备出一份标准的MIDI文件,并且把这组MIDI音乐数据代码转移到存储单元260。存储单元260把这组MIDI音乐数据代码写入到标准MIDI文件的数据块中,从而,演奏就被记录在存储单元260的信息存储介质内。
从前面的描述可以知道,演奏者通过记录系统105来记录他们的演奏,键移动准确地被声音信息[An kk xx]和[Bn 10 yy]/[Bn 11 yy]表示出来。
第二实施例
参照图13,14,15,图中表示出了另外一种实施本发明的复合型键盘乐器,这种键盘乐器大致包括一声学钢琴100A和一记录系统105A。记录系统105A被安装在声学钢琴100A内,该记录系统产生一些表示出在声学钢琴100A上的演奏的音乐数据代码。
声学钢琴100A包括:一钢琴箱110A、一键盘120A、一些执行单元140A、一些音锤150A、一些制音器160A和一些琴弦170A。这些部件110A-170A与钢琴箱110、键盘120、执行机构140、音锤150、制音器160和琴弦170相类似。由于这个原因,这些部件110A-170A被标上了与部件110-170相对应的附图标记,在此不再对这些部件进行详细描述。
部件110A-170A是可弹性变形的,有些部件会随着老化而产生塑性变形。例如,由于前键布穿孔(key cloth punching)131和一后轨布132接收黑/白键130的前部和后部,这些部件131和132被黑/白键130压缩。黑/白键130在平衡轨道120a上跳跃。换句话说,黑/白键130以不同于理想键移动的实际演奏的方式进行键移动。这就导致黑/白键130易于移过端部位置和休息位置。因此,声学钢琴100A在类似于前面所描述的复合型键盘乐器的状况中进行操作。
参照图16,记录系统105A包括一记录器107A、一些键传感器310和一些音锤传感器410。这些键传感器310分别与黑/白键130相关联,用于监测相关联的黑/白键130。另一方面,这些音锤传感器410分别与音锤150A相关联,用于监测相关联的音锤150A。这些键传感器310和音锤传感器410与记录器107A相连接,并且提供表示相关联的黑/白键130的当前键位置的键位置信号和表示相关联的音锤150A的当前音锤位置的音锤位置信号。
从图14和15中可以看得更清楚,类似于第一实施例,键传感器310和音锤传感器410由刚性板300和400支撑着,并且由成对的反射型光电耦310/410和反射板135/145的组合来实施。反射型光电耦310/410能分辨出0.001毫米数量级的长度变化,因此,可监测范围要长于理论的整个键行程和理论的整个音锤行程,这类似于第一实施例,因此,为了避免重复描述,在此不再对其进行描述。
尽管为声学钢琴100A配备了键传感器310和音锤传感器410,但是,另外的构件也可以由传感器来监测。例如,制音器传感器161可以被设置在制音器160A上方。制音器传感器161以这样的方式被连接到一刚性板162上,即,使得制音器传感器与反射板163相对置。如前所述,制音器160A允许琴弦170A振动并使振动衰减。然而,制音器160A不仅仅在两个位置之间被改变。在实际演奏中,演奏者有时使制音器轻轻地接触琴弦170A,以便给乐音赋予艺术表现。如果制音器传感器161也被安装在声学风琴100A上,那么,记录器107A就会从制音器传感器161上获得另一种音乐数据,从而使得演奏更接近原始演奏。
还可为执行单元140A中的顶杆设置一些顶杆传感器164。这些顶杆对于本领域普通技术人员来说是已知的,它们是执行单元中的重要部件。在演奏者按压一黑/白键130时,被按压的黑/白键130就提升起相关联的音锤150A,并驱动音锤150A沿着与执行单元140A相反的方向转动。当顶杆与相关联的调节按钮(regulating button)相接触时,顶杆就从相关联的音锤150A逃开,相关联的音锤开始自由地向琴弦170A移动。这样,顶杆就限定了从音锤150A逃开的时间,并且给记录器107A重要的数据。由于这个原因,顶杆传感器164被设置在摆击件(whippen)上,用于监测相关联的顶杆。
尽管图中未示出,但踏板传感器可以监测制音踏板、柔音踏板和持音踏板(sostenuto pedal)。另外的声音信息可以被赋予这些踏板,数字范围被分成三个子范围,这些子范围分别被赋予三个踏板。
参照图16,记录器107A包括:一中央处理器200,简称为“CPU”;一随机存取存储器,简称为“RAM”;一只读存储器220A,简称为“ROM”;一操作盘230;一些计时器240;一些模数转换器250a/250b/250c;一内置存储单元260A;一共享母线系统B。
中央处理器200、随机存取存储器210、只读存储器220A、操作盘230、计时器240、模数转换器250a/250b/250c和存储单元260A都与共享母线系统B相连接,从而,中央处理器200能通过共享母线系统B与其它的部件210/220A/230/240/250a/250b/250c/260A相互通信。八十八个键传感器310与模数转换器250a相连,通过该模数转换器把键位置信号转换成数字的键位置信号。另一方面,八十八个音锤传感器410与另一个模数转换器250b相连,并且通过该模数转换器250b把音锤位置信号转换成数字的音锤位置信号。数字的键位置信号和数字的音锤位置信号具有一位串,该位串的长度足以表示出所述的分辨率。在这种情况下,向当前键位置和当前音锤位置赋予12位。
如果在记录系统105A中还设置了制音器传感器161和顶杆传感器164,那么,制音器传感器161和顶杆传感器164与模数转换器250c相连,模拟的制音器位置信号和模拟的顶杆位置信号在被中央处理器200获取前被转换成数字的制音器位置信号和数字的顶杆位置信号。
计算机程序和参数表被存储在只读存储器220A内,随机存取存储器210用作一工作存储器。中央处理器200根据计算机程序运行,完成计算机程序中所表达的任务,从而产生代表在键盘120A上的演奏的MIDI信息的音乐数据代码。代表着MIDI信息的一组音乐数据代码即MIDI音乐数据代码被存储在存储单元260A内,并且在重现演奏之前被从存储单元260A转移到随机存取存储器210。操作盘230、计时器240和存储单元260A的操作情况与第一实施例中的情况相类似,因此为了简明起见,在此不再对其进行累述。
当演奏者在声学钢琴100A上演奏乐曲时,中央处理器200就根据计算机程序运行,从而产生MIDI音乐数据代码。中央处理器200周期性地从模数转换器250a/250b获取代表当前键位置的的一段数据和代表当前音锤位置的一段数据,并且把这些当前键位置和当前音锤位置写入随机存取存储器210内。新的当前键位置和新的当前音锤位置被加到已经存储在随机存取存储器210内的一系列当前键位置和一系列当前音锤位置。中央处理器200检验这一系列当前键位置,以便确定是否移动了键130。当中央处理器200发现一黑/白键130的位置发生了改变时,中央处理器200就断定发生了键移动,并且产生MIDI声音信息,即为要产生和要衰减的乐音产生音符-起信息和音符-止信息。中央处理器200还在产生MIDI声音信息时起动计时器240,在产生下一个MIDI声音信息时停止计时器。中央处理器200测量两个MIDI事件之间的消逝时间,并产生代表该消逝时间的持续时间数据代码。这组代表着演奏的MIDI音乐数据代码与代表键轨迹和音锤轨迹的声音信息一起被存储在一标准的MIDI文件内。在下文中将详细描述键轨迹和音锤轨迹的声音信息。
在这种情况下,中央处理器200还产生代表当前键位置和当前音锤位置的声音信息。在用于重现演奏的乐器中未被使用的空闲格式(idle format)被赋予代表当前键位置和当前音锤位置的声音信息,代表当前键位置和当前音锤位置的MIDI音乐数据代码与代表音符-开和音符-止以及消逝时间的MIDI音乐数据一起被存储在存储单元260A内产生的标准MIDI文件中。这些空闲格式将在下文中被详细描述。
位置数据
图17表示出了分别被赋予键移动和音锤移动的空闲格式。尽管这种格式被赋予给MIDI协议中的复调键压和控制变化,但在自动弹奏钢琴(通过这种钢琴来重现演奏)中,复调的键压和控制变化是无用的。换句话说,这些格式在自动弹奏钢琴中是空闲的。由于这个原因,这些空闲格式被赋给基本位置数据和延伸位置数据,这将在下文中被详细描述。
基本的定位数据和延伸位置数据以不同的分辨率表示当前键位置和当前音锤位置。一个基本位置数据粗略表示位于休息位置和端部位置之间的键轨迹上的当前键位置,或表示位于休息位置和端部位置之间的音锤轨迹上的当前音锤位置,并且分辨率相对较低。换句话说,位于休息位置和端部位置之间的键轨迹的一特定区域或位于休息位置和端部位置之间的音锤轨迹的一特定区域由这段基本位置数据来粗略地规定。
另一方面,一段延伸位置数据以相对较高的分辨率在端部位置和休息位置之间的特定区域中表示当前键位置或者以相对较低的分辨率在过移区域中表示当前键位置。否则,这段延伸位置数据以相对较高的分辨率在端部位置和休息位置之间的特定区域中表示当前键位置或者以相对较低的分辨率在过移区域中表示当前音锤位置。因此,这段延伸位置数据不仅描述了在休息位置和端部位置之间的键行程/音锤行程,而且还描述了在过移区域中的键行程/音锤行程。由于基本位置数据和延伸位置数据在当前键位置和当前音锤位置之间被共享,因此,与第一实施例相类似,这两个数字范围分别被赋予黑/白键130和音锤150A。
把图17所示的空闲格式与图5所示的空闲格式相比较,可以知道,多段基本位置数据和多段延伸位置数据也被编码成这样的格式,即,这些格式通常被赋予MIDI协议中的复调键压和控制变化。换句话说,第一、第二和第三字节中的位串与第一实施例中所描述的是相同的。由于这个原因,为了简明起见,在此不再描述图17所示的空闲格式。
尽管第三字节[xx]能表达128个十六进制数,但是,由第三字节[xx]所的数字范围被分成两个数字子范围,即从[01h]至[30h],从[40h]至[70h],这两个数字子范围分别被赋予当前键位置和当前音锤位置,如图18所示。基本位置数据在理论上能占据从[00h]至[7Fh]的数字范围。数字范围包含两个数字子范围[01h]至[30h]以及[40h]至[70h],这两个数字子范围被赋予黑/白键130和音锤150A。另一方面,延伸位置数据占据[00h]至[7Fh]的数字范围,数字范围[00h]至[7Fh]在黑/白键130和音锤150A之间被共享。可以根据由先前的基本位置数据的第三字节[xx]所表示的数字子范围[01h]-[30h]或[40h]-[70h],确定出第三字节[yy]表示当前键位置还是表示当前音锤位置。
假设第三字节[xx]落入数字子范围[01h]至[30h]内。中央处理器200注意到粗略表达当前键位置的第三字节[xx],并解释为相关联的延伸位置精确地表达当前键位置。另一方面,如果中央处理器200发现第三字节[xx]位于从[40h]到[70h]的数字子范围内,那么,中央处理器200就断定该第三字节[xx]粗略表达当前音锤位置,并且相关联的延伸位置数据精确地确定当前音锤位置。
可以理解的是,声音信息[An kk xx]在多个构件即黑/白键130和音锤150A之间被共享,不同的数字子范围分别被赋予黑/白键130和音锤150A。从对声音信息的节约使用方面来看,这个特征是有利的。另一个优点在于共享的声音信息[An kk xx]使得编辑器容易修改成组的MIDI音乐数据代码。例如,假设编辑器要修改某种特定类型的乐器的一组MIDI音乐数据代码,该乐器的数据处理器不能通过基本位置数据和延伸位置数据来控制操作器。编辑器只需使这些声音信息[An kk xx]不能使用。然后,数据处理器就忽略声音信息[An kk xx]。于是,共享声音信息就使得编辑工作非常容易。假设另外的一个编辑器要从一音乐通道中除去某一特定寄存器中的一些乐音。编辑器通过利用音符号就能容易地选择音符。编辑器只比较第二字节[kk]和用于黑/白键130和音锤150A的特定寄存器内的音符号。然后,编辑器同时从这些MIDI音乐数据代码中不仅找到黑/白键130的基本位置数据而且找到相关联的延伸位置数据。
数字子范围[01h]到[30h]在另一个数字子范围[40h]到[70h]之前。类似地,黑/白键首先被移动,然后音锤跟随着键的动作而移动。这样,这些数字子范围就与执行的顺序相一致。这个特征也是有利的,因为编辑器容易使数字子范围与数字子范围相互联系起来。
例1
图19A和19B表示出了一条音锤轨迹PL5和一条键轨迹PL6。音锤150A从休息位置开始,该休息位置位于0毫米处,并且移过端部位置,所述的端部位置位于48毫米处。音锤到达最大的实际音锤行程。然后,音锤150A开始向休息位置返回。音锤150A经过端部位置,然后在端位置与休息位置之间的一个特定位置处停止。
另一方面,黑/白键130经过一当前音锤位置,该当前音锤位置位于距休息位置0.225毫米处,然后移过端部位置。黑/白键130经过另一个特定位置,该特定位置位于距端部位置10.8毫米处,并到达最大的实际的键行程。黑/白键130朝休息位置返回,并且在休息位置和端部位置之间的一个位置处停止。
比较图19A和19B与图6A和6B,音锤轨迹PL5和键轨迹PL6分别与音锤轨迹PL1和键轨迹PL2相同。由于这个原因,为了简明起见,在此不再对其进行描述。
音锤轨迹PL5上的一当前音锤位置由一基本位置数据[An kk xx]和一相关联的延伸位置数据[Bn 10 yy]来表示。键轨迹PL6上的一当前键位置也由一基本位置数据[An kk xx]和一相关联的延伸位置数据[Bn 10 yy]来表示。尽管第三字节能表示128个从[00h]到[7Fh]的十六进制数,但是,一数字子范围[40h]到[70h]被赋予音锤150A,另一数字子范围[01h]到[30h]被赋予黑/白键130。
第三字节[yy]也表示128个从[00h]到[7Fh]的十六进制数。然而,该数字范围在音锤150A和黑/白键130之间被共享。延伸位置数据[Bn 10 yy]跟随着基本位置数据[An kk xx],根据第三字节[xx]的数字子范围,把公共的数字范围应用于音锤150A和黑/白键130中的一个。这样,借助于分开的数字子范围,一段基本位置数据[An kk xx]和相关联的延伸位置数据[Bn10 yy]就能表示当前音锤位置或当前键位置。
中央处理器200根据第三字节[xx]的十六进制数,以不同的方式解释延伸位置数据[Bn 10 yy]的第三字节。当第三字节[xx]表示大于[40h]小于[70h]的一个十六进制数或表示一个大于[01h]小于[30h]的一个十六进制数时,一个相对较高的分辨率就被应用于第三字节[yy]的十六进制数。另一方面,当第三字节[xx]表示十六进制数[40h]/[70h]或十六进制数[01h]/[30h]时,一个相对较低的分辨率就被应用于第三字节[yy]的十六进制数。音锤150A的相对较高的分辨率为1/64毫米,黑/白键130的相对较高的分辨率为0.225毫米。另一方面,音锤150A的相对较低的分辨率为1/4毫米,黑/白键130的相对较低的分辨率为0.225/64毫米。因此,基本位置数据[An kk xx]和延伸位置数据[Bn kk yy]的设计方式与第一实施例中的设计方式相同。由于这个原因,基本位置数据[An kk xx]和延伸位置数据[Bn 10 yy]被列表在图20A和20B中,并且不再作详细描述。
第二例
在第一例中,尽管只有一种类型的声音信息[Bn 10 yy]被赋予延伸位置数据,以便表示正偏离量和负偏离量,但是,两种类型的声音信息[Bn 10 yy]和[Bn 11 yy]被赋予延伸位置数据,以便分别表示正偏离量和负偏离量。图21A和21B表示出了第一例和第二例之间的区别。
现在假设一音锤和一黑/白键130在图22A和22B所示的一条音锤轨迹PL7和一条键轨迹PL8上被移动,一段基本位置数据[An kk xx]和一段相关联的延伸位置数据[Bn 10 yy]或[Bn qq yy]把音锤150A和黑/白键130定位在一当前音锤位置和一当前键位置,这与第一实施例中的第三例相类似。由于这个原因,在图23A和23B中分别把基本位置数据[An kk xx]的特征和延伸位置数据[Bn 10 yy]和[Bn 11 yy]的特征列出,并且没有进行详细描述。比较图23A、23B与图11A、11B,可以知道,基本位置数据[An kk xx]和延伸位置数据[Bn 10 yy]以及[Bn 11 yy]表示出当前音锤位置和当前键位置,这与第一实施例中的第三例相类似,为了简明起见,省去了对其描述。
尽管对于休息位置和端部/边界键位置之间的当前音锤位置和当前键位置来说,延伸位置数据[Bn 10 yy]和[Bn 11 yy]都是可供使用的,但是如图24所示,在第二例中只有延伸位置数据[Bn 10 yy]被用于偏离由第三字节[xx]所表示的位置的偏离量。延伸位置数据[Bn 11 yy]只表示从休息位置[00h]或[40h]的负偏离量或负减量。音锤150A和黑/白键130位于基于基本位置数据[An kk xx]和相关联的延伸位置数据[Bn 10 yy]的一当前音锤位置/当前键位置。这个规则与第一实施例中的第三例相同,为了避免不必要的重复,在此不再对其进行描述。
从前面的描述可知,第三字节[xx]的数字范围被分成多个个数字子范围,这些数字子范围分别被赋予不同类型的构件。在第一例和第二例中,两种类型的构件即黑/白键130和音锤150A分别被键传感器310和音锤传感器410所监测。当多于两种类型的构件要被多个组传感器监测时,第三字节[xx]的数字范围就被分成与多个构件数目相等的多个数字子范围,并且把这些数字子范围分别赋予对应的多个类型的构件。如果类似于黑/白键130和音锤150A那样,制音器160被制音器传感器161监测,那么,数字子范围[01h]到[30h],[40h]到[70h],[71h]到[7Fh]可以分别被赋予黑/白键130、音锤150A和制音器160A。这样,只有一种类型的声音信息在多种类型的构件之间被共享。这就导致前面所详细描述的一些优点。
本发明并不局限于具有内置记录系统105A的复合型键盘乐器。记录系统105A也可以与声学钢琴100A分开制造。制造商通过利用分开式的记录系统105A可以把一声学钢琴翻新成复合型键盘乐器。
记录系统105A的操作方式与记录系统105相类似,因此为了简明起见,在下文中不再对其进行描述。
第三实施例
图25表示出了实施本发明的另一种复合型的键盘乐器,图26,27表示出了设置在这种复合型键盘乐器中的黑/白键130和一音锤150B。
执行第三实施例的复合型键盘乐器大体上包括一声学钢琴100B和一记录系统105B。记录系统105B被安装在声学钢琴100B内,该记录系统产生一些表示出在声学钢琴100B上的演奏的音乐数据代码。
声学钢琴100B包括:一钢琴箱110B、一键盘120B、一些执行单元140B、一些音锤150B、一些制音器160B、一些琴弦170B和踏板系统180B。这些部件110B-170B与钢琴箱110、键盘120、执行机构140、音锤150、制音器160和琴弦170相类似。由于这个原因,这些部件110B-170B被标上了与部件110-170相对应的附图标记,在此不再对这些部件进行详细描述。
踏板系统180B包括一制音踏板、一柔音踏板和一消音踏板(mufflerpedal),即三块踏板182,以及分别与这三块踏板相连的一些连接件184。这三块踏板182对于本领域普通技术人员来说是已知的,由于这个原因,在下文中不再对其进行描述。
参照图28,记录系统105B包括一记录器107B、一些键传感器310和一些音锤传感器410。这些键传感器310分别与黑/白键130相关联,用于监测相关联的黑/白键130。这些音锤传感器410也分别与音锤150B相关联,用于监测相关联的音锤150B。这些键传感器310和音锤传感器410与记录器107B相连接,并且提供表示相关联的黑/白键130的当前键位置的键位置信号和表示相关联的音锤150B的当前音锤位置的信号。
从图26和27中可以看得更清楚,类似于第一实施例,键传感器310和音锤传感器410由刚性板300和400支撑着,并且由成对的反射型光电耦310/410和反射板135/145的组合来实施。反射型光电耦310/410能分辨出0.001毫米数量级的长度变化。因此,键传感器310和音锤传感器410与第一实施例中的相类似,为了避免重复描述,在此不再对其进行描述。
尽管为声学钢琴100B配备了键传感器310和音锤传感器410,但是,另外一种类型的构件也可以由传感器来监测。例如,制音器传感器161可以被设置在制音器160B上方。制音器传感器161以这样的方式被连接到一刚性板162上,即,使得制音器传感器与反射板163相对置。如前所述,制音器160B允许琴弦170B振动并使振动衰减。然而,制音器160B不仅仅在两个位置之间被改变。在实际演奏中,演奏者有时使制音器轻轻地接触琴弦170B,以便给乐音赋予艺术表现。如果制音器传感器161也被安装在声学风琴100B上,那么,记录器107B就会从制音传感器161上获得另外的一种音乐数据,从而使得演奏更接近原始演奏。
还可以为这些踏板182设置一些踏板传感器186。这些踏板传感器186监测踏板移动,并且向记录器107B提供踏板位置信号。演奏者在他/她的演奏中有时选择性地踩这些踏板182,以便赋予这些乐音以一些效果。尽管演奏者通常把踏板压到端部位置,但是,他/她有时把踏板182保持在休息位置和端部位置之间的某一特定位置。当演奏者踩下制音踏板时,例如,这些制音器160B最好与相关联的琴弦170B间隔开,并且声学钢琴乐音被加长。另一方面,当演奏者把制音踏板保持在特定位置时,制音器160B就轻轻地与琴弦170B保持接触,从而与在制音踏板被踩压到端部位置的情况相比,产生了不同的声学钢琴乐音。因此,踏板行程对声学钢琴乐音产生影响。如果为三块踏板设置踏板传感器186,那么,记录器107B就能确定出踏板轨迹,从而能赋予声学乐音一些效果。
参照图28,记录器107B包括记录器107B包括:一中央处理器200;一随机存取存储器210;一只读存储器220B;一操作盘230;一些计时器240;一些模数转换器250a/250b/250c;一内置存储单元260B;一共享母线系统B。
中央处理器200、随机存取存储器210、只读存储器220B、操作盘230、计时器240、模数转换器250a/250b/250c和存储单元260B都与共享母线系统B相连接,从而,中央处理器200能通过共享母线系统B与其它的部件210/220B/230/240/250a/250b/250c/260B相互通信。八十八个键传感器310与模数转换器250a相连,通过该模数转换器把键位置信号转换成数字的键位置信号。另一方面,八十八个音锤传感器410与另一模数转换器250b相连,并且通过该模数转换器250b把音锤位置信号转换成数字的音锤位置信号。数字的键位置信号和数字的音锤位置信号具有一位串,该位串的长度足以表示出所述的分辨率。在这种情况下,向当前键位置和当前音锤位置赋予12位。
如果在记录系统105B中还设置了制音器传感器161和踏板传感器186,那么,制音器传感器161和踏板传感器186与模数转换器250c相连,模拟的制音器位置信号和模拟的踏板位置信号在被中央处理器200获取前被转换成数字的制音器位置信号和数字的踏板位置信号。
计算机程序和参数表被存储在只读存储器220B内,随机存取存储器210用作一工作存储器。中央处理器200根据计算机程序运行,完成计算机程序中所表达的任务,从而产生代表在键盘120上的演奏的MIDI信息的音乐数据代码。代表着MIDI信息的一组音乐数据代码即MIDI音乐数据代码被存储在存储单元260B内,并且在进行演奏复制之前被从存储单元260B转移到随机存取存储器210。操作盘230、计时器240和存储单元260B的操作情况与第一实施例中的情况相类似,因此为了简明起见,在此不再对其进行累述。
当演奏者在声学钢琴100B上演奏乐曲时,中央处理器200就根据计算机程序运行,从而产生MIDI音乐数据代码。中央处理器200周期性地从模数转换器250a/250b获取代表当前键位置的多段数据和代表当前音锤位置的多段数据,并且把这些当前键位置和当前音锤位置写入随机存取存储器210内。新的当前键位置和新的当前音锤位置被加到已经存储在随机存取存储器210内的一系列当前键位置和一系列当前音锤位置。
中央处理器200检验这一系列当前键位置,以便确定是否移动了键130。当中央处理器200发现一黑/白键130的位置发生了改变时,中央处理器200就断定发生了键移动,并且产生MIDI声音信息,为要产生和要衰减的乐音产生音符-起信息和音符-止信息。中央处理器200还在产生MIDI声音信息时起动计时器240,在产生下一个MIDI声音信息时停止计时器。中央处理器200测量两个MIDI事件之间的消逝时间,并产生代表该消逝时间的持续时间数据代码。这组些代表着演奏的MIDI音乐数据代码被存储在一标准的MIDI文件内。
在这种情况下,中央处理器200还产生代表当前键位置和当前音锤位置的声音信息。空闲格式还被赋予代表当前键位置和当前音锤位置的声音信息,代表当前键位置和当前音锤位置的MIDI音乐数据代码与代表音符-起和音符-止以及消逝时间的MIDI音乐数据一起被存储在存储单元260B内产生的标准MIDI文件中。这些空闲格式将在下文中被详细描述。
位置数据
图29表示出了一系列基本位置数据/延伸位置数据。与第一实施例和第二实施例中的相类似,一段基本位置数据和一段相关联的延伸位置数据表示在键轨迹上的一当前键位置或在音锤轨迹上的一当前音锤位置。通过这段基本位置数据把黑/白键130或音锤150B定位于粗略的键位置或粗略音锤位置,相关联的延伸位置数据把偏离该粗略的键位置或粗略的音锤位置的偏离量提供给黑/白键130或音锤150B。当黑/白键130或音锤150B被定位于休息位置和端部位置之间的粗略的键位置或粗略的音锤位置时,就以高分辨率给出偏离量。然而,当黑/白键130或音锤150移过休息位置或端部位置时,就以低分辨率给出该偏离量。
第一例
如图29所示,基本位置数据以空闲格式[An kk xx]被编码,延伸位置数据以空闲格式[Bn 10 yy]被编码。第一字节[An],第二字节[kk],第三字节[xx]与第一、第二实施例中的基本位置数据的第一字节、第二字节、第三字节相同。第一字节[Bn],第二字节[10],第三字节[yy]与第一、第二实施例中的延伸位置数据的第一字节、第二字节、第三字节相同。由于这个原因,为了简明起见,在此省去对空闲格式的描述。
空闲格式的使用使得编辑变得容易快速。例如,假设设计者希望把键轨迹转移到目前表示的轨迹的任一侧。那么,设计者就搜索这些空闲格式的MIDI音乐数据,并且把第三字节[xx]和/或[yy]从先前的十六进制数改变成新的十六进制数。因此对于编辑工作而言,使用空闲格式是有利的。
图30A和30B表示出了一条音锤轨迹PL9和一条键轨迹PL10。被赋予音锤150B的第三字节[xx]的数字范围从[40h]至[70h],数字范围[01h]到[30h]被赋予黑/白键130。
理论的整个音锤行程为48毫米,休息位置和端部位置位于0毫米和48毫米处。在休息位置和端部位置之间的1毫米的音锤行程等于由第三字节[xx]表示的十六进制数的每个增量。另一方面,偏离量在休息位置和端部位置之间以1/64毫米的间隔表示,在过移区域中以1/4毫米的间隔表示。
另一方面,理论的整个键行程约为10毫米,由第三字节[xx]所表示的十六进制数的每个增量等价于0.225毫米。偏离量在休息位置和端部位置之间以0.225/64毫米的间隔表示,在过移区域中以0.225/4毫米的间隔表示。
比较图30A和30B与图6A和6B,图30A所示的音锤轨迹和图30B所示的键轨迹分别与图6A所示的音锤轨迹和图6B所示的键轨迹相同,在第一实施例和第三实施例之间,理论的整个音锤行程和理论的整个键行程是相等的。数据位置系统的这些特征与第一实施例中的数据位置系统的特征相同,如图31A和31B所示,为了简明起见,在此不再对其进行描述。
第二例
如上所述,在第一例中,基本位置数据[An kk xx]只伴随有一种类型的延伸位置数据[Bn 10 yy],偏离量由一段延伸位置数据[Bn 10 yy]表示。这意味着只有一预定的节距(pitch)或多个预定的节距表示从粗略的音锤位置和从粗略的键位置的偏离量。音锤或键并不总是在任何一个尺度(scale)标记处被发现,所述尺度仅由一种类型的延伸位置数据来确定。然而,多于一种类型的延伸位置数据使得可以把黑/白键130或音锤150B定位在多个不同尺度中的一个尺度的一标记处,该多个不同尺度由多于一种类型的延伸位置数据来表示。从这个方面来看,利用一段基本位置数据和相关联的延伸位置数据(其节距互不相同),黑/白键130或音锤150B被精确地定位在当前键位置或当前音锤位置。这就意味着一段基本位置数据伴随有多于一段的延伸位置数据,它们分别可由分辨器区分开。当然,如果黑/白键130或音锤150B在仅由一种类型的延伸位置数据所表示的尺度标记处被发现,那么,这段基本位置数据和相关联的单段延伸位置数据表示当前键位置或当前音锤位置,这与第一例相类似。
图32A表示出了一组延伸位置数据,这些段数据跟随着一段基本位置数据[An kk xx]。一段第一延伸位置数据以上述格式[Bn 10 yy]被编码,并且以分辨率0.225/64毫米,0.225/4毫米或1/64毫米,1/4毫米表示出从粗略的键位置或粗略的音锤位置的偏离量。因此,这段第一延伸位置数据[Bn 10yy]把黑/白键130或音锤150B定位在一相当精确的键位置或一相当精确的音锤位置。一段第二延伸位置数据以另一种格式[Bn 30 yy’]被编码,第一字节[Bn]和第二字节[30]表示第二延伸位置数据。第三字节[yy’]表示从相当精确的键位置或相当精确的音锤位置的偏离量,并且所具有的分辨率要高于第一延伸位置数据[Bn 10 yy]的分辨率。因此,这段第二延伸位置数据[Bn30 yy’]就把黑/白键130或音锤150B定位在一个很精确的键位置或一个很精确的音锤位置。一段第三延伸位置数据以又一种格式[Bn 11 zz]被编码,第一字节[Bn]和第二字节[11]表示第三延伸位置数据。第三字节[zz]表示从所述很精确的键位置或很精确的音锤位置的偏离量,并且其分辨率要高于第二延伸位置数据[Bn 30 yy’]的分辨率。因此,这段第三延伸位置数据[Bn 11zz]就把黑/白键130或音锤150B确定在一个非常精确的键位置或一个非常精确的音锤位置。一段第四延伸位置数据以又一种格式[Bn 31 zz’]被编码,第一字节[Bn]和第二字节[31]表示第四延伸位置数据。第三字节[zz’]表示从所述非常精确的键位置或非常精确的音锤位置的偏离量,并且其分辨率要高于第三延伸位置数据的分辨率。因此,这段第四延伸位置数据[Bn 31 zz’]就把黑/白键130或音锤150B确定在一个极精确的键位置或一个极精确的音锤位置。
图32B表示出了另外一组的延伸位置数据,这组数据跟随着一段基本位置数据[An kk xx]。第一、第二、第三延伸位置数据共享第三字节的数字范围即[00h]到[7Fh]。具体地说,第三字节的数字范围被分成多个数字子范围,这些数字子范围分别被赋予第一延伸位置数据、第二延伸位置数据、第三延伸位置数据,...,基本延伸位置数据[An kk xx]把黑/白键130或音锤150B定位在一粗略的键位置或一粗略的音锤位置。第一延伸位置数据表示从该粗略的键位置或粗略的音锤位置的偏离量,并且其分辨率要高于基本位置数据的分辨率,从而把黑/白键130或音锤150B定位在一个相当精确的键位置或一个相当精确的音锤位置。第二延伸位置数据表示从该相当精确的键位置或相当精确的音锤位置的偏离量,并且其分辨率要高于第一延伸位置数据的分辨率。这样,第二延伸位置数据就把黑/白键130或音锤150B定位在一个很精确的键位置或一个很精确的音锤位置。第三延伸位置数据表示从所述很精确的键位置或很精确的音锤位置的偏离量,并且其分辨率要高于第二延伸位置数据的分辨率,从而这段第三延伸位置数据就把黑/白键130或音锤150B确定在一个非常精确的键位置或一个非常精确的音锤位置。
可以知道,延伸位置数据使得可以精确地表示当前键位置和当前音锤位置。因此,伴随有延伸位置数据的基本位置数据要比单一类型的位置数据更可取。
第三例
图33A,33B表示出了第一和第三例中所采用的基本构思。尽管128个十六进制数可被赋予第一例中的正偏离量和负偏离量两者,如图32A所示,但是,128个十六进制数被赋予第三例中的正偏离量和负偏离量中的每一个,如图32B所示。这就导致分辨率要比第一例中的分辨率高两倍。为了把128个十六进制数赋予正偏离量和负偏离量中的每一个,这些段延伸位置数据以两种格式即[Bn 10 yy]和[Bn 11 yy]被编码。
图34A和34B表示出了音锤轨迹和基本位置数据/延伸位置数据之间的关系以及键轨迹和基本位置数据/延伸位置数据之间的关系。与第一实施例中的第三例相似。理论的整个音锤行程和理论的整个键行程分别是48毫米和10毫米,第三字节[xx]的数字范围包含两个子范围,即[40h]至[70h],[00h]至[7Fh],这两个数字子范围分别被赋予音锤150B和黑/白键130。由于这个原因,基本位置数据/延伸位置数据的特征与第一实施例中的第三例中的基本位置数据/延伸位置数据的特征是相同的,如图35A和35B所示。
尽管一段基本位置数据[An kk xx]和一段相关联的延伸位置数据[Bn 10yy]或[Bn 11 yy]之间的任一组合能表示休息位置和端部位置之间的一当前音锤位置或一当前键位置,但是,一段基本位置数据[An kk xx]和一段相关联的延伸位置数据[Bn 10 yy]之间的组合可以被用于休息位置和端部位置之间的当前音锤位置/当前键位置以及端部位置外侧的过移区域,如图36所示。在这种情况中,一段基本位置数据[An kk xx]和一段相关联的延伸位置数据[Bn 11 yy]的另一种组合被用于表示休息位置外侧过移区域中的一当前音锤位置或一当前键位置。
可以知道,延伸位置数据跟随着基本位置数据,该基本位置数据表示粗略的音锤位置或粗略的键位置,并且该延伸位置数据表示出从该粗略的音锤位置或粗略的键位置的偏离量,且所具有的分辨率要高于基本位置数据的分辨率。于是,音锤150B或黑/白键130就被精确地定位在音锤轨迹上的当前音锤位置或键轨迹上的当前键位置。
重现演奏
对于图37所示的自动弹奏钢琴而言,可以获得表示演奏的一组MIDI音乐数据代码。自动弹奏钢琴是一声学钢琴300和一自动演奏系统400的组合体。由于自动弹奏钢琴被配备有记录系统105,105A或105B,因此,图37中表示出了一些音锤传感器和键传感器。声学钢琴300类似于声学钢琴100,从而声学钢琴300中的构件采用与声学钢琴100中对应构件的一些附图标记来标记。
自动演奏系统400包括:一控制器410;一排电磁线圈操作的键驱动器420,这些键驱动器内置有柱塞传感器430。电磁线圈操作的键驱动器420被设置在键盘120的黑/白键122的下部,并且包括:对应的柱塞422,对应的电磁线圈424,以及内置的柱塞传感器430。柱塞422可从电磁线圈中突出,也可以缩回到电磁线圈内,内置的柱塞传感器430用于监测相关联的柱塞422,以便产生代表当前柱塞位置或柱塞行程的柱塞位置信号。控制器410具有数据处理能力,MIDI音乐数据代码被供给到控制器410,以便进行重现演奏。
控制器410分析这些MIDI音乐数据代码,以便确定要被移动的柱塞422的柱塞轨迹。当控制器410确定出柱塞轨迹时,控制器410就把一驱动信号供给到电磁线圈424。驱动信号会产生磁场,从而在柱塞422上施加磁作用力。柱塞422开始从励磁的电磁线圈424突出,并且推动相关联的黑/白键122的后部。这样,电磁线圈操作的键驱动器420就会在没有人进行演奏的情况下使键进行移动。当柱塞422从相关联的电磁线圈424突出时,柱塞传感器430就把当前柱塞位置通报给控制器410,控制器410周期性地比较当前柱塞位置与柱塞轨迹上的目标柱塞位置,以便检查柱塞422是否在所述轨迹上运行。当答案是肯定时,控制器410就保持驱动信号不变。另一方面,如果答案是否定时,那么,控制器410就改变驱动信号的负载比(duty ratio),以便迫使柱塞422精确地沿着所述轨迹移动。
在重现演奏过程中,基本位置和延伸位置数据的使用情况如下。当使用者命令控制器410根据一组MIDI音乐数据代码来重现演奏时,MIDI音乐数据代码就被转移到控制器410,并且被存储在一工作存储器内。控制器410按顺序从工作存储器获取MIDI音乐数据代码。当由持续时间数据代码所表示的时间段终止时,控制器就开始分析相应的声音信息。
现在假设控制器410从工作存储器获取一音符-起信息,那么,控制器就确定出要被移动的黑/白键122,并且从工作存储器中读出基本位置数据和相关联的延伸位置数据。控制器410对这些基本位置数据和相关联的延伸位置数据进行分析,以便根据这些基本位置数据/延伸位置数据,确定出目标键轨迹和目标音锤轨迹。控制器410还确定出目标柱塞轨迹,柱塞轨迹产生沿着目标键轨迹的键移动,键移动又会产生沿着目标音锤轨迹的音锤移动。于是,控制器410根据基本位置数据和延伸位置数据确定出目标柱塞轨迹。当目标柱塞轨迹被确定时,控制器410就把驱动信号供给到电磁线圈424,该驱动信号会产生柱塞移动。当柱塞422从电磁线圈424突出时,柱塞传感器430就把当前柱塞位置通报给控制器410,于是控制器410就通过反馈控制迫使柱塞422在目标柱塞轨迹上进行移动。柱塞422在目标柱塞轨迹上进行移动,从而使相关联的黑/白键122在目标键轨迹上进行移动,黑/白键122在目标键轨迹上的移动会产生沿着目标音锤轨迹的音锤移动。因此,音锤150就类似于原始演奏那样进行移动。这就使得声学乐音的响度类似于原始演奏的乐音响度。
可以知道,通过基本位置数据和延伸位置数据可以在重现演奏过程中再现原始的声学乐音。这就使得这种演奏与原始的演奏是相同的。
尽管已经描述和图示了本发明的一些具体实施例,但是,对于本领域普通技术人员来说,很明显,在不脱离本发明的构思和范围的情况下,可以对本发明作出各种变型和改变。
复合型键盘乐器可以按照直立式钢琴、静音钢琴或羽管键琴(harpsichord)来制造。此外,本发明适用于任何类型的乐器,例如打击乐器。作为打击乐器的一个例子是钢片琴(celesta)。
例如,当前键“位置”和当前音锤“位置”并限制本发明中的技术范围。对于代表乐器的移动部件的任何物理量而言,都可获得声音信息[An kkxx]和[Bn 10 yy]。声音信息[An kk xx]和[Bn 10 yy]可以相对较低的分辨率和以相对较高的分辨率表示出移动部件例如黑/白键130、音锤150或制音器160的速度。另一方面,声音信息[An kk xx]和[Bn 10 yy]可以相对较低的分辨率和以相对较高的分辨率表示出移动部件加速度。
MIDI协议也并不限制本发明的技术范围。也可以用其它的协议来表示这些要被记录的音乐。
状态字节[An]和[Bn]并不限制本发明的技术范围。可以采用其它的状态字节,只要其它的状态字节在被供给MIDI音乐数据代码的乐器中不被利用。
理论的整个音锤行程的值和理论的整个键行程的值也只是例子而已。如果记录器被安装在另一种型式的钢琴中,理论的整个音锤行程和理论的整个键行程与实施例中所描述的是不同的,因此,增量/减量或正偏离量/负偏离量与这些实施例中所描述的是不同的。
在上述实施例中,休息位置外侧的分辨率等于端部位置或边界键位置外侧的分辨率。这个特征并不限制本发明的技术范围。休息位置外侧的分辨率可以不同于端部位置或边界键位置外侧的分辨率。
数值子范围[01h]至[30h]和[40h]至[70h]并不限制本发明的技术范围。这些数字子范围取决于理论的整个键行程/理论的整个音锤行程以及所需的分辨率。如果理论的行程要窄于黑/白键130或音锤150的行程,那么,这些数字子范围就可以被缩窄。
一段基本位置可以不伴随有任何的由附图标记B1,B2,B3所表示的延伸位置数据(见图29),一段延伸位置数据可以不跟随着一段由附图标记E1,E表示的基本位置数据。术语“Δ时间”是指距先前事件和对应的基本位置数据或对应的延伸位置数据所经过的时间,符号表示消近的时间,基本位置数据B1和B2表明黑/白键[kk]或音锤[kk]在从先前事件经过时间之后将位于在当前键位置[xx]或当前音锤位置[xx]。
尽管基本位置数据B1和B2粗略地把黑/白键130或音锤150B定位在键轨迹或音锤轨迹上,但是,在键轨迹/音锤轨迹的特定段内允许这种粗略的表达。
基本位置数据B3被延伸位置数据E1和E2跟随着。可发现黑/白键[kk]或音锤[kk]在从先前事件经过时间之后将处在由第三字节[xx]和延伸位置数据E1的第三字节[yy]所表示的当前键位置处,然后在从先前事件经过时间之后将处于由第三字节[xx]和下一段延伸位置数据E2的第三字节[yy]所表示的当前键位置。延伸位置数据E2的消逝时间要长于延伸位置数据E1的消逝时间因此,延伸位置数据连续地以简单的方式确定出当前键位置或当前键位置。
基本数据和延伸数据可表示另外一种类型的物理量,例如速度或加速度。对于移动部件的当前状态而言,通常需要速度和加速度。实际上,键移动和音锤移动是不仅根据键位置/音锤位置而且根据键速度/音锤速度以及键加速度/音锤加速度来确定的。从这些位置来计算出速度和加速度。速度和加速度可以通过一适当的传感器来测量,加速度/位置或位置/速度可以从速度或加速度来计算出。
在前面描述的实施例中,当黑/白键130或音锤150/150A/150B移过休息位置或端部位置时,分辨率就被降低,以便覆盖相当长的过移区域。
然而,只要有多个十六进制数被赋予过移区域,过移区域中的分辨率就可以高于休息位置和端部位置之间的通常区域中的分辨率。
权利要求中的用语与实施例中的构件的相互对应关系如下。黑/白键130、执行单元140/140A/140B,音锤150/150A/150B,制音器160/160A/160B,琴弦170/170A/170B,这些作为一个整体构成了“乐音产生系统”。每个黑/白键130、相关联的执行单元140/140A/140B,相关联的音锤150/150A/150B和相关联的制音器160/160A/160B组合成“连接件(link works)”。琴弦170/170A/170B作为一个整体构成“乐音产生子系统”。每块踏板182,相关联的连接件184和键盘120或相关联的制音器160/160A/160B也组合成“连接件”。键位置信号和音锤位置信号,制音器位置信号或顶杆位置信号用作“监测信号”。“物理量”是指长度、速度或加速度。中央处理器200、随机存取存储器210,只读存储器220,计时器240,模数转换器250a/250b/250c和母线系统B作为一个整体构成“数据处理单元”。黑/白键130,音锤150/150A/150B,制音器160/160A/160B或顶杆用作“特定的构件”。
记录系统105/105A/105B用作“音乐数据产生器”。存储单元260/260A/260B对应于“音乐数据源”。
当黑/白键130对应于“构件”时,音锤150/150A/150B就用作“其它构件”。键位置信号和音锤位置信号分别对应于“监测信号”和“其它监测信号”,相应地,键位置或键行程和音锤位置或音锤行程分别对应于“物理量”和“另外的一个物理量”。
声音信息[An kk xx]和声音信息[Bn 10 yy]/[Bn 11 yy],声音信息[An kkxx]和声音信息[Bn 10 yy]/[Bn 30 yy’]/[Bn 11 zz]/[Bn 31 zz’]或声音信息[An kk xx]和声音信息[Bn 10 yy]/[Bn 10 yy’]/[Bn 10 yy”]是音乐数据代码的子组,第三字节[xx]和第三字节[yy]/[yy’]/[zz]/[zz’]/[yy”]分别具有第一位串和第二位串。
Claims (13)
1.一种用于产生乐音的乐器,包括:
一乐音产生系统,该乐音产生系统包括:
多个连接件(130,140A,150A,160A),这些连接件选择性地被驱动,以便指定要被产生的所述乐音的音高,并且具有对应的构件(130)和对应的另外的构件(150A,160A),所述对应的构件和所述对应的另外的构件在一通常区域中移动,和
一乐音产生子系统(170A),该乐音产生子系统通过所述的多个连接件被驱动以产生所述的乐音;和
一记录系统(105A),该记录系统包括:
多个传感器(310,410,161,164),监测所述多个连接件的所述构件(130)和所述另外的构件(150A,160A),并产生监测信号和另外的监测信号,所述监测信号携带有多段第一数据,每段第一数据代表用于表示所述构件(130)的移动的一物理量,另外的一个监测信号携带有多段第二数据,每段第二数据代表用于表示所述另外的构件(150A,160A)的移动的另外的一个物理量,
一数据处理单元(107A),分析所述的多段第一数据和多段第二数据,以便产生一音乐数据代码组,该音乐数据代码组代表由所述乐音产生系统产生的所述乐音,
其特征在于:
所述音乐数据代码组包括特定的音乐数据代码,每个特定的音乐数据代码具有被赋予一第一位串([xx])的一数据字段,所述第一位串的数字范围可被分成至少两个数字范围,这两个数字范围分别表示所述物理量和所述的另外的一个物理量。
2.根据权利要求1所述的乐器,其中,所述特定的音乐数据代码被赋予在用于所述乐器的协议中所定义的格式([An kk xx])。
3.根据权利要求2所述的乐器,其中,所述协议是已知的乐器数字接口协议。
4.根据权利要求3所述的乐器,其中,在所述乐器数字接口协议中所述格式([An kk xx])是为在所述乐器中不被使用的另外的一个信息所定义的,从而所述格式用于在所述乐器中用于所述物理量和所述另外的一个物理量的所述信息。
5.根据权利要求1所述的乐器,其中,所述音乐数据代码组还包括分别与所述特定的音乐数据代码相关联的另外的音乐数据代码,每个所述特定的音乐数据代码和每个所述的另外的音乐数据代码分别具有所述第一位串([xx])和一第二位串([yy]),所述第一位串([xx])表示所述物理量的一近似值或所述另外的一个物理量的一近似值,所述第二位串([yy])表示偏离所述近似值的一偏离量。
6.根据权利要求5所述的乐器,其中,所述第二位串([yy])表示一数字范围,该数字范围可以分成:一个数字子范围,该数字子范围在所述通常区域中以一分辨率表示所述的偏离量;和另外的一个数字子范围,该另外的一个数字子范围在所述通常区域外侧的一区域中以低于所述分辨率的另外的一个分辨率表示所述偏离量。
7.根据权利要求1所述的乐器,其中,所述的构件和所述的另外的构件是键盘(120)的键(130)和音锤(150A),其中的键(130)可被选择性地按压,以便指定要被产生的所述乐音的所述音高,其中的音锤(150A)可被驱动转动,以便击打所述乐音产生子系统的琴弦(170A),从而以指定的音高产生所述乐音。
8.一种音乐数据产生器(105A),包括:
多个传感器(310,410,161,164),监测安装在一乐器中的并在一通常区域中移动的多个连接件的构件(130)和另外的构件(150A,160A),并产生监测信号和另外的监测信号,所述监测信号携带有多段第一数据,每段第一数据代表用于表示所述构件(130)的移动的一物理量,另外的监测信号携带有多段第二数据,每段第二数据代表用于表示所述另外的构件(150A,160A)的移动的另外的一个物理量,和
一数据处理单元(107A),分析所述的多段第一数据和多段第二数据,以便产生一音乐数据代码组,该音乐数据代码组代表由所述乐器产生的乐音,其特征在于:
所述的音乐数据代码组包括特定的音乐数据代码,每个特定的音乐数据代码具有一数据字段,该数据字段被赋予一第一位串([xx]),该位串的数字范围可以分成至少两个数字范围,分别表示所述物理量和所述另外的一个物理量。
9.根据权利要求8所述的音乐数据产生器,其中,所述的特定的音乐数据代码被赋予在用于所述乐器的协议中所定义的一格式([An kk xx]).
10.根据权利要求9所述的音乐数据产生器,其中,所述协议是已知的乐器数字接口协议。
11.根据权利要求10所述的音乐数据产生器,其中,在所述乐器数字接口协议中所述格式([An kk xx])是为在所述乐器中不被使用的的另外的一个信息所定义的,从而所述格式用于在所述乐器中用于所述物理量和所述另外的一个物理量的所述信息。
12.根据权利要求8所述的音乐数据产生器,其中,所述音乐数据代码组还包括分别与所述特定的音乐数据代码相关联的另外的音乐数据代码,每个所述特定的音乐数据代码和每个所述的另外的音乐数据代码分别具有所述第一位串([xx])和一第二位串([yy]),所述第一位串([xx])表示所述物理量的一近似值或所述另外的一个物理量的一近似值,所述第二位串([yy])表示偏离所述近似值的一偏离量。
13.根据权利要求12所述的音乐数据产生器,其中,所述第二位串([yy])表示一数字范围,该数字范围可以分成:一个数字子范围,该数字子范围在所述通常区域中以一分辨率表示所述的偏离量;另外的一个数字子范围,该另外的一个数字子范围在所述通常区域外侧的一区域中以低于所述分辨率的另外的一个分辨率表示所述偏离量。
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP372658/03 | 2003-10-31 | ||
JP2003372658 | 2003-10-31 | ||
JP372657/03 | 2003-10-31 | ||
JP2003372657 | 2003-10-31 | ||
JP372656/03 | 2003-10-31 | ||
JP2003372656 | 2003-10-31 | ||
JP2004231015A JP2005157289A (ja) | 2003-10-31 | 2004-08-06 | 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器 |
JP231014/04 | 2004-08-06 | ||
JP231013/04 | 2004-08-06 | ||
JP2004231013A JP4305319B2 (ja) | 2003-10-31 | 2004-08-06 | 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器 |
JP231015/04 | 2004-08-06 | ||
JP2004231014A JP4305320B2 (ja) | 2003-10-31 | 2004-08-06 | 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410090097A Division CN100593191C (zh) | 2003-10-31 | 2004-11-01 | 乐器,音乐数据产生器和用于乐器的音乐数据源 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101656065A CN101656065A (zh) | 2010-02-24 |
CN101656065B true CN101656065B (zh) | 2012-05-23 |
Family
ID=34427150
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101710064A Expired - Fee Related CN101656065B (zh) | 2003-10-31 | 2004-11-01 | 乐器,音乐数据产生器和用于乐器的音乐数据源 |
CN200410090097A Expired - Fee Related CN100593191C (zh) | 2003-10-31 | 2004-11-01 | 乐器,音乐数据产生器和用于乐器的音乐数据源 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410090097A Expired - Fee Related CN100593191C (zh) | 2003-10-31 | 2004-11-01 | 乐器,音乐数据产生器和用于乐器的音乐数据源 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7381880B2 (zh) |
EP (2) | EP1713058B1 (zh) |
KR (1) | KR100690466B1 (zh) |
CN (2) | CN101656065B (zh) |
DE (1) | DE602004005552T2 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4639795B2 (ja) * | 2004-12-22 | 2011-02-23 | ヤマハ株式会社 | 楽器の演奏駆動装置、鍵盤楽器の演奏駆動システム及び鍵盤楽器。 |
JP4687474B2 (ja) * | 2006-01-26 | 2011-05-25 | ヤマハ株式会社 | 鍵盤楽器 |
JP4967406B2 (ja) * | 2006-03-27 | 2012-07-04 | ヤマハ株式会社 | 鍵盤楽器 |
JP5162938B2 (ja) * | 2007-03-29 | 2013-03-13 | ヤマハ株式会社 | 楽音発生装置及び鍵盤楽器 |
US20090064846A1 (en) * | 2007-09-10 | 2009-03-12 | Xerox Corporation | Method and apparatus for generating and reading bar coded sheet music for use with musical instrument digital interface (midi) devices |
US8350143B2 (en) * | 2010-02-02 | 2013-01-08 | Yamaha Corporation | Keyboard musical instrument |
JP5974756B2 (ja) * | 2011-09-20 | 2016-08-23 | ヤマハ株式会社 | 電子鍵盤楽器 |
JP6010917B2 (ja) | 2012-02-15 | 2016-10-19 | ヤマハ株式会社 | 電子楽器の鍵盤装置 |
JP5987762B2 (ja) | 2013-04-11 | 2016-09-07 | ヤマハ株式会社 | 鍵盤楽器のハーフペダル領域特定方法及び装置並びにプログラム |
JP6111807B2 (ja) | 2013-04-11 | 2017-04-12 | ヤマハ株式会社 | 鍵盤楽器 |
WO2018090798A1 (en) | 2016-11-17 | 2018-05-24 | Sunland Information Technology Co., Ltd. | System and method for recording user performance of keyboard instrument |
CN108281128B (zh) * | 2016-11-17 | 2021-05-07 | 森兰信息科技(上海)有限公司 | 一种用于记录键盘乐器用户表现的方法及系统 |
CN109545034A (zh) * | 2018-10-26 | 2019-03-29 | 深圳点猫科技有限公司 | 一种智能音乐画笔的实现方法及智能音乐画笔 |
CN113012668B (zh) * | 2019-12-19 | 2023-12-29 | 雅马哈株式会社 | 键盘装置及发音控制方法 |
US20240029696A1 (en) * | 2021-11-08 | 2024-01-25 | Viscount International S.P.A. | Electronic music keyboard |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6075196A (en) * | 1997-02-25 | 2000-06-13 | Yamaha Corporation | Player piano reproducing special performance techniques using information based on musical instrumental digital interface standards |
US6245985B1 (en) * | 1998-10-23 | 2001-06-12 | Yamaha Corporation | Data converter for enhancing resolution, method for converting data codes and keyboard musical instrument equipped with the data converter |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5001339A (en) | 1989-03-27 | 1991-03-19 | Gulbransen, Inc. | Opto-electronic sensing method and device for an acoustic piano |
US5293311A (en) * | 1989-06-07 | 1994-03-08 | Kawai Musical Inst. Mfg. Co., Ltd. | Apparatus and a method for changing a resolution value of input musical data |
JP3552366B2 (ja) | 1995-06-09 | 2004-08-11 | ヤマハ株式会社 | 楽音制御装置 |
JP3900712B2 (ja) | 1998-10-23 | 2007-04-04 | ヤマハ株式会社 | 鍵盤楽器のセンサ較正装置及びセンサ較正方法 |
-
2004
- 2004-10-21 US US10/971,975 patent/US7381880B2/en not_active Expired - Fee Related
- 2004-10-28 EP EP06015401A patent/EP1713058B1/en not_active Expired - Fee Related
- 2004-10-28 EP EP04025608A patent/EP1528537B1/en not_active Expired - Fee Related
- 2004-10-28 DE DE602004005552T patent/DE602004005552T2/de active Active
- 2004-10-29 KR KR1020040087181A patent/KR100690466B1/ko not_active IP Right Cessation
- 2004-11-01 CN CN2009101710064A patent/CN101656065B/zh not_active Expired - Fee Related
- 2004-11-01 CN CN200410090097A patent/CN100593191C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6075196A (en) * | 1997-02-25 | 2000-06-13 | Yamaha Corporation | Player piano reproducing special performance techniques using information based on musical instrumental digital interface standards |
US6245985B1 (en) * | 1998-10-23 | 2001-06-12 | Yamaha Corporation | Data converter for enhancing resolution, method for converting data codes and keyboard musical instrument equipped with the data converter |
Also Published As
Publication number | Publication date |
---|---|
EP1528537B1 (en) | 2007-03-28 |
CN101656065A (zh) | 2010-02-24 |
US7381880B2 (en) | 2008-06-03 |
EP1713058A3 (en) | 2010-04-21 |
KR100690466B1 (ko) | 2007-03-09 |
CN1612204A (zh) | 2005-05-04 |
DE602004005552D1 (de) | 2007-05-10 |
KR20050041954A (ko) | 2005-05-04 |
US20050092164A1 (en) | 2005-05-05 |
EP1713058A2 (en) | 2006-10-18 |
DE602004005552T2 (de) | 2007-07-12 |
CN100593191C (zh) | 2010-03-03 |
EP1713058B1 (en) | 2012-02-15 |
EP1528537A1 (en) | 2005-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101656065B (zh) | 乐器,音乐数据产生器和用于乐器的音乐数据源 | |
CN100593192C (zh) | 具有重放表的自动演奏器乐器及其方法 | |
CN1838228B (zh) | 预数据产生器、自动演奏器和乐器 | |
CN1801318B (zh) | 音乐数据调节器、装备音乐数据调节器的乐器和音乐系统 | |
US7332670B2 (en) | Automatic player exactly bringing pedal to half point, musical instrument equipped therewith and method used therein | |
CN101042861B (zh) | 用于乐器的自动演奏系统和方法 | |
CN101046951B (zh) | 自动演奏乐器以及合并在其中的自动演奏系统 | |
CN1828719B (zh) | 用乐器为演唱者伴奏的自动演奏器和自动演奏器乐器 | |
CN1750111B (zh) | 免于老化的变换器、使用该变换器的乐器及其使用方法 | |
CN100576315C (zh) | 通过空闲琴键改变演奏风格的乐器、方法 | |
CN101064100B (zh) | 自动演奏乐器、测试系统和用于指定半踏板点的方法 | |
US6380473B2 (en) | Musical instrument equipped with synchronizer for plural parts of music | |
Askenfelt et al. | From touch to string vibrations. II: The motion of the key and hammer | |
CN100578607C (zh) | 带选择访问速度转换表的自动演奏乐器和其所用电子系统 | |
US7202409B2 (en) | Musical instrument automatically performing music passage through hybrid feedback control loop containing plural sorts of sensors | |
CN101276581A (zh) | 音乐演奏处理装置及音乐演奏处理方法 | |
CN102148026B (zh) | 电子乐器 | |
CN1750110B (zh) | 自动演奏器乐器、合并在其中的自动演奏器及使用的方法 | |
CN101271638A (zh) | 具有电子校检系统、电系统以及计算机程序的乐器 | |
CN101009093B (zh) | 再现短音调而不遗漏音调的自动演奏乐器及自动演奏系统 | |
JP6149354B2 (ja) | 電子鍵盤楽器、方法及びプログラム | |
CN110010106B (zh) | 一种音乐演奏自动打谱系统 | |
US6075196A (en) | Player piano reproducing special performance techniques using information based on musical instrumental digital interface standards | |
JP2002372967A (ja) | 鍵盤演奏ガイド装置 | |
CN1991974B (zh) | 能够记录演奏的乐器和自动分配文件名的控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20161101 |
|
CF01 | Termination of patent right due to non-payment of annual fee |