CN110491365A - 为纯文本文档生成音频 - Google Patents

为纯文本文档生成音频 Download PDF

Info

Publication number
CN110491365A
CN110491365A CN201810441748.3A CN201810441748A CN110491365A CN 110491365 A CN110491365 A CN 110491365A CN 201810441748 A CN201810441748 A CN 201810441748A CN 110491365 A CN110491365 A CN 110491365A
Authority
CN
China
Prior art keywords
language
role
document
audio
speech
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.)
Withdrawn
Application number
CN201810441748.3A
Other languages
English (en)
Inventor
刘伟
曾敏
邹超
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201810441748.3A priority Critical patent/CN110491365A/zh
Priority to US17/044,254 priority patent/US20210158795A1/en
Priority to EP19723572.4A priority patent/EP3791382A1/en
Priority to PCT/US2019/029761 priority patent/WO2019217128A1/en
Publication of CN110491365A publication Critical patent/CN110491365A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10L2013/083Special characters, e.g. punctuation marks

Abstract

本公开提供了用于为纯文本文档生成音频的方法和装置。可以从所述文档中检测出至少第一话语。可以从所述文档中确定所述第一话语的语境信息。可以从所述第一话语的语境信息中确定与所述第一话语相对应的第一角色。可以确定所述第一角色的属性。可以至少基于所述第一角色的属性来选择与所述第一角色相对应的语音模型。可以通过所述语音模型来生成与所述第一话语相对应的语音。

Description

为纯文本文档生成音频
背景技术
通过利用例如文本分析、语音合成等技术可以将纯文本文档转换成音频。例如,可以基于纯文本文档来生成相对应的模拟人类语音的音频,以便可以用语音的形式来呈现该纯文本文档的内容。
发明内容
提供本发明内容以便介绍一组概念,这组概念将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。
本公开的实施例提供了用于为纯文本文档生成音频的方法和装置。可以从所述文档中检测出至少第一话语。可以从所述文档中确定所述第一话语的语境信息。可以从所述第一话语的语境信息中确定与所述第一话语相对应的第一角色。可以确定所述第一角色的属性。可以至少基于所述第一角色的属性来选择与所述第一角色相对应的语音模型。可以通过所述语音模型来生成与所述第一话语相对应的语音。
本公开的实施例提供了用于基于纯文本文档来提供音频文件的方法和装置。可以获得所述文档。可以从所述文档中检测出至少一个话语和至少一个描述性部分。对于所述至少一个话语中的每一个话语:可以确定与该话语相对应的角色,以及通过与该角色相对应的语音模型来生成与该话语相对应的语音。可以生成与所述至少一个描述性部分相对应的语音。可以基于与所述至少一个话语相对应的语音以及与所述至少一个描述性部分相对应的语音来提供所述音频文件。
应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。
附图说明
以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。
图1示出了根据实施例的基于纯文本文档来生成音频文件的示例性过程。
图2示出了根据实施例的确定与话语相对应的角色的示例性过程。
图3示出了根据实施例的确定与话语相对应的角色的另一示例性过程。
图4示出了根据实施例的生成与话语相对应的语音的示例性过程。
图5示出了根据实施例的生成与描述性部分相对应的语音的示例性过程。
图6示出了根据实施例的确定背景音乐的示例性过程。
图7示出了根据实施例的确定背景音乐的另一示例性过程。
图8示出了根据实施例的确定音效的示例性过程。
图9示出了根据实施例的用于基于纯文本文档来提供音频文件的示例性方法的流程图。
图10示出了根据实施例的用于为纯文本文档生成音频的示例性方法的流程图。
图11示出了根据实施例的用于基于纯文本文档来提供音频文件的示例性装置。
图12示出了根据实施例的用于为纯文本文档生成音频的示例性装置。
图13示出了根据实施例的用于为纯文本文档生成音频的示例性装置。
具体实施方式
现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。
将纯文本文档转换成音频可以有助于提高纯文本文档的可读性、增强用户的使用体验等。就文档格式而言,纯文本文档可以包括任何格式的包含纯文本的文档,例如,可编辑文档、网页、邮件等。就文本内容而言,纯文本文档可以分为多种类型,例如,故事、科技文献、新闻报道、产品说明等。此处,故事类型的纯文本文档可以广泛地指讲述故事或事件的、涉及一个或多个角色的纯文本文档,例如,小说、传记等。随着有声书越来越受到人们的欢迎,将故事类型的纯文本文档转换成相对应的音频的需求逐渐增强。目前,存在多种方式来将故事类型的纯文本文档转换成相对应的音频。在一种方式中,可以使用TTS(从文本到语音)技术,其可以通过语音合成等来基于故事类型的纯文本文档生成相对应的音频,以便可以用语音的形式来讲述该纯文本文档的内容。这种方式仅仅以单一的音色来为整个纯文本文档生成音频,而并不能区分纯文本文档中的不同角色或者为不同的角色分别使用不同的音色。在另一种方式中,可以人为地为故事类型的纯文本文档中的不同角色设置不同的音色,然后通过例如TTS技术,基于特定于角色的音色来为该角色的话语生成语音。这种方式需要对不同角色的音色进行人为的设置。
本公开的实施例提出了自动地基于纯文本文档来生成音频文件,在该音频文件中,对不同角色的话语采用了不同的音色。该音频文件可以包括与纯文本文档中的描述性部分相对应的语音,其中,描述性部分可以指文档中非话语的语句,例如旁白等。此外,该音频文件还可以包括背景音乐以及音效。尽管以下对本公开实施例的讨论针对故事类型的纯文本文档,但是应当理解,本公开的创新性构思可以以类似的方式而应用于任何其它类型的纯文本文档。
图1示出了根据实施例的基于纯文本文档来生成音频文件的示例性过程100。过程100中涉及的各种操作可以被自动地执行,从而实现从纯文本文档到音频文件的自动生成。过程100可以在独立的软件或应用中实施。例如,所述软件或应用可以具有用户界面以用于与用户进行交互。过程100可以在运行所述软件或应用的硬件设备中实施。例如,该硬件设备可以被设计为专用于执行过程100,或者并非仅用于执行过程100。过程100可以作为组件而在第三方应用中调用或实施。作为实例,该第三方应用可以是例如人工智能(AI)聊天机器人,其中,过程100可以使得聊天机器人具有基于纯文本文档来生成音频文件的功能。
在110处,可以获得纯文本文档。该文档可以是例如故事类型的纯文本文档。该文档可以是通过用户界面从用户接收的、可以是基于来自用户的请求或者所识别的请求而从网络上自动获取的、等等。
在一种实施方式中,在对所获得的文档进行处理以生成音频文件之前,过程100可以可选地包括在112处对所述文档执行文本过滤。文本过滤旨在从所述文档中识别出不符合法律、政府规定、道德规范等的词语或语句,例如,涉及暴力、色情、赌博等的表述。例如,可以基于词语匹配、语句匹配等来执行文本过滤。通过文本过滤所识别出的词语或语句可以被删除、替换等。
在120处,可以从所获得的文档中检测话语和描述性部分。此处,话语可以指文档中由角色所说出的语句,而描述性部分可以指文档中除了话语以外的语句,其也可以被称为旁白等。例如,在语句<汤姆说“这里真美呀”>中,“真美呀”是话语,而“汤姆说”是描述性部分。
在一种实施方式中,可以基于关键词来从文档中检测话语和描述性部分。关键词可以是能够指示话语出现的词语,例如,“说”、“喊叫”、“小声说”等。例如,如果在文档的一个语句中检测到关键词“说”,则可以将该语句中位于该关键词后面的部分确定为话语,而将该语句的其它部分确定为描述性部分。
在一种实施方式中,可以基于关键标点符号来从文档中检测话语和描述性部分。关键标点符号可以是能够指示话语出现的标点符号,例如双引号、冒号等。例如,如果在文档的一个语句中检测到双引号,则可以将该语句中位于该双引号中的部分确定为话语,而将该语句的其它部分确定为描述性部分。
在一种实施方式中,对于文档中的一个语句,可以基于没有检测到关键词或者关键标点符号而将该语句确定为是描述性部分。
在120处的检测操作并不局限于以上任何一种方式或其组合,而是可以采用任何适当的方式来从文档中检测话语和描述性部分。通过120处的检测,可以从文档中确定出一个或多个话语122以及一个或多个描述性部分124。
对于话语122,可以在126处分别确定与每一个话语相对应的角色。例如,假设话语122中包括<话语1>、<话语2>、<话语3>、<话语4>等,则可以分别确定出话语1是由角色A说的、话语2是由角色B说的、话语3是由角色A说的、话语4是由角色C说的等。后面将详细讨论如何确定与每一个话语相对应的角色。
在确定了与话语122中每一个话语相对应的角色之后,可以获得与每一个话语相对应的语音152。可以为每一个角色选择相对应的语音模型,并且利用与该角色相对应的语音模型来为该角色的话语生成语音。此处,语音模型可以指能够基于文本来生成具有特定音色的语音的语音生成系统。一个语音模型可以用于生成一个特定人物或角色的语音。不同的语音模型可以生成具有不同音色的语音,从而可以模拟不同人物或角色的语音。
在一种实施方式中,可以预先建立一个角色语音库128。该角色语音库128中可以包括分别对应于多个不同人物或角色的多个候选语音模型。例如,角色语音库128中的角色及其对应的候选语音模型可以是预先根据大规模的语音资料、影音资料等而建立的。
过程100可以基于在126处所确定的角色的属性,从角色语音库128中的多个候选语音模型中选择一个具有类似角色属性的语音模型。例如,对于在126处为<话语1>所确定的角色A,如果角色A的属性类似于角色语音库128中角色A’的属性,则可以将角色语音库128中角色A’的候选语音模型选择用作角色A的语音模型。从而,可以利用该语音模型生成<话语1>的语音。此外,该语音模型可以进而被用于为角色A的其它话语生成语音。
通过类似的方式,可以为126处所确定的每一个角色选择语音模型,并且利用与该角色相对应的语音模型,为该角色的话语生成语音。后面将详细讨论如何生成与话语相对应的语音。
对于描述性部分124,可以获得与描述性部分124相对应的语音154。例如,可以从角色语音库128中选择一个语音模型,以便为文档中的描述性部分生成语音。
在一种实施方式中,过程100可以包括在130处为所获得的文档或者该文档的一个或多个部分确定背景音乐。该背景音乐可以是根据文本内容而添加的,以便可以增强为纯文本文档所生成的音频的感染力。例如,可以预先建立一个包括多种背景音乐的背景音乐库132,并且可以从背景音乐库132中根据文本内容来选择背景音乐156。
在一种实施方式中,过程100可以包括在140处从所获得的文档中检测音效对象。音效对象可以指文档中适合于添加音效的词语等,例如,拟声词、场景词、动作词等等。通过在文档中出现音效对象的位置或附近添加音效,可以增强所生成的音频的生动性。例如,可以预先建立一个包括多种音效的音效库142,并且可以从音效库142中根据所检测的音效对象来选择音效158。
根据过程100,可以基于与话语相对应的语音152、与描述性部分相对应的语音154以及可选的背景音乐156和音效158来形成音频文件160。该音频文件160是对纯文本文档的音频形式的呈现。该音频文件160可以采用任何音频格式,例如,wav、mp3等。
在一种实施方式中,过程100可以可选地包括在162处执行内容定制。该内容定制可以向音频文件160中添加基于特定内容的语音。所述特定内容可以是由用户、内容提供商、广告商等提供的并未记载在纯文本文档中的内容,例如,用户个性化话语、节目介绍、广告等。所述基于特定内容的语音可以被添加到音频文件160的开头、结尾或者任何其它位置处。
在一种实施方式中,尽管未在图中示出,过程100可以可选地包括执行发音校正处理。在一些类型的语言中,例如,在中文中,同一个字符在不同的使用场景中可能具有不同的发音,即,该字符为多音字。因而,为了使得所生成的音频能够具有正确发音,可以对与话语相对应的语音152以及与描述性部分相对应的语音154进行发音校正。例如,可以预先建立一个发音校正库,其包括可以具有不同发音的多个多音字、以及每个多音字在不同使用场景中的正确发音。如果话语122或者描述性部分124中包括了多音字,则可以基于该多音字的使用场景,利用发音校正库来为该多音字选择正确的发音,从而更新与话语相对应的语音152以及与描述性部分相对应的语音154。
应当理解,图1的过程100是基于纯文本文档来生成音频文件的一个实例,根据具体的应用需求和设计约束,过程100也可以进行各种适当的变形。例如,尽管图1示出了分别生成或确定与话语相对应的语音152、与描述性部分相对应的语音154、背景音乐156和音效158,然后将这几者组合成音频文件160,但是也可以通过采用结构化音频标注的方式来直接生成音频文件160,而并不首先分别生成与话语相对应的语音152、与描述性部分相对应的语音154、背景音乐156和音效158。
结构化音频标注方式可以基于例如语音合成标记语言(SSML:Speech SynthesisMarkup Language)等来生成结构化音频标注文本。在一种实施方式中,在结构化音频标注文本中,对于文档中的每一个话语,可以为该话语标注与说出该话语的角色相对应的语音模型,而对于文档中的每一个描述性部分,可以为该描述性部分标注为所有描述性部分选择的语音模型。在结构化音频标注文本中,还可以标注为文档或文档的一个或多个部分选择的背景音乐。此外,在结构化音频标注文本中,还可以在所检测的音效对象处为该音效对象标注所选择的音效。通过上述方式获得的结构化音频标注文本包含了关于如何为整个纯文本文档生成音频的指示。可以基于该结构化音频标注文本来执行音频生成过程以生成音频文件160,其中,该音频生成过程可以基于结构化音频标注文本中的标注来为每个话语或描述性部分调用相对应的语音模型并生成相对应的语音,并且也可以基于结构化音频标注文本中的标注来调用相应的背景音乐、音效等。
图2示出了根据实施例的确定与话语相对应的角色的示例性过程200。过程200可以被执行用于针对话语210确定角色。该话语210可以是从纯文本文档中检测的。
在220处,可以确定话语210的语境信息。此处,语境信息可以指在文档中用于确定与话语210相对应的角色的文本内容。语境信息可以包括多种类型的文本内容。
在一种情形下,语境信息可以是话语210本身。例如,如果话语210为<“我是汤姆,来自西雅图”>,则语境信息可以被确定为<我是汤姆,来自西雅图>。
在一种情形下,语境信息可以是包含话语210的语句中的描述性部分。此处,一个语句可以指表达了完整的含义并且具有句末标点符号的一系列词语的集合。通常可以基于句号、感叹号等来划分语句。例如,如果话语210为<“我来自西雅图”>,并且包含话语210的语句为<汤姆说“我来自西雅图”。>,则语境信息可以被确定为该语句中的描述性部分<汤姆说>。
在一种情形下,语境信息可以是与包含话语210的语句相邻的至少另一个语句。此处,所述相邻的至少另一个语句可以指在包含话语210的语句之前的一个或多个语句、在包含话语210的语句之后的一个或多个语句、或者其组合。所述另一个语句可以包括话语和/或描述性部分。例如,如果话语210为<“这里真美呀”>且包含话语210的语句就是话语210本身,则语境信息可以被确定为包含话语210的语句之前的另一个语句<汤姆走到河边>。此外,例如,如果话语210为<“这里真美呀”>且包含话语210的语句就是话语210本身,则语境信息可以被确定为包含话语210的语句之前的另一个语句<汤姆和杰克走到河边>以及包含话语210的语句之后的另一个语句<汤姆非常兴奋>。
以上仅列出了语境信息的几种示例性情形,并且这些情形也可以任意地组合。例如,在一种情形下,语境信息可以是包含话语210的语句与相邻的至少另一个语句的组合。例如,如果话语210为<“杰克,你看,这里真美呀”>且包含话语210的语句就是话语210本身,则语境信息可以被确定为包含话语210的该语句以及该语句之前的另一个语句<汤姆和杰克走到了河边>两者。
过程200可以在230处对话语210的语境信息执行自然语言理解,以便进而在250处确定与话语210相对应的角色。此处,自然语言理解可以一般性地指对语句形式和/或语句含义的理解。通过执行自然语言理解,可以获得语境信息的一个或多个特征。
在一种实施方式中,自然语言理解可以包括确定语境信息中的词语的词性232。通常,词性为名词或代词的词语很有可能是角色。例如,如果语境信息为<汤姆非常兴奋>,则可以确定该语境信息中的词语<汤姆>为名词。进而,可以在250处将名词词性的词语<汤姆>确定为角色。
在一种实施方式中,自然语言理解可以包括对语境信息中的语句执行句法分析234。通常,语句的主语很有可能是角色。例如,如果语境信息为<汤姆走到河边>,则通过句法分析可以确定该语境信息的主语为<汤姆>。进而,可以在250处将主语<汤姆>确定为角色。
在一种实施方式中,自然语言理解可以包括对语境信息执行语义理解236。此处,语义理解可以指基于特定的表达模式或特定的词语而对语句的含义的理解。例如,根据常规的语言表达,通常,在词语“说”之前的词语很有可能是角色。例如,如果语境信息为<汤姆说>,则通过语义理解可以确定该语境信息包含词语<说>。进而,可以在250处将词语<说>之前的词语<汤姆>确定为角色。
以上讨论了可以分别基于词性、句法分析结果或语义理解结果来确定与话语210相对应的角色。但是,应当理解,也可以通过词性、句法分析结果和语义理解结果之间的任意组合来确定与话语210相对应的角色。
假设语境信息为<汤姆抱着篮球,走到河边>,通过词性分析可以确定该语境信息中的词语<汤姆>和<篮球>都是名词。而通过句法分析可以进而确定词语<汤姆>和<篮球>中的<汤姆>是主语,从而可以将<汤姆>确定为角色。此外,假设语境信息为<汤姆对杰克说>,通过语义理解可以确定词语<说>之前的<汤姆>和<杰克>都可能是角色,然而,通过句法分析可以进而确定<汤姆>是该语句的主语,从而可以将<汤姆>确定为角色。
此外,可选地,过程200可以定义一个角色分类模型240。该角色分类模型240可以采用例如梯度提升决策树(GBDT)。该角色分类模型240的建立可以至少基于通过自然语言理解所获得的语境信息的一个或多个特征,例如,词性、句法分析结果、语义理解结果等。此外,该角色分类模型240也可以基于各种其它的特征。例如,该角色分类模型240可以基于n-gram特征。例如,该角色分类模型240可以基于词语距离话语的距离特征,其中,距离话语越近的词语是角色的可能性越大。例如,该角色分类模型240可以基于语言模式特征,其中,该语言模式可以是预先训练的,以用于确定在该语言模式下与话语对应的角色。举例而言,对于语言模式<A和B,“A,…”>,可以将B标记为话语<“A,…”>的角色,从而,对于输入的语句<汤姆和杰克走到了河边,“杰克,你看,这里真美呀”>,可以将汤姆确定为话语<“杰克,你看,这里真美呀”>的角色。
在过程200使用角色分类模型240的情形下,可以将在230处通过自然语言理解所获得的词性、句法分析结果、语义理解结果等提供给角色分类模型240,并且在250处可以通过该角色分类模型240来确定与话语210相对应的角色。
在一种实施方式中,可选地,过程200可以在260处执行指代消解。如前所述,例如“他”、“她”等代词也可能被确定为角色。为了进一步明确这些代词具体指代哪个角色,需要对被确定为角色的代词进行指代消解。例如,假设话语210为<“这里真美呀”>并且包括话语210的语句为<汤姆走到河边,他说“这里真美呀”>,则在250处可能将<他>确定为话语210的角色。由于在该语句中,代词<他>指的是汤姆,因此,通过指代消解,可以将话语210的角色更新为<汤姆>,以作为最终的话语角色确定结果280。
在一种实施方式中,可选地,过程200可以在270处执行共指消解。在某些情形下,在纯文本文档中可能对于同一个角色实体使用了不同的表述。例如,如果汤姆是一名老师,则可能在文档的一些语句中用名字“汤姆”来指代角色实体<汤姆>,而在另一些语句中用“老师”来指代角色实体<汤姆>。因而,当对于一个话语将<汤姆>确定为角色时,而对于另一个话语将<老师>确定为角色时,可以通过共指消解来将角色<汤姆>和角色<老师>统一成角色实体<汤姆>,以作为最终的话语角色确定结果280。
图3示出了根据实施例的确定与话语相对应的角色的另一示例性过程300。过程300是在图2的过程200基础上的进一步变形,其中,过程300对过程200中确定与话语相对应的角色的操作做出了改进,而过程300中其它操作与过程200中的操作相同。
在过程300中,可以从纯文本文档310中确定包括至少一个候选角色的候选角色集合320。此处,候选角色可以指从纯文本文档310中提取的可能作为话语的角色的词语或短语。通过在330处确定与话语210相对应的角色时考虑来自候选角色集合的候选角色,可以提高话语角色确定的效率以及准确性。
在一种实施方式中,当在330处确定与话语210相对应的角色时,可以从候选角色集合320中选择一个候选角色以作为与话语210相对应的角色。例如,假设<汤姆>是候选角色集合中的候选角色,则当在语句<汤姆说“这里真美呀”>中检测到存在候选角色<汤姆>时,可以将<汤姆>确定为话语<“这里真美呀”>的角色。
在一种实施方式中,在330处,可以综合考虑候选角色集合320与来自自然语言理解的结果和/或来自角色分类模型的结果的组合,以确定与话语210相对应的角色。例如,假设根据自然语言理解和/或角色分类模型确定出<汤姆>和<篮球>都可能是与话语210相对应的角色,则当<汤姆>是候选角色集合中的候选角色时,可以将<汤姆>确定为话语210的角色。此外,例如,假设根据自然语言理解和/或角色分类模型确定出<汤姆>和<篮球>都可能是与话语210相对应的角色,则当<汤姆>和<篮球>都是候选角色集合中的候选角色、但是在候选角色集合中<汤姆>具有比<篮球>更高的排名时,可以将<汤姆>确定为话语210的角色。
应当理解,可选地,在一种实施方式中,候选角色集合也可以被添加作为角色分类模型340的一个特征。例如,当使用角色分类模型340确定话语的角色时,其还可以考虑获选角色集合中的候选角色,并且对在候选角色集合中出现且具有较高排名的角色给予较高的权重。
存在多种方式来从纯文本文档310中确定候选角色集合320。
在一种实施方式中,可以利用候选角色分类模型来确定候选角色集合中的候选角色。该候选角色分类模型可以采用例如GBDT。该候选角色分类模型可以采用一个或多个特征,例如,词频、边界熵、词性等。关于词频特征,可以统计文档中每个词语出现的次数/频率,通常,在文档中具有较高词频的词语将具有较大的概率是候选角色。关于边界熵特征,可以在对文档进行分词时考虑词语的边界熵因素。例如,对于短语“汤姆的妈妈”,通过考虑边界熵,可以将短语“汤姆的妈妈”作为一个整体来考虑其是否是一个候选角色,而不是将该短语分割成两个词语“汤姆”和“妈妈”,再分别确定这两个词语是否是候选角色。关于词性特征,可以确定文档中每个词语的词性,通常,名词词语或代词词语具有较大的概率是候选角色。
在一种实施方式中,可以基于规则来确定候选角色集合中的候选角色。例如,可以利用预定语言模式来从文档中确定候选角色集合。此处,预定语言模式可以包括词性和/或标点符号的组合。一种示例性的预定语言模式可以为<名词+冒号>。通常,如果在标点符号冒号之前的词语为名词,则该名词词语具有较大的概率是候选角色。一种示例性的预定语言模式可以为<名词+“和”+名词>。通常,如果两个名词词语用连接词“和”连接起来,则这两个名词具有较大的概率是候选角色。
在一种实施方式中,可以基于序列标注模型来确定候选角色集合中的候选角色。该序列标注模型可以基于例如条件随机场(CRF)算法。该序列标注模型可以采用一个或多个特征,例如,关键词、词语的词性组合、序列元素的概率分布等。关于关键词特征,可以预先训练得到一些能够用于指示角色的关键词,例如,<汤姆说>中的词语“说”是可以指示候选角色<汤姆>的关键词。关于词性组合特征,可以预先训练得到一些能够用于指示角色的词性组合方式,例如,在<名词+动词>的词性组合方式中,名词词语具有较大的概率是候选角色。关于序列元素的概率分布特征,序列标注模型可以对输入序列中的每个词语进行标注以得到对输入序列的特征表示,通过对该特征表示中元素的概率分布进行统计分析,可以确定出在具有特定概率分布的输入序列中的哪个词语可以是候选角色。
应当理解,过程300可以基于候选角色分类模型、预定语言模式和序列标注模型等方式的任意组合来确定候选角色集合中的候选角色。此外,可选地,可以对通过一种或多种方式所确定的候选角色进行评分,并且仅将分值高于预定阈值的候选角色添加到候选角色集合中。
以上结合图2和图3讨论了如何确定与话语相对应的角色。下面将讨论在确定了与话语相对应的角色之后,如何生成与该话语相对应的语音。
图4示出了根据实施例的生成与话语相对应的语音的示例性过程400。在图4中,已经针对话语410确定了与该话语410相对应的角色420。
过程400可以进而确定与话语410相对应的角色420的属性422。此处,属性可以指用于指示角色特有的特征的各种信息,例如,年龄、性别、职业、性格、身体状况等。可以通过各种方式来确定角色420的属性422。
在一种方式中,可以通过角色语音库属性表来确定角色420的属性。如前所述,角色语音库中可以包括多个候选语音模型,每个候选语音模型对应于一个角色。可以在建立角色语音库时为角色语音库中的每个角色标注属性,例如,可以标注该角色的年龄、性别、职业、性格、身体状况等。可以利用角色语音库中的每个角色及其对应的属性来形成角色语音库属性表。如果通过例如语义匹配确定角色420对应于角色语音库属性表中的一个特定角色,则可以将角色420的属性确定为与该特定角色的属性相同。
在一种方式中,可以通过指代消解来确定角色420的属性,其中,指代消解中涉及的代词本身可以至少指示性别。如前所述,角色420可能是通过指代消解得到的。例如,假设已经确定了语句<汤姆走到河边,他说“这里真美呀”>中与话语410<“这里真美呀”>相对应的角色为<他>,则可以通过指代消解,将话语410的角色更新为<汤姆>,以作为最终的话语角色确定结果420。由于代词“他”本身指示了性别“男”,因而可以确定角色<汤姆>具有性别“男”的属性。
在一种方式中,可以通过角色称呼来确定角色420的属性。例如,如果文档中关于角色<汤姆>的称呼为<汤姆叔叔>,则可以确定角色<汤姆>的性别为“男”并且年龄为20-50岁。例如,如果文档中关于角色<汤姆>的称呼为<汤姆老师>,则可以确定角色<汤姆>的职业为“老师”。
在一种方式中,可以通过角色姓名来确定角色420的属性。例如,如果角色420为<汤姆>,则根据通常的取名规则,可以确定角色<汤姆>的性别为“男”。例如,如果角色420为<爱丽丝>,则根据通常的取名规则,可以确定角色<爱丽丝>的性别为“女”。
在一种方式中,可以通过先验角色信息来确定角色420的属性。此处,先验角色信息可以是预先通过例如朴素贝叶斯算法等从大量的其它文档中确定的,其可以包括在所述其它文档中出现的多个参考角色及其相对应的属性。一条先验角色信息的实例可以为:<白雪公主,性别=女,年龄=14岁,职业=公主,性格=天真、善良,身体状况=健康>。例如,如果通过语义匹配确定角色420对应于先验角色信息中的<白雪公主>,则可以将角色420的属性确定为与先验角色信息中的<白雪公主>的属性相同。
在一种方式中,可以通过角色描述来确定角色420的属性。此处,角色描述可以指文档中对关于角色420的描述性部分和/或涉及到角色420的话语。例如,关于角色<汤姆>,如果文档中具有角色描述<汤姆是个阳光男孩,但他这些天感冒了>,则可以确定角色<汤姆>具有如下属性:性别为“男”,年龄为小于18岁,性格为“阳光”,身体状况为“感冒”等。例如,角色<汤姆>说出了话语<“我妻子很聪明”>,则可以确定角色<汤姆>具有如下属性:性别为“男”,年龄为大于22岁等。
应当理解,以上仅列出了用于确定角色420的属性422的示例性方式,也可以对这些方式进行任意组合以确定角色420的属性422。本公开的实施例并不局限于用于确定角色420的属性422的任何特定方式或多种方式的特定组合。
过程400可以包括基于角色420的属性422来确定与角色420相对应的语音模型440。在一种实施方式中,可以通过将角色420的属性422与角色语音库430的角色语音库属性表进行比对,来找到角色语音库430中与属性422最匹配的特定角色,并且将该特定角色的语音模型确定为与角色420相对应的语音模型440。
过程400可以通过与角色420相对应的语音模型440来生成与话语410相对应的语音450。例如,可以将话语410提供作为语音模型440的输入,以便由该语音模型440进而生成与话语410相对应的语音450。
可选地,过程400可以进一步包括利用语音参数来影响语音模型440对与话语410相对应的语音450的生成。此处,语音参数可以指用于指示与话语相对应的语音的特性的信息,其可以包括语速、音调、音量、情感等中的至少一个。在过程400中,可以基于话语410的语境信息412来确定与话语410相关联的语音参数414。
在一种实施方式中,可以通过在语境信息412中检测关键词来确定语速、音调、音量等语音参数。例如,诸如“快速地说”、“耐心地讲”等关键词可以指示语速为“快”或“慢”,诸如“尖叫”、“忧伤地说”等关键词可以指示音调为“高”或“低”,诸如“大喊”、“小声说”等关键词可以指示音量为“大”或“小”,等等。以上仅仅列出了一些示例性的关键词,本公开的实施例也可以采用任何其它适当的关键词。
在一种实施方式中,也可以通过在语境信息412中检测关键词来确定语音参数“情感”。例如,诸如“生气地说”等关键词可以指示情感为“生气的”,诸如“欢呼”等关键词可以指示情感为“高兴的”,诸如“吓了一跳”等关键词可以指示情感为“吃惊的”,等等。此外,在另一种实施方式中,也可以通过对话语410本身应用情感分类模型来确定与该话语410相对应的情感。该情感分类模型可以是基于深度学习来训练的,其可以区分任意多种不同的情感类型,例如高兴的、愤怒的、悲伤的、吃惊的、厌恶的、中性的等。
可以将按照如上所述而确定的语音参数414提供给语音模型440,使得语音模型440可以在生成与话语410相对应的语音450时考虑到语音参数414的因素。例如,如果语音参数414指示了“大”音量和“快”语速,则语音模型440可以以大音量和快速地方式来生成与话语410相对应的语音450。
图5示出了根据实施例的生成与描述性部分相对应的语音的示例性过程500。
根据过程500,在从纯文本文档510中检测出描述性部分520后,可以生成与描述性部分520相对应的语音540。此处,描述性部分520可以包括文档510中除了话语之外的其它部分。在一种方式中,可以从角色语音库530中为描述性部分520选择一个语音模型,并使用该选择的语音模型来为描述性部分生成语音。可以基于任何预先确定的规则来从角色语音库530中为描述性部分520选择语音模型。所述预先确定的规则可以包括,例如,纯文本文档所面向的对象、纯文本文档的主题类别等。例如,如果纯文本文档510涉及面向儿童的童话故事,则可以为描述性部分选择更容易被儿童喜欢的角色的语音模型,例如,年轻女性的语音模型、老爷爷的语音模型等。例如,如果纯文本文档的主题类别为“科普”,则可以为描述性部分选择职业为老师的中年男性的语音模型等。
图6示出了根据实施例的确定背景音乐的示例性过程600。过程600可以根据纯文本文档610的文本内容来添加背景音乐。
根据过程600,可以确定与纯文本文档610的整个文本内容相关联的内容类别620。该内容类别620可以指示纯文本文档610的整个文本内容涉及什么类别。例如,内容类别620可以包括童话、科普、成语故事、恐怖、探险等等。在一种实施方式中,可以从纯文本文档610的源处获得内容类别620的标签。例如,通常,能够提供纯文本文档的源将会与纯文本文档一起提供与该纯文本文档相关联的内容类别的标签。在另一种实施方式中,可以通过经由机器学习建立的内容类别分类模型来确定纯文本文档610的内容类别620。
在过程600中,可以基于纯文本文档610的内容类别620来从背景音乐库630中选择背景音乐640。背景音乐库630中可以包括分别与不同的内容类别相对应的多种背景音乐。例如,对于内容类别“童话”,其背景音乐可以是轻快活泼类型的音乐,对于内容类别“恐怖”,其背景音乐可以是紧张的音乐,等等。可以通过将纯文本文档610的内容类别620与背景音乐库630中的内容类别进行匹配,来从背景音乐库630中找到与内容类别620相对应的背景音乐640。
应当理解,可以基于预先确定的规则,响应于为纯文本文档生成的音频文件的长短来对该背景音乐640进行截取或重放。
图7示出了根据实施例的确定背景音乐的另一示例性过程700。在过程700中,并非是针对整个纯文本文档确定背景音乐,而是为纯文本文档的多个部分分别确定背景音乐。
根据过程700,可以将纯文本文档710划分成多个部分720。在一种实施方式中,可以采用经由机器学习建立的主题分类模型,根据不同的主题来将纯文本文档710划分成多个部分720。主题分类模型可以被训练用于针对一组句子获得与这一组句子相关联的主题。通过将主题分类模型应用于纯文本文档710,可以将纯文本文档710的文本内容划分成多个部分,例如,多组句子,每一组句子与相应的主题相关联。从而,可以从纯文本文档710中获得多个主题,所述多个主题可以反映,例如,不断演进的故事情节。例如,可能针对纯文本文档710中的多个部分分别获得如下主题:汤姆踢足球,汤姆来到河边散步,汤姆回家休息等。
根据过程700,可以基于纯文本文档700的每个部分的主题730来从背景音乐库740中选择该部分的背景音乐。背景音乐库730中可以包括分别与不同的主题相对应的多种背景音乐。例如,对于主题“踢足球”,其背景音乐可以是快节奏的音乐,对于主题“散步”,其背景音乐可以是舒缓的音乐,等等。可以通过主题730与背景音乐库740中的主题进行匹配,来从背景音乐库740中找到与主题730相对应的背景音乐750。
通过过程700,在为纯文本文档生成的音频文件中将包括根据例如故事情节而不断变化的背景音乐。
图8示出了根据实施例的确定音效的示例性过程800。
根据过程800,可以从纯文本文档810中检测音效对象820。音效对象可以指文档中适合于添加音效的词语等,例如,拟声词、场景词、动作词等等。拟声词指模拟声音的词语,例如,“叮咚”、“噼啪”等。场景词指描述场景的词语,例如,“河边”、“马路”等。动作词指描述动作的词语,例如,“按门铃”、“拍手”等。可以通过文本匹配等来从纯文本文档810中检测音效对象820。
根据过程800,可以基于音效对象820来从音效库830中选择与音效对象相对应的音效840。音效库830中可以包括分别与不同音效对象相对应的多种音效。例如,对于拟声词“叮咚”,其音效可以是实际录制的门铃声,对于场景词“河边”,其音效可以是流水声,对于动作词“按门铃”,其音效可以是门铃声,等等。可以基于例如信息检索技术,通过将音效对象820与音效库830中的音效对象进行匹配,来从音效库830中找到与音效对象820相对应的音效840。
在为纯文本文档生成的音频文件中,可以设置添加音效的时机或位置。在一种实施方式中,可以在出现与一个音效对象相对应的语音的同时,播放与该音效对象相对应的音效。例如,对于音效对象“叮咚”,可以在用语音说出“叮咚”的同时,播放与该音效对象相对应的门铃声。在一种实施方式中,可以在出现与一个音效对象相对应的语音或者与包括该音效对象的语句相对应的语音之前,播放与该音效对象相对应的音效。例如,在语句<汤姆按门铃>中包括音效对象“按门铃”,可以先播放与该音效对象相对应的门铃声,然后用语音说出“汤姆按门铃”。在一种实施方式中,可以在出现与一个音效对象相对应的语音或者与包括该音效对象的语句相对应的语音之后,播放与该音效对象相对应的音效。例如,在语句<汤姆走到河边>中包括音效对象“河边”,可以先用语音说出“汤姆走到河边”,然后播放与该音效对象相对应的流水声。
在为纯文本文档生成的音频文件中,可以设置音效的持续时间。在一种实施方式中,与一个音效对象相对应的音效的持续时间可以等于或接近于与该音效对象相对应的语音的持续时间。例如,假设与音效对象“叮咚”相对应的语音的持续时间是0.9秒,则播放与该音效对象相对应的门铃声的持续时间也可以是0.9秒或接近0.9秒。在一种实施方式中,与一个音效对象相对应的音效的持续时间可以明显短于与该音效对象相对应的语音的持续时间。例如,假设与音效对象“拍手”相对应的语音的持续时间是0.8秒,则播放与该音效对象相对应的拍手声的持续时间可以只有0.3秒。在一种实施方式中,与一个音效对象相对应的音效的持续时间可以明显长于与该音效对象相对应的语音的持续时间。例如,假设与音效对象“河边”相对应的语音的持续时间是0.8秒,则播放与该音效对象相对应的流水声的持续时间可以超过3秒。应当理解,以上仅是设置音效的持续时间的示例,实际上,可以根据任意预先定义的规则或者根据任何先验知识来设置音效的持续时间。例如,通常打雷的声音会持续几秒钟,因此,对于音效对象“打雷”,可以经验性地将与该音效对象相对应的打雷声的持续时间设置为几秒种。
此外,在为纯文本文档生成的音频文件中,可以为音效设置各种播放模式,包括大声模式、小声模式、渐变模式、渐入渐出模式等等。例如,对于音效对象“马路”,可以用较大的声音播放与该音效对象相对应的汽车声,而对于音效对象“河边”,则可以用较小的声音播放与该音效对象相对应的流水声。例如,对于音效对象“打雷”,可以在刚开始播放与该音效对象相对应的打雷声时用较小的声音,然后逐渐放大声音,并且在播放打雷声的结尾处再次减小声音。
图9示出了根据实施例的用于基于纯文本文档来提供音频文件的示例性方法900的流程图。
在910处,可以获得纯文本文档。
在920处,可以从所述文档中检测出至少一个话语和至少一个描述性部分。
在930处,对于所述至少一个话语中的每一个话语,可以确定与该话语相对应的角色,以及通过与该角色相对应的语音模型来生成与该话语相对应的语音。
在940处,可以生成与所述至少一个描述性部分相对应的语音。
在950处,可以基于与所述至少一个话语相对应的语音以及与所述至少一个描述性部分相对应的语音来提供所述音频文件。
在一种实施方式中,方法900还可以包括:确定所述文档的内容类别或者所述文档中的至少一部分的主题;以及基于所述内容类别或者所述主题,向所述音频文件添加与所述文档或者所述至少一部分相对应的背景音乐。
在一种实施方式中,方法900还可以包括:从所述文档中检测至少一个音效对象,所述至少一个音效对象包括拟声词、场景词或者动作词;以及向所述音频文件添加与所述音效对象相对应的音效。
应当理解,方法900还可以包括根据上述本公开实施例的用于基于纯文本文档来提供音频文件的任何步骤/处理。
图10示出了根据实施例的用于为纯文本文档生成音频的示例性方法1000的流程图。
在1010处,可以从纯文本文档中检测出至少第一话语。
在1020处,可以从所述文档中确定所述第一话语的语境信息。
在1030处,可以从所述第一话语的语境信息中确定与所述第一话语相对应的第一角色。
在1040处,可以确定所述第一角色的属性。
在1050处,可以至少基于所述第一角色的属性来选择与所述第一角色相对应的语音模型。
在1060处,可以通过所述语音模型来生成与所述第一话语相对应的语音。
在一种实施方式中,所述第一话语的语境信息可以包括以下各项中的至少一项:所述第一话语;在包含所述第一话语的第一语句中的第一描述性部分;以及与包含所述第一话语的第一语句相邻的至少第二语句。
在一种实施方式中,所述确定与所述第一话语相对应的第一角色可以包括:对所述第一话语的语境信息执行自然语言理解,以获得以下特征中的至少一个特征:所述语境信息中的词语的词性、所述语境信息的句法分析结果、以及所述语境信息的语义理解结果;以及基于所述至少一个特征来识别所述第一角色。
在一种实施方式中,所述确定与所述第一话语相对应的第一角色可以包括:对所述第一话语的语境信息执行自然语言理解,以获得以下特征中的至少一个特征:所述语境信息中的词语的词性、所述语境信息的句法分析结果、以及所述语境信息的语义理解结果;将所述至少一个特征提供给角色分类模型;以及通过所述角色分类模型来确定所述第一角色。
在一种实施方式中,方法1000还可以包括:从所述文档中确定至少一个候选角色。所述确定与所述第一话语相对应的第一角色可以包括从所述至少一个候选角色中选择所述第一角色。所述至少一个候选角色可以是基于候选角色分类模型、预定语言模式和序列标注模型中的至少一个来确定的。所述候选角色分类模型可以采用以下特征中的至少一个特征:词频、边界熵以及词性。所述预定语言模式可以包括词性和/或标点符号的组合。所述序列标注模型可以采用以下特征中的至少一个特征:关键词、词语的词性组合以及序列元素的概率分布。
在一种实施方式中,方法1000还可以包括:确定所述第一角色的词性是代词;以及对所述第一角色进行指代消解。
在一种实施方式中,方法1000还可以包括:从所述文档中检测出至少第二话语;从所述文档中确定所述第二话语的语境信息;从所述第二话语的语境信息中确定与所述第二话语相对应的第二角色;确定所述第二角色对应于所述第一角色;以及对所述第一角色和所述第二角色进行共指消解。
在一种实施方式中,所述第一角色的属性可以包括年龄、性别、职业、性格、身体状况中的至少一个。所述确定所述第一角色的属性可以包括:根据角色语音库属性表、指代消解、角色称呼、角色姓名、先验角色信息、角色描述中的至少一个来确定所述第一角色的属性。
在一种实施方式中,所述生成与所述第一话语相对应的语音可以包括:基于所述第一话语的语境信息来确定与所述第一话语相关联的至少一个语音参数,该至少一个语音参数包括语速、音调、音量、情感中的至少一个;以及通过将所述至少一个语音参数应用于所述语音模型来生成与所述第一话语相对应的语音。所述情感可以是基于所述第一话语的语境信息中的关键词和/或基于情感分类模型来确定的。
在一种实施方式中,方法1000还可以包括:确定所述文档的内容类别;以及基于所述内容类别来选择背景音乐。
在一种实施方式中,方法1000还可以包括:确定所述文档中的第一部分的主题;以及基于所述主题来为所述第一部分选择背景音乐。
在一种实施方式中,方法1000还可以包括:从所述文档中检测至少一个音效对象,所述至少一个音效对象包括拟声词、场景词或者动作词;以及为所述音效对象选择相对应的音效。
在一种实施方式中,方法1000还可以包括:基于关键词和/或关键标点符号来从所述文档中检测出至少一个描述性部分;以及生成与所述至少一个描述性部分相对应的语音。
应当理解,方法1000还可以包括根据上述本公开实施例的用于为纯文本文档生成音频的任何步骤/处理。
图11示出了根据实施例的用于基于纯文本文档来提供音频文件的示例性装置1100。
装置1100可以包括:文档获得模块1110,用于获得纯文本文档;检测模块1120,用于从所述文档中检测出至少一个话语和至少一个描述性部分;话语语音生成模块1130,用于对于所述至少一个话语中的每一个话语,确定与该话语相对应的角色,以及通过与该角色相对应的语音模型来生成与该话语相对应的语音;描述性部分语音生成模块1140,用于生成与所述至少一个描述性部分相对应的语音;以及音频文件提供模块1150,用于基于与所述至少一个话语相对应的语音以及与所述至少一个描述性部分相对应的语音来提供所述音频文件。
此外,装置1100还可以包括根据上述本公开实施例的被配置用于基于纯文本文档来提供音频文件的任何其它模块。
图12示出了根据实施例的用于为纯文本文档生成音频的示例性装置1200。
装置1200可以包括:话语检测模块1210,用于从所述文档中检测出至少第一话语;语境信息确定模块1220,用于从所述文档中确定所述第一话语的语境信息;角色确定模块1230,用于从所述第一话语的语境信息中确定与所述第一话语相对应的第一角色;角色属性确定模块1240,用于确定所述第一角色的属性;语音模型选择模块1250,用于至少基于所述第一角色的属性来选择与所述第一角色相对应的语音模型;以及语音生成模块1260,用于通过所述语音模型来生成与所述第一话语相对应的语音。
此外,装置1200还可以包括根据上述本公开实施例的被配置用于为纯文本文档生成音频的任何其它模块。
图13示出了根据实施例的用于为纯文本文档生成音频的示例性装置1300。
装置1300可以包括至少一个处理器1310。装置1320还可以包括与处理器1310连接的存储器1320。存储器1320可以存储计算机可执行指令,当所述计算机可执行指令被执行时,使得处理器1310执行根据上述本公开实施例的用于为纯文本文档生成音频的方法或用于基于纯文本文档来提供音频文件的方法的任何操作。
本公开的实施例可以实施在非暂时性计算机可读介质中。该非暂时性计算机可读介质可以包括指令,当所述指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于为纯文本文档生成音频的方法或用于基于纯文本文档来提供音频文件的方法的任何操作。
应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。
还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。
已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、DSP或其它适合的平台所执行的软件。
软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部(如,缓存或寄存器)。
以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换,都将通过引用而明确地包含到本文中,并且旨在由权利要求所覆盖。

Claims (20)

1.一种用于为纯文本文档生成音频的方法,包括:
从所述文档中检测出至少第一话语;
从所述文档中确定所述第一话语的语境信息;
从所述第一话语的语境信息中确定与所述第一话语相对应的第一角色;
确定所述第一角色的属性;
至少基于所述第一角色的属性来选择与所述第一角色相对应的语音模型;以及
通过所述语音模型来生成与所述第一话语相对应的语音。
2.如权利要求1所述的方法,其中,所述第一话语的语境信息包括以下各项中的至少一项:
所述第一话语;
在包含所述第一话语的第一语句中的第一描述性部分;以及
与包含所述第一话语的第一语句相邻的至少第二语句。
3.如权利要求1所述的方法,其中,所述确定与所述第一话语相对应的第一角色包括:
对所述第一话语的语境信息执行自然语言理解,以获得以下特征中的至少一个特征:所述语境信息中的词语的词性、所述语境信息的句法分析结果、以及所述语境信息的语义理解结果;以及
基于所述至少一个特征来识别所述第一角色。
4.如权利要求1所述的方法,其中,所述确定与所述第一话语相对应的第一角色包括:
对所述第一话语的语境信息执行自然语言理解,以获得以下特征中的至少一个特征:所述语境信息中的词语的词性、所述语境信息的句法分析结果、以及所述语境信息的语义理解结果;
将所述至少一个特征提供给角色分类模型;以及
通过所述角色分类模型来确定所述第一角色。
5.如权利要求1所述的方法,还包括:
从所述文档中确定至少一个候选角色,并且
其中,所述确定与所述第一话语相对应的第一角色包括从所述至少一个候选角色中选择所述第一角色。
6.如权利要求5所述的方法,其中,
所述至少一个候选角色是基于候选角色分类模型、预定语言模式和序列标注模型中的至少一个来确定的,
所述候选角色分类模型采用以下特征中的至少一个特征:词频、边界熵以及词性,
所述预定语言模式包括词性和/或标点符号的组合,并且
所述序列标注模型采用以下特征中的至少一个特征:关键词、词语的词性组合以及序列元素的概率分布。
7.如权利要求1所述的方法,还包括:
确定所述第一角色的词性是代词;以及
对所述第一角色进行指代消解。
8.如权利要求1所述的方法,还包括:
从所述文档中检测出至少第二话语;
从所述文档中确定所述第二话语的语境信息;
从所述第二话语的语境信息中确定与所述第二话语相对应的第二角色;
确定所述第二角色对应于所述第一角色;以及
对所述第一角色和所述第二角色进行共指消解。
9.如权利要求1所述的方法,其中,所述第一角色的属性包括年龄、性别、职业、性格、身体状况中的至少一个,并且所述确定所述第一角色的属性包括:
根据角色语音库属性表、指代消解、角色称呼、角色姓名、先验角色信息、角色描述中的至少一个来确定所述第一角色的属性。
10.如权利要求1所述的方法,其中,所述生成与所述第一话语相对应的语音包括:
基于所述第一话语的语境信息来确定与所述第一话语相关联的至少一个语音参数,该至少一个语音参数包括语速、音调、音量、情感中的至少一个;以及
通过将所述至少一个语音参数应用于所述语音模型来生成与所述第一话语相对应的语音。
11.如权利要求10所述的方法,其中,所述情感是基于所述第一话语的语境信息中的关键词和/或基于情感分类模型来确定的。
12.如权利要求1所述的方法,还包括:
确定所述文档的内容类别;以及
基于所述内容类别来选择背景音乐。
13.如权利要求1所述的方法,还包括:
确定所述文档中的第一部分的主题;以及
基于所述主题来为所述第一部分选择背景音乐。
14.如权利要求1所述的方法,还包括:
从所述文档中检测至少一个音效对象,所述至少一个音效对象包括拟声词、场景词或者动作词;以及
为所述音效对象选择相对应的音效。
15.如权利要求1所述的方法,还包括:
基于关键词和/或关键标点符号来从所述文档中检测出至少一个描述性部分;以及
生成与所述至少一个描述性部分相对应的语音。
16.一种用于基于纯文本文档来提供音频文件的方法,包括:
获得所述文档;
从所述文档中检测出至少一个话语和至少一个描述性部分;
对于所述至少一个话语中的每一个话语:
确定与该话语相对应的角色,以及
通过与该角色相对应的语音模型来生成与该话语相对应的语音;
生成与所述至少一个描述性部分相对应的语音;以及
基于与所述至少一个话语相对应的语音以及与所述至少一个描述性部分相对应的语音来提供所述音频文件。
17.如权利要求16所述的方法,还包括:
确定所述文档的内容类别或者所述文档中的至少一部分的主题;以及基于所述内容类别或者所述主题,向所述音频文件添加与所述文档或者所述至少一部分相对应的背景音乐。
18.如权利要求16所述的方法,还包括:
从所述文档中检测至少一个音效对象,所述至少一个音效对象包括拟声词、场景词或者动作词;以及
向所述音频文件添加与所述音效对象相对应的音效。
19.一种用于为纯文本文档生成音频的装置,包括:
话语检测模块,用于从所述文档中检测出至少第一话语;
语境信息确定模块,用于从所述文档中确定所述第一话语的语境信息;
角色确定模块,用于从所述第一话语的语境信息中确定与所述第一话语相对应的第一角色;
角色属性确定模块,用于确定所述第一角色的属性;
语音模型选择模块,用于至少基于所述第一角色的属性来选择与所述第一角色相对应的语音模型;以及
语音生成模块,用于通过所述语音模型来生成与所述第一话语相对应的语音。
20.一种用于为纯文本文档生成音频的装置,包括:
至少一个处理器;以及
存储器,其存储计算机可执行指令,当所述计算机可执行指令被执行时使得所述处理器:
从所述文档中检测出至少第一话语;
从所述文档中确定所述第一话语的语境信息;
从所述第一话语的语境信息中确定与所述第一话语相对应的第一角色;
确定所述第一角色的属性;
至少基于所述第一角色的属性来选择与所述第一角色相对应的语音模型;以及
通过所述语音模型来生成与所述第一话语相对应的语音。
CN201810441748.3A 2018-05-10 2018-05-10 为纯文本文档生成音频 Withdrawn CN110491365A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810441748.3A CN110491365A (zh) 2018-05-10 2018-05-10 为纯文本文档生成音频
US17/044,254 US20210158795A1 (en) 2018-05-10 2019-04-30 Generating audio for a plain text document
EP19723572.4A EP3791382A1 (en) 2018-05-10 2019-04-30 Generating audio for a plain text document
PCT/US2019/029761 WO2019217128A1 (en) 2018-05-10 2019-04-30 Generating audio for a plain text document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810441748.3A CN110491365A (zh) 2018-05-10 2018-05-10 为纯文本文档生成音频

Publications (1)

Publication Number Publication Date
CN110491365A true CN110491365A (zh) 2019-11-22

Family

ID=66484167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810441748.3A Withdrawn CN110491365A (zh) 2018-05-10 2018-05-10 为纯文本文档生成音频

Country Status (4)

Country Link
US (1) US20210158795A1 (zh)
EP (1) EP3791382A1 (zh)
CN (1) CN110491365A (zh)
WO (1) WO2019217128A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111128186A (zh) * 2019-12-30 2020-05-08 云知声智能科技股份有限公司 多音字标音方法及装置
CN111415650A (zh) * 2020-03-25 2020-07-14 广州酷狗计算机科技有限公司 文本语音转换的方法、装置、设备以及存储介质
CN111667811A (zh) * 2020-06-15 2020-09-15 北京百度网讯科技有限公司 语音合成方法、装置、设备和介质
CN111986647A (zh) * 2020-08-26 2020-11-24 北京声智科技有限公司 一种语音合成方法及装置
CN113312906A (zh) * 2021-06-23 2021-08-27 北京有竹居网络技术有限公司 划分文本的方法、装置、存储介质及电子设备
CN113409766A (zh) * 2021-05-31 2021-09-17 北京搜狗科技发展有限公司 一种识别方法、装置、用于识别的装置及语音合成方法
CN113628609A (zh) * 2020-05-09 2021-11-09 微软技术许可有限责任公司 自动音频内容生成
CN113838451A (zh) * 2021-08-17 2021-12-24 北京百度网讯科技有限公司 语音处理及模型训练方法、装置、设备和存储介质
CN113851106A (zh) * 2021-08-17 2021-12-28 北京百度网讯科技有限公司 音频播放方法、装置、电子设备和可读存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11195511B2 (en) * 2018-07-19 2021-12-07 Dolby Laboratories Licensing Corporation Method and system for creating object-based audio content
WO2020246641A1 (ko) * 2019-06-07 2020-12-10 엘지전자 주식회사 복수의 화자 설정이 가능한 음성 합성 방법 및 음성 합성 장치
CN111538862B (zh) * 2020-05-15 2023-06-20 北京百度网讯科技有限公司 用于解说视频的方法及装置
CN112199943B (zh) * 2020-09-24 2023-10-03 东北大学 一种基于最大凝聚系数和边界熵的未登录词识别方法
CN113539235B (zh) * 2021-07-13 2024-02-13 标贝(青岛)科技有限公司 文本分析与语音合成方法、装置、系统及存储介质
CN113539234B (zh) * 2021-07-13 2024-02-13 标贝(青岛)科技有限公司 语音合成方法、装置、系统及存储介质
US20230215417A1 (en) * 2021-12-30 2023-07-06 Microsoft Technology Licensing, Llc Using token level context to generate ssml tags
WO2024079605A1 (en) 2022-10-10 2024-04-18 Talk Sàrl Assisting a speaker during training or actual performance of a speech

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0215123D0 (en) * 2002-06-28 2002-08-07 Ibm Method and apparatus for preparing a document to be read by a text-to-speech-r eader
US8326629B2 (en) * 2005-11-22 2012-12-04 Nuance Communications, Inc. Dynamically changing voice attributes during speech synthesis based upon parameter differentiation for dialog contexts
US10147416B2 (en) * 2015-12-09 2018-12-04 Amazon Technologies, Inc. Text-to-speech processing systems and methods

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111128186A (zh) * 2019-12-30 2020-05-08 云知声智能科技股份有限公司 多音字标音方法及装置
CN111128186B (zh) * 2019-12-30 2022-06-17 云知声智能科技股份有限公司 多音字标音方法及装置
CN111415650A (zh) * 2020-03-25 2020-07-14 广州酷狗计算机科技有限公司 文本语音转换的方法、装置、设备以及存储介质
CN113628609A (zh) * 2020-05-09 2021-11-09 微软技术许可有限责任公司 自动音频内容生成
CN111667811A (zh) * 2020-06-15 2020-09-15 北京百度网讯科技有限公司 语音合成方法、装置、设备和介质
CN111986647A (zh) * 2020-08-26 2020-11-24 北京声智科技有限公司 一种语音合成方法及装置
CN113409766A (zh) * 2021-05-31 2021-09-17 北京搜狗科技发展有限公司 一种识别方法、装置、用于识别的装置及语音合成方法
CN113312906A (zh) * 2021-06-23 2021-08-27 北京有竹居网络技术有限公司 划分文本的方法、装置、存储介质及电子设备
CN113838451A (zh) * 2021-08-17 2021-12-24 北京百度网讯科技有限公司 语音处理及模型训练方法、装置、设备和存储介质
CN113851106A (zh) * 2021-08-17 2021-12-28 北京百度网讯科技有限公司 音频播放方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
WO2019217128A1 (en) 2019-11-14
US20210158795A1 (en) 2021-05-27
EP3791382A1 (en) 2021-03-17

Similar Documents

Publication Publication Date Title
CN110491365A (zh) 为纯文本文档生成音频
CN108962217B (zh) 语音合成方法及相关设备
CN108510976B (zh) 一种多语言混合语音识别方法
US20200395008A1 (en) Personality-Based Conversational Agents and Pragmatic Model, and Related Interfaces and Commercial Models
US10642939B2 (en) Systems and methods for generating jokes
US9330657B2 (en) Text-to-speech for digital literature
US10878817B2 (en) Systems and methods for generating comedy
KR102582291B1 (ko) 감정 정보 기반의 음성 합성 방법 및 장치
JP5149737B2 (ja) 自動会話システム、並びに会話シナリオ編集装置
US8027837B2 (en) Using non-speech sounds during text-to-speech synthesis
Alm Affect in* text and speech
US10803850B2 (en) Voice generation with predetermined emotion type
WO2016195912A1 (en) Context-sensitive generation of conversational responses
TW201113870A (en) Method for analyzing sentence emotion, sentence emotion analyzing system, computer readable and writable recording medium and multimedia device
McTear et al. Voice application development for Android
CN109716326A (zh) 在自动聊天中提供个性化歌曲
US11080485B2 (en) Systems and methods for generating and recognizing jokes
WO2022242706A1 (zh) 基于多模态的反应式响应生成
US20110040555A1 (en) System and method for creating and playing timed, artistic multimedia representations of typed, spoken, or loaded narratives, theatrical scripts, dialogues, lyrics, or other linguistic texts
Davis Verb stem alternation in Sizang Chin narrative discourse
Jones Tweets as graffiti: What the reconstruction of Vulgar Latin can tell us about Black Twitter
Roque Language technology enables a poetics of interactive generation
TW201937479A (zh) 一種多語言混合語音識別方法
Schuller Emotion modelling via speech content and prosody: in computer games and elsewhere
JP2009150990A (ja) 発話応答生成装置、及びプログラム

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20191122

WW01 Invention patent application withdrawn after publication