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