语音合成系统和语音合成方法

文档序号:2830854阅读:253来源:国知局
专利名称:语音合成系统和语音合成方法
技术领域
本发明涉及从文本合成语音的语音合成系统和语音合成方法。2. 现有技术描述文本至语音合成是从任意文本人工产生语音信号。文本至语音合成一 般通过三阶段来实施,即语言处理单元、韵律处理单元和语音合成单元。首先,语言处理单元对输入文本实施形态分析和语法分析等等。然后, 韵律处理单元实施音调和语调处理,输出音位串(phoneme string) /韵律 信息(韵律特征的信息(基频,时长或音位持续时间、功率等))。最后, 语音合成单元根据音位串(phoneme string) /韵律信息合成语音信号。因 此,在语音合成中所使用的语音合成方法必须能够产生具有任意韵律特征的任意音位符号串的合成语音。通常地,作为这种语音合成方法,下面的语音单元选择型语音合成方法是已知的。首先,这种方法将输入音位串分割为多个合成单元(合成单 元串)。针对输入音位串/韵律信息,该方法从预先为多个合成单元中的每 个存储的大量语音单元中选择语音单元。然后,通过在合成单元之间连接 所选择的语音单元,来合成语音。例如,在JP-A 2001 — 282278 ( KOKAI) 中所公开的语音单元选择型语音合成方法中,将在语音合成时所产生的语 音合成的变质程度表示为成本,并选择语音单元以使基于预定义成本函数 所计算的成本减少。例如,这种方法使用成本来量化在编辑和连接语音单 元时所引起的变形失真和连接失真,进而基于成本选择用于语音合成的语 音单元串。然后,该方法基于所选择的语音单元串来产生合成语音。在这种语音单元选择型语音合成方法中,为了改善声音质量,非常重要的是通过具有更多语音单元来准备各种语音环境和韵律特征的尽量多的 变型。然而,在成本(或价钱)方面,难于将大量语音单元数据完全存储 在具有高存取速度的昂贵存储介质(例如,内存器件)中。相反地,假如 大量语音单元数据完全存储在具有相对低的成本(或价钱)和低存取速度 的存储介质(例如,硬盘)中,则获得数据要耗费太多时间。这使得不可 能实施实时处理。语音单元数据的大小主要由波形数据所占据。在该情况下,有一种已 知方法,该方法在内存器件中存储具有高使用频率的波形数据并在硬盘中 存储其它波形数据,并且从开始连续地基于多个子成本来选择语音单元,取速度成本)。例如,在JP-A 2005 - 266010 (KOKAI)中所公开的方法 可能获得相当高的声音品质,因为其允许使用分布在内存和硬盘中的大量 语音单元。此外,由于这种方法优先选择其波形数据存储在具有高存取速 度的内存中的语音单元,因此相比于从硬盘获取全部波形的方法,该方法 可以缩短产生合成语音所需要的时间。尽管在JP-A 2005 - 266010 (KOKAI)中所^Hf的方法一般地说可以 平均缩短产生合成语音需要的时间,但可能的是,在特殊处理单元中可能 仅仅选择其波形数据存储在硬盘中的语音单元。这使得不可能适当控制每 个处理单元的产生时间的最坏值。在线合成语音并即时使用合成语音的语 音合成应用通常重复这样的操作,即通过使用音频器件回放针对给定处理 单元而产生的合成语音,并在回放期间产生针对下一处理单元的合成语音 (并将它发送给音频器件)。使用这个操作,在线生成且回放合成语音。在 这种应用中,如果在给定处理单元中合成语音的产生时间超过回放针对前 面处理单元的合成语音所花费的时间,则在处理单元之间出现声音中断。 这可能极大地使声音品质下降。因此,必需适当地控制每个处理单元产生 合成语音需要的时间的最坏值(worst value)。此外,才艮据JP-A 2005-266010 ( KOKAI)中所公开的方法,超过需要地选择其波形数据存储在内 存中的语音单元。这可能导致不能获得理想声音品质。在涉及从具有不同数据获取速度的存储介质中为合成单元串获取语音 单元数据的限制(例如,针对每个处理单元从硬盘获取数据的次数的上限 值)下,可利用的是选择涉及合成单元串的理想语音单元串的方法。这种 方法能够可靠地抑制每个处理单元的合成语音的产生时间的上限,并且能 够在预定产生时间内产生尽可能高声音品质的合成语音。通过考虑到上述限制的动态编程方法,有可能在上述限制下有效检索 理想语音单元。然而,如果有许多语音单元,则仍然需要非常多的计算时 间。因此,需要一种进一步加速处理的手段。具体地,相比于没有任何限 制的检索,在一些限制下的检索需要更多的计算量,进而尤其需要加速该 处理。作为加速手段,可以想到的是参考语音单元串的总成本作为评价参考 来实施束检索。在这种情况中,在通过动态编程方法顺序开发用于每个合 成单元的语音单元串的处理中,在开发语音单元串直至给定合成单元的时间点处,以总成本的升序选择w个语音单元串,并且只开发来自所选择的w个语音单元串的串用于下一合成单元。在上面限制下将这种方法应用到束检索时出现下面的问题。在顺序开 发语音单元串的前一半处理中,因总成本低,可能只选择这样的语音单元 串,其包含许多存储在低存取速度的存储介质中的语音单元。在这种情况 中,在后一半处理中,只允许选择存储在高存取速度的存储介质中的语音 单元来满足该限制。这个问题尤其出现在大多数语音单元存储在具有低存 取速度的存储介质中,而存储在具有高存取速度的存储介质中的语音单元 比例非常低的情况。因此,在所产生的合成语音中出现声音品质的不均衡, 导致声音品质整体变坏。发明内容依据本发明的一个方面,提供一种语音合成系统,该语音合成系统包 括分割单元,该分割单元被配置成将对应于目标语音的音位串分割为多个节段,来产生第一节段序列;选择单元,该选择单元被配置成基于第一节段序列通过组合多个语音单元来产生对应于第 一节段序列的多个第 一语音单元串并从所述多个第 一语音单元串中选择一个语音单元串;和连接单元, 该连接单元被配置成连接包含在所选择语音单元串中的多个语音单元,以 产生合成语音,该选择单元包括检索单元,该检索单元被配置成反复实施 第一处理和第二处理,该第一处理基于对应于笫二节段序列的最多W个 (W为预定值)第二语音单元串产生对应于第三节段序列的多个第三语音 单元串,所述第二节段序列作为第一节段序列中的部分序列,所述第三节 段序列作为通过将节段添加给第二节段序列而获得的部分序列,第二处理 从所述多个第三语音单元串中选择最多W个笫三语音单元串,第一计算单 元,该第一计算单元4皮配置成计算所述多个第三语音单元串中每个的总成 本,第二计算单元,该第二计算单元被配置成基于涉及语音单元数据获取速度的限制来为所述多个第三语音单元串中的每个计算对应于总成本的惩 罚系数,其中惩罚系数依赖于接近所述限制的程度,和第三计算单元,该 第三计算单元被配置成通过使用惩罚系数修正总成本来计算所述多个第三 语音单元串中每个的估计值,其中检索单元基于所述多个第三语音单元串 中每个的估计值从所述多个第三语音单元串中检索最多W个第三语音单 元串。附图的简要描述图l是显示依据实施例的文本至语音系统的配置例子的框图;图2是显示依据实施例的语音合成单元的配置例子的框图;图3是显示语音合成单元中的语音单元选择单元的配置例子的框图;图4是显示依据实施例的存储在第一语音单元存储单元中的语音单元的示例的浮见图;图5是显示依据实施例的存储在第二语音单元存储单元中的语音单元 的示例的一见图;图6是显示依据实施例的存储在语音单元特征信息存储单元中的语音 单元特征信息的示例的^见图;图7是显示依据实施例的用于语音单元的选择处理的示例的流程图; 图8是显示初步选择的语音单元候选的示例的视图; 图9是用于解释为节段i中的每个语音单元候选选#^音单元串的过 程的示例的^f见图;图IO是显示图7中的步骤S107中用于语音单元串的选择方法示例的 流程图;图ll是显示用于计算惩罚系数的函数的示例的视图;

图12是用于解释这样一个过程示例的视图,该过程通过使用惩罚系数 选择直至节段i的语音单元串;图13是用于解^^依据实施例通过使用惩罚系数选^i吾音单元串来获 得的效果的视图;和图14是用于解释依据实施例在语音单元编辑/连接单元中处理的视图。
具体实施方式
在下面,将参考附图中的视图详细描述本发明的实施例。 首先,将描述依据实施例的文本至语音系统。图1是显示依据实施例的文本至语音系统的配置例子的框图。文本至 语音系统包括文本输入单元1、语言处理单元2、韵律控制单元3和语音合 成单元4。语言处理单元2对从文^^入单元1输入的文本实施形态分析/ 语法分析,并将通过这些语言分析获得的语言分析结果输出给韵律控制单 元3。 一旦接收到该语言分析结果,韵律控制单元3基于语言分析结果实 施音调和语调处理,以从语言分析结果产生音位串(音位符号串)/韵律信 息,并将所产生的音位串/韵律信息输出给语音合成单元4。 一旦接收到该 音位串/韵律信息,语音合成单元4基于音位串/韵律信息产生语音波形,并 输出所产生的语音波形。在下面,将主要详细地描述语音合成单元4的配置和操作。图2是显示图1中的语音合成单元4的配置例子的框图。参考图2,语音合成单元4包含音位串/韵律信息输入单元41、第一语音单元存储单元43、第二语音单元存储单元45、语音单元特征信息存储单 元46、语音单元选择单元47、语音单元编辑/连接单元48和语音波形输出 单元49。语音合成单元4包含具有高存取速度(或高数据获取速度)的存储介 质(此后将称作高速存储介质)42和具有低存取速度(或低数据获M度) 的存储介质(此后将称作低速存储介质)44。如图2中所示,第一语音单元存储单元43和语音单元特征信息存储单 元46置于高速存储介质42中。参考图2,第一语音单元存储单元43和语 音单元特征信息存储单元46都存放在相同高速存储介质中。可替代地,它 们可放置在不同的高速存储介质中。此外,参考图2,第一语音单元存储 单元43存放在一个高速存储介质中。然而,第一语音单元存储单元43可 以存放在多个高速存储介质上。如图2中所示,第二语音单元存储单元45置于低速存储介质44中。 参考图2,第二语音单元存储单元45存放在一个低速存储介质中。然而, 第二语音单元存储单元45可以存放在多个低速存储介质上。在这个实施例中,高速存储介质将描述成允许相对高速存取的存储器, 例如内存或ROM,低速存储介质将描述成需要相对长存取时间的存储器, 例如硬盘(HDD)或NAND闪存(flash)。然而,该实施例不限于这些 组合,并可以使用任意组合,只要存储笫一语音单元存储单元43的存储介 质和存储第二语音单元存储单元45的存储介质包括这样的多个存储介质, 该多个存储介质具有各存储介质所独有的长及短数据获取时间。下面示例描述以下情况,在其中语音合成单元4包括一个高速存储 介质42和一个低速存储介质44,第一语音单元存储单元43和语音单元特 征信息存储单元46置于高速存储介质42中,第二语音单元存储单元45 置于低速存储介质44中。音位串/韵律信息输入单元41从韵律控制单元3接收音位串/韵律信息。第一语音单元存储单元43存储大量语音单元中的一些,第二语音单元 存储单元45存储大量语音单元中的剩余部分。语音单元特征信息存储单元46存储用于分别存储在第一语音单元存 储单元43和第二语音单元存储单元45中的各语音单元的语音/韵律环境、 关于语音单元的存储信息等。所述存储信息是指示相应于每个语音单元的语音单元数据存储在哪个存储介质(或者在哪个语音单元存储单元)中的信息。语音单元选择单元47从存储在第一语音单元存储单元43和第二语音 单元存储单元45中的语音单元中选择语音单元串。语音单元编辑/连接单元48通过变形和连接由语音单元选择单元47选 择的语音单元来产生合成语音波形。语音波形输出单元49输出由语音单元编辑/连接单元48所产生的语音 波形。这个实施例允许在外部指定"涉及语音单元数据获取的限制"(图2 中的"50")给语音单元选择单元47。为了产生合成语音,语音单元编辑 /连接单元48需要从第 一语音单元存储单元43和第二语音单元存储单元45 获得语音单元数据。"涉及语音单元数据获取的限制"(此后将缩写为数据获取限制)为在语音单元编辑/连接单元48实施上面获取时要满足的限 制(例如,涉及数据获取速度或数据获取时间的限制)。图3显示图2中语音合成单元4中的语音单元选择单元47的配置例子。 如图3中所示,语音单元选择单元47包含分割单元401、检索处理单 元402、估计值计算单元403、成本计算单元404和惩罚系数计算单元405。 下一步,将详细描述图2中的每个图框。音位串/韵律信息输入单元41将从韵律控制单元3中输入的音位串/韵 律信息输出给语音单元选择单元47。音位串例如为音位符号串。韵律信息 包含例如基频、持续时间、功率等。输入给音位串/韵律信息输入单元41 的音位串和韵律信息将分别称为输入音位串和输入韵律信息。大量语音单元预先存储在第一语音单元存储单元43和第二语音单元 存储单元45中,作为在产生合成语音的情况下使用的语音单元(合成单 元)。每个合成单元为通过分割音位(例如,半音素(semiphone)、单音素(monophone) (C, V)、双音素(diph one) (CV, VC, W)、 三 音素(triphone) (CVC, VCV)、音节(CV, V)等等(V-元音,C = 辅音),并可能具有可变长度(例如在它们混合时))获得的音位或节段 的组合。每个语音单元代表对应于合成单元的语音信号波形、表示该波形 的特征的^t序列等等。图4和5分别显示存储在第一语音单元存储单元43的语音单元的例子 和存储在第二语音单元存储单元45的语音单元的例子。参考图4和5,第一语音单元存储单元43和第二语音单元存储单元45 将语音单元存储为相应音位的语音信号的波形数据,连同用于识别该语音 单元的单元号码。通过基于音位将标签分配给单独记录的许多语音数据且 依据该标签提取用于每个音位的语音波形,来获得这些语音单元。此外,在这个实施例中,作为有声语音的语音单元,保持通过将提取 的语音波形分解为音调(pitch)波形单元而获得的音调波形序列。音调波形 为相当短的波形,其是语音的基本周期的几倍长且自身没有基本周期。这 个音调波形频f昝表示语音信号的频镨包络。作为提取这种音调波形的方法, 可利用的是使用基本周期同步窗口的方法。假定要使用通过这种方法预先 从记录的语音数据中提取的音调波形。更具体地,将标志(音调标志)以 基本周期间隔分配给为每个音位提取的语音波形,并以音调标志为中心, 通过其窗口长度为基本周期两倍的汉宁窗过滤该语音波形,从而提取音调 波形。语音单元特征信息存储单元46存储对应于存储在第一语音单元存储 单元43和笫二语音单元存储单元45中的各语音单元的语音/韵律环境。语 音/韵律环境为相应语音单元的构成环境的因素组合。该因素包含,例如音 位名称、上一音位、后续音位、第二后续音位、基频、持续时间、功率、 重音存在/没有、3巨离调核(accent nucleus )的位置、距离呼吸停顿的时间、 讲话速度、情绪以及感兴趣的语音单元的类似其他因素。语音单元特征信 息存储单元46还存储语音单元的声学特征中用于选择语音单元的数据,例 如语音单元开始和结束处的倒语(cepstral)系数。语音单元特M储单元46进一步存储指示高速存储介质42和低速存储介质44中的哪一个存储每 个语音单元数据的信息。存储在语音单元特征信息存储单元46中的语音/韵律环境、声学特征 量和每个语音单元的存储信息将一般地被称为语音单元特征信息。图6显示存储在语音单元特征信息存储单元46中的语音单元特征信息 的示例。在图6中的语音单元特征信息存储单元46中,相应于存储在第一 语音单元存储单元43和第二语音单元存储单元45中的各语音单元的单元 号码来存储各种类型的语音单元特征。在图6中所示的示例中,作为语音/ 韵律环境存储的信息包含对应于语音单元的音位(音位名称)、相邻音位 (在这个示例中感兴趣的音位的两个上一音位和两个后续音位)、基频和持 续时间。语音单元开始和结束处的倒谦(cepstral)系数作为声学特征量被 存储。存储信息表示高速存储介质(图6中的F)和低速存储介质(图6 中的S)中的哪一个存储每个语音单元的数据。注意的是,这些语音单元特征通过分析该语音单元被提取所基于的语 音数据而提取。图6显示用于语音单元的合成单元为音位的情况。然而, 合成单元可以是半音素、双音素、三音素、音节和它们的组合,它们可能 具有可变长度。下面,将详细描述图2和3中的语音合成单元4的操作。语音单元选择单元47中的分割单元401将经由音位串/韵律信息输入 单元41输入给语音单元选择单元47的输入音位串分割为合成单元。每个 分割的合成单元将称为节段。语音单元选择单元47中的检索处理单元402基于输入音位串和输入韵 律信息查询语音单元特征信息存储单元46,并为音位串中的每个节段选择 语音单元(或语音单元的ID)。在这种情况中,检索处理单元402在外部 指定的数据获取限制下选择语音单元的组合,以最小化通过使用所选择的 语音单元而获得的合成语音和目标语音之间的失真。下面解释以下情况,在其中将从存放在低速存储介质的第二语音单 元存储单元45中获取语音单元数据的次数上限值用作数据获取限制。在这种情况中,如在一般语音单元选择型语音合成方法的情况中一样 使用成本作为语音单元的选择标准。这个成本代表合成语音相对于目标语 音的失真程度。成本基于成本函数来计算。定义了间接而正确表示合成语 音和目标语音之间失真的信息作为成本函数。首先,将描述成本和成本函数的细节。成本分类为两类成本,即目标成本和连接成本。在目标语音/韵律环境 中使用语音单元作为成本计算目标(目标语音单元)时,产生目标成本。 在目标语音单元与相邻语音单元相连接时,产生连接成本。目标成本和连接成本分别包括用于每个失真因素的子成本。对于相应于每个因素的每个子成本,定义子成本函数Cn ( up tj) (n = l,…,N, 其中N为子成本数)。在这种情况中,tj表示在目标语音/韵律环境由t = U,……,tj (I:节段数)来表示时对应于第i节段的语音/韵律环境,Ui 表示对应于第i节段的音位的语音单元。目标成本中的子成本包括基频成本,其表示由语音单元的基频和目标 基频之间差异所引起的失真,持续时间成本,其表示由语音单元的持续时 间和目标持续时间之间差异所引起的失真,以及语音环境成本,其表示由 语音单元所属于的语音环境和目标语音环境之间差异所引起的失真。下面是每个成本的计算方法的具体例子。首先,基频成本可以由下式计算q (ui, ui—i, ti) - u。g(f(Vi)) -—(f(ti川2其中Vj表示用于语音单元Ui的语音环境,f表示用于从语音环境Vi中提取平均基频的函数。持续时间成本可以由下式计算C2 (ui, Ui—lf ti) = {g(Vi) -g(ti)}2 ...(2)其中g表示用于从语音环境Vi中提取持续时间的函数。语音环境成本可以由下式计算C3 (Ui, ti) = £ rvd(p(Vi, j) -p(t" j)) …(3)在这种情况中,在其中5>]" rj ■ d(p(Vj, j)-p(ti, j))求和的j的范围为j=-2至2(』为整数),j表示音位相对于目标音位的位置,p表示用于从 语音环境Vi中提取与相对位置j相邻的音位的函数,d表示用于计算两个 音位间距离(音位间特征的差异)的函数,rj表示相对于相对位置j的音 位间距离的权重。此外,d返回从"0"至"1"的数值。例如,在具有相 同特征的音位之间,d返回"0",在具有不同特征的音位之间,d返回"1"。连接成本的子成本包括例如频i普连接成本,该频镨连接成本表示在语 音单元边界处频谱差异。频谱连接成本可以由下式计算<formula>formula see original document page 17</formula> 4)其中|| ■ ll表示范数,hpre表示用于在语音单元Uj的前侧连接边界处将 倒谱系数作为向量提取的函数,hp。st表示用于在语音单元Ui的后侧连接边 界处将倒i普系数作为向量提取的函数。这些子成本函数的加权求和可以由下式定义为合成单元成本函数<formula>formula see original document page 17</formula> 5)在这种情况中,在其中2^twn Cn(Ui, uw, ti)求和的n的范围为n-1至N (n为整数),以及Wn表示子成本间的权重。方程式(5)为用于计算合成成本的方程式,所述合成成本为在给定语 音单元用作给定合成单元时所产生的成本。根据上面给出的方程式(5),语音单元选择单元47中的成本计算单 元404为通过将输入音位串分割为合成单元而获得的多个节段中的每个计 算合成单元成本。语音单元选择单元47中的成本计算单元404可以计算总成本TC,该总成本TC是为所有节段计算的合成单元成本的总和,<formula>formula see original document page 17</formula>6)在这种情况中,在其中:s对(c(Ui, Ui-p ti))p求总和的i的范围为i=i 至i (i为整数),以及p为常数。为了简化,假定p-i。在p-i时,总成本表示对各自合成单元成本的 筒单求和。总成本表示合成语音相对于目标语音的失真,所述合成语音基于针对输入音位串所选择的语音单元串而产生。选#^音单元串以减少总 成本使得有可能产生具有相对于语音单元带有很小失真的声音品质的合成语音。注意的是,方程式(6)中的值p可以不同于l。如果将值p设定为大 于1,则局部具有高合成单元成本的语音单元串被强调。这使得难于选择 局部具有高合成单元成本的语音单元串。下面,将描迷语音单元选择单元47的具体操作。图7是显示一种处理的示例的流程图,通过该处理,语音单元选择单 元47中的检索处理单元402选择理想的语音单元串。理想的语音单元串是 在外部指定的数据获取限制下使总成本最小化的语音单元的组合。如由上面给出的方程式(6)所指示,由于总成本可以递归计算,因此 有可能通过使用动态编程方法来有效地检索理想的语音单元串。首先,语音单元选择单元47从在语音单元特征信息存储单元46中列 举的语音单元中为输入音位串中的每个节段选择多个语音单元候选(步骤 S101)。在这种情况中,对于每个节段,可以选择对应于该音位的所有语 音单元。然而,在下面处理中的计算量以下面方式减少。也就是,在上面 成本中,通过使用输入目标语音/韵律环境,只计算对应于每个节段音位的 每个语音单元的目标成本。以计算出的目标成本的增加顺序,仅仅为每个 节段顺序选择上面C个语音单元,所选择的C个语音单元被设置为该节段 的语音单元候选。这种处理一般称为初步选择。参考图8, "aNsaa"在日语中表示"回答"。对应于文本"aNsaa" 的输入音位串包括"a" 、 "N" 、 "s" 、 "a,,和"a"。图8显示在图7 的步骤S101的初步选择中为输入音位串"a" 、 "N" 、 "s" 、 "a"和 "a"中的每个元素选择五个语音单元的示例。在这种情况中,在每个节段 (这个例子中的音位"a" 、 "N" 、 "s,, 、 "a"和"a"中的每一个)下 面排布的白圏表示对应于每个节段的语音单元候选。此外,白圏中的符号 F和S每个表示每个语音单元数据的存储信息。更具体地,F表示语音单 元数据存储在高速存储介质中,S表示语音单元数据存储在低速存储介质中。如果在步骤S101的初步选择中仅仅选择其语音单元数据存储在低速存储介质中的语音单元候选,则可能不满足外部指定的数据获取限制。因 这种原因,在数据获取限制在外部指定时,必须从其语音单元数据存储在 高速存储介质中的语音单元中为每个节段选择至少 一个语音单元候选。假定在这种情况中,依据数据获取限制来确定为一个节段选择的语音 单元候选中其语音单元数据存储在高速存储介质中的语音单元候选的最低比例。假定L表示输入音位串中的节段数,数据获取限制为"从存放在低 速存储介质中的第二语音单元存储单元45中获取语音单元数据的次数的 上限值为M(M〈L)的限制"。在这种情况中,最低比例为(L-M)/2L。 图8显示I^5且M-2的情况。参考图8,对于每个节段,选择两个或更多 个其语音单元数据存储在高速存储介质中的语音单元候选。注意的是,上 面数值"(L-M) /2L"为示例,进而上面最低比例不限于该值。语音单元选择单元47对计数器i设定为1 (步骤S102 ),并对计数器 j设定为l (步骤S103)。然后,该处理前进至步骤S104。注意的是,i表示单元号码,其在图8中的情况中从左顺序标示为1、 2、 3、 4和5, j表示语音单元候选号码,其在图8中的情况中从上顺序标 示为1、 2、 3、 4和5。在步骤S104中,语音单元选择单元47在直至节段i的第j语音单元候 选Ui, j的语音单元串中选择满足数据获取限制的一或多个理想语音单元串。 更具体地,语音单元选择单元47从这样的语音单元串中选择一或多个语音单元串,所述这样的语音单元串是通过将语音单元候选Uj,j与被选择为语音单元串的、直至前一节段i-l的每个语音单元串pw,,、 pw,2........ pw,w(其中w为束宽度)相连接而所产生。图9显示i=3、 j =1且W=5的情况。图9中的实线指示一直选择至前一节段(i=2)的五个语音单元串pw、 p2,2........ p2,5,虛线指示在其中通过连接语音单元候选uu与这些语音单元串中的每一个产生五个新的语 音单元串的状态。在步骤S104中,语音单元选择单元47首先核查新产生的语音单元串 是否满足数据获取限制。如果有任何不满足数据获取限制的语音单元串, 则将该语音单元串去除。在图9中的情况中,从语音单元串P2,4延续至语 音单元候选ii3j的新语音单元串(图9中的"NG,,)包括三个其语音单元 数据存储在低速存储介质中的语音单元。这个数超过上限值M( - 2),去 除这个语音单元串。然后,语音单元选择单元47促使成本计算单元404计算上面新的语音 单元串中没有被去除而留下的每个语音单元串候选的总成本。语音单元选 择单元47选择具有小的总成本的语音单元串。可以如下计算总成本。例如,从语音单元串P2,2延续至语音单元候选 u3, !的语音单元串的总成本可以通过将语音单元串p2,2的总成本、语音单元候选U2, 2和语音单元候选U3, !之间的连接成本和语音单元候选U3,,的目标成本才目力口而"H"算。如果没有数据获取限制,对于每个语音单元候选,将选择的语音单元 串的数目可以为一,也就是, 一个理想语音单元串(即选择一种类型的理 想语音单元串)。如果指定数据获取限制,则为每个不同的"包括在语音 单元串中且其语音单元数据存储在低速存储介质中的语音单元号码"选择 理想语音单元串(即,在这种情况中,有时选择多种类型的理想语音单元串)。例如,在图9中的情况中,从延续至语音单元候选U3,!的语音单元串中选择包含两个s的语音单元串中的一个理想串和包含一个s的语音单元串中的一个理想串(在这种情况中总共选择两个语音单元串)。这防止 了通过在上面的数据获取限制下去除语音单元候选而完全消除对延续通过 给定语音单元候选的语音单元串进行选择的可能性。然而,不值得保留如下的语音单元串,所述如下语音单元串包含在这 种语音单元串中且其存储在低速存储介质中的语音单元数据在数量上大于 包含在延续至语音单元候选的理想序列(其总成本在所有语音单元串中是 最小的)中的语音单元数据。因此,去除这种语音单元串。此外,在对延续至后续语音单元的限制没有改变时,甚至将其语音单元数据存储在低速存储介质中的不同数量语音单元处理为相同数量。假定L-5和M-2。在这种情况中,如果1 = 4,则其存储在低速存储介质中的语 音单元数量分别为0和1的两语音单元串不受限制的影响。因此,没有包 含S的语音单元串和仅仅包含一个S的语音单元在S的数量方面互相没有 区别。随后,语音单元选择单元47确定计数器j的值是否小于为节段i选择 的语音单元候选数N(i)(步骤S105)。如果计数器j的值小于N(j)(步骤 S105的是),则计数器j的值增加一 (步骤S106 )。处理返回至步骤S104。 如果计数器j的值等于或大于N(j)(步骤S105的否),则处理前进至步骤 S107。在步骤S107中,语音单元选择单元47从为节段i选择的每个语音单 元候选的所有语音单元串中选择对应于束宽W的W个语音单元串。实施 这种处理,通过依据束宽在下一节段处限制受到假设延续影响的串范围, 极大地减少了串检索中的计算量。这种处理通常称作束检索。这种处理的 细节将在后面进行描述。然后,语音单元选择单元47确定计数器i的值是否小于对应于输入音 位串的节段的总数L (步骤S108)。如果计数器i的值小于L (步骤S108 的是),则计数器i的值增加一 (步骤S109)。处理回到步骤S103。如果 计数器i的值等于或大于L (步骤S108的否),则处理前进至步骤SllO。一旦在被选择为延续至最后节段L的语音单元串的所有语音单元串中 选择了展现最小总成本的一个,语音单元选择单元47结束该处理。下面,将描迷图7中步骤S107的处理的细节。实施一般的束检索,以检索到的串的估计值(这个实施例中的总成本) 的降序来选择在数量上对应于束宽的串。然而,如果如同在这个实施例中 一样存在数据获取限制,则当以总成本的降序筒单地选择数量上对应于束 宽的语音单元串时会出现下面的问题。图7中步骤S102至S109中的处理 为下述处理从最左节段至最右节M续假设的语音单元串,同时保留极 可能最后成为理想语音单元串的对应于束宽的语音单元串。假定在这种处理中,在完成对于第一半的节段的处理时,仅仅包含其语音单元数据存储 在低速存储介质中的语音单元的语音单元串留在波束中。在这种情况中, 在对第二半的节段进行处理时,仅仅可以选择其语音单元数据存储在高速存储介质中的语音单元。在其语音单元数据存储在高速存储介质中的语音 单元的比例很低时,这个问题尤其引人注意。这是因为,当语音单元串包 括其语音单元数据存储在高速存储介质中的具有小变化的更多语音单元 时,总成本增加。在这种问题出现时,所产生的合成语音的声音品质变得 不均衡,导致声音品质的整体下降。因此,这个实施例通过以下面方式在图7中的步骤S107的选择中引入 惩罚避免了这种问题。考虑包含在语音单元串中且其语音单元数据存储在 低速存储介质中的语音单元的比例。如果给定语音单元串的这种语音单元 的比例超过考虑数据获取限制所设定的参考时,则对语音单元串施加惩罚, 以使难于选择该语音单元串。在下面,将描述图7中步骤S107中的具,作。 图10是显示图7中的步骤S107中^Mt的示例的流程图。 首先,语音单元选择单元47确定用于根据感兴趣节段的位置i、对应 于输入音位串的总节段数L和数据获取限制来计算惩罚系数的函数(步骤 S201)。在后面将描述确定惩罚系数计算函数的方式。然后,语音单元选择单元47确定所选择用于节段i的每个语音单元候 选的语音单元串的总数N是否大于束宽W (步骤S202)。如果N等于或 小于W (即,所有语音单元串落入在该波束内),则结束所有处理(步骤 S202中的否)。如果N大于W,则处理前进至步骤S203 (步骤S202中 的是),以在计数器n中设定l。然后,该处理前进至步骤S204。在步骤S204中,对于延续至节段i的语音单元串的第n语音单元串Pi,n, 语音单元选择单元47对包含在语音单元串中且其语音单元数据存储在低 速存储介质中的语音单元的数量进行计数。惩罚系数计算单元405通过使 用在步骤S201中确定的惩罚系数计算函数根据这个计数计算对应于语音 单元串Pi,n的惩罚系数(步骤S205)。此外,估计值计算单元403根据语音单元串Pi,n的总成本和在步骤S205中获得的惩罚系数计算语音单元串 Pi,n的束估计值(步骤S206)。在这种情况中,通过将总成本和惩罚系数 相乘来计算束估计值。注意的是,所使用的束估计值计算方法不限于这种。 使用任意方法都可以,只要该方法能够根据总成本和惩罚系数来计算束估 计值。语音单元选择单元47确定计数器n的值是否大于束宽W(步骤S207 )。 如果n大于W,则处理前进至步骤S208 (步骤S207中的是)。如果n等 于或小于W,则处理前进至步骤S211 (步骤S207中的否)。在步骤S208中,语音单元选择单元47在感兴趣的步骤S208的开始处 剩下没有被去除的语音单元串(剩余语音单元串)中检索具有最大束估计 值的语音单元串,并确定语音单元串Pi,n的束估计值是否小于该最大值。 如杲语音单元串Pi,n的束估计值小于最大值(步骤S208中的是),则具有 最大束估计值的语音单元串从剩M音单元串中删除(步骤S209),处理 前进至步骤S211。如果语音单元串pi,n的束估计值等于或大于最大值(步 骤S208中的否),则删除语音单元串Pi,n (步骤S210),处理前进至步骤 S211。在步骤S211中,语音单元选择单元47确定计数器n的数值是否小于 为节段i的每个语音单元候选选择的语音单元串的总计数N。如果计数器n 的数值小于总计数N(步骤S211中的是),则计数器n的数值增加一(步 骤S212),处理回到步骤S204。如果n等于或大于N(步骤S211中的否), 则处理终止。下一步,将描述步骤S201中确定惩罚系数计算函数的方式。 图11显示惩罚系数计算函数的示例。这个例子是用于才艮据其语音单元 数据存储在低速存储介质中的语音单元在语音单元串中的比例x来计算惩 罚系数y的函数。这个函数具有下面特征。M/L表示可以从低速存储介质 中获得的语音单元(M)与输入音位串的所有节段(L)的比。在比例x 落入M/L或更小的范围时,惩罚系数y为l (即没有惩罚)。在比例x超 过M/L时,惩罚系数y单调增加。这使得相对难于选择其选自低速存储介质的语音单元比例(x)超过限制(M/L)的语音单元串。另一方面,这4吏 得相对容易选择上述比例(x)落入该限制(M/L)的语音单元串。这种函数的另一特征在于,通过感兴趣节段的位置i和总阶段数L之 间关系来确定单调增加的曲线部分的斜率。例如,由a(i,L^I /M(L-i)来确 定斜率。在这种情况中,当剩余节段数减少时,斜率变得更陡峭。这指示, 当剩余节段数减少时,所述限制对于选#^吾音单元串的自由度的影响程度 增加,因此惩罚效果相应于限制的影响程度的增加而增加。参考图12和13,将在原理上描述通过使用束估计值实施束检索获得 的效果,所述束估计值通过使用以上面方式确定的惩罚系数计算函数来计 算得到。考虑这样的情况,其中节段数L为5,束宽W为3,存储在低速存储 介质中的语音单元获取次数的上限值M为2。图12显示在为第三节段选择对应于各语音单元候选(图12中的Uw至U3,s)的理想语音单元串(图12中的pw至p3,7 )之后在紧接着要为第三节段(图12中的"s")选择对 应于束宽的语音单元串的处理(图7中的步骤S107)之前的状态。图12 中的实线指示直至第二节段"N"的所选择的剩^i吾音单元串,虚线指示 为第三节段"s,,中的每个语音单元候选选择的语音单元串。图13显示在 为第三节段"s"的各语音单元候选选择的每个语音单元串中其语音单元数 据存储在低速存储介质中的语音单元的数量(低速存储介质中的语音单元 数据的数量)、每个语音单元串的总成本、每个语音单元串的惩罚系数和 每个语音单元串的束估计值。此外,参考图13,由使用总成本选择对应于 束宽的语音单元串的常规方法来选择的这些语音单元串的每一个由圆圈来 指示,由使用束估计值选择对应于束宽的语音单元串的本实施例中的方法 来选择的每个语音单元串由圆圏来指示。在这种情况中,使用总成本的选 择将仅仅选择其存储在低速存储介质中的语音单元数量达到上限的语音单 元串。这仅仅允许为后续节段选择存储在高速存储介质(F)中的语音单 元候选。因此,最终的声音品质可能极大地变差。另一方面,使用束估计 值还将选择其存储在低速存储介质中的语音单元数量小于上限的语音单元串,尽管其在总成本中略孩i处于劣势。这能够防止最终声音品质极大地变 差,进而可以以良好均衡方式从高速存储介质和低速存储介质中选择语音 单元。使用上面方法,语音单元选择单元47选择对应于输入音位串的语音单 元串,进而将它们输出给语音单元编辑/连接单元48。通过依据输入韵律信息将从语音单元选择单元47传递来的每个节段 的语音单元变形和连接,语音单元编辑/连接单元48产生合成语音的语音波。图14是用于解释在语音单元编辑/连接单元48中的处理的视图。图14 显示以下情况,在其中通过将由语音单元选择单元47选择的、对应于音位 "a" 、 "N" 、 "s,, 、 "a,,和"a"的M成单元的语音单元变形和连接 来产生语音波"aNsaa"。在这种情况中,有声语音的语音单元由音调波 序列来表达。另一方面,无声语音的语音单元直接从记录的语音数据中提 取。图14中的虚线表示依据目标持续时间来分段的各音位节段的边界。白 三角形表示依据目标基频排列的、叠加各音调波的位置(音调标识)。如 图14中所示,对于有声语音,语音单元中的各音调波叠加在相应音调标识 上。对于无声语音,依据节段长度延续/缩短的语音单元的波叠加在节段上, 从而产生具有想要的韵律特征(这种情况中的基频和持续时间)的语音波。如上所述,依据本实施例,可以在关于从具有不同数据获取速度的各 存储介质中获取语音单元数据的限制下,快速正确地为合成单元串选#^ 音单元串。依据上面描述,数据获取限制为从存放在低速存储介质中的语音单元 存储单元中获取语音单元数据的次数的上限值。然而,这种数据获取限制 可以是在语音单元串中获取所有语音单元数据(包括来自高速和低速存储 介质中的那些)所需要的时间的上限值。在这种情况中,语音单元选择单元47预测在语音单元串中获取语音单 元数据需要的时间,并选择语音单元串,以使预测值没有超过上限值。在 这种情况中,有可能通过如下方法预测获取语音单元数据所需的时间,所述方法例如,通过从高速和低速存储介质的每一个的一次存取,提前获得 获取具有给定大小数据需要的时间的统计,进而使用该获得的统计。最简 单地,通过累积每个存储介质的每次存取的数据获取时间的最大值和从每 个高速及低速存储介质所获取的语音单元数的乘积,获得获取所有语音单 元所需时间的最大值,该获得数值可以用作预测值。如上所述,在数据获取限制为"在语音单元串中获取所有语音单元数 据所需的时间的上限值"且通过使用在语音单元串中获取语音单元数据所 需时间的预测值来选择语音单元串时,通过使用在语音单元串中获取语音单元数据所需时间的预测值来计算由语音单元选择单元47实施的束检索 中的惩罚系数。可以将惩罚系数计算函数设置为,在直至节段的语音单元 串中获取语音单元数据所需时间的预测值P落入给定阈值范围内或更少 时,惩罚系数为l,在预测值P超过该阈值时惩罚系数单调增加。例如, 可以根据Uxi/L计算阈值,其中L为输入音位串的节段的总数,U是获取 所有语音单元数据所需时间的上限值,i是该节段的位置。在本例中使用的 惩罚系数计算函数可以具有,例如,与图11中所示的相同形式。注意的是,上述每个函数可以通过将其描述为软件,并促使具有合适 机能的计算机来处理该软件而实施。此外,这个实施例可以实施为一程序,该程序使计算机执行预定过程、 使计算机起到预定装置的作用或者使计算机实施预定功能。此外,该实施例可以实施为在其上记录所述程序的计算机可读记录介质。
权利要求
1. 一种语音合成系统,其包括分割单元,其被配置成将对应于目标语音的音位串分割为多个节段,来产生第一节段序列;选择单元,其被配置成基于第一节段序列通过组合多个语音单元产生对应于第一节段序列的多个第一语音单元串,并从所述多个第一语音单元串中选择一个语音单元串;和连接单元,其被配置成连接包含在所选择语音单元串中的多个语音单元,以产生合成语音,选择单元包括检索单元,其被配置成反复实施第一处理和第二处理,该第一处理基于对应于第二节段序列的最多W个(W为预定值)第二语音单元串产生对应于第三节段序列的多个第三语音单元串,所述第二节段序列作为第一节段序列中的部分序列,所述第三节段序列作为通过将节段添加给第二节段序列而获得的部分序列,第二处理从所述多个第三语音单元串中选择最多W个第三语音单元串,第一计算单元,其被配置成计算所述多个第三语音单元串中每个的总成本,第二计算单元,其被配置成基于涉及语音单元数据获取速度的限制来为所述多个第三语音单元串中的每个计算对应于总成本的惩罚系数,其中惩罚系数依赖于接近所述限制的程度,和第三计算单元,其被配置成通过使用惩罚系数修正总成本来计算所述多个第三语音单元串中每个的估计值,其中检索单元基于所述多个第三语音单元串中每个的估计值从所述多个第三语音单元串中选择最多W个第三语音单元串。
2、 依据权利要求l的系统,进一步包括第一存储单元,其包含分别具有不同数据获取速度的多个存储介质,该多个存储介质分别存储多个语音单元;和第二存储单元,其被配置成存储指示每个语音单元存储在所述多个存储^h质中的哪一个的信息,并且其中连接单元进一步被配置成在连接多个语音单元之前依据所述信息 从第一存储单元中获取多个语音单元,以及其中第二计算单元被配置成基于限制和统计为所述多个第三语音单元 串中的每个计算惩罚系数,所述限制是在由连接单元从第一存储单元中获 取包含在第 一语音单元串中的语音单元时要满足的涉及数据获取速度的限 制,所述统计依赖于包含在第三语音单元串中的所有语音单元中的每个存 储在所述多个存储介质中的哪一个而确定。
3、 依据权利要求2的系统,其中所述多个存储介质包括具有高数据获取速度的存储介质和具有低数据 获取速度的存储介质,以及所述限制是从具有低数据获M度的存储介质中获取包含在第一语音 单元串中的语音单元数据的次数的上限值,所述统计是存储在具有低数据 获取速度的存储介质中的语音单元数与包含在第三语音单元串中的语音单 元数的比例。
4、 依据权利要求2的系统,其中所述多个存储介质包括具有高数据获取速度的存储介质和具有低数据 获取速度的存储介质,以及所述限制是从第一存储单元中获取包括在第一语音单元串内的所有语 音单元数据的所需时间的上限值,所述统计是从第 一存储单元中获取包含 在第三语音单元串中的所有语音单元数据的所需时间的预测值。
5、 依据权利要求2的系统,其中在所述统计超过由所述限制所确定的 阈值时,惩罚系数单调增加。
6、 依据权利要求5的系统,其中在惩罚系数单调增加时,随着包含在 第三语音单元串中的语音单元数与包含在第 一语音单元串中的语音单元数 的比例的增加,惩罚系数的增加相对于统计的增加的斜率变得更陡哨。
7、 依据权利要求l的系统,其中通过将下一节段添加给第二节段序列, 来获得第三节段序列,其中所述下一节段定位在与对应于第二节段序列的 第一节段序列的一部分相邻的位置上。
8、 依据权利要求7的系统,其中通过将对应于下一节段的语音单元添 加给第二语音单元串,产生第三语音单元串。
9、 一种语音合成方法,其包括将对应于目标语音的音位串分割为多个节段,来产生第一节段序列;基于第一节段序列通过组合多个语音单元产生对应于第一节段序列的 多个第一语音单元串,并从所述多个笫一语音单元串中选择一个语音单元串;和连接包含在所选择语音单元串中的多个语音单元,以产生合成语音, 所述产生/选择包括反复实施第一处理和笫二处理,该笫一处理基于对应于第二节段序列 的最多W个(W为预定值)第二语音单元串产生对应于第三节段序列的多 个第三语音单元串,所述第二节段序列作为第 一节段序列中的部分序列, 所述笫三节段序列作为通过将节段添加给第二节段序列而获得的部分序 列,该第二处理从所述多个第三语音单元串中选择最多W个第三语音单元串,计算所述多个第三语音单元串中每个的总成本,基于涉及语音单元数据获取速度的限制来为所述多个第三语音单元串 中的每个计算对应于总成本的惩罚系数,其中惩罚系数依赖于接近所述限 制的禾呈度,和通过用惩罚系数修正总成本来计算所述多个第三语音单元串中每个的 估计值,其中第二处理包括基于所述多个第三语音单元串中每个的估计值,从 所述多个第三语音单元串选择最多W个第三语音单元串。
10、 依据权利要求9的方法,进一步包括提前准备第 一存储单元,所述第 一存储单元包括分别具有不同数据获取速度的多个存储介质,该多个存储介质分别存储多个语音单元;和 提前准备第二存储单元,所述第二存储单元被配置成存储指示每个语音单元存储在所述多个存储^h质中的哪一个的信息,和在连接多个语音单元之前依据所述信息,从第一存储单元中获取多个语音单元,并且其中计算惩罚系数包括基于限制和统计为所述多个第三语音单元串中 的每个计算惩罚系数,所述限制是在由连接单元从第一存储单元中获取包 含在第 一语音单元串中的语音单元时要满足的涉及数据获取速度的限制, 所述统计依赖于包含在第 一语音单元串中的所有语音单元的每一个存储在 所述多个存储介质中的哪一个而确定。
11、 依据权利要求io的方法,其中所述多个存储介质包括具有高数据获取速度的存储介质和具有低数据 获取速度的存储介质,和所述限制是从具有低数据获取速度的存储介质中获取包含在第 一语音 单元串中的语音单元数据的次数的上P艮值,所述统计是存储在具有低数据 获取速度的存储介质中的语音单元数与包含在第三语音单元串中的语音单 元数的比例。
12、 依据权利要求10的方法,其中所述多个存储介质包括具有高数据获取速度的存储介质和具有低数据 获取速度的存储介质,和所述限制是从第一存储单元中获取包括在第一语音单元串内的所有语 音单元数据的所需时间的上限值,所述统计是从第 一存储单元中获取包含 在第三语音单元串中的所有语音单元数据的所需时间的预测值。
13、 依据权利要求10的方法,其中在所述统计超过由所述限制所确定 的阈值时,惩罚系数单调增加。
14、 依据权利要求13的方法,其中在惩罚系数单调增加时,随着包含 在第三语音单元串中的语音单元数与包含在第一语音单元串中的语音单元 数的比例的增加,惩罚系数的增加相对于统计的增加的斜率变得更陡哨。
15、 依据权利要求9的方法,其中通过将下一节段添加给第二节段序列 来获得第三节段序列,其中所述下一节段定位在与对应于第二节段序列的 第一节段序列的一部分相邻的位置上。
16、 依据权利要求15的方法,其中通过将对应于下一节段的语音单元 添加给第二语音单元串,产生第三语音单元串。
全文摘要
在一种语音合成中,选择单元从对应于第一节段序列的第一语音单元串中选择一个串,所述第一节段序列通过将对应于目标语音的音位串分割为节段来获得。选择单元基于对应于第二节段序列的最多W个第二语音单元串,重复实施产生对应于第三节段序列的第三语音单元串,其中所述第二节段序列作为第一序列的部分序列,所述第三节段序列通过对第二序列添加节段来获得,并基于每个第三串的估计值从第三串中选择最多W个串。通过使用每个第三串的惩罚系数来修正每个第三串候选的总成本,来获得该数值。该系数基于涉及语音单元数据获取的速度的限制,并依赖于接近所述限制的程度。
文档编号G10L13/00GK101276583SQ20081009637
公开日2008年10月1日 申请日期2008年3月28日 优先权日2007年3月29日
发明者森田真弘, 笼岛岳彦 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1