生成高质量话音的系统和方法

文档序号:2830680阅读:285来源:国知局
专利名称:生成高质量话音的系统和方法
技术领域
本发明涉及生成合成话音(synthetic speech)的技术,具体地涉及通过彼此 连接多个音素段(phoneme segment)来生成合成话音的技术。
背景技术
此前,为了生成听者听起来自然的合成话音,已经使用了利用声波编辑 与合成方法的话音合成技术。在此方法中,话音合成设备记录人的话音,并 事先把话音的波形存储在数据库中作为话音波形数据。然后,话音合成设备 根据输入的文本通过读取和连接多个话音波形数据块来生成合成话音。为了 使这样合成的话音让听者听起来自然,最好连续改变话音的频率和音调 (tone)。例如,当在话音波形数据块彼此连接的部分中话音的频率和音调变 化很大时,所得到的合成话音听起来不自然。
然而,由于成本和时间的限制以及计算机存储容量和处理性能的限制, 因此对事先记录的话音波形数据的类型也有限制。由于这个缘故,在某些情 况下,由于在数据库中没有注册适合的数据块,因而使用替代的话音波形数 据块替代适合的数据块来生成合成话音的某个部分。这可能使连接部分中的 频率等等改变如此之大,以致于合成的话音听起来不自然。当输入文本的内
容与事先被记录用于生成话音波形数据块的内容有很大的不同时,这种情况 就更可能发生。
在此,作为技术参考资料,引用了日本专利申请公开出版物No. 2003-131679 以及 Wael Hamza 、 Raimo Bakis 和 Ellen Eide, "RECONCILING PRONUNCIATION DIFFERENCES BETWEEN THE FRONT-END AND BACK-END IN THE IBM SPEECH SYNTHESIS SYSTEM"(调解在IBM话音合成系统中前端和后端之间的发音差别), Proceedings of ICSLP,韩国,济州,2004, pp.2561-2564。在日本专利申请公 开出版物No. 2003-131679中所揭示的话音输出设备通过把由书面语言的短 语组成的文本转换为口头语言的文本,而后大声读出所得到的文本,来使文本更容易让听者理解。然而,这个设备只是为了把文本的表达从书面语言转 换为口头语言,并且,这个转换是独立于与话音波形数据中关于频率变化等 等的情况下进行的。因此,这个转换对合成话音自身的质量改善不起作用。
在 Wael Hamza 、 Raimo Bakis 和 Ellen Eide " RECONCILING PRONUNCIATION DIFFERENCES BETWEEN THE FRONT-END AND BACK-END IN THE IBM SPEECH SYNTHESIS SYSTEM"(调解在IBM话音 合成系统中前端和后端之间的发音差别),Proceedings of ICSLP,韩国,济州, 2004, pp. 2561-2564所描述的技术中,预先存储发音不同但是以相同方式书 写的多个音素(phoneme),并在多个音素段中选择适合的音素段,以便能够 改善合成话音的质量。然而,如果适合的音素段不被包括在事先存储的音素 段之中,即使做了这样的选择,得到的合成话音听起来还是不自然的。

发明内容
关于这一点,本发明的目的在于提供一种能够解决上述问题的系统、方 法和程序。通过组合权利要求范围内的独立权利要求来实现此目的。此外, 从属权利要求限定了本发明的更有益的具体例子。
为了解决上述的问题,本发明的第一方面是提供一种用于生成合成话音 的系统,该系统包括音素段存储部分、合成部分、计算部分、意译(paraphrase) 存储部分、替换部分和判断部分。更确切地,音素段存储部分存储指示^:此 不同的音素的声音的多个音素段数据块。合成部分通过以下步骤生成代表文 本的合成话音的语音数据接收输入的文本,读取与指示输入文本的发音的 各个音素对应的音素段数据块,然后,彼此连接读出的音素段数据块。计算 部分根据语音数据计算指示文本的合成话音的不自然度的得分。意译存储部 分存储作为多个第一注释的意译的多个第二注释,并将第二注释和各个第一 注释关联。替换部分搜索文本以得到与任何第一注释匹配的注释,然后,用 与第 一注释对应的第二注释来替换搜索到的注释。在计算出的得分小于预定 的参考值的情况下,判断部分输出所生成的语音数据。相反,在计算出的得 分等于或大于参考值的情况下,判断部分将文本输入到合成部分中,以便使 合成部分进一步生成用于替换后文本的语音数据。除此系统之外,还提供了 一种用此系统生成合成话音的方法,以及一种使信息处理设备用作此系统的 程序。注意,本发明的上述概述并未列举本发明所必需的全部特征。因此,本 发明还包括这些特征的子组合。


为了更完全地理解本发明及其优点,通过下面结合附图进行描述。图1示出了话音合成器系统10的整个配置以及与系统IO相关的数据。 图2示出了音素段存储部分20的数据结构的例子。 图3示出了话音合成器系统10的功能配置。 图4示出了合成部分310的功能配置。 图5示出了意译存储部分340的数据结构的例子。 图6示出了单词存储部分400的数据结构的例子。 图7示出了话音合成器系统10生成合成话音的处理流程图。 图8示出了在由话音合成器系统10生成合成话音的处理中顺序生成的文 本的具体例子。图9示出了在用作话音合成器系统10的信息处理设备500的硬件配置的 例子。
具体实施方式
以下,将使用实施例来描述本发明。然而,下面的实施例并不限制在权 利要求的范围内所叙述的发明。此外,在实施例中所描述的特征的全部组合 并非都是本发明的解决手段所必要的。图1示出了话音合成器系统10的整个配置以及与系统IO相关的数据。 话音合成器系统10包括音素段存储部分,其中存储有多个音素段数据块。通过用对于每个因素的数据块划分目标语音数据,来预先生成音素段数据块。 目标语音数据是代表作为要生成的目标的说话人的话音的数据。目标语音数 据是通过记录说话人例如在大声朗读脚本等等时发出的话音而得到的数据。话音合成器系统IO接收文本的输入,通过语形(morphological)分析和韵律 (prosodic)模型应用等来处理输入的文本,并由此生成关于将随着大声朗读 文本时发出的话音而生成的每个音素的韵律(prosody )、音调等等的数据块。 随后,话音合成器系统10根据关于频率等等的这些所生成的数据块,从音素 段存储部分20中选择和读取多个音素段数据块,然后将这些读出的音素段数据块彼此连接。在用户允许输出的情况下,将这样连接的多个音素段数据块 输出作为代表该文本的合成话音的语音数据。
在此,由于成本、所需时间、话音合成器系统10的计算能力等等的限制,
限制了能够被存储在音素段存储部分20中的音素段数据的类型。由于这个缘 故,即使当话音合成器系统IO计算出将随着每个音素的发音而生成的频率作
为诸如韵律模型应用等等的处理结果时,在某些情况下,关于频率的音素段
数据块也可能没有被存储在音素段存储部分20中。在此情况下,话音合成器 系统IO可能为这个频率选择不适合的音素段数据块,从而导致生成低质量的 合成话音。为了防止这一点,当一次生成的语音数据仅具有不够好的质量时, 根据本发明的话音合成器系统10旨在通过意译文本中的注释到不改变其意 思的程度来改善输出的合成话音的质量。
图2示出了音素段存储部分20的数据结构的例子。音素段存储部分20 存储代表彼此不同的音素的声音的多个音素段数据块。准确地说,音素段存 储部分20存储每个音素的注释、话音波形数据和音调数据。例如,音素段存 储部分20存储指示在具有注释"A"的某个音素的基频随时间的变化的信息, 作为话音波形数据。在此,音素的基频是在组成音素的频率分量中具有最大 的音量的频率分量。此外,音素段存储部分20存储具有相同注释"A"的某个 音素的矢量数据,作为音调数据,该矢量数据指示包括基频在内的多个频率 分量中的每一个的声音的音量和强度,作为要素。为了便于说明,图2示出 了在每个音素的前端和后端处的音调数据,但是,实际上,音素段存储部分 20存储指示每个频率分量的声音的音量和强度随时间的变化的数据。
照此方式,音素段存储部分20存储每个音素的话音波形数据块,因此, 话音合成器系统10能够通过连接话音波形数据块来生成具有多个音素的话 音。顺带提及,图2只示出了音素段数据内容的一个例子,而被存储在音素 段存储部分20中的音素段数据的数据结构和数据格式并不限于图2所示的那 些。作为另一个例子,音素段存储部分20可以直接存储被记录的音素数据作 为音素段数据,或者可以存储通过对被记录数据进行某种算法处理而得到的 数据。该算法处理是例如离散余弦变换等等的处理。这样的处理允许参照在 被记录数据中的所想要的频率分量,以便能够分析基频和音调。
图3示出了话音合成器系统10的功能配置。话音合成器系统10包括音 素段存储部分20、合成部分310、计算部分320、判断部分330、显示部分335、意译存储部分340、替换部分350和输出部分370。首先,将要描述这 些部分和硬件资源之间的关系。利用下面将要描述的存储器件诸如RAM 1020 和硬盘驱动器1040能够实现音素段存储部分20和意译存储部分340。根据 被安装的程序的命令,通过下面也将要描述的CPU 1000的操作,能够实现合 成部分310、计算部分320、判断部分330和替换部分350。不仅可由下面也 将要描述的图形控制器1075和显示器件1080还可由从用户接收的输入的定 点器件和键盘来实现显示部分335。此外,由扬声器和输入/输出芯片1070来 实现输出部分370。音素段存储部分20存储如上所述的多个音素段数据块。合成部分310 接收从外部输入的文本,从音素段存储部分20中读取与代表输入文本发音的 各个音素对应的音素段数据块,并将这些音素段数据块彼此连接。更准确地, 合成部分310首先对文本进行语形分析,从而检测在单词与每个单词的话音 部分之间的边界。然后,根据关于如何大声读出每个单词(以下称为"读出方 式")的预先存储的数据,合成部分310找到当大声读出文本时应当用哪种声 音频率和音调来对每个音素发音。随后,合成部分310从音素段存储部分20 中读取最接近所找到的频率和音调的音素段数据块,将这些数据块彼此连接, 并将连接的数据块输出到计算部分320作为代表该文本的合成话音的语音数 据。计算部分320根据从合成部分310接收的语音数据来计算指示该文本的 合成语言的不自然度的得分。该得分指示在被包括在语音数据之中并且是彼 此相连的第 一 和第二音素段数据块的边界上、在第 一 和第二音素段数据块之 间的发音的差别程度。发音之间的差别程度是音调和基频的差别程度。实质 上,.由于较大的差別程度导致话音的频率等等的突然改变,所得到的合成话 音使听者听起来不自然了。判断部分330判断计算出的得分是否小于预定的参考值。在该得分等于 或大于参考值的情况下,判断部分330指令替换部分350替换文本中的注释, 以便生成替换后文本的新的语音数据。另一方面,在该得分小于参考值的情 况下,判断部分330指令显示部分335给用户示出已为其生成了语音数据的 文本。这样,显示部分335显示提示,询问用户有关是否允许根据该文本来 生成合成话音。在某些情况下,该文本从外部输入而没有任何修改,或者在 其他情况下,文本是作为由替换部分350数次进行替换处理的结果而生成的。在接收到指示允许生成的输入的情况下,判断部分330向输出部分370 输出所生成的语音数据。响应于此,输出部分370根据语音数据生成合成话 音,并向用户输出此合成话音。另一方面,当得分等于或大于参考值时,替 换部分350从判断部分330接收指令,然后开始处理。意译存储部分340存 储作为多个第一注释的意译的多个第二注释,同时把第二注释和各个第一注 释关联。 一旦接收到了来自判断部分330的指令之后,替换部分350首先从 合成部分310取得已为其进行了先前的话音合成的文本。然后,替换部分350 搜索所得到的文本中的注释,以便找到与任何第一注释匹配的注释。在搜索 到该注释的情况下,替换部分350用与匹配的第一注释对应的第二注释来替 换搜索到的注释。随后,将具有替换了的注释的文本输入到合成部分310中, 然后,根据文本生成新的语音数据。
图4示出了合成部分310的功能配置。合成部分310包括单词存储部分 400、单词搜索部分410以及音素段搜索部分420。合成部分310通过使用已 知的n-gram模型的方法来生成文本的读取方式,然后根据读取方式来生成语 音数据。更准确地,单词存储部分400存储先前注册的多个单词中的每一个 单词的读取方式,同时将读取方式和单词的注释关联。该注释是由构成单词 /短语的字符串组成的,且读出方式是由例如代表发音的符号、重音(accent) 或重音类型的符号构成的。单词存储部分400可以为相同的注释存储彼此不 同的多个读出方式。在此情况下,对于每个读出方式而言,单词存储部分400 进一步存储此读出方式被用来朗读注释的概率值。
更确切地说,对于预定数量单词的每个组合(例如,在bi-gram模型中的 双单词组合)而言,单词存储部分400存储使用每种读出方式的组合来朗读 单词组合的概率值。例如,对于单个单词"bokuno(我的)",单词存储部分400 不仅存储分别用第一个音节上的重音和用第二个音节上的重音来朗读单词的 两种概率值,而且,当连续书写"bokuno(我的)"和"tikakuno(近的)"这两 个单词时,单词存储部分400分别存储用第一个音节上的重音和用第二个音 节上的重音来朗读这些接续单词的组合的两种概率值。除此之外,当连续书 写单词"bokuno(我的)"和与单词"tikakuno(近的)"不同的另一个单词时,单 词存储部分400还存储用每个音节上的重音来朗读连续单词的另一个组合的 概率值。
可以通过以下方式来生成被存储在单词存储部分400中的关于注释、读出方式和概率值的信息首先,识别预先被记录的目标语音数据的话音,然后,对于单词的每个组合,计数读出方式的每种组合出现的频率。换句话说, 为以较高频率出现在目标语音数据中的单词和读出方式的组合存储较高的概率值。注意,优选地,音素段存储部分20存储单词的话音部分的信息,以便 进一步提高话音合成的准确性。还可以通过目标语音数据的话音识别来生成 关于话音部分的信息,或可以人工地把关于话音部分的信息提供给通过话音 识别而得到的文本数据。单词搜索部分410搜索单词存储部分400,以得到具有与输入文本中所 包括的每个单词的注释相匹配的注释的单词,并通过从单词存储部分400中 读取与搜索到的各个单词对应的读出方式,再彼此连接这些读出方式,来生 成文本的读出方式。例如,在bi-gram模型中,当从开头扫描输入文本时,单 词搜索部分410搜索单词存储部分400,以找到与输入文本中两个连续单词 的每个组合相匹配的单词组合。然后,单词搜索部分410从单词存储部分400组合的概率值。照此方式,单词搜索部分410从文本的开头到末尾^r索每个 都与一个单词组合相对应的多个概率值。例如,在文本含有以该顺序的单词A、 B和C的情况下,检索al和bl 的组合(概率值pl), a2和bl的组合(概率值p2), al和b2的组合(概率值p3), a2 和b2的组合(概率值p4)作为单词A和B的组合的读出方式。同样地,检索 bl和cl的组合(概率值p5), bl和c2的组合(概率值p6), b2和cl的组合(概率 值p7), b2和c2的组合(概率值p8)作为单词B和C的组合的读出方式。然后, 单词搜索部分410选择具有各个单词组合的概率值的最大乘积的读出方式的 组合,并向音素段搜索部分420输出选中的读出方式的组合,作为文本的读 出方式。在此例子中,分另'J计算pl xp5, pl xp7, p2xp5, p2xp7, p3 xp6, p3 x p8, p4 x p6和p4 x p8的乘积,并输出与具有最大乘积的组合对应的读出方 式的组合。然后,音素段搜索部分420根据所生成的读出方式计算每个音素的目标 韵律和音调,并从音素段存储部分20中检索最接近计算出的目标韵律和音调 的音素段数据块。然后,音素段搜索部分420通过彼此连接多个检索的音素 段数据块来生成语音数据,并将语音数据输出到计算部分320中。例如,在 所生成的读出方式指示在各个音节上的一系列的重音LHHHLLH ( L代表弱重音(low accent), H代表强重音(highaccent))的情况下,音素段搜索部分 420计算音素的韵律,以便流畅地表述这一系列弱重音和强重音。例如,可 以用话音的基频、长度和音量的变化来表述韵律。使用基频模型来计算基频, 该模型是事先从说话人记录的语音数据中统计得到的。利用此基频模型,能 够根据句子的重音环境、话音部分和长度来确定每个音素的基频的目标值。 上述的描述只给出了从重音计算出基频的处理的一个例子。此外,根据事先 统计得到的规则,通过类似的处理,也能够从发音计算出每个音素的音调、 持续长度和音量。在此,不再更详细地说明根据重音和发音来确定每个音素 的韵律和音调的技术,这是由于这个技术像预测韵律或音调的技术一样,至 今己为人所知了。图5示出了意译存储部分340的数据结构的例子。意译存储部分340存 储作为多个第一注释的意译的多个第二注释,同时将第二注释和各个第一注 释关联。此外,对于每对第一注释和第二注释的关联,意译存储部分340存 储相似性得分,其指示第二注释的意思和第一注释的意思相似到何种程度。 例如,意译存储部分340存储与第一注释的意i,的第二注释"watasino (my)" 关联的第一注释"bokuno (my)",并进一步存储与这些注释的组合相关的相似 性得分"65%"。如此例中所示,例如,用百分比来表述相似性得分。此外, 可由在意译存储部分340中注册注释的操作员来输入相似性得分,或者根据 作为替换处理的结果、用户使用该注释允许进行替换的概率来计算相似性得 分。当在意译存储部分340中注册了大量注释时,有时与多个不同的第二注 释联合存储多个相同的第一注释。具体地,有这样一种情况,其中替换部分 350找到每个都与输入文本中的注释相匹配的多个第一注释,作为比较输入 文本和被存储在意译存储部分340中的第一注释的结果。在此情况下,替换 部分350用与在多个第一注释中具有最高的相似性得分的第一注释对应的第 二注释来替换文本中的注释。照此方式,能够把与注释联合存储的相似性得 分用作为选择要用于替换的注释的指标。此外,优选地,被存储在意译存储部分340中的第二注释是在代表目标 语音数据的内容的文本中的单词的注释。例如,代表目标语音数据的内容的 文本可以是被大声读出以便生成用于生成目标语音数据的话音的文本。然而, 在从随意生成的话音中获得目标语音数据的情况下,文本可以是指示目标语音数据的话音识别的结果的文本,或者可以是由口述的目标语音数据的内容 手写的文本。通过使用这样的文本,用在目标语音数据中使用的那些单词注 释来代替单词的注释,从而能使为替换后文本输出的合成话音变得更为自然。此外,当找到与文本中第一注释对应的多个第二注释时,替换部分350 可以为多个第二注释中的每一个计算以下两个文本之间的距离 一个是用第 二注释来替换输入文本中的注释而得到的文本,另 一个是代表目标语音数据 内容的文本。在此,这个距离是已知为得分的概念,它指示在表述意向和内 容意向上两个文本之间彼此相似的程度,并且能用现有的方法来计算。在此 情况下,替换部分350选择具有最短距离的文本作为要用其进行替换的文本。 通过使用这个方法,在替换后,能够使基于文本的话音尽可能地接近于目标 话音。图6示出了单词存储部分400的数据结构的例子。单词存储部分400彼 此关联地存储单词数据600、标音数据610、重音数据620和话音部分数据 630。单词数据600代表多个单词中的每一个的注释。在图6所示的例子中, 单词数据600包含"Oosaka,"、 "fu," 、 "zaijyQ,"、 "no,"、 "kata,"、 "ni,"、"kagi,"、 "ri,"、 "ma"和"su"(仅大阪辖区居民)的多个单词的注释。此外, 标音数据610和重音数据620指示多个单词中的每个单词的读出方法。标音 数据(phonetic data) 610指示在读出方法中的音标(phonetic transcription), 重音数据620指示在读出方法中的重音。例如,通过使用字母等等的音符(phonetic symbol)来表述音标。通过为话音中的每个音素安排语音的对应的 音高(pitch)级别、高(H)或低(L)级别来表述重音。此外,重音数据620可以 包含重音模型,它们每个都与音素的这种高音高和低音高级别的组合相对应, 并且每个都用号码来鉴别。此外,单词存储部分400可以存储如话音部分数 据630所示的每个单词的话音部分。该话音部分不意味着在语法上严格的部 分,而是包括被扩展地定义为适合于话音合成和分析的话音部分。例如,该 话音部分可以包括构成短语尾部的后缀。在与上述的数据类型的比较中,图6的中心部分示出了由单词搜索部分 410根据上述的数据类型而生成的话音波形数据。更准确地,在输入文本"Oosakafu zaijyfinokatani kagirimasu (仅大阮辖区居民)"时,单词搜索部分 410用使用n-gram模型的方法得到了每个音素的较高或较低的音高级別和每 个音素的音标(使用字母的音符)。然后,音素段搜索部分420生成足够平滑地变化以致合成话音不会使用户听起来不自然的基频,同时反映出音素的较 高或较低的音高级别。图6的中心部分示出了这样生成的基频的一个例子。 按照以此方式变化的频率是理想的。然而,在某些情况下,不能从音素段存储部分20中搜索到与频率值完全匹配的音素段数据块。因此,所得到的合成话音听起来可能不自然。为了解决这样的情况,如前所述,话音合成器系统IO通过有效地意译该文本到不改变其意思的程度,来使用可检索的音素段数据块。照此方式,能够改善合成话音的质量。图7示出了话音合成器系统IO生成合成话音的处理流程图。当从外部接 收输入的文本时,合成部分310从音素段存储部分20中读取与代表输入文本 的发音的各个音素对应的音素段数据块,然后,将这些音素段数据块连接 (S700)。更具体地,合成部分310首先对输入文本进行语形分析,并由此检 测被包括在文本中的单词之间的边界和每个单词的话音部分。随后,通过使 用事先存储在单词存储部分400中的数据,合成部分310找到当大声读出文 本时应当使用哪一个音频和音调来朗读每个音素。然后,合成部分310从音 素段存储部分20中读取接近于所找到的频率和音调的音素段数据块,并将这 些数据块彼此相连。此后,合成部分310向计算部分320输出连接的数据块, 作为代表此文本的合成话音的语音数据。计算部分320根据从合成部分310接收的语音数据来计算指示该文本的 合成话音的不自然度的得分(S710)。在此,对这部分的例子作出说明。根据 在音素段数据块连接边界上的音素段数据块的发音之间的差异程度,以及基 干文本读出方式的每个音素的发音和由音素段搜索部分420检索的音素段数 据块的发音之间的差异程度来计算得分。下面将依次对其给以更详细的说明。(1)在连接边界上的发音之间的差异程度计算部分320计算在基频之间的差异程度以及在被包括在语音数据中的 音素段数据块的每个连接边界上的音调之间的差异程度。基频之间的差异程 度可以是基频之间的差值,或者是基频的改变率。音调之间的差异程度是代 表在边界前的音调的矢量和代表在边界后的音调的矢量之间的距离。例如, 在倒频谱(cepstral)空间中,音调之间的差异可以是通过对边界前和边界后的 话音波形数据进行离散余弦变换而得到的矢量之间的欧几里德距离。然后, 计算部分320将连接边界的差异程度相加。当在音素段数据块的连接边界上发出诸如p或t之类的清辅音时,计算部分320判断连接边界上的差异程度为零。这是因为听者不太可能感觉到在 清辅音周围的话音的不自然度,即使在音调和基频变化很大时也是这样。由 于相同的缘故,当音素段数据块中的连接边界上包含暂停标志时,计算部分320判断连接边界上的差异程度为零。(2)基于读出方式的发音和音素段数据块的发音之间的差异程度 对于语音数据中所包含的每个音素段数据块而言,计算部分320比较音 素段数据块的韵律和根据音素的读出方式确定的韵律。可以根据代表基频的 话音波形数据来确定韵律。例如,计算部分320可用每个话音波形数据的总 频率或平均频率来进行这样的比较。然后,计算它们之间的差值,作为韵律 之间的差异程度。替代地或附加地,计算部分320比较两个矢量数据 一个 是代表每个音素段数据块的音调的矢量数据, 一个是根据每个音素的读出方 式确定的矢量数据。此后,计算部分320根据音素的前端或后端部分的音调 来计算这两个矢量数据之间的距离,作为差异程度。除此之外,计算部分320 还可以使用音素的发音长度。例如,单词搜索部分410根据每个音素的读出 方式来计算所想要的值,作为每个音素的发音长度。另一方面,音素段搜索 部分420检索代表最接近于所想要的长度值的长度的音素段数据块。在此情 况下,计算部分320计算在这些发音长度之间的差,作为差异程度。计算部分320可以通过把这样计算出的差异程度相加来得到一个值,或 者通过对这些差异程度分配权重并把差异程度相加来得到一个值,作为得分。 此外,计算部分320可以将每个差异程度输入到预定的评估函数,然后使用 输出的值作为得分。实质上,得分可以是任何值,只要这个值指示了在连接 边界上的发音之间的差异以及在基于读出方式的发音和基于音素段数据的发 音之间的差异。判断部分330判断这样计算出的得分是否等于或大于预定的参考值 (S720),如果得分等于或大于预定的参考值(S720:是),则替换部分350通过 比较文本和意译存储部分340来搜索文本,以得到与任何第一注释相匹配的 注释(S730)。此后,替换部分350用与第一注释对应的第二注释来替换搜索 到的注释。替换部分350可以瞄准(target)文本中的所有单词作为用于替换的候选 者,并可将所有单词与第一注释相比较。可选地,替换部分350可以只瞄准 文本中的部分单词用于比较。优选地,即使当在部分句子中找到与第一注释匹配的注释时,替换部分350也不应该瞄准文本中的部分句子。例如,替换部分350不对含有固有名词和数值中的至少任何一个的句子替换任何注释, 但是对不含固有名词或数值的句子检索与第 一注释相匹配的注释。在句子中 含有数值和固有名词的情况下,往往需要在意思上更加严格的准确性。因此, 通过从用于替换的目标中排除这样的句子,能够防止替换部分350大量地改 变这样的句子的意思。为了使处理更加有效,替换部分350可以只将文本中的某个部分作为用 于替换的候选者与第一注释相比较。例如,替换部分350从开头顺序地扫描 文本,并顺序地选择被连续写在文本中的预定数量的单词的组合。在此,假 设文本含有单词A、 B、 C、 D和E,并且假设预定数量为3,则替换部分350 按这个顺序选择单词ABC、 BCD和CDE。然后,替换部分350计算指示与 所选择的组合对应的每个合成话音的不自然度的得分。更具体地,替换部分350把被包含在每个单词组合中的音素的连接边界 上的发音之间的差异程度相加。之后,替换部分350把这个总和除以被包括 在组合中的连接边界的数量,并如此计算在每个连接边界上的差异程度的平 均值。此外,替换部分350将合成话音与基于与被包括在组合中的每个音素 对应的读出方式的发音之间的差异程度相加,然后,通过把总和除以被包括 在组合中的音素数,以得到每个音素的差异程度的平均值。此外,替换部分 350计算每个连接边界的差异程度的平均值和每个音素的差异程度的平均值 的总和,作为得分。然后,替换部分350搜索意译存储部分340,以得到与 被包括在具有计算出的最大的得分的组合中的任何单词的注释相匹配的第一 注释。例如,如果在单词ABC、 BCD和CDE中BCD的得分最大,则替换部 分350选择BCD并检索在与任何第一注释相匹配的BCD中的单词。照此方式,能优先地瞄准最不自然的部分来进行替换,从而能够使整个 替换处理更有效。随后,判断部分330向合成部分310输入替换后的文本,以便合成部分 310进一步生成文本的语音数据,并让处理回到S700。另一方面,在得分小 于参考值的情况下(S720:否),显示部分335向用户示出替换了注释的该文 本(S740)。然后,判断部分330判断是否接收了允许在显示文本中的替换的 输入(S750)。在接收了允许替换的输入的情况下(S750:是),判断部分330 根据替换了注释的该文本来输出语音数据(S770)。相反,在接收了不允许替换的输入的情况下(S750:否),判断部分330根据替换前的文本来输出语音 数据而不管得分有多大(S760)。响应于此,输出部分370输出合成话音。图8示出了在由话音合成器系统10生成合成话音的处理中顺序生成的文 本的具体例子。文本1是文本"Bokuno sobano madono dehurosutao tuketekureyo (请打开靠近我的窗户的除霜器)"。尽管合成部分310根据此文本生成了语音 数据,但合成的话音仍然有不自然的声音,并且得分大于参考值(例如,0.55)。 通过用"dehurosut & (除霜器)"来替换"dehurosuta (除霜器)",生成了文本2。 由于文本2仍然具有大于参考值的得分,就用"tikaku(近的)"来替换"soba (近的),,,从而生成了文本3。此后,类似地,通过用"watasino (我),"来替 换"bokuno(我),,,用"c編ai(请)"来替换"kureyo (请)",并进一步用"kudasai (请),"来替换"ch6dai (请),,,生成了文本6。如在最后的替换中所示,已被替 换了 一次的单词能够再次用另 一个注释来替换。由于甚至文本6仍然具有大于参考值的得分,用"madono,(窗户)."来 替换单词"madono (窗户)"。照此方式,替换前的单词或替换后的单词(这就 是上述的第一和第二注释)每个都可以含有暂停标志(逗号)。此外,用 "dehogga(扫雾器)"来替换单词"dehurosuta(除霜器)"。因此生成的文本8 具有小于参考值的得分。因此,输出部分370根据文本8输出合成话音。图9示出了用作话音合成器系统10的信息处理设备500的硬件配置的例 子。信息处理设备500包括CPU外围单元,输入/输出单元和传统输入/输出 (legacy i叩ut/output)单元。CPU外围单元包括CPU 1000、 RAM 1020和图形 控制器1075,它们都通过主控制器1082彼此相连。输入/输出单元包括通信 接口 1030、硬盘驱动器1040和CD-ROM驱动器1060,它们都通过输入/输 出控制器1084与主控制器1082相连。传统输入/输出单元包括ROM 1010、 软盘驱动器1050和输入/输出芯片1070,它们全都与输入/输出控制器1084 相连。主控制器1082将RAM 1020连接到两者都以高传输率存取RAM 1020 的CPU 1000和图形控制器1075上。CPU 1000根据被存储在ROM 1010和 RAM 1020中的程序来操作,并控制每个组件。图形控制器1075获取在RAM 1020内提供的帧緩存器中、由CPU 1000等等生成的图像数据,并使所得到 的图像数据显示在显示器件1080上。可选地,图形控制器1075也可以内部 包括存储由CPU 1000等等生成的图像数据的帧緩存器。输入/输出控制器1084将主控制器1082连接到通信接口 1030、硬盘驱动 器1040和CD-ROM驱动器1060上,它们全都是速度较高的输入/输出器件。 通信接口 1030通过网络与外部器件通信。硬盘驱动器1040存储将被信息处 理设备500使用的程序和数据。CD-ROM驱动器1060从CD-ROM 1095读 取程序和数据,并将读出的程序和数据提供给RAM 1020或硬盘驱动器1040。此外,输入/输出控制器1084被连接于ROM 1010以及诸如软盘驱动器 1050和输入/输出芯片1070的速度较低的输入/输出器件。ROM 1010存储诸 如在信息处理设备500启动时由CPU 1000执行的引导程序的程序,以及与信 息处理设备500的硬件相关的程序。软盘驱动器1050从软盘1090读取程序 或数据,并通过输入/输出芯片1070将读出的程序或数据提供给RAM 1020或 硬盘驱动器1040。输入/输出芯片1070被连接于软盘驱动器1050以及具有例 如并行端口、串行端口、键盘端口、鼠标端口等等的各种输入/输出器件。由用户提供将被提供给信息处理设备500的程序,其中该程序被存储在 诸如软盘10卯、CD-ROM 1095和IC卡的记录介质中。通过输入/输出芯片 1070和/或输入/输出控制器1084从记录介质读取程序,并将其安装在信息处 理设备500上。然后,执行此程序。由于程序使信息处理设备500执行的操 作与参照图1到图8所述的话音合成器系统的操作相同,在此省略其说明。可以将上述的程序存储在外部存储介质上。除了软盘1090和CD-ROM 1095以外,将被使用的存储介质的例子是诸如DVD或PD的光记录介质以及 诸如MD、磁带介质的磁光记录介质,以及诸如IC卡的半导体存储器。可选 地,通过使用被提供在与私人通信网络或英特网相连的服务器系统中的诸如 硬盘和RAM存储器件作为记录介质,可以经由网络向信息处理设备500提 供程序。如上所述,通过顺序意译该注释到不大量地改变注释意思的程度,此实 施例的话音合成器系统10能够在文本中搜索到使音素段的组合听起来更自 然的注释,从而改善合成话音的质量。照此方式,即使当声音处理、诸如组 合音素的处理或改变频率的处理在质量的改善上有局限时,也能够生成质量 高得多的合成话音。通过使用在音素等等之间的连接边界上的发音之间的差 异程度来准确评估话音的质量。从而,能够准确判断是否要替换注释以及应 当替换文本中的哪个部分。上文中已用实施例说明了本发明。然而,本发明的技术范围并不限于上本发明的权利要求的范围来看,显然,如此修改和改善了的实施例被包含在 本发明的技术范围之中。
权利要求
1.一种用于生成合成话音的系统,该系统包括音素段存储部分,用于存储指示彼此不同的音素的声音的多个音素段数据块;合成部分,用于通过接收输入文本、读取与指示所述输入文本的发音的各个音素对应的音素段数据块、然后将读出的音素段数据块彼此相连,来生成代表所述文本的合成话音的语音数据;计算部分,用于根据所述语音数据来计算指示所述文本的合成话音的不自然度的得分;意译存储部分,用于存储作为多个第一注释的意译的多个第二注释,并将所述第二注释与各个所述第一注释关联;替换部分,用于搜索所述文本以找到与任何所述第一注释相匹配的注释,并用与所述第一注释对应的所述第二注释来替换搜索到的注释;以及判断部分,用于在计算出的得分小于预定的参考值的情况下,输出所生成的语音数据,并在所述得分等于或大于所述参考值的情况下,将所述文本输入到所述合成部分中,以便使所述合成部分进一步生成用于替换后文本的语音数据。
2. 根据权利要求l的系统,其中,所述计算部分计算在所述第一和第二 音素段数据块之间的边界上、在所述第一和第二音素段数据块之间的发音的 差异程度作为所述得分,其中,所述第一和第二音素段数据块被包含在所述 语音数据中并彼此相连。
3. 根据权利要求2的系统,其中,所述音素段存储部分存储代表每个音素的声音的基频和音调的数据块, 作为所述音素段数据块;以及所述计算部分计算在所述第一和第二音素段数据块之间的边界上、在所述第一和第二音素段数据块之间的基频和音调的差异程度作为所述得分。
4. 根据权利要求1的系统,其中, 所述合成部分包括单词存储部分,用于把多个单词中的每一个单词的读出方式与该单词的 注释相关联地存储;单词搜索部分,用于搜索所述单词存储部分以得到其注释与所述输入文 本中所包括的每个单词的注释相匹配的单词,并通过从所述单词存储部分中 读取与各个搜索到的单词对应的读出方式、并将这些读出方式彼此连接,来生成所述文本的读出方式;以及音素段搜索部分,用于通过从所述音素段存储部分中检索代表最接近于 根据所生成的读出方式确定的每个音素韵律的韵律的音素段数据块、然后将 检索到的多个音素段数据块彼此连接,来生成语音数据,以及所述计算部分计算根据所生成的读出方式确定的每个音素的韵律与对应 于每个音素而检索的所述音素段数据块所指示的韵律之间的差异,作为所述得分。
5. 根据权利要求l的系统,其中,所述合成部分包括 单词存储部分,用于把多个单词中的每一个单词的读出方式与该单词的注释相关联地存储;单词搜索部分,用于搜索所述单词存储部分以得到其注释与所述输入文 本中所包括的每个单词的注释相匹配的单词,并通过从所述单词存储部分中 读取与各个搜索到的单词对应的读出方式、并将这些读出方式彼此连接,来 生成所述文本的读出方式;音素段搜索部分,通过从所述音素段存储部分中检索代表最接近于根据 所生成的读出方式确定的每个音素音调的音调的音素段数据块、然后把检索 的多个音素段数据块彼此相连,来生成所述语音数据,以及所述计算部分计算根据所生成的读出方式确定的每个音素的音调与由对 应于每个音素而检索的所述音素段数据块所指示的音调之间的差异,作为所述得分。
6. 根据权利要求l的系统,其中,所述音素段存储部分预先得到目标语音数据、即用于生成合成话音的目 标说话人的语音数据,然后预先生成并存储代表所述目标语音数据中所包括 的多个音素的声音的多个音素段数据块;所述意译存储部分存储代表所述目标语音数据内容的文本中所包括的单 词的注释,作为多个第二注释中的每一个,以及所述替换部分用作为代表所述目标语音数据内容的文本中所包括的单词 的注释的所述第二注释之一来替换所述输入文本中所包括的、且与任何所述第一注释相匹配的注释。
7. 根据权利要求1的系统,其中,所述替换部分计算指示与被连续书写在所述输入文本中的预定数量的单 词的每个组合对应的合成话音的不自然度的得分,并搜索所述意译存储部分 以得到与具有如此计算出的最大得分的组合中所包括的单词的注释相匹配的 所述第一注释,并用所述第二注释替换所述单词的注释。
8. 根据权利要求1的系统,其中,所述意译存储部分还存储与第 一注释和作为所述第 一注释的意译的第二 注释的每个组合相关联的相似性得分,所述相似性得分指示在所述第一注释 和所述第二注释的意思之间的相似程度,以及在所述输入文本中所包括的注释与多个第 一注释中的每一个相匹配的情 况下,所述替换部分用与多个第一注释中具有最高相似性得分的一个注释对 应的所述第二注释来替换匹配的注释。
9. 根据权利要求1的系统,其中,所述替换部分不替换含有固有名词和数值中的至少任何一个的句子的注 释,而是搜索不含固有名词和数值中的任何一个的句子,以找到与任何所述 第 一注释相匹配的注释,并用与所述第 一注释对应的所述第二注释替换所找 到的注释。
10. 根据权利要求1的系统,进一步包括显示部分,用于在所述替换部 分替换注释的情况下,向用户显示替换了注释的文本,其中,还在接收了在显示的文本中的允许该替换的输入的情况下,所述判断部 分根据替换了注释的文本来输出语音数据,并且在没有接收到在显示的文本 中的允许该替换的输入的情况下,所述判断部分根据替换前的文本来输出语 音数据,而不管得分有多大。
11. 一种用于生成合成话音的方法,包括如下步骤 存储指示彼此不同的音素的声音的多个音素段数据块; 通过接收输入文本、读取与指示所述输入文本的发音的各个音素对应的所述音素段数据块、然后彼此连接所读出的音素段数据块,来生成代表所述文本的合成话音的语音数据;根据所述语音数据计算代表所述文本的合成语言的不自然度的得分; 存储作为多个第一注释的意译的多个第二注释,同时将所述第二注释与各个所述第一注释相关联;搜索所述文本以得到与任何所述第 一注释相匹配的注释,并用与所述第一注释对应的所述第二注释来替换搜索到的注释;以及在计算出的得分小于预定的参考值的情况下,输出所生成的语音数据, 并在所述得分等于或大于参考值的情况下,进一步生成合成话音,以便进一 步生成替换后文本的语音数据。
12. —种程序,允许信息处理设备用作生成合成话音的系统,该程序使 所述信息设备用作音素段存储部分,用于存储指示彼此不同的音素的声音的多个音素段数 据块;合成部分,用于通过接收输入文本、读取与指示所述输入文本的发音的 各个音素对应的音素段数据块、然后将读出的音素段数据块彼此相连,来生 成代表所述文本的合成话音的语音lt据;计算部分,用于根据所述语音数据来计算指示所述文本的合成话音的不自然度的得分;意译存储部分,用于存储作为多个第一注释的意译的多个第二注释,并 将所述第二注释与各个所述第一注释关联;替换部分,用于搜索所述文本以找到与任何所述第一注释相匹配的注释, 并用与所述第 一注释对应的所述第二注释来替换搜索到的注释;以及判断部分,用于在计算出的得分小于预定的参考值的情况下,输出所生 成的语音数据,并在所述得分等于或大于所述参考值的情况下,将所述文本 输入到所述合成部分中,以便使所述合成部分进一步生成用于替换后文本的 语音数据。
全文摘要
提供一种系统包括音素段存储部分,存储多个音素段数据块;合成部分,通过从音素段存储部分读取与代表输入文本的发音的各个音素对应的音素段数据块、然后将音素段数据块彼此相连,来生成代表文本的合成话音的语音数据;计算部分,根据语音数据来计算指示代表文本的合成话音的语音数据的不自然度的得分;意译存储部分,存储作为多个第一注释的意译的多个第二注释,并将第二注释与各个第一注释关联;替换部分,搜索文本以找到与任何第一注释相匹配的注释,并用与第一注释对应的第二注释来替换搜索到的注释;以及判断部分,在计算出的得分小于参考值的情况下,输出所生成的语音数据,并将替换后文本输入到合成部分中,以使合成部分进一步生成用于该文本的语音数据。
文档编号G10L13/04GK101236743SQ20081000376
公开日2008年8月6日 申请日期2008年1月22日 优先权日2007年1月30日
发明者立花隆辉, 西村雅史, 长野彻 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1