语音合成的方法和系统的制作方法

文档序号:2830859阅读:468来源:国知局
专利名称:语音合成的方法和系统的制作方法
技术领域
本发明一般地涉及文本到语音转换(TTS)技术,并且更特别地 涉及在客户端对文本内容进行语音合成的方法和系统。
背景技术
文本到语音转换(TTS)系统是当前广泛使用的使得人们能够通 过语音访问所需信息的技术。典型的 一 种应用是在诸如台式计算机、 膝上型计算机、诸如移动点话、个人数字助理等的手持设备之类的 客户端上,将用户所访问的因特网上的文本内容转换成语音,从而 使得用户可以无需阅读文本即可获得信息。对于这样的应用,用户 需要在其客户端中装载TTS系统,而目前越来越多的用户倾向于通 过因特网下载TTS系统,而不是利用存储介质所记录的拷贝。目前,大多数TTS系统基于语料单元的选择和拼接进行语音合 成。基于单元选择和拼接的语音合成,为了能够得到令人满意的语 音,需要大量的语料单元。例如,在IBM中文TTS系统中合成高质 量的语音需要使用25000个句子作为语料库,其大小约为4GB,当然, 可以利用一些语音编码算法将这些语料单元压缩成200MB,而不会过 分地降低语音质量。但是对于将要通过网络进行下载的用户而言, 一次性下载200MB的语音数据仍然是非常庞大的,这往往需要用户 等待相当长的时间之后才能开始实际的使用。于是针对上述问题提出了这样一种解决方案在可以成功地合 成各种文本内容并确保可接收的语音质量的情况下,将语料库进行 最大程度的截取,从而获得较小的TTS系统以用于语音合成,例如 20MB。在这种情况下,用户只需要等待很短的时间(例如,下载20MB 数据的时间)就可开始使用TTS系统。但是,由于所下载的TTS系统语料库有限,用户使用TTS系统期间所能得到的语音合成质量也 较差。从用户的使用心理角度考虑,对于这种较差的语音合成质量, 用户在短时间内可能可以勉强接受,但长时间使用之后就会感到不满意。欧洲专利申请W0 0 612 8 4 8 0 A1公开了 一种通过通信网络在用户终 端上提供语音合成的方法和系统,其中在用户终端上先下载用于语 音合成的基本数据库,并且在TTS服务器端根据可能的主题例如经 济、体育、娱乐等预先生成多个增量语料数据库。当用户使用该TTS 系统访问文本内容时,该系统通过提取该文本内容的主题,并根据 该主题选择相应的增量语料数据库添加到用户客户端的基本数据库 中以用于文本内容的语音合成。与前一种解决方案相比,这种方案 可以使用户很快速下载较小型的TTS系统并随即开始使用,并且在 使用期间可以逐步地增加语料库,从而不断改善语音合成质量,提 高用户的满意程度。基于这种方案,每个客户端为需要合成的文本指定已有语境(主 题)之一 (例如经济、体育、娱乐等),根据该语境选择TTS服务 器端的已有的增量语料数据库(例如选择经济、体育、娱乐等增量 语料数据库),然后下载增量语料数据库。欧洲专利申请W006128480A1所公开的技术方案存在局限性,这 是因为在实际的语音合成中,合成类似的语境(主题)的内容可能 需要完全不同的语料单元(即,音节)集合。例如,主题为体育的 文本,可能是关于游泳,也可能是关于篮球,而这两者的实际语境 在语音合成过程中所用到的语料单元相差甚远。所以,对于基于语 料单元的选择和拼接的TTS系统而言,这种为文本指定特定语境(主 题)以便根据特定语境下载预先生成的特定语料库的方案是不精确 的。因此,利用该方案加载根据主题的增量语料数据库,并不会使 得客户端非常有效地改善语音合成质量。用户对这样的合成质量提 升可能可能仍不满意。因此,需要一种基于TTS系统的文本到语音转换方案和方法, 其不但能够支持用户在短时间之内下载并使用文本到语音转换系 统,而且能够随着用户对该系统的进一 步使用获得语音合成质量的 有效改善,由此增强该系统的文本到语音转换服务性能。发明内容为了克服现有技术中存在的局限性,本发明旨在提供一种用于 在客户端对文本内容进行语音合成的方法和系统,其不但能够支持 用户在短时间之内下载并使用文本到语音转换系统,而且能够随着 用户对该系统的进一步使用自适应地改善语音合成质量,由此有效 地增强该系统的文本到语音转换服务性能。根据本发明的一个方面,提供一种用于在客户端对文本内容进行语音合成的方法。该方法包括基于客户端的语料库中的当前语 料单元集合S 对文本内容进行语音合成;响应于判断需要更新 客户端语料库的当前语料单元集合分析文本内容,并生成具有相应 语境特征的目标单元的列表,基于比客户端语料库的当前语料单元 集合S ^前更丰富的语料单元集合S,g.,根据语境特征为每个目标单元 选择多个候选语料单元,根据多个候选单元为文本内容确定可用于 语音合成的语料单元;以及基于所确定的语料单元,更新客户端语 料库的当前语料单元集合。根据本发明的另一方面,还提供一种支持在客户端对文本内容 进行语音合成的系统。该系统包括语音合成装置,被配置为用于 基于客户端的语料库中的当前语料单元集合S当前对文本内容进行语 音合成;语料单元确定装置,被配置为用于响应于判断需要更新客 户端语料库的当前语料单元集合执行以下步骤分析文本内容,并 生成具有相应语境特征的目标单元的列表;基于比客户端语料库的 当前语料单元集合S 3前更丰富的语料单元集合S总,根据语境特征为 每个目标单元选择多个候选语料单元;根据多个候选单元为文本内容确定可用于语音合成的语料单元;以及更新装置,被配置为用于基于所确定的语料单元,更新客户端语料库的当前语料单元集合。本发明的技术方案能够支持用户在短时间之内下栽并使用文本 到语音转换系统。由于本发明直接选择和下载对于客户端历史文本 内容的语音合成最重要的语料单元,因此可以更精确地针对文本内 容下载更新客户端的语料库。随着用户对该系统的进一步使用,根 据本发明的客户端能够获得语音合成质量的有效改善,由此增强了 文本到语音转换服务性能。通过结合附图阅读本发明实施方式的详细描述,本发明的其它 特点和优点将变得更加清楚。


为了对本发明实施方式的特征和优点进行详细说明,将参照以 下附图。如果可能的话,在附图和描述中使用相同或者类似的参考标号以指代相同或者类似的部分。附图中图1示意地示出根据本发明一个实施方式的用于在客户端对文 本内容进行语音合成的系统。图2示意地示出根据本发明另一个实施方式的用于在客户端对 文本内容进行语音合成的系统。图3示出了根据本发明一个实施方式的用于在客户端对文本内容进行语音合成的方法流程图。图4示出了图3所示方法步骤的更具体的流程图;图5示意性示出了可以实现根据本发明的实施方式的计算设备。
具体实施方式
如上文所述,现有的技术方案难以使得用户在客户端进行文本 到语音转换时得到显著改善的语音合成质量。这是因为虽然现有的技术方案也对客户端所维持的语料数据库进行动态更新(如利用根 据主题的增量语料数据库),但是这种更新是基于预先设定的语境(主题)的,而依靠人为归类的语境来为将进行的语音合成选择增 量语料库是不准确的,难以真正使得语料库有效地适合当前需要合 成的内容。本发明的发明人已经注意到,在用户通过客户端进行语音合成 的过程中,尤其是在用于通过客户端为网络内容文本进行语音合成 的过程中,当前合成文本内容与上一合成文本内容之间通常具有较 大的关联度。因此,本发明的主要思想在于最初,通过先向客户 端下载一个确保可接受语音质量的最小语料库作为客户端进行语音合成的当前语料库,使得用户能够可以尽快开始使用TTS系统对网 络文本内容进行语音合成;然后在用户对TTS系统使用的同时,基 于比当前客户端语料库更丰富的语料库(例如,服务器端维护的总 语料库、预先按一定规则划分的子语料库等),为已进行语音合成 的文本内容即历史文本内容选择语料单元,其中利用所选择的语料 单元为该历史文本内容进行语音合成通常能够获得更好的语音合成 质量。接着,基于该所选择的语料单元更新客户端当前的语料库。 例如,可以确定出未包含在客户端当前语料库中的所选语料单元的 集合,将该集合下载到客户端并更新客户端的当前语料库使之包含 所有为历史文本内容所选择的语料单元,从而将更新后的客户端语 料库用于随后的文本内容的语音合成。由此重复上述过程,可以根 据已经进行语音合成的文本内容(历史文本内容)逐步地丰富客户 端的当前语料库,从而不断提高语音合成质量,提升用户的使用满 意度。下面将结合附图,详细描述本发明的具体实施方式
。 首先参照图1。图1示意地示出了根据本发明一个实施方式的用 于在客户端对文本内容进行语音合成的系统。其中参考标号IO表示 客户端,其可以是诸如台式计算机、膝上型计算机、移动电话、个 人数字助理之类的任何需要使用TTS功能的用户设备;参考标号11 表示TTS服务器,其可以是向客户端提供TTS服务的任何远端或近 端服务器;参考标号12表示内容服务器,其可以是向客户端提供各种网络内容信息的任何远端或近端服务器;参考标号13表示连接各 种设备的通信网络,其可以是局域网、广域网、内联网、因特网等。在图1所示的TTS系统中,多个客户端(作为示例仅示出一个客户 端,即客户端10)通过通信网络13连接到内容服务器12以获取网 络文本内容。该多个客户端可以直接(如图1中所示)或者通过通 信网络(未示出)连接到TTS服务器11,从而获得TTS系统下载等 服务。如图1中所示,客户端10包括收发装置101、语音合成装置102、 语料库管理装置103和语料库104。客户端10通过收发装置101与 其他网络单元(服务器)进行通信。语音合成装置102用于基于对过扬声器输出。语料库管理装置103用于维护语料库104的索引文 件,并管理语料库104中语料单元的获取和更新。语料库104存储 有客户端本地用于语音合成的语料单元集合。TTS服务器11包括收发装置111、语料单元确定装置112、语料 库管理装置113和语料库114。 TTS服务器11通过收发装置111与 其他网络单元(客户端)进行通信。语料单元确定装置ll2用于确 定对于某一客户端的本地语料库进行更新的语料单元集合。语料库 管理装置113用于维护服务器端语料库114的索引文件,并管理对 语料库114中语料单元的获取。语料库IN存储有服务器端的语料单元集合,服务器将该语料单元集合的子集或全集提供给客户端作 为客户端本地存储的语料库,因此服务器端的语料库114通常比客户端本地存储的语料库104具有更加丰富的预料资源。根据本发明 的实施方式,语料单元确定装置112包括文本分析装置iin和单元 选择装置1122。在一种实现中,文本分析装置1121用于对文本内容 进行分析,并生成具有相应语境特征的目标单元的列表。单元选择 装置1122基于TTS服务器端的语料库113为文本内容的目标单元确 定适于语音合成的候选语料单元,以便能够从候选语料单元中选择基于该所选择的语料单元更新客户端当前的语料库。以下对图1所示体系结构的中各个网络元件工作过程进行详细地描述。为了便于说明,这里给出如下符号的定义1. S *前在客户端本地存储的用于语音合成的语料单元集合, 即客户端本地的语料库中的语料单元集合。2. S。在初始状态下,客户端从TTS服务器下载获得的语料单 元集合。在一种优选实施中,S。可以是能够完成各种文本语音合成 并确保用户可接受语音合成质量所需的小数目的语料单元集合。当 将S。下载到客户端的语料库后,S赠即等于S。。3. S总在TTS服务器的语料库存储的语料单元集合。S总通常 比客户端本地存储的S師具有更加丰富的预料资源。也就是说,客 户端语料库是TTS服务器语料库的子集,即S总。S^前。这里需要说 明的是,虽然在这里将TTS服务器的语料库中的语料单元集合表示 为S总,但是应该理解S总是相对与客户端中所维护的子集S ,前而言 的。S总可以是TTS服务器所维护的整个语料库,也可以是TTS服务 器所维护的整个语料库的指定部分(例如按照某种规则划分的整个 语料库的特定部分等),只要其具有比客户端语料库更加丰富的预 料资源即可。本领域技术人员通过阅读本发明的说明可以理解,S总 优选地是TTS服务器所维护的整个语料库中的语料单元集合,这样 可以相对有效地改善客户端语音合成质量。4. SA:通过语料单元确定装置所确定的要下载到客户端以丰富 客户端语料库的语料单元集合。将通过具体的示例,对图1所示系统的操作过程就行说明。 在初始状态下,客户端10的用户启用TTS服务功能,客户端10从TTS服务器11下载S。作为Ss前存储于本地的语料库l(M中以用于语音合成。客户端IO ii置102。然后,语音合成装置102通过语料库管理装置103获取语料 库l(M中S師(此时S師-S。)的语料单元来合成语音并通过扬声 器输出。语音合成装置102可以包括基于TTS技术合成语音所需的 各种功能模块,包括例如文本分析装置和单元选择装置。这些功能 模块的工作原理和工作过程是公知的,它们可以以在拼接式文本到 语音转换系统中所采用的任何方式来实现。在针对本发明的描述中, 仅讨论语音合成装置与本发明相关的功能效果,而省略对其具体实 现的描述。不同于现有技术,在根据本发明实施方式的技术方案中, 在用户基于语料库104的当前语料单元集合S s前获得对文本内容Cl 的合成语音时,客户端10还通过收发装置101将该文本内容Cl发 送给TTS服务器11,以便对客户端10的本地语料库104进行自适应 更新。在TTS服务器11端,收发装置111接收来自客户端10的文本 内容Cl,并将其传递给语料单元确定装置112。语料单元确定装置 112的工作原理和工作过程类似于传统的TTS系统的语音合成装置, 但是其并不执行真正的语音合成,而是仅通过单元选择确定候选语料单元,以便对相应客户端的语料库进行更新。如图1所示实施方 式,语料单元确定装置112包括文本分析装置1121和单元选择装置 1122。文本分析装置1121对文本内容Cl进行分析,并生成具有相 应语境特征的目标单元的列表。单元选择装置11"基于语料库1" 中的S g.为文本内容Cl的目标单元选择适于语音合成的多个候选语 料单元。该单元选4奪可以基于目标单元的语境特征例如当前单元、 韵律词的位置(头部、中间或末尾)、句子的位置以及左元音、右 辅音等来进行。由于语料单元确定装置ll2基于S总(比客户端S当前 具有更丰富语料资源)选择了文本内容C1的候选语料单元,因此利 用该候选语料单元为文本内容Cl进行语音合成通常能够获得比在客 户端已经为Cl合成的更好的语音合成质量。语料单元确定装置112 基于该单元选择结果确定将要用于更新客户端IO本地语料库的语料 单元集合。在一种实现中,语料单元确定装置ll2直接将所有候选语料单元的集合确定为用于更新客户端IO本地语料库的语料单元集 合。语料单元确定装置112还可以使用候选单元优化的排序结果,来确定用于更新客户端io本地语料库的语料单元集合。例如,可以将针对每个目标单元的多个候选语料单元一起进行排序或者分别进 行排序(例如按照被选择次数的方式进行排序),由此确定用于更 新的语料单元集合。本领域技术人员可以理解,语料单元确定装置112虽然执行了 TTS系统中的单元选择过程,但其目的并不在于真正 的语音合成,因此优选地语料单元确定装置112上述操作都可以基 于例如包括语料库所有语料单元的属性索引的语料库索引文件(图 中未示出)进行,而不必调用语料库中存储的实际的语料单元波形。之后,语料单元确定装置112将确定的语料单元集合通知语料 库管理装置113。语料库管理装置113从TTS服务器11的语料库1H 中获取相应的语料单元(音频波形),以用于对客户端IO的本地语 料库104进行更新。语料库管理装置113优选地仅获取确定用于更 新的语料单元集合中未包含在客户端10的S^前中的语料单元的集合 也即S,(在具体实现中,可以通过查阅TTS服务器11中维护的客户 端语料库的配置文件(未示出)来确定该单元集合SA) 。 TTS服务 器11经由收发装置111将发往客户端10以用于进行语料库更新。 TTS服务器10可以更新其所维护的针对客户端10的配置文件以记录 完成语料库更新后客户端IO的语料库104的配置。客户端10的收发装置101接收到的SA,并将其发送给客户端 10本地的语料库管理装置103。语料库管理装置103将S^添加到语 料库104中,从而更新语料库104使得S ^ + Sa,更进一步地,相应更新语料库104的索引文件。当客户端IO再次通过通信网络13从内容服务器12获取新文本 内容C2 (未示出)时,将基于语料库104中更新后的S当前也即 So+ SA进行语音合成。由于当前合成文本内容与上一合成文本内容通 常具有较大的关联度,因此基于对C1的单元选择所扩充的语料库对 C2进行语音合成通常能够获得语音合成质量的有效提升。类似地,C2也作为历史文本内容被客户端10发往TTS服务器11,以确定进 一步更新客户端本地语料库104的S"该自适应更新客户端10的语 料库104的过程随着用户对客户端TTS系统的使用而不断的循环执 行。最终,将TTS服务器11上的整个语料库全部下载到客户端10。 由此逐步地针对进行语音合成的历史文本内容补充客户端语料库的 语料单元集合,从而确客户端保语音合成质量在较短时间内就能得 到有效改善。当然,也可以人为设定终止该自适应更新的过程的条 件,从而结束客户端语料库的更新。根据图1所示的实施方式,基于客户端的历史文本内容确定更 新语料单元的操作是在TTS服务器端实现的。在这种实施方式中, TTS服务器集中管理各个客户端的语料库更新,因此需要为每个客户 端执行确定更新语料单元的操作,显然TTS服务器将承担巨大的计 算量,增加了 TTS服务器端的运行成本。作为本发明的另一种可选 实施方式,为客户端执行确定更新语料单元的操作也可以分布地在 各个客户端本地实现。以下参照图2描述这种实施方式。图2示意地示出根据本发明另一个实施方式的用于在客户端对 文本内容进行语音合成的系统。其中参考标号20表示客户端,其可 以是诸如台式计算机、膝上型计算机、移动电话、个人数字助理之 类的任何需要使用TTS功能的用户设备;参考标号21表示TTS服务 器,其可以是向客户端提供TTS服务的任何远端或近端服务器;参 考标号22表示内容服务器,其可以是向客户端提供各种网络内容信 息的任何远端或近端服务器;参考标号23表示连接各种设备的通信 网络,其可以是局域网、广域网、内联网、因特网等。类似于图1 所示TTS系统,在图2所示的TTS系统中,多个客户端(作为示例 仅示出一个客户端,即客户端20)通过通信网络23连接到内容服务 器22以获取网络文本内容。该多个客户端可以直接(如图2中所示) 或者通过通信网络(未示出)连接到TTS服务器21,从而获得TTS 系统下载等服务。如图2中所示,客户端20包括收发装置201、语音合成装置202、 语料库管理装置203、语料库204以及,特别地包括语料单元确定装 置205。语料单元确定装置205的构造和功能类似于图1所示实施方 式中TTS服务器10的语料单元确定装置112,可以包括文本分析装 置205 1和单元选择装置2052。 TTS服务器21包括收发装置211、语 料库管理装置213和语料库214。以下对图2所示体系结构的中各个网络元件工作过程进行详细 地描述。为了便于说明,参照上文的定义引入以下符号S当前、S。、 S总以及S厶。将通过具体的示例,对图2所示系统的操作过程进行说明。 在初始状态下,客户端20的用户启用TTS服务功能,客户端20从TTS服务器21下载S。作为S ^前存储于本地的语料库204中以用于语音合成。客户端20通过通信网络23从内容服务器22获取文本内容C1。 客户端2 0的收发装置2 01将接收的文本内容Cl发送给语音合成装 置202。然后,语音合成装置202通过语料库管理装置203获取语料 库204中S s前(此时S m = S。)的语料单元来合成语音并通过扬声 器输出。语音合成装置202工作原理和工作过程是公知的,其可以 以在拼接式文本至'J语音转换系统中所采用的任何方式来实现。不同于参照图l所描述的实施方式,在用户基于语料库204的 当前语料单元集合S ^前获得对文本内容C1的合成语音时,客户端20 的语料单元确定装置205还基于该文本内容C1确定用于对客户端20 的语料库204进行更新的语料单元集合。语料单元确定装置205的工作原理和工作过程类似于传统的 TTS系统的语音合成装置,但是其并不执行真正的语音合成,而是仅 通过单元选择确定候选语料单元,以便对相应客户端的语料库进行 更新。在语料单元确定装置205中,文本分析装置2051对文本内容 Cl进行分析,并生成具有相应语境特征的目标单元的列表。单元选 择装置2052基于TTS服务器21语料库2M中的S总为文本内容Cl的目标单元选择适于语音合成的多个候选语料单元。这里需要说明
的是,客户端20可以从TTS服务器21获取其语料库214的索引文 件,其中可以包括S总中所有语料单元的属性索引,由此使得语料单 元确定装置205能够基于S总执行确定运算而不必调用S总中语料单 元的实际波形。语料单元确定装置205基于该单元选择结果确定将 要用于更新客户端20本地语料库的语料单元集合。在一种实现中, 语料单元确定装置205直接将所有候选语料单元的集合确定为用于 更新客户端20本地语料库的语料单元集合。语料单元确定装置205 还可以使用候选单元优化的排序结果,来确定用于更新客户端20本 地语料库的语料单元集合。例如,可以将针对每个目标单元的多个 候选语料单元一起进行排序或者分别进行排序(例如按照被选择次 数的方式进行排序),由此确定用于更新的语料单元集合。
之后,语料单元确定装置205将确定的语料单元集合通知给语 料库管理装置203。语料库管理装置203确定用于更新的语料单元集 合中未包含在客户端10的S師中的语料单元的集合,也即S"语料 库管理装置203可以通过查阅客户端语料库的索引文件(S当前的索引 文件)来确定Sa的索引文件。然后,客户端20通过收发装置201 将S^的索引文件发送到TTS服务器21。
在TTS服务器21端,收发装置211接收来自客户端20的对应 于Sa的索引文件,并将其传递给语料库管理装置213。语料库管理 装置213从语料库214 ( S总.)获取SA,由此获取到S,中语料单元的 音频波形。通过收发装置211将获取的SA发送到客户端20。
在客户端20端,收发装置201将接收到的S,传递给语料库管理 装置203。语料库管理装置203将SA添加到语料库204中,从而更 新语料库204使得S *前=S当前+Sa,更进一步地,相应更新所维护 的语料库204的索引文件。
当客户端20再次通过通信网络23从内容服务器22获取新文本 内容C2 (未示出)时,将基于语料库204中更新后的S s前也即 S。+ SA进行语音合成。由于当前合成文本内容与上一合成文本内容通常具有较大的关联度,因此基于对C1的单元选择所扩充的语料库对 C2进行语音合成通常能够获得语音合成质量的有效提升。类似地,
客户端20的语料单元确定装置205基于作为历史文本内容的C2确 定进一步更新客户端本地语料库204的S"客户端20从TTS服务器 21下载SA,并再次更新语料库204以用于随后的新文本内容的语音 合成。该自适应更新客户端20的语料库204的过程随着用户对客户 端TTS系统的使用而不断的循环执行。最终,将TTS服务器21上的 整个语料库全部下载到客户端20。由此逐步地针对进行语音合成的 历史文本内容补充客户端语料库的语料单元集合,从而确客户端保 语音合成质量在较短时间内就能得到有效改善。当然,也可以人为 设定终止该自适应更新的过程的条件,从而结束客户端语料库的更 新。
图3示出了根据本发明一个实施方式的用于在客户端对文本内 容进行语音合成的方法流程图。
为了便于说明,参照上文的定义引入以下符号S当前、So、 S总 以及SA。
在步骤S301中,用户启用TTS服务功能,流程开始。 在步骤S302中,下载基本语料库S。,使得S^-S。。该步骤例 如可以在客户端进行TTS系统初始化时执行。客户端从TTS服务器 下载预定义的基本语料库S。,并且将S。作为客户端语料库S ^以进 行语音合成。这使得用户无需等待过长时间就可以很快地使用该TTS 系统。
在步骤S303中,接收新的文本内容。客户端可以通过通信网络
从内容服务器接收各种包含文本内容的信息。
在步骤S304中,基于S 4前对该文本内容进行语音合成。通过对 当前语料库中语料单元S ^前的选择和拼接来将该文本内容转换成语 音并通过扬声器输出。
在步骤S305中,判断是否进行客户端语料库更新。多种条件可
以用于执行该判断。例如,在一种典型情况下,当S,前-S总时,说明客户端语料库 已经获得了全部可用的语料单元,则可以判断为无需执行更新客户 端语料库过程。
又如,可以通过预先设定的标准(例如,预先设定的语音合成 质量等参数)甚至通过用户的指示来判断是否进行客户端语料库更 新过程。在执行根据本发明的语料库更新方案的初始阶段,客户端
TTS系统进行语音合成质量会显著增加,而在稍后的阶段,这种语音 合成质量的增加将会减緩甚至停止。此时,如果用户已经认为语音 合成质量达到其期望的满意值,则无需再执行更新客户端语料库的 过程。由此,能够节约客户端和/或TTS服务器端的计算资源。
取决于不同的实施方式,步骤S305的判断可以在TTS服务器端 进行,也可以在客户端本地进行。
如果判断结果为进行客户端语料库更新,则流程进行到步骤 S306。如果判断结果为不再进行客户端语料库更新,则流程进行到 步骤S308。
在步骤S306中,基于S总为该文本内容确定可用于语音合成的 语料单元集合。取决于不同的实施方式,步骤S306可以在TTS服务 器端执行(如图1所示实施方式),也可以在客户端执行(如图2 所示实施方式)。
在步骤S307中,基于所确定的语料单元,更新客户端当前语料 库。例如在一种实现中,可以仅获取在步骤S306中所确定的语料单 元集合中未下载到客户端语料库中的语料单元集合SA,并将该集合 SA添加到客户端语料库S当前中(即,S^前-S師+ S厶),从而更新 客户端当前语料库以供随后的语音合成使用。
在步骤S308中,判断是否还要继续荻取文本内容。
如果判断结果为继续获取文本内容,则返回到步骤S303,否则 进行到步骤S309。
在步骤S309中,结束流程。以下参照图4。图4更详细地描述图3中关于基于S总为文本内 容确定语料单元的步骤S306。 在步骤S401中,流程开始。
在步骤S402中,分析文本内容,并生成具有相应语境特征的目 标单元的列表。这里,语境特征包括当前单元、韵律词的位置(头 部、中间或末尾)、句中的位置以及左元音、右辅音等。
在步骤S403中,基于S总,根据语境特征为每个目标单元选择 多个候选语料单元。其中该选择过程可以基于设备数据处理速度和 任务的工作负载来进行。
当设备(TTS服务器或客户端设备)数据处理速度足够快时,可 以使用设备来选择最佳候选语料单元。这类似于TTS系统的单元选 择过程。
当设备(TTS服务器或客户端设备)数据处理速度不够快时,仅 使用目标代价(Target Cost)方法来选择最佳候选语料单元。设备 的文本分析装置将基于目标语境特征预测目标韵律。预测的韵律包 括目标间隔和目标持续时间。然后设备的单元选择装置将比较目标 韵律和候选单元韵律之间的不同以便获得目标代价,从而选择最佳 候选语料单元。
当设备(TTS服务器或客户端设备)数据处理速度较慢时,则可 以直接使用语境特征作为过滤准则。这种情况存在以下方案i和H:
方案i.通过比较目标单元和候选语料单元之间的语境特征来对 候选语料单元排序,例如,可以使用一组距离表。每个表描述一个 特征的两个值之间的距离。该表可以手动设计或者自动训练得到。 (参见Zhiwei Sh訓g等的题为"A Miniature Chinese TTS system Based On Tailored Corpus"ICSLP 2002的文章。)
方案ii.可以使用过滤处理以留下少数的候选语料单元。过滤 处理可以节省排序的代价。这里作为示例描述两种方案
1.过滤处理可以利用针对每个特征手动定义的顺序来完成。例 如,对于汉语而言,找到词的位置对于音节选择很重要。所以可以使用词的位置作为第一过滤准则来选择与目标单元具有相同"词的 位置,,的一组候选语料单元。然后可以使用其它特征来继续对候选 语料单元进行过滤,直到留下预定数目的候选语料单元。
2.过滤处理还可以利用自动训练的决策树来完成。决策树根据 韵律特征的熵的减少来训练得到。首先选择的分离准则通常是最重 要的特征。根据目标单元继续执行决策树,直到留下预定数目的候 选单元。
本领域的技术人员可以理解,以上虽然给出了基于S总为历史文 本信息的目标单元选择候选语料单元的多种实现方式的示例,但这 些示例仅用于说明的目的,而能解释为对本发明的限制。实际上, 可以使用本领域任何已知的方式在执行该步骤,因为在本发明的技 术方案中仅关注基于S总为历史文本信息的目标单元选择候选语料单 元的结果一该结果将作为客户端语料库更新的基础。
在步骤S404中,将所选^l奪的多个候选语料单元进行排序,并确 定用于更新的语料单元集合。其中,基于先前的单元选择过程,可 以对多个候选语料单元进行排序,以表明多个候选单元对于该历史 文本内容的重要性,从而将重要性高的候选单元优先地(例如将前N
个候选语料单元)包含在用于更新的语料单元集合中。例如,可以 基于每个候选单元被选择过的次数来进行排序。以下示例性地描述 两种可能的排序方案i和ii:
方案i.将不同目标单元的多个候选语料单元一起排序。这样的 处理可以确保最经常使用的语料单元排在第一位。但可能存在这样 的风险 一些经常出现的语料单元总排在前面,而一些不经常出现 的语料单元总排在后面。因此,这样的方案对于非常有限的领域例 如股票市场报告、银行服务等可能效果比较好,但对于一般的领域
例如新闻等则效果可能不太好。
方案n.将不同目标单元的多个候选语料单元分开排序。可以 利用第i个目标单元在历史文本Ci中所出现的次数,来确定应保留的候选语料单元Ai的数目。Ai = f(Ci)。 f(x)可以是线性函数、
对数函数或者其它函数。针对不同使用场景可以选择不同函数。
优选地,在步骤S405中,将用于更新的语料单元集合中未下载 到客户端语料库中的语料单元集合Sa迸行打包。服务器将打包用于 下载到客户端以丰富客户端语料库的SA。 SA中各个语料单元的语音 信息(音频波形)和语境信息将会包含在该包中。
在步骤S406中,流程结束。
本领域技术人员将会理解到,虽然以上描述中没有提到语音压 缩,但是所有涉及语音数据传送的过程(例如传送Sa等)都可以利用 诸如AMR-WB之类的语音编码算法进行语音压缩来传送语音数据, 并在接收端解压缩后使用。
图5示意性示出了可以实现根据本发明的实施方式的计算设备。 图5中所示的计算机系统包括CPU(中央处理单元)501、RAM(随 机存取存储器)502、 ROM(只读存储器)503、系统总线504,硬盘控 制器505、键盘控制器506、串行接口控制器507、并行接口控制器 508、显示器控制器509、硬盘510、键盘511、串行外部设备512、 并行外部设备513和显示器514。在这些部件中,与系统总线504 相连的有CPU501、 RAM 502、 ROM 503、硬盘控制器505、键盘控 串行接口控制器507,并行接口控制器508和显示器控制 器509。硬盘510与硬盘控制器505相连,键盘511与键盘控制器 506相连,串行外部设备512与串行接口控制器507相连,并行外部 设备513与并行接口控制器508相连,以及显示器514与显示器控 制器509相连。
图5中每个部件的功能在本技术领域内都是众所周知的,并且图 5所示的结构也是常规的。这种结构不仅用于个人计算机,而且用于 手持设备,如PalmPC、 PDA(个人数据助理)、移动电话等等。在 不同的应用中,可以向图5中所示的结构添加某些部件,或者图5 中的某些部件可以被省略。图5中所示的整个系统由通常作为软件 存储在硬盘510中、或者存储在EPROM或者其它非易失性存储器中的计算机可读指令控制。软件也可从网络(图中未示出)下载。
或者存储在硬盘510中,或者从网络下载的软件可被加载到RAM 502中,并由CPU501执行,以^更完成由软件确定的功能。
尽管图5中描述的计算机系统能够支持根据本发明的语音合成 方案,但是该计算机系统只是计算机系统的一个例子。本领域的熟 练技术人员可以理解,许多其它计算机系统设计也能实现本发明的 实施方式。
本发明还可以实现为例如由图5所示计算机系统所使用的计算 机程序产品,其可以包含有用于实现根据本发明的语音合成方法的 代码。在使用之前,可以把代码存储在其它计算机系统的存储器中, 例如,存储在硬盘或诸如光盘或软盘的可移动的存储器中,或者经 由因特网或其它计算机网络进行下载。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可 以在所附权利要求的范围内做出各种变形或修改。
权利要求
1.一种用于在客户端对文本内容进行语音合成的方法,包括a.基于所述客户端的语料库中的当前语料单元集合S当前,对文本内容进行语音合成;b.响应于判断需要更新所述客户端语料库的当前语料单元集合b1)分析所述文本内容,生成具有相应语境特征的目标单元的列表;b2)基于比所述客户端语料库的当前语料单元集合S当前更丰富的语料单元集合S总,根据所述语境特征为每个目标单元选择多个候选语料单元;b3)根据所述多个候选单元为所述文本内容确定可用于语音合成的语料单元;以及c.基于所确定的语料单元,更新所述客户端语料库的当前语料单元集合。
2. 根据权利要求1所述的方法,包括下载能够完成各种文本内容的语音合成并确保可接受语音合成 质量的小数目的语料单元集合S。,以作为所述客户端语料库中初始 的当前语料单元集合使得S ,# = Sfl。
3. 根据权利要求1所述的方法,其中所述步骤b3还包括将所述多个候选语料单元进行排序,按照对于该文本内容的重 要性确定用于更新所述客户端语料库的当前语料单元集合的语料单 元集合。
4. 根据权利要求3所述的方法,其中所述步骤b还包括b4.将用于更新的语料单元集合中未包括在所述客户端语料库 当前语料单元集合中的语料单元集合S,下载到所述客户端;并且 其中在步骤c中更新所述客户端语料库的当前语料单元集合S *前,使得S当前-S当前+ Sa。
5. 根据权利要求3所述的方法,其中按照每个候选单元被选择的次数进行排序。
6. 根据权利要求5所述的方法,其中将不同目标单元的多个候 选语料单元一起进行排序。
7. 根据权利要求5所述的方法,其中将每个目标单元的多个候选语料单元分别进行排序。
8. —种支持在客户端对文本内容进行语音合成的系统,包括语音合成装置,被配置为用于基于所述客户端的语料库中的当前语料单元集合 S赠对文本内容进行语音合成;语料单元确定装置,被配置为用于响应于判断需要更新所述客户端语料库的当前语料单元集合执行以下步骤分析所述文本内容,并生成具有相应语境特征的目标单元的列表;基于比所述客户端语料库的当前语料单元集合S ^前更丰富的语料单元集合s总,根据所述语境特征为每个目标单元选择多个候选语料单元;根据所述多个候选单元为所述文本内容确定可用于语音合成的语料单元;以及更新装置,被配置为用于基于所确定的语料单元,更新所述客户端语料库的当前语料单元集合。
9. 根据权利要求8所述的系统,还包括被配置为用于下载能够完成各种文本内容的语音合成并确保可接受语音合成质量的小数目的语料单元集合S。,以作为所述客户端语料库中初始的当前语料单元集合使得S当前=S。的装置。
10. 根据权利要求8所述的系统,其中所述语料单元确定装置被还配置为将所述多个候选语料单元进行排序,按照对于该文本内容的重要性确定用于更新所述客户端语料库的当前语料单元集合的语料单元集合。
11. 根据权利要求10所述的系统,其中所述语料单元确定装置还被配置为确定用于更新的语料单元集合中未包括在所述客户端语料库当前语料单元集合中的语料单元集合SA;并且其中所述更新装置被配置为更新所述客户端语料库的当前语料单元集合S ^前,使得s当前-s当前+ s厶。
12. 根据权利要求10所述的系统,其中所述语料单元确定装置按照每个候选单元被选择的次数进行排序。
13. 根据权利要求12所述的系统,其中所述语料单元确定装置将不同目标单元的多个候选语料单元一起进行排序。
14. 根据权利要求12所述的系统,其中所述语料单元确定装置将每个目标单元的多个候选语料单元分别进行排序。
全文摘要
本发明提供一种用于在客户端对文本内容进行语音合成的方法。该方法包括基于客户端的语料库中的当前语料单元集合S<sub>当前</sub>,对文本内容进行语音合成;响应于判断需要更新客户端语料库的当前语料单元集合分析文本内容,并生成具有相应语境特征的目标单元的列表,基于比客户端语料库的当前语料单元集合S<sub>当前</sub>更丰富的语料单元集合S<sub>总</sub>,根据语境特征为每个目标单元选择多个候选语料单元,根据多个候选单元为文本内容确定可用于语音合成的语料单元;以及基于所确定的语料单元,更新客户端语料库的当前语料单元集合。本发明还提供相应的系统。根据本发明的技术方案,客户端的TTS系统能够随着用户对该系统的进一步使用自适应的更新语料库,从而获得语音合成质量的有效改善。
文档编号G10L13/00GK101593516SQ20081009847
公开日2009年12月2日 申请日期2008年5月28日 优先权日2008年5月28日
发明者双志伟, 孟繁平, 勤 施, 勇 秦 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1