CN1194336C - 波形产生方法 - Google Patents
波形产生方法 Download PDFInfo
- Publication number
- CN1194336C CN1194336C CNB021081018A CN02108101A CN1194336C CN 1194336 C CN1194336 C CN 1194336C CN B021081018 A CNB021081018 A CN B021081018A CN 02108101 A CN02108101 A CN 02108101A CN 1194336 C CN1194336 C CN 1194336C
- Authority
- CN
- China
- Prior art keywords
- playing
- waveform
- data
- module
- play
- 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/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
-
- 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
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/008—Means for controlling the transition from one tone waveform to another
-
- 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
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/095—Inter-note articulation aspects, e.g. legato or staccato
-
- 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
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/011—Files or data streams containing coded musical information, e.g. for transmission
- G10H2240/046—File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
- G10H2240/056—MIDI or other note-oriented file format
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
按时间顺序提供指定各奏法模块的演奏过程信息片段。当要根据所提供的演奏过程信息片段处理给定时间点的给定演奏过程信息片段时,在该给定演奏过程信息片段之后,其他演奏过程信息片段的预定原始时间位置之前,取得与一个或多个过程相关的另一个演奏过程信息片段。在一给定演奏过程信息片段和预先所取得的其他演奏过程信息片段的基础上,产生与该给定演奏过程信息片段和该其他演奏过程信息片段中至少一个所指定的奏法模块相对应的控制数据,并且在该控制数据的基础上,合成与所指定奏法模块相对应的波形。
Description
技术领域
本发明涉及以从波形存储器等装置中读取的波形数据为基础产生乐音、语音或其他期望声音波形的方法,尤其涉及一种改进的波形产生方法,这种方法能够产生如实体现音色变化的波形,音色变化受普通乐器所特有的奏法或链接格调的影响。应注意的是,本发明可广泛用于所有能产生乐音、语音或其他期望声音波形的装置、装置或方法的领域,例如自动演奏装置、计算机、电子游戏机或其他类型的多媒体装置,更不用说普通的电子乐器。还应注意的是,在本说明书中,术语“声音(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翻译来自简单的自动演奏装置段2Q的带有时间标记的奏法过程序列对象(即奏法过程数据序列),并且在逐项的基础上设定(缓存)该奏法过程数据序列。这样,在对每一个演奏部分进行接受顺序再现开始指令的操作之后,对奏法过程数据的顺序进行读取。因此,在以下的描述中,短语“预先读取给定过程之后的过程”或类似的话讨论同一演奏部分的奏法过程数据序列中两个连续过程。以下描述中“部分”一词或“演奏部分”一词是指“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)区中所指的参数“preTimeNИ”执行该预演处理过程,该参数限定非泛音分量的开始时间,以便确定该连接部分奏法模块中非泛音分量的开始时间,并且设定为主体部分奏法模块中非泛音分量的结束时间。
主体部分奏法模块中泛音分量和非泛音分量幅度向量各自的开始点水平和泛音分量音高向量的开始点水平已经通过对前面(例如激起部分)奏法模块进行的预演处理过程得到设定,它们作为前面(例如激起部分)奏法模块中泛音分量和非泛音分量幅度向量各自的结束点水平和泛音分量音高向量的结束点水平。
因此,在下一个步骤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)区中,在限定该泛音分量开始时间的参数中,“fadeTimeE”是确定前面奏法模块的尾部波形段与该断开部分奏法模块的头部波形段之间平滑转换合成时间的参数,“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产生可闻声音。
尽管以上已经将该实施例作为在每一个预定时间周期内执行每一个当前奏法过程的数据读取和相应未来奏法过程的预先数据读取进行了描述,不过本发明并不受此限制;例如,可以在任何期望的时间进行每一个当前奏法过程的数据读取和相应未来奏法过程的预先数据读取。
总之,本发明的特征在于,当要根据依时间顺序提供的各演奏过程信息片段处理一给定时间点处的给定演奏过程信息片段时,在其他演奏过程信息片段之前得到涉及该给定演奏过程信息片段之后的一个或一个以上过程的另一个演奏过程信息片段,然后在该给定演奏过程信息片段和其他片段的基础上,产生与由该给定演奏过程信息片段和预先得到的其他演奏过程信息片段中至少一个指定的奏法模块相对应的控制数据。本发明的设置允许考虑基于连续演奏过程信息片段的奏法模块之间的关系而创建控制数据。例如,如此设置的本发明可以对控制数据进行适当的处理,以使基于连续演奏过程信息片段的奏法模块所指定的奏法波形能够平滑互连。
Claims (6)
1.一种波形产生方法,该方法包括以下步骤:
按时间顺序提供指定各奏法模块的演奏过程信息片段;
当要根据所述按时间顺序提供指定各奏法模块的演奏过程信息片段的步骤所提供的演奏过程信息片段处理给定时间点的给定演奏过程信息片段时,在该给定演奏过程信息片段之后,其他演奏过程信息片段的预定原始时间位置之前,取得与一个或多个过程相关的另一个演奏过程信息片段;
在给定演奏过程信息片段和预先通过所述取得步骤取得的其他演奏过程信息片段的基础上,产生与该给定演奏过程信息片段和该其他演奏过程信息片段中至少一个所指定的奏法模块相对应的控制数据;以及
在该控制数据的基础上,合成与所指定奏法模块相对应的波形数据。
2.如权利要求1所述的波形产生方法,其特征在于,所述产生控制数据的步骤还包括:一根据与所指定的奏法模块之外的另一奏法模块相对应的控制数据来处理该控制数据的步骤。
3.一种波形产生方法,包括以下步骤:
按顺序指定奏法模块;
取得与前面奏法模块的至少一个尾端部特征有关的尾端信息和与后面奏法模块的至少一个头端部特征有关的头端信息;
在由所述取得步骤取得的尾端信息和头端信息的基础上修改前面和后面奏法模块至少一个的特征;以及
根据所述修改步骤修改的特征合成对应于所述按顺序指定步骤所指定的奏法模块的一个波形。
4.如权利要求3所述的波形产生方法,其特征在于所述尾端信息和头端信息的每一个都包括时间信息和水平信息的至少一个。
5.一种波形产生方法,包括以下步骤:
按时间顺序提供指定奏法模块的演奏过程信息片段;
在给定的演奏过程信息的基础上产生对应于奏法模块的波形数据;
其中当要合成至少包括激起部分和主体部分的波形时,所述提供步骤提供用来指定该激起部分的波形的第一模块过程数据、指示项数据和用来指定主体部分的波形的第二模块过程数据,作为演奏过程信息;
其中所述产生步骤响应于该指示项数据之前提供的所述第一模块过程数据开始产生该激起部分的波形,并且响应于该指示项数据之后提供的所述第二模块过程数据开始产生主体部分的波形。
6.如权利要求5的波形产生方法,其特征在于当要合成至少包括主体部分和离开部分的波形时,所述提供步骤提供用来指定该离开部分和提示结束项数据的波形并跟随用来指定主体部分的波形的第二模块过程数据的第三模块过程数据;以及
其中所述产生步骤响应于在该提示结束项数据之前并响应于所述第二模块过程数据已经产生了主体部分的波形之后提供的所述第三模块过程数据开始产生该离开部分的波形。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP091187/2001 | 2001-03-27 | ||
JP2001091188 | 2001-03-27 | ||
JP2001091187 | 2001-03-27 | ||
JP2001091186A JP3552675B2 (ja) | 2001-03-27 | 2001-03-27 | 波形生成方法及び装置 |
JP091186/2001 | 2001-03-27 | ||
JP2001091188A JP3552676B2 (ja) | 2001-03-27 | 2001-03-27 | 波形生成方法及び装置 |
JP2001091186 | 2001-03-27 | ||
JP091188/2001 | 2001-03-27 | ||
JP2001091187A JP3613191B2 (ja) | 2001-03-27 | 2001-03-27 | 波形生成方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1383129A CN1383129A (zh) | 2002-12-04 |
CN1194336C true CN1194336C (zh) | 2005-03-23 |
Family
ID=27346368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021081018A Expired - Fee Related CN1194336C (zh) | 2001-03-27 | 2002-03-26 | 波形产生方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7259315B2 (zh) |
EP (1) | EP1258864A3 (zh) |
CN (1) | CN1194336C (zh) |
HK (1) | HK1048012A1 (zh) |
SG (1) | SG118122A1 (zh) |
TW (1) | TWI243355B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6917911B2 (en) * | 2002-02-19 | 2005-07-12 | Mci, Inc. | System and method for voice user interface navigation |
JP3975772B2 (ja) | 2002-02-19 | 2007-09-12 | ヤマハ株式会社 | 波形生成装置及び方法 |
JP3829780B2 (ja) | 2002-08-22 | 2006-10-04 | ヤマハ株式会社 | 奏法決定装置及びプログラム |
CN100399418C (zh) * | 2003-06-10 | 2008-07-02 | 联发科技股份有限公司 | 波表音乐合成系统 |
CN100421151C (zh) * | 2003-07-30 | 2008-09-24 | 扬智科技股份有限公司 | 适应性多阶步进的时序转换方法 |
EP1851760B1 (en) * | 2005-02-10 | 2015-10-07 | Koninklijke Philips N.V. | Sound synthesis |
WO2006085244A1 (en) * | 2005-02-10 | 2006-08-17 | Koninklijke Philips Electronics N.V. | Sound synthesis |
DE602006000117T2 (de) * | 2005-06-17 | 2008-06-12 | Yamaha Corporation, Hamamatsu | Musiktonwellenformsynthesizer |
JP4552769B2 (ja) * | 2005-06-17 | 2010-09-29 | ヤマハ株式会社 | 楽音波形合成装置 |
US7718885B2 (en) * | 2005-12-05 | 2010-05-18 | Eric Lindemann | Expressive music synthesizer with control sequence look ahead capability |
JP4525619B2 (ja) * | 2005-12-14 | 2010-08-18 | ヤマハ株式会社 | 電子楽器の鍵盤装置 |
JP4561636B2 (ja) * | 2006-01-10 | 2010-10-13 | ヤマハ株式会社 | 楽音合成装置及びプログラム |
JP4802857B2 (ja) | 2006-05-25 | 2011-10-26 | ヤマハ株式会社 | 楽音合成装置及びプログラム |
JP5142363B2 (ja) * | 2007-08-22 | 2013-02-13 | 株式会社河合楽器製作所 | 成分音合成装置及び成分音合成方法。 |
US8392004B2 (en) * | 2009-04-30 | 2013-03-05 | Apple Inc. | Automatic audio adjustment |
US8458593B2 (en) * | 2009-04-30 | 2013-06-04 | Apple Inc. | Method and apparatus for modifying attributes of media items in a media editing application |
US8566721B2 (en) * | 2009-04-30 | 2013-10-22 | Apple Inc. | Editing key-indexed graphs in media editing applications |
JP5605192B2 (ja) * | 2010-12-02 | 2014-10-15 | ヤマハ株式会社 | 楽音信号合成方法、プログラムおよび楽音信号合成装置 |
US8862254B2 (en) | 2011-01-13 | 2014-10-14 | Apple Inc. | Background audio processing |
US8842842B2 (en) | 2011-02-01 | 2014-09-23 | Apple Inc. | Detection of audio channel configuration |
US8965774B2 (en) | 2011-08-23 | 2015-02-24 | Apple Inc. | Automatic detection of audio compression parameters |
US9712496B2 (en) * | 2015-04-28 | 2017-07-18 | Nxp B.V. | Signal modulation for secure communication |
JP6146686B2 (ja) * | 2015-09-15 | 2017-06-14 | カシオ計算機株式会社 | データ構造、データ格納装置、データ取り出し装置および電子楽器 |
US10210854B2 (en) | 2015-09-15 | 2019-02-19 | Casio Computer Co., Ltd. | Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument |
CN107644632B (zh) * | 2017-08-17 | 2021-03-30 | 北京英夫美迪科技股份有限公司 | 音频缩混及波形生成方法和设备 |
CN110322894B (zh) * | 2019-06-27 | 2022-02-11 | 电子科技大学 | 一种基于声音的波形图生成及大熊猫检测方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5086685A (en) * | 1986-11-10 | 1992-02-11 | Casio Computer Co., Ltd. | Musical tone generating apparatus for electronic musical instrument |
JP2776045B2 (ja) | 1991-03-13 | 1998-07-16 | ヤマハ株式会社 | 楽音発生装置 |
JP2677146B2 (ja) * | 1992-12-17 | 1997-11-17 | ヤマハ株式会社 | 自動演奏装置 |
US5756917A (en) * | 1994-04-18 | 1998-05-26 | Yamaha Corporation | Automatic accompaniment device capable of selecting a desired accompaniment pattern for plural accompaniment components |
US5763800A (en) * | 1995-08-14 | 1998-06-09 | Creative Labs, Inc. | Method and apparatus for formatting digital audio data |
SG65729A1 (en) * | 1997-01-31 | 1999-06-22 | Yamaha Corp | Tone generating device and method using a time stretch/compression control technique |
JP3724222B2 (ja) | 1997-09-30 | 2005-12-07 | ヤマハ株式会社 | 楽音データ作成方法及び楽音合成装置並びに記録媒体 |
JP3520781B2 (ja) | 1997-09-30 | 2004-04-19 | ヤマハ株式会社 | 波形生成装置及び方法 |
DE69836393T2 (de) | 1997-09-30 | 2007-09-06 | Yamaha Corp., Hamamatsu | Verfahren, Vorrichtung und maschineslesbares Speichermedium zur Klangsynthesierung |
JP3675184B2 (ja) | 1997-09-30 | 2005-07-27 | ヤマハ株式会社 | 波形形成装置及び方法 |
US5900568A (en) * | 1998-05-15 | 1999-05-04 | International Business Machines Corporation | Method for automatic sound synthesis |
EP1028409B1 (en) * | 1999-01-29 | 2005-03-16 | Yamaha Corporation | Apparatus for and method of inputting music-performance control data |
JP3744247B2 (ja) | 1999-03-26 | 2006-02-08 | ヤマハ株式会社 | 波形圧縮方法及び波形生成方法 |
DE60026189T2 (de) * | 1999-03-25 | 2006-09-28 | Yamaha Corp., Hamamatsu | Verfahren und Vorrichtung zur Wellenformkomprimierung und Erzeugung |
JP2000330565A (ja) | 1999-05-21 | 2000-11-30 | Kawai Musical Instr Mfg Co Ltd | 電子楽器及び音色設定方法 |
US6316710B1 (en) * | 1999-09-27 | 2001-11-13 | Eric Lindemann | Musical synthesizer capable of expressive phrasing |
-
2002
- 2002-03-25 SG SG200201698A patent/SG118122A1/en unknown
- 2002-03-25 EP EP02006823A patent/EP1258864A3/en not_active Withdrawn
- 2002-03-26 US US10/107,865 patent/US7259315B2/en not_active Expired - Lifetime
- 2002-03-26 TW TW091105912A patent/TWI243355B/zh not_active IP Right Cessation
- 2002-03-26 CN CNB021081018A patent/CN1194336C/zh not_active Expired - Fee Related
- 2002-12-31 HK HK02109425.4A patent/HK1048012A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20020143545A1 (en) | 2002-10-03 |
EP1258864A2 (en) | 2002-11-20 |
US7259315B2 (en) | 2007-08-21 |
CN1383129A (zh) | 2002-12-04 |
EP1258864A3 (en) | 2006-04-12 |
TWI243355B (en) | 2005-11-11 |
SG118122A1 (en) | 2006-01-27 |
HK1048012A1 (zh) | 2003-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1194336C (zh) | 波形产生方法 | |
JP7041270B2 (ja) | モジュラー自動音楽制作サーバー | |
JP2020030418A (ja) | 携帯用音声合成のためのシステム及び方法 | |
CN1240045C (zh) | 用于卡拉ok、游戏机之类的声音重放装置和方法 | |
CN1941071A (zh) | 拍子提取及检测设备和方法、音乐同步显示设备和方法 | |
CN1433548A (zh) | 基于网络的音乐演奏/歌曲伴奏服务系统和方法 | |
CN1230273A (zh) | 一种音响合成器中的减少内存的混响模拟器 | |
CN1252674C (zh) | 用于在完美重奏中再现音乐的多个部分的音频系统 | |
CN1838229A (zh) | 重放装置和重放方法 | |
CN1783324A (zh) | 内容使用装置及方法、分配服务器装置、信息分配法、记录媒体 | |
CN1619640A (zh) | 自动乐曲分类设备与方法 | |
CN1230275A (zh) | 使用可变采样率近似的波形表合成器及其方法 | |
CN1783323A (zh) | 内容使用装置及方法、分配服务器装置、信息分配法、记录介质 | |
CN1808566A (zh) | 重放装置和方法 | |
CN1503219A (zh) | 乐音语音再现装置及其控制方法、存储媒体及服务器装置 | |
CN1230274A (zh) | 用于波形表合成器中对声音信号采样作预处理的周期强制滤波器 | |
CN1873775A (zh) | 乐音合成装置及方法 | |
CN1254785C (zh) | 乐音生成装置、携带终端装置以及乐音生成方法 | |
CN1770258A (zh) | 表演风格确定设备和方法 | |
CN1127719C (zh) | 带效果数据转换功能的电子音乐设备和效果增添方法 | |
CN1674089A (zh) | 用于处理铃声的装置及方法 | |
CN1159698C (zh) | 利用计算机软件的乐音发生器系统 | |
CN1020358C (zh) | 声音合成的方法和装置 | |
US9014831B2 (en) | Server side audio file beat mixing | |
CN1581290A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050323 Termination date: 20130326 |