波形产生方法和装置

申请号 CN02108101.8 申请日 2002-03-26 公开(公告)号 CN1383129A 公开(公告)日 2002-12-04
申请人 雅马哈株式会社; 发明人 田邑元一; 梅山康之; 增田英之; 赤沢英治;
摘要 按时间顺序提供 指定 各奏法模 块 的演奏过程信息 片段 。当要根据所提供的演奏过程信息片段处理给定时间点的给定演奏过程信息片段时,在该给定演奏过程信息片段之后,其他演奏过程信息片段的预定原始时间 位置 之前,取得与一个或多个过程相关的另一个演奏过程信息片段。在一给定演奏过程信息片段和预先所取得的其他演奏过程信息片段的 基础 上,产生与该给定演奏过程信息片段和该其他演奏过程信息片段中至少一个所指定的奏法模块相对应的控制数据,并且在该控制数据的基础上,合成与所指定奏法模块相对应的 波形 。
权利要求

1.一种波形产生方法,该方法包括以下步骤:
按时间顺序提供指定各奏法模的演奏过程信息片段
当要根据所述按时间顺序提供指定各奏法模块的演奏过程信息片段 的步骤所提供的演奏过程信息片段处理给定时间点的给定演奏过程信息 片段时,在该给定演奏过程信息片段之后,其他演奏过程信息片段的预定 原始时间位置之前,取得与一个或多个过程相关的另一个演奏过程信息片 段;
在给定演奏过程信息片段和预先通过所述取得步骤取得的其他演奏 过程信息片段的基础上,产生与该给定演奏过程信息片段和该其他演奏过 程信息片段中至少一个所指定的奏法模块相对应的控制数据;以及
在该控制数据的基础上,合成与所指定奏法模块相对应的波形数据。
2.如权利要求1所述的波形产生方法,其特征在于在给定演奏过程 信息片段和预先取得的其他演奏过程信息片段的基础上,所述产生控制数 据的步骤处理对应于该给定演奏过程信息片段和该其他演奏过程信息片 段的至少一个所指定的奏法模块的控制数据。
3.一种计算机程序,它包括用来使计算机执行如权利要求1或2所 述的波形产生方法的一组指令。
4.一种波形产生装置,包括:
按时间顺序提供指定各奏法模块的演奏过程信息片段的装置;
取得装置,当要根据所述按时间顺序提供的装置提供的演奏过程信息 片段处理给定时间点的给定演奏过程信息片段时,在该给定演奏过程信息 片段之后,其他演奏过程信息片段的预定原始时间位置之前,该装置取得 与一个或多个过程相关的另一个演奏过程信息片段;
产生控制数据的装置,该装置在给定演奏过程信息片段和预先由所述 取得装置取得的其他演奏过程信息片段的基础上产生对应于该给定演奏 过程信息片段和该其他演奏过程信息片段的至少一个所指定的奏法模块 的控制数据;以及
在该控制数据的基础上合成对应于所指定奏法模块的波形数据的合 成波形数据装置。
5.一种波形产生方法,包括以下步骤:
按顺序指定奏法模块;
取得与前面奏法模块的至少一个尾端部特征有关的尾端信息和与后 面奏法模块的至少一个头端部特征有关的头端信息;
在由所述取得步骤取得的尾端信息和头端信息的基础上修改前面和 后面奏法模块至少一个的特征;以及
根据所述修改步骤修改的特征合成对应于所述按顺序指定步骤所指 定的奏法模块的一个波形。
6.如权利要求5所述的波形产生方法,其特征在于所述尾端信息和 头端信息的每一个都包括时间信息和平信息的至少一个。
7.一种计算机程序,它包括用来使计算机执行如权利要求5或6所 述波形产生方法的一组指令。
8.一种波形产生装置,包括:
按顺序指定指定奏法模块的装置;
取得与前面奏法模块的至少一个尾端部特征有关的尾端信息和与后 面奏法模块的至少一个头端部特征有关的头端信息的装置;
该装置在由所述取得装置取得的尾端信息和头端信息的基础上修改 前面和后面奏法模块中至少一个的特征的装置;以及
根据所述修改装置修改的特征合成对应于所述按顺序指定奏法模块 的装置所指定奏法模块的一个波形的装置。
9.一种波形产生方法,包括以下步骤:
提供包括指定一奏法模块的信息的奏法模块指定信息和用来控制该 奏法模块的参数信息;
当必要参数信息中缺少所述提供步骤提供的奏法指定信息时,以一预 定标准参数填充缺少的必要参数信息,由此补充该奏法指定信息;以及
合成对应于在包括以预定标准参数信息补充的奏法指定信息的奏法 指定信息的基础上指定的奏法模块的波形数据。
10.一种计算机程序,它用来使计算机执行如权利要求9所述波形产 生方法。
11.一种波形产生装置,包括:
提供包括指定奏法模块的信息和用来控制该奏法模块的参数信息的 奏法指定信息装置;
当必要参数信息中缺少所述提供装置提供的奏法指定信息时,以预定 标准参数填充缺少的必要参数信息来补充该奏法指定信息的装置;以及
合成对应于在包括以预定标准参数信息补充的奏法指定信息的奏法 指定信息的基础上指定的奏法模块的波形数据。
12.一种波形产生方法,包括以下步骤:
按时间顺序提供指定奏法模块的演奏过程信息片段;
在给定的演奏过程信息的基础上产生对应于奏法模块的波形数据;
其中当要合成至少包括激起部分和主体部分的波形时,所述提供步骤 提供用来指定该激起部分的波形的第一模块过程数据、指示项数据和用来 指定主体部分的波形的第二模块过程数据,作为演奏过程信息;
其中所述产生步骤响应于该指示项数据之前提供的所述第一模块过 程数据开始产生该激起部分的波形,并且响应于该指示项数据之后提供的 所述第二模块过程数据开始产生主体部分的波形。
13.如权利要求12的波形产生方法,其特征在于当要合成至少包括 主体部分和离开部分的波形时,所述提供步骤提供用来指定该离开部分和 提示结束项数据的波形并跟随用来指定主体部分的波形的第二模块过程 数据的第三模块过程数据;以及
其中所述产生步骤响应于在该提示结束项数据之前并响应于所述第 二模块过程数据已经产生了主体部分的波形之后提供的所述第三模块过 程数据开始产生该离开部分的波形。
14.一种计算机程序,它用来使计算机执行如权利要求12或13所述 波形产生方法。
15.一种波形产生装置,包括:
按时间顺序提供指定奏法模块的演奏过程信息片段的装置;和
在给定的演奏过程信息的基础上产生对应于奏法模块的波形数据的 装置;
其中当要合成至少包括激起部分和主体部分的波形时,所述提供步骤 提供用来指定该激起部分的波形的第一模块过程数据、指示项数据和用来 指定主体部分的波形的第二模块过程数据,作为演奏过程信息;
其中所述产生步骤响应于该指示项数据之前提供的所述第一模块过 程数据开始产生该激起部分的波形,并且响应于该指示项数据之后提供的 所述第二模块过程数据开始产生主体部分的波形。
16.如权利要求15的波形产生装置,其特征在于当要合成至少包括 主体部分和离开部分的波形时,所述提供步骤提供用来指定该离开部分和 提示结束项数据的波形并跟随用来指定主体部分的波形的第二模块过程 数据的第三模块过程数据;以及
其中所述产生步骤响应于在该提示结束项数据之前并响应于所述第 二模块过程数据已经产生了主体部分的波形之后提供的所述第三模块过 程数据开始产生该离开部分的波形。

说明书全文

技术领域

发明涉及以从波形存储器等装置中读取的波形数据为基础产生乐 音、语音或其他期望声音波形的方法和装置,尤其涉及一种改进的波形产 生方法和装置,这种方法和装置能够产生如实体现音色变化的波形,音色 变化受普通乐器所特有的奏法或链接格调的影响。应注意的是,本发明可 广泛用于所有能产生乐音、语音或其他期望声音波形的装置、装置或方法 的领域,例如自动演奏装置、计算机、电子游戏机或其他类型的多媒体装 置,更不用说普通的电子乐器。还应注意的是,在本说明书中,术语“声 音(tone)”不仅用来代表乐音,而且用来代表语音或其他声音,类似地, 术语“声音波形”用来包括语音波形或任何其他期望的声音波形,而不是 单指乐音的波形。

背景技术

通常所说的“波形存储器读取”方法已经是众所周知,其中用期望的 编码方法如PCM(脉冲编码调制)、DPCM(差分PCM)或ADPCM(自适应差 分PCM)所编码的波形数据(即,波形采样数据)预先存储在一波形存储 器中,以便能够通过以与所要求的音调高低相对应的速率从该存储器中读 取波形数据产生声音波形。至今已知有各种形式的波形存储器读取技术。 大多数公知的波形存储器读取技术用来产生所要发出声音自始至终的波 形。在公知的波形存储器读取技术实例中有这样一种技术,即,预先存储 所要发出声音自始至终的整个波形的波形数据;还有一种技术,即,对变 化复杂的声音预先存储激起部分等整段波形的波形数据,并对持续音或其 他变化小的部分预先存储预定循环波形片段。在本说明书中,术语“循环 波形”用来代表要以重复(循环)方式读取的波形。
在这些预先存储所要发出声音自始至终的整个波形的波形数据,或者 预先存储一个声音激起部分等的整段波形的波形数据的波形存储器读出 技术中,必须预先存储与各种奏法(或链接)相对应的多种多样的种种波 形数据,因而需要很大的存储容量来存储多种多样的波形数据。
另外,虽然上述用来预先存储整个波形的波形数据的技术可以如实地 体现受普通乐器所特有的各种奏法或链接影响的音色变化,但是它只能再 现与预先存储数据所表现的声音方式相同的声音,因而其易于出现可控性 差、可编辑性差的情况。例如,对于进行波形特征控制的技术来说非常困 难,这种技术例如是根据演奏数据控制与要求的奏法或链接相对应的波形 数据的时间轴。
为了解决上述麻烦之处,在第2000-122665号等日本专利公开文献 中已经提出了更先进的技术,这些技术便于实现逼真地再现和控制普通乐 器所特有的各种奏法(或链接);这些技术是公知的SAEM(声音链接要素 模化(Sound Articulation Element Modeling))技术。在这些SAEM 技术的情况下,当要将若干奏法波形模块按时间连续连接在一起以产生一 连续的声音波形时,希望把这些奏法波形模块连接起来,而不存在不自然 的情况。

发明内容

由于前述原因,本发明的一个目的在于提供一种波形产生方法和装 置,这种方法和装置能够以容易且简化的方式产生与各种奏法(或链接) 相对应的高质量波形数据,而且可控性好。
本发明的另一个目的在于提供一种波形产生方法和装置,在产生与各 种奏法(或链接)相对应的高质量波形数据方面,这种方法和装置能够把 各奏法模块互连在一起,而不存在不自然的情况。
本发明的又一个目的在于提供一种波形产生方法和装置,这种方法和 装置便于创建音乐片段数据,并且易于操作。
根据本发明的第一方面,提供一种波形产生方法,该方法包括以下步 骤:根据时间顺序提供指定各奏法模块的演奏过程信息片段;当要根据按 时间顺序提供的演奏过程信息片段处理给定时间点的给定演奏过程信息 片段时,在该给定演奏过程信息片段之后,其他演奏过程信息片段的预定 原始时间位置之前,取得与一个或多个过程相关的另一个演奏过程信息片 段;在一给定演奏过程信息片段和预先通过所述取得步骤取得的其他演奏 过程信息片段的基础上,产生与该给定片段和该其他片段中至少一个所指 定的奏法模块相对应的控制数据;在该控制数据的基础上,合成与所指定 奏法模块相对应的波形数据。
本发明的特征在于,当要根据按时间顺序提供的演奏过程信息片段处 理给定时间点的给定演奏过程信息片段时,在其他演奏过程信息片段的预 定原始时间位置之前,取得与该给定演奏过程信息片段之后的一个或多个 过程相关的另一个演奏过程信息片段,然后,在至少一个给定演奏过程信 息片段和其他预先通过上述取得步骤取得的其他演奏过程信息片段的基 础上,产生与该给定片段和该其他片段所指定的奏法模块相对应的控制数 据。该设置能够考虑到以连续的演奏过程信息片段为基础的奏法模块之间 的关系创建控制数据。例如,如此设置的本发明能够对控制数据作适当处 理,以使以连续的演奏过程信息片段为基础的奏法模块所指定的奏法波形 能够平滑互连。
根据本发明的第二方面,提供一种波形产生方法,该方法包括以下步 骤:按顺序指定奏法模块;取得与前面奏法模块的至少一个尾端部的特征 有关的尾端信息和与后面奏法模块的至少一个头端部特征有关的头端信 息;在所取得的尾端信息和头端信息的基础上,修改至少一个前面和后面 奏法模块的特征;根据修改的特征,合成与所指定奏法模块相对应的一个 波形。
本发明的特征在于,在实际合成与该前面奏法模块相对应的一个波形 之前,借助所谓“预演”来取得与前面奏法模块的至少一个尾部特征有关 的尾端信息和与后面奏法模块的至少一个头端部特征有关的头端信息。根 据如此取得的尾部和头端信息,修改该前面奏法模块和该后面奏法模块中 至少一个的特征,以使该前面奏法模块和该后面奏法模块能够平滑互连。 把如此修改的特征保留起来作为一个参数或控制数据。然后,根据修改的 特征实际合成与所指定奏法模块相对应的波形。这样,以该连续的(前面 的和后面的)奏法模块为基础的奏法波形就可以平滑互连起来。
根据本发明的第三方面,提供一种波形产生方法,该方法包括以下步 骤:提供包括指定一奏法模块的信息和用来控制该奏法模块的参数信息的 奏法指定信息;当必要参数信息中缺少所提供的奏法指定信息时,以一预 定标准参数填充缺少的必要参数信息,由此补充该奏法指定信息;合成对 应于在包括以预定标准参数信息补充的奏法指定信息的奏法指定信息的 基础上指定的奏法模块的波形数据。
本发明的特征在于,当合成与任何所提供的奏法指定信息所指定的奏 法模块相对应的奏法波形所必要的参数信息中缺少该指定信息时,以一预 定标准参数自动填充缺少的必要参数信息,由此补充该奏法指定信息,以 便能够方便地合成所指定的奏法模块相对应的奏法波形。例如,如果指定 的奏法模块是具有颤吟特征的奏法波形的模块,那么表示颤吟深度等的控 制参数必须按正常情况准备。但是,即使在这些必需参数不包括在奏法指 定信息中的情况下,填充如上设置的本发明特征的参数也可以方便地合成 要求的的奏法波形。当要采用预定的标准参数时,可以准备固定的缺省值, 该缺省值对应于每一种奏法模块的参数。另一方面,可以将这些参数最后 使用(最近使用)的值存入存储器中,以便将其用作标准参数(可变缺省 值)。由于本发明可以如此省去对在奏法指定信息中包括所有必需参数的 需要,所以本发明可以有效地减少创建要自动演奏音乐片段的数据的负 荷、时间和劳动。
本发明不仅可以构成和实现为如上所述的方法发明,还可以为装置发 明。而且,本发明可以设置和实现为一软件程序和一存储媒体,该软件程 序由一处理器如计算机或DSP执行,该存储媒体存储该程序。此外,用于 本发明的处理器可以包括具有由硬件构建的专用逻辑的专用处理器,更不 必说能够运行期望的软件程序的计算机或其他通用型处理器。
尽管这里要描述的实施例代表本发明的优选形式,不过应理解的是, 对于本领域的那些普通技术人员来说,在不脱离本发明的实质的情况下, 可作各种修改。因此,本发明范围只由所附的权利要求书确定。
附图说明
为了更好地理解本发明的这些目的和其他特征,以下将参考附图详细 描述其实施例,其中:
图1是表示根据本发明一个实施例的波形产生装置的典型硬件结构的 方框图
图2是说明一奏法模块的典型数据格式的图;
图3是表示对应于给定的奏法模块构成一实际波形段的不同波形成分 和元素的示意图,;
图4是说明给定音乐片段的自动演奏数据集(文件)的典型总体结构 图;
图5是表示图1实施例中进行的奏法波形产生处理的大致步骤顺序的 流程图
图6是大致表示出构成该实施例中奏法波形产生处理的各种处理方框 所执行的各种操作之间总体关系的示意性时序图;
图7A是示出一奏法过程序列对象实例的图;
图7B是一时序图,表示对一当前奏法过程进行处理的时间和对一后 面奏法过程预先读取的时间之间的关系;
图8是一时序图,表示其中把要产生声音自始至终的奏法模块结合在 一起的典型方式;
图9A至9D是流程图,表示与各种奏法模块相对应的预演处理过程实 例;
图10是示出以下实例的图:激起部分奏法模块((a)和(b)区) 中泛音分量和非泛音分量的向量实例;主体部分奏法模块((c)和(d) 区)中泛音分量和非泛音分量的向量实例;
图11是示出以下实例的图:连接部分奏法模块((a)和(b)区) 中泛音分量和非泛音分量的向量实例;断开部分奏法模块((c)和(d) 区)中泛音分量和非泛音分量的向量实例。

具体实施方式

优选实施例的详细描述

[硬件设置]
图1是表示根据本发明一个实施例的波形产生装置的典型硬件结构的 方框图。此处图示的波形产生装置采用一台计算机构成,预定波形产生处 理过程通过计算机执行预定波形产生程序(软件)来进行。当然,该波形 产生处理过程可以通过DSP(数字信号处理器)执行的微程序而不是通过 计算机软件来实现。而且,本发明的波形产生处理过程可以通过专用的硬 件装置实现,该专用的硬件装置包括分立电路或集成电路或大规模集成电 路。另外,本发明的波形产生装置可以实现为一电子乐器、卡拉OK机、 电子游戏机、与多媒体有关的装置、个人计算机或其他所要求形式的产品。
图1中,根据本发明该实施例的波形产生装置包括CPU(中央处理单 元)101,它起计算机的主控制部分作用,经总线(例如数据和地址总线) BL连接有以下部分:ROM(只读存储器)102、RAM(随机存取存储器)103、 开关面板104、面板显示单元105、驱动器106、波形输入部分107、波形 输出部分108、硬盘109和通信接口111。如以下将要描述的那样,CPU101 执行各种涉及以预定程序为基础的“奏法波形产生”、“基于软件发声器 的普通声音合成”等过程。例如,从一网络经通信接口111或从安装在驱 动器106中的外部存储媒体106A如CD或MO(磁光盘)提供这些程序,然 后将这些程序存入硬盘109。对于执行所期望的一个程序来说,从硬盘109 中将所期望的程序装入RAM 103中;不过,这些程序可以预先存储在ROM 102 中。
ROM 102中存储有要由CPU 101执行或涉及的各种程序和数据。RAM 103 用作一个工作存储器,它用来在CPU 101执行各程序时暂时存储与演奏有 关的各种信息和所产生的各种数据;或者用作存储当前执行的程序和与该 程序有关的数据的存储器。RAM 103的预定地址区分配给各个功能,并且 用作各种寄存器、特征位、表、存储器等。开关面板104包括各种操作部 件,它们用来输入各种设定信息如演奏条件和波形产生条件,编辑波形数 据等,并且输入各种其他信息。例如,开关面板104可以是用来输入数字 值数据的10个数字按键键盘的形式、用来输入字符数据的键盘和/或面板 开关。开关面板104还可以包括其他用来选择、设定和控制每一个要产生 声音的音调高低、音色、音效等的操作部件。面板显示单元105包括液晶 显示装置(LCD)、CRT(阴极射线管)和/或类似用来显示经开关面板104 输入的各种信息、采样波形数据等的装置。
波形输入部分107包括一A/D转换器,该转换器用来把通过外部波形 输入装置如麦克输入的模拟声音信号转换为数字数据(波形数据采样), 该部分将如此采样的数字波形数据作为数字波形数据输入至RAM 103或硬 盘109中。奏法波形数据库可以在上述输入波形数据的基础上创建。而且, 由CPU通过波形产生处理过程产生的波形数据经总线BL送至波形输出部 分108,必要时然后存入其缓冲存储器。波形输出部分108在一预定输出 采样频率下读取所缓存的波形数据,然后在D/A转换该波形数据后将该数 据发送给音响系统108A。这样,通过音响系统108A听到或可听见地再现 每一个从该波形输出部分108输出的声音信号。这里,硬盘109用来起一 数据库的作用,它存储用来合成与奏法相对应波形的数据(下文描述的奏 法表、编码簿等的各种数据)、普通波形数据、与演奏有关的若干类型数 据如由各种音色参数组成的音色数据、与控制有关的数据如要由CPU 101 执行的各种程序。
驱动器106用来驱动可拆卸盘(外部存储媒体106A),该可拆卸盘存 储用来合成与奏法相对应波形的数据(下文描述的奏法表、编码簿等的各 种数据)、普通波形数据、与演奏有关的若干类型数据如由各种音色参数 组成的音色数据、与控制有关的数据如要由CPU 101执行的各种程序。要 由驱动器106驱动的外部存储媒体106A可以是各种公知的可拆卸式媒体 中的任何一种,例如软盘(FD)、光盘(CD-ROM或CD-RAM)、磁光(MO) 盘或数字化视频光盘(DVD)。设置在驱动器106中的外部存储媒体106A 所存储的内容(控制程序)可以直接装入RAM 103中,而不必首先装入硬 盘109中。经外部存储媒体106A或经通信网络提供期望程序的方法的有 利之处在于,它非常便于对控制程序进行版本升级、增加新的控制程序等 等。
另外,通信接口111接至通信网络如LAN(局域网)、互连网或电话 线,它可以通过该通信网络接至一期望的服务器计算机等装置(图中未 示),以便将控制程序和各种数据或者演奏信息输入至波形产生装置。即, 在特定的控制程序和各种数据不包括在波形产生装置的ROM 102或硬盘 109中的情况下,这些控制程序和数据可以从该服务器计算机经通信接口 111下载到波形产生装置中。这种情况下,作为“客户端”的本发明的波 形产生装置借助通信接口111和通信网络向服务器计算机发送一个请求命 令以下载控制程序和各种数据。响应于来自客户端的命令,服务器计算机 将所请求的控制程序和数据经通信网络传送给波形产生装置。该波形产生 装置经通信网络和通信接口111从服务器计算机上接收控制程序和数据, 并且将它们累积存储到硬盘109中。这样,完成了对控制程序和各种数据 的必要下载。显然,波形产生装置还可以包括MIDI接口,以便接收MIDI 演奏信息。另外,音乐演奏键盘和音乐操作装置可以接至总线BL,以便可 以通过实际实时演奏将演奏信息供给波形产生装置。当然,含一期望音乐 片段的演奏信息的外部存储媒体106A可以用来提供该期望音乐片段的演 奏信息。
[奏法模块概述]
在用上述硬盘109或其他合适的存储媒体构建的奏法波形数据库中, 存储有多个用来再现与各种奏法(即各种演奏)相对应的波形的模块数据 集(下文称为“奏法模块”),以及属于各奏法模块的数据组。每个奏法 模块是一奏法波形单元,它能够在一奏法波形合成系统中作为单独一组受 到处理;换句话说,该奏法模块是能够作为单独一个过程受到处理的奏法 波形单元。在本实施例中,各奏法模块包括:那些根据一演奏声音的奏法 特征限定的部分;那些根据一声音的局部部分如激起部分、主体部分或断 开部分限定的部分;那些根据连续声音之间的连接部分如连奏限定的部 分;那些根据一个声音的特殊演奏部分如颤吟限定的部分;和那些根据多 个象乐节那样的律音限定的部分。
这些奏法模块可以根据奏法特征、时间区段或演奏的段节等被分为几 种主要类型。例如,本实施例中五种主要类型的奏法模块为:
1)“正常进入”(简写为“NE”):代表一个声音从无声状态开始的 升高部分(即激起部分)的奏法模块;
2)“正常结束”(简写为“NF”):代表一个声音至无声状态的落下 部分(即断开部分)的奏法模块;
3)“正常连接”(简写为“NJ”):代表不插入无声状态而互连两个 连续声音的连接部分的奏法模块;
4)“正常短主体”(简写为“NSB”):代表升高部分与落下部分之 间声音的不带颤吟的短部分(即该声音的不带颤吟的主体部分)的奏法模 块;
5)“颤吟长主体”(简写为“VLB”):代表升高部分与落下部分之 间声音的带颤吟部分(即该声音的带颤吟主体部分)的奏法模块。
对以上五种模块的分类只是说明性的,对各奏法模块的分类可以采用 其他合适的方式,例如,各奏法模块可以分为五种以上的类型。另外,各 奏法模块还可以根据原始声源如乐器进行分类。
在本实施例中,每个与单一奏法模块相对应的奏法波形数据存储在数 据库中,作为若干波形组成因素或元素组的数据,下文将每个波形组成元 素称为向量。例如,该奏法模块包括以下向量。需注意的是,这里,通过 将所述的原始奏法波形分为具有音高和谐分量(泛音分量)的波形段和具 有非音高和谐分量(非泛音分量)的其余波形段来定义“泛音”分量和“非 泛音”分量。
1)泛音分量的波形形状(音色)向量:该向量仅表示从该泛音分量 的各种波形组成元素中取出且按音高和幅度归一化的波形形状特征。
2)泛音分量的幅度向量:该向量表示从该泛音分量的波形组成元素 中取出的幅度包络线波形特征。
3)泛音分量的音高向量:该向量表示从该泛音分量的波形组成元素 中取出的音高特征,例如,它表示相对于给定参考音高的音调高低起伏特 征。
4)非泛音分量的波形形状(音色)向量:该向量仅表示从该非泛音分 量的波形组成元素中取出的带有归一化幅度的波形形状(噪声类波形形 状)特征。
5)非泛音分量的幅度向量:该向量表示从该非泛音分量的波形组成元 素中取出的幅度包络线特征。
虽然这里没有具体描述,不过该奏法模块可以包括一个或一个以上其 他类型的向量,例如表示波形在时间轴上前进的一种向量。
对于奏法波形的合成来说,通过根据控制数据对这些向量数据作适当 的处理,并且将如此处理的向量数据置于一演奏声音的再现时间轴上,然 后在置于该时间轴上的向量数据基础上执行预定的波形合成处理过程,从 而沿该时间轴构成与该奏法波形的各种组成元素相对应的波形或包络线。 例如,为了产生一期望的演奏声音波形,即表现预定最终奏法特征的期望 奏法波形,通过为一泛音分量的波形形状向量赋予一音高及其与一泛音分 量的音高向量相对应的时变特征以及一幅度及其与一泛音分量的幅度向 量相对应的时变特征,来产生该泛音分量的波形段,并且通过为一非泛音 分量的波形形状向量赋予一幅度及其与一非泛音分量的幅度向量相对应 的时变特征,来产生该非泛音分量的波形段。然后,可以通过增加合成如 此产生的泛音和非泛音分量的波形段来产生期望的演奏声音波形。
本段和以后的段落参照图2描述了奏法模块的典型数据格式。例如, 每个奏法模块可以通过如图2所示的分级数据结构识别或确定。在第一分 级平上,由“奏法ID(识别信息)”和“奏法参数”的结合来确定一奏 法模块。“奏法ID”是唯一识别该奏法模块的信息,并且能够用来从数据 库中读取必要向量数据的一段信息。第一分级水平上的“奏法ID”例如可 以根据“乐器信息”和“模块部分名称”的结合来分类。每一段“乐器信 息”表示要采用该奏法模块的乐器名称,如小提琴、中音萨克斯管或琴。 “模块部分名称”是表示类型和符号的信息,如该奏法模块的“正常进入” 或“转弯进入”。这样的“乐器信息”和“模块部分名称”可以以这样一 种方式加给“奏法ID”,即,使用户能够从“乐器信息”和“模块部分名 称”得知该“奏法ID”所属的奏法模块符号。
“奏法参数”用来控制该奏法模块代表的持续时间和波形级别,根据 该奏法模块的符号,它们可以包括一种或一种以上彼此不同的参数。例如, 在可由乐器信息与模块部分名称的结合“小提琴[正常进入]”确定的给定 奏法模块的情况下,这些奏法参数可以包括不同类型的参数,例如进入或 激起之后上出现的绝对音高和音量。在可由乐器信息与模块部分名称的 结合“小提琴[转弯进入]”确定的另一个奏法模块的情况下,这些奏法参 数可以包括不同类型的参数,例如转弯进入结束时的绝对音高、转弯进入 时的初始转弯深度值、转弯进入从开始(提示定时)到结束的持续时间、 进入之后马上出现的音量、和/或转弯进入过程中一缺省曲线的时间延长/ 缩短值。在可由乐器信息与模块部分名称的结合“小提琴[正常短主体]” 确定的另一个奏法模块的情况下,这些奏法参数可以包括不同类型的参 数,例如模块的绝对音高、正常短主体的开始和结束时间(即结束时间- 开始时间)、正常短主体开始时的动态特征和正常短主体结束时的动态特 征。这些“奏法参数”可以连同相应的奏法ID一起预先存储在存储器等 中,或者通过用户的输入操作输入,或者可以通过用户的操作修改现有的 参数,从而提供这些奏法参数。另外,在再现一奏法波形时只提供奏法ID 而没有奏法参数的情况下,可以为所提供的奏法ID自动赋予标准的奏法 参数。此外,在处理的过程中可以自动赋予适当的参数。
在图2第二分级水平上的数据包括每一个都可由奏法ID确定的向量 ID数据。这些向量ID数据不仅可以由奏法ID确定,还可以由奏法参数确 定。该奏法数据库包括奏法表或存储器。在该奏法表中,预先存储有与奏 法ID相关的若干波形组成元素即各向量的识别信息(即向量ID),它们 用来构建各奏法ID所识别的奏法模块。即,期望的向量ID等的数据可以 通过根据奏法ID读取奏法表来得到。而且,期望的向量ID等的数据可以 根据奏法ID和奏法参数从奏法表中得到。应注意的是,存储在该奏法表 中第二分级水平的数据可以包括除了向量ID的数据之外的其他必要数据。 该奏法表可以包括作为其他必要数据的表示要在采样序列中修改的典型 采样点数目(下文称为“典型采样点数目序列”)的数据。例如,如果诸 如幅度向量和音高向量数据之类的包络线波形形状数据仅仅包括几个典 型采样点的数据,由于它们可以再现该波形形状,所以不必预先存储所有 作为样板的包络线波形形状数据,只预先存储典型采样点数据序列的数据 足矣。在下文中,典型采样点数据序列的数据也称为“形状”数据。该奏 法表还可以包括诸如各波形组成元素向量数据的开始和结束时间位置之 类的数据,即,波形形状、音高(音高包络线)和幅度(幅度包络线)。 时间位置等的所有或部分数据可以包括在上述奏法参数中;换句话说,某 些类型的奏法参数可以连同相应的奏法ID一起存储在奏法表中。连同相 应的奏法ID一起存储在奏法表中的某些类型的奏法参数可以由第一分级 水平上给定的其他奏法参数改变或控制。
图2第三分级水平上的数据包括可由相应向量ID确定的向量数据。 该奏法数据库包括称为“编码簿”的存储器,其中预先存储有与向量ID 有关的具体的向量数据(例如音色波形形状的模板)。即,可以根据该向 量ID从编码簿中读取具体的向量数据。
以下描述各种具体数据的实例,这些数据包括预先存储在奏法中的奏 法模块的向量ID和形状(典型采样点数目的序列)数据:
数据1:奏法模块的采样长度;
数据2:提示定时的位置;
数据3:泛音分量幅度元素的向量ID和典型采样点数目的序列;
数据4:泛音分量音高元素的向量ID和典型采样点数目的序列;
数据5:泛音分量波形形状(音色)元素的向量ID;
数据6:非泛音分量幅度元素的向量ID和典型采样点数目的序列;
数据7:非泛音分量波形形状(音色)元素的向量ID;
数据8:泛音分量波形形状(音色)元素的波形块的开始位置;
数据9:泛音分量波形形状(音色)元素的波形块的结束位置(即循 环部分的开始位置);
数据10:非泛音分量波形形状(音色)元素的波形块的开始位置;
数据11:非泛音分量波形形状(音色)元素的波形块的结束位置(即 循环部分的开始位置);
数据12:非泛音分量波形形状(音色)元素的循环部分的结束位置。
上述的数据1-数据12将在以下参照图3详细描述。
图3是示意性地示出组成与所述奏法模块相对应的实际波形段的各种 波形分量和元素的图。从图3的顶部到底部,示出了已经在该波形段中检 测到的泛音分量的幅度元素、音高元素和波形形状(音色)元素以及非泛 音分量的幅度元素和波形形状(音色)元素。应注意的是,图中的数值对 应于上述数据(数据1-数据12)。
更具体地说,数值“1”代表与该奏法模块相对应波形段的采样长度 (波形段长度),例如,它对应于从其中得到所述奏法模块的原始波形数 据的总持续时间。数值“2”代表提示定时的位置,它可变地设定在奏法 模块的任何时间位置。虽然在原则上,听取基于该波形的演奏声音开始于 提示定时的位置,但是出现波形分量的开始点可以在提示定时之前,这取 决于特定奏法如转弯激起的性质。例如,在小提琴的情况下,在实际听音 之前开始用弓弦进行摩擦,该数据适于精确地模拟实际听音之前奏法波形 的开始部分。数值“3”代表指定泛音分量的幅度元素向量数据的向量ID (“泛音幅度”)和存储在编码簿中的典型采样点数目序列;图中,两个 填充黑色的方形标记表示这些典型采样点。数值“4”代表指定泛音分量 的音高元素向量数据的向量ID(“泛音音高”)和典型采样点数目序列。
数值“6”代表指定非泛音分量的幅度元素向量数据的向量ID(“非 泛音幅度”)和典型采样点数目序列。这些典型采样点数目是要用来改变 /控制向量ID所指定向量数据的数据,它们指定某些典型采样点。随着所 指定典型采样点的(图中横轴上绘出的)各时间位置和(图中纵轴上绘出 的)水准受到改变或控制,其他采样点也改变,以使该向量的整体性质能 够受到改变。例如,这些典型采样点数目代表比采样总数少的分散的采样; 但是,这些典型采样点数目可以是各采样之间中间点处的值,或者是一预 定范围内若干连续采样处的值。另一方面,这些典型采样点数目可以是表 示各采样值之间差的一些值,而不是这些采样值本身,要对这些采样值作 加法运算处理等。每一个向量数据的形状,即包络线波形的形状可以通过 沿横轴(时间轴)和/或纵轴(水准轴)移动这些典型采样点来改变。数 值“5”代表指定泛音分量的波形形状(音色)元素向量数据的向量ID(“泛 音音色”)。
此外,图3中,数值“7”代表指定非泛音分量的波形形状(音色) 元素向量数据的向量ID(“非泛音音色”)。数值“8”代表泛音分量的 波形形状(音色)元素波形块的开始位置。数值“9”代表泛音分量的波 形形状(音色)元素波形块的结束位置(即,泛音分量的波形形状(音色) 元素循环部分的开始位置)。即,“8”所指的点处的三形起始点代表 一非循环波形段,其中逐一存储有特征波形形状,接下来由“9”所指的 点处的矩形起始点代表一循环波形段,它可以以一重复的方式读取。该非 循环波形段代表一高品质波形段,其是奏法(链接)等所特有的,而该循 环波形段代表一相对单调声音片段的单元波形,该片段具有单个或适当多 个波循环。
数值“10”代表非泛音分量的波形形状(音色)元素波形块的开始位 置。数值“11”代表非泛音分量的波形形状(音色)元素波形块的结束位 置(即,非泛音分量的波形形状(音色)元素循环部分的开始位置)。此 外,数值“12”代表非泛音分量的波形形状(音色)元素循环波形段的结 束位置。数据3-数据7是表示存储在与各波形元素有关的编码簿中向量 数据的ID数据,数据2和数据8-数据12是时间数据,该时间数据用来 存储以向量数据为基础的原始波形(即,分离或分割波形之前的波形)。 即,每一个奏法模块的数据包括指定向量数据和时间数据的数据。采样这 样存储在奏法表中的奏法模块数据和存储在编码簿中的波形产生素材(即 向量数据),可以随意构建期望的波形。也就是说,每一个奏法模块包括 代表要根据奏法或链接产生的波形状态的数据。应注意的是,这些奏法模 块可以在类型方面和其中所包括的数据总数方面彼此不同,还可以包括除 上述数据以外的其他数据。例如,这些奏法模块可以包括要用来控制波形 时间轴以使其伸长/缩短(时间轴伸长/缩短控制)的数据。
鉴于前面的段落已经描述了这样一种情况,即,每一个奏法模块包括 泛音分量的所有基本波形组成元素(波形形状、音高和幅度元素)和非泛 音分量的所有基本波形组成元素(波形形状和幅度元素),本发明并不受 此限制,每一个奏法模块或某些奏法模块当然可以只包括泛音分量的波形 组成元素(波形形状、音高和幅度)和非泛音分量的波形组成元素(波形 形状和幅度)中一个元素。例如,每一个奏法模块或某些奏法模块可以包 括从泛音分量的波形形状、一个和幅度元素以及非泛音分量的波形形状和 幅度元素中选择的一个元素。这样,这些奏法模块可以随意用于每一个波 形分量的结合,这是非常有利的。
[演奏数据]
本实施例中,一个期望音乐片段的自动演奏数据(音乐片段文件)集 包括用来再现奏法波形的演奏过程数据,从而在根据自动演奏顺序进程读 取演奏过程数据的基础上产生各奏法波形。本实施例中每一个自动演奏数 据(音乐片段文件)基本上是SMF(标准MIDI文件)格式,它包括普通 MIDI数据和AEM(链接元素模块化)演奏数据的混合体。例如,一个音乐 片段的自动演奏数据集包括若干音轨的演奏数据,分配这些音轨中的一个 或多个用于AEM演奏顺序,该AEM演奏顺序含AEM演奏过程(奏法过程), 而分配其余的音轨用于普通的MIDI演奏顺序。但是,MIDI数据和AEM演 奏过程(奏法过程数据)可以混合地包括在单独一个音轨中,在这种情况 下,基本上以MIDI格式描述该AEM演奏过程(奏法过程)数据,并且为 该AEM演奏数据分配一个或一个以上的MIDI频道。此外,即使在为该AEM 演奏数据分配整个音轨的情况下,原则上也可以以MIDI格式描述该数据。 也就是说,可以把表示AEM演奏过程(奏法过程)的识别符加至以MIDI 格式描述的数据上。当然,本实施例中也可以采用MIDI格式以外其他合 适的数据格式。每个音轨的演奏数据包括不同演奏部分的演奏数据。此外, 由于多个MIDI频道的演奏数据可以混合地存在于单独一个音轨的演奏数 据中,所以甚至是单独一个音轨的演奏数据也可以组成每个MIDI频道不 同演奏部分的演奏数据。例如,通过基于AEM演奏数据的奏法波形合成来 再现一个或一个以上演奏部分的演奏声音。举例来说,在AEM演奏数据的 基础上,对于多个演奏部分如小提琴和钢琴部分来说,可以分别合成奏法 波形。
图4的(A)部示出一音乐片段的自动演奏数据集的典型总结构图, 它包括音轨1、2、3……的标题和演奏数据序列。图4的(B)部示出包括 AEM演奏数据的一个音轨(例如音轨2)的演奏数据序列实例。类似于公 知结构的普通演奏顺序数据,图4的(B)部的演奏数据序列包括时差数 据(持续时间数据)和过程数据的结合。仍如众所周知的那样,每个时差 数据(持续时间数据)代表一给定过程出现的时间点与下一个过程出现的 时间点之间的时差。
图4的(B)部中每一个奏法过程数据包括图2所示第一分级水平的 数据,即表示要响应于一奏法过程和与其有关的奏法参数而再现的奏法模 块的“奏法ID”。如上所述,在奏法过程数据中不必需要所有的奏法参数。
在图4的(B)部所示实例中,“奏法过程(1)”包括表示激起(即 进入)部分的奏法模块的奏法ID和指示按与“奏法过程(1)”成对的关 系存储发声开始的“提示项”数据。由“奏法过程(1)”所指示的激起 (即进入)部分的奏法波形发声开始点由与“奏法过程(1)”成对关系 给出的“提示项”数据来指定。也就是说,对于激起部分来说,“奏法过 程(1)”和相应的“提示项”一起被处理。这样,与激起(即进入)部 分相对应的“奏法过程(1)”的到达或出现时间仅仅表示的是,现在应 当开始为产生该激起(即进入)部分的奏法波形作准备,它不表示发声开 始时间。如下面将要描述的那样,这里,可以在开始产生激起(即进入) 部分奏法波形之后开始产生相应的声音,这样,可以在与提示项出现时间 点相对应的一个中途点处开始发声,而不是从所产生的激起(即进入)部 分奏法波形的开头开始。这样一种设置有利于模拟这样一种情况,即,在 演奏者开始演奏操作(例如开始用小提琴的弓弦摩擦)时,对该演奏操作 有响应的颤动并不随人可听到的颤音立即产生。另外,在其他情况下,该 设置可有助于增强波形产生的灵活性和可控制性。
此外,在图4的(B)部所示的实例中,“奏法过程(2)”包括表示 一主体部分奏法模块的奏法ID,“奏法过程(3)”包括表示一连接部分 奏法模块的奏法ID,“奏法过程(4)”包括表示另一个主体部分奏法模 块的奏法ID。连接部分的奏法模块代表一连接奏法波形,它用来在例如诸 如连接符或连音符之类的奏法中从前面一个声音连接到随后一个声音而 不消除前面一个声音。这样,类似于上述激起部分的“奏法过程(1)”, 指示该随后一个声音发声开始定时的“提示项”数据按照与“奏法过程(3)” 成对的关系给出,也就是说,“提示项”紧随“奏法过程(3)”之后出 现。连接部分的“奏法过程(3)”和相应的“提示项”一起被处理。“奏 法过程(4)”表示通过上述连接部分与该前面一个声音相连的该随后一 个声音主体部分的奏法模块。“奏法过程(5)”包括表示一断开(完成) 部分奏法模块的奏法ID,指示声音减弱(断开开始的“提示结束项”数据 与“奏法过程(5)”以成对的关系存储。断开部分的“奏法过程(5)” 和相应的“提示结束项”一起被处理。类似于提示项,本实施例中,断开 (即完成)部分奏法波形的产生开始之后,开始减弱相应声音(提示结束 项),从而在与提示结束项出现的时间点相对应的中途点处开始减弱声音, 与提示项有关的如上所述同样的原因,这不是从断开(完成)部分所产生 的奏法波形开头开始。这样一种设置在模拟某乐器演奏操作终止时的情况 下是有利的。另外,在其他情况下,这种设置有助于增强波形产生的灵活 性和可控制性。
[奏法波形产生过程]
图1的波形产生装置用一台计算机合成普通的声音波形和奏法波形, 该计算机执行普通的发声程序、用于奏法波形产生处理的预定程序等等。 如图5中示意性示出的那样,这种奏法波形产生过程通常包括简单的自动 演奏装置段20、奏法顺序段21、演奏部分段22、奏法合成段23和波形合 成段24。图6是一示意性时序图,它表示出构成该奏法波形产生过程的上 述过程方框或段20-24所执行的各种操作之间总的时间关系。在图6中 平行示出的方框30、31、32、33和34大致表示一些时区,在这些时区中, 简单的自动演奏装置段20、奏法顺序段21、演奏部分段22、奏法合成段 23和波形合成段24执行它们各自指定的操作。在图6中平行示出方框30、 31、32、33和34表示以并行的方式进行各段20、21、22、23和24的操 作。
(1)简单的自动演奏装置段20:
简单的自动演奏装置段20执行以下功能:从一存储媒体中读取要再 现的期望音乐片段的自动演奏数据集(音乐片段文件),该存储媒体包括 这种自动演奏数据集;接受由输入操作者执行的有关期望音乐片段的各种 设定操作(例如传输量设定操作、音量调节操作等)和指令操作(例如再 现开始指令、再现停止指令等);控制包括当前再现位置(时间)显示的 各种显示:填充必要的信息;以及其他功能。
图6的时间方框30表示简单的自动演奏装置段20执行其配属操作的 时区。简单的自动演奏装置段20从自动演奏再现程序启动的时间开始运 行,到自动演奏再现程序到结尾的时间结束。当发出再现开始指令PLAY 时,简单的自动演奏装置段20从存储媒体中读取要再现的期望音乐片段 的自动演奏数据集(音乐片段文件),然后在时区301的定时翻译该读取 的自动演奏数据。当然,接受再现开始指令PLAY之前,可以根据对期望 音乐片段的选择开始自动演奏数据(音乐片段文件)的读取。
简单的自动演奏装置段20构建成能够控制具有以如前所述方式混合 存储在单一音轨上或若干音轨上的普通MIDI数据和AEM演奏数据的自动 演奏数据。另外,简单的自动演奏装置段20对于包括在读取的自动演奏 数据(音乐片段文件)中的AEM演奏数据执行基本的翻译操作,并且将单 独的必要奏法过程数据重建为赋予时间标记的奏法过程序列对象。“基本 的翻译操作”包括:例如,累积各过程之间的时差,以在时差的基础上创 建各个过程(该音乐片段的一系列绝对时间信息)的时间标记。把具有如 此时间标记的重建奏法过程序列对象发送给奏法顺序段21(即,写入与该 顺序段21有关的存储器中)。在图6的时区301和302结束之前完成演 奏数据翻译和奏法过程序列对象的重建。
简言之,简单的自动演奏装置段20起这样一个作用,即,在构建方 面类似现有的自动演奏数据,将AEM演奏数据(如图4中说明性示出的那 样)转换为一数据序列,该数据序列可易于受奏法顺序段21的控制。应 注意的是,由设置在简单的自动演奏装置段20中公知的MIDI演奏定序器 (MIDI演奏装置)来处理普通MIDI演奏数据;但是,这里不具体描述普 通MIDI演奏数据的处理,因为它是公知技术。另外,尽管基于AEM演奏 数据的奏法波形产生过程需要有相当长的延时,但是由MIDI演奏装置进 行的普通MIDI演奏数据处理实际不会产生时间延时。因此,本实施例设 置成构建基于AEM演奏数据的奏法波形产生过程的延迟时间,用MIDI演 奏装置强迫性延迟该普通MIDI演奏数据的处理,由此在普通MIDI演奏数 据的处理与AEM演奏数据的处理之间实现准确的同步。
·填充省略的必要信息的功能:
如果从所读取的自动演奏数据(音乐片段文件)的AEM演奏过程数据 (奏法过程数据)中省略一个必要的奏法参数,那么简单的自动演奏装置 段20执行另一个填充省略参数的功能,由此补充该AEM演奏过程数据。 例如,在一给定的奏法过程的ID是“颤吟长主体”的情况下,如果并未 设定指定例如颤吟深度的控制参数,那么会导致用户可能不了解用来合成 奏法波形的颤吟程度的麻烦。这样,根据奏法模块的类型,该奏法过程必 须增加奏法ID和这样一个必要参数。这样,简单的自动演奏装置段20查 对是否每一个奏法过程数据都包括这样一个必要参数,如果不包括,那么 它自动增加该必要参数。在时区302的定时时刻执行该信息补充功能。从 简单的自动演奏装置段20发送到奏法顺序段21的奏法过程序列对象包括 这样一个增加的参数。作为自动填充该缺少的必要参数的一个典型方式, 可以为每一种奏法模块预先存储各种参数的预定缺省(标准)值,以使与 所述奏法过程相对应的一个缺省值能够被用来填充必要参数。作为确定这 些缺省值的一个典型方式,可以预先准备各种参数的预定固定缺省值,或 者可以缓存各种参数的最后使用的(最近使用的)值,以便能够确定该预 定固定缺省值,并且将其用作各缺省值;当然,这些缺省值可以以任何其 他合适的方式确定。
预先将预定时间保留为要被简单的自动演奏装置段20使用的时区301 和302,也就是说,响应于再现开始指令PLAY,在时区301和302内执行 SMF自动演奏数据的读取和必要的信息补充。虽然这里并没有具体描述, 不过用户可以设定要在奏法波形产生过程中使用的各种处理时间信息,并 且进行各种其他的设定操作,之后发出再现开始指令PLAY。简单的自动演 奏装置段20在时区302的结尾处将顺序再现开始指令发送给奏法顺序段 21。在响应于该再现开始指令开始实际再现演奏之后,简单的自动演奏装 置段20从波形合成段24接收表示改变再现演奏当前时间点(即,改变当 前再现位置)的信息,并且显示再现演奏的当前时间。图6中的小方框303a、 303b、303c……代表作为周期性中断过程执行的显示改变过程的时间,该 周期性中断过程用来周期性地显示改变再现演奏的当前时间。
(2)奏法顺序段21:
奏法顺序段21缓存带有时间标记的奏法过程序列对象(即,奏法过 程数据序列),它根据时间标记所表示的再现时间按顺序读取奏法过程数 据。对奏法过程数据的依次读取作为批处理执行,在与期望的“输出频率” 相对应的每一个时间周期都执行该批处理。图6说明性地示出这些时间周 期的连续性。
·部分管理:
由于以一并行的方式对不同演奏部分进行奏法波形合成,因此奏法顺 序段21的第一项任务是在接受顺序再现开始指令之前检查有多少AEM演 奏部分存在于当前的音乐片段演奏中,并且指示演奏部分段22设定用于 再现的必要数目的AEM演奏部分。然后,奏法顺序段21翻译来自简单的 自动演奏装置段20的带有时间标记的奏法过程序列对象(即奏法过程数 据序列),并且在逐项的基础上设定(缓存)该奏法过程数据序列。这样, 在对每一个演奏部分进行接受顺序再现开始指令的操作之后,对奏法过程 数据的顺序进行读取。因此,在以下的描述中,短语“预先读取给定过程 之后的过程”或类似的话讨论同一演奏部分的奏法过程数据序列中两个连 续过程。以下描述中“部分”一词或“演奏部分”一词是指“AEM演奏部 分”。
·其他预备性操作:
作为上述部分管理以外的另一种初步操作,奏法顺序段21根据考虑 了各种操作延时的各种时间参数执行一过程。时间参数的实例包括以下内 容:
“与该奏法顺序段的输出频率相对应的时间周期”:如前所述,这是 一个用来设定频率的参数,采用该参数,奏法顺序段21应当将演奏过程 数据输出给演奏部分段22和后面的各处理段。也就是说,在一给定的输 出时间点(当前时刻)处,奏法顺序段21集中发送在相应时间周期内存 在的演奏过程数据。应注意的是,本实施例不仅用来读取当前时间的演奏 过程(更具体地说,在当前时间周期内出现的演奏过程),还用来预先读 取一个或一个以上后面的(将来的)演奏过程,以便将如此读取的演奏过 程发送给演奏部分段22,这将在下面详细描述。在该演奏部分段22和以 下处理段中,在每一个这样的时间周期所提供的演奏过程数据基础上执行 奏法波形再现所必需的操作。
“该奏法顺序段中的预先处理时间”:这是一个用来设定该奏法顺序 段21应当预先处理信息到何种程度的参数。
“发声开始之前的等待时间周期”:这是一个用来补偿顺序再现开始 时操作延时的参数。也就是说,显然在顺序再现开始位置之前与该发声等 待时间周期相等量的位置设定波形合成段24中的操作开始时间;即,将 顺序再现开始位置延迟一个发声等待时间周期。更具体地说,在顺序再现 开始时,由于不只必须对与奏法顺序段21的输出频率相对应的时间周期 内出现的演奏过程集中进行奏法波形产生处理,还必须在预先处理时间内 对要处理的演奏过程集中进行奏法波形产生处理,会由该集中处理产生的 延时设定为该发声等待时间周期以承受足够的处理量,从而补偿再现开始 时的操作延时。
访问编码簿的预取时间”:这是一个时间参数,用来设定应当由波 形合成段24从硬盘(即存储在其中的编码簿)中预先读取或预取当前时 间后的数据到RAM中达何种程度。奏法顺序段21设定波形合成段24中该 预取时间的数据。
“输出到音频装置之前的等待时间周期”:这是一个时间参数,用来 设定波形合成段24应当比输出音频装置的操作时间早到何种程度来开始 执行波形合成处理过程。该奏法顺序段21设定波形合成段24中该等待时 间周期的数据。例如,波形合成段24执行对一写入动作的控制,该写入 动作是将所合成的波形数据写入输出缓冲存储器,在其操作时间过去之后 的等待时间周期后使用该输出缓冲存储器。
上述时间参数可以固定在各自的预定值上,或者由用户可变地设定。 在后一情况下,这些时间参数由简单的自动演奏装置段20的设定操作进 行可变地设定。
·未来过程的预先读取:
现在假定在与奏法顺序段21有关的存储器中,以如图7A所示的方式 缓存一个给定演奏部分的奏法过程序列对象。该图中,EV1、EV2……代表 各个过程,Ts1、Ts2……代表与各个过程相对应的施加标记。还假定该存 储器的读取指针设定为与初始时间点t0相对应。
图7B是一时序图,简要表示出奏法顺序段21的过程处理的定时。当 从简单的自动演奏装置段20给出一顺序再现开始指令时,到达第一过程 定时,并将该第一活过程定时设定为初始时间点t0。每一次与奏法顺序段 21的输出频率相对应的时间周期过去之后,到达后面的过程定时,这些后 面的过程定时设定为时间点t1、t2……。在初始时间点t0处,奏法顺序 段21从图7A的存储器中读取第一时间周期所定义的当前时区内出现的过 程(当前过程)以及时间标记。由于每一个过程包括一奏法ID、各个参数 等,所以如前所述,把属于该过程的所有这些数据一起读取出来作为单一 数据集。图7B示出了这样一种情况,即,第一过程EV1和第二过程EV2 出现在第一时间周期所定义的时区内;第一过程EV1通常为一激起部分的 奏法过程,它连同如前所述的下一个提示项EV2一起(与其以成对的关系) 被处理。当然,在某些情况下,在当前时区内没有过程。可以根据各时间 标记Ts1、Ts2……识别各个过程EV1、EV2……的时间位置。
在本实施例中,奏法顺序段21不仅读取这些当前奏法过程,还读取 下一个时间周期内出现的一个或一个以上奏法过程(未来过程)。也就是 说,在图7B所示的实例中,在与过程EV1和EV2相同的时间预先读取下 一个奏法过程EV3。把如此读取的具有各自时间标记的当前和未来奏法过 程EV1、EV2和EV3送至下面的演奏部分段22。在一部分接一部分的基础 上执行这些操作,之后,将奏法顺序段21置于等待或待机状态下。
就上述读取当前奏法过程和下一个(未来)奏法过程并且将其传送给 演奏部分段22的设置来说,考虑到基于连续演奏过程的各奏法模块之间 的关系,属于当前奏法过程的奏法模块的波形合成可以在演奏部分段22 和以后的处理段中进行。例如,可以采用适当的处理,以实现基于连续演 奏过程的奏法模块所包括的各奏法波形之间平滑的连接。
另外,在图7B所示的实例中,一旦到达下一个处理时间点t1,就重 新开始奏法顺序段21进行的处理。在不存在过程的情况下,奏法顺序段 21不进行处理。如果一到达下一个处理时间点tn就重新开始奏法顺序段 21进行的处理,并且如果奏法过程EV3出现在与该时间点tn相对应的当 前时区内,那么奏法顺序段21读取当前时间周期内出现的每一个过程(即, 每一个当前过程),并且预先读取下一个时间周期内出现的每一个过程(每 一个未来过程)。由于演奏部分段22存储每一个接收到的过程,并且一 直保持它到进行相应过程处理过程为止,所以这里不必再次读取已经读取 的过程。也就是说,图7B的实例中,不必再次读取已经在最近一次读取 操作期间作为未来过程读取的、出现在与处理时间点tn相对应的当前时 间周期内的过程EV3。在再下一个过程EV4需要用来处理当前过程EV3的 过程中,读取过程EV4及其时间标记,并且将其提供给演奏部分段22。在 这种情况下,演奏部分段22调整属于已经接收的当前过程EV3和当前接 收的未来过程的各个奏法模块之间的连接关系。
图6中,小方框311a、311b、311c……示出奏法顺序段21所执行的 当前和未来过程的上述过程读取定时。
(3)演奏部分段22:
演奏部分段22存储每一个来自奏法顺序段21的带有时间标记的奏法 过程,在该奏法过程的基础上执行预定的预演处理过程,并且管理要在下 面的奏法合成段23中执行的过程。演奏部分段22的这些操作还在一部分 接一部分的基础上进行。图6中,小方框321a、321b、321c……示出了演 奏部分段22执行预演处理过程的定时。
·预演处理过程:
该预演处理过程用来在进行奏法合成之后,实现后面奏法波形的各种 波形组成元素如波形形状(音色)、幅度和音高的各个开始点和结束点之 间按时间和分级水平值的平滑的连接。为此,在实际奏法合成之前,预演 处理过程借助“预演”读取向量ID、各采样点数目的序列以及与奏法过程 相对应的参数,并且在如此读取的信息基础上进行模拟奏法合成,由此设 定用来控制后面奏法模块开始点和结束点处时间和分级水平值的适当参 数。这样,对于每一个波形组成元素如波形形状、幅度和音高来说,通过 奏法合成段23利用已经在预演处理过程的基础上设定的参数执行奏法合 成处理过程,后面的奏法波形可以互连。也就是说,在本实施例中,不必 调整或控制已经合成的奏法波形或波形组成元素以实现各奏法波形或波 形组成元素之间的平滑连接,而是就在实际合成奏法波形或波形组成元素 之前,演奏部分段22执行“预演”处理过程,以模拟合成奏法波形或波 形组成元素,由此设定与奏法模块的开始点和结束点处时间和分级水平值 有关的最佳参数。然后,奏法合成段23用如此设定的最佳参数进行后面 的奏法波形或波形组成元素的实际合成,以便能够平滑地互连后面的奏法 波形或波形组成元素。
在预演处理过程中,根据要处理奏法模块的类型或特点进行必要的操 作。虽然该预演处理过程中要处理的主要对象是奏法过程,但是也考虑提 示项和提示结束过程的出现时间。为作参考,图8示出其中把要产生声音 自始至终的奏法模块结合在一起的方式实例。图8所示的结合按所述顺序 包括:(1)指定激起(进入)部分奏法模块的奏法过程EV1;(2)提示 项EV2;(3)指定主体部分奏法模块的奏法过程EV3;(4)指定连接部 分奏法模块的奏法过程EV4;(5)提示项EV5;(6)指定主体部分奏法 模块的奏法过程EV6;(7)指定断开(完成)部分奏法模块的奏法过程 EV7;和(8)提示结束过程EV8。
在图8所示的实例中,当要根据随后设定为当前过程的奏法过程EV1 和提示项EV2所指定的激起(进入)部分奏法模块合成一奏法波形时,如 前所述,预先将下一个奏法过程EV3读取为一未来过程,响应于此,预演 处理过程确定这两个奏法模块之间平滑连接所必需的参数。然后,当要根 据随后设定为当前过程的奏法过程EV3所指定的主体部分奏法模块合成一 奏法波形时,预先将指定一连接部分奏法模块的下一个奏法过程EV4和提 示项EV5读取为未来过程,响应于此,预演处理过程确定这两个奏法模块 之间平滑连接所必需的参数。类似地,当要根据随后设定为当前过程的奏 法过程EV4和提示项EV5所指定的连接部分奏法模块合成一奏法波形时, 如前所述,预先将下一个奏法过程EV6读取为一未来过程,响应于此,预 演处理过程确定这两个奏法模块之间平滑连接所必需的参数。在图示实例 中,要响应于第一提示项EV2产生的声音和要响应于下一个提示项EV5产 生的声音通过连接部分的奏法波形互连。类似地,当要根据随后设定为当 前过程的再下一个奏法过程EV6所指定的主体部分奏法模块合成一奏法波 形时,预先将指定一断开部分奏法过程模块的后面的奏法过程EV7和提示 结束过程读取为未来过程,响应于此,预演处理过程确定这两个奏法模块 之间平滑连接所必需的参数。此外,当要根据随后设定为当前过程的奏法 过程EV7和提示结束过程EV8所指定的断开(完成)部分奏法模块合成一 奏法波形时,不再执行考虑再下一个过程的预演处理过程,因为响应于提 示结束或声音减弱指令,终止断开(完成)部分的奏法波形,因而不必与 下一个奏法波形相连。
以下的段落描述了涉及几种奏法模块的预演处理过程具体实例。
<激起(进入)模块>
图9A是一流程图,表示在当前过程指定一激起(进入)部分的奏法 模块时预演处理过程的典型步骤顺序(“激起模块预演处理过程”)。
在步骤S1a,把目前要处理的每一个奏法过程(当前过程)(图8所 示实例中的过程EV1和EV2)发送给奏法合成段23,并且通过奏法合成段 23从上述奏法表中把向量ID、典型采样点数目的序列(形状)和与指定 一具体激起部分奏法模块的奏法ID相对应的其他参数读取为预演数据。 把如此读取的预演数据送至演奏部分段22,在此基础上,演奏部分段22 以下述方式确定或调整各参数(控制数据)如分级水平和时间值。
在步骤S2a,把通过预先读取得到的下一个奏法过程或未来过程(图 8所示实例中的过程EV3)发送到奏法合成段23,并且由奏法合成段23从 上述奏法表中把向量ID、典型采样点数目的序列(形状)和与指定一具体 主体部分奏法模块的奏法ID相对应的其他参数读取为预演数据。把如此 读取的预演数据送至演奏部分段22,在此基础上,演奏部分段22以下述 方式确定或调整各参数(控制数据)如分级水平和时间值。
在下一个步骤S3a,在当前和下一个奏法过程的读取数据基础上,确 定属于当前奏法过程的奏法模块的预定分级水平和时间数据。这样,对于 以上的步骤S1a和S2a来说,只需要从奏法表中读取该步骤的操作所必需 的数据。以下参照图10的(a)、(b)、(c)和(d)描述这里执行的 预演处理过程典型细节。
图10的(a)区示出激起部分奏法模块中泛音分量的向量实例;具体 地说,“HA”代表该泛音分量幅度向量的典型采样点数目序列(在图示实 施例中,为三个采样点“0”、“1”和“2”),“HP”代表该泛音分量 音高向量的典型采样点数目序列(在图示实施例中,为三个采样点“0”、 “1”和“2”),“HT”表示该泛音分量波形形状向量的一个实例(该波 形形状在这里仅示出其包络线)。应注意的是,该泛音分量的波形形状向 量HT基本上包括代表声音升高部分整个波形段的采样数据,并且具有代 表该波形段结尾处循环波形段的数据。为了与紧随其后的波形段平滑转换 合成,以重复或循环的方式读取该代表循环波形段的数据。限定该激起部 分奏法模块中泛音分量开始时间的参数“preBlockTimeE”指定该激起波 形中泛音分量的实际发声开始点与波形产生开始时间之差。为此,取得相 应提示项(图8实例中的过程EV2),以了解实际发声开始点(图10实例 中的“noteOnTime”),并且将该实际发声开始点与参数“preBlockTimeE” 所代表的开始时间之差(“noteOnTime”-“preBlockTimeE”)设定为 激起部分奏法模块中泛音分量的开始时间。
在限定该激起部分奏法模块中泛音分量结束时间的各种参数中, “postBlockTimeE”是限定激起波形中泛音分量主体的实际发声开始点与 结束时间点之差的参数,“fadeTimeE”是限定该激起波形结尾处平滑转 换时间长度的参数。这样,包括平滑转换结束部分的激起部分奏法模块中 泛音分量的结束时间“endTimeH”可以确定为“noteOnTime+ (postBlockTimeE+fadeTimeE)”。该结束时间“endTimeH”被发送到奏 法合成段23,作为限定下一个奏法过程(图8实例中的EV3)所指定奏法 模块中泛音分量开始时间的数据。这样,执行预演处理过程以根据该泛音 分量的上述结束时间“endTimeH”设定下一个奏法模块泛音分量的开始时 间。
图10的(b)区示出激起部分奏法模块中非泛音分量的向量实例;具 体地说,“NHA”代表该非泛音分量幅度向量的典型采样点数目序列(在 图示实例中,是两个采样点“0”和“1”),“NHT”示出该非泛音分量 的波形形状向量实例(该波形形状这里仅仅示出其包络线)。限定激起部 分奏法模块中非泛音分量开始时间的参数“preTimeNH”确定该激起波形 中非泛音分量实际发声开始点与波形产生开始点之差。为此,取得相应提 示项(图8实例中的过程EV2)的时间标记,以了解实际发声开始点(图 10实例中的“noteOnTime”),该实际发声开始点与参数“preTimeNH” 所代表的开始时间之差(“noteOnTime”-“preTimeH”)设定为激起部 分奏法模块中非泛音分量的开始时间。
限定该激起部分奏法模块中非泛音分量结束时间的参数 “postTimeNH”是这样一个参数,即,它确定激起波形中非泛音分量的实 际发声开始点与结束时间点之差。这样,该激起部分奏法模块中非泛音分 量的结束时间“endTimeNH”可以确定为“noteOnTime+postTimeNH”。 该结束时间“endTimeNH”被发送到奏法合成段23,作为限定下一个奏法 过程(图8实例中的EV3)所指定奏法模块中非泛音分量开始时间的数据。 这样,执行预演处理过程以根据该非泛音分量的上述结束时间 “endTimeNH”设定下一个奏法模块中非泛音分量的开始时间。由于可以 从前述内容中清楚得知,所以可以独立于泛音分量的那些过程而执行该非 泛音分量的时间调整过程。
对于幅度和音高级别来说,预演处理过程是针对以下二者之间的匹配 进行调整:属于当前奏法过程的激起部分奏法模块幅度向量结束点处(例 如图10(a)中HA的位置“2”)与音高向量(例如图10(a)中HP的位 置“2”)的结束点水平或值,和属于下一个奏法过程的主体部分奏法模 块幅度向量开始点处(例如图10(c)中HA的位置“0”)与音高向量(例 如图10(c)中HP的位置“0”)的开始点水平或值。
图10的(c)区示出主体部分奏法模块中泛音分量的向量实例;具体 地说,“HA”代表该泛音分量幅度向量的典型采样点数目序列(在图示实 施例中,为两个采样点“0”和“1”),“HP”代表该泛音分量音高向量 的典型采样点数目序列(在图示实施例中,为两个采样点“0”和“1”), “HT”表示该泛音分量波形形状向量的一个实例(该波形在形状这里仅由 黑色矩形方框示出)。主体部分中泛音分量的波形形状向量HT包括由N (N是整数)个黑色矩形方框(0,1,……,N-1)代表的N个循环波形段, 预定时间长度的主体部分波形通过连续读取和连接连续的循环波形段来 产生。如果减小或增大(缩短或拉长)主体部分波形的时间长度,那么减 少或增加循环波形段的循环或重复时间足矣。在要进一步缩短主体部分波 形时间长度的情况下,可以以使其稀疏的方式,即,以适当剔除N个循环 波形段中的所需一个或一个以上段的方式读取主体部分波形。另一方面, 如果要进一步拉长主体部分波形的时间长度,那么可以以预定顺序或随机 地另外在N个循环波形段中插入N个循环波形段中的所需两个或两个以上 段。
在图9(A)的步骤S2a,从奏法表中得到表示属于下一个奏法过程的 主体部分奏法模块的该泛音分量的幅度向量HA开始点(图10(c)中HA 的位置“0”)处水平(开始点水平)的数据。然后,在下一个步骤S3a, 把一速度值、音量设定值等加入到所得到的开始点水平数据中,由此计算 主体部分奏法模块泛音分量的幅度向量HA实际开始点水平,如此计算的 实际开始点水平设定为属于当前奏法过程的激起部分奏法模块中泛音分 量结束点(图10(a)中HA的位置“2”)处幅度水平(值)。
类似地,从奏法表中得到表示属于下一个奏法过程的主体部分奏法模 块该泛音分量的音高向量HP开始点(图10(c)中HP的位置“0”)处水 平(开始点水平)的数据。然后,把一音高控制值加入到所得到的开始点 音高值数据中,由此计算主体部分奏法模块泛音分量的音高向量HP实际 开始点音高值,如此计算的实际开始点音高值设定为属于当前奏法过程的 激起部分奏法模块中泛音分量结束点(图10(a)中HP的位置“2”)处 音高值。
图10的(d)区示出主体部分奏法模块中非泛音分量的向量实例;具 体地说,“NHA”代表该非泛音分量幅度向量的典型采样点数目序列(在 图示实施例中,为两个采样点“0”和“1”),“NHT”表示该非泛音分 量波形形状向量的一个实例。这里,非泛音分量的波形形状向量包括三个 方框;第一方框包括预定时间周期(NHBlockTime0)内非泛音分量的波形 形状全波波形段,第二方框包括要循环的非泛音分量波形形状(循环), 第三方框包括预定时间周期(NHBlockTime1)内非泛音分量的波形形状全 波波形段。通过调整第二方框即要循环的非泛音分量波形形状(循环)的 循环(重复)再现长度,对与主体部分时间长度有关的非泛音分量波形形 状的施加长度进行调整。
在图9(a)区的步骤S2a处,从奏法表中得到表示属于下一个奏法过 程的主体部分奏法模块该非泛音分量的幅度向量NHA开始点(图10(d) 中NHA的位置“0”)处水平的数据。然后,在下一个步骤S3a,把一速度 值、音量设定值等加入到所得到的开始点水平数据中,由此计算主体部分 奏法模块非泛音分量的幅度向量NHA实际开始点水平,如此计算的实际开 始点水平设定为属于当前奏法过程的激起部分奏法模块中非泛音分量幅 度向量结束点(图10(d)中NHA的位置“1”)处幅度水平(值)。
一旦完成上述操作,该预演处理过程就转至图9(a)区中的步骤S4a, 这里它指示奏法合成段23开始合成属于当前奏法过程的奏法模块。在下 一步骤S5a,把已经以上述方式确定的当前奏法过程(图8实例中的过程 EV1)的泛音分量和非泛音分量结束时间“endTimeH”和“endTimeNH”设 定为限定下一个奏法过程(图8实例中的过程EV3)的泛音分量和非泛音 分量模块开始时间的数据。一旦完成该预演处理过程,流程转移到下述奏 法合成段23的处理过程。以下的段落描述对其他类型奏法模块进行的预 演处理过程。
<主体部分模块>
图9B是一流程图,表示在当前过程指定一主体部分的奏法模块时预 演处理过程的典型步骤顺序(“主体模块预演处理过程”)。
在步骤S1b,把目前要处理的每一个奏法过程(当前过程)(图8所 示实例中的过程EV3或EV6)发送到奏法合成段23,并且通过奏法合成段 23从上述奏法表中把向量ID、典型采样点数目的序列(形状)和与指定 一具体主体部分奏法模块的奏法ID相对应的其他参数读取为预演数据。 把如此读取的预演数据送至演奏部分段22,在此基础上,演奏部分段22 以下述方式确定或调整各参数(控制数据)如水平和时间值。应注意的是, 在最后的奏法的预演处理期间已经被调整或改变的那些参数这里按其原 值使用。
在步骤S2b,把通过预先读取得到的下一个奏法过程或未来过程发送 给奏法合成段23,由奏法合成段23读取向量ID、典型采样点数目的序列 (形状)和与奏法ID相对应的其他参数并送至演奏部分段22,在此基础 上,演奏部分段22以下述方式确定或调整各参数(控制数据)如水平和 时间值。在指定奏法过程的主体部分之后跟随指定断开部分或连接部分的 奏法过程。在图8的实例中,指定连接部分奏法模块的奏法过程EV4和相 应的提示项EV5跟在主体部分指定奏法过程EV3之后,指定断开部分奏法 模块的奏法过程EV7和相应的记录结束过程EV8跟在主体部分指定奏法过 程EV6之后。
在步骤S3b和S5b,在当前和下一个奏法过程的各读取数据基础上, 确定属于当前奏法过程的奏法模块的预定水平和时间数据。在步骤S4b, 预演处理过程指示奏法合成段23开始合成属于当前奏法过程的主体部分 奏法模块。
基本上,调整主体部分奏法模块的开始时间,以匹配直接在其前面的 奏法模块的结束时间,并且调整该主体部分奏法模块的结束时间,以匹配 紧跟其后的奏法模块的开始时间。此外,作为该主体部分奏法模块的泛音 分量和非泛音分量各自幅度向量的开始点水平和结束点水平以及该主体 部分奏法模块的泛音分量音高向量的开始点水平和结束点水平,采用其前 面和后面的奏法模块的那些值。也就是说,执行预演处理过程,以便设定 其前面奏法模块的结束点水平,使其匹配主体部分奏法模块的开始点水 平,并且设定其后面奏法模块的开始点水平,使其匹配该主体部分奏法模 块的结束点水平。
这里不必确定主体部分奏法模块的泛音分量和非泛音分量的开始时 间,因为它们已经由为前面的奏法过程(例如,上述激起部分奏法模块过 程)进行的预演处理过程所确定。
为了确定主体部分奏法模块的泛音分量和非泛音分量各自的结束时 间,在S2b预演处理下一个奏法模块(断开或连接部分),以便确定下一 个奏法模块的泛音分量和非泛音分量各自的开始时间。然后,在步骤S3b, 把如此确定的下一个奏法模块的泛音分量和非泛音分量的开始时间确定 为当前主体部分奏法模块的泛音分量和非泛音分量各自的结束时间。
这样的时间确定操作详细内容可以以与上述涉及激起部分奏法模块 基本相同的方式进行。
为作参考,图11(a)区示出了该主体部分奏法模块之后连接部分奏 法模块中泛音分量的向量实例,而图11(b)区示出了该连接部分奏法模 块中非泛音分量的向量实例。参考符号“HA”、“HP”、“HT”、“NHA”、 “NHT”等具有如早先涉及图10所述相同的含义。在图11(a)区中,限 定该泛音分量开始时间的参数“preTimeH”确定该连接部分中提示项(图 8实例中的过程EV5)出现时间与该连接部分中泛音分量的波形产生开始 时间之差。在该预演处理过程中,取得该提示项(图8实例中的过程EV5) 的时间标记,以了解实际发声开始点(图11(a)区实例中的“noteOnTime”), 并且将该实际发声开始点与参数“preTimeH”所代表的开始时间之差 (“noteOnTime”-“preTimeH”)设定为该连接部分奏法模块中泛音分 量的开始时间。这样,将已经由该预演处理过程取得的连接部分奏法模块 中泛音分量的开始时间设定为主体部分奏法模块中泛音分量的结束时间。 类似地,采用图11(b)区中所指的参数“preTimeNH”执行该预演处理过 程,该参数限定非泛音分量的开始时间,以便确定该连接部分奏法模块中 非泛音分量的开始时间,并且设定为主体部分奏法模块中非泛音分量的结 束时间。
主体部分奏法模块中泛音分量和非泛音分量幅度向量各自的开始点 水平和泛音分量音高向量的开始点水平已经通过对前面(例如激起部分) 奏法模块进行的预演处理过程得到设定,它们作为前面(例如激起部分) 奏法模块中泛音分量和非泛音分量幅度向量各自的结束点水平和泛音分 量音高向量的结束点水平。
因此,在下一个步骤S5b,把主体部分奏法模块中泛音分量和非泛音 分量幅度向量各自的结束点水平和泛音分量音高向量的结束点水平设定 为下一个奏法过程(未来过程)所指定的奏法模块中泛音分量和非泛音分 量幅度向量的开始点水平和泛音分量音高向量的开始点水平。
这样的水平确定操作详细内容可以以与上述涉及激起部分奏法模块 基本相同的方式进行。也就是说,从奏法表中得到表示属于当前奏法的主 体部分奏法模块泛音分量幅度向量HA结束点(图10(c)区中HA的位置 “1”)处水平的数据。然后,把速度值、音量设定值等加入到所得到的 结束点水平数据中,由此计算主体部分奏法模块泛音分量的幅度向量HA 实际结束点水平,如此计算的实际结束点水平设定为属于下一个奏法过程 的奏法模块中泛音分量幅度向量的开始点(图11(a)中HA的位置“0”) 处幅度水平(值)。类似地,从奏法表中得到表示属于当前奏法过程的主 体部分奏法模块该泛音分量的音高向量HP结束点(图10(c)中HP的位 置“1”)处值的数据。然后,把一控制值加入到所得到的结束点音高值 数据中,由此计算主体部分奏法模块泛音分量的音高向量HP实际结束点 音高值,如此计算的实际结束点音高值设定为属于下一个奏法过程的主体 部分奏法模块泛音分量音高向量的开始点(图11(a)中HP的位置“0”) 处音高值。
类似地,从奏法表中得到表示属于当前奏法过程的主体部分奏法模块 非泛音分量的幅度向量NHA结束点(图10(d)中NHA的位置“1”)处水 平的数据。然后,把速度值、音量设定值等加入到所得到的开始点水平数 据中,由此计算主体部分奏法模块非泛音分量的幅度向量NHA实际结束点 水平数据,如此计算的实际结束点水平设定为属于下一个奏法过程的激起 部分奏法模块中非泛音分量幅度向量开始点(图11(b)中NHA的位置“0”) 处幅度水平(值)。
<连接部分模块>
图9C是一流程图,它示出在当前过程指定一连接部分的奏法模块时 预演处理过程的典型步骤顺序(“连接模块预演处理过程”)。
在步骤S1c,把目前要处理的每一个奏法过程(当前过程)(图8所 示实例中的过程EV4和EV5)发送给奏法合成段23,并且通过奏法合成段 23从上述奏法表中把向量ID、典型采样点数目的序列(形状)和与指定 一具体连接部分奏法模块的奏法ID相对应的其他参数读取为预演数据。 把如此读取的预演数据给至演奏部分段22,在此基础上,演奏部分段22 以下述方式确定或调整各参数(控制数据)如水平和时间值。应注意的是, 在对前面奏法的预演处理过程中已经受到调整或改变的那些参数这里按 其原值使用。
在步骤S2c,把通过预先读取得到的下一个奏法过程或未来过程发送 给奏法合成段23,并且读取向量ID、典型采样点数目的序列(形状)和 与奏法ID相对应的其他参数,将它们送至演奏部分段22,在此基础上, 演奏部分段22以下述方式确定或调整各参数(控制数据)如水平和时间 值。在指定第二主体部分的奏法过程(例如图8实例中的过程EV6)之后, 指定该奏法过程的连接部分。
在图9C的步骤S3c和S5c,在当前和下一个奏法过程的如此得到的数 据基础上,确定属于当前奏法过程的奏法模块的预定水平和时间数据。在 步骤S4c,预演处理过程指示奏法合成段23开始合成属于当前奏法过程的 连接部分奏法模块。
基本上,在该预演处理过程中,调整该连接部分部分中泛音分量和非 泛音分量各自幅度向量的开始点水平以及泛音分量音高向量的开始点水 平,以匹配前面的主体部分奏法模块(例如图8实例中的EV3)相应向量 的结束点水平,并且调整该连接部分奏法模块中泛音分量和非泛音分量各 自幅度向量的结束点水平以及泛音分量音高向量的结束点水平,以匹配后 面的主体部分奏法模块(例如图8实例中的EV6)的开始点水平。
应注意的是,已经通过对前面的奏法过程所进行的预演处理过程(图 9B中的步骤S5b)确定了该连接部分奏法模块的泛音分量和非泛音分量各 自幅度向量的开始点水平以及泛音分量音高向量的开始点水平,所以这里 使用这些开始点水平。因此,以一种方式利用上面步骤S2c得到的下一个 主体部分奏法模块的预演结果执行步骤S3c处的操作,该方式是,把该连 接部分奏法模块中泛音分量和非泛音分量各自幅度向量的结束点水平以 及泛音分量音高向量的开始点水平设定为与后面奏法模块相应向量的开 始点水平相对应。以与图9A的步骤S3a类似的方式执行步骤S3c的操作, 所以这里不对此进行详细描述。
以基本上与涉及图11(a)的上述方式相同的方式设定该连接部分奏 法模块的开始时间。也就是说,取得下一个过程即提示项(图8实例中的 过程EV5)的时间标记,以了解实际发声开始点(图11(a)实例中的 “noteOnTime”),并且将该实际发声开始点与参数“preTimeH”所代表 的开始时间之差(“noteOnTime”-“preTimeH”)设定为该连接部分奏 法模块中泛音分量的开始时间。还以基本上与涉及图11(b)的上述方式 相同的方式确定该连接部分奏法模块非泛音分量的开始时间。这些开始时 间可以在步骤S1c的预演操作过程中确定。
还以基本上与涉及图11(a)的上述方式相同的方式设定该连接部分 奏法模块的结束时间。也就是说,由于限定泛音分量结束时间的的参数 “postTimeH”确定该连接部分中下一个提示项(图8实例中的过程EV5) 出现时间与该连接部分泛音分量的波形产生结束时间之差,所以把参数 “postTimeH”所确定的时间加至该连接部分中过程(图8实例中的过程 EV5)的出现时间“noteOnTime”,把得到的和“noteOnTime+postTimeH” 确定为该连接部分奏法模块泛音分量的结束时间。这样,在步骤S5c,把 通过该预演处理过程确定的连接部分奏法模块中泛音分量的结束时间设 定为下一个主体部分奏法模块中泛音分量的开始时间。类似地,采用图11 (b)中所指的参数“postTimeNH”执行该预演处理过程,该参数限定非 泛音分量的结束时间,从而确定该连接部分奏法模块中非泛音分量的结束 时间,并且将其设定为下一个主体部分奏法模块中非泛音分量的开始时 间。
<断开(完成)模块>
图9D是一流程图,它示出在当前过程指定一断开(完成)部分的奏 法模块时预演处理过程的典型步骤顺序(“断开模块预演处理过程”)。
在步骤S1d,把目前要处理的每一个奏法过程(当前过程)(图8所 示实例中的过程EV7和EV8)发送给奏法合成段23,并且通过奏法合成段 23从上述奏法表中把向量ID、典型采样点数目的序列(形状)和与指定 一具体断开部分奏法模块的奏法ID相对应的其他参数读取为预演数据。 把如此读取的预演数据给至部分段22,在此基础上,演奏部分段22以下 述方式确定或调整各参数(控制数据)如水平和时间值。应注意的是,在 对前面奏法的预演处理过程中已经受到调整或改变的那些参数这里按其 原值使用。通常,在此阶段,已经通过对前面奏法过程进行的预演处理过 程得到当前奏法过程必需的所有数据,这样,实际上,步骤S1d可以省去。
为作参考,图11(c)区示出了该断开部分奏法模块中泛音分量的向 量实例,而图11(d)区示出了该断开部分奏法模块中非泛音分量的向量 实例。参考符号“HA”、“HP”、“HT”、“NHA”、“NHT”等具有如早 先涉及图10所述相同的含义。在图11(c)区中,在限定该泛音分量开始 时间的参数中,“fadeTimeF”是确定前面奏法模块的尾部波形段与该断 开部分奏法模块的头部波形段之间平滑转换合成时间的参数, “preBlockTimeF”是确定该平滑转换合成的结束时间与下一个过程即提 示结束过程(图8实例中的过程EV8)的出现时间之间时差的参数。在提 示结束过程的出现时间“noteOffTime”基础上,也就是说,由 “noteOffTime-(fadeTimeF+preBlockTimeF)”确定该断开部分奏法模块 中泛音分量的开始时间。由“noteOffTime-preTimeNH”确定该断开部分 奏法模块中非泛音分量的开始时间。这些开始时间已经由对前面主体部分 奏法模块进行的预演处理过程(图9B的步骤S2b和S3b)确定,因而这里 可以采用这些已经确定的开始时间。
调整该断开部分奏法模块中泛音分量和非泛音分量幅度向量各自的 开始点水平和泛音分量音高向量的开始点水平,以使其匹配前面主体部分 奏法模块(例如图8实例中的EV6)相应向量的结束点水平。这些水平也 已经由对前面主体部分奏法模块进行的预演处理过程(图9B的步骤S5b) 确定,因而这里可以采用这些已经确定的水平。
也就是说,由于至此应当已经完成发声终止断开(完成)部分所必需 的预演操作,所以实际上不需要步骤S1d的预演操作。在步骤S4d,该预 演处理过程指示奏法合成段23开始合成属于当前奏法过程的断开部分奏 法模块。
应注意的是,图9A至9C中所示步骤S5a、S5b和S5c的操作可以在 实际奏法合成过程中由奏法合成段23进行,而不是在预演处理过程中由 演奏部分段22进行。
(4)奏法合成段23:
图5中,在从演奏部分段22中接收的时标奏法过程和表示该预演处 理过程结果的数据基础上,奏法合成段23执行预定的奏法合成处理过程。 在该奏法合成处理过程中,奏法合成段23翻译和处理该奏法过程的奏法 ID和参数或者控制数据,在此基础上,奏法合成段23从奏法表中读取各 个向量ID、典型点数目序列和各种参数。然后,奏法合成段23修改、改 变或处理如此读取的数据和参数。此外,演奏合成段23对向量ID、典型 点数目序列、各种参数等和由该预演处理过程所确定的参数(控制数据) 如时间和水平进行打包(制成一个数据包),并且将该数据包作为时间连 续的数据流输出。在图6中,小方框331a、331b、331c……示出演奏合成 段23执行奏法合成处理过程的定时。此外,图6中,方框330代表用来 输出该打包数据流的输出过程段,其中小方框330a、330b、330c……示出 各数据流的输出定时。
(5)波形合成段24:
图5中,波形合成段24从奏法合成段23中接收打包的数据流,该打 包的数据流包括向量ID、典型点数目序列等、根据当前时间前面的上述预 取时间处向量ID从波形数据库的编码簿中读取的波形模板数据等,而且 该波形合成段24在当前时间前面的上述输出等待时间周期处典型点数目 序列、各参数等的基础上,创建幅度向量和音高向量的包络线波形形状, 然后,在包络线波形形状等的基础上产生奏法波形的泛音分量波形和非泛 音分量波形。之后,波形合成段24根据该奏法波形的泛音分量波形和非 泛音分量波形各自的时间数据,将它们加至预定的时间位置,然后补充合 成这些波形以最终合成一奏法波形。把这里所建立的每一个再现时间(即 当前时间)数据送给简单的自动演奏装置段20,并将其用于改变再现位置 (时间)的实时显示。图6中,方框341、342、343……示出从波形数据 库编码簿中预取数据的定时。应注意的是,为使合成段24在上述波形模 板数据、如上所述幅度向量和音高向量的包络线波形形状等的基础上创建 奏法波形数据,可以采用例如公知的技术“软件发声器”。把由合成段24 创建的奏法波形数据送到输出缓冲存储器,该缓冲存储器设置在图1的波 形输出段108内。然后,在一预定采样频率下读取如此存储在输出缓冲存 储器中的奏法波形数据,并经图1的音响系统108A产生可闻声音。
尽管以上已经将该实施例作为在每一个预定时间周期内执行每一个 当前奏法过程的数据读取和相应未来奏法过程的预先数据读取进行了描 述,不过本发明并不受此限制;例如,可以在任何期望的时间进行每一个 当前奏法过程的数据读取和相应未来奏法过程的预先数据读取。
总之,本发明的特征在于,当要根据依时间顺序提供的各演奏过程信 息片段处理一给定时间点处的给定演奏过程信息片段时,在其他演奏过程 信息片段之前得到涉及该给定演奏过程信息片段之后的一个或一个以上 过程的另一个演奏过程信息片段,然后在该给定演奏过程信息片段和其他 片段的基础上,产生与由该给定演奏过程信息片段和预先得到的其他演奏 过程信息片段中至少一个指定的奏法模块相对应的控制数据。本发明的设 置允许考虑基于连续演奏过程信息片段的奏法模块之间的关系而创建控 制数据。例如,如此设置的本发明可以对控制数据进行适当的处理,以使 基于连续演奏过程信息片段的奏法模块所指定的奏法波形能够平滑互连。
QQ群二维码
意见反馈