CN108573692A - 语音合成单元选择 - Google Patents

语音合成单元选择 Download PDF

Info

Publication number
CN108573692A
CN108573692A CN201711049277.3A CN201711049277A CN108573692A CN 108573692 A CN108573692 A CN 108573692A CN 201711049277 A CN201711049277 A CN 201711049277A CN 108573692 A CN108573692 A CN 108573692A
Authority
CN
China
Prior art keywords
unit
text
voice
speech
voice unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711049277.3A
Other languages
English (en)
Other versions
CN108573692B (zh
Inventor
I.阿吉奥米尔詹纳基斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN108573692A publication Critical patent/CN108573692A/zh
Application granted granted Critical
Publication of CN108573692B publication Critical patent/CN108573692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/06Elementary speech units used in speech synthesisers; Concatenation rules
    • G10L13/07Concatenation rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/06Elementary speech units used in speech synthesisers; Concatenation rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

提供方法、系统和装置,包括计算机程序。方法包括:接收指示用于语音合成的文本的数据;确定每个表示文本的相应部分的文本单元的包括至少第一文本单元、然后第二文本单元的序列;确定每个表示文本单元的序列的语音单元的多个路径,该确定包括:从语音单元语料库中选择包括表示第一文本单元的语音合成数据的第一语音单元;从该语料库中选择包括表示第二文本单元的语音合成数据的多个第二语音单元,基于联系第二语音单元与第一语音单元的联合成本和指示第二语音单元相应于第二文本单元的程度的目标成本来确定每个第二语音单元;以及定义从所选第一语音单元到第二语音单元的路径,以包括在语音单元的多个路径中;以及根据所选路径提供合成语音数据。

Description

语音合成单元选择
技术领域
本公开涉及数据处理,且更具体地涉及文本到语音系统、其计算机实现的方法和非暂时计算机存储介质。
背景技术
文本到语音(text-to-speech)系统可以合成用于可听地呈现给用户的文本数据。例如,文本到语音系统可以接收指示文本到语音系统应当生成文本消息或电子邮件的合成数据的指令。文本到语音系统可以向扬声器提供合成数据,以使来自文本消息或电子邮件的内容的可听地呈现给用户。
发明内容
在一些实施方式中,文本到语音系统使用单元选择处理来合成音频数据。文本到语音系统可以确定语音单元的序列,并联系语音单元以形成合成音频数据。作为单元选择处理的一部分,文本到语音系统创建包括要合成的每个言语元素的多个候选语音单元的格子(lattice)。创建格子包括从语音单元的大语料库中选择格子的候选语音单元的处理。为了确定哪个候选语音单元要包括在格子中,文本到语音系统可以使用目标成本和联合成本(join cost)两者。通常,目标成本指示特定语音单元有多准确地表示要合成的言语单元(phonetic unit)。联合成本可以指示特定语音单元的声学特性有多适合在格子中表示的一个或多个其他语音单元。通过使用联合成本来选择格子的候选语音单元,文本到语音系统可以生成包括表示更自然的发音合成语音的路径的格子。
文本到语音系统可以使用语音单元之间的距离、在当前选择的路径中的其他语音单元的声学参数、目标成本或它们的两个或更多的组合来选择要包括在格子中的语音单元。例如,文本到语音系统可以确定当前选择的路径中的一个或多个语音单元的声学参数。文本到语音系统可以使用所确定的声学参数和候选语音单元的声学参数、例如使用距离函数来确定联合成本,以将候选语音单元添加到一个或多个语音单元的当前选择的路径。在一些示例中,文本到语音系统可以使用语言参数确定将候选语音单元添加到当前选择的路径的目标成本。文本到语音系统可以确定候选语音单元包括语音合成数据的文本单元的语言参数,并且可以确定候选语音单元的语言参数。文本到语音系统可以使用语言参数来确定文本单元和候选语音单元之间的距离作为目标成本。文本到语音系统可以使用在表示语音单元的声学参数向量或语言参数向量之间的任何适当的距离函数。距离函数的一些示例包括概率、均方误差和Lp范数函数。
文本到语音系统可以确定路径(例如当前选择的路径和具有不同语音单元的其他路径)的总成本,作为相应路径中的语音单元的成本的组合。文本到语音系统可以比较多个不同路径的总成本以确定具有最佳成本的路径,例如最低成本或最高成本总路径。在一些示例中,总成本可能是联合成本或联合成本与目标成本的组合。文本到语音系统可以选择具有最佳成本的路径,并使用来自最佳成本路径的单元来生成合成语音。文本到语音系统可以例如通过将合成语音的数据提供给用户设备或者在扬声器上呈现合成语音,提供用于输出的合成语音。
文本到语音系统可以具有可以用于语音合成的语音单元的非常大的语料库。语音单元的非常大的语料库可以包括超过三十个小时的语音单元的数据,或者在一些实施方式中可以包括数百小时语音单元的数据。语音单元的一些示例包括双音素、音素、任何类型的语言原子,例如单词、音频块、或这些中的两个或更多的组合。语言原子、音频块或两者都可以是固定的或可变的大小。固定大小的音频块的一个例子是五毫秒音频帧。
通常,本说明书中描述的主题的一个创新方面可以体现在方法中,该方法包括如下动作:由文本到语音系统的一个或多个计算机接收指示用于语音合成的文本的数据;由所述文本到语音系统的所述一个或多个计算机确定每个表示文本的相应部分的文本单元的序列,所述文本单元的序列包括至少第一文本单元、然后第二文本单元;由文本到语音系统的一个或多个计算机确定每个表示文本单元的序列的语音单元的多个路径,其中确定语音单元的多个路径包括:从语音单元语料库中选择包括表示第一文本单元的语音合成数据的第一语音单元;从所述语音单元语料库中选择包括表示所述第二文本单元的语音合成数据的多个第二语音单元,基于(i)联系(concatenate)所述第二语音单元与第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本来确定所述多个第二语音单元中的每一个;以及定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径,以包括在语音单元的多个路径中;以及由文本到语音系统的一个或多个计算机根据从多个路径中选择的路径提供合成语音数据。该方面的其他实施例包括相应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,每个被配置为执行所述方法的动作。可以将一个或多个计算机的系统配置为通过在操作中使得或导致系统执行动作的、安装在系统上的软件、固件、硬件或其组合来执行特定的操作或动作。一个或多个计算机程序可以被配置为通过包括在由数据处理装置执行时使装置执行动作的指令来执行特定操作或动作。
上述和其它实施方案可以每个可选地、独立地或组合地包括一个或多个以下特征。确定每个表示文本的相应部分的文本单元的序列可以包括确定每个表示与由其他文本单元表示的文本的部分分离的、文本的不同部分的文本单元的序列。根据从多个路径中选择的路径提供合成语音数据可以包括提供合成语音数据以使设备生成用于文本的可听数据。
在一些实施方式中,该方法可以包括从语音单元语料库中选择两个或更多起始语音单元,每个起始语音单元包括表示文本单元的序列中的具有在文本字符串的起始处的位置的起始文本单元的语音合成数据。选择两个或更多起始语音单元可以包括选择预定量的起始语音单元。确定每个表示文本单元的序列的语音单元的多个路径可以包括确定预定量的路径。该方法可以包括从预定量的路径中选择提供合成语音数据的路径。多个第二语音单元可以包括两个或更多第二语音单元。定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径可以包括为包括表示第一文本单元的语音合成数据的另一第一语音单元确定不向包括另一第一语音单元的路径添加任何附加语音单元。该方法可以包括为第一文本单元选择每个包括表示第一文本单元的语音合成数据的预定量的第一语音单元;以及对于所述第二文本单元,选择每个包括表示所述第二文本单元的语音合成数据的预定量的第二语音单元,基于(i)联系第二语音单元与相应的第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本来确定所述预定量的第二语音单元中的每一个。
在一些实施方式中,该方法可以包括:对于每个包括表示第二单元的语音合成数据的第二预定量的第二语音单元,确定(i)联系第二语音单元与相应的第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本。第二预定量可以大于预定量。选择预定量的第二语音单元可以包括使用确定的联合成本和确定的目标成本从第二预定量的第二语音单元中选择预定量的第二语音单元。第一文本单元可以具有文本单元的序列中的第一位置。第二文本单元可以具有文本单元的序列中的在第一位置之后、没有任何中间位置的第二位置。从语音单元语料库中选择多个第二语音单元可以包括:使用(i)联系第二语音单元与第一语音单元的数据的联合成本和来自两个或更多起始语音单元的相应起始语音单元、和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本,从语音单元语料库中选择多个第二语音单元。所述方法可以包括确定包括所述文本单元的序列中的每个所述文本单元的所选择的语音单元直到所述第一位置的路径,其中所选择的语音单元包括所述第一语音单元和所述相应的起始语音单元;为所述路径中的所选择的语音单元的每个确定第一声学参数;以及对于所述多个第二语音单元中的每一个,使用所述路径中的所选择的语音单元中的每一个的第一声学参数和所述第二语音单元的第二声学参数来确定所述联合成本。对于多个第二语音单元中的每一个、确定联合成本可以包括对于两个或更多第二语音单元中的每一个,使用路径中的所选择的语音单元中的每个的第一声学参数和第二语音单元的第二声学参数来同时确定联合成本。
本说明书中描述的主题可以在各种实施例中实现,并且可以导致一个或多个以下优点。在一些实施方式中,文本到语音系统可以克服在确定标识用于文本的语音合成的语音单元的路径时的局部最小值或局部最大值。在一些实施方式中,使用目标成本和联合成本两者确定路径改善了文本到语音处理的结果,例如,与仅使用目标成本执行预选或格子构建的系统相比,确定更易于理解或更自然的发音的文本到语音结果。例如,在一些情况下,特定的语音单元可以很好地匹配期望的言语元素,例如具有低的目标成本,但是可能与格子中的其他单元不适合,例如具有高的联合成本。在构建格子时不考虑联合成本的系统可能会受到目标成本的过度影响,并且包括不利于话音的整体质量的特定单元。利用本文公开的技术,使用联合成本来构建格子可以避免使用以总体质量为代价使目标成本最小化的语音单元来填充格子。换句话说,当选择每个单元以包括在格子中时,系统可以平衡联合成本和目标成本的贡献,以添加可能不是单个单元最佳匹配但是一起工作以生成更好的总体综合质量、例如总成本较低的单元。
在一些实施方式中,可以通过使用联合成本来构建格子来提高文本到语音输出的质量,该联合成本利用经过格子的路径中的所有语音单元的声学参数。本技术的一些实施方式确定了用于在紧接在前的单元之后添加当前单元的联合成本。另外,或作为替代方案,一些实施方式使用联合成本来构建格子,所述联合成本表示添加的单元有多适合经过格子的路径中的多个单元。例如,用于为格子选择单元的联合成本可以考虑整个路径的特征,整个路径从格子中的表示话音的起始的语音单元直到格子中的正添加新单元的点。系统可以确定单元是否适合整个单元序列,并且可以使用维特比算法的结果用于路径来选择包含在格子中的单元。以这种方式,包含在格子中的单元的选择可以取决于维特比搜索分析。此外,系统可以向格子添加单元以继续多个不同的路径,其可以以格子中的相同或不同的单元开始。这维持了经过格子的路径的多样性,并且可以帮助避免可能对整个话音的合成质量生成不利影响的局部最小值或局部最大值。
在一些实施方式中,联合地生成具有目标成本和联合成本的格子的下面描述的系统和方法可以与具有合成语音数据的大语料库(例如超过三十个或数百小时的语音数据)的其他系统相比、生成更好的语音合成结果。在许多系统中,随着语音单元语料库的大小增加,文本到语音输出的质量会饱和。许多系统在预选或格子构建阶段期间无法考虑语音单元的声学之间的关系,因此无法充分利用可用的大组语音单元。利用现有技术,文本到语音系统可以考虑在正在构造格子时语音单元的联合成本和声学属性,这允许构建表示更自然的发音语音的单元序列的更细粒度的选择。
在一些实施方式中,下面描述的系统和方法可以增加文本到语音合成的质量,同时限制计算复杂性和其他硬件要求。例如,文本到语音系统可以选择预定量的路径,其标识语音单元的序列,并且设置在任何时间分析的路径的总数量上的边界以及存储用于这些路径的数据所需的存储器的量。在一些实施方式中,下面描述的系统和方法从语音单元的语料库调用预先记录的话音或话音的部分,以改善约束文本域中的合成语音生成质量。例如,文本到语音系统可以无论何时文本域被约束(例如,在GPS导航应用中)则调用预先记录的话音或话音的部分以达到最大质量。
在附图和下面的描述中阐述了本说明书中描述的主题的一个或多个实施方式的细节。通过描述,附图和权利要求、主题的其它特征、方面和优点将变得显而易见。
附图说明
图1是用户设备从文本到语音系统请求语音合成数据的环境的示例。
图2是语音单元格子的示例。
图3是用于提供合成语音数据的处理的流程图。
图4是可以结合本文档中描述的计算机实现的方法使用的计算系统的框图。
各附图中的相同附图标记和标号指示相同的元件。
详细说明
图1是其中用户设备102从文本到语音系统116请求语音合成数据的环境100的示例。用户设备102可以请求语音合成数据,使得用户设备102可以生成文本内容(诸如电子邮件、文本消息、由数字助理提供的消息、来自应用的通信或其他内容)的可听呈现。在图1中,文本到语音系统116与用户设备102分离。在一些实施方式中,文本到语音系统116被包括在用户设备102中,例如在用户设备102上实现。
用户设备102可以确定例如向用户可听见地呈现文本内容。例如,用户设备102可以包括计算机实现的代理108,其确定可听见地呈现文本内容。计算机实施的代理108可以提示用户“存在未读的文本消息”。计算机实现的代理108可以向扬声器106提供数据以引起提示的呈现。作为响应,计算机实现的代理108可以从麦克风104接收音频信号。计算机实现的代理108分析音频信号以确定在音频信号中包括的一个或多个话音、以及这些话音中的任何一个是否是命令。例如,计算机实现的代理108可以确定音频信号包括“给我读文本消息”的话音。
计算机实现的代理108从存储器检索例如文本消息的文本数据。例如,计算机实现的代理108可以向文本消息应用发送请求文本消息的数据的消息。文本消息应用可以从存储器检索文本消息的数据,并将数据提供给计算机实现的代理108。在一些示例中,文本消息应用可以向计算机实现的代理108提供指示存储了文本消息的数据的存储器位置的标识符。
计算机实现的代理108在与文本到语音系统116的通信134中提供文本(例如,文本消息)的数据。例如,计算机实现的代理108检索文本“你好,唐。让我们在星期五联系(Hello,Don.Let’s connect on Friday)”的数据,并使用检索到的数据创建通信134。计算机实现的代理108例如使用网络138将通信134提供给文本到语音系统116。
文本到语音系统116将来自通信134的数据中的至少一些提供给文本单元解析器118。例如,文本到语音系统116向文本单元解析器118提供“你好,唐。让我们在星期五联系(Hello,Don.Let’s connect on Friday)”的所有文本的数据。在一些示例中,文本到语音系统116可以例如,取决于文本单元解析器118将分析的文本的大小,向文本单元解析器118提供文本的一些但不是全部的数据。
文本单元解析器118创建文本数据的文本单元的序列。文本单元可以是任何适当类型的文本单元,例如双音素、音素、任何类型的语言原子、例如单词或音频块、或这些中的两个或更多的组合。例如,文本单元解析器为文本消息创建文本单元的序列。单词“hello(你好)”的文本单元的序列的一个例子包括三个文本单元:“h-e”、“e-l”和“l-o”。
文本单元的序列可以表示单词的一部分、单词、短语、例如两个或更多单词、句子的一部分、句子、多个句子、段落或另一适当大小的文本。文本单元解析器118或文本到语音系统116的另一组件可以使用用于呈现可听内容的延迟、合成语音有多好地表示自然相接的语音的预期可能性、或两者中的一个或多个来选择文本单元的序列的文本。例如,文本到语音系统116可以使用用于呈现可听内容的延迟来确定提供给文本单元解析器118的文本的大小,例如使得较小尺寸的文本减少从计算机实施的代理108确定呈现可听内容的时间到在扬声器106上呈现可听内容的时间的延迟,并且将文本提供给文本单元解析器118以使得文本单元解析器118生成文本单元的相应序列。
文本单元解析器118将文本单元的序列提供给格子生成器120,格子生成器120从合成语音单元语料库124中选择如下语音单元,这些语音单元包括表示来自文本单元的序列的相应文本单元的语音合成数据。例如,合成语音单元语料库124可以是包括多个条目126a-e的数据库,每个条目包括语音单元的数据。合成语音单元语料库124可以包括超过三十小时语音单元的数据。在一些示例中,合成语音单元语料库124可以包括数百个小时的语音单元的数据。
语音单元的条目126a-e中的每一个条目标识该条目相应的文本单元。例如,第一、第二和第三条目126a-c可以每个标识“/e-l”的文本单元,并且第四和第五条目126d-e可以每个标识“/l-o/”的文本单元。
语音单元的条目126a-e中的每一个条目标识用于相应文本单元的可听呈现的波形的数据。例如用户设备102的系统可以将波形与其他文本单元的其他波形组合使用以生成例如文本消息的文本的可听呈现。条目可以包括波形的数据,例如音频数据。条目可以包括指示例如在文本到语音系统116中或在另一系统上、波形被存储的位置的标识符。
语音单元的条目126a-e包括指示由相应条目标识的波形的多个参数的数据。例如,对于相应的波形,条目126a-e中的每一个可以包括声学参数、语言参数或两者。格子生成器120使用条目的参数来确定是否选择该条目作为相应文本单元的候选语音单元,如下面更详细描述的。
声学参数可以表示语音单元的相应波形的声音。在一些示例中,声学参数可以涉及波形的实际实现,并且可以从语音单元的波形导出。例如,声学参数可以传达关于文本中携带的实际消息的信息,例如关于口头音素的标识的信息。声学参数可以包括可以在表示中参数化的音调、基频、频谱信息和/或频谱包络信息,诸如梅尔频率系数、语调、持续时间、语音单元上下文或这些中的两个或更多的组合。语音单元上下文可以指示当创建波形时与波形相邻的、例如之前或之后的其他语音单元。声学参数可以表示在波形中表示的情绪,例如快乐、不快乐、悲伤、不悲伤、不高兴、或者这些中的两种或更多种的组合。声学参数可以表示在波形中包括的紧张,例如紧张、不紧张或两者。声学参数可以指示说出在波形中包括的语音的速度。格子生成器120可以选择具有相同或相似的速度的多个语音单元以相应于文本单元序列中的文本单元,例如使得合成的语音更自然。声学参数可以指示波形是否包括强调。在一些示例中,声学参数可以指示波形是否适合于合成作为问题的文本。例如,格子生成器120可以确定文本单元的序列表示例如用户设备102的用户的问题,并且从合成语音单元语料库124中用指示语音单元具有用于合成可听见的问题的合适语调(如上升的拐点)的声学参数来选择语音单元。声学参数可以指示波形是否合适地合成作为感叹的文本。
语言参数可以表示从单元(例如,文本单元或语音单元)相应的文本导出的数据。相应的文本可以是单词、短语、句子、段落或单词的一部分。在一些示例中,系统可以从被说出的文本中导出语言参数以创建语音单元的波形。在一些实施方式中,系统可以通过推断确定文本的语言参数。例如,系统可以从包括语音单元的文本的音素或隐马尔可夫模型表示中导出语音单元的语言参数。在一些示例中,系统可以使用神经网络(例如,使用监督的、半监督的或非监督的处理)导出语音单元的语言参数。语言参数可能包括紧张、韵律、文本单元是否是问题的一部分、文本单元是否是感叹的一部分、或这些中的两个或更多的组合。在一些示例中,一些参数可以是声学参数和语言参数,例如紧张、文本单元是否是问题的一部分、文本单元是否是感叹的一部分、或这些中的两个或更多。
在一些实施方案中,系统可以使用来自波形分析系统(例如人工智能波形分析系统)的数据、使用用户输入、或两者来确定波形和相应的语音单元的一个或多个语音参数、一个或多个语言参数或两者的组合。例如,音频信号可以具有指示在音频信号中编码的内容是“开心”的标志。系统可以例如通过将音频信号分割成多个波形、来为音频信号中的不同文本单元创建多个波形,并且将波形的每个语音单元与指示语音单元包括具有快乐音调的合成语音的参数相关联。
格子生成器120通过使用联合成本、目标成本或两者来为文本单元的序列中的每个文本单元选择多个语音单元,来为多个语音单元中的每一个创建语音单元格子200,下面将更详细地描述。例如,格子生成器120可以使用目标成本来选择表示文本单元的序列中的第一文本单元(例如“h-e”)的第一语音单元。格子生成器120可以使用每个附加语音单元的目标成本和联合成本两者,来选择附加语音单元,诸如表示第二文本单元(例如“el”)的第二语音单元、以及表示第三文本单元(例如“lo”)的第三语音单元。
语音单元格子200包括经过语音单元格子200的多个路径,每个路径包含文本单元的序列中的每个相应的文本单元的仅一个语音单元。路径标识表示文本单元的序列的语音单元的序列。一个示例路径包括语音单元128、132b和132a,且另一示例付费包括语音单元128、130b和132b。
在路径中标识的每个语音单元可以相应于文本单元的序列中的单个位置处的单个文本单元。例如,在文本单元的序列“Hello,Don.Let’s connect on Friday(你好,唐。让我们在星期五联系)”的情况下,文本单元的序列可以包括“D-o”、“o-n”、“l-e”、“t-s”、“c-o”、“n-e”、“c-t”和“o-n”等文本单元。格子生成器120为这些文本单元中的每一个选择一个语音单元。虽然该路径包括“o-n”的两个实例——一个是单词“Don”,第二个是单词“on”——路径将标识两个语音单元,文本单元的每个实例之一为“o-n”。该路径可为两个文本单元“o-n”中的每一个标识相同的语音单元,或者可以例如取决于目标成本、联合成本或两者,对于相应于这些文本单元的语音单元标识不同的语音单元。
路径中的语音单元的数量小于或等于文本单元的序列中的文本单元的数量。例如,当格子生成器120尚未完成路径时,该路径包括比文本单元的序列中的文本单元的数量更少的语音单元。当格子生成器120已经完成路径时,该路径包括文本单元的序列中的每个文本单元的一个语音单元。
语音单元的目标成本指示语音单元相应于文本单元的序列中的文本单元的程度,例如,描述语音单元的波形有多好地传达文本的预期消息。格子生成器120可以使用候选语音单元的语言参数和目标文本单元的语言参数来确定语音单元的目标成本。例如,第三语音单元的目标成本指示第三语音单元相应于第三文本单元(例如“l-o”)的程度。格子生成器120可以将目标成本确定为候选语音单元的语言参数与目标文本单元的语言参数之间的距离。格子生成器120可以使用诸如概率、均方误差或Lp范数的距离函数。
联合成本指示将语音单元与路径中的一个或多个其他语音单元联系的成本。例如,联合成本描述了给定了语音单元的波形与在路径中的其他语音单元的其他波形的联系的情况下,例如合成话音的波形有多好地表现为自然相接的语音。格子生成器120可以使用语音单元的声学参数和候选语音单元被考虑用于添加到的路径中的一个或多个语音单元的声学参数来确定候选语音单元的联合成本。例如,将第三语音单元132b添加到包括第一语音单元128和第二语音单元130b的路径的联合成本可以表示将第三语音单元132b与第二语音单元130b组合的成本,例如,这种组合可能有多好地表示自然相接的语音,或者可以指示将第三语音单元132b与第一语音单元128和第二语音单元130b的组合相组合的成本。格子生成器120可以将联合成本确定为候选语音单元与候选语音单元被考虑用于添加到的路径中的一个语音单元或多个语音单元的声学参数之间的距离。格子生成器120可以使用概率、均方误差或Lp范数距离函数。
当使用可用于格子生成器120的一种目标数据来选择语音单元时,格子生成器120可以确定是使用目标成本、联合成本还是两者。例如,当格子生成器120仅具有用于目标文本单元的语言参数时,例如,对于文本单元的序列中的起始文本单元,格子生成器120可以确定将文本单元添加到文本单元的序列的路径的目标成本。当格子生成器120具有用于先前语音单元的声学参数和用于目标文本单元的语言参数时,格子生成器120可以确定用于将候选语音单元添加到路径的目标成本和联合成本。
当在分析是否将候选语音单元130a添加到路径期间、格子生成器120使用目标成本和联合成本时,格子生成器120可以使用用于候选语音单元130a的参数的复合向量以确定作为目标成本和联合成本的组合的总成本。例如,格子生成器120可以通过将用于目标文本单元(例如,target(m))的语言参数的向量与候选语音单元正在被考虑用于添加到的路径中的语音单元128的声学参数的向量(例如SU(m-1,1))相组合来确定目标复合向量。格子生成器120可以从存储器(例如包括目标文本单元的语言参数的数据库)接收目标文本单元的语言参数。格子生成器120可以从合成语音单元语料库124接收语音单元128的声学参数。
格子生成器120可以从合成语音单元语料库124接收候选语音单元130a的复合向量,例如SU(m,1)。例如,当格子生成器120接收到用于合成语音单元语料库124中的第一条目126a时,复合向量包括用于候选语音单元130a的声学参数α1、α2、α3、语言参数t1、t2等参数。
格子生成器120可以将候选语音单元130a的目标复合向量和复合向量之间的距离确定为候选语音单元的总成本。当候选语音单元130a是SU(m,1)时,候选语音单元SU(m,1)的总成本是TargetCost1和JoinCost1的组合。目标成本可以表示为单个数字,例如十进制值。格子生成器120可以例如分离地、例如并行地确定TargetCost1和JoinCost1,然后组合这些值以确定总成本。在一些示例中,格子生成器120可以例如在不确定TargetCost1或JoinCost1的情况下确定总成本。
格子生成器120可以确定另一候选语音单元130b,例如SU(m,2),以分析向包括所选择的语音单元128(例如,SU(m-1,1))的路径的潜在添加。由于目标文本单元和另一候选语音单元130b被考虑用于添加到的路径中的语音单元128相同,所以格子生成器120可以使用用于另一候选语音单元130b的相同目标复合向量。格子生成器120可以确定目标复合向量与另一候选语音单元130b的另一复合向量之间的距离,以确定用于将另一候选语音单元添加到路径的总成本。当另一候选语音单元130b是SU(m,2)时,候选语音单元SU(m,2)的总成本是TargetCost2和JoinCost2的组合。
在一些实施方式中,目标复合向量可以包括候选语音单元正被考虑用于添加到的路径中的多个语音单元的数据。例如,当格子生成器120确定添加到包括所选择的语音单元128和所选择的其他候选语音单元130b的路径的候选语音单元时,新的目标组合向量可以包括所选择的语音单元128和所选择的另一语音单元130b的声学参数。格子生成器120可以检索新的候选语音单元132b的复合向量,并将新的目标复合向量与新的复合向量进行比较,以确定用于将新的候选语音单元132b添加到路径的总成本。
在一些实施方式中,当参数可以是声学参数和语言参数时,语音单元的条目126a-e可以包括具有对参数编码一次的该参数的数据的复合向量。格子生成器120可以基于目标文本单元的参数、路径中所选择的语音单元的声学参数或两者来确定是否在语音单元的成本计算中使用该参数。在一些示例中,当参数可以是声学参数和语言参数时,语音单元的条目126a-e可以包括具有对参数编码两次(一次作为语言参数,并且一次作为声学参数)的该参数的数据的复合向量。
在一些实施方式中,特定类型的参数仅是语言参数或声学参数,并且不是两者。例如,当特定参数是语言参数时,该特定参数可能不是声学参数。当特定参数是声学参数时,该特定参数可能不是语言参数。
图2是语音单元格子200的示例。格子生成器120可以为文本单元的序列中每个文本单元用预定量的L个语音单元顺序地填充格子200。图2中所示的每个列表示文本单元和相应的语音单元。对于每个文本单元,格子生成器继续由语音单元格子200表示的预定量的路径K。在每个文本单元处,或者当填充所示的每列时,格子生成器120重新评估应该继续哪K个路径。在构成格子200之后,文本到语音系统116可以使用语音单元格子200来确定文本单元的序列的合成语音。在一些示例中,格子生成器120可以在格子200中并且对于每个文本单元包括预定量L的语音单元,预定量L大于在从一个文本单元到下一个文本单元的每个转换时被选择继续的路径的预定数量K。此外,被标识为对特定文本单元标识的最佳K个路径之一的路径可以被扩展或分支为用于下一文本单元的两个或更多路径。
通常,格子200可以被构造为表示M个文本单元的序列,其中m表示序列{1,...,M}中的单个文本单元。格子生成器120填充表示序列中的初始文本单元(m=1)的初始格子部分或列。这可以通过从语音单元语料库中针对m=1的文本单元的选择具有最低目标成本的量L个语音单元来完成。对于序列(m={2,...,M})中的每个附加文本单元,格子生成器120还用L个语音单元填充相应的列。对于这些列,L个语音单元的集合可以由为经过格子200的不同路径标识的最近邻居的不同集合构成。特别地,格子生成器120可以标识经过格子200的最佳K个路径,并且确定最佳K个路径中的每个路径的最近邻居的集合。可以限制最佳的K个路径,使得每个路径在格子200中的不同的语音单元处结束,例如,最佳的K个路径在K个不同语音单元处结束。可以使用(i)当前文本单元的目标成本和(ii)相对于路径中的最后一个语音单元和/或路径中的其他语音单元的联合成本来确定路径的最近邻居。在已经为给定文本单元选择了一组L个语音单元之后,格子生成器120可以运行维特比算法或另一适当算法的迭代,以标识当选择语音单元以包括在格子200中用于下一个文本单元时使用的K个最佳路径。
通常,格子生成器120例如对于文本单元的序列中的每个文本单元选择多个候选语音单元,以包括在格子200中,用于要合成的文本的每个文本单元(例如音素(phone)或者双音素(diphone))。为每个文本单元选择的语音单元的数量可以被限制为预定量,例如预定量L。
例如,在时间段T1之前格子生成器120可以在文本单元的序列中为第一文本单元“h-e”选择预定量的第一语音单元202a-f。格子生成器120可以选择用于第一语音单元202a-f的L个最佳语音单元。例如,格子生成器120可以使用第一语音单元202a-f中的每一个的目标成本来确定要选择第一语音单元202a-f中的哪一个。如果第一单元“h-e”表示在合成话音开始时的初始文本单元,则仅可以使用针对文本单元的目标成本。如果第一单元“h-e”表示话音的中间、例如话音中的第二个或后续单词,则目标成本可以与联合成本一起使用,以确定哪些语音单元被选择并包括在格子200中。格子生成器120选择预定量L的第一语音单元202a-f中的预定数量K个。第一语音单元202a-f中的所选择的预定数量K个、例如所选择的第一语音单元202a-c在图2中用交叉影线示出。在一些示例中,格子生成器120可以确定选择第一语音单元202a-f中的预定数量K个,以选择作为表示文本单元的序列的路径的起始语音单元,例如,在有或没有选择L个第一语音单元202a–f的情况下。
当第一文本单元表示序列的初始文本单元时,格子生成器120可以将第一语音单元202a-c选择为具有第一文本单元的最佳目标成本的预定数量K个语音单元。最佳的目标成本可以是最低的目标成本,例如,当更低的值表示相应的第一语音单元202a-f和文本单元“h-e”(例如,(target(m-1))之间更接近的匹配时。在一些示例中,最佳目标成本可以是候选第一语音单元的语言参数与目标文本单元的语言参数之间的最短距离。最佳的目标成本可以是最高的目标成本,例如,当更高的值表示相应的第一语音单元202a-f和文本单元“h-e”之间更接近的匹配时。当格子生成器120使用最低的目标成本时,更低的联合成本表示目标单元的更自然相接的语音。当格子生成器120使用最高的目标成本时,更高的联合成本表示目标单元的更自然地相接的语音。
在时间T1期间,对于每个当前路径,格子生成器120例如对于所选择的第一单元202a-c中的每一个,使用候选语音单元的联合成本、目标成本或两者确定一个或多个候选语音单元。格子生成器120可以从合成语音单元语料库124确定候选第二语音单元204a-f。格子生成器120可以确定总共预定量L个候选第二语音单元204a-f。对于K个当前路径中的每一个,格子生成器120可以使用L和K两者的值来确定候选语音单元的数量。K个当前路径在图2中由所选择的第一语音单元202a-c指示,用交叉影线示出,且所选择的第一语音单元202a-c之间的连接用在所选择的第一语音单元202a-c和候选第二语音单元204a-f之间的箭头示出,例如候选第二语音单元204a-f中的每一个特定于所选择的第一语音单元202a-c中的一个。例如,格子生成器120可以为K个路径中的每个确定L/K候选语音单元。如图2所示,在K=3和L=6的情况下,格子生成器120可以为由所选择的第一语音单元202a-c标识的每个当前路径确定总共两个候选第二语音单元204。格子生成器120可以确定用于包括第一语音单元202a的路径的两个候选第二语音单元204a-b、包括第一语音单元202b的路径的两个候选第二语音单元204c-d以及用于包括第一语音单元202c的路径的两个候选第二语音单元204e-f。
格子生成器120从候选第二语音单元204a-f中选择用于添加到K个路径的定义且相应于第二文本单元“e-1”(例如,target(m))的多个候选语音单元。格子生成器120可以使用候选语音单元的联合成本、目标成本或二者从候选第二语音单元204a-f中选择多个候选语音单元。例如,格子生成器120可以选择例如比候选第二语音单元204a-f中的其他语音单元具有更低或更高成本的最佳K个候选第二语音单元204a-f。当更低的成本表示与相应的所选择的第一语音单元的更接近的匹配时,格子生成器120可以选择具有最低的成本的K个候选第二语音单元204a-f。当更高成本表示与相应的所选择的第一语音单元更接近的匹配时,格子生成器120可以选择具有最高的成本的K个候选第二语音单元204a-f。
格子生成器120在时间段T1期间选择候选第二语音单元204b-d以表示到第二文本单元“e-1”的最佳K个路径。所选择的第二语音单元204b-d在图2中以交叉影线示出。格子生成器120将作为所选择的第二语音单元的候选第二语音单元204b添加到包括第一语音单元202a的路径。格子生成器120将作为所选择的第二语音单元的候选第二语音单元204c-d添加到包括第一语音单元202b的路径以限定两个路径。例如,包括第一语音单元202b的第一路径还包括对于第二文本单元“e-1”的所选择的第二语音单元204c。包括第一语音单元202b的第二路径包括对于第二文本单元“e-1”的所选择的第二语音单元204d。
在该示例中,先前包括了第一语音单元202c的路径不包括当前语音单元,例如,在时间T1之后不是当前路径。因为候选第二语音单元204e-f的成本比所选择的第二语音单元204b-d的成本差,所以格子生成器120没有选择候选第二语音单元204e-f中的任何一个,并且确定停止将语音单元添加到包括第一语音单元202c的路径。
在时间段T2期间,格子生成器120对于表示直到“e-l”文本单元的最佳K个路径的所选择的第二语音单元204b-d中的每一个确定对于文本单元“l-o”(例如,target(m+1))的多个候选第三语音单元206a-f。格子生成器120可以从合成语音单元语料库124确定候选第三语音单元206a-f。格子生成器120可以重复类似于用于确定候选第二语音单元204a-f的处理的处理,以确定候选第三语音单元206a-f。例如,格子生成器120可以确定对于所选择的第二语音单元204b的候选第三语音单元206a-b、对于所选择的第二语音单元204c的候选第三语音单元206c-d以及对于所选择的第二语音单元204d的候选第三语音单元206e-f。格子生成器120可以使用目标成本、联合成本或两者、例如总成本,来确定候选第三语音单元206a-f。
然后,格子生成器120可以使用目标成本、联合成本或两者从候选第三语音单元206a-f中选择多个语音单元,以添加到语音单元路径。例如,格子生成器120可以选择候选第三语音单元206a-c来定义对于包括文本单元“l-o”的语音单元的文本单元的序列的路径。格子生成器120可以选择候选第三语音单元206a-c以添加到路径,因为这些语音单元的总成本优于其他候选第三语音单元206d-f的总成本。
格子生成器120可以继续使用文本单元的序列中的所有文本单元的联合成本、目标成本或两者为每个文本单元选择多个语音单元的处理。例如,文本单元的序列可以包括在序列起始处的“h-e”、“e-l”和“l-o”(如在参考图1所描述的那样)、在序列的中间的、例如“Don-hello”、或在序列的末尾。
在一些实施方式中,针对未选择的语音单元,格子生成器120可以确定对于一个或多个候选语音单元的目标成本、联合成本或两者。例如,格子生成器120可以针对未选择的第一语音单元202d-f确定候选第二语音单元204a-f的成本。如果格子生成器120确定候选第二语音单元204a-f之一与未选择的第一语音单元202d-f之一的组合的总路径成本指示该路径是最佳K个路径之一,格子生成器120可以将相应的第二语音单元添加到未选择的第一语音单元。例如,格子生成器可以确定包括未选择的第一语音单元202f和候选第二语音单元204的路径的总路径成本是最佳K个路径之一,并且使用该路径来选择第三语音单元206。
图2示出了构建格子200的处理的几个重要方面。格子生成器120可以以顺序的方式,选择第一组语音单元以表示格子200中的第一文本单元,然后选择第二组语音单元以表示格子200中的第二文本单元,等等,来构建格子200。每个文本单元的语音单元的选择可以取决于在先前文本单元的格子200中包括的语音单元。格子生成器120选择多个语音单元以包括在每个文本单元的格子200中,例如,在图2的示例中,每个文本单元有L=6个语音单元。
格子生成器120可以以在经过格子200的现有最佳路径上继续或建立的方式为格子200选择语音单元。取代继续单个最佳路径、或者仅仅是经过单个语音单元的路径,格子生成器120继续在每个文本单元的格子中的经过多个语音单元的路径。每当将一组语音单元添加到格子200时,格子生成器120可以重新运行维特比分析。结果,路径的特定性质可以从一个选择步骤到下一个选择步骤而改变。
在图2中,每列包括六个语音单元,并且列中仅有三个语音单元用于确定哪些语音单元要包括在下一列中。格子生成器120选择预定量的语音单元,例如对于文本单元“h-e”的单元202a-202c,其表示经过格子200到该点的最佳路径。这些可以是与最低总成本相关联的语音单元。对于格子200中的特定语音单元,总成本可以表示经过格子200的最佳路径中的组合的联合成本和目标成本,该最佳路径(i)在表示文本单元序列的初始文本单元的格子200中的任何语音单元处开始,以及(ii)在特定语音单元处结束。
为了选择当前文本单元的语音单元,可以运行维特比算法来确定表示先前文本单元的格子200中的每个语音单元的最佳路径和相关总成本。可以选择具有最小总路径成本的预定量的语音单元(例如图2的示例中的K=3),作为用于先前文本单元的最佳K个语音单元。可以在执行分析以选择表示当前文本单元的语音单元期间使用对于先前文本单元的最佳K个语音单元。每个最佳语音单元可以被分配对于当前文本单元的格子200中的有限空间的一部分,例如用于L=6个语音单元的空间。
对于先前文本单元的最佳K个语音单元的每个,可以将预定量的语音单元添加到格子中以表示当前文本单元。例如,对于先前语音单元的最佳K个语音单元中的每一个可以添加L/K语音单元,例如6/3=2个语音单元。对于被确定为文本单元“h-e”的最佳K个语音单元之一的语音单元202a,基于针对文本单元“e-l”的其目标成本并基于针对语音单元202a的其联合成本来选择和添加语音单元204a和204b。类似地,对于也被确定为文本单元“h-e”的最佳K个语音单元之一的语音单元202b,基于针对文本单元“e-l”的其目标成本并且基于针对语音单元202b的其联合成本来选择和添加语音单元204c和204d。可以根据与第二组语音单元204c和204d稍微不同的标准来选择第一组语音单元204a和204b,因为使用针对不同的先前语音单元的联合成本来确定这两组。
图2的示例示出了对于正被填充的格子200的当前列,经过前一列中的一些语音单元的路径被有效地修剪或忽略,并且不用于确定将语音单元添加到当前列。此外,经过前一列中最佳K个语音单元之一的路径被分支或分割,使得当前列中的两个或更多语音单元分别继续该路径。结果,对于每个文本单元的选择处理有效地分支出最佳、最低成本的路径,同时通过限制对于每个文本单元的候选语音单元的数量来限制计算复杂度。
返回到图1,当格子生成器120已经确定了对于文本单元的序列中的所有文本单元的语音单元时,例如当确定了语音单元的K个路径时,格子生成器120提供每个路径的数据到路径选择器122。路径选择器122分析每个路径以确定最佳路径。当更低成本值表示语音单元和文本单元之间更接近的匹配时,最佳路径可以具有最低成本。当更高的值表示语音单元和文本单元之间更接近的匹配时,最佳路径可以具有最高成本。
例如,路径选择器122可以分析由格子生成器120生成的K个路径的每个,并且使用路径中的语音单元的目标成本、联合成本或总成本来选择路径。路径选择器122可以通过组合路径中所选择的每个语音单元的成本来确定路径成本。例如,当路径包括三个语音单元时,路径选择器122可以确定用于选择三个语音单元中的每一个的成本的总和。成本可能是目标成本、联合成本或两者的组合。在一些示例中,成本可以是目标成本、联合成本或总成本中的两个或更多的组合。
在图2所示的语音单元格子200中,路径选择器122选择包括SpeechUnit(m-1,1)202a、SpeechUnit(m,2)204b和SpeechUnit(m+1,2)的路径用于合成单词“hello”,如围绕并连接这些语音单元的粗线所示。所选择的语音单元可以具有最低路径成本或最高路径成本,这取决于更低还是更高的值表示语音单元和文本单元之间以及相同路径中的多个语音单元之间的更接近的匹配。
返回到图1,文本到语音系统116生成标识所选路径的合成语音数据的第二通信136。在一些实施方式中,合成语音数据可以包括使得诸如扬声器的设备生成对于文本消息的合成语音的指令。
文本到语音系统116例如使用网络138向用户设备102提供第二通信136。用户设备102(例如,计算机实现的代理108)在扬声器106上使用来自第二通信136的数据来提供文本消息的可听呈现110。用户设备102可以在显示器上的应用用户界面112(例如,文本消息应用用户界面)中呈现文本消息的可见内容114的同时提供可听呈现110。
在一些实施方式中,文本单元的序列可以是单词、句子或段落。例如,文本单元解析器118可以接收标识段落的数据并将段落分成句子。第一句可以是“你好,唐”,第二句可以是“让我们在星期五联系”。文本单元解析器118可以向格子生成器120提供对于每个句子的单独的文本单元的序列,以使合成数据选择器分别生成对于文本单元的序列的每个的路径。
文本单元解析器118和文本到语音系统116可以使用应当呈现合成语音数据的时间、指示合成语音数据有多可能表现为自然相接的语音的测量、或两者,来确定文本单元的序列的长度。例如,为了使扬声器106更快地呈现可听内容,文本单元解析器118可以选择较短的文本单元序列,使得文本到语音系统116将更快地向用户设备102提供第二通信136。在这些示例中,文本到语音系统116可以向用户设备102提供多个第二通信,直到文本到语音系统116提供整个文本消息的数据或其他文本数据。在一些示例中,文本单元解析器118可以选择更长的文本单元序列,以增加合成语音数据的表现为像自然相接的语音的可能性。
在一些实施方式中,计算机实现的代理108具有对于一个或多个预定义消息的预定语音合成数据。例如,计算机实现的代理108可以包括对于提示“存在未读的文本消息”的预定语音合成数据。在这些示例中,计算机实现的代理108将未读文本消息的数据发送到文本,因为计算机实现的代理108没有对于未读文本消息的预定语音合成数据。例如,未读文本消息中的单词和句子的序列与用于计算机实现的代理108的任何预定义消息不同。
在一些实施方式中,用户设备102可以在不使用计算机实现的代理108的情况下提供内容的可听呈现。例如,用户设备102可以包括文本消息应用或提供文本消息的可听呈现的另一应用。
文本到语音系统116是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中实现了本文档中描述的系统、组件和技术。用户设备102可以包括能够通过网络138发送和接收数据的个人计算机、移动通信设备和其他设备。诸如局域网(LAN)、广域网(WAN)、因特网或其组合的网络138连接用户设备102和文本到语音系统116。文本到语音系统116可以使用单个服务器计算机或多个服务器计算机彼此结合地操作,包括为例如部署为云计算服务的一组远程计算机。
图3是用于提供合成语音数据的处理300的流程图。例如,处理300可以被来自环境100的文本到语音系统116使用。
文本到语音系统接收指示用于语音合成的文本的数据(302)。例如,文本到语音系统从指示来自文本消息或电子邮件的文本的用户设备接收数据。数据可以标识文本的类型,例如电子邮件或文本消息,例如用于确定合成数据。
文本到语音系统确定每个表示文本的相应部分的文本单元的序列(304)。每个文本单元可以表示与由其他文本单元表示的文本的部分分离的、文本的不同部分。文本到语音系统可以确定对于所有接收的文本的文本单元的序列。在一些示例中,文本到语音系统可以确定对于所接收的文本的一部分的文本单元的序列。
文本到语音系统确定每个表示文本单元的序列的语音单元的多个路径(306)。例如,文本到语音系统可以执行步骤308到314中的一个或多个以确定语音单元的路径。
文本到语音系统从语音单元语料库中选择包括表示第一文本单元的语音合成数据的第一语音单元(308)。第一文本单元可以具有在文本单元的序列的起始处的位置。在一些示例中,第一文本单元可以具有除文本单元的序列中的最后位置之外的、文本单元的序列中的不同位置。在一些示例中,文本到语音系统可以选择两个或更多第一语音单元,每个第一语音单元包括表示第一文本单元的不同语音合成数据。
对于语音单元语料库中的多个第二语音单元中的每一个,文本到语音系统确定(i)联系第二语音单元与第一语音单元的联合成本、以及(ii)指示第二语音单元相应于第二文本单元的程度的目标成本(310)。第二文本单元可以具有第一文本单元的位置之后、而在文本单元的序列中没有任何中间位置的、文本单元的序列中的第二位置。在一些实施方式中,文本到语音系统可以确定联系第二语音单元与第一语音单元和路径中的一个或多个附加语音单元的联合成本,该一个或多个附加语音单元例如包括路径中的作为与第一语音单元不同的语音单元的起始语音单元。
文本到语音系统可以确定路径中的每个所选择的语音单元的第一声学参数。文本到语音系统可以确定第二文本单元的第一语言参数。文本到语音系统可以确定包括第一声学参数和第一语言参数的数据的目标复合向量。文本到语音系统仅需要为多个第二语音单元的组确定第一声学参数、第一语言参数和目标复合向量一次。在一些示例中,文本到语音系统可以分别为每个第二语音单元确定第一声学参数、第一语言参数和目标向量。
文本到语音系统可以使用特定第二语音单元的第一声学参数和第二声学参数来确定特定第二语音单元的相应联合成本。文本到语音系统可以使用特定第二语音单元的第一语言参数和第二语言参数来确定特定第二语音单元的相应目标成本。当文本到语音系统确定特定第二语音单元的联合成本和目标成本两者时,文本到语音系统可以仅确定特定第二语音单元的总成本,其表示联合成本和用于将特定第二语音单元添加到路径的目标成本两者。
在一些实施方式中,文本到语音系统可以同时确定多个第二语音单元的一个或多个成本。例如,对于两个或更多第二语音单元中的每一个,文本到语音可以对于相应的第二语音单元同时确定联合成本和目标成本,例如作为分离的成本或单个目标成本。
文本到语音系统使用相应的联合成本和目标成本从多个第二语音单元中选择包括表示第二文本单元的语音合成数据的多个第三语音单元(312)。例如,文本到语音系统可以确定最佳K个第二语音单元。文本到语音系统可以将每个第二语音单元的成本与其他第二语音单元的成本进行比较,以确定最佳的K个第二语音单元。
文本到语音系统定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径,以包括在语音单元的多个路径中(314)。文本到语音系统可以使用所确定的最佳K个第二语音单元生成K个路径,其中最佳K个第二语音单元中的每个是相应路径的最后一个语音单元。
文本到语音系统根据从多个路径中选择的路径提供合成语音数据(316)。将合成语音数据提供给设备可以使得设备生成相应于所接收到的文本的全部或部分的合成语音数据的可听呈现。
在一些实施方式中,处理300可以包括额外的步骤、更少的步骤,或者一些步骤可以被分成多个步骤。例如,文本到语音系统可以执行步骤302至304和310至314,而不执行步骤306、308或316。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中、包括本说明书中公开的结构及其结构等同物、或它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形的非暂时性程序载体上编码的计算机程序指令的一个或多个模块,用于由数据处理装置执行或以控制数据处理装置的操作。或者或另外,程序指令可以在被生成以编码用于传输到合适的接收机装置的信息的人造生成的传播信号(例如,机器生成的电、光学或电磁信号)上进行编码,以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器器件、或其中的一个或多个的组合。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
也可以以任何形式的编程语言来编写也可以被称为程序、软件、软件应用、模块、软件模块、脚本或代码的计算机程序,该编程语言包括编译或解释语言、或声明性或程序性语言,并且计算机程序可以以任何形式部署,包括作为独立程序或作为适用于计算环境中的模块、组件、子例程或其他单元。计算机程序可以但不一定相应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如存储在标记语言文档中的一个或多个脚本)中、专用于所讨论的程序的单个文件中、或者在多个协调的文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。可以将计算机程序部署为在一个计算机上或位于一个站点上或者分布在多个站点上并由通信网络互连的多个计算机上执行。
在本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程计算机执行。处理和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列))或ASIC(专用集成电路)执行,并且装置也可以作为专用逻辑电路(例如,FPGA(现场可编程门阵列))或ASIC(专用集成电路)被实现。
适用于执行计算机程序的计算机包括例如通用或专用微处理器或两者、或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于进行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器器件。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或传输数据到其,该一个或多个大容量存储设备例如磁、磁光盘或光盘。然而,计算机不一定具有这样的设备。此外,计算机可以嵌入在另一设备中,例如在移动电话、智能电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器)中,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器器件,包括例如半导体存储器器件,例如EPROM、EEPROM和闪存器件;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可由专用逻辑电路补充或并入其中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备(例如LCD(液晶显示器)、OLED(有机发光二极管)或其他监视器)以及用户可以向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)的计算机上实现,用于向用户显示信息。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从其接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收的请求,将网页发送到用户设备上的网络浏览器。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过图形用户界面或Web浏览器与这里描述的系统和技术的实施方式或者一个或多个这种后端、中间件或前端组件的任何组合进行交互)的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质、例如通信网络而互连。通信网络的示例包括局域网(“LAN”)、和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于每个计算机上运行且具有彼此之间的客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器将诸如超文本标记语言(HTML)页面的数据传送到用户设备,例如,为了向与用作客户端的用户设备交互的用户显示数据和从用户接收用户输入的目的。在用户设备处生成的数据、例如用户交互的结果可以从服务器处的用户设备接收。
图4是可以用于将本文档中描述的系统和方法用作客户端或一个服务器或多个服务器的计算设备400、450的框图。计算设备400旨在表示各种形式的数字计算机,例如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备450旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话、智能手表、头戴式设备和其他类似的计算设备。这里所示的组件,它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制在本文档中描述和/或要求保护的实施方式。
计算设备400包括处理器402、存储器404、存储设备406、连接到存储器404和高速扩展端口410的高速接口408以及连接到低速总线414和存储设备406的低速接口412。组件402、404、406、408、410和412中的每一个使用各种总线互连,并且可以安装在公共主板或适当地以其他方式安装。处理器402可以处理在计算设备400内执行的指令,包括存储在存储器404中或存储设备406上的指令,以在外部输入/输出设备(诸如耦合到高速接口408的显示器416)上显示GUI的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多种存储器。此外,可以连接多个计算设备400,每个设备提供必要操作的部分,例如作为服务器组、一组刀片服务器或多处理器系统。
存储器404在计算设备400内存储信息。在一个实施方式中,存储器404是计算机可读介质。在一个实施方式中,存储器404是一个或多个易失性存储器单元。在另一实现中,存储器404是一个或多个非易失性存储器单元。
存储设备406能够为计算设备400提供大容量存储。在一个实施方式中,存储设备406是计算机可读介质。在各种不同的实施方案中,存储设备406可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备、或者包括存储区域网络或其他配置中的设备的设备阵列。在一个实施方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,当被执行时进行一个或多个方法,例如上述的方法。信息载体是诸如存储器404、存储设备406或处理器402上的存储器的计算机或机器可读介质。
高速控制器408管理计算设备400的带宽密集型操作,而低速控制器412管理较低带宽密集型操作。这种职责分配只是示范性的。在一个实施方式中,高速控制器408耦合到存储器404、显示器416(例如,通过图形处理器或加速器)以及可接受各种扩展卡(未示出)的高速扩展端口410。在实施方式中,低速控制器412耦合到存储设备406和低速扩展端口414。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合到一个或多个输入/输出设备,例如键盘、指示设备、扫描仪或诸如交换机或路径器的网络设备,例如通过网络适配器。
计算设备400可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器420,或者在一组这样的服务器中多次实现。它也可以被实现为机架式服务器系统424的一部分。此外,其可以在诸如膝上型计算机422的个人计算机中实现。或者,来自计算设备400的组件可以与移动设备中的其他组件(未示出)、诸如设备450组合。这些设备中的每一个可以包含计算设备400、450中的一个或多个,并且整个系统可以由彼此通信的多个计算设备400、450构成。
计算设备450包括处理器452、存储器464、诸如显示器454的输入/输出设备、通信接口466和收发器468等组件。设备450还可以设置有诸如微驱动器或其他设备的存储设备,以提供额外的存储。组件450、452、446、454、466和468中的每一个使用各种总线互连,并且若干组件可以适当地安装在公共主板上或以其他方式安装。
处理器452可以处理在计算设备450内执行的指令,包括存储在存储器464中的指令。处理器还可以包括单独的模拟和数字处理器。处理器可以例如提供用于设备450的其他组件的协调,诸如用户界面的控制、由设备450运行的应用以及设备450的无线通信。
处理器452可以通过控制接口458和耦合到显示器454的显示接口456与用户进行通信。显示器454可以是例如TFT LCD显示器或OLED显示器或其他适当的显示技术。显示接口456可以包括适当的电路,用于驱动显示器454向用户呈现图形和其它信息。控制接口458可以从用户接收命令并将其转换以提交给处理器452。此外,可以提供与处理器452通信的外部接口462,以便能够与其他设备进行设备450的近区域通信。外部接口462可以例如用于有线通信(例如,经由对接过程)或用于无线通信(例如,经由蓝牙或其他此类技术)。
存储器464在计算设备450内存储信息。在一个实施方式中,存储器464是计算机可读介质。在一个实施方式中,存储器464是一个或多个易失性存储器单元。在另一实施方式中,存储器464是一个或多个非易失性存储器单元。扩展存储器474还可以通过扩展接口472来被提供和连接到设备450,扩展接口472可以包括例如SIMM卡接口。这种扩展存储器474可以为设备450提供额外的存储空间,或者还可以存储用于设备450的应用或其他信息。具体地,扩展存储器474可以包括用于执行或补充上述处理的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以被提供为用于设备450的安全模块,并且可以用允许设备450的安全使用的指令来编程。此外,可以经由SIMM卡来提供安全应用以及附加信息,例如以不可攻击的方式将标识信息放置在SIMM卡上。
存储器可以包括例如闪速存储器和/或MRAM存储器,如下所述。在一个实施方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,当被执行时进行一个或多个方法,例如上述的方法。信息载体是计算机或机器可读介质,诸如存储器464、扩展存储器474或处理器452上的存储器。
设备450可以通过通信接口466进行无线通信,通信接口466可以在必要时包括数字信号处理电路。通信接口466可以提供诸如GSM语音呼叫、SMS、EMS或MMS消息、CDMA、TDMA、PDC、WCDMA、CDMA2020或GPRS等各种模式或协议下的通信。这种通信可以例如通过射频收发机468发生。此外,可能发生短距离通信,例如使用蓝牙、WiFi或其他此类收发器(未示出)。此外,GPS接收器模块470可以向设备450提供额外的无线数据,其可以适当地由在设备450上运行的应用来使用。
设备450还可以使用音频编解码器460可听地通信,音频编解码器460可以从用户接收口语信息并将其转换为可用的数字信息。音频编解码器460同样可以为用户生成可听见的声音,例如通过例如在设备450的手机中的扬声器。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件、等等),并且还可以包括在设备450上操作的应用生成的声音。
计算设备450可以以多种不同的形式来实现,如图所示。例如,它可以被实现为蜂窝电话480。它也可以被实现为智能电话482、个人数字助理或其他类似的移动设备的一部分。
这里描述的系统和技术的各种实现可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,所述可编程系统包括可以是特殊或通用目的的至少一个可编程处理器,其被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向其发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级程序和/或面向对象的编程语言和/或装配/机器语言。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),其用于向可编程处理器提供机器指令和/或数据,包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
这里描述的系统和技术可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过图形用户界面或Web浏览器与这里描述的系统和技术的实施方式或者一个或多个这种后端、中间件或前端组件的任何组合进行交互)的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质、例如通信网络而互连。通信网络的示例包括局域网(“LAN”)、和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于每个计算机上运行且具有彼此之间的客户端-服务器关系的计算机程序而产生的。
虽然本说明书包含许多具体的实现细节,但是这些说明不应被解释为对可要求保护的范围的限制,而应被解释为对特定实施例特定的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以分离地或以任何合适的子组合在多个实施例中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初要求保护,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被切除,并且所要求保护的组合可以针对子组合或变化的组合。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行此类操作,或者执行所有所示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所述的动作可以以不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中所示的处理不一定需要所示的特定顺序或顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (23)

1.一种非暂时计算机存储介质,其编码有指令,所述指令当由文本到语音系统的一个或多个计算机执行时,使得所述一个或多个计算机执行操作,所述操作包括:
由文本到语音系统的一个或多个计算机接收指示用于语音合成的文本的数据;
由文本到语音系统的一个或多个计算机确定每个表示文本的相应部分的文本单元的序列,所述文本单元的序列包括至少第一文本单元、然后第二文本单元;
由文本到语音系统的一个或多个计算机确定每个表示文本单元的序列的语音单元的多个路径,其中确定语音单元的多个路径包括:
从语音单元语料库中选择包括表示第一文本单元的语音合成数据的第一语音单元;
从所述语音单元语料库中选择包括表示所述第二文本单元的语音合成数据的多个第二语音单元,基于(i)联系所述第二语音单元与第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本来确定所述多个第二语音单元中的每一个;以及
定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径,以包括在语音单元的多个路径中;以及
由文本到语音系统的一个或多个计算机根据从多个路径中选择的路径提供合成语音数据。
2.根据权利要求1所述的计算机存储介质,其中确定每个表示所述文本的相应部分的文本单元的序列包括确定文本单元的序列,所述文本单元每个表示与由其他文本单元表示的文本的部分分离的、文本的不同部分。
3.根据权利要求1所述的计算机存储介质,其中,根据从所述多个路径中选择的路径提供所述合成语音数据包括提供所述合成语音数据以使得设备生成所述文本的可听数据。
4.根据权利要求1所述的计算机存储介质,所述操作包括:
从语音单元语料库中选择两个或更多起始语音单元,每个起始语音单元包括表示文本单元的序列中的、具有在文本串的起始处的位置的起始文本单元的语音合成数据。
5.根据权利要求4所述的计算机存储介质,其中:
选择两个或更多起始语音单元包括选择预定量的起始语音单元;以及
确定每个表示文本单元的序列的语音单元的多个路径包括确定预定量的路径,所述操作包括:
从预定量的路径中选择提供合成语音数据的路径。
6.根据权利要求5所述的计算机存储介质,其中:
所述多个第二语音单元包括两个或更多第二语音单元;以及
定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径包括为包括表示第一文本单元的语音合成数据的另一第一语音单元确定不向包括另一第一语音单元的路径添加任何附加语音单元。
7.根据权利要求6所述的计算机存储介质,所述操作包括:
为第一文本单元选择每个包括表示第一文本单元的语音合成数据的预定量的第一语音单元;以及
为第二文本单元选择每个包括表示第二文本单元的语音合成数据的预定量的第二语音单元,基于(i)联系第二文本单元和相应的第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本来确定所述预定量的第二语音单元的每个。
8.根据权利要求7所述的计算机存储介质,所述操作包括:
对于每个包括表示第二单元的语音合成数据的第二预定量的第二语音单元,确定(i)联系第二文本单元和相应的第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本,其中:
所述第二预定量大于所述预定量;以及
选择所述预定量的第二语音单元包括使用确定的联合成本和确定的目标成本从第二预定量的第二语音单元中选择预定量的第二语音单元。
9.如权利要求4所述的计算机存储介质,其中:
所述第一文本单元具有在文本单元的序列中的第一位置;
所述第二文本单元具有在文本单元的序列中的在所述第一位置之后、没有任何中间位置的第二位置;以及
从所述语音单元语料库中选择多个第二语音单元包括:使用(i)联系所述第二语音单元与所述第一语音单元的数据的联合成本和来自所述两个或更多起始语音单元的相应的起始语音单元、以及(ii)指示所述第二语音单元相应于所述第二文本单元的程度的所述目标成本,来从所述语音单元语料库中选择所述多个第二语音单元。
10.根据权利要求9所述的计算机存储介质,所述操作包括:
确定包括所述文本单元的序列中的每个文本单元的所选择的语音单元直到所述第一位置的路径,其中所选择的语音单元包括所述第一语音单元和所述相应的起始语音单元;
为所述路径中的所选择的语音单元中的每一个确定第一声学参数;以及
对于所述多个第二语音单元中的每一个,使用所述路径中的所选择的语音单元中的每一个的第一声学参数和所述第二语音单元的第二声学参数来确定所述联合成本。
11.根据权利要求10所述的计算机存储介质,其中,对于所述多个第二语音单元中的每一个确定所述联合成本包括:对于两个或更多第二语音单元中的每一个,使用路径中的所选择的语音单元中的每一个的所述第一声学参数和所述第二语音单元的第二声学参数来同时确定所述联合成本。
12.一种文本到语音系统,包括一个或多个计算机和一个或多个存储设备,其上存储有指令,所述指令在由所述一个或多个计算机执行时可操作以使所述一个或多个计算机执行操作,所述操作包括:
由文本到语音系统的一个或多个计算机接收指示用于语音合成的文本的数据;
由所述文本到语音系统的所述一个或多个计算机确定每个表示文本的相应部分的文本单元的序列,所述文本单元的序列包括至少第一文本单元、然后第二文本单元;
由文本到语音系统的一个或多个计算机确定每个表示文本单元的序列的语音单元的多个路径,其中确定语音单元的多个路径包括:
从语音单元语料库中选择包括表示第一文本单元的语音合成数据的第一语音单元;
从所述语音单元语料库中选择包括表示所述第二文本单元的语音合成数据的多个第二语音单元,基于(i)联系所述第二语音单元与第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本来确定所述多个第二语音单元中的每一个;以及
定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径,以包括在语音单元的多个路径中;以及
由文本到语音系统的一个或多个计算机根据从多个路径中选择的路径提供合成语音数据。
13.根据权利要求12所述的文本到语音系统,其中确定每个表示文本的相应部分的文本单元的序列包括确定每个表示与其他文本单元表示的文本的部分分离的、文本的不同部分的文本单元的序列。
14.根据权利要求12所述的文本到语音系统,其中,根据从所述多个路径中选择的路径提供所述合成语音数据包括提供所述合成语音数据以使得设备生成用于所述文本的可听数据。
15.根据权利要求12所述的文本到语音系统,所述操作包括:
从语音单元语料库中选择两个或更多起始语音单元,每个起始语音单元包括表示文本单元的序列中的具有在文本串的起始处的位置的起始文本单元的语音合成数据。
16.根据权利要求15所述的文本到语音系统,其中:
选择两个或更多起始语音单元包括选择预定量的起始语音单元;以及
确定每个表示文本单元的序列的语音单元的多个路径包括确定预定量的路径,所述操作包括:
从预定量的路径中选择提供合成语音数据的路径。
17.根据权利要求16所述的文本到语音系统,其中:
所述多个第二语音单元包括两个或更多第二语音单元;以及
定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径包括为包括表示第一文本单元的语音合成数据的另一第一语音单元确定不向包括另一第一语音单元的路径添加任何附加语音单元。
18.根据权利要求17所述的文本到语音系统,所述操作包括:
为第一文本单元选择每个包括表示第一文本单元的语音合成数据的预定量的第一语音单元;以及
为第二文本单元选择每个包括表示第二文本单元的语音合成数据的预定量的第二语音单元,基于(i)联系第二文本单元与相应的第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本来确定预定量的第二语音单元的每个。
19.根据权利要求18所述的文本到语音系统,所述操作包括:
对于每个包括表示第二单元的语音合成数据的第二预定量的第二语音单元,确定(i)联系第二文本单元与相应的第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本,其中:
所述第二预定量大于所述预定量;以及
选择预定量的第二语音单元包括使用确定的联合成本和确定的目标成本从第二预定量的第二语音单元中选择预定量的第二语音单元。
20.根据权利要求15所述的文本到语音系统,其中:
第一文本单元具有文本单元的序列中的第一位置;
所述第二文本单元具有在文本单元的序列中所述第一位置之后、没有任何中间位置的第二位置;以及
从所述语音单元语料库中选择多个第二语音单元包括:使用(i)联系所述第二语音单元与所述第一语音单元的数据的联合成本和来自所述两个或更多起始语音单元的相应的起始语音单元、以及(ii)指示所述第二语音单元相应于所述第二文本单元的程度的所述目标成本,来从所述语音单元语料库中选择所述多个第二语音单元。
21.根据权利要求20所述的文本到语音系统,所述操作包括:
确定包括所述文本单元的序列中的每个文本单元的所选择的语音单元直到所述第一位置的路径,其中所选择的语音单元包括所述第一语音单元和所述相应的起始语音单元;
为所述路径中的所选择的语音单元中的每一个确定第一声学参数;以及对于所述多个第二语音单元中的每一个,使用所述路径中的所选择的语音单元中的每一个的第一声学参数和所述第二语音单元的第二声学参数来确定所述联合成本。
22.根据权利要求21所述的文本到语音系统,其中,对于所述多个第二语音单元中的每一个确定所述联合成本包括:对于两个或更多第二语音单元中的每一个,使用路径中的所选择的语音单元中的每一个的所述第一声学参数和所述第二语音单元的第二声学参数来同时确定所述联合成本。
23.一种计算机实现的方法,包括:
由文本到语音系统的一个或多个计算机接收指示用于语音合成的文本的数据;
由所述文本到语音系统的所述一个或多个计算机确定每个表示文本的相应部分的文本单元的序列,所述文本单元的序列包括至少第一文本单元、然后第二文本单元;
由文本到语音系统的一个或多个计算机确定每个表示文本单元的序列的语音单元的多个路径,其中确定语音单元的多个路径包括:
从语音单元语料库中选择包括表示第一文本单元的语音合成数据的第一语音单元;
从所述语音单元语料库中选择包括表示所述第二文本单元的语音合成数据的多个第二语音单元,基于(i)联系所述第二语音单元与第一语音单元的联合成本和(ii)指示第二语音单元相应于第二文本单元的程度的目标成本来确定所述多个第二语音单元中的每一个;以及
定义从所选择的第一语音单元到多个第二语音单元中的每一个第二语音单元的路径,以包括在语音单元的多个路径中;以及
由文本到语音系统的一个或多个计算机根据从多个路径中选择的路径提供合成语音数据。
CN201711049277.3A 2017-03-14 2017-10-31 语音合成单元选择 Active CN108573692B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/GR2017/000012 WO2018167522A1 (en) 2017-03-14 2017-03-14 Speech synthesis unit selection
IBPCT/GR2017/000012 2017-03-14

Publications (2)

Publication Number Publication Date
CN108573692A true CN108573692A (zh) 2018-09-25
CN108573692B CN108573692B (zh) 2021-09-14

Family

ID=58448572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711049277.3A Active CN108573692B (zh) 2017-03-14 2017-10-31 语音合成单元选择

Country Status (5)

Country Link
US (2) US10923103B2 (zh)
EP (1) EP3376498B1 (zh)
CN (1) CN108573692B (zh)
DE (2) DE102017125475B4 (zh)
WO (1) WO2018167522A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111199747A (zh) * 2020-03-05 2020-05-26 北京花兰德科技咨询服务有限公司 人工智能通信系统及通信方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109036375B (zh) * 2018-07-25 2023-03-24 腾讯科技(深圳)有限公司 语音合成方法、模型训练方法、装置和计算机设备
KR102637341B1 (ko) * 2019-10-15 2024-02-16 삼성전자주식회사 음성 생성 방법 및 장치
CN113554737A (zh) * 2020-12-04 2021-10-26 腾讯科技(深圳)有限公司 目标对象的动作驱动方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1589524A1 (en) * 2004-04-15 2005-10-26 Multitel ASBL Method and device for speech synthesis
CN1787072A (zh) * 2004-12-07 2006-06-14 北京捷通华声语音技术有限公司 基于韵律模型和参数选音的语音合成方法
US20120143611A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Trajectory Tiling Approach for Text-to-Speech
US20140257818A1 (en) * 2010-06-18 2014-09-11 At&T Intellectual Property I, L.P. System and Method for Unit Selection Text-to-Speech Using A Modified Viterbi Approach
US9240178B1 (en) * 2014-06-26 2016-01-19 Amazon Technologies, Inc. Text-to-speech processing using pre-stored results
CN105609097A (zh) * 2014-11-17 2016-05-25 三星电子株式会社 语音合成装置及其控制方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366883B1 (en) 1996-05-15 2002-04-02 Atr Interpreting Telecommunications Concatenation of speech segments by use of a speech synthesizer
US7082396B1 (en) * 1999-04-30 2006-07-25 At&T Corp Methods and apparatus for rapid acoustic unit selection from a large speech corpus
GB0112749D0 (en) 2001-05-25 2001-07-18 Rhetorical Systems Ltd Speech synthesis
US7983919B2 (en) 2007-08-09 2011-07-19 At&T Intellectual Property Ii, L.P. System and method for performing speech synthesis with a cache of phoneme sequences
US8321222B2 (en) 2007-08-14 2012-11-27 Nuance Communications, Inc. Synthesis by generation and concatenation of multi-form segments
US8583438B2 (en) * 2007-09-20 2013-11-12 Microsoft Corporation Unnatural prosody detection in speech synthesis
US8805687B2 (en) 2009-09-21 2014-08-12 At&T Intellectual Property I, L.P. System and method for generalized preselection for unit selection synthesis
US8571871B1 (en) * 2012-10-02 2013-10-29 Google Inc. Methods and systems for adaptation of synthetic speech in an environment
US8751236B1 (en) * 2013-10-23 2014-06-10 Google Inc. Devices and methods for speech unit reduction in text-to-speech synthesis systems
US9978359B1 (en) * 2013-12-06 2018-05-22 Amazon Technologies, Inc. Iterative text-to-speech with user feedback
US9697820B2 (en) * 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
KR101807064B1 (ko) * 2016-11-03 2017-12-08 현대자동차 주식회사 마이크로폰 시스템 및 이의 제조방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1589524A1 (en) * 2004-04-15 2005-10-26 Multitel ASBL Method and device for speech synthesis
CN1787072A (zh) * 2004-12-07 2006-06-14 北京捷通华声语音技术有限公司 基于韵律模型和参数选音的语音合成方法
US20140257818A1 (en) * 2010-06-18 2014-09-11 At&T Intellectual Property I, L.P. System and Method for Unit Selection Text-to-Speech Using A Modified Viterbi Approach
US20120143611A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Trajectory Tiling Approach for Text-to-Speech
US9240178B1 (en) * 2014-06-26 2016-01-19 Amazon Technologies, Inc. Text-to-speech processing using pre-stored results
CN105609097A (zh) * 2014-11-17 2016-05-25 三星电子株式会社 语音合成装置及其控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111199747A (zh) * 2020-03-05 2020-05-26 北京花兰德科技咨询服务有限公司 人工智能通信系统及通信方法

Also Published As

Publication number Publication date
US11393450B2 (en) 2022-07-19
DE202017106608U1 (de) 2018-02-14
US10923103B2 (en) 2021-02-16
US20210134264A1 (en) 2021-05-06
DE102017125475B4 (de) 2023-05-25
DE102017125475A1 (de) 2018-09-20
US20180268807A1 (en) 2018-09-20
EP3376498A1 (en) 2018-09-19
CN108573692B (zh) 2021-09-14
WO2018167522A1 (en) 2018-09-20
EP3376498B1 (en) 2023-11-15

Similar Documents

Publication Publication Date Title
CN108573693B (zh) 文本到语音系统和方法以及其存储介质
CN109196582B (zh) 用单词重音预测发音的系统和方法
US10127901B2 (en) Hyper-structure recurrent neural networks for text-to-speech
CN108573692A (zh) 语音合成单元选择
US8527276B1 (en) Speech synthesis using deep neural networks
CN111261144B (zh) 一种语音识别的方法、装置、终端以及存储介质
CN107945786A (zh) 语音合成方法和装置
US20210366462A1 (en) Emotion classification information-based text-to-speech (tts) method and apparatus
US11488577B2 (en) Training method and apparatus for a speech synthesis model, and storage medium
CN112689871A (zh) 使用神经网络以目标讲话者的话音从文本合成语音
CN108630190A (zh) 用于生成语音合成模型的方法和装置
CN110264991A (zh) 语音合成模型的训练方法、语音合成方法、装置、设备及存储介质
CN107430859A (zh) 将输入映射到表单域
US20160343366A1 (en) Speech synthesis model selection
CN111433847B (zh) 语音转换的方法及训练方法、智能装置和存储介质
CN108052498A (zh) 语音输入的字词级纠正
CN107077638A (zh) 基于先进的递归神经网络的“字母到声音”
CN109949791A (zh) 基于hmm的情感语音合成方法、装置及存储介质
EP3376497B1 (en) Text-to-speech synthesis using an autoencoder
CN114207706A (zh) 使用组合的韵律信息经由神经网络生成声学序列
CN107102748A (zh) 用于输入字词的方法和输入法
GB2560599A (en) Speech synthesis unit selection
CN111489742A (zh) 声学模型训练方法、语音识别方法、装置及电子设备
US20230335111A1 (en) Method and system for text-to-speech synthesis of streaming text
CN117174074A (zh) 一种语音合成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant