HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

用于文本到语音转换的方法、设备、芯片电路和介质与流程

2021-01-28 17:01:51|291|起点商标网
用于文本到语音转换的方法、设备、芯片电路和介质与流程

本发明涉及语音合成领域,更具体地,涉及一种用于文本到语音转换的方法、实现这种方法的设备、芯片电路以及计算机可读存储介质。



背景技术:

语音识别和语音合成技术是实现人机语音通信所需的两项关键技术。其中,语音合成是通过机械的、电子的方法产生人造语音的技术。tts(texttospeech,文本到语音)是一种重要的语音合成技术,其可以将输入的文本文件转换为自然语言的语音输出。当前,tts技术广泛应用于语音导航、有声书、在线翻译、在线教育等多个领域,帮助将输入的或内置的文本内容转换为音频数据并进行播放。一个典型的tts处理过程包括:将文本内容输入给tts引擎,tts引擎将该文本内容转换为音频数据,然后通过扬声器播放该音频。即使之后遇到相同的文本内容,tts引擎也无差别地重复执行上述过程。由于在当前的很多应用场景中,音频输出仅仅是一种辅助性的输出方式,通常不会频繁使用,时效性要求也不高,因此这种重复带来的处理负担是可以接受的。

然而,对于一些应用,例如专用于帮助视力残障人士进行阅读的应用来说,需要频繁的进行文本到语音的转换,如果仍然使用上述处理方式,将会极大地增加设备的处理量和功耗,从而造成资源的浪费,并且难以保证实时性。



技术实现要素:

针对上述问题,本发明提供了一种用于进行文本到语音转换的方案,其加快了传统的文本到语音转换的速度,并且减轻了语音合成模块的处理负担,非常适合于文本到语音处理需求量大、时效性要求高的应用场景。

根据本发明的一个方面,提供了一种用于文本到语音转换的方法。该方法包括:接收待转换文本;为该待转换文本生成唯一标识符;确定是否保存有该唯一标识符;以及如果确定保存有该唯一标识符,则获取与该唯一标识符相对应的音频数据作为该待转换文本的输出音频。

根据本发明的另一个方面,提供了一种用于文本到语音转换的设备。该设备包括:存储器,其上存储有计算机程序代码;以及处理器,其被配置为运行所述计算机程序代码,以执行如上所述的方法。

根据本发明的又一个方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序代码,该计算机程序代码在被运行时执行如上所述的方法。

根据本发明的再一个方面,提供了一种芯片电路,包括被配置为在加电时执行如上所述的方法的电路单元。

附图说明

图1示出了根据本发明的一些实施例的用于文本到语音转换的方法的流程图;

图2示出了根据本发明的另一些实施例的用于文本到语音转换的方法的流程图;

图3示出了根据本发明的再一些实施例的用于文本到语音转换的方法的流程图;以及

图4示出了可以用来实施本发明的实施例的示例设备的示意性框图。

具体实施方式

以下将结合附图对本发明的各实施例进行详细说明,以便更清楚理解本发明的目的、特点和优点。应理解的是,附图所示的实施例并不是对本发明范围的限制,而只是为了说明本发明技术方案的实质精神。

在下文的描述中,出于说明各种发明的实施例的目的阐述了某些具体细节以提供对各种发明实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。

除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。

在整个说明书中对“一个实施例”或“一些实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一些实施例”中的出现不一定全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。

此外,说明书和权利要求中所用的第一、第二等术语,仅仅出于描述清楚起见来区分各个对象,而并不限定其所描述的对象的大小或其他顺序等。

图1示出了根据本发明的一些实施例的用于文本到语音转换的方法100的流程图。方法100例如可以由如下所述的设备400执行。如图4,图4示出了可以用来实施本发明的实施例的示例设备400的示意性框图。

如图1中所示,方法100包括步骤110,接收待转换文本。这里,待转换文本可以是通过各种i/o接口(如下文所述的i/o接口450)从外部接收的。例如,待转换文本可以是用户通过键盘或鼠标等输入设备输入的。或者,待转换文本也可以是用户通过摄像头等输入设备拍摄图像并对其进行图像识别(如光学字符识别(ocr))后产生的文本。在一些其他实施例中,待转换文本还可以是预先设置在设备400中的预定文本,如用于进行语音提示或导航的文本等。

接下来,在步骤120,为该待转换文本产生唯一标识符(id)。该唯一标识符用于唯一识别该待转换文本。

在一些实施例中,该唯一标识符可以包括一个用于指示该待转换文本的内容的字段。例如,该字段可以包含待转换文本的某种编码本身或者编码的某种变形(如哈希值)。

在另一些实施例中,该唯一标识符还可以包括关于该待转换文本的其他信息。例如,该唯一标识符除了包括上述用于指示该待转换文本的内容的第一字段之外,还可以包括用于指示设备400所使用的语音合成模块(如tts引擎)的类型、用户偏好的语速和音色中的至少一项的第二字段。这里,语音合成模块可以是当前已有的或未来开发的任何类型的语音合成模块,其类型可以包括语音合成模块的型号(制造商)、版本等。语音合成模块可以例如由设备400中的cpu410运行用于实现语音合成的计算机程序来实现。或者,语音合成模块也可以是独立的专用芯片等。作为语音合成模块的一个实例,当前已经有多个厂商(如谷歌、科大讯飞、百度等)开发了各种类型的tts引擎,这些tts引擎都可以用作本文所述的语音合成模块。用户偏好的语速可以由用户在初始化时设置,或者由设备400根据用户之前的行为习惯(如用户进行语音输入时的语速)自动设置。例如,语速可以设置若干个档,如快、中、慢等,或者,语速也可以设置为具体的速度,如60-80字/分钟。用户偏好的音色也可以由用户在初始化时设置或者由设备400根据用户之前的行为习惯自动设置。例如,音色可以包括男声、女声、童声等。或者,音色也可以是用户定制的音色,如用户自己或特定的其他人的声音等。

接下来,在步骤130,确定是否保存有该唯一标识符。在一种实施例中,设备400中利用数据库来存储与不同文本相对应的唯一标识符。这里,数据库可以是集成在如下所述的设备400中(如位于rom420中、ram430中、存储单元480中或其他闪存中)或者独立于设备400的单独的存储设备中的数据库。在一种实施例中,为了保证输出音频的实时性,将数据库设置为便于设备400的处理器快速访问的形式,如设置在高速缓存中。

如果确定保存有该唯一标识符(步骤130的判断为“是”),则在步骤140,获取与该唯一标识符相对应的音频数据作为与该待转换文本相对应的输出音频。该输出音频可以作为与该待转换文本相对应的输出音频在步骤170向用户播放。在一种实施例中,与不同文本的唯一标识符相对应的音频数据以及该音频数据的相关信息可以存储在设备400的缓存中。这里,缓存可以位于如下所述的设备400的ram430中(如nvram)、存储单元480中或者是独立于设备400的闪存、磁盘或硬盘中。

在一些实施例中,唯一标识符的相关信息可以包括与该唯一标识符相对应的音频数据在缓存中的起始位置以及音频数据的长度。

另一方面,如果确定未保存有该唯一标识符(步骤130的判断为“否”),则在步骤150,可以(例如通过将待转换文本输入到语音合成模块中)将该待转换文本转换为音频数据。该音频数据可以作为与待转换文本对应的输出音频在步骤170播放。

此外,在步骤150和170之间,方法100还可以包括步骤160,其中存储步骤150得到的音频数据并且存储该音频数据的相关信息(如音频数据在缓存中的起始位置以及音频数据的长度)。在一种实施例中,可以将步骤150得到的音频数据存储在缓存中,并且将音频数据的相关信息存储到数据库中,从而使得这些音频数据和相关信息有助于下一次的文本到语音转换处理的执行。

注意,在图1中虽然将步骤160显示为位于步骤150和170之间,但是本领域技术人员可以理解,步骤160也可以在步骤170之后执行或者与步骤170并行地执行,并不脱离本发明公开的范围。

利用图1所示的方案,对于设备400中已经存储过对应的音频数据的待转换文本来说,方法100可以直接获取该音频数据而不执行语音合成的过程,从而大大提高了音频数据获取的实时性。而对于设备400中未存储过对应的音频数据的待转换文本则仍然可以通过语音合成模块对其进行转换,从而保证了转换的效果。

图2示出了根据本发明的另一些实施例的用于文本到语音转换的方法200的流程图。方法200例如可以由如下所述的设备400执行。

在图2所示的实施例中,步骤210、220、230、240、250、260和270类似于图1所示的实施例中的步骤110、120、130、140、150、160和170。在图2所示的实施例中,待转换文本的唯一标识符除了包括用于指示该待转换文本的内容的第一字段之外,还可以包括用于指示设备400所使用的语音合成模块的类型、用户偏好的语速和音色中的至少一项的第二字段。

与图1所示的实施例不同,在方法200中,在步骤230之后,如果确定未保存有该待转换文本的唯一标识符(步骤230中判断为“否”),则在步骤235中,确定是否保存有与该唯一标识符的第一字段匹配的第二标识符。在一种实施例中,匹配的第二标识符的第一字段与待转换文本的唯一标识符的第一字段完全相同。在另一种实施例中,匹配的第二标识符的第一字段与待转换文本的唯一标识符的第一字段语义相同或相近。在这种情况下,在步骤235中,可以对待转换文本进行语义分析并从数据库中寻找有相同或相似语义的第二标识符。或者,数据库中可以预先存储有语义相同或相近的多个文本的对应关系表。在这种情况下,在步骤235中,可以从该对应关系表中查找与该待转换文本的语义相同或相近的第二标识符。

也就是说,可以寻找与待转换文本的内容相同或相近但是其他信息(如所使用的语音合成模块的类型、用户偏好的语速和音色)不同的文本的唯一标识符(即第二标识符)。如果存在这样的第二标识符,则表示缓存中已经存储有与待转换文本的内容相同或相近但是其他信息不同的文本的音频数据。

在这种情况下,如果确定保存有该第二标识符(步骤235中判断为“是”),则在步骤245,可以(例如基于数据库中存储的第二标识符的相关信息)查找与第二标识符相对应的音频数据作为输出音频。该输出音频可以作为与待转换文本相对应的音频数据在步骤270播放。也就是说,该输出音频是能够体现待转换文本的内容但并不完全符合用户需求(语音合成模块类型、用户偏好的语速和音色等)的音频数据。

另一方面,如果确定未保存有该第二标识符(步骤235中判断为“否”),则方法200可以进行到步骤250,与在步骤150中类似,将待转换文本转换为音频数据作为输出音频。

利用图2所示的方案,在未存储与该待转换文本的唯一标识符相对应的音频数据但是存储了与该待转换文本的内容本身相同或相近的音频数据的情况下,可以以有限的用户需求为代价提高整个文本到语音转换的效率,从而提高用户体验。

图3示出了根据本发明的再一些实施例的用于文本到语音转换的方法300的流程图。方法300例如可以由如下所述的设备400执行。

在图3所示的实施例中,步骤310、320、330、340、350、360和370类似于图1所示的实施例中的步骤110、120、130、140、150、160和170以及图2所示的实施例中的步骤210、220、230、240、250、260和270。

与图1和图2所示的实施例不同,在方法300中,在步骤350中将待转换文本转换为音频数据之后,还可以包括步骤355,其中进一步确定步骤350的转换是否成功。并且在确定步骤350的转换成功时(步骤350中判断为“是”),才执行步骤370,将转换后的音频数据作为输出音频进行播放。相反,如果确定步骤350的转换不成功,则可以执行步骤380获取预设的特定音频数据作为输出音频(例如从缓存中获取)并在步骤370中播放该输出音频。这里,预设的特定音频数据可以向用户指示转换不成功和/或引导用户执行特定操作。例如,该特定音频数据可以是设备400中预设的故障处理引导语音或者客服引导语音,用于引导用户自己排除故障或者引导用户寻求客服帮助。

图1至图3所示的方法100至300示例性地示出了根据本发明的实施例的一些方面,本领域技术人员可以理解,这些图示并不能限制本发明的范围,而是可以以各种方式组合或变形来扩展本发明的范围。例如,在图2和图3的实施例的一种组合中,可以在步骤330和350之间执行如图2中所示的步骤235和245。在图2和图3的实施例的另一种组合中,可以在步骤355中判断为否时,替代步骤380执行如图2所示的步骤235和245。

图4示出了可以用来实施本发明的实施例的示例设备400的示意性框图。设备400例如可以是用于进行文本到语音转换的台式电脑或便携式电脑或其他电子设备。如图所示,设备400可以包括一个或多个中央处理单元(cpu)410(图中仅示意性地示出了一个),其可以根据存储在只读存储器(rom)420中的计算机程序指令或者从存储单元480加载到随机访问存储器(ram)430中的计算机程序指令,来执行各种适当的动作和处理,例如用于进行tts转换的tts引擎。在ram430中,还可存储设备400操作所需的各种程序和数据。cpu410、rom420以及ram430通过总线440彼此相连。输入/输出(i/o)接口450也连接至总线440。

设备400中的多个部件连接至i/o接口450,包括:输入单元460,例如键盘、鼠标等;输出单元470,例如各种类型的显示器、扬声器等;存储单元480,例如磁盘、光盘等;以及通信单元490,例如网卡、调制解调器、无线通信收发机等。通信单元490允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的方法100至300例如可由设备400的处理单元410执行。例如,在一些实施例中,方法100至300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元480中。在一些实施例中,计算机程序的部分或者全部可以经由rom420和/或通信单元490而被载入和/或安装到设备400上。当计算机程序被加载到ram430并由cpu410执行时,可以执行上文描述的方法100至300的一个或多个操作。此外,通信单元490可以支持有线或无线通信功能。

以上结合附图对根据本发明的用于文本到语音转换的方法100至300以及设备400进行了描述。然而本领域技术人员可以理解,设备400并不必须包含图4中所示的所有组件,其可以仅仅包含执行本发明中所述的功能所必须的其中一些组件,并且这些组件的连接方式也不局限于图中所示的形式。例如,在设备400是诸如手机之类的便携式设备的情况下,设备400可以具有与图4中相比不同的结构。

本发明可以实现为方法、设备、芯片电路和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。芯片电路可以包括用于执行本发明的各个方面的电路单元。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如smalltalk、c++等,以及常规的过程式编程语言-诸如"c"语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(lan)或广域网(wan)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

根据本发明的一些实施例,提供了一种用于文本到语音转换的方法。该方法包括:接收待转换文本;为所述待转换文本生成唯一标识符;确定是否保存有该唯一标识符;以及如果确定保存有该唯一标识符,获取与所述唯一标识符相对应的音频数据作为所述待转换文本的输出音频。

根据本发明的一些实施例,其中确定是否保存有该唯一标识符包括:确定数据库中是否保存有该唯一标识符,并且其中获取与所述唯一标识符相对应的音频数据作为所述待转换文本的输出音频包括:基于所述数据库中存储的所述唯一标识符的相关信息从缓存中获取与所述唯一标识符相对应的音频数据作为所述待转换文本的输出音频。

根据本发明的一些实施例,该方法还包括:如果确定未保存有该唯一标识符,则将所述待转换文本转换为音频数据作为所述输出音频;以及存储所述音频数据及所述音频数据的相关信息。

根据本发明的一些实施例,其中将所述待转换文本转换为音频数据作为所述输出音频包括:将所述待转换文本输入语音合成模块以将其转换为音频数据作为所述输出音频。

根据本发明的一些实施例,其中所述语音合成模块包括tts引擎。

根据本发明的一些实施例,其中存储所述音频数据及所述音频数据的相关信息包括:将所述音频数据存储在缓存中并且将所述音频数据的相关信息存储到数据库中。

根据本发明的一些实施例,其中所述唯一标识符包括:指示所述待转换文本的内容的第一字段,和指示语音合成模块的类型、用户偏好的语速和音色中的至少一项的第二字段。

根据本发明的一些实施例,该方法还包括:如果确定未保存有该唯一标识符,则确定是否保存有与该唯一标识符的第一字段匹配的第二标识符;并且如果确定保存有该第二标识符,则查找与所述第二标识符相对应的音频数据作为所述输出音频。

根据本发明的一些实施例,该方法还包括:如果确定未保存有该第二标识符,则将所述待转换文本转换为音频数据作为所述输出音频。

根据本发明的一些实施例,该方法还包括:确定将所述待转换文本转换为音频数据是否成功;如果确定将所述待转换文本转换为音频数据成功,则播放所述输出音频;以及如果确定将所述待转换文本转换为音频数据未成功,则获取预设的特定音频数据作为所述输出音频,其中所述特定音频数据指示转换不成功和/或引导用户执行特定操作。

根据本发明的一些实施例,所述相关信息包括:所述音频数据在所述缓存中的起始位置以及所述音频数据的长度。

根据本发明的一些实施例,还提供了一种用于文本到语音转换的设备。该设备包括:存储器,其上存储有计算机程序代码;以及处理器,其被配置为运行所述计算机程序代码,以执行如上所述的方法。

根据本发明的一些实施例,还提供了一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行如上所述的方法。

根据本发明的一些实施例,还提供了一种芯片电路,包括被配置为在加电时执行如上所述的方法的电路单元。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips