专利名称:基于不同种类声音数据的声音合成系统的制作方法
技术领域:
本发明涉及音频合成领域,特别涉及一种利用系统自带的音源数据库对传来的不同种类声音数据文件进行合成和再现的声音合成系统。
背景技术:
现有技术中通过声音合成系统来进行还原和再现的声音文件主要包括以下三大类声音信号文件,这类文件从根本上讲都是记录了声音本身的波形数据,采用不同的编码算法对原始波形数据进行处理进而缩减文件大小,在还原此类声音文件时,再用相应的解码器将其还原成原始的声音波形数据。MP3就是此类文件,如附图1所示,在合成声音的时候,MP3解码器对MP3数据进行解码,将其还原成PCM声音波形数据,如果需要改变声音波形特性,比如采样率、采样精度、或者增加一些类似于混响等的特殊效果,还要解码器后增加其他的模块。
乐谱文件,这类文件记录着乐器演奏的节奏和音阶的信息,其本身并不包含具体声音波形数据。因此乐谱文件的特点是文件尺寸非常小,一首5分钟的大型交响乐也不过100Kbyte左右,这与声音信号文件动辄几M、几十M的尺寸是无法相比的。但它的缺点是合成方式比较复杂。就像平常我们使用的乐谱中存在简谱和五线谱之分一样,现在也存在着多种此类的乐谱文件,比如MIDI,SMAF等等。如附图2所示以MIDI的波表合成为例作简要介绍首先,包洛曲线生成器根据MIDI消息,计算出包洛曲线;其次,波形生成器从波表库中取出与MIDI消息相对应的波表数据,即所要合成乐器的真实声音的采样数据,然后再进行调频计算产生波形;最后,用包洛曲线对波形数据进行调幅完成对MIDI消息的合成。其他种类乐谱文件的合成方法与MIDI波表合成方法基本类似。
语音合成文件,相对于以上两种声音文件格式,语音合成的文件最为简单,只要是文本文件就可以,尽管其合成算法的复杂度远远超过上述的两种文件,如附图3所示是对语音合成原理的简要介绍文本分析模块根据词汇支持库对语音文件进行分析,韵律建模模块在规则库的支持下进行韵律建模,语音合成器根据韵律建模的结果,从原始语音库中取出相应的语音基元,再利用特定的语音合成算法对语音基元进行韵律特性的调整和修改,最终合成出符合要求的语音。其中语音基元就是真人朗读语言片断(可能是字,也可能是词)的采样数据。
由于声音信号文件包含了声音波形数据,文件的体积相对非常大,因此在很多情况下并不适宜应用,如移动电话中的声音合成部分,通常用到的都是乐谱类型文件和语音合成文件,而在实际应用中,乐谱文件有不同的类型,对不同类型文件的支持是一个问题,此外若要求声音合成系统同时支持乐谱文件和语音合成文件两种文件格式通常就更加困难了,常见的解决办法是用不同的独立系统分别处理这两种文件格式,这样的缺点是不仅系统复杂结构庞大而且解决方案不够紧凑,此外还需要附加的系统来协调不同合成系统的工作,这样做无疑是不经济的。
这就需要一种可对不同文件格式且本身不带有声音波形数据的声音数据文件进行还原和合成的声音合成系统来解决以上问题。
本发明人在研究以上文件类型后发现,不同的乐谱文件之间通常以及不同的语音合成文件之间都具有一定的共性,而乐谱文件和语音合成文件的合成系统也存在着一些近似点的,在语音合成系统中的语音合成器这个模块功能上非常类似于乐谱文件(MIDI)的波表合成器,它们都是从音源库中提取出音源,对于波表合成来讲,它是从波表库中提取真实乐器的采样数据,而对于语音合成来讲,是从语音库中提取人朗读某个语音基元的采样,然后合成器再对采样数据进行调频和调幅来合成音乐或者语音。
发明内容
本发明的目的在于提出一种可对不同种类声音数据文件进行合成和再现的声音合成系统,声音分析部分和声音合成部分都相对独立,可进行很好的扩容或修改。
本发明提出的解决方案如下一种基于不同种类声音数据的声音合成系统,包括分析子系统A和合成子系统B;分析子系统A包括一个声音文件分析模组和一个声音合成事件生成模块;声音文件分析模组对系统所接收到的声音数据进行分析并提取出需要的声音信息,或者对文本数据进行文本分析和韵律建模,声音合成事件生成模块接收所述声音文件分析模组传来的分析结果,生成适合合成子系统B合成声音信号所需的声音合成事件;合成子系统B包括一个事件调度控制模块,一个声音合成模块和一个储存有声音合成时所需音源的音源数据区;事件调度控制模块接收子系统A中的声音合成事件生成模块传来的声音合成事件,并合理分配声音合成事件到声音合成模块中的合成通道上,声音合成模块根据合成事件中带有的关于声音采样所在位置的参数,从音源数据区中取出相应的声音采样,再根据声音合成事件包含的其他参数对声音采样进行调频和调幅等处理工作完成音符的合成。
所述声音文件分析模组中可同时包含有若干个相同或不同类型的声音数据分析模块,其包括但不限于乐谱数据分析模块和语音合成分析模块。
所述声音合成事件不包含具体的节奏和旋律信息,而是一些抽象出来,用于合成声音的一些参数,是声音合成过程中的具有一定共性的模型。
对比现有技术,本发明的优点在于由于声音合成事件是声音合成过程中的具有一定共性的模型,其与具体文件格式无关,使用声音合成事件作为声音文件分析模组和声音合成模块之间的桥梁,可以实现声音合成模块完全独立,这样有利于声音合成模块的实现,而且,如果声音合成模块设计的复杂并有其他支持特殊效果的模块,只不过增加声音合成事件中的参数就可以了;另外,由于分析子系统A也相对独立,可以根据需要方便的增加或者减少分析子系统A中声音文件分析模组所包含声音数据分析模块的种类,这样在构成整个合成系统的时候就非常的灵活,而且即使对分析子系统A中的某个声音数据分析模块的修改,也不会影响合成子系统B。
但本发明的优点并不限于上述所举应用领域,下面结合附图和并非特定的实施例来对本实用新型作更详尽的说明。
图1为MP3音乐数据的还原合成示意图;图2为MIDI的波表合成原理示意图;图3为语音合成原理示意图;
图4为本发明所述装置结构原理简图;图5为本发明所述实施例的结构原理简图;图6为声音合成模块结构示意图;图7为声音合成事件生成模块对乐谱数据分析模块传来的分析结果进行处理的原理图;图8为包洛曲线的示意图。
具体实施例方式
在下面的说明中,公知的功能或结构将不再详细说明,以避免与本发明的内容存在不必要的混淆。
如附图4所示,本发明所述的基于不同种类声音数据的声音合成系统包括分析子系统A和合成子系统B;系统A负责不同声音文件的分析,并且产生声音合成事件,通过这样的事件驱动声音合成系统B合成具体的声音信号。
分析子系统A包括一个声音文件分析模组10和一个声音合成事件生成模块20;声音文件分析模组10分析系统所接收到的声音数据并提取相关声音信息,声音合成事件生成模块20接受所述声音文件分析模组10传来的分析结果,生成用于系统B合成声音信号所需的声音合成事件;合成子系统B包括一个事件调度控制模块40,一个声音合成模块50和一个储存有声音合成时所需音源的音源数据区30; 事件调度控制模块40连接分析子系统A中的声音合成事件生成模块20和所述声音合成模块50,接收声音合成事件生成模块20传来的声音合成事件,并合理分配声音合成事件到声音合成模块50中的合成通道上,声音合成模块50根据合成事件中带有的关于声音采样所在位置的参数,从音源数据区30中取出相应的声音采样,再根据声音合成事件包含的其他参数对声音采样进行调频和调幅,以完成整个音符的合成工作。
附图5所示为本发明所述装置的一个具体实施例,包括分析子系统A和合成子系统B,分析子系统A包括一个声音文件分析模组10和一个声音合成事件生成模块20;声音文件分析模组10包括乐谱数据分析模块11和语言合成分析模块12,其中乐谱数据分析模块11分析乐谱数据并提取用的与音乐有关的信息,如音色,声调,节奏等等;语言合成分析模块12用于对文本数据进行文本分析和韵律建模。
声音合成事件生成模块20根据乐谱数据分析模块11和语言合成分析模块12的分析结果,生成用于系统B合成声音信号的所需的声音合成事件,这些声音合成事件不包含具体的节奏和旋律信息,而是一些抽象出来,用于合成声音的一些调频、调幅参数等。对于这两种文件的合成,这些参数都是需要的。音源数据区30中储存有声音合成时所需要的音源,对于波表合成乐谱文件,音源区存储着波表采样;对于语音合成,音源区存储着语音基元。事件调度控制模块40连接声音合成事件生成模块20和声音合成模块50,合理分配声音合成事件,达到对声音合成模块有效的驱动。
声音合成模块50含有多个并行的合成通道,如附图6所示声音合成模块结构示意图,每个合成通道可独立完成所有的合成工作,任何一个通道可以运用声音合成事件的合成参数,对从音源数据区30中提取出的音源数据进行调制,以合成声音信号。再由累加模块把多个通道的合成结果进行混合。这样整个系统就可以同时合成多种声音甚至是多种声音文件。
下面以乐谱文件中的MIDI文件为例具体介绍本发明所述装置。比如MIDI文件中有这样的一段十六进制代码00 C0 00 00 90 64 70 55 80 64 70,第一个消息00 C0 00表示这段MIDI数据记录的是一首钢琴演奏的乐曲;第二个消息00 90 64 70表示此时钢琴要开始演奏第64号音符,类似于现实的钢琴演奏过程中,演奏者此时开始按下相应一个琴键;第三个消息55 80 64 70表示在第二个消息发生之后的第55个单位时间时,开始结束第64号音符的演奏,类似于演奏者在此时松开琴键。
当音色消息00 C0 00、音符开始消息00 90 64 70和音符结束消息55 80 6470被乐谱数据分析模块11所接收到时,乐谱数据分析模块11便从中提取了几个非常有用的信息音色代码00、消息代码90、音调代码64、速度代码70和音符持续时间55;并将这些代码发送到声音合成事件生成模块20。
附图7所示,为声音合成事件生成模块20对乐谱数据分析模块11传来的分析结果进行处理的原理图,声音合成事件生成模块20中的声音合成事件生成器201根据接收到的消息代码,从波表系数库202中提取出波表采样的一些信息,再根据波表合成的算法计算出波表合成所需要的参数。在MIDI合成中所用到的波表库是事先储存在子系统B的音源数据区30中的,而表示这个波表库里的波表采样性质的一些参数是储存在子系统A的声音合成事件生成模块20里的波表系数库中的,关于如何计算得到合成参数属于现有技术这里就不加赘述了。
所生成的声音合成参数主要分为以下几类第一类有关合成所需波表文件在音源库中(即波表库)的地址信息BASEOFFSET 波表文件的循环起始点在波表库中的地址CURPTR 当前位置距离BASEOFFSET的偏移量CURSIGN CURPTR的符号位ENDPTR;报表尾距离BASEOFFSET的偏移量If(CURSIGN==0)一个采样数据的实际地址=BASEOFFSET+CURPTRelse一个采样数据的实际地址=BASEOFFSET-CURPTR第二类有关包洛曲线的参数如附图8所示,EVLP1,EVLP2,EVLP3,EVLP4对应于包洛曲线的四段的性质,以EVLP1为例EVLP1.EVLPCHG 在此段包洛曲线的变化量EVLP1.EVLPMOD 包洛曲线的数值是递增还是递减,还是保持不变EVLP1.ECNTINIT 包洛曲线生成器的计数器的初始值第三类波表采样的参数SMPCTRL 波表采样是单声道的还是双声道的BITCTRL; 波表采样的采样精度是16bit还是8bitSIGNCTRL; 波表采样的数值是又有符号数,还是无符号数第四类低频振荡器参数(LFO),用来产生低频的三角波,在附加AMSTEP,FMSTEP对声音进行调频调幅以达到使声音更加真实的目的SINVAL 三角波的绝对值SINDIR 三角波的符号LFOCNT 以下三个参数控制三角波的周期LFOINIT;LFOSTGN
AMSTEP 与三角波配合的调幅参数FMSTEP 与三角波配合的调情参数第五类音量控制RVOL 回声音量控制CVOL 混响音量控制CHNVOL_L 左声道音量控制CHNVOL_R 右声道音量控制第六类调频参数FRATIO 这是个非常重要的参数,表达了输入波表采样的频率和采样率,与所要合成的音符的频率和合成输出数据的采样率之间的计算关系。
第七类其他控制信息CHNATRB 这组参数代表的文件类型,例如如果是MIDI CHNATRB==0,如果是语音合成数据CHNATRB==2。。。。
声音合成事件生成模块20将这些参数组合成一个数据块,这个数据块就是本文所说的声音合成事件,作用是告诉子系统B如何合成0号音色的这个音符。可以看到,这种事件完全不含节奏和音符的概念,可以说是抽象出来的一个模型,无论是何种乐谱文件,我们都可以从中取出需要的信息并将其生成可与合成子系统B中的各功能部分建立联系的事件,这样一来,用同样的波表库便可以支持不同乐谱文件的合成了。
当子系统B接受到这个事件以后,事件调度控制模块40把它合理的分配给声音合成模块50的一个合成通道上。这个合成通道根据合成事件中带有的关于波表采样所在位置的参数,从音源数据区30中取出相应的波表采样。再根据合成事件包含的其他参数对波表采样进行调频和调幅等处理,进而完成整个音符的合成工作。
语音信号的合成也是一样的,也可以用类似的声音合成事件参数驱动子系统B,只不过由于语音合成非常复杂,所以语言合成分析模块2的逻辑复杂,而且要在子系统中加入几个应用于语音合成的特别模块。
综上所述,本发明所述的基于不同种类声音数据的声音合成系统,不仅仅限于说明书和具体实施方式
中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
权利要求
1.一种基于不同种类声音数据的声音合成系统,其特征在于包括分析子系统A和合成子系统B;分析子系统A包括一个声音文件分析模组和一个声音合成事件生成模块;声音文件分析模组对系统所接收到的声音数据进行分析并提取出需要的声音信息,或者对文本数据进行文本分析和韵律建模,声音合成事件生成模块接收所述声音文件分析模组传来的分析结果,生成适合合成子系统B合成声音信号所需的声音合成事件;合成子系统B包括一个事件调度控制模块,一个声音合成模块和一个储存有声音合成时所需音源的音源数据区;事件调度控制模块接收子系统A中的声音合成事件生成模块传来的声音合成事件,并合理分配声音合成事件到声音合成模块中的合成通道上,声音合成模块根据合成事件中带有的关于声音采样所在位置的参数,从音源数据区中取出相应的声音采样,再根据声音合成事件包含的其他参数对声音采样进行调频和调幅等处理工作完成音符的合成。
2.根据权利要求1所述的声音合成系统,其特征在于,所述声音文件分析模组中包含有一个或多个乐谱数据分析模块。
3.根据权利要求2所述的声音合成系统,其特征在于,所述声音文件分析模组中还进一步包含有一个或多个语音合成分析模块。
4.根据权利要求2或3所述的声音合成系统,其特征在于,所述乐谱数据分析模块所接收并分析的声音数据包括但不限于MIDI数据和SMAF数据。
5.根据权利要求1所述的声音合成系统,其特征在于,所述声音文件分析模组中包含有一个或多个语音合成分析模块。
6.根据权利要求1所述的声音合成系统,其特征在于,所述声音合成事件生成模块中包含有波表系数库和声音合成事件生成器。
7.根据权利要求1所述的声音合成系统,其特征在于,所述声音合成事件中包括有关合成所需波表文件在音源数据区中的地址信息。
8.根据权利要求1所述的声音合成系统,其特征在于,所述声音合成事件中包括但不限于下列参数中的部分或全部有关包洛曲线的参数、波表采样的参数、低频振荡器参数、音量控制参数、调频参数、代表文件类型的参数。
9.根据权利要求1所述的声音合成系统,其特征在于,所述声音合成模块含有多个可独立完成所有的合成工作的并行的合成通道。
10.根据权利要求1所述的声音合成系统,其特征在于,所述音源数据区中存储的音源包括但不限于波表采样和语音基元。
全文摘要
本发明涉及音频合成领域,公开了一种基于不同种类声音数据的声音合成系统,包括分析子系统A和合成子系统B;分析子系统A包括一个声音文件分析模组和一个声音合成事件生成模块;合成子系统B包括一个事件调度控制模块,一个声音合成模块和一个储存有声音合成时所需音源的音源数据区;本发明所述装置可对不同种类声音数据文件进行合成和再现的声音合成系统,声音分析部分和声音合成部分都相对独立,可进行很好的扩容或修改。
文档编号G10L13/00GK1547188SQ20031011682
公开日2004年11月17日 申请日期2003年11月28日 优先权日2003年11月28日
发明者张韵东, 赵原 申请人:北京中星微电子有限公司