语音合成设备和方法转让专利

申请号 : CN200480018265.9

文献号 : CN1813285B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 佐藤宁

申请人 : 株式会社建伍

摘要 :

一种简单构成的语音合成设备等,用于以高速度产生自然的合成语音。当提供了表示消息模板的数据时,话音元编辑器(5)搜索话音元数据库(7),搜索关于声音与消息模板中的话音元匹配的话音元的话音元数据。而且,话音元编辑器(5)预测消息模板的韵律,并且根据韵律预测的结果,以一次一个的方式从已检索出的话音元数据中选择消息模板中的每个话音元的最佳匹配。对于不能选择出其匹配的话音元,指令声处理器(41)提供表示每个单位话音的波形的波形数据。组合所选择的的话音元数据和由声处理器(41)提供的波形数据,以生成表示合成语音的数据。

权利要求 :

1.一种语音合成设备,该设备包括:

第一存储装置,用于存储表示话音元的多个话音元数据段;

选择装置,用于从存储在该第一存储装置中的多个话音元数据段中选择读音同组成所输入句子信息的话音元是共同的话音元数据;

遗漏部分合成装置,用于对于该选择装置不能选择出该话音元数据的该句子信息中的话音元,合成表示所需的语音声音的语音数据;和合成装置,用于组合从该选择装置选择的该话音元数据和由该遗漏部分合成装置合成的该语音数据,以创建对应于该句子信息的表示合成语音的数据,其中该遗漏部分合成装置具有第二存储装置,用于存储表示音素片段的多个数据段;并且其中从该第二存储装置获取表示音素片段的数据,该音素片段组成了不能选择出话音元数据的话音元,并且使所获取的数据相互组合,以合成表示所需的语音声音的语音数据。

2.如权利要求1所述的语音合成设备,进一步包括:韵律预测装置,用于预测组成该所输入句子信息的该话音元的韵律,其中该选择装置选择韵律同预定条件下的韵律预测结果匹配的话音元数据。

3.如权利要求2所述的语音合成设备,其中该选择装置操作用于从选择对象中排除韵律不与预定条件下的该韵律预测结果匹配的话音元数据。

4.如权利要求2或3所述的语音合成设备,其中该遗漏部分合成装置包括:遗漏部分韵律预测装置,用于预测该选择装置不能选择出话音元数据的该话音元的该韵律,并且其中通过确定该选择装置不能选择出话音元数据并且是从第二存储装置获取的语音声音中所包括的音素,该合成装置转换所获取的数据,使得由该数据表示的音素或语音声音片段同由该遗漏部分韵律预测装置预测的该韵律结果匹配,并且该合成装置组合该所转换的数据,以合成表示所需语音声音的语音数据。

5.如权利要求2或3所述的语音合成设备,其中该第一存储装置存储表示由话音元数据表示的话音音调时间变化的韵律数据,且该韵律数据同该话音元数据相关联,并且其中该选择装置从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音同组成该句子信息的话音元是共同的,并且对于该话音元数据,由相关联的韵律数据表示的音调的时间变化同由该韵律预测装置产生的该韵律预测结果最接近。

6.如权利要求1~3中任何一个所述的语音合成设备,其中该设备一步包括:发声速度转换装置,用于获取发声速度数据,该发声速度数据指定了关于产生合成语音的速度的条件,并且所述发声速度转换装置用于选择或转换组成表示该合成语音的数据的语音数据和/或话音元数据,使得该语音数据和/或话音元数据表示以满足由该发声速度数据所指定条件的速度产生的语音。

7.如权利要求6所述的语音合成设备,其中该发声速度转换装置通过从组成表示该合成语音的数据的语音数据和/或话音元数据中消除表示音素片段的节段,或者通过将表示音素片段的节段添加到该话音元数据和/或语音数据,来转换该话音元数据和/或语音数据,使得该话音元数据和/或语音数据表示以满足由该发声速度数据所指定条件的速度产生的语音。

8.如权利要求1所述的语音合成设备,

其中该第一存储装置存储表示该话音元数据的读音的发音数据,且该发音数据同该话音元数据相关联,并且其中该选择装置操作用于将表示与组成该句子信息的话音元读音相匹配的读音的发音数据相关联的话音元数据处理为读音同该话音元是共同的话音元数据。

9.一种语音合成方法,该方法包括以下步骤:

在第一存储器中存储表示话音元的多个话音元数据段;

从存储在该第一存储器中的该多个话音元数据段中选择读音同组成所输入句子信息的话音元是共同的话音元数据;

对于在所述选择步骤中不能选择出该话音元数据的该句子信息中的话音元,通过合成表示所需语音声音的语音数据,来合成遗漏部分;和组合由该选择步骤所选择的该话音元数据和在所述遗漏部分合成步骤中合成的该语音数据,以创建对应于该句子信息的表示合成语音的数据,其中所述遗漏部分合成步骤使用第二存储器存储表示音素片段的多个数据段,一个或多个声调波形数据被包括在每个音素或者音素片段中;并且其中从该第二存储器获取表示音素片段的数据,该音素片段组成了不能选择出话音元数据的话音元,并且使所获取的数据相互组合,以合成表示所需的语音声音的语音数据。

10.如权利要求9所述的语音合成方法,

其中该第一存储器存储表示该话音元数据的读音的发音数据,且该发音数据同该话音元数据相关联,并且其中该选择步骤将表示与组成该句子信息的话音元读音相匹配的读音的发音数据相关联的话音元数据处理为读音同该话音元是共同的话音元数据。

说明书 :

技术领域

本发明涉及一种语音合成设备、一种语音合成方法和程序。

背景技术

用于合成语音的技术包括一种被称为记录语音编辑方法的技术。该记录语音编辑方法用于车站和车载导航设备等处的语音引导系统中。
记录语音编辑方法使单词同表示大声地读出该单词的语音的语音数据关联,并且在将作为语音合成对象的句子划分成单词之后,该方法获取同该相关的单词关联的语音数据,并且结合该数据(例如,参看日本专利申请公开No.H10-49193)。

发明内容

然而,在简单地将语音数据结合在一起时,由于在数据段之间的边界处语音的音调分量频率通常不连续地变化,因此合成的语音数据听起来不自然。
为了解决该问题,可以考虑一种方法,其中准备多个语音数据,其表示其中以分别不同的韵律读出相同的音素的语音,并且还预测作为语音合成对象的句子的韵律。然后,可以选择同预测结果匹配的语音数据,并将其结合到一起。
然而,在尝试准备用于每个音素的语音数据以通过记录语音编辑方法产生自然的合成语音时,对于存储语音数据的存储设备,需要大量的存储容量。而且,用于检索目的的数据量也是巨大的。
考虑到上文所述的情况进行了本发明,并且本发明的目的在于提供一种简单构成的语音合成设备、语音合成方法和程序,用于高速度地产生自然的合成语音。
为了实现上文的目的,根据本发明的第一方面的语音合成设备的特征在于,该设备包括:
话音元存储装置,其存储表示话音元的多个话音元数据;
选择装置,其输入表示句子的句子信息,并且从该各个话音元数据中选择读音同包括该句子的语音声音是共同的话音元数据;
遗漏部分合成装置,其对于包括该选择装置不能选择出话音元数据的句子语音声音中的语音声音,合成表示该语音声音的波形的语音数据;和
合成装置,其通过组合由该选择装置选择的该话音元数据和由该遗漏部分合成装置合成的该语音数据,生成表示合成语音的数据。
而且,根据本发明的第二方面的语音合成设备的特征在于,该设备包括:
话音元存储装置,其存储表示话音元的多个话音元数据;
韵律预测装置,其输入表示句子的句子信息,并且预测包括该句子的语音声音的韵律;
选择装置,其从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音与包括该句子的语音声音是共同的,并且该话音元数据的韵律同预定条件下的韵律预测结果匹配;
遗漏部分合成装置,其对于包括该选择装置不能选择出话音元数据的句子的语音声音中的语音声音,合成表示该话音元的波形的语音数据;和
合成装置,其通过组合由该选择装置选择的该话音元数据和由该遗漏部分合成装置合成的该语音数据,生成表示合成语音的数据。
该选择装置可以是这样的装置,其从选择对象中排除韵律不与预定条件下的韵律预测结果匹配的话音元数据。
该遗漏部分合成装置还可以包括:
存储装置,其存储表示音素或者包括音素的音素片段的多个数据;和
合成装置,其通过确定在该选择装置不能选择出话音元数据的语音声音中包括的音素,并且通过自该存储装置获取表示该所确定的音素或包括该音素的音素片段的数据并将它们组合在一起,合成表示该语音声音的波形的数据。
该遗漏部分合成装置可以包括:遗漏部分韵律预测装置,其预测该选择装置不能选择出话音元数据的语音声音的韵律;并且
该合成装置可以是这样的装置,其该确定在该选择装置不能选择出话音元数据的该语音声音中包括的音素,并且自存储装置获取表示该所确定的音素或包括该音素的音素片段的数据,转换所获取的数据,由此由该数据表示的该音素或音素片段同由该遗漏部分韵律预测装置预测的该韵律结果匹配,并且该合成装置将该所转换的数据组合在一起,以合成表示该语音声音波形的语音数据。
该遗漏部分合成装置可以是这样的装置,其对于该选择装置不能选择出话音元数据的语音声音,基于由该韵律预测装置预测的该韵律,合成表示所讨论的该话音元波形的语音数据。
该话音元存储装置可以使表示由话音元数据表示的话音元的音调的时间变化的韵律数据同所讨论的话音元数据关联,并且存储该数据;并且
该选择装置可以是这样的装置,其从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音与包括该句子的语音声音是共同的,并且对于该话音元数据,由与其相关联的韵律数据表示的音调的时间变化同该韵律预测结果最接近。
该语音合成设备可以进一步包括:发声速度转换装置,其获取发声速度数据,该发声速度数据指定了有关用于产生合成语音的速度的条件,并且其选择或转换包括表示合成语音的数据的语音数据和/或话音元数据,由此该语音数据和/或该话音元数据表示以满足由该发声速度数据所指定条件的速度产生的语音。
该发声速度转换装置可以是这样的装置,其通过从包括表示该合成语音数据的语音数据和/或话音元数据中消除表示音素片段的节段,或者将表示音素片段的节段添加到该话音元数据和/或语音数据,转换该话音元数据和/或语音数据,由此该数据表示以满足由该发声速度数据所指定条件的速度产生的语音。
该话音元存储装置可以使表示话音元数据读音的发音数据同该话音元数据关联,并且存储该数据;并且
该选择装置可以是这样的装置,其将以下话音元数据处理为读音同该语音声音是共同的话音元数据,即该话音元数据表示同包括该句子的语音声音读音相匹配的读音的发音数据相关联。
而且,根据本发明的第三方面的语音合成方法的特征在于,该方法包括以下步骤:
存储表示话音元的多个话音元数据;
输入表示句子的句子信息;
从该各个话音元数据中选择读音同包括该句子的语音声音是共同的话音元数据;
对于包括不能选择出话音元数据的该句子的语音声音中的语音声音,合成表示该语音声音的波形的语音数据;和
通过组合该所选择的话音元数据和该所合成的语音数据,生成表示合成语音的数据。
而且,根据本发明的第四方面的语音合成方法的特征在于,该方法包括以下步骤:
存储表示话音元的多个话音元数据;
输入表示句子的句子信息,并且预测包括该句子的语音声音的韵律;
从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音同包括该句子的语音声音是共同的,并且该话音元数据的韵律同预定条件下的韵律预测结果匹配;
对于包括不能选择出话音元数据的该句子的语音声音中的语音声音,合成表示该语音声音波形的语音数据;和
通过组合该所选择的话音元数据和该所合成的语音数据,生成表示合成语音的数据。
而且,根据本发明的第五方面的程序的特征在于,该程序是使计算机用作下列功能的装置:
话音元存储装置,其存储表示话音元的多个话音元数据;
选择装置,其输入表示句子的句子信息,并且从该各个话音元数据中选择读音同包括该句子的语音声音是共同的话音元数据;
遗漏部分合成装置,其对于包括该选择装置不能选择出话音元数据的句子语音声音中的语音声音,合成表示该语音声音的波形的语音数据;和
合成装置,其通过组合由该选择装置选择的该话音元数据和由该遗漏部分合成装置合成的该语音数据,生成表示合成语音的数据。
而且,根据本发明的第六方面的程序的特征在于,该程序是使计算机用作下列功能的装置:
话音元存储装置,其存储表示话音元的多个话音元数据;
韵律预测装置,其输入表示句子的句子信息,并且预测包括该句子的语音声音的韵律;
选择装置,其从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音与包括该句子的语音声音是共同的,并且该话音元数据的韵律同预定条件下的韵律预测结果匹配;
遗漏部分合成装置,其对于包括该选择装置不能选择出话音元数据的句子的语音声音中的语音声音,合成表示该话音元的波形的语音数据;和
合成装置,其通过组合由该选择装置选择的该话音元数据和由该遗漏部分合成装置合成的该语音数据,生成表示合成语音的数据。
为了实现上文描述的目的,根据本发明的第七方面的语音合成设备的特征在于,该设备包括:
话音元存储装置,其存储表示话音元的多个话音元数据;
韵律预测装置,其输入表示句子的句子信息,并且预测包括该句子的语音声音的韵律;
选择装置,其从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音与包括该句子的语音声音是共同的,并且该话音元数据的韵律同该韵律预测结果最接近;和
合成装置,其通过将所选择的该话音元数据组合在一起,生成表示合成语音的数据。
该选择装置可以是这样的装置,其从选择对象中排除韵律不与预定条件下的韵律预测结果匹配的话音元数据。
该语音合成设备可以进一步包括:发声速度转换装置,其获取发声速度数据,该发声速度数据指定了有关用于产生合成语音的速度的条件,并且其选择或转换包括表示该合成语音的数据的语音数据和/或话音元数据,由此该语音数据和/或该话音元数据表示以满足由该发声速度数据所指定条件的速度产生的语音。
该发声速度转换装置可以是这样的装置,其通过从包括表示该合成语音数据的语音数据和/或话音元数据中消除表示音素片段的节段,或者将表示音素片段的节段添加到该话音元数据和/或语音数据,转换该话音元数据和/或语音数据,由此该话音元数据和/或语音数据表示以满足由该发声速度数据所指定条件的速度产生的语音。
该话音元存储装置可以使表示由话音元数据表示的话音元的音调的时间变化的韵律数据同所讨论的话音元数据关联,并且存储该数据;并且
该选择装置可以是这样的装置,其从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音与包括该句子的语音声音是共同的,并且对于该话音元数据,由与其相关联的韵律数据表示的音调的时间变化同该韵律预测结果最接近。
该话音元存储装置可以使表示话音元数据读音的发音数据同所讨论的话音元数据关联,并且存储该数据;并且
该选择装置可以是这样的装置,其将以下话音元数据处理为读音同该语音声音是共同的话音元数据,即该话音元数据表示同包括该句子的语音声音读音相匹配的读音的发音数据相关联。
而且,根据本发明的第八方面的语音合成方法的特征在于,该方法包括以下步骤:
存储表示话音元的多个话音元数据;
输入表示句子的句子信息,并且预测包括该句子的语音声音的韵律;
从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音同包括该句子的语音声音是共同的,并且该话音元数据的韵律同该韵律预测结果最接近;
通过将所选择的该话音元数据组合在一起,生成表示合成语音的数据。
而且,根据本发明的第九方面的程序的特征在于,该程序是使计算机用作下列功能的装置:
话音元存储装置,其存储表示话音元的多个话音元数据;
韵律预测装置,其输入表示句子的句子信息,并且预测包括该句子的语音声音的韵律;
选择装置,其从该各个话音元数据中选择以下话音元数据,即该话音元数据的读音与包括该句子的语音声音是共同的,并且该话音元数据的韵律同该韵律预测结果最接近;和
合成装置,其通过将所选择的该话音元数据组合在一起,生成表示合成语音的数据。
如前文所述,根据本发明,实现了一种简单构成的语音合成设备、语音合成方法和程序,用于高速度地产生自然的合成语音。
附图简述
图1是示出了根据本发明的第一实施例的语音合成系统的构成的框图;
图2是示意性地示出了话音元数据库的数据结构的视图;
图3是示出了根据本发明的第二实施例的语音合成系统的构成的框图;
图4是示出了执行根据本发明的第一实施例的语音合成系统的功能的个人计算机获取自由文本数据的情况中的处理的流程图;
图5是示出了执行根据本发明的第一实施例的语音合成系统的功能的个人计算机获取传递字符串数据的情况中的处理的流程图;
图6是示出了执行根据本发明的第一实施例的语音合成系统的功能的个人计算机获取消息模板数据和发声速度数据的情况中的处理的流程图;
图7是示出了执行图3的主体单元的功能的个人计算机获取自由文本数据的情况中的处理的流程图;
图8是示出了执行图3的主体单元的功能的个人计算机获取传递字符串数据的情况中的处理的流程图;
图9是示出了执行图3的主体单元的功能的个人计算机获取消息模板数据和发声速度数据的情况中的处理的流程图。

具体实施方式

实现本发明的最佳方式
在下文中,参考附图描述本发明的实施例。
(第一实施例)
图1是示出了根据本发明的第一实施例的语音合成系统的构成的示图。如图所示,该语音合成系统包括主体单元M1和话音元登记单元R。
主体单元M1由语言处理器1、通用单词词典2、用户单词词典3、规则组合处理器4、话音元编辑器5、搜索部6、话音元数据库7、解压缩部8和发声速度转换器9组成。其中规则组合处理器4包括声处理器41、搜索部42、解压缩部43和波形数据库44。
语言处理器1、声处理器41、搜索部42、解压缩部43、话音元编辑器5、搜索部6、解压缩部8和发声速度转换器9中的每个均包括诸如CPU(中央处理单元)或DSP(数字信号处理器)的处理器和存储将由处理器执行的程序的存储器。它们分别执行下面描述的处理。
在该环境下,可以采用这样的构成,其中语言处理器1、声处理器41、搜索部42、解压缩部43、话音元编辑器5、搜索部6、解压缩部8和发声速度转换器9中的一部分或全部的功能可由单一的处理器执行。因此,例如,执行解压缩部43的功能的处理器还可以执行解压缩部8的功能,并且单一的处理器可以同时执行声处理器41、搜索部42和解压缩部43的功能。
通用单词词典2由诸如PROM(可编程只读存储器)或硬盘设备的非易失性存储器组成。在通用单词词典2中,在由该语音合成系统的制造商等预先使包括表意文字(例如,中文字符)等和表示单词的读音的表音文字(例如,假名(日文音节表)和音标)等的单词相互关联之后,存储它们。
用户单词词典3由诸如EEPROM(电可擦除/可编程只读存储器)或硬盘设备的可重写非易失性存储器、以及控制针对非易失性存储器的数据写入的控制电路组成。在该环境下,处理器可以执行该控制电路的功能,或者可以使用这样的构成,其中执行语言处理器1、声处理器41、搜索部42、解压缩部43、话音元编辑器5、搜索部6、解压缩部8和发声速度转换器9中的一部分或全部的功能的处理器还执行用户单词词典3的控制电路的功能。
根据用户的操作,用户单词词典3可从外部获取包括表意文字等以及表示单词的读音的表音文字的单词等等,并且可以使这些单词相互关联,并存储结果数据。用户单词词典3存储未存储在通用单词词典2中的单词等以及表示这些单词读音的表音文字是足夠的。
波形数据库44包括非易失性存储器,诸如PROM或硬盘设备。在波形数据库44中,在由语音合成系统的制造商等预先使表音文字和通过表示语音元(其由该表音文字表示)波形的波形数据的熵编码获得的压缩波形数据相互关联之后,存储它们。语音元是短的语音声音,其程度为可用于根据规则系统进行的合成的方法中,并且更具体地,是被划分为音素或单位,诸如VCV(Vowel-Consonant-Vowel)音节的语音声音。在该环境下,熵编码之前的波形数据可以包括,例如,经历PCM(脉冲编码调制)的数字格式的数据。
话音元数据库7由诸如PROM或硬盘设备的非易失性存储器组成。
话音元数据库7,例如,存储具有图2所示的数据结构的数据。更具体地,如该图所示,存储在话音元数据库7中的数据分为四个部分,包括报头部分HDR、索引部分IDX、目录部分DIR和数据部分DAT。
在话音元数据库7中的数据存储是,例如,预先由语音合成系统的制造商执行的,和/或是由执行下面描述的操作的话音元登记单元R执行的。
在报头部分HDR中存储了用于在话音元数据库7中进行识别的数据,以及示出了索引部分IDX、目录部分DIR和数据部分DAT中数据的数据量、数据格式和诸如著作权等属性的数据。
在数据部分DAT中存储了压缩的话音元数据,其是通过针对表示话音元波形的话音元数据执行熵编码而获得的。
在该环境下,术语“话音元”(voice unit)是指这样的一个节段,其包括一个或多个连续的语音音素,并且通常包括关于单一的单词或多个单词的节段。在某些情况中话音元可以包括结合单词。
而且,熵编码之前的话音元数据可以包括与如同上文描述的熵编码之前的用于生成压缩波形数据的波形数据相同格式的数据(例如,经历PCM的数字格式数据)。
在目录部分DIR中,对于各个压缩语音数据,以使其相互关联的形式存储下列数据:
(A)表示表音文字的数据,该表音文字指出了由压缩话音元数据表示的话音元的读音(话音元读音数据);
(B)表示存储压缩话音元数据的存储位置的开始地址的数据;
(C)表示压缩话音元数据的数据长度的数据;
(D)表示话音元的发声速度(播放时的持续时间)的数据,该话音元由压缩话音元数据表示(速度初始值数据);和
(E)表示话音元的音调分量频率的时间变化的数据(音调分量数据)。
(假设将地址分配给话音元数据库7的存储区域)。
在该情况下,图2说明了这样的情况,其中,如数据部分DAT中包括的数据,在开始于地址001A36A6h的逻辑位置,存储具有1410h字节的数据量的压缩话音元数据,其表示读音为“saitama”的话音元的波形。(在本说明书和附图中,具有附加到末端的字符“h”的数字表示十六进制数值。)
在上文描述的数据(A)~(E)的集合中,至少(A)的数据(即,话音元读音数据)在根据基于由话音元读音数据表示的表音文字决定的顺序而被分类的状态下(例如,当表音文字是日文假名时,在根据日文音节表的顺序的地址按降序排列的状态下),被存储在话音元数据库7的存储区域中。
而且,例如,如图所示,在话音元的音调分量频率接近相似于自话音元开始的消逝时间的一次函数的情况中,上文描述的音调分量数据可以包括示出了一次函数的斜率α和截距β的值的数据。(斜率α的单位可以是,例如“赫兹/秒”,而截距β的单位可以是,例如“赫兹”。)
而且,假设音调分量数据还包括表示是否使压缩话音元数据所表示的话音元鼻音化和是否使其无声化的数据(未示出)。
在索引部分IDX中存储了用于基于话音元读音数据确定目录部分DIR中的数据的近似逻辑位置的数据。更具体地,例如,假设话音元读音数据表示日文假名,在使假名字符和示出了包含第一字符是该假名字符的话音元读音数据地址范围的数据(目录地址)相互关联的条件下,存储它们。
在该情况下,可以采用这样的构成,其中单一的非易失性存储器执行通用单词词典2、用户单词词典3、波形数据库4和话音元数据库7中的一部分或全部的功能。
如图1所示,话音元登记单元R包括采集话音元数据集存储部10、话音元数据库创建部11和压缩部12。话音元登记单元R可以在可分离的条件下结合到话音元数据库7,并且在该情况下,除了新近将数据写入到话音元数据库7的时候之外,在话音元登记单元R同主体单元M分离的状态下,可以使主体单元M1执行下面描述的操作。
采集话音元数据集存储部10包括可重写非易失性存储器,诸如硬盘设备。
在采集话音元数据集存储部10中,在由语音合成系统的制造商等预先使表示话音元读音的表音文字和表示波形的话音元数据相互关联的条件下,存储它们,该波形是通过采集人实际发音话音元时产生的声音而获得的。在该情况下,话音元数据,例如,可以包括经历了脉冲编码调制(PCM)的数字格式数据。
话音元数据库创建部11和压缩部12包括诸如CPU的处理器和存储将由处理器执行的程序等的存储器,并且根据程序执行下面描述的处理。
可以采用这样的构成,其中单一的处理器执行话音元数据库创建部11和压缩部12中的一部分或全部的功能,或者执行语言处理器1、声处理器41、搜索部42、解压缩部43、话音元编辑器5、搜索部6、解压缩部8和发声速度转换器9的一部分或全部功能的处理器还执行话音元数据库创建部11和压缩部12的功能。而且,执行话音元数据库创建部11或压缩部12的功能的处理器还可以执行采集话音元数据集存储部10的控制电路的功能。
话音元数据库创建部11从采集话音元数据集存储部10中读出相互关联的表音文字和话音元数据,并且确定由话音元数据表示的语音的音调分量频率的时间变化以及发声速度。
例如,通过对话音元数据的样本数目计数,可以执行发声速度的确定。
例如,通过对话音元数据执行倒频谱分析,可以确定音调分量频率的时间变化。更具体地,例如,通过在时间轴上将由话音元数据表示的波形划分为若干片段,将获取的各个片段的强度转换为基本上等于原始值的对数(该对数的底是任意的)的值,并且通过使用快速傅立叶变换方法(或者通过生成下述数据的其他任意方法,即该数据表示使离散变量经历傅立叶变换而获得的结果),决定其值被转换的片段的频谱(即,倒频谱),可以识别时间变化。这样,赋予关于该倒频谱的最大值的频率中的最小值被确定为该片段中的音调分量频率。
在该情况下,例如,通过根据日本专利公开No.2003-108172中描述的技术,将话音元数据转换为音调波形数据,并且随后基于该音调波形数据确定音调分量频率的时间变化,可以预见到令人满意的结果。更具体地,通过过滤话音元数据析取音调信号,基于所析取的音调信号将由话音元数据表示的波形分为单位音调长度的节段,并且针对每个节段基于同音调信号的相关性确定相位移动,以使各个节段的相位对准,可以将话音元数据转换为音调波形信号。然后,通过执行倒频谱分析等,将获得的音调波形信号作为话音元数据进行处理,可以确定音调分量频率的时间变化。
话音元数据库创建部11向压缩部12提供从采集话音元数据集存储部10中读出的话音元数据。
压缩部12使由话音元数据库创建部11提供的话音元数据经历熵编码,以创建压缩话音元数据,并且将该数据返回到话音元数据库创建部11。
在确定了发声速度和话音元数据音调分量频率的时间变化并且随后使话音元数据经历熵编码之后,当话音元数据库创建部11自压缩部12接收到所创建的压缩话音元数据时,话音元数据库创建部11将该压缩话音元数据写入到话音元数据库7的存储区域中,作为包括数据部分DAT的数据。
而且,从采集话音元数据集存储部10中读出的表音文字,作为示出由所写入的压缩话音元数据表示的话音元读音的项,由话音元数据库创建部11写入到话音元数据库7的存储区域中,作为话音元读音数据。
还确定话音元数据库7的存储区域中的所写入的压缩话音元数据的开始地址,并且将该地址写入到话音元数据库7的存储区域中,作为上文描述的(B)的数据。
而且,确定该压缩话音元数据的数据长度,并且将所确定的数据长度写入到话音元数据库7的存储区域中,作为上文描述的(C)的数据。
而且,创建示出了在确定由压缩话音元数据表示的话音元音调分量频率时间变化和发声速度之后所获得结果的数据,并且将该数据写入到话音元数据库7的存储区域中,作为速度初始值数据和音调分量数据。
下面,描述该语音合成系统的操作。
首先,给出这样的描述,假设语言处理器1自外部获取自由文本数据,其描述了包括由用户准备的表意文字的句子(自由文本),作为由该语音合成系统进行语音合成的对象。
在该情况下,语言处理器1获取自由文本的方法是任意的,并且,例如,语言处理器1可以通过图中未示出的接口电路从外部设备或网络获取数据,或者可以通过记录介质驱动设备(未示出),从安置在该记录介质驱动设备中的记录介质(例如,软盘(注册商标)或CD-ROM)读取数据。
而且,可以采用这样的构成,其中执行语言处理器1的功能的处理器向语言处理器1的处理传递用于其执行的其他处理的文本数据,作为自由文本数据。
该处理器执行的其他处理的示例包括使处理器执行代理设备的功能的处理,该代理设备确定并执行应这样的处理,该处理应被执行用于通过获取表示语音的语音数据,并对该语音数据执行语音辨别处理以确定由该语音所表示的单词,并且基于所确定的单词,确定该语音的发出者的请求的内容,满足所确定的请求。
当语言处理器1获取自由文本数据时,其通过从通用单词词典2或用户单词词典3检索表示表意文字的读音的表音文字,确定自由文本中包括的各个表意文字。然后,其将表意文字替换为所确定的表音文字。语言处理器1然后将表音文字串提供给声处理器41,该表音文字串是作为将自由文本中的全部表意文字替换为表音文字的结果而获得的。
当从语言处理器1向声处理器41提供表音文字串时,对于表音文字串中包括的每个表音文字,其指令搜索部42搜索由各个表音文字表示的语音元的波形。
搜索部42响应于该指令搜索波形数据库44,并且检索压缩波形数据,该压缩波形数据表示由表音文字串中包括的各个表音文字所表示的语音元的波形。然后,其将所检索的压缩波形数据提供给解压缩部43。
解压缩部43对由搜索部42提供的压缩波形数据解压缩,以将波形数据恢复为同压缩之前相同的条件,并且将该数据返回给搜索部42。搜索部42将从解压缩部43返回的波形数据提供给声处理器41,作为搜索结果。
声处理器41按照基于由语言处理器1提供的表音文字串中每个表音文字顺序的次序,将从搜索部42提供的波形数据提供给话音元编辑器5。
当由声处理器41提供波形数据时,话音元编辑器5以其被提供的顺序将该波形数据结合在一起,并且输出它们,作为表示合成语音的数据(合成语音数据)。基于自由文本数据合成的该合成语音对应于通过根据由规则系统进行合成的技术而合成的语音。
在该情况下,话音元编辑器5输出合成语音数据的方法是任意的,并且,例如,可以采用这样的构成,其中由合成语音数据表示的合成语音通过D/A(数字-模拟)转换器或扬声器(图中未示出)播放。而且,可以通过接口电路(未示出)将合成语音数据发送到外部设备或网络,或者可以通过使用记录介质驱动设备(未示出),将合成语音数据写入在设定在该记录介质驱动设备中的记录介质上。还可以采用这样的构成,其中执行话音元编辑器5的功能的处理器将合成语音数据传递到其执行的另一处理。
下面,假设声处理器41获取自外部传递的表示表音文字串的数据(传递字符串数据)。(在该情况下,声处理器41获取传递字符串数据的方法也是任意的,并且,例如,声处理器41可以通过同语言处理器1获取自由文本数据相似的方法,获取传递字符串数据。)
在该情况中,声处理器41按照与由语言处理器1提供的表音文字串相同的方式,处理由传递字符串数据表示的表音文字串。结果,由搜索部42检索对应于由传递字符串数据表示的表音文字串中包括的表音文字的压缩波形数据,并且通过解压缩部43对其解压缩,以将波形数据恢复到同压缩之前相同的条件。通过声处理器41将经过解压缩的各个波形数据提供给话音元编辑器5。话音元编辑器5按照基于由传递字符串数据表示的表音文字串中各个表音文字顺序的次序,将该波形数据结合在一起,并且输出该数据,作为合成语音数据。基于传递字符串数据合成的该合成语音数据还表示通过根据由规则系统进行合成的技术而合成的语音。
下面,假设话音元编辑器5获取消息模板数据、发声速度数据和核对级别数据。
在该情况下,消息模板数据是将消息模板表示为表音文字串的数据,并且发声速度数据是示出了由消息模板数据表示的消息模板的发声速度的指定值(关于发音该消息模板的时间长度的指定值)的数据。核对级别数据是指定了用于下面描述的搜索处理的搜索条件的数据,该搜索处理由搜索部6执行,并且在下文中假设其取值为“1”、“2”或“3”,且“3”表示最严格的搜索条件。
话音元编辑器5获取消息模板数据、发声速度数据或核对级别数据的方法是任意的,并且,例如,话音元编辑器5可以通过与语言处理器1获取自由文本数据相同的方法,获取消息模板数据、发声速度数据或核对级别数据。
当消息模板数据、发声速度数据和核对级别数据提供给话音元编辑器5时,话音元编辑器5指令搜索部6检索与消息模板中包括的表示话音元读音的表音文字相匹配的表音文字所相关联的全部压缩话音元数据。
搜索部6响应于话音元编辑器5的指令搜索话音元数据库7,以检索对应的压缩话音元数据以及上文描述的同该压缩话音元数据相关联的话音元读音数据、速度初始值数据和音调分量数据。然后,搜索部6将检索的压缩波形数据提供给解压缩部43。当多个压缩话音元数据对应于共同的表音文字或者表音文字串时,检索全部所讨论的压缩话音元数据,作为待用于语音合成的数据的候选者。相反地,当存在不能检索出压缩话音元数据的话音元时,搜索部6生成识别所讨论的话音元的数据(在下文中被称为“遗漏部分识别数据”)。
解压缩部43对由搜索部6提供的压缩话音元数据解压缩,以将话音元数据恢复到同压缩之前相同的条件,并且将该数据返回到搜索部6。搜索部6将由解压缩部43返回的话音元数据、和所检索的话音元读音数据、速度初始值数据和音调分量数据提供给发声速度转换器9,作为搜索结果。当搜索部6生成遗漏部分识别数据时,其还将该遗漏部分识别数据提供给发声速度转换器9。
话音元编辑器5指令发声速度转换器9转换提供给发声速度转换器9的话音元数据,由此由话音元数据表示的话音元的持续时间同由发声速度数据指出的速度相匹配。
响应于话音元编辑器5的指令,发声速度转换器9转换由搜索部6提供的话音元数据,由此其遵从该指令,并且将该数据提供给话音元编辑器5。更具体地,例如,在基于所检索的速度初始值数据确定由搜索部6提供的话音元数据的原始持续时间之后,发声速度转换器9可以对该话音元数据重新采样并且转换话音元数据的采样数目,以获得同由话音元编辑器5指明的速度相匹配的持续时间。
发声速度转换器9还将由搜索部6提供的音调分量数据和话音元读音数据提供给话音元编辑器5,并且当由搜索部6提供遗漏部分识别数据时,其还将该遗漏部分识别数据提供给话音元编辑器5。
在该情况下,当发声速度数据未提供给话音元编辑器5时,话音元编辑器5可以指令发声速度转换器9在不转换数据的情况下将提供给发声速度转换器9的话音元数据提供给话音元编辑器5,并且响应于该指令,发声速度转换器9可以在由搜索部6提供的话音元数据被接收的条件下,将其提供给话音元编辑器5。
当话音元编辑器5从发声速度转换器9接收到话音元数据、话音元读音数据和音调分量数据时,对于每个话音元,话音元编辑器5从所提供的话音元数据中选择一个话音元数据,其表示能够接近包括消息模板的话音元的波形的波形。在该情况中,话音元编辑器5根据获取的核对级别数据,进行设定,该设定是关于波形被选为同消息模板的话音元的波形接近的波形而应满足的条件类别。
更具体地,首先,话音元编辑器5通过对由消息模板数据表示的消息模板基于韵律预测方法(诸如例如,“Fujisaki模型”或“ToBI(Tone and Break Indices)”)执行分析,预测消息模板的韵律(重音、声调、重读、音素的持续时间等)。
下面,话音元编辑器5,例如,执行下列处理:
(1)当核对级别数据的值是“1”时,话音元编辑器5选择由发声速度转换器9提供的全部话音元数据(即,读音同消息模板中的话音元匹配的话音元数据),作为同消息模板中的话音元的波形接近的项。
(2)当核对级别数据的值是“2”时,仅当所讨论的话音元数据满足(1)的条件(即,表示读音的表音文字所匹配的条件)并且存在等于或大于表示话音元数据音调分量频率时间变化的音调分量数据的内容同关于消息模板中包括的话音元的重音(所谓的韵律)的预测结果之间的预定量的强相关性时(例如,当关于重音位置的时间差小于预定量时),话音元编辑器5选择话音元数据,作为同消息模板中的话音元的波形接近的数据。在该情况下,关于消息模板中的话音元的重音的预测结果可从关于消息模板的韵律预测结果指定,并且,例如,话音元编辑器5可以将音调分量频率被预测为最高的位置解释为是关于重音的预测位置。相反地,对于由话音元数据表示的话音元中的重音的位置,例如,基于上文描述的音调分量数据可以指定音调分量频率最高的位置,并且该位置可被解释为是重音位置。而且,可以针对整个句子执行韵律预测,或者可以通过将句子分为预定的单位并执行关于各个单位的预测,执行韵律预测。
(3)当核对级别数据的值是“3”时,仅在所讨论的话音元数据满足(2)的条件(即,表示读音的表音文字和重音所匹配的条件)并且由话音元数据表示的语音的鼻音化或无声化的存在或不存在同关于消息模板的韵律预测结果匹配时,话音元编辑器5选择话音元数据,作为同消息模板中的话音元的波形接近的数据。话音元编辑器5可以基于从发声速度转换器9提供的音调分量数据,决定由话音元数据表示的语音的鼻音化或无声化的存在或不存在。
当存在同话音元编辑器5针对单一话音元设定的条件相匹配的多个话音元数据时,话音元编辑器5根据比该设定条件更严格的条件,将该多个话音元数据缩减为只有单一的话音元数据。
更具体地,例如,当设定条件对应于核对级别数据值“1”,并且存在满足该条件的多个话音元时,话音元编辑器5可以执行操作,以选择还与对应于核对级别数据值“2”的搜索条件匹配的话音元数据,并且如果再次选择了多个话音元数据,则话音元编辑器5可以执行操作,以从选择结果中选择还与对应于核对级别数据值“3”的搜索条件匹配的话音元数据。当通过使用对应于核对级别数据值“3”的搜索条件缩减候选者之后,仍剩余多个话音元数据时,可以通过使用任意的标准,将剩余的候选者缩减为单一的候选者。
在从发声速度转换器9还向话音元编辑器5提供遗漏部分识别数据时,话音元编辑器5从消息模板数据中析取表示由该遗漏部分识别数据指出的话音元读音的表音文字串,并将该表音文字串提供给声处理器41,并且指令声处理器41合成该话音元的波形。
在接收到该指令时,声处理器41按照与由传递字符串数据表示的表音文字串相同的方式,处理从话音元编辑器5提供的表音文字串。结果,由搜索部42析取表示由包括在表音文字串中的表音文字指出的语音波形的压缩波形数据,由解压缩部43对该压缩波形数据解压缩,以将波形数据恢复到其原始条件,并且通过搜索部42将该数据提供给声处理器41。然后,声处理器41将该波形数据提供给话音元编辑器5。
当由声处理器41发送波形数据时,话音元编辑器5按照基于由消息模板数据示出的消息模板中表音文字串顺序的次序,组合该波形数据和由话音元编辑器5自由发声速度转换器9提供的话音元数据中选择的话音元数据,并且输出这样组合的数据,作为表示合成语音的数据。
在该情况下,当由发声速度转换器9提供的数据中不包括遗漏部分识别数据时,话音元编辑器5不指令声处理器41合成波形,并且立即按照基于由消息模板数据示出的消息模板中表音文字串顺序的次序,组合所选择的话音元数据,并且输出这样组合的数据,作为表示合成语音的数据。
如前文所述,根据本发明的第一实施例的语音合成系统,通过记录语音编辑方法,基于韵律预测结果,表示话音元(其可以是大于音素的单位)的波形的话音元数据被自然地结合在一起,由此合成大声读出消息模板的语音。可以使话音元数据库7的存储容量小于针对每个音素存储波形的情况,并且还可以以高速度执行搜索。因此,对于该语音合成系统,可以采用小的和轻重量的构成,并且还可以实现高速度的处理。
在该情况下,该语音合成系统的构成不限于上文描述的构成。
例如,波形数据或话音元数据不必是PCM格式的数据,并且可以使用任意格式的数据。
而且,波形数据库44或话音元数据库7不必在压缩数据的状态下存储波形数据或话音元数据。当波形数据库44或话音元数据库7在未压缩数据的状态下存储波形数据或话音元数据时,对于主体单元M1而言,没有必要包括解压缩部43。
波形数据库44不必必需地以将语音元独立划分的形式存储该语音元。例如,可以采用这样的构成,其中通过识别独立语音元在波形中占据的位置的数据,存储包括多个语音元的语音的波形。在该情况中,话音元数据库7可以执行波形数据库44的功能。更具体地,可以按照与话音元数据库7相同的格式,将一系列的语音数据按顺序存储在波形数据库44内,并且在该情况中,为了将该数据库利用为波形数据库,在使语音数据中的每个音素同表音文字或音调信息等相关联的条件下,存储该语音数据中的每个音素。
通过记录介质驱动设备(未示出),话音元数据库创建部11还可以从设定在该记录介质驱动设备中的记录介质读取话音元数据或表音文字串,作为待添加到话音元数据库7的新压缩的话音元数据的资料。
而且,话音元登记单元R不必包括采集话音元数据集存储部10。
而且,音调分量数据可以是表示由话音元数据表示的话音元音调长度时间变化的数据。在该情况中,话音元编辑器5可以基于音调分量数据确定音调长度最短的位置(即,频率最高的位置),并且将该位置解释为重音的位置。
话音元编辑器5还可以预先存储韵律登记数据,其表示特定话音元的韵律,并且当消息模板中包括该特定的话音元时,话音元编辑器5可以处理由该韵律登记数据表示的韵律,作为韵律预测结果。
话音元编辑器5还可以被构成为,新存储过去的韵律预测结果,作为韵律登记数据。
而且,话音元数据库创建部11还可以包括麦克风、放大器、采样电路、A/D(模拟-数字)转换器和PCM编码器等。在该情况中,不同于从采集话音元数据集存储部10获取话音元数据,话音元数据库创建部11可以通过放大表示通过其自身麦克风而采集的语音的语音信号、执行采样和A/D转换、并且随后使所采样的语音信号经历PCM调制,创建话音元数据。
话音元编辑器5还可以被构成为,将其自声处理器41接收的波形数据提供给发声速度转换器9,由此发声速度转换器9可以使由波形数据表示的波形持续时间同由发声速度数据示出的速度相匹配。
而且,话音元编辑器5可以,例如,与语言处理器1同时获取自由文本数据,并且通过执行基本上与用于选择消息模板的话音元数据的处理相同的处理,选择同由自由文本数据表示的自由文本中包括的至少一部分语音(表音文字串)相匹配的话音元数据,并且使用所选择的话音元数据用于语音合成。
在该情况中,对于由话音元编辑器5选择的话音元,声处理器41不必使搜索部42搜索表示该话音元波形的波形数据。在该情况下,话音元编辑器5可以向声处理器41通知不需由声处理器41合成的话音元,并且响应于该通知,声处理器41可以取消对包括该话音元的语音元的波形的搜索。
而且,话音元编辑器5可以,例如,与声处理器41同时获取传递字符串数据,并且通过执行基本上与用于选择消息模板的话音元数据的处理相同的处理,选择这样的话音元数据,其表示由传递字符串数据表示的传递字符串中包括的表音文字串,并且使用所选择的话音元数据用于语音合成。在该情况中,对于由话音元编辑器5选择的话音元数据所表示的话音元,声处理器41不必使搜索部42搜索表示该话音元波形的波形数据。
(第二实施例)
下面,描述本发明的第二实施例。图3是示出了本发明的第二实施例的语音合成系统的构成的示图。如图所示,与第一实施例相似,该语音合成系统包括主体单元M2和话音元登记单元R。其中,该话音元登记单元R具有基本上与第一实施例的话音元登记单元R相同的构成。
主体单元M2包括:语言处理器1、通用单词词典2、用户单词词典3、规则组合处理器4、话音元编辑器5、搜索部6、话音元数据库7、解压缩部8和发声速度转换器9。其中语言处理器1、通用单词词典2、用户单词词典3和话音元数据库7具有同第一实施例基本相同的构成。
语言处理器1、话音元编辑器5、搜索部6、解压缩部8和发声速度转换器9每个均包括:诸如CPU或DSP的处理器和存储将由处理器执行的程序等的存储器。这些处理器的每一个执行下面描述的处理。在该情况下,可以采用这样的构成,其中语言处理器1、搜索部42、解压缩部43、话音元编辑器5、搜索部6和发声速度转换器9中的一部分或全部的功能可由单一的处理器执行。
同第一实施例中的设备相似,规则组合处理器4包括:声处理器41、搜索部42、解压缩部43和波形数据库44。其中,声处理器41、搜索部42和解压缩部43每个均包括:诸如CPU或DSP的处理器和存储将由处理器执行的程序等的存储器,并且它们分别执行下面描述的处理。
在该情况下,可以采用这样的构成,其中声处理器41、搜索部42和解压缩部43中的一部分或全部的功能由单一的处理器执行。而且,可以采用这样的构成,其中执行语言处理器1、搜索部42、解压缩部43、话音元编辑器5、搜索部6、解压缩部8和发声速度转换器9中的一部分或全部的功能的处理器还执行声处理器41、搜索部42和解压缩部43中的一部分或全部的功能。因此,例如,可以采用这样的构成,其中解压缩部8还执行规则组合处理器4的解压缩部43的功能。
波形数据库44包括非易失性存储器,诸如PROM或硬盘设备。在波形数据库44中,在由该语音合成系统的制造商等预先使表音文字和通过对表示音素片段的音素片段波形数据进行熵编码而获得的压缩波形数据相互关联之后,存储它们,其中该音素片段包括表示该表音文字的音素(即,包括单一音素的语音波形的一个周期的语音(或者其他预定数目的周期量))。在该情况下,熵编码之前的音素片段波形数据可以包括,例如,经历了PCM的数字格式的数据。
话音元编辑器5包括:匹配话音元判定部51、韵律预测部52和输出合成部53。匹配话音元判定部51、韵律预测部52和输出合成部53每个均包括:诸如CPU或DSP的处理器和存储将由处理器执行的程序等的存储器,并且它们分别执行下面描述的处理。
可以采用这样的构成,其中匹配话音元判定部51、韵律预测部52和输出合成部53中的一部分或全部的功能由单一的处理器执行。而且,可以采用这样的构成,其中执行语言处理器1、声处理器41、搜索部42、解压缩部43、搜索部42、解压缩部43、话音元编辑器5、搜索部6、解压缩部8和发声速度转换器9中的一部分或全部的功能的处理器还执行匹配话音元判定部51、韵律预测部52和输出合成部53的一部分或全部的功能。因此,例如,可以采用这样的构成,其中执行输出合成部53的功能的处理器还执行发声速度转换器9的功能。
下面,将描述图3的语音合成系统的操作。
首先,假设语言处理器1自外部获取自由文本数据,其基本上与第一实施例相同。在该情况中,通过执行基本上与第一实施例相同的处理,语言处理器1将自由文本数据中包括的表意文字替换为表音文字。然后,其将作为执行替换的结果而获得的表音文字串提供给规则组合处理器4的声处理器41。
当从语言处理器1向声处理器41提供表音文字串时,对于表音文字串中包括的每个表音文字,其指令搜索部42搜索包括由讨论的表音文字表示的音素的音素片段的波形。声处理器41还将该表音文字串提供给话音元编辑器5的韵律预测部52。
搜索部42响应于该指令搜索波形数据库44,并且检索同该指令的内容匹配的压缩波形数据。然后,其将所检索的压缩波形数据提供给解压缩部43。
解压缩部43对由搜索部42提供的压缩波形数据解压缩,以将波形数据恢复为同压缩之前相同的条件,并且将该数据返回给搜索部42。搜索部42将由解压缩部43返回的音素片段波形数据提供给声处理器41,作为搜索结果。
同时,由声处理器41向其提供表音文字串的韵律预测部52,通过例如基于同第一实施例中由话音元编辑器5执行的方法相似的韵律预测方法,分析该表音文字串,生成韵律预测数据,其表示关于由表音文字串表示的语音的韵律预测结果。然后,韵律预测部52将韵律预测数据提供给声处理器41。
当从搜索部42向声处理器41提供音素片段波形数据并且从韵律预测部52向声处理器41提供韵律预测数据时,该声处理器41使用所提供的音素片段波形数据创建语音波形数据,其表示由语言处理器1提供的表音文字串中包括的各个表音文字所表示的语音的波形。
更具体地,声处理器41,例如,基于由韵律预测部52提供的韵律预测数据,确定由搜索部42提供的各个音素片段波形数据表示的音素片段所包括的音素的持续时间。然后,其可以通过以下方式生成语音波形数据:使所确定的音素持续时间除以由相关音素片段波形数据表示的音素片段的持续时间,决定同所获得的值最接近的整数,并且将等于所决定整数的数目的音素片段波形数据组合在一起。
在该情况下,可以采用这样的构成,其中声处理器41不仅基于韵律预测数据决定由语音波形数据表示的语音的持续时间,而且处理包括该语音波形数据的音素片段波形数据,由此由该语音波形数据表示的语音具有同由韵律预测数据表示的韵律相匹配的强度或声调等。
接下来,声处理器41按照基于从语言处理器1提供的表音文字串中各个表音文字顺序的次序,将所创建的语音波形数据提供给话音元编辑器5的输出合成部53。
当输出合成部53接收到来自声处理器41的语音波形数据时,其按照由声处理器41提供数据的次序将语音波形数据组合在一起,并且输出结果数据,作为合成语音数据。基于自由文本数据合成的该合成语音对应于通过根据规则系统进行合成的技术而合成的语音。
在该情况下,同第一实施例的话音元编辑器5相似,输出合成部53输出合成语音数据的方法是任意的。因此,例如,可以采用这样的构成,其中由合成语音数据表示的合成语音通过D/A转换器或扬声器(图中未示出)播放。而且,可以通过接口电路(未示出)将合成语音数据发送到外部设备或网络,或者可以通过使用记录介质驱动设备(未示出),将合成语音数据写入在设定在该记录介质驱动设备中的记录介质上。还可以采用这样的构成,其中执行输出合成部53的功能的处理器将合成语音数据传递到其执行的另一处理。
下面,假设声处理器41获取基本上同第一实施例相同的传递字符串数据。(在该情况下,声处理器41获取传递字符串数据的方法也是任意的,并且,例如,声处理器41可以通过同语言处理器1获取自由文本数据相似的方法,获取传递字符串数据。)
在该情况中,声处理器41按照与语言处理器1提供的表音文字串相同的方式,处理由传递字符串数据表示的表音文字串。结果,由搜索部42检索表示音素片段的压缩波形数据,该音素片段包括由传递字符串数据表示的表音文字串中包括的表音文字所表示的音素,并且通过解压缩部43对该压缩波形数据解压缩,以将音素片段波形数据恢复到同压缩之前相同的条件。同时,由韵律预测部52基于韵律预测方法分析由传递字符串数据表示的表音文字串,由此生成关于由该表音文字串表示的语音的表示韵律预测结果的韵律预测数据。然后,声处理器41基于被解压缩的各个音素片段波形数据和韵律预测数据,生成语音波形数据,其表示由传递字符串数据表示的表音文字串中包括的各个表音文字所表示的语音波形。输出合成部53按照基于由传递字符串数据表示的表音文字串中各个表音文字顺序的次序,将这样生成的语音波形数据组合在一起,并且输出该数据,作为合成语音数据。基于传递字符串数据合成的该合成语音数据还表示通过根据规则系统进行合成的技术而合成的语音。
接下来,假设话音元编辑器5的匹配话音元判定部51获取消息模板数据、发声速度数据和核对级别数据,它们基本上同第一实施例中描述的相同。(在该情况下,匹配话音元判定部51获取消息模板数据、发声速度数据或核对级别数据的方法是任意的,并且,例如,匹配话音元判定部51可以通过与语言处理器1获取自由文本数据相同的方法,获取消息模板数据、发声速度数据或核对级别数据。)
当消息模板数据、发声速度数据和核对级别数据提供给匹配话音元判定部51时,匹配话音元判定部51指令搜索部6检索同这样的表音文字相关联的全部压缩话音元数据,该表音文字与消息模板中包括的表示话音元读音的表音文字相匹配。
同第一实施例的搜索部6相似,搜索部6响应于匹配话音元判定部51的指令搜索话音元数据库7,以检索对应的压缩话音元数据以及上文描述的同该压缩话音元数据相关联的话音元读音数据、速度初始值数据和音调分量数据。然后,搜索部6将所检索的压缩波形数据提供给解压缩部43。当存在不能检索出压缩话音元数据的话音元时,搜索部6生成遗漏部分识别数据,其识别所讨论的话音元。
解压缩部43对由搜索部6提供的压缩话音元数据解压缩,以将话音元数据恢复到同压缩之前相同的条件,并且将该数据返回到搜索部6。搜索部6将由解压缩部43返回的话音元数据以及所检索的话音元读音数据、速度初始值数据和音调分量数据提供给发声速度转换器9,作为搜索结果。当搜索部6生成遗漏部分识别数据时,其还将该遗漏部分识别数据提供给发声速度转换器9。
匹配话音元判定部51指令发声速度转换器9转换提供给发声速度转换器9的话音元数据,由此由话音元数据表示的话音元的持续时间同由发声速度数据指出的速度匹配。
响应于匹配话音元判定部51的指令,发声速度转换器9转换由搜索部6提供的话音元数据,由此其匹配于该指令,并且将该数据提供给匹配话音元判定部51。更具体地,例如,对于通过将由搜索部6提供的话音元数据划分为表示独立音素的节段而获得的各个节段,在基于相关的节段确定表示包括由该节段表示的音素的音素片段的部分之后,通过复制(一个或多个)所确定的部分并将其插入到相关的节段或者通过从该节段中移除(一个或多个)相关的部分来调节节段的长度,可以调节整个话音元数据的样本的数目,以获得同由匹配话音元判定部51指明的速度相匹配的持续时间。在该情况下,对于每个节段,发声速度转换器9可以判定表示待插入或移除的音素片段的部分的数目,由此在由各个节段表示的音素之间,持续时间的比率基本不改变。这样,相比于仅将音素合成在一起的情况,可以执行更加精密的语音调节。
而且,发声速度转换器9还将由搜索部6提供的音调分量数据和话音元读音数据提供给匹配话音元判定部51,并且当由搜索部6提供遗漏部分识别数据时,发声速度转换器9还将该遗漏部分识别数据提供给匹配话音元判定部51。
在该情况下,当发声速度数据未提供给匹配话音元判定部51时,匹配话音元判定部51可以指令发声速度转换器9在不转换数据的情况下将提供给发声速度转换器9的话音元数据提供给匹配话音元判定部51,并且响应于该指令,发声速度转换器9可以在从搜索部6提供的话音元数据被接收的条件下,将其提供给匹配话音元判定部51。此外,当提供给发声速度转换器9的话音元数据的样本数目已经同由匹配话音元判定部51所指定的速度相匹配的持续时间匹配时,发声速度转换器9可以未执行任何转换的情况下,在该话音元数据接收的条件下,将其提供给匹配话音元判定部51。
当由发声速度转换器9向匹配话音元判定部51提供话音元数据、话音元读音数据和音调分量数据时,同第一实施例的话音元编辑器5相似,对于每个话音元,匹配话音元判定部51根据对应于核对级别数据值的条件,从所提供的话音元数据中选择一个话音元数据,其表示接近包括消息模板的话音元的波形的波形。
当存在匹配话音元判定部51不能从由发声速度转换器9提供的话音元数据中选择出满足对应于核对级别数据值条件的话音元数据的话音元时,匹配话音元判定部51按照与搜索部6不能检索出压缩话音元数据的话音元(即,由上文的遗漏部分识别数据指出的话音元)相同的方式,处理所讨论的话音元。
然后匹配话音元判定部51将被选择为满足对应于核对级别数据值的条件的数据的话音元数据提供给输出合成部53。
而且,在从发声速度转换器9还提供遗漏部分识别数据时,或者存在不能选择出满足对应于核对级别数据值条件的话音元数据的话音元时,匹配话音元判定部51从消息模板数据中析取表示由该遗漏部分识别数据指出的话音元(包括不能选择出满足对应于核对级别数据值条件的话音元数据的话音元)读音的表音文字串,并将该表音文字串提供给声处理器41,并且指令声处理器41合成该话音元的波形。
在接收到该指令时,声处理器41按照与由传递字符串数据表示的表音文字串相同的方式,处理从匹配话音元判定部51提供的表音文字串。结果,由搜索部42检索表示音素片段的压缩波形数据,该音素片段包括由表音文字串中包括的表音文字所表示的音素,并且由解压缩部43对该压缩波形数据解压缩,以获得压缩前的音素片段波形数据。同时,由韵律预测部52生成韵律预测数据,其表示关于由该表音文字串表示的话音元的韵律预测结果。然后声处理器41基于被解压缩的各个音素片段波形数据和韵律预测数据,生成表示表音文字串中包括的各个表音文字所表示的语音波形的语音波形数据,并且将所生成的语音波形数据提供给输出合成部53。
在该情况下,匹配话音元判定部51从提供给匹配话音元判定部51的已由韵律预测部52生成的韵律预测数据中,还向声处理器41提供对应于由遗漏部分识别数据指出的话音元的一部分韵律预测数据。在该情况中,声处理器41没有必要再次使韵律预测部52执行关于相关话音元的韵律预测。因此,相比于针对诸如话音元的每分钟单位而执行韵律预测的情况,可以产生更自然的语音。
当输出合成部53接收到来自匹配话音元判定部51的话音元数据和来自声处理器41的、由音素片段波形数据生成的语音波形数据时,通过调节所提供的每个语音波形数据中包括的音素片段波形数据的数目,该输出合成部53调节由语音波形数据表示的语音的持续时间,使得其与由匹配话音元判定部51提供的话音元数据所表示的话音元的发声速度相匹配。
更具体地,输出合成部53,例如,可以确定来自匹配话音元判定部51的话音元数据中包括的每个前文提及的节段所表示的音素的持续时间相对于原始持续时间增加或减少的比率,然后增加或减少各个语音波形数据中的音素片段波形数据的数目,由此由声处理器41提供的语音波形数据所表示的音素的持续时间根据所讨论的比率而改变。为了确定该比率,例如,输出合成部53可以从搜索部6获取原始的话音元数据,其用于生成由匹配话音元判定部51提供的话音元数据,然后以一次一个的方式确定表示两个话音元数据中的相同音素的节段。然后输出合成部53可以将由匹配话音元判定部51提供的话音元数据中确定的节段中所包括的音素片段数目相对于从搜索部6获取的话音元数据中确定的节段中所包括的音素片段数目增加或减少的比率,确定为音素持续时间的增加或减少的比率。在该情况下,当由语音波形数据表示的音素的持续时间已同由匹配话音元判定部51提供的话音元数据所表示的话音元的速度匹配时,输出合成部53没有必要调节语音波形数据中的音素片段波形数据的数目。
随后,输出合成部53按照音素或者由消息模板数据示出的消息模板中各个话音元顺序的次序,将完成了音素片段波形数据数目调节的语音波形数据同由匹配话音元判定部51提供的话音元数据组合在一起,并且输出结果数据,作为表示合成语音的数据。
当由发声速度转换器9提供的数据中不包括遗漏部分识别数据时,话音元编辑器5不指令声处理器41合成波形,并且立即按照由消息模板数据示出的消息模板中表音文字串顺序的次序,将所选择的话音元数据组合在一起,并且输出结果数据,作为表示合成语音的数据。
如上文所述,根据本发明的第二实施例的语音合成系统,基于韵律预测结果的,通过记录语音编辑方法,将表示话音元(其可能是大于音素的单位)波形的话音元数据自然地结合在一起,由此合成了朗读    消息模板的语音。
相反地,根据通过规则系统进行合成的技术,通过使用表示作为小于音素的单位的音素片段压缩波形数据,合成了不能选择出适当的话音元数据的话音元。由于压缩波形数据表示音素片段的波形,因此波形数据库44的存储容量可以比压缩波形数据表示音素波形的情况小,并且可以以高速度执行搜索。结果,对于该语音合成系统,可以采用小的和轻重量的构成,并且还可以实现高速度的处理。
而且,通过执行使用音素片段的规则的语音合成,与执行使用音素的规则的语音合成的情况不同,可以在不受音素边缘处出现的特定波形的影响的情况下,执行语音合成,并且因此可以通过少量的音素片段类型获得自然的声音。
更具体地,已知在人类语音中,在从先前的音素到后续的音素的转变边界处出现特定的波形,其受到这些音素双方的影响。同时,由于在采集阶段,按照规则的语音合成中使用的音素在它们的边缘处已包括该特定波形,因此当使用音素按照规则执行语音合成时,有必要准备大量的音素类型,以便于能够再现音素之间的边界处的多种模式的波形,或者满足于合成这样的合成语音,其中音素之间的边界处的波形不同于自然语音。然而,当使用音素片段按照规则执行语音合成时,通过从不同于音素边缘的部分中采集音素片段,可以预先消除出现在音素之间边界处出现的特定波形的影响。因此,在不需要准备大量的音素片段类型的情况下,可以产生自然的语音。
在该情况下,根据本发明的第二实施例的语音合成系统的构成不限于上文描述的构成。
例如,音素片段波形数据没有必要是PCM格式的数据,并且可以使用任意的数据格式。而且,波形数据库44不必在压缩数据的状态下存储音素片段波形数据和话音元数据。当波形数据库44在未压缩数据的状态下存储音素片段波形数据时,对于主体单元M2而言,没有必要包括解压缩部43。
而且,波形数据库44不必必需地以将音素片段波形独立划分的形式存储该音素片段波形。例如,可以采用这样的构成,其中通过识别独立的音素片段在波形中占据的位置的数据,存储包括多个音素片段的语音波形。在该情况中,话音元数据库7可以执行波形数据库44的功能。
此外,同第一实施例的话音元编辑器5相似,匹配话音元判定部51可被构成为预先存储韵律登记数据,并且当消息模板中包括特定的话音元时,匹配话音元判定部51可以处理由该韵律登记数据表示的韵律,作为韵律预测结果,或者可以被构成为,新存储过去的韵律预测结果,作为韵律登记数据。
匹配话音元判定部51还可以按照同第一实施例的话音元编辑器5相似的方式,获取自由文本数据或传递字符串数据,并且通过执行基本上与选择表示同消息模板中包括的话音元波形接近的波形的话音元数据的处理相同的处理,选择表示同由所获取的数据表示的自由文本或传递字符串中包括的话音元波形接近的波形的话音元数据,并且然后使用所选择的话音元数据用于语音合成。在该情况中,对于由匹配话音元判定部51选择的话音元数据所表示的话音元,声处理器41不需要使搜索部42搜索表示该话音元波形的波形数据。而且,匹配话音元判定部51可以向声处理器41通知不需要由声处理器41合成的话音元,并且响应于该通知,声处理器41可以取消对包括该话音元的话音元波形的搜索。
由波形数据库44存储的压缩波形数据不必是表示音素片段的数据。例如,同第一实施例相似,该数据可以是表示语音元的波形的波形数据,该语音元由波形数据库44存储的表音文字表示,或者可以是通过对该波形数据进行熵编码获得的数据。
而且,波形数据库44可以存储表示音素片段波形的数据和表示音素波形的数据这两者。在该情况中,声处理器41可以使搜索部42检索由传递字符串等包括的表音文字所表示的音素的数据。对于不能检索出对应的音素的表音文字,声处理器41可以使搜索部42检索表示音素片段的数据,该音素片段包括所讨论的表音文字所表示的音素,并且然后使用所检索的表示音素片段的数据,生成表示该音素的数据。
发声速度转换器9使由话音元数据表示的话音元的持续时间同由发声速度数据所示出的速度相匹配的方法是任意的。因此,发声速度转换器9可以,例如,按照与第一实施例中的处理相似的方式,重新采样由搜索部6提供的话音元数据,并且增加或减少话音元数据的样本的数目,以获得对应于同由匹配话音元判定部51指明的发声速度相匹配的持续时间的数目。
主体单元M2不必包括发声速度转换器9。当主体单元M2不包括发声速度转换器9时,韵律预测部52预测发声速度,并且然后匹配话音元判定部51在预定标准下,从由搜索部6获取的话音元数据中,选择发声速度同由韵律预测部52预测的结果相匹配的数据,并且,相反地,从选择对象中排除发声速度不与预测结果相匹配的数据。在该情况下,话音元数据库7可以存储多个这样的话音元数据,对于这些话音元数据,话音元读音是共同的但是发声速度是不同的。
输出合成部53使由语音波形数据表示的音素的持续时间同由话音元数据表示的话音元的发声速度匹配的方法也是任意的。因此,输出合成部53,例如,可以确定,来自匹配话音元判定部51的话音元数据中包括的各个节段所表示的音素的持续时间相对于原始持续时间增加或减少的比率,重新采样语音波形数据,并且然后将语音波形数据的样本数目增加或减少到对应于同由匹配话音元判定部51指明的发声速度相匹配的持续时间。
对于每个话音元,发声速度也可以改变。(因此,发声速度数据可以是指定对于每个话音元是不同的发声速度的数据。)因此,对于位于具有互不相同的发声速度的两个话音元之间的每个语音声音的语音波形数据,输出合成部53通过对该两个所讨论的话音元的发声速度进行内插(例如,线形内插),决定位于该两个话音元之间的这些语音声音的发声速度,并且然后转换表示这些语音声音的语音波形数据,由此该数据同所决定的发声速度匹配。
即使在由声处理器41返回的语音波形数据是表示这样的语音的数据时,该语音包括朗读自由文本或传递字符串的语音,输出合成部53可被构成为转换语音波形数据,由此语音的持续时间,例如,同由匹配话音元判定部51提供的发声速度数据指出的速度匹配。
在上文的系统中,例如,韵律预测部52可以针对完整的句子执行韵律预测(包括发声速度预测),或者可以分别针对预定的单位执行韵律预测。在执行针对完整的句子的韵律预测时,如果存在具有匹配读音的话音元,则韵律预测部52还可以决定韵律是否是在预定的条件中匹配,并且如果韵律是匹配的,则韵律预测部52可以采用所讨论的话音元。对于不存在针对其匹配的话音元的部分,规则组合处理器4可以基于音素片段生成语音,并且可以基于针对整个句子或者每个预定单位执行的韵律预测结果,调节基于该音素片段合成的部分的音调和速度。结果,即使在通过组合话音元和基于音素片段生成的语音合成语音时,仍可以产生自然的语音。
而且,当输入到语言处理器1中的字符串是表音文字串时,语言处理器1可以执行已知的自然语言分析处理,其同韵律预测是分离的,并且匹配话音元判定部51可以基于自然语言分析处理的结果选择话音元。因此,可以使用通过解释关于每个单词(语音部分,诸如名词或动词)的字符串而获得的结果,选择话音元,并且相比于仅选择同表音文字串匹配的话音元的情况中产生的语音,产生了更加自然的语音。
尽管上文描述了本发明的实施例,但是本发明的语音合成设备不限于专用的系统,并且可以使用普通的计算机系统实现。
例如,通过从存储程序的记录介质(诸如CD-ROM、MO或软盘(注册商标))将程序安装到个人计算机中,可以构成执行上文的处理的主体单元M1,该程序使个人计算机执行上文描述的语言处理器1、通用单词词典2、用户单词词典3、声处理器41、搜索部42、解压缩部43和波形数据库44、话音元编辑器5、搜索部6、话音元数据库7、解压缩部8和发声速度转换器9的操作。
而且,通过从存储程序的记录介质将程序安装到个人计算机中,可以构成执行上文的处理的话音元登记单元R,该程序使个人计算机执行上文描述的采集话音元数据集存储部10、话音元数据库创建部11和压缩部12的操作。
然后,实现这些程序以用作主体单元M1或话音元登记单元R的个人计算机执行图4~图6中示出的处理,作为对应于图1的语音合成系统的操作的处理。
图4是示出了个人计算机获取自由文本数据的情况中的处理的流程图。
图5是示出了个人计算机获取传递字符串数据的情况中的处理的流程图。
图6是示出了个人计算机获取消息模板数据和发声速度数据的情况中的处理的流程图。
更具体地,当个人计算机从外部获取上文描述的自由文本数据时(图4,步骤S101),对于由自由文本数据表示的自由文本中包括的各个表意文字,个人计算机通过搜索通用单词词典2和用户单词词典3确定表示其读音的表音文字,并且将该表意文字替换为这样确定的表音文字(步骤S102)。个人计算机获取自由文本数据的方法是任意的。
当个人计算机将自由文本中的全部表意文字替换为表音文字之后获得表示所获得的结果的表音文字串时,对于表音文字串中包括的每个表音文字,个人计算机从波形数据库44中检索由该表音文字表示的语音元的波形,并且然后检索表示由包括在表音文字串中的各个表音文字所表示的语音元波形的压缩波形数据(步骤S103)。
接下来,个人计算机解压缩所检索的压缩波形数据,以将波形数据恢复到与压缩之前相同的条件(步骤S104),按照基于表音文字串中各个表音文字顺序的次序,将所解压缩的波形数据组合在一起,并且输出结果数据,作为合成语音数据(步骤S105)。个人计算机输出合成语音数据的方法是任意的。
而且,当个人计算机通过任意的方法从外部获取上文描述的传递字符串数据(图5,步骤S201)时,对于由传递字符串数据表示的表音文字串中包括的各个表音文字,个人计算机从波形数据库44中检索由该表音文字表示的语音元的波形,并且然后检索表示由包括在表音文字串中的各个表音文字所表示的语音元波形的压缩波形数据(步骤S202)。
接下来,个人计算机解压缩所检索的压缩波形数据,以将波形数据恢复到与压缩之前相同的条件(步骤S203),通过与步骤S105的处理相同的处理,按照基于表音文字串中各个表音文字顺序的次序,将所解压缩的波形数据组合在一起,并且输出结果数据,作为合成语音数据(步骤S204)。
当个人计算机通过任意的方法从外部获取上文描述的消息模板数据和发声速度数据时(图6,步骤301),个人计算机首先检索这样的表音文字所相关联的全部的压缩话音元数据,即该表音文字与表示消息模板中包括的话音元读音的表音文字匹配,该消息模板由消息模板数据表示(步骤S302)。
而且,在步骤S302中,个人计算机还检索同所讨论的压缩话音元数据相关联的上文描述的话音元读音数据、速度初始值数据和音调分量数据。在该情况下,当多个压缩话音元数据对应于单一的话音元时,检索全部的对应的压缩话音元数据。相反地,当存在不能检索出压缩话音元数据的话音元时,个人计算机生成上文所述的遗漏部分识别数据。
接下来,个人计算机对所检索的压缩话音元数据解压缩,以将话音元数据恢复到与压缩之前相同的条件(步骤S303)。然后个人计算机通过与上文的话音元编辑器5执行的处理相同的处理,转换被解压缩的话音元数据,由此由所讨论的话音元数据表示的话音元的持续时间同由发声速度数据指出的速度匹配(S304)。在该情况下,当未提供发声速度数据时,不需要转换被解压缩的话音元数据。
随后,个人计算机基于韵律预测方法,通过分析由消息模板数据表示的消息模板,预测消息模板的韵律(步骤S305)。然后,个人计算机根据从外部获取的核对级别数据所指出的标准,通过执行同上文的话音元编辑器5执行的处理相似的处理,从话音元的持续时间被转换的话音元数据中,对于每个话音元以一次一个的方式选择这样的话音元数据,其表示同包括消息模板的话音元的波形最接近的波形(步骤S306)。
更具体地,在步骤306中,个人计算机,例如,根据上文描述的(1)~(3)的条件确定话音元数据。即,当核对级别数据值是“1”时,个人计算机将读音与消息模板中话音元的读音相匹配的全部话音元数据认定为表示消息模板中的话音元的波形。当核对级别数据值是“2”时,仅在表示读音的表音文字匹配、而且表示话音元数据音调分量频率时间变化的音调分量数据的内容同关于消息模板中包括的话音元重音的预测结果匹配时,个人计算机将该话音元数据认定为表示消息模板中的话音元的波形。而且,当核对级别数据值是“3”时,仅在表示读音的表音文字和重音匹配、而且由话音元数据表示的语音声音的鼻音化或无声化的存在或不存在同消息模板的韵律预测结果匹配时,个人计算机将该话音元数据认定为表示消息模板中的话音元的波形。
当对于单一的话音元存在同由核对级别数据指出的标准匹配的多个话音元数据时,根据比该设定条件更严格的条件,将该多个话音元数据缩减到单一的候选者。
同时,当个人计算机生成遗漏部分识别数据时,个人计算机从消息模板数据中析取表示由遗漏部分识别数据指出的话音元读音的表音文字串,并且通过按照与由传递字符串数据表示的表音文字串相同的方式处理该表音文字串,并且针对每个音素执行上文的步骤S202~S203的处理,个人计算机重建表示由表音文字串中每个表音文字表示的语音波形的波形数据(步骤S307)。
然后,个人计算机按照基于由消息模板数据示出的消息模板中表音文字串顺序的次序,组合所重建的波形数据和在步骤S306中选择的话音元数据,并且输出该数据,作为表示合成语音的数据(步骤S308)。
而且,例如,通过从存储程序的记录介质将程序安装到个人计算机中,可以构成执行上文的处理的主体单元M2,该程序使个人计算机执行上文描述的语言处理器1、通用单词词典2、用户单词词典3、声处理器41、搜索部42、解压缩部43和波形数据库44、话音元编辑器5、搜索部6、话音元数据库7、解压缩部8和发声速度转换器9的操作。
实现该程序以用作主体单元M2的个人计算机还可被构成为执行图7~图9中示出的处理,作为对应于图3的语音合成系统的操作的处理。
图7是示出了执行主体单元M2的功能的个人计算机获取自由文本数据的情况中的处理的流程图。
图8是示出了执行主体单元M2的功能的个人计算机获取传递字符串数据的情况中的处理的流程图。
图9是示出了执行主体单元M3的功能的个人计算机获取消息模板数据和发声速度数据的情况中的处理的流程图。
更具体地,当个人计算机从外部获取上文描述的自由文本数据时(图7,步骤S401),对于由自由文本数据表示的自由文本中包括的各个表意文字,个人计算机通过搜索通用单词词典2和用户单词词典3确定表示其读音的表音文字,并且将该表意文字替换为这样确定的表音文字(步骤S402)。个人计算机获取自由文本数据的方法是任意的。
当个人计算机获得了表示通过将自由文本中的全部表意文字替换为表音文字所获得结果的表音文字串时,对于表音文字串中包括的每个表音文字,个人计算机从波形数据库44中检索由该表音文字表示的语音元的波形,并且然后检索表示音素片段波形的压缩波形数据,该音素片段包括由表音文字串中包括的各个表音文字表示的音素(步骤S403),并且然后解压缩所检索的压缩波形数据,以将音素片段波形数据恢复到与压缩之前相同的条件(步骤S404)。
同时,个人计算机基于韵律预测方法,通过分析自由文本数据,预测由自由文本表示的语音的韵律(步骤S405)。然后,个人计算机基于步骤S404中被解压缩的音素片段波形数据和来自步骤S405的韵律预测结果,生成语音波形数据(步骤S406),并且按照基于表音文字串中各个表音文字顺序的次序,将所获得的语音波形数据组合在一起,并且输出结果数据,作为合成语音数据(步骤S407)。个人计算机输出合成语音数据的方法是任意的。
而且,当个人计算机通过任意的方法从外部获取上文描述的传递字符串数据(图8,步骤S501)时,对于由传递字符串数据表示的表音文字串中包括的各个表音文字,同上文的步骤S403~S404相似,个人计算机执行处理,以检索表示包括由各个表音文字表示的音素的音素片段波形的压缩波形数据,并且对所检索的压缩波形数据解压缩,以将音素片段波形数据恢复到与压缩之前相同的条件(步骤S502)。
同时,个人计算机基于韵律预测方法,通过分析传递字符串,预测由传递字符串表示的语音的韵律(步骤S503),并且基于步骤S502中被解压缩的音素片段波形数据和来自步骤S503的韵律预测结果,生成语音波形数据(步骤S504)。随后,个人计算机通过执行与步骤S407中执行的处理相同的处理,按照基于表音文字串中各个表音文字顺序的次序,将所获得的语音波形数据组合在一起,并且输出该数据,作为合成语音数据(步骤S505)。
相反地,当个人计算机通过任意的方法从外部获取上文描述的消息模板数据和发声速度数据时(图9,步骤601),个人计算机首先检索同这样的表音文字相关联的全部的压缩话音元数据,即该表音文字与表示消息模板中包括的话音元的读音的表音文字相匹配,该消息模板由消息模板数据表示(步骤S602)。
在步骤S602中,个人计算机还检索同所讨论的压缩话音元数据相关联的上文描述的话音元读音数据、速度初始值数据和音调分量数据。在该情况下,当多个压缩话音元数据对应于单一的话音元时,检索全部的对应的压缩话音元数据。相反地,当存在不能检索出压缩话音元数据的话音元时,个人计算机生成上文所述的遗漏部分识别数据。
接下来,个人计算机对所检索的压缩话音元数据解压缩,以将音素片段话音元数据恢复到与压缩之前相同的条件(步骤S603)。然后个人计算机通过与上文的输出合成部53执行的处理相同的处理,转换被解压缩的话音元数据,由此由该话音元数据表示的话音元的持续时间同由发声速度数据示出的速度匹配(S604)。在该情况下,当未提供发声速度数据时,不必转换被解压缩的话音元数据。
接下来,个人计算机通过使用韵律预测方法,分析由消息模板数据表示的消息模板,预测消息模板的韵律(步骤S605)。然后,个人计算机根据从外部获取的核对级别数据所指出的标准,从话音元的持续时间被转换的话音元数据中,选择这样的话音元数据,其表示同包括消息模板的话音元的波形最接近的波形。该处理是通过执行同上文的匹配话音元判定部51执行的处理相似的处理,针对每个话音元以一次一个的方式执行的(步骤S606)。
更具体地,在步骤606中,个人计算机,例如,通过执行与上文的步骤S306相同的处理,根据上文描述的(1)~(3)的条件确定话音元数据。当对于单一的话音元存在同由核对级别数据指出的标准匹配的多个话音元数据时,根据比该设定条件更严格的条件,将该多个话音元数据缩减到单一的候选者。而且,当存在不能选择出满足对应于核对级别数据值条件的话音元数据的话音元时,个人计算机将所讨论的话音元处理为不能检索出压缩话音元数据的话音元,并且,例如,生成遗漏部分识别数据。
当个人计算机生成遗漏部分识别数据时,个人计算机从消息模板数据中析取表示由遗漏部分识别数据指出的话音元读音的表音文字串,并且通过按照与由传递字符串数据表示的表音文字串相同的方式处理该表音文字串,并且针对每个音素执行上文的步骤S502~S503的处理,个人计算机生成表示由表音文字串中的每个表音文字指出的语音波形的语音波形数据(步骤S607)。
在步骤S607中,不同于执行对应于步骤S503的处理的处理,个人计算机可以使用步骤S605的韵律预测结果生成语音波形数据。
接下来,通过执行与上文的合成输出部分53所执行的相同的处理,个人计算机调节步骤S607中生成的语音波形数据中包括的音素片段波形数据的数目,由此由语音波形数据表示的语音的持续时间同步骤S606中选择的话音元数据所表示的话音元的发声速度一致(步骤S608)。
更具体地,在步骤S608中,个人计算机,例如,可以确定上文描述的步骤S606中选择的话音元数据中包括的各个节段所表示的音素的持续时间相对于原始持续时间增加或减少的比率,并且然后增加或减少各个语音波形数据中的音素片段波形数据的数目,由此步骤S607中生成的语音波形数据所表示的语音的持续时间根据该比率变化。为了确定该比率,例如,个人计算机可以以一次一个的方式确定表示这样的语音的节段,该语音在步骤S606中选择的话音元数据中(发声速度转换之后的话音元数据)和在话音元数据经历步骤S604中的转换之前的条件下的原始话音元数据中是相同的,并且然后将发声速度转换之后的话音元数据中确定的节段中包括的音素片段的数目相对于原始话音元数据中确定的节段中包括的音素片段的数目增加或减少的比率,确定为语音持续时间的增加或减少的比率。在该情况下,当由语音波形数据表示的语音的持续时间已同转换后的话音元数据所表示的话音元的速度匹配时,对于个人计算机而言,没有必要调节语音波形数据中的音素片段波形数据的数目。
然后,个人计算机按照基于由消息模板数据示出的消息模板中表音文字串顺序的次序,组合经历了步骤S608的处理的语音波形数据和步骤S606中选择的话音元数据,并且输出该数据,作为表示合成语音的数据(步骤S609)。
在该情况下,使个人计算机执行主体单元M1、主体单元M2或话音元登记单元R的功能的程序,例如,可以上载到通信线路的电子公告板系统(BBS),并且可以通过该通信线路传递。可替换地,可以采用这样的方法,其中由表示这些程序的信号调制载波,然后发射所获得的调制波,并且接收该调制波的设备解调该调制波,以将程序恢复到其原始状态。
这样,通过在操作系统的控制下,以同其他应用程序相似的方式启动这些程序并执行它们,可以执行上文描述的处理。
在该情况下,当操作系统共享一部分处理时,或者当操作系统包括本发明的一个部件的一部分时,除了该部分以外的程序可以存储在记录介质上。而且,在该情况下,根据本发明,假设用于执行每个功能或者由计算机执行的步骤的程序存储在记录介质上。