乐音数据产生方法、乐音合成方法及其设备转让专利

申请号 : CN200510113585.9

文献号 : CN1763841B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黑田淳二

申请人 : 雅马哈株式会社

摘要 :

本发明涉及一种乐音数据产生方法、乐音合成方法及其设备。根据以下理解:通过乐器的现场演出而获得的波形数据中乐音元素(例如幅度和音高)的时间变化特征,包括人类演奏者希望或可控的变化分量和人类演奏者不希望或不可控的变化分量,本发明允许彼此分离且独立地调整/控制两个分量,以便实现有效和高品质的控制。获得原始波形数据中的至少一个特定乐音元素的离散变化值列,并且根据时间常数因子,将获得的变化值列分离为相对较大时间常数的“涌浪”值列和相对较小时间常数的“波动”值列。彼此独立地可变控制“涌浪”值列和“波动”值列。按照这种方式,可以对包括在采样波形数据中例如幅度和音高的乐音元素执行高品质控制。

权利要求 :

1.一种利用存储部分来合成乐音的乐音合成方法,所述存储部分存储了乐音元素的第一分量值列和第二分量值列,所述乐音元素是原始波形数据的乐音音高或乐音幅度,通过对原始波形数据的乐音元素的变化值列进行平滑来获得所述第一分量值列,根据所述变化值列和所述第一分量值列之间的差值来获得所述第二分量值列,所述乐音合成方法包括:第一步骤,根据希望的乐音产生时间长度,对于从所述存储部分读取的所述第一分量值列和第二分量值列中的至少一个的时间轴执行扩展或压缩控制,从而获得具有与希望乐音产生时间长度相对应的时间长度的分量值列;

第二步骤,对于从所述存储部分读取的或具有由所述第一步骤进行扩展或压缩控制的时间轴的所述第一分量值列和第二分量值列中的至少一个的数值执行可变的控制;

第三步骤,根据从所述存储部分读取的、或是由所述第一步骤或所述第二步骤控制的第一和第二分量值列,产生乐音元素的变化值列;以及第四步骤,使用变化值列,针对乐音产生时间长度来产生乐音。

2.根据权利要求1所述的乐音合成方法,其特征在于,所述第一步骤至少对彼此独立的第一和第二分量值列的各自时间轴执行扩展或压缩控制,并且所述第二步骤至少可变地控制彼此独立的第一和第二分量值列的各自数值。

3.根据权利要求1所述的乐音合成方法,其特征在于,所述第一分量值列与变化值列中的涌浪变化分量相对应,以及所述第二分量值列与变化值列中的波动变化分量相对应,所述涌浪变化分量是时间常数相对较大的变化分量,所述波动变化分量是时间常数相对较小的变化分量。

4.一种利用存储部分来合成乐音的乐音合成设备,所述存储部分存储了乐音元素的第一分量值列和第二分量值列,所述乐音元素是原始波形数据的乐音音高或乐音幅度,通过对原始波形数据的乐音元素的变化值列进行平滑来获得所述第一分量值列,根据所述变化值列和所述第一分量值列之间的差值来获得所述第二分量值列,所述乐音合成设备包括:第一部分,根据希望的乐音产生时间长度,对于从所述存储部分读取的所述第一分量值列和所述第二分量之列中的至少一个的时间轴执行扩展或压缩控制,从而获得具有与希望乐音产生时间长度相对应的时间长度的分量值列;

第二部分,对于从所述存储部分读取的或具有由所述第一步骤进行扩展或压缩控制的时间轴的所述第一分量之列和第二分量值列中的至少一个的数值执行可变的控制;

第三部分,根据从所述存储部分读取的、或由所述第一步骤或所述第二步骤控制的第一和第二分量值列,产生乐音元素的变化值列;以及第四部分,使用变化值列,针对乐音产生时间长度产生乐音。

说明书 :

乐音数据产生方法、乐音合成方法及其设备

技术领域

[0001] 本发明涉及一种乐音数据产生方法及其设备以及一种乐音合成方法及其设备,适用于例如电子乐器和自动演奏设备的乐音产生设备中,以便能够进行包括在采样波形数据中的、例如幅度和音高的乐音元素的高品质控制。

背景技术

[0002] 所谓的采样器是公知的,其在存储器中存储乐音的采样波形数据并且使用存储器存储的波形数据作为电子乐器等的乐音源。在使用采样波形数据来合成乐音的情况下,当要再现乐音时,希望能够自由地控制/调整例如幅度和音高的乐音元素而不是简单地再现采样原始波形本身。作为一种设计用于改善乐音合成的技术,日本专利申请未审公开No.平-5-297866公开了当要对乐音信号进行采样并以PCM波形数据存储在存储器中时,对于包括在乐音信号中的波动(变化)分量,同时检测其频率和幅度并且存储在波动数据存储装置中。当要读取存储器存储的波形数据以便再现乐音信号时,也从波动数据存储装置中读取频率和幅度波动数据,然后根据频率和幅度波动数据来执行读取波形数据的频率和幅度调制,并且还控制这些调制的各自深度。然而,在No.平-5-297866公开中公开的技术只设置用于检测在PCM波形数据中的频率和幅度变化分量,作为波动分量,并且对检测到的变化分量执行调制和控制。此外,日本专利申请公开No.平-7-82336公开了检测每一个采样乐音信号的随时间变化的音高,并根据检测将指示乐音音高根据时间变化的音高包络信息存储到存储器中。在再现乐音中,通过对于音高包络信息执行插值以便适当地修改音高包络信息,来产生音高包络,并且根据产生的音高包络来设置要再现的乐音的音高。No.平-7-82336中公开的技术只设置用于检测并存储乐音音高本身在时间上的变化,并且对随时间变化的音高执行修改/控制,以便将修改/控制的音高用于乐音的再现。
[0003] 上述传统技术可以通过对在自然乐器上演奏的乐音进行采样来提供高品质的波形数据,并且还能够通过将例如音高和幅度的乐音元素在时间上的变化作为包络来进行检测和存储、然后控制这些在再现时间上的乐音元素包络,在一定程度上执行控制以便仿真乐音元素的自然变化。然而,如果仅仅如上所述的传统技术中所教授地提取并控制例如音高和幅度的乐音元素的包络,难以调整所演奏乐音的人类表现和程度。例如,如果使用表示在音高和幅度变化中出现的不同特征和习惯(倾向)的多个波形数据来多音地合成协奏乐音或和弦乐音,则在要合成的乐音之间的音高间隔发生巨大偏差,以使例如跑调演奏或个人乐音的幅度表现的乐音声音令人不希望地彼此不同。在这种情况下,传统技术不能有效地进行调整以消除不便。例如,可以设想,通过去除音高和幅度变化中出现的特征和习惯以便将音高和幅度转换为平坦特征,来多音地合成平坦特征的波形数据;然而,在这种情况下,合成的乐音是单调的,丧失了作为原声乐器乐音的个性。

发明内容

[0004] 考虑到上述内容,本发明的目的是提供一种乐音数据产生方法及其设备和一种乐音合分量及其设备,允许包括在采样波形数据中的、例如幅度和音高的乐音元素的高品质控制。本发明的另一个目的是提供一种关于乐音数据产生方法和乐音合成方法的计算机程序,一种存储计算机程序的存储介质,以及一种存储新数据格式的乐音合成数据和按照新数据格式准备的乐音合成数据的存储介质。
[0005] 为了实现上述目的,本发明者提出一种思想,通过提取至少一个分量并且调整/控制提取的分量,注意到在通过人类演奏者的现场演出获得的波形数据中,例如幅度和音高的乐音元素的随时间变化的特征包括人类演奏者可控或希望的变化分量或人类演奏者不可控或不希望的变化分量,从而允许高效和高品质的控制。
[0006] 根据本发明的一个方案,本发明提供一种乐音数据产生方法,其中包括:第一步骤,针对在原始波形数据中的至少一个特定乐音元素,获得离散变化值列(train)(即离散变化值的列);以及第二步骤,按照时间常数因子,从变化值列中提取至少一个时间连续的分量值列。通过使用至少由第二步骤提取的分量值来表现特定乐音元素的变化值列。
[0007] 本发明的特征在于,根据认识到人类演奏者希望或可控的变化分量具有时间常数因子(或类时间常数因子),按照时间常数因子从变化值列中提取至少一个时间连续分量值列。因此,可能数学地或定量地分析人类演奏者希望的或可控的变化分量或者人类演奏者不希望或不可控的变化分量。例如,按照时间常数因子从变化值列中提取至少一个时间连续分量值列的行为包括:将变化值列根据时间常数因子分为两个时间连续分量列以便提取两个时间连续分量列。例如,可以从变化值列中提取并产生相对较大时间常数的变化分量,作为第一分量值列,而从变化值列中提取并产生相对较小的时间常数变化分量,作为第二分量值列。典型地,可以由根据适当平滑函数处理、低通滤波处理等来执行相对较大时间常数的变化分量的提取;在本说明书中,这些过礼通常被称为“平滑”。通过提取相对较大时间常数的这种变化分量,可以提取人类演奏者希望或可控的变化分量。在本说明书中,将相对较大时间常数的变化分量,即人类演奏者希望或可控的变化分量,称为“涌浪”(swell)。在实施例中,根据变化值列的平滑而产生的第一分量值列是“涌浪”值列。另一方面,可以认为相对较小时间常数的变化分量与人类演奏者不希望或不可控的变化分量相对应,这可以从第一分量值列的变化值列(即“涌浪”值列)中数学地产生,作为剩余值(或差值)。在后面将说明的实施例中,将相对较小时间常数的变化分量,即人类演奏者不希望或不可控的变化分量,称为“波动”。根据变化值列和第一分量值列(“涌浪”值列)之间的差值而产生的第二分量值列是“波动”值列。
[0008] 即,根据本发明的实施例,至少可以将例如幅度和音高的特定乐音元素的变化值列表现为不同时间常数特征的分离的第一和第二分量值列(“涌浪”和“波动”值列)。因此,在使用这些值列来执行乐音波形合成中,本发明可彼此独立地调整/控制第一和第二分量值列(即“涌浪”和“波动”值列),从而能够执行高品质的控制。例如,在使用表示在音高和幅度变化中的不同特征或习惯(倾向)的多个波形数据来多音地合成协奏乐音或和弦乐音的情况下,根据需要可变地调整与人类演奏者希望或可控的变化分量相对应的第一分量值列(“涌浪”值列),而实质上没有可变地控制与人类演奏者不希望或不可控的变化分量相对应的第二分量值列(“波动”值列),因此可以容易地适当地执行很均衡的调整。即,在合成多个乐音中,本发明能够可变地控制个人乐音的表现和波动中的不均衡程度。此外,在整个乐音合成中,根据本发明实施例,对分离并提取作为“涌浪”和“波动”的变化分量进行的控制可以可变地控制新的(至今不存在的)乐音控制参数,例如合成乐音的表现的程度、专用于原声乐器的人类波动。
[0009] 从乐音合成的角度,本发明的乐音数据产生方法还包括:第三步骤,至少参照数值和时间轴之一,可变地控制至少一个分量值列;第四步骤,根据由第三步骤可变地控制的分量值列,产生包括特定乐音元素的变化值列的乐音数据。
[0010] 根据本发明的另一个方案,提供了一种乐音合成方法,用于使用存储部分来合成乐音,该存储部分存储了根据时间常数因子从原始波形数据的一个特别乐音元素的变化值列中提取的至少一个分量值列。本发明的这种乐音合成方法包括:第一步骤,根据希望的乐音产生时间长度,对于从存储部分读取的至少一个分量值列的时间轴执行在扩展或压缩控制,以便获得具有与希望乐音产生时间长度相对应的时间长度的分量值列;第二步骤,可变地控制从存储部分读取的或者具有根据第一步骤的扩展/压缩控制的时间轴的至少一个这种分量值列;第三步骤,根据从存储部分读取的或由第一步骤或第二步骤控制的至少一个这种分量值列,产生特别乐音元素的变化值列;以及第四步骤,使用变化值列和其它乐音元素相关数据,来产生具有乐音产生时间长度的乐音。
[0011] 不仅可以如上所述的方法发明来实现和构造本发明,还可以作为设备发明来构成和实现本发明。此外,对于计算机或处理器的执行,还可以将本发明实现为针对具有类似上述特点的过程的软件程序,以及存储这种软件程序的一种存储介质。此外,本发明中使用的处理器可以包括在硬件中具有专用逻辑构造的专用处理器,不需说,是计算机或能够运行希望的软件程序的其它多功能类型处理器。此外,如上所述,可以作为存储包括第一和第二分量值列(即“涌浪”和“波动”值列)的新数据结构的乐音合成数据的计算机可读存储介质来实现本发明。
[0012] 下面将说明本发明实施例,但是需要认识到,本发明不局限于所说明的实施例,并且在不脱离基本原理的前提下,本发明的各种修改是可能的。仅由所附的权利要求书来确定本发明的范围。

附图说明

[0013] 为了更好地理解本发明的目的及其它特点,下面将结合附图更详细地说明优选实施例,其中:
[0014] 图1是示出了根据本发明实施例用于数据产生处理的计算机的通用组成的示例的方框图;
[0015] 图2是示出了根据本发明实施例的数据产生处理的示例操作顺序的流程图;
[0016] 图3是示出了在实施例中波形的分析的示例波形图;
[0017] 图4是示出了涌浪和波动控制/乐音合成程序的示例流程图;
[0018] 图5是示出了根据图4的涌浪和波动控制/乐音合成程序的涌浪和波动值列的时间轴扩展/压缩控制的示例的示意图;以及
[0019] 图6是示出了根据本发明实施例的装备有乐音合成处理功能的电子乐器的通用组成的示例的方框图。

具体实施方式

[0020] [数据产生处理]
[0021] 首先,给出关于本发明的波形数据产生方法和设备及程序(集中称为“数据产生处理”)的实施例的说明,希望根据原始波形数据,针对特定乐音元素产生“涌浪”值和“波动”值列。
[0022] 图1是示出了根据本发明实施例的用于数据产生处理的计算机的通用组成的示例的方框图,其中计算机可以是任意适当传统的公知组成。在示出的示例中,计算机包括CPU(中央处理单元)1,ROM(只读存储器)2,RAM(随机存取存储器)3,包括键盘、鼠标等的输入操作设备4,显示器5,硬盘6,用于例如CD(光盘)和FD(软盘)的可移动存储介质的存储器接口7,用于与外部设备进行通信的通信接口8,用于输入波形数据的波形数据接口9,A/D转换器10等。
[0023] 图2是示出了根据本发明实施例的数据产生处理的示例操作列的流程图。将预存在CD或其它存储介质中的该处理程序安装到图1的计算机中,用于CPU1执行。
[0024] 在图2中用流程图表示的数据产生处理通常包括两个主要步骤S1和S2。第一步骤S1针对获得属于原始波形中的至少一个乐音元素的离散变化值列。该步骤S1可以包括任意公知的操作顺序,其优选示例如下设置。
[0025] 即,步骤S11针对获得要分析的原始波形数据。更具体地,每一个现场演奏的乐音被图1的麦克风12拾取,并且经由A/D转换器10被转换为数字波形数据(PCM波形数据),然后经由波形输入接口9和计算机总线11被存储到计算机中的适当存储器(例如RAM3或硬盘6)。图3的(c)部分示出了要分析的原始波形数据的示例。
[0026] 在下一步骤S12处,原始波形数据被按照时间顺序划分到多个段,并且对于每一个划分的段,针对至少各种类型乐音元素的特定一个来确定代表值,例如幅度和音高。然后,对于每一个划分的段,将确定的代表值与预定基准值的偏差确定为变化值,以便产生离散变化值的列,包括特定乐音元素的各个段的变化值的时间序列。假设在步骤S12处产生音高和幅度的变化值列。作为示例,可以使用传统公知的波形周期分析/确定技术来在每个周期确定由原始波形数据表示的波形,在将每一个周期确定的部分波形设置为段时,计算在一个周期波形(一个段)中各个采样幅度的有效值(功率值)的平均值,并且将这样计算的平均值设置为该段的幅度代表值。此外,将一个周期波形(即一段)的时间长度的倒数计算为频率(即乐音音高),并且将这样计算的频率设置为该段的音高的代表值。或者,将预定多个周期的确定部分波形设置为段,在这种情况下,可以计算多周期波形(一段)0中的各个采样幅度的有效值(功率值)的平均值,并且将这样计算的平均幅度值设置为该段的幅度的代表值。此外,在这种情况下,将多周期波形(即一段)的时间长度的倒数计算为频率(即乐音音高),并且将这样计算的频率设置为该段的音高的代表值。注意到可以将基准值设置为预定段的代表值的实际平均值(例如多个段的平均值)。为了推导每一个段的代表值的偏差,作为变化值,使用一种方案,用于计算段的代表值与基准值Ra或Rb的差别作为变化值,或者一种方案,用于计算段的代表值与基准值Ra或Rb的比值,作为变化值。或者,可以将每一个段本身的代表值作为变化值。
[0027] 按照上述方式产生的音高和幅度的变化值列被暂存到计算机中的适当存储器(例如RAM3或硬盘6)中。图3的(a)部分中的黑点表示根据图3(a)部分的原始波形数据产生的幅度的变化值列的示例,并且图3的(b)部分中的黑点表示根据原始波形数据产生的音高的变化值列的示例。图3的(a)和(b)部分的线Ra和Rp分别表示幅度基准值和音高基准值。每一个变化值可由相对于幅度基准值或音高基准值Ra和Rb的相对值来表示。注意到幅度基准值或音高基准值Ra和Rb可以是常数或者是根据希望变化的值。因为本发明主要关心的“涌浪”和“波动”是在乐音相对稳定地持续的部分出现的特征,通常足以对原始波形数据的每一个持续声音部分执行上述分析。注意,要分析的每一段不必与一个或多个波形周期同步,并且可以是适当的固定或可变时间长度的帧部分。
[0028] 作为上述第一步骤S1的修改,可以经由通信接口8从外部获得原始波形数据,或者经由存储器接口7从可移动存储介质13获取,而不是通过被与计算机相连的麦克风12拾取来获取。作为另一个修改,对于先前使用未示出的波形分析设备、计算机等来产生的表示音高或幅度的变化值列的数据,可以经由通信接口8从外部获取,或者经由存储器接口7从可移动存储介质13获取。
[0029] 接下来,在第二步骤S2处,根据时间常数因子(或类时间常数因子),将每一个变化值列分离为至少一个时间连续分量值列。在本实施例中,产生与相对较大时间常数的变化分量相对应的“涌浪”值列(即人类演奏者可控或希望的变化分量),作为第一分量值列,产生与相对较小时间常数的变化分量相对应的“波动”值列(即人类演奏者不可控或不希望的变化分量),作为第二分量值列。
[0030] 更具体地,在步骤S21处,对于每一个变化值列进行平滑处理,以便从其中提取相对较大时间常数的变化分量,并产生该变化分量,作为“涌浪”值列(第一分量值列)。不同地表述,如上所述提取相对较大时间常数的变化分量是:通过防止分量遵循变化列中的较小变化来提取平滑变化分量。具体地,可以通过执行任意适当方法来执行平滑过程,例如通过执行低通滤波计算、移动中值方法、各种移动平均数方法(简单的移动平均数方法、加权移动平均数方法、指数平滑方法等)运动模式方法、使用高斯滤波的方法或通过手指跟踪可视地显示或打印的变化值列的图像来手工地获得平滑图的方法。可以结合多种方法使用,而不只是一种。将这样产生的针对音高和幅度的“涌浪”值列(第一分量值列)存储到适当的存储器中(例如RAM3或硬盘6)。图3的(a)部分中的白点表示“涌浪”值列(第一分量值列)的示例,该“涌浪”值列是通过平滑由图3(a)部分中的黑点表示的幅度变化值列而获得的,而图3的(b)部分中的白点表示“涌浪”值列(第一分量值列)的示例,该“涌浪”值列是通过平滑由图3的(b)部分中的黑点表示的音高变化值列而获得的。
[0031] 在图2的步骤S22处,针对每一段来计算在上述第一步骤S1处获得的音高和幅度的变化值列之间的差别以及在上述第一步骤S21处获得的音高和幅度“涌浪”值的对应列(即,第一分量值列),并且产生每一个结果的差值列,作为与相对较小的时间常数的变化分量相对应的“波动”值列(即,第二分量值列)。将这样产生的音高和幅度的“波动”值列(即第二分量值列)存储到适当的存储器中(例如RAM3或硬盘6)。对于图3的(a)部分的每一段,白点和黑点之间的差值表示幅度的“波动”值,对于图3的(b)部分的每一段,白点和黑点之间的差值表示音高的“波动”值。
[0032] 注意到,可以通过除了上述差值计算方案以外的任意其它适当的方案来产生与相对较小时间常数的变化分量相对应的“波动”值列(即第二分量值列),例如比值、偏差等的计算。
[0033] 尽管在第二步骤S2处只需要将变化值列(变化值的列)分离为与“涌浪”和“波动”相对应的至少两个分量值列,可以从变化值列中分离一个或多个其它适当的分量值列,以便执行本发明。无需说,可以只产生“涌浪”和“波动”分量值列中的一个并且将其存储到存储器中。
[0034] 如本领域所公知的,采样波形数据包括三个主要乐音元素,即波形(音色元素波形)、幅度和音高,并且可以作为各自分析数据来分离地存储这些乐音元素。在乐音再现中,合成其中集成地包含波形(音色元素波形)、幅度和音高这三种乐音元素的乐音。在这种情况下,将在分析数据的幅度和音高变化值列中的每一个变化值表现为与分析数据中的乐音元素波形的基准值Ra或Rb相对应的相对值。在乐音合成中,可以根据例如速度数据的音量控制数据来可变地设置幅度基准值Ra,并且根据可变地设置的幅度基准值Ra,来执行与幅度变化值列相对应的幅度时间变化控制。此外,可以根据乐音音高指定数据(例如数据指定要产生的乐音的音高)来可变地设置音高基准值Rb,并且根据可变地设置的音高基准值Rb来执行与音高变化值列相对应的音高时间变化控制。
[0035] [乐音合成处理=“涌浪”和“波动”的控制]
[0036] 接下来,说明乐音合成处理的实施例,其中使用按照上述方式产生的、与乐音元素(即幅度和音高)相对应的“涌浪”值列(即第一分量值列)和“波动”值列(即第二分量值列)来合成乐音。可以响应在例如键盘的演奏操作装置上的演奏或自动演奏,实时地执行该乐音合成处理,也可以根据预先准备的演奏数据,非实时地执行该乐音合成处理。
[0037] 为了执行乐音合成处理,例如,将按照图1的方式的组成的计算机用作硬件,将如图4所示的涌浪和波动控制/乐音合成程序存储到计算机中并由CPU1执行。为此,在适当的存储器(例如RAM3或硬盘6)中内置包括数据结构的乐音合成数据的数据库,针对各种类型乐音和/或演出风格,所述数据结构包括按照上述方式产生的、与乐音元素(即幅度和音高)相对应的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)。如上所述,对于一种乐音和/或演出风格,与各种类型乐音和演出风格相对应的每一组波形数据包括与至少三种乐音元素(即上述的波形(音色元素波形)、幅度和音高)相对应的时间顺序数据(分析数据或乐音合成数据)。在此,如上所述,与幅度和音高相对应的时间顺序数据(分析数据或乐音合成数据)包括幅度和音高的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)。此外,尽管波形(音色元素波形)的时间顺序数据包括波形采样数据,所述波形采样数据以例如PCM或DPCM数据格式的适当数据格式来表示每一段的波形(音色元素波形),为了压缩要存储的波形采样数据的量,可以针对多个段存储一个代表的波形采样数据。在这种情况下,通过代表波形采样数据的重复读取或通过再现时的波形插值处理,可以再现随时间变化的高品质波形(音色元素波形)。注意到,图1的计算机装备有硬件和软件资源,例如乐音合成部分14、扬声器15等,以便执行乐音波形合成或产生。如本领域所公知,乐音合成部分14可以是硬件乐音产生设备或软件乐音产生器的形式。
[0038] 当响应在例如键盘的演奏操作装置上的演奏或自动演奏的执行,在预定乐音产生定时处实时地、或在预定乐音产生定时之前非实时地,指定要产生的乐音的音色或演出风格时,对于要产生的乐音发起乐音合成处理。典型地,如本领域所公知,当要产生单个乐音时,首先合成起奏部分的乐音,然后依次地合成持续部分、释放或消逝部分(release or decay portion)的乐音。因此,可以合成具有上述依次彼此连接的部分的乐音波形。因为在实时实施例中是根据乐音的持续部分产生涌浪和波动控制/合成的,将不说明关于起奏、释放和其它部分。当要合成持续部分的乐音时,按照时间连续的顺序从上述数据库中读取与指定音色或演出风格的音色元素波形数据、幅度相对应的“涌浪”值列(第一分量值列)和“波动”值列(第二值列)、以及音高的“涌浪”值列(第一分量值列)和“波动”值列(第二值列)。此时,根据图4示意地示出的涌浪和波动控制/乐音合成程序来产生幅度和音高变化值列,根据产生的音高变化值列以根据时间变化的音高读取的音色元素波形数据的音高,并对于波形数据,执行根据产生的幅度变化值列随时间变化的幅度控制。按照这种方式,根据多个随时间变化的乐音元素(波形、音高和幅度)来合成乐音波形。下面一段将详细说明图4的涌浪和波动控制/乐音合成处理。注意到本发明的应用不局限于持续部分的乐音合成,并且本发明的基本原理当然地适用于任意其它希望部分的乐音合成。
[0039] 在图4的步骤S3处,根据希望的乐音产生时间长度来执行控制,以便对于从数据库中读取的彼此独立的幅度和音高,扩展或压缩“涌浪”值列(第一分量值列)和“波动”值列(第二值列)的时间轴。在非实时合成或自动演奏的情况下,从预先准备的演奏数据中可以识别乐音产生时间长度并使用它。在响应人类演奏者演奏的实时合成的情况下,可以使用适当的估计乐音产生时间长度,在这种情况下,根据乐音合成的进行来连续地修订估计乐音产生时间长度。即,能够产生“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列),同时正确地执行合成波形周期或段的时间管理。对于从数据库中读取的音色元素波形的时间顺序数据,执行类似的时间轴扩展/压缩控制。图5是示出了这种时间连续扩展/压缩控制的示例的示意图。更具体地,图5的(a)部分示意地示出了存储在数据库中的音色元素波形W的时间顺序数据、以及针对幅度(或音高)的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)。图5的(b)部分示意地示出了已经被压缩的时间轴。例如,在日本专利申请未审公开No.平-10-307586中,公知使用例如数据差值合成、重复(循环)和略过(使变少)的各种通常已知的技术实现的时间轴扩展/压缩控制的细节,因此在此不详细解释。可以执行关于彼此独立的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)的时间轴扩展/压缩控制。
[0040] 在步骤S4处,对于已经根据上述希望的乐音产生时间长度执行了时间轴扩展/压缩的、幅度和音高的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列),彼此独立地进行数值的可变调整/控制。通过将其与预定乘法因子相乘(即,与权重相乘)或者向或从讨论的数值添加或减去一个值,可以调整每一个数值。图5的(b)部分中的A’示意地示出了通过利用预定乘法因子(加权系数)对具有幅度A(或音高)的数值执行加权控制而获得的改变“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)。当然,可以在时间上适当地变化乘法因子(加权系数),而不是在乐音产生期间保持常数值。可以响应由人类操作者进行的调整操作者的操作来产生例如乘法因子(加权系数)的控制数据或参数,或者响应人类操作者的选择操作或根据演出风格等自动地从适当的存储器或数据产生器中产生,或者在由计算机执行某些应用程序期间自动地产生。
[0041] 对于与人类演奏者可控或希望的变化分量相对应的“波动”值(第二分量值列),优选地,认为该值与步骤S4处读取的数值没有较大不同,或者完全相同。然而,本发明不局限于这种控制。注意到,在步骤S4处,不必可变地控制所有分量值列。只对于至少一个乐音元素(例如幅度或音高)的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)之一进行可变控制。
[0042] 在步骤S5处,通过将幅度“波动”值列(第二分量值列)添加到在步骤S4处可变受控的幅度“涌浪”值列(第一分量值列),可以产生幅度变化值列。类似地,通过将音高“波动”值列(第二分量值列)添加到音高“涌浪”值列(第一分量值列),可以产生音高变化值列。在步骤S5处的算术运算不局限于加法而可以是任意希望的加、减、乘和除之一,取决于设计条件,例如变化值列的数据格式是线性还是对数。这里主要的是,通过合成“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列),对于在分离状态下可变控制的特定乐音元素(例如幅度或音高),只产生(再现)变化值列。
[0043] 在步骤S6处,通过将已经按照上述方式可变地受控并产生的音高变化值列添加到用于可变地设置要产生的乐音的基准音高的音高基准值Rp(或者通过执行根据设计条件确定的、在可变受控的音高变化值列和音高基准值Rp之间的乘法或其它算术运算),来产生按照时间顺序方式变化的音高设置信息,以便读取与音色相对应的音色元素波形数据或读取要产生的乐音的演出风格。此外,通过将已经按照上述方式可变地受控并产生的幅度变化值列添加到用于可变地设置要产生的乐音的基准音量幅度的幅度基准值Ra(或者通过执行根据设计条件确定的、在可变受控的幅度变化值列和幅度基准值Ra之间的乘法或其它算术运算),来产生按照时间连续方式变化的幅度设置信息,以便根据上述希望的音高来设置要读取的波形数据的音量幅度。按照这种方式,根据多个随时间变化的受控乐音元素(波形、音高、幅度等)来执行乐音波形合成。因为,在执行乐音波形合成中,可以可变地控制彼此独立的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列),能够极容易地实现高品质的控制。尽管至今已经作出关于在乐音合成中同时使用“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)的情况的说明,本发明不局限于此,并且在乐音合成中可以只使用分量值列之一。
[0044] 用于执行本发明的设备可以是专用于音乐演奏或乐音合成的设备,例如电子乐器或自动演出音序器、不局限于例如个人计算机的多用途计算机。图6是示出了根据本发明实施例装备有乐音合成处理功能的电子乐器的通用组成的示例的方框图。电子乐器包括作为乐音数据库的存储设备21,在其中存储了由外部或属于电子乐器的数据生成设备20生成的乐音合成数据。即,数据产生设备20执行上面参考图1和图2所述的本发明乐音数据生成处理,以便将乐音合成数据存储到作为数据库的存储设备21中,在乐音合成数据中的数据结构包括按照上述针对不同乐音类型和/或演出风格的方式产生的、与各种乐音元素(即幅度和音高)相对应的“涌浪”值列(第一分量值列)和“波动”值列
[0045] (第二分量值列)。
[0046] 在图6中,键盘电路50包括多个执行按键。检测电路51检测表示键盘电路50中任意一个按键的按压的“音调扬”(note-on)信号、表示任意按键的释放的“音调抑”(note-off)信号、表示乐音音高信息的按键编码信号或表示按键按下速度的速度信号,并且检测电路51将每一个检测到的信号提供给乐音控制数据提供电路57。检测电路52检测表示按键在键盘电路50上的按压力量的触摸后(after-touch)信号。
[0047] 平板面板55包括:可以手动操作以便给出音量调整、音色选择、任意不同效果的告知等的指令的开关;以及操作用于可变地调整/控制各种乐音元素的操作器。开关检测电路56检测开关面板55上的开关和操作器的操作状态,并且将这些检测到的状态输出到乐音控制数据控制电路57。可以经由开关面板55的音色选择开关或演出风格选择开关来选择任意希望的音色或演出风格。当选择了希望音色或演出风格时,乐音控制数据控制电路57将与音色或演出风格选择相对应的控制数据提供给波形产生电路62、数字滤波器63、音高涌浪/波动产生电路58、滤波器系数EG 59和幅度涌浪/波动产生电路60。此外,当操作了用于可变调整幅度或音高的操作器时,将对应的调整/控制数据提供给音高涌浪/波动产生电路58或幅度涌浪/波动产生电路60。
[0048] 乐音控制数据控制电路57接收由检测电路51和52检测到的按键事件和由开关检测电路56检测到的开关操作状态,根据该状态乐音控制数据控制电路57将给定信号输出到驱动器65。响应输入信号,驱动器54在显示器53上显示选定的音色、演出风格等。例如,显示器53是液晶显示器(LCD)的形式。
[0049] 响应从键盘电路50检测到的按键事件,乐音控制数据控制电路57将乐音控制数据提供给与预定(分配的)乐音产生通道相对应的乐音产生部分68。假设设置了总共16个按时间划分的乐音产生通道和与其有对应关系的乐音产生部分68,将乐音控制数据提供给与预定乐音产生通道相对应的16个乐音产生部分68之一。即,乐音产生部分68根据16-通道时间划分原则进行操作,以便按时间划分地产生16个独立的乐音,并且将产生的乐音输出到累加器65。
[0050] 根据从乐音控制数据控制电路57提供的音色或演出风格选择数据和音高数据,音高涌浪/波动产生电路58从存储设备21获得针对选定音色或演出风格的音高的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列),并且随后执行类似于在图4步骤S3-S5处解释的操作,以便产生针对选定音色或演出风格的音高变化值列。将这样产生的音高变化值列提供给加法器61。同时,乐音控制数据控制电路75将音高数据提供给加法器61,该音高数据与由检测电路51检测到演奏按键的按键编码信号相对应。该音高数据对应于上述音高基准值Rp。因此,加法器61将按照上述方式可变地受控并产生的音高变化值列添加到表示要产生的乐音的基准音高的音高基准值Rp,以便产生在时间上连续地变化的音高设置信息,并且将这样产生的音高设置信息提供给波形产生电路62。假设以表示频率对数的音程(cent)来表现音高数据(音高基准值Rp),由添加了音高变化值列的音高数据来产生乐音音高的对数信号。因为频率对数对于听觉是线性的,根据音高数据和系数之间加法的调制对于实现真实的音高调制是有利的。然而,本发明不局限于此,音高数据(音高基准值Rp)可以是线性表示。或者,例如,还可以设置电路,用于产生模拟在乐音增强期间的起奏音高摇摆和频率摇摆的包络,以便产生具有乐音增强期间的起奏音高调制效果的波形。在此不给出电路的细节。
[0051] 根据音调扬或音调抑信号来控制波形产生电路62的波形产生的开始和结束。波形产生电路62产生与从乐音控制数据控制电路57提供的波形指定信号相对应的形状波形,并且将这样产生的波形提供给数字滤波器63。即,根据从乐音控制数据控制电路57给出的音色或演出风格,波形产生电路62从存储设备21中获得针对选定音色或演出风格的音色元素。然后,波形产生电路62在与加法器61给出的音高设置信息相对应的音高处读取并产生音色元素波形,并且在随时间变化的音色元素和波形之间进行插值的同时,还执行插值合成等。波形产生电路62还可以使用除了上述波形存储乐音产生方法之外的任意希望的乐音产生方法,例如FM、AM、和弦合成或物理模型乐音产生方法。即,不管使用了哪一种移动产生方法,都能够享受本发明的优点,其中对于从例如音高和幅度的各种乐音元素中的至少一个的变化值列中分离出的“涌浪”值列和“波动”值列进行了控制。
[0052] 例如,数字滤波器63通过根据从乐音控制数据提供电路57和滤波器系数EG59提供的控制数据(例如滤波器系数)改变截止频率,来执行音色控制。例如,对于乐音的增强,提高截止频率以提供明亮的音色,然后在随着时间降低以提供安静的音色。
[0053] 从数字滤波器63输出的每一个信号被提供给包络乘法电路64,在此将提供的信号乘以幅度涌浪/波动产生电路60产生的持续部分的幅度控制包络波形,以便控制要产生的乐音波形的音量幅度。幅度涌浪/波动产生电路60不仅产生幅度涌浪/波动值,还产生对于起奏和释放部分的音量幅度控制包络波形,其细节在此被省略。根据乐音控制数据提供电路57给出的音色或演出风格,幅度涌浪/波动产生电路60从存储设备21中获得根据每一个发出选定音色和演出风格的调子强度的“涌浪”值列(第一分量值列)和“波动”值列(第二分量值列)。然后,幅度涌浪/波动产生电路60对于获得的值列执行类似于图4的步骤S3-S5的操作,以便产生针对选定音色或演出风格的幅度变化值列。通过将这样产生的幅度变化值列与幅度基准值Ra相加或相乘,电路60产生持续部分的幅度包络波形并且将这样产生的包络提供给包络乘法电路64。
[0054] 从包络乘法电路64输出的每一个乐音信号成为乐音产生部分80的输出信号,以便将在数目上与乐音产生通道相对应的乐音信号根据时间划分原则提供给累加器65。累加器65将提供的各个乐音产生通道的乐音信号进行合成,并且将这样产生的乐音信号提供给D/A转换器66。将提供给D/A转换器66的每一个乐音信号从数字表示转换到模拟表示,以使经由声音系统67将转换的乐音信号发出或可听地再现。
[0055] 在演奏期间,可以实时地经由开关面板55手动输入电路58-60的控制数据或参数。此外,在编辑模式中,通过参数开关或开关面板55的其它操作器的操作,能够相对于乐音产生非实时地可变设置/调整电路58-60的控制数据或参数。作为选择、控制和调整操作装置,除了开关面板55,还可以使用其它适当的操作装置,例如鼠标、数字小键盘、字母数字键盘、执行或操作触摸板。