播报语音的确定方法、装置和设备
技术领域
本说明书所涉及的技术属于语音合成技术领域,尤其涉及一种播报语音的确定方法、装置和设备。
背景技术
在日常的生活工作中,常常会面临许多需要对数字内容进行语音播报的情况。例如,在交易活动中,商家通常会使用手机支付软件内置的插件程序来自动语音播报商家的账户上所收到的钱款的金额数目。
目前,现有的播报语音的确定方法在播报数字内容时大多是获取并拼接各个字符(包括与数字、单位等对应的字符)的字符音节的主体部分的音频数据。例如,在播报某一个具体数字时,会提取得到该数字中的各个字符的字符音节的主体部分的音频数据进行拼接,得到用于播放的音频数据,以进行语音播放。这种通过获取并利用各个字符的字符音节的主体部分的音频数据直接进行拼接所得到的音频数据在播放时,往往会出现字符音节之间的过渡不够流畅、自然,人们在收听所播放的语音时会觉得相对比较突兀,感觉不符合人类的语音习惯,甚至影响收听者对所播报的数字内容的理解,用户体验相对较差。因此,亟需一种能够自然、流畅地对数字内容进行语音播报的播报语音的确定方法。
发明内容
本说明书目的在于提供一种播报语音的确定方法、装置和设备,以解决现有方法中存在的数字播报不自然、用户体验差的问题,达到能兼顾运算成本,高效、流畅地进行有关数字内容的语音播报。
本说明书提供的一种播报语音的确定方法、装置和设备是这样实现的:
一种播报语音的确定方法,包括:获取待播报的目标数字序列;将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
一种播报语音的确定装置,包括:第一获取模块,用于获取待播报的目标数字序列;转换模块,用于将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;第二获取模块,用于获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;拼接模块,用于按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
一种播报语音的确定方法,包括:获取待播放的字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述待播放的字符串的音频数据。
一种播报语音的确定设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现获取待播报的目标数字序列;将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现获取待播报的目标数字序列;将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
本说明书提供的一种播报语音的确定方法、装置和设备,由于通过获取相邻的字符之间的衔接音节的音频数据,并利用相邻的字符之间的衔接音节的音频数据拼接对应的字符的主干音节的音频数据,得到过渡更为自然的语音音频数据,以进行语音播报,从而解决了现有方法中存在的数字播报不自然、用户体验差的问题,达到能兼顾运算成本,高效、流畅地进行有关数字内容的语音播报。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是在一个场景示例中,应用本说明书实施例提供的播报语音的确定方法进行到账金额播报的一种实施例的示意图;
图2是在一个场景示例中,应用本说明书实施例提供的播报语音的确定方法拼接得到目标数字序列的音频数据的一种实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的播报语音的确定方法得到用于播放到账金额的语音音频数据的一种实施例的示意图;
图4是在一个场景示例中,标注音频数据的一种实施例的示意图;
图5是在一个场景示例中,截取字符的主干音节的音频数据,以及相邻字符之间的衔接音节的音频数据的一种实施例的示意图;
图6是本说明书的一个实施例提供的播报语音的确定方法的一种实施例的流程示意图;
图7是本说明书的一个实施例提供的播报语音的确定方法中确定指定区域的位置点的一种实施例的示意图;
图8是本说明书的一个实施例提供的播报语音的确定方法的一种实施例的流程示意图;
图9是本说明书的一个实施例提供的播报语音的确定设备的结构的一种实施例的示意图;
图10是本说明书的一个实施例提供的播报语音的确定装置的结构的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到现有的播报语音的确定方法往往没有深入地分析人类正常说话时的语言习惯和语音特点。例如,人在说“十六”这个数字时,在发出字符音节“十”之后,发出字符音节“六”之前,通常还会发出一种用于连接上述两种字符音节“十”和“六”的衔接音节。且不同的字符音节之间的衔接音节往往还会存在差异。例如“五十”中字符音节“五”和字符音节“十”之间的衔接音节与“十五”中字符音节“十”和字符音节“五”之间的衔接音节也是不相同的。上述衔接音节本身并不对应某个具体字符,也不能表征什么具体的内容或含义,而是类似于一种连接助词,将人类正常说的话中相邻的字符音节自然、流畅地连接在了一起,以便听话者能够更好地接收并理解说话者说的话中的信息和内容。而现有的播报语音的确定方法由于没有考虑到上述人类的语音习惯和语音特点,在合成关于待播报的目标数字序列的语音音频数据时,通常只截取样本数据中的对应的数字字符的字符音节的主体部分的音频数据直接进行拼接。由于相邻的字符音节之间没有符合人类语音习惯的自然过渡,导致基于上述方法所生成的关于目标数字序列的语音音频数据在播放时往往不像人类说的数字那么自然、流畅,甚至会影响人们对所播报的数字内容的理解,造成使用上的不方便。因此,现有方法在具体实施时,往往会存在数字播报不自然、用户体验差的问题。
针对产生上述问题的根本原因,本说明书深入、全面地分析了人类正常说话时的语言习惯和语音特点,考虑并关注了人类在正常说话时相邻的字符音节之间的衔接音节的存在和作用。在建立预设的音频数据库时,不但截取保存了字符音节的主干音节的音频数据,还有意识地截取保存了相邻的字符音节之间的衔接音节的音频数据。进而在生成某一个具体数字的语音音频数据时,会同时获取该数字对应的多个字符中各个字符的主干音节的音频数据和相邻的字符之间的衔接音节的音频数据,再利用相邻的字符之间的衔接音节的音频数据拼接对应的两个相邻的字符的主干音节的音频数据,使得所生成的语音音频数据中,相邻的字符音节之间的过渡更加自然、流畅,从而解决了现有方法中存在的数字播报不自然、用户体验差的问题,达到能兼顾运算成本,高效、流畅地进行有关数字的语音播报。
基于上述原因,本说明书实施例提供了一种能够高效、自然地进行数字语音播报的播报语音的确定设备,通过该播报语音的确定设备可以实现以下功能:获取待播报的目标数字序列;将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据;播放所述目标数字序列的音频数据。
在本实施方式中,所述播报语音的确定设备可以是一种在用户侧使用的较为简单的电子设备。具体地,所述播报语音的确定设备可以是一种具有数据运算、语音播放功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、语音播放和网络交互等提供支持的软件应用。
具体地,上述播报语音的确定设备例如可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端等。或者,上述播报语音的确定设备也可以是能够运行于上述电子设备中的软件应用。例如,上述播报语音的确定设备还可以是在智能手机中运行的XX宝APP。
在一个场景示例中,可以通过应用本说明书实施例提供的播报语音的确定方法的播报语音的确定设备为商户A自动播报商户A的账户实时到账的钱款的金额数字。
在本实施方式中,商户A可以使用自己的手机作为上述播报语音的确定设备。在具体实施前,商户A可以先通过手机的设置操作将手机号码与商户A在某支付平台上的账户关联。参阅图1所示,通常消费者在商户A的店中消费结束后可以直接通过手机上的某支付平台的支付软件在网上进行结账付款,而不需要在线下与商户进行当面付款。具体的,消费者可以利用手机与某支付平台的服务器进行通信,通过支付平台将应付给商户A的钱款转账到商户A的账户中,完成结账付款。支付平台的服务器在确认商户A的账户接收到消费者通过网上转账的钱款后,会向商户A的手机发送到账提示信息(例如发送到账提示短信,或者在商户A的手机上的支付APP中推送对应的到账提示对话框等),以提示商户A:消费者已经在网上进行了结账付款,同时还会在提示信息中标识出商户A的账户所收到的钱款的具体金额数字,以便商户A可以进一步确认消费者在网上支付的钱款的金额是否准确。例如,支付平台的服务器可以在确认商户A的账户接收到消费者网上转账的54元的钱款时,可以向与商户A的账户关联的手机发送包括以下内容的提示信息:“账户到账54元”。
通常在营业期间,商户会相对比较忙,往往可能没有时间及时地翻看、阅读上述提示信息,因此不方便及时地确认消费者是否在网上进行了结账付款,以及消费者在网上结账付款的金额是否准确。这时商户希望可以通过手机实时地语音播报出自己的账户所收到钱款具体的金额数字,这样商户即使营业期间比较忙,没有时间自己去翻看、确认支付平台的服务器发送的提示信息,也能及时地了解到消费者通过支付平台结账付款的具体情况。
手机在接收到支付平台发送的提示信息后,可以先对提示信息进行解析,并提取提示信息中的金额数字“54”作为待播报的目标数字序列,以便后续确定该数字序列所对应的音频数据进行语音播报。
在本实施方式中,上述提示信息通常是按照固定规则生成的,因此具有相对统一的格式。例如,在本场景示例中,上述提示信息可以是按照以下格式构成的:前置引导语部分(即“账户到账”)+数字部分(即具体金额“54”)+单位部分(即“元”)。因此,在获取待播报的目标数字序列,即提示信息中数字部分的具体内容时,可以按照与上述生成提示信息的固定规则对应的解析规则对提示信息进行解析、拆分,即可以从提示信息的数字部分中提取得到待播报的数字,即目标数字序列。
在本实施方式中,需要说明的是,对于不同的提示信息,上述前置引导语部分和单位部分的内容通常都是一样的,只有数字部分的内容会随提示信息不同而不同。因此,可以预先生成并存储统一的前置引导语部分的音频数据、单位部分的音频数据,在播报提示信息时,只需要生成提示信息中数字部分的音频数据,再与预先存储的前置引导语部分的音频数据、单位部分的音频数据进行拼接,即可以得到提示信息完整的语音音频数据。
手机在获取得到了待播报的目标数字序列后,可以先将目标数字序列转换为对应的字符串。其中,上述字符串具体可以理解为用于表征目标数字序列的字符音节的,且按照与目标数字序列对应的排列顺序(即预设排列顺序)排列的字符串,上述字符串中每一个字符对应目标数字序列中的一个字符音节。
例如,目标数字序列“54”转换后得到的对应的字符串可以表示为“五十四”。字符串“五十四”可以理解为表征目标数字序列“54”的字符音节的字符串,其中,字符串中的字符“五”、“十”与目标数字序列中的位于十位上的数字“5”对应;字符串中的字符“四”与目标数字序列中的位于个位上的数字“4”对应。且字符串中的字符按照与目标数字序列“54”中数字的排列顺序(即先“5”后“4”)对应的预设排列顺序进行排列,即先排对应十位上的“5”的字符“五”“十”,再排对应个位上“4”的字符“四”。当然,需要说明的是,上述所列举的字符串,以及对应的预设排列顺序只是为了更好地说明本说明书实施方式。具体实施时,还可以根据具体的场景情况,选择使用其他形式的字符串和预设规则,也可以对目标数字序列不作转换,直接进行识别拼接等。对此,本说明书不作限定。
手机在得到与目标数字序列对应的字符串后,可以识别并确定字符串中按顺序排列的各个字符,以及相邻字符之间的连接关系。其中,上述相邻字符之间的连接关系具体可以理解为相邻的两个字符之间的先后顺序的一种标识信息。例如,字符串“五十四”中字符“五”和“十”是相邻的两个字符,“五”和“十”之间的连接关系可以表述为:字符“五”连字符“十”。当然,需要说明的是上述所列举的相邻字符之间的连接关系只是一种示意性说明。具体实施时还可以通过其他标识方式表示相邻字符之间的连接关系。对此,本说明书不作限定。
在本实施方式中,手机通过字符识别,可以确定出字符串中的各个字符按顺序依次为“五”、“十”、“四”,对应的相邻字符之间的连接关系依次为:字符“五”连字符“十”、字符“十”连字符“四”。
进一步,手机可以根据所识别得到的各个字符,以及相邻的字符之间的连接关系,从预设的音频数据库中进行检索,以得到与各个字符,以及相邻的字符之间的连接关系对应的音频数据,即获取字符串中各个字符的主干音节的音频数据,以及相邻的字符之间的衔接音节的音频数据。
其中,上述字符的主干音节具体可以理解为字符音节的主要部分,通常该部分的音节具有较高的辨识度,同一个字符音节的主干音节的基频、音强等音频特征较为一致,近似相同,因此可以提取字符音节的主干音节用以区分其他字符音节。例如,人在发出字符“五”对应的语音时,中间部分的语音是该字符音节的主要部分,即主干音节,通常不同人发字符“五”对应的语音时,虽然存在差异,但主干音节部分大多都是一致的。
上述相邻字符之间的衔接音节具体可以理解为用于连接相邻字符的主干音节的连接部分的音节。例如,人在发出“五十”时,在字符“五”的主干音节和字符“十”的主干音节之间的连接部分的语,即为字符“五”和字符“十”之间的衔接音节。这部分音节不同于主干音节本身并没有什么具体含义,也不用于对应表征某一个具体字符,但在音频数据中的波形数据并不为0。在人的语音习惯中,通常会出现在相邻的字符的主干音节之间,起到承接、过渡的作用,从而能够使得人说的话不同于机器发音,不是单调、呆板地直接将各个字符的主干音节简单地连接起来,而是很自然、流畅地从一个字符音节过渡到另一个字符音节。这样播报出来的数字更符合人类的听说习惯,便于人类的接收和理解,同时也会使得收听者收听时感觉更舒服,体验更好。还需要补充的是,不同的相邻字符(包括字符不同,以及字符相同字符先后顺序不同等)之间的衔接音节往往也不相同。例如,字符“五”和“十”之间的衔接音节与“五”和“百”之间的衔接音节、“十”和“五”之间的衔接音节在对应的音频数据的波形上相互之间都存在差异。因此,在本实施方式中,需要利用相邻字符之间的连接关系准确地获取到对应的衔接音节的音频数据。
上述预设的音频数据库具体可以是事先有平台服务器建立并保存于服务器或者播报语音的确定设备的数据库,其中,上述预设的音频数据库中具体可以包含有各个字符的主干音节的音频数据,以及各个相邻字符之间的衔接音节的音频数据。
具体的,手机可以根据所识别得到的各个字符,以及相邻的字符之间的连接关系,检索预设的音频数据库分别得到字符“五”的主干音节的音频数据A、“十”的主干音节的音频数据B、“四”的主干音节的音频数据C,以及字符“五”连字符“十”之间的衔接音节的音频数据f、字符“十”连字符“四”之间的衔接音节的音频数据r。
进而,手机可以将上述字符的主干音节的音频数据,以及相邻的字符之间的衔接音节的音频数据按照字符串中字符的排列顺序(即预设顺序)进行拼接,以得到对应目标数字序列的音频数据。具体的,可以按照预设顺序(即与目标数字序列的字符串中字符的排列顺序),排列各个字符的主干音节的音频数据;再利用相邻的字符之间的衔接音节的音频数据连接相邻的字符的主干音节的音频数据。
具体的,例如,可以参阅图2所示,按照字符串(即“五十四”)中字符的排列顺序先排“五”的主干音节的音频数据A,然后再排“十”的主干音节的音频数据B,最后排“四”的主干音节的音频数据C。在排好主干音节的音频数据后;进一步可以利用字符“五”连字符“十”之间的衔接音节的音频数据f连接音频数据A和音频数据B,利用字符“十”连字符“四”之间的衔接音节的音频数据r连接音频数据B和音频数据C。最终得到的拼接好的,针对目标数字序列“54”的音频数据可以表示为:“A-f-B-r-C”。这样便得到了过渡更为自然的针对目标数字序列的音频数据。
在获得了目标数字序列的音频数据后,可以将预先设置好存储在手机或者服务器的用于指示所述目标数字序列所表征的数据对象的前置音频数据(例如前置引导语部分的音频数据、单位部分的音频数据)与目标数字序列的音频数据进行拼接,得到待播放的语音音频数据,手机再根据上述语音音频数据,播放相应的内容信息。
在本实施方式中,参阅图3所示,商户A的手机可以获取预设并存储在手机本地的前置音频数据,即预先设置好的用于表述“账户到账”的音频数据Y和用于表述“元”的音频数据Z;并将上述前置音频数据与生成的关于目标数字序列“54”的音频数据进行拼接,得到完整的待播放的语音音频数据,可以表示为“Y-A-f-B-r-C-Z”,进而播放上述语音音频数据,这样商户A就可以听到清楚、自然、流畅,且更符合人类正常的收听习惯的语音播报,避免了机器语音对商户收听体验造成的影响。
由上可见,本说明书实施例提供的播报语音的确定方法通过获取相邻的字符之间的衔接音节的音频数据,并利用相邻的字符之间的衔接音节的音频数据拼接对应的字符的主干音节的音频数据,得到过渡更为自然的语音音频数据,以进行语音播报,从而解决了现有方法中存在的数字播报不自然、用户体验差的问题,达到能兼顾运算成本,高效、流畅地进行有关数字的语音播报。
在另一个场景示例中,支付平台的服务器可以预先建立预设的音频数据库,并将上述预设的音频数据库发送至播报语音的确定设备。播报语音的确定设备在接收到预设的音频数据库,可以将预设的音频数据库保存在播报语音的确定设备的本地,以便播报语音的确定设备可以通过检索预设的音频数据库以获取目标数字序列的字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据。当然,支付平台的服务器在建立了预设的音频数据库后,也可以不将预设的音频数据库发送至播报语音的确定设备,而是保存在服务器一侧,播报语音的确定设备在生成目标数字序列的音频数据时,可以通过调用保存在服务器一侧的预设的音频数据库以获取目标数字序列的字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据。
在本实施方式中,具体实施时,服务器可以获取包含有数字的音频数据作为样本数据。进而可以按照一定的规则从标注后的样本数据中分别截取获得字符的主干音节的音频数据,以及相邻的字符之间的衔接音节的音频数据,再根据上述字符的主干音节的音频数据,以及相邻的字符之间的衔接音节的音频数据,建立预设的音频数据库。
具体的,上述获取包含有数字的音频数据作为样本数据可以包括:截取播音员的播报音频数据中包含有与数字相关的播报内容的音频数据作为上述样本数据。也可以采集人按照预设文本读出的语音数据,作为上述样本数据,其中,上预设文本可以是预先设置的包含有多种数字组合的文本内容。
在获取了样本数据后,还可以先对样本数据进行标注。具体的,可以参阅图4所示,在所获取的样本数据中,利用字符音节标识可以标识出各个字符音节对应的音频数据的所处的范围区域。例如,对于样本数据中的音频数据“五十六”,可以利用“5”、“10”、“6”分别作为字符音节“五”的字符音节标识、字符音节“十”的字符音节标识、字符音节“六”的字符音节标识,分别标识出字符音节“五”、“十”、“六”在所述音频数据中的范围区域。当然,需要说明的是,上述所列举的字符音节标识只是一种示意性说明,不应构成对本说明书的不当限定。
进一步的,在从样本数据中截取得到字符的主干音节的音频数据时,具体可以包括:检索所述样本数据中的字符音节标识;根据所述字符音节标识,截取所述样本数据中所述字符音节标识所标识的范围中的指定区域的音频数据作为所述字符的主干音节的音频数据。
具体的,可以检索确定样本数据中音频数据的字符音节标识,进而可以根据上述字符音节标识,确定样本数据中的各个字符音节在音频数据中的区域范围,即样本数据中的字符音节标识所标识的范围;再从上述字符音节在音频数据中的区域范围中按照预设的规则截取指定区域内的音频数据作为字符的主干音节的音频数据。例如,对于样本数据中的音频数据“五十六”,可以先检索该音频数据中的字符音节标识“5”、“10”、“6”;进而可以根据字符音节标识“5”确定字符音节“五”在音频数据中的区域范围,根据字符音节标识“10”确定字符音节“十”在音频数据中的区域范围,根据字符音节标识“6”确定字符音节“六”在音频数据中的区域范围;进而可以从字符音节“五”所在的区域范围的音频数据中截取指定区域的音频数据作为字符“五”的主干音节的音频数据,从字符音节“十”所在的区域范围的音频数据中截取指定区域的音频数据作为字符“十”的主干音节的音频数据,从字符音节“六”所在的区域范围的音频数据中截取指定区域的音频数据作为字符“六”的主干音节的音频数据。
在具体截取字符的主干音节的音频数据时,考虑到人在说具体数字时,对应于数字中的每一个数字或单位的音节的中间部分的音频数据大多是较为一致的,即相同字符音节的音频数据大多中间部分的音频数据差异相对较小,不同字符音节的音频数据大多中间部分的音频数据差异相对较大。例如,人在说“五十六”和“六十五”这两个数字时,“五十六”中的字符“五”的音节的音频数据的中间部分往往与“六十五”中的字符“五”的音节的音频数据的中间部分相同。因此,可以将字符音节的音频数据中的中间部分的音频数据作为指定区域的音频数据进行截取,以得到该字符音节的主干音节的音频数据。基于上述特点,具体实施时,可以在所述字符音节标识所标识的范围中,以所述字符音节标识所标识的范围中的中点为中心对称点,且区域的区间长度与所述字符音节标识所标识的范围的区间长度的比值等于预设比值的区域。
例如,可以参阅图5所示,将字符音节标识“5”所标识的范围中的中点O作为中心对称点,分别截取中心对称点O两侧1/2区域组合作为指定区域,将该指定区域的音频数据确定为字符“五”的主干音节的音频数据。其中,上述指定区域占字符音节标识“5”所标识的范围的1/2。按照上述方式,还可以截取得到字符“十”的主干音节的音频数据,以及字符“六”的主干音节的音频数据。当然,上述所列举的预设比值只是为了更好地说明本说明书实施方式。具体实施时,也可以根据具体的场景情况,选择其他数值作为预设比值,以确定指定区域进而截取对应的字符的主干音节的音频数据。
在截取得到字符的主干音节的音频数据后,可以截取样本数据的音频数据中相邻的字符的主干音节的音频数据之间的区域内的音频数据作为上述相邻的字符之间的衔接音节的音频数据。
例如,可以参阅图5所示,截取样本数据的音频数据中的相邻的字符“五”的主干音节的音频数据与字符“十”的主干音节的音频数据之间的区域内的音频数据作为字符“五”连字符“十”之间的衔接音节的音频数据,即相邻的字符之间的衔接音节的音频数据。按照上述方式还可以截取得到相邻的字符“十”和字符“六”之间的衔接音节的音频数据。
在本场景实例中,考虑到如果样本数据较为丰富,可以截取得到多个表征同一相邻的字符之间的衔接音节的音频数据。例如,样本数据中的音频数据“五十六”、“五十四”中都可以截取到相同的字符“五”与字符“十”之间的衔接音节的音频数据(或称字符“五”连字符“十”之间的衔接音节的音频数据)。此外,样本数据中可能包含有不同人发出的“五十六”的音频数据,进而可以基于不同人的音频数据,得到多个字符“五”和字符“十”之间的衔接音节的音频数据。
因此,在所截取得到的相邻的字符之间的衔接音节的音频数据中包括有同一相邻的字符之间的衔接音节的音频数据的情况下,为了获取效果较好的音频数据作为相邻的字符之间的衔接音节的音频数据,以便后续用于衔接相应的字符的主干音节的音频数据时更为自然、流畅,可以将同一相邻的字符之间的多个衔接音节的音频数据划分为多种类型,分别统计样本数据中各种类型的音频数据的出现频率,并从多种类型的音频数据中筛选出现频率最高的类型的音频数据作为上述相邻的字符之间的衔接音节之间的音频数据,保存在预设的音频数据库中。当然,除了上述所列举的根据各种类型的音频数据的出现频率从同一相邻的字符之间的多个衔接音节的音频数据中筛选出效果较好的音频数据进行保存外还可以采用其他合适的方式从同一相邻的字符之间的多个衔接音节的音频数据中筛选出效果较好的音频数据进行保存。例如,还可以分别计算同一相邻的字符之间的多个衔接音节的音频数据的MOS值(Mean Opinion Score,平均主观意见分),根据衔接音节的音频数据的MOS值,筛选出MOS值最高的衔接音节的音频数据作为相邻的字符之间的衔接音节的音频数据。其中,上述MOS值可以用于较为准确、客观地评价音频数据的自然、流畅程度。
类似的,在截取得到多个表征同一字符的主干音节的音频数据时,可以统计同一字符的多个主干音节的音频数据中不同类型的主干音节的音频数据的出现频率,进而可以从同一子符的多种类型的主干音节的音频数据中筛选出出现频率最高的音频数据作为该字符的主干音节的音频数据并保存至预设的音频数据库中。也可以分别确定同一字符的多个主干音节的音频数据的MOS值,筛选出MOS值最高的音频数据作为该字符的主干音节的音频数据并保存至预设的音频数据库中等。
由上可见,本说明书实施例提供的播报语音的确定方法通过获取相邻的字符之间的衔接音节的音频数据,并利用相邻的字符之间的衔接音节的音频数据拼接对应的字符的主干音节的音频数据,得到过渡更为自然的语音音频数据,以进行语音播报,从而解决了现有方法中存在的数字播报不自然、用户体验差的问题,达到能兼顾运算成本,高效、流畅地进行有关数字的语音播报;还通过获取包含有数字的样本数据,从样本数据中截取指定区域内的音频数据作为字符的主干音节的音频数据,进而截取字符的主干音节的音频数据之间的音频数据作为相邻字符之间的衔接音节的音频数据,从而可以建立较为准确的预设的音频数据库,以便可以通过检索上述预设的音频数据库,生成更为自然、流畅的目标数字序列的音频数据。
参阅图6所示,本说明书提供了一种播报语音的确定方法,其中,该方法具体应用于播报语音的确定设备(或用户端)一侧。具体实施时,该方法可以包括以下内容。
S601:获取待播报的目标数字序列。
在本实施方式中,上述待播报的目标数字序列具体可以是到账的钱款的金额数字,例如54元中的54;也可以是汽车行驶里程的距离数字,例如80公里中的80;还可以是股票的实时价格,例如20.9元每股中的20.9。当然上述所列举的目标数字序列所表征的数据对象只是为了更好地说明本实施方式。具体实施时,根据具体的应用场景,上述待播报的目标数字序列还可以是用于表征其他数据对象的数字。对此,本说明书不作限定。
在本实施方式中,获取待播报的目标数字序列具体可以理解为,获取待播报的数据,解析待播报的数据,提取所述待播报的数据中数字作为上述待播报的目标数字序列。例如,支付平台的服务器在确认用户的账户到账54元时,会向与该用户的账户关联的播报语音的确定设备(例如该用户的手机)发送到账提示信息“账户到账54元”。播报语音的确定设备在接收到上述到账提示信息后,可以解析该提示信息,并提取该提示信息中的数字“54”作为待播报的目标数字序列。当然,需要说明的是,上述所列举的获取待播报的目标数字序列只是一种示意性说明,对此,本说明书不作限定。
S603:将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符。
在本实施方式中,其中,上述字符串具体可以理解为用于表征目标数字序列的字符音节的,且按照与目标数字序列对应的排列顺序(即预设排列顺序)排列的字符串,上述字符串中每一个字符对应目标数字序列中的一个字符音节。例如,目标数字序列“67”的字符串可以表示为“六十七”,其中,字符“六”、“十”、“七”分别对应于目标数字序列中的一个字符音节,并且上述字符按照与目标数字序列对应的预设顺序排列。当然,需要说明的是,上述所列举的字符串只是为了更好地说明本实施方式。具体实施时,根据具体情况还可以选择使用其他类型的字符串。对此,本说明书不作限定。
在本实施方式中,上述将所述目标数字序列转换为字符串,具体可以理解为根据预设的映射规则,将目标数字序列转换为对应的用于表征目标数字序列的字符音节的字符串。例如,根据预设的映射规则,可以将目标数字序列“67”中十位上的数字“6”转换为对应的字符“六”和“十”,将个位上的数字“7”转换为对应的字符“七”,再按照与目标数字序列“67”对应的预设顺序,排列得到的字符,从而得到对应的字符串为“六十七”。当然,需要说明的是,上述所列举的将所述目标数字序列转换为字符串的实现方式只是一种示意性说明。具体实施时,也可以根据具体情况,采用其他方式将目标数字序列转换为对应的字符串。对此,本说明书不作限定。
S605:获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节。
在本实施方式中,上述字符的主干音节具体可以理解为一个字符音节的主要部分(例如字符音节的中间部分)。通常这部分的音节具有较高的辨识度,同一个字符音节的主干音节的基频、音强等音频特征较为一致,近似相同,因此可以提取字符音节的主干音节用以区分其他字符音节。
在本实施方式中,上述相邻字符之间的衔接音节具体可以理解为用于连接相邻字符的主干音节的连接部分的音节。通常这部分的音节不同于主干音节本身并没有什么具体含义,也不用于对应表征某一个具体字符,但在音频数据中的波形数据并不为0。在人的语音习惯中,通常会出现在相邻的字符的主干音节之间,起到承接、过渡的作用,从而能够使得人说的话不同于机器发音,不是单调、呆板地直接将各个字符的主干音节简单地连接起来,而是很自然、流畅地从一个字符音节过渡到另一个字符音节。例如,人在发出“五十”时,在字符“五”的主干音节和字符“十”的主干音节之间的连接部分的语,即为字符“五”和字符“十”之间的衔接音节。
在本实施方式中,上述获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,具体可以包括:根据目标数字序列的字符串中的具体字符,检索预设的音频数据库以获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据。
其中,上述预设的音频数据库具体可以是事先建立的并保存于服务器或者播报语音的确定设备的数据库。具体的,上述预设的音频数据库中具体可以包含有各个字符的主干音节的音频数据,以及各个相邻字符之间的衔接音节的音频数据。
S607:按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
在本实施方式中,上述目标数字序列的音频数据具体可以理解为用于语音播报目标数字序列的音频数据。
在本实施方式中,上述按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,具体实施时,可以包括:按照预设顺序(即与目标数字序列的字符串中字符的排列顺序),排列各个字符的主干音节的音频数据;再利用相邻的字符之间的衔接音节的音频数据连接相邻的字符的主干音节的音频数据。
在本实施方式中,需要说明的是,考虑到通常用户使用的播报语音的确定设备大多是嵌入式的设备***,这类设备***受限于自身的结构,往往运算能力、数据处理能力相对较弱,导致直接通过语音合成模型合成相应的数字序列的音频数据成本相对较高、处理效率也相对较差。通过利用本说明书实施例提供的播报语音的确定方法可以避免通过资源占用较高的语音合成模型生成对应的音频数据,而是简单地在预设的音频数据库中检索确定对应的字符的主干音节的音频数据,以及相邻字符之间的衔接音节的音频数据进行拼接组合,以得到具有较高准确度的目标数字序列的音频数据,从而可以降低对资源的占用,提高处理效率,更好地适用于嵌入式的设备***。
在一个实施方式中,上述获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,具体实施时,可以包括以下内容。
S1:识别所述字符串中的各个字符,并确定所述字符串中的相邻的字符之间的连接关系,其中,所述字符串中的相邻的字符之间的连接关系用于指示字符串中的相邻的字符之间的先后连接顺序;
S2:根据所述字符串中的各个字符,从预设的音频数据库中检索并获取各个字符的主干音节的音频数据,其中,所述预设的音频数据库中存储有字符的主干音节的音频数据和相邻的字符之间的衔接音节的音频数据;
S3:根据所述字符串中的相邻的字符之间的连接关系,从预设的音频数据库中检索并获取所述字符串中的相邻的字符之间的衔接音节的音频数据。
在本实施方式中,上述相邻的字符之间的连接关系具体可以理解为相邻的两个字符之间的先后顺序的一种标识信息。例如,字符串“五十四”中字符“五”和“十”是相邻的两个字符,“五”和“十”之间的连接关系可以表述为:字符“五”连字符“十”。当然,需要说明的是上述所列举的相邻字符之间的连接关系只是一种示意性说明。具体实施时还可以通过其他标识方式表示相邻字符之间的连接关系。对此,本说明书不作限定。
在本实施方式中,具体实施时,可以根据将所识别的字符,以及所确定的相邻的字符之间的连接关系作为标识,在预设的音频数据库中进行检索,以提取预设的音频数据库中与上述标识匹配的音频数据中作为上述字符的主干音节的音频数据,或相邻的字符之间的衔接音节的音频数据。
在一个实施方式中,所述预设的音频数据库具体可以按照以下方式建立。
S1:获取样本数据;其中,所述样本数据为包含有数字序列所对应的字符串的音频数据;
S2:从所述样本数据中截取得到字符的主干音节的音频数据;
S3:从所述样本数据中截取得到相邻的字符之间的衔接音节的音频数据;
S4:根据所述字符的主干音节的音频数据、所述相邻的字符之间的衔接音节的音频数据,建立所述预设的音频数据库。
在本实施方式中,上述获取包含有数字的音频数据作为样本数据具体实施时,可以包括:截取播音员的播报音频数据中包含有与数字相关的播报内容的音频数据作为上述样本数据;也可以采集人按照预设文本读出的语音数据,作为上述样本数据,其中,上预设文本可以是预先设置的包含有多种数字组合的文本内容。当然需要说明的是,上述所列举的获取包含有数字的音频数据作为样本数据的实现方式只是一种示意性说明。具体实施时,还可以根据具体情况选择通过其他方式获取包含有数字的音频数据作为样本数据。对此,本说明书不作限定。
在本实施方式中,在获取了样本数据后,还可以对样本数据进行标注。具体的,可以在所获取的样本数据中,利用相应的字符音节标识标记出各个字符音节对应的音频数据的所处的范围区域。
相应的,上述从样本数据中截取得到字符的主干音节的音频数据时,具体可以包括:检索所述样本数据中的字符音节标识;根据所述字符音节标识,截取所述样本数据中所述字符音节标识所标识的范围中的指定区域的音频数据作为所述字符的主干音节的音频数据。
在本实施方式中,上述指定区域具体可以理解为在所述字符音节标识所标识的范围中,以所述字符音节标识所标识的范围中的中点为中心对称点,且区域的区间长度与所述字符音节标识所标识的范围的区间长度的比值等于预设比值的区域。
例如,可以将字符音节标识“5”所标识的范围中的中点O作为中心对称点,分别截取中心对称点O两侧1/2区域组合作为指定区域,将该指定区域的音频数据确定为字符“五”的主干音节的音频数据。其中,上述指定区域占字符音节标识“5”所标识的范围的1/2。当然,需要说明的是,上述所列举的指定区域,以及确定指定区域的方式只是为了更好地说明本说明书实施方式。具体实施时,还可以根据具体情况选择使用其他的区域作为指定区域,进而采用对应的确定方式确定指定区域。
例如,还可以将字符音节标识所标识的范围中音强幅值大于阈值强度的区域作为指定区域。相应的,具体实施时,可以根据音强,从字符音节标识所表示的范围中,截取音强幅值大于阈值强度的区域内的音频数据作为字符的主干音节的音频数据。
具体实施时,可以参阅图7所示。从字符音节标识所标识的范围中,选择音强的幅值大于阈值强度的第一个周期中的音强值为0的位置点与音强幅值小于阈值强度的第一个周期中的音强为0的位置点之间的区域作为指定区域,进而可以截取上述指定区域中的音频数据作为上述字符的主干音节的音频数据。
其中,需要说明的是,上述阈值强度的具体数值可以根据字符音节的音素确定。具体的,如果字符音节的音素为元音,可以将上述阈值强度设置得相对较高,例如可以设置为0.1。如果字符音节的音素为辅音,可以将上述阈值强度设置得相对较低,例如可以设置为0.03。例如,对于某一个字符的字符音节以元音开头,以辅音结尾,具体实施时可以将该字符的字符音节标识所标识范围中音强的幅值大于0.1的第一个周期中的音强值为0的位置点与音强幅值小于0.03的第一个周期中的音强为0的位置点之间的区域作为指定区域,进而可以获取该指定区域中的音频数据作为该字符的主干音节的音频数据。
此外,上述阈值强度的具体数值还可以根据音频数据中背景声音的强弱确定、具体的,如果音频数据中的背景声音较强,可以将上述阈值强度设置得相对较高,例如可以设置为0.16.如果,音频数据中的背景声音较弱,可以将上述阈值强度设置得相对较低,例如可以设置为0.047。当然,需要说明的是,上述所列举的确定阈值强度的方式只是为了更好地说明本实施时方式。具体实施时,还可以根据具体的应用场景,选择采用其他合适的方式确定阈值强度。对此,本说明书不作限定。
在从所述样本数据中截取得到字符的主干音节的音频数据后,相应的,上述从所述样本数据中截取得到相邻的字符之间的衔接音节的音频数据,具体实施时,可以包括:截取所述样本数据中相邻的字符的主干音节的音频数据之间的区域的音频数据作为所述相邻的字符之间的衔接音节的音频数据。
在本实施方式中,进一步考虑到根据人类的语音习惯,在发出关于目标数字序列的语音数据中的第一个字符音节时,在音强为0至第一个字符的主干音节的音频数据之间也存在一种起衔接作用的连接音节的音频数据。因此,具体实施时,还可以截取样本数据中的音频数据中起始位置与第一字符有的主干音节的音频数据之间的音频数据作为一种衔接音节的音频数据,以便后续可以拼接得到效果较好、较为自然流畅的目标数字的音频数据的起始部分的字符的音频数据。
在本实施方式中,具体实施时,可以截取样本数据中音频数据内两个相邻的指定区域之间的区域内的音频数据作为对应的相邻字符之间的衔接音节的音频数据。
在本实施方式中,具体实施时,可以按照上述方式分别对样本数据中的各个音频数据进行截取,以获取所述字符的主干音节的音频数据、所述相邻的字符之间的衔接音节的音频数据,进而可以保存所获取的所述字符的主干音节的音频数据、所述相邻的字符之间的衔接音节的音频数据,并根据所述字符的主干音节的音频数据、所述相邻的字符之间的衔接音节的音频数据,建立所述预设的音频数据库。
在一个实施方式中,从所述样本数据中截取得到字符的主干音节的音频数据,具体实施时,可以包括以下内容:检索所述样本数据中的字符音节标识;根据所述字符音节标识,截取所述样本数据中所述字符音节标识所标识的范围中的指定区域的音频数据作为所述字符的主干音节的音频数据。
在一个实施方式中,所述指定区域具体可以理解为在所述字符音节标识所标识的范围中,以所述字符音节标识所标识的范围中的中点为中心对称点,且区域的区间长度与所述字符音节标识所标识的范围的区间长度的比值等于预设比值的区域。
在一个实施方式中,从所述样本数据中截取得到相邻的字符之间的衔接音节的音频数据,具体实施时,可以包括以下内容:截取所述样本数据中相邻的字符的主干音节的音频数据之间的区域的音频数据作为所述相邻的字符之间的衔接音节的音频数据。
在一个实施方式中,在从所述样本数据中截取得到相邻的字符之间的衔接音节的音频数据后,为寻找并确定衔接效果较好、较为自然流畅的衔接音节的音频数据进行保存,具体实施时,所述方法还可以包括以下内容:
S1:检测所述相邻的字符之间的衔接音节的音频数据中是否包括同一相邻的字符之间的多个衔接音节的音频数据;
S2:在确定所述相邻的字符之间的衔接音节的音频数据中包括同一相邻的字符之间的多个衔接音节的音频数据的情况下,统计所述同一相邻的字符之间的多个衔接音节的音频数据中各种类型的衔接音节的音频数据的出现频率,将所述出现频率最高的类型的衔接音节的音频数据确定为所述相邻的字符之间的衔接音节的音频数据。
在本实施方式中,由于样本数据大多是由人发出的包含有数字的语音音频数据,对于同一相邻的字符之间的多个衔接音节的音频数据,出现频率越高对应在人类正常的语音习惯中使用越频繁,越能吻合人类较为普遍的语音习惯。因此可以将出现频率最高的类型的衔接音节的音频数据作为效果较好、较为自然的音频数据保存在预设的音频数据库中以提高音频数据库的准确度。
具体的,可以将同一相邻的字符之间的多个衔接音节的音频数据划分为多种类型,分别统计样本数据中各种类型的音频数据的出现频率,并从多种类型的音频数据中筛选出现频率最高的类型的音频数据作为上述相邻的字符之间的衔接音节之间的音频数据,保存在预设的音频数据库中。当然,除了上述所列举的根据各种类型的音频数据的出现频率从同一相邻的字符之间的多个衔接音节的音频数据中筛选出效果较好的音频数据进行保存外还可以采用其他合适的方式从同一相邻的字符之间的多个衔接音节的音频数据中筛选出效果较好的音频数据进行保存。例如,还可以分别计算同一相邻的字符之间的多个衔接音节的音频数据的MOS值(Mean Opinion Score,平均主观意见分),根据衔接音节的音频数据的MOS值,筛选出MOS值最高的衔接音节的音频数据作为相邻的字符之间的衔接音节的音频数据。其中,上述MOS值可以用于较为准确、客观地评价音频数据的自然、流畅程度。
类似的,在截取得到多个表征同一字符的主干音节的音频数据时,可以统计同一字符的多个主干音节的音频数据中不同类型的主干音节的音频数据的出现频率,进而可以从同一子符的多种类型的主干音节的音频数据中筛选出出现频率最高的音频数据作为该字符的主干音节的音频数据并保存至预设的音频数据库中。也可以分别确定同一字符的多个主干音节的音频数据的MOS值,筛选出MOS值最高的音频数据作为该字符的主干音节的音频数据并保存至预设的音频数据库中等。
在一个实施方式中,为了得到较为完整的语音音频数据进行包含有目标数字序列的语音播报,在得到所述目标数字序列的音频数据后,所述方法具体实施时还可以包括以下内容:
S1:获取预设的前置音频数据,其中,所述预设的前置音频数据用于指示所述目标数字序列所表征的数据对象;
S2:将所述预设的前置音频数据和所述目标数字序列的音频数据进行拼接,得到待播放的语音音频数据;
S3:播放所述待播放的语音音频数据。
在本实施方式中,上述预设的前置音频数据具体可以是用于指示目标数字序列所表征的数据对象等内容的音频数据。例如,对于到账金额播报而言,上述预设的前置音频数据可以包括设置在金额数字之前的语音音频数据“账户到账”,以及设置在金额数字之后的语音音频数据“元”。对于股票价格播报而言,上述预设的前置音频数据可以包括设置在价格数字之前的语音音频数据“XX股票的最新单价是”,以及设置在价格数字之后的语音音频数据“元每股”。当然,上述所列举的预设的前置音频数据只是一种示意性说明。具体实施时,还可以根据具体的应用场景,设置其他的音频数据作为上述预设的前置音频数据。对此,本说明书不作限定。
在本实施方式中,需要说明的是,通常所播报的语音数据中前置音频数据往往较为固定,变化的只是语音数据中待播报的目标数字序列。以到账金额播报为例,不同的到账金额的语音播报数据中前置音频数据都是相同。例如,“账户到账金额为五十四元”、“账户到账金额为七十九元”中前置音频数据完全相同都是“账户到账金额为”,以及“元”,不同只是待播报的金额数字。因此,具体实施时,为了提高处理效率,可以预先设置保存对应的前置音频数据,再生成了目标数字序列的音频数据后,可以将预设的前置音频数据与所生成的目标数字序列的音频数据直接进行拼接组合,得到待播放的语音音频数据,进行语音播放。从而可以避免对内容相同的前置音频数据进行重复的音频数据合成,提高处理效率,使得本说明书提供的播报语音的确定方法更加适用于数据处理能力有限的嵌入式***,例如手机等播报语音的确定设备。
具体的,例如,在得到了目标数字序列“54”的音频数据后,可以先调用预设设置好的前置音频数据“账户到账金额为”、“元”;再按照一定的顺序将目标数字序列“54”的音频数据与预设的前置音频数据进行拼接组合。具体的,可以在“账户到账金额为”的音频数据后连接目标数字序列“54”的音频数据,在在目标数字序列“54”的音频数据后连接“元”,从而得到了较为完整的,包含有目标数字序列的到账金额的语音播报数据。
在一个实施方式中,所述预设的前置音频数据具体可以包括以下至少之一:用于播报到账金额的前置用语的音频数据、用于播报行驶里程的前置用语的音频数据、用于播报股票价格的前置用语的音频数据等。当然,需要说明的是,上述所列举的预设的前置音频数据只是为了更好地说明本实施方式。具体实施时,根据具体的应用场景和要求,还可以选择使用其他的预设的音频数据作为上述预设的前置数据。对此,本说明书不作限定。
由上可见,本说明书实施例提供的播报语音的确定方法通过获取相邻的字符之间的衔接音节的音频数据,并利用相邻的字符之间的衔接音节的音频数据拼接对应的字符的主干音节的音频数据,得到过渡更为自然的语音音频数据,以进行语音播报,从而解决了现有方法中存在的数字播报不自然、用户体验差的问题,达到能兼顾运算成本,高效、流畅地进行有关数字的语音播报;还通过获取包含有数字的样本数据,从样本数据中截取指定区域内的音频数据作为字符的主干音节的音频数据,进而截取字符的主干音节的音频数据之间的音频数据作为相邻字符之间的衔接音节的音频数据,从而可以建立较为准确的预设的音频数据库,以便可以通过检索上述预设的音频数据库,生成更为自然、流畅的目标数字序列的音频数据。
参阅图8所示,本说明书提供了一种播报语音的确定方法,其中,该方法具体应用于播报语音的确定设备一侧。具体实施时,该方法可以包括以下内容。
S801:获取待播放的字符串,其中,所述字符串包括多个按照预设顺序排列的字符;
S803:获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;
S805:按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述待播放的字符串的音频数据。
在本实施方式中,上述待播放的字符串具体可以是待播放的数字序列的字符串,也可以是待播放的文字信息的字符串。具体实施时,可以根据具体应用场景和实施要求选择相应内容的字符串作为上述待播放的字符串。对于上述待播放的字符串所表征的具体内容,本说明书不作限定。
本说明书实施例还提供了一种播报语音的确定设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取待播报的目标数字序列;将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
为了能够更加准确地完成上述指令,参阅图9,本说明书还提供了另一种具体的播报语音的确定设备,其中,所述播报语音的确定设备包括输入接口901、处理器902以及存储器903,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述输入接口901,具体可以用于输入待播报的目标数字序列。
所述处理器902,具体可以用于将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
所述存储器903,具体可以用于存储经输入接口901输入的待播报的目标数字序列、预设的音频数据库,以及存储相应的指令程序。
在本实施方式中,所述输入接口901具体可以是一种支持播报语音的确定设备获取,并从所获取的信息数据中提取待播报的目标数据序列的单元、模块。
在本实施方式中,所述处理器902可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施方式中,所述存储器903可以包括多个层次,在数字***中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在***中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述支付方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图10,在软件层面上,本说明书实施例还提供了一种播报语音的确定装置,该装置具体可以包括以下的结构模块:
第一获取模块1001,具体可以用于获取待播报的目标数字序列;
转换模块1002,具体可以用于将所述目标数字序列转换为字符串,其中,所述字符串包括多个按照预设顺序排列的字符;
第二获取模块1003,具体可以用于获取所述字符串中的各个字符的主干音节的音频数据,以及所述字符串中的相邻的字符之间的衔接音节的音频数据,其中,所述衔接音节用于连接相邻的字符的主干音节;
拼接模块1004,具体可以用于按照预设顺序拼接所述字符的主干音节的音频数据和所述相邻的字符之间的衔接音节的音频数据,得到所述目标数字序列的音频数据。
在一个实施方式中,所述第二获取模块1003具体可以包括以下结构单元:
识别单元,具体可以用于识别所述字符串中的各个字符,并确定所述字符串中的相邻的字符之间的连接关系,其中,所述字符串中的相邻的字符之间的连接关系用于指示字符串中的相邻的字符之间的先后连接顺序;
第一获取单元,具体可以用于根据所述字符串中的各个字符,从预设的音频数据库中检索并获取各个字符的主干音节的音频数据,其中,所述预设的音频数据库中存储有字符的主干音节的音频数据和相邻的字符之间的衔接音节的音频数据;
第二获取单元,具体可以用于根据所述字符串中的相邻的字符之间的连接关系,从预设的音频数据库中检索并获取所述字符串中的相邻的字符之间的衔接音节的音频数据。
在一个实施方式中,为了预先准备好需要使用的预设的音频数据库,具体实施时,所述装置还可以包括建立模块,具体可以用于建立预设的音频数据库。
在一个实施方式中,所述建立模块具体实施时,可以包括以下结构单元:
第三获取单元,具体可以用于获取包含有数字的音频数据作为样本数据;
第一截取单元,具体可以用于从所述样本数据中截取得到字符的主干音节的音频数据;
第二截取单元,具体可以用于从所述样本数据中截取得到相邻的字符之间的衔接音节的音频数据;
建立单元,具体可以用于根据所述字符的主干音节的音频数据、所述相邻的字符之间的衔接音节的音频数据,建立所述预设的音频数据库。
在一个实施方式中,所述装置具体实施时,还可以包括播放模块,具体可以用于获取预设的前置音频数据,其中,所述预设的前置音频数据用于指示所述目标数字序列所表征的数据对象;将所述预设的前置音频数据和所述目标数字序列的音频数据进行拼接,得到待播放的语音音频数据;播放所述待播放的语音音频数据。
在一个实施方式中,所述预设的前置音频数据具体可以包括以下至少之一:用于播报到账金额的前置用语的音频数据、用于播报行驶里程的前置用语的音频数据、用于播报股票变化值的前置用语的音频数据等。当然,需要说明的是上述所列举的前置音频数据只是一种示意性说明。具体实施时,还可以根据具体的应用场景和要求,选择或者获取其他合适的音频数据作为上述预设的前置音频数据。对此,本说明书不作限定。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的播报语音的确定装置通过第二获取模块获取相邻的字符之间的衔接音节的音频数据,并通过拼接模块利用相邻的字符之间的衔接音节的音频数据拼接对应的字符的主干音节的音频数据,得到过渡更为自然的语音音频数据,以进行语音播报,从而解决了现有方法中存在的数字播报不自然、用户体验差的问题,达到能兼顾运算成本,高效、流畅地进行有关数字的语音播报;还通过建立模块获取包含有数字的样本数据,从样本数据中截取指定区域内的音频数据作为字符的主干音节的音频数据,进而截取字符的主干音节的音频数据之间的音频数据作为相邻字符之间的衔接音节的音频数据,从而可以建立较为准确的预设的音频数据库,以便可以通过检索上述预设的音频数据库,生成更为自然、流畅的目标数字序列的音频数据。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。