一种文本转化成语音的方法及装置与流程

文档序号:14796564发布日期:2018-06-29 18:05阅读:290来源:国知局

本发明属于文本转化技术领域,具体涉及到一种文本转化成语音的方法及装置。



背景技术:

文本转语音(TTS,Text To Speech)涉及声学、语言学、数字信号处理技术、多媒体技术等多个学科技术,是中文信息处理领域的一项前沿技术,其在IVR(Interactive Voice Response,互动式语音应答)业务里面频繁使用。

但是目前在IVR系统中使用TTS的做法是根据文本信息直接从语音数据库中获取所需要的单个语音文件,并将多个单个语音文件合成一个与该文本信息相对应的合成语音文件,然后将与该合成语音文件放入板卡中,进行播放。

目前在IVR系统中使用TTS的做法,会产生大量的与不同文本信息相对应的不同的合成语音文件,每个合成语音文件本身都会占用较大的内存,且每隔一段时间都会产生大量的合成语音文件,这不仅会导致占用较大的存储资源,也需要定期进行管理与维护,耗费较大。



技术实现要素:

为了解决上述技术问题,本发明提供一种文本转化成语音的方法及装置,其可应用于IVR系统中将文本转化成语音,其不需要将多个单个语音文件合成相对应的合成语音文件,可以避免由此带来的存储资源的消耗,也不必进行定期管理与维护,大大缩减了成本。

本发明提供如下技术方案:

一方面,本发明实施例中提供一种文本转化成语音的方法,其包括以下步骤:

获取文本信息,将所述文本信息拆分成单个文字信息,并生成每个文字信息在所述文本信息中的顺序信息;

根据每个文字信息分别获取与其对应的发音文件地址信息,然后,根据每个文字信息的发音文件地址信息分别获取每个文字信息对应的发音文件;

按照每个文字信息在所述文本信息中的顺序信息,将每个文字信息对应的发音文件进行排序,并在每个文字信息对应的发音文件中标注对应的序号,形成每个文字信息对应的序号发音文件;

将每个文字信息对应的序号发音文件一次性写入板卡中;

按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

较佳地,上述方法还包括:

将所述文本信息中包含的每个标点符号分别拆分成对应的符号信息;且所述生成每个文字信息在所述文本信息中的顺序信息的同时,也生成每个符号信息在所述文本信息中的顺序信息;

根据每个符号信息,查找对应的停顿时长和语调信息,并生成与该符号信息对应的符号文件;

根据每个符号信息在所述文本信息中的顺序信息,将每个符号信息对应的符号文件进行排序,并在每个符号信息对应的符号文件中标注对应的序号,形成每个符号信息对应的序号符号文件;

将每个符号信息对应的序号符号文件写入板卡中;

所述播放写入板卡中的每个文字信息对应的序号发音文件之前,查询是否存在序号符号文件;如果存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号及每个序号符号文件中的停顿时长和语调信息,依次播放每个序号符号文件的序号之前的每个序号发音文件;如果不存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

优选地,所述根据每个文字信息分别获取与其对应的发音文件地址信息包括:根据每个文字信息分别获取与每个文字信息对应的索引信息,并根据每个文字信息的索引信息,分别获取与每个索引信息对应的发音文件地址信息。

较佳地,所述根据每个文字信息分别获取与其对应的发音文件地址信息之前,还包括:

将文本信息中的每个文字信息的发音录制成与其对应的发音文件;

将每个文字信息的发音文件存入内存中,并生成每个发音文件的发音文件地址信息;

将每个文字信息与其发音文件地址信息相映射。

进一步地,所述将每个文字信息与其发音文件地址信息相映射,包括:

生成每个文字信息的索引信息,并将每个文字信息的索引信息与该文字信息相映射;

将每个索引信息分别与每个文字信息的发音文件地址信息相映射。

另一方面,本发明实施例中还提供一种文本转化成语音的装置,其包括:

拆分模块,用于获取文本信息,将所述文本信息拆分成单个文字信息,并生成每个文字信息在所述文本信息中的顺序信息;

获取模块,用于根据每个文字信息分别获取与其对应的发音文件地址信息,然后,根据每个文字信息的发音文件地址信息分别获取每个文字信息对应的发音文件;

排序模块,用于按照每个文字信息在所述文本信息中的顺序信息,将每个文字信息对应的发音文件进行排序,并在每个文字信息对应的发音文件中标注对应的序号,形成每个文字信息对应的序号发音文件;

写入模块,用于将每个文字信息对应的序号发音文件一次性写入板卡中;

播放模块,用于按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

较佳地,所述拆分模块,还用于将所述文本信息中包含的每个标点符号分别拆分成对应的符号信息;且所述生成每个文字信息在所述文本信息中的顺序信息的同时,也生成每个符号信息在所述文本信息中的顺序信息;

且所述文本转化成语音的装置还包括查找模块,用于根据每个符号信息,查找对应的停顿时长和语调信息,并生成与该符号信息对应的符号文件;

所述排序模块,还用于根据每个符号信息在所述文本信息中的顺序信息,将每个符号信息对应的符号文件进行排序,并在每个符号信息对应的符号文件中标注对应的序号,形成每个符号信息对应的序号符号文件;

所述写入模块,还用于将每个符号信息对应的序号符号文件写入板卡中;

所述播放模块包括查询单元和播放单元;

其中,所述查询单元,用于所述播放写入板卡中的每个文字信息对应的序号发音文件之前,查询是否存在序号符号文件;

所述播放单元,用于如果存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号及每个序号符号文件中的停顿时长和语调信息,依次播放每个序号符号文件的序号之前的每个序号发音文件;如果不存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

优选地,所述获取模块包括索引单元,用于根据每个文字信息分别获取与每个文字信息对应的索引信息,并根据每个文字信息的索引信息,分别获取与每个索引信息对应的发音文件地址信息。

优选地,所述装置还包括:

录制模块,用于所述根据每个文字信息分别获取与其对应的发音文件地址信息之前,将文本信息中的每个文字信息的发音录制成与其对应的发音文件;

生成模块,用于将每个文字信息的发音文件存入内存中,并生成每个发音文件的发音文件地址信息;

映射模块,用于将每个文字信息与其发音文件地址信息相映射。

进一步地,所述映射模块包括:

第一映射单元,用于生成每个文字信息的索引信息,并将每个文字信息的索引信息与该文字信息相映射;

第二映射单元,用于将每个索引信息分别与每个文字信息的发音文件地址信息相映射。

本发明实施例的文本转化成语音的方法可应用于IVR系统中,其只需要获取文本信息中每个文字信息对应的发音文件和每个文字信息在所述文本信息中的顺序信息,即可在板卡中按照顺序将所述文本信息播放出来。本发明实施例不需要将多个单个语音文件合成相对应的合成语音文件,可以避免由此带来的存储资源的消耗,也不必进行定期管理与维护,大大缩减了成本。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一优选实施例中的文本转化成语音的方法的流程图。

图2为本发明另一优选实施例中的文本转化成语音的方法的部分流程图。

图3为本发明一优选实施例中的文本转化成语音的装置的结构框图。

图4为本发明另一优选实施例中的文本转化成语音的装置的结构框图。

图5为本发明又一优选实施例中的文本转化成语音的装置的结构框图。

具体实施方式

下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中的“第一”、“第二”,只是对某些特征进行区别性地称呼,这是为了方便理解设定的,并无其他方面的限定。

如图1所示的文本转化成语音的方法,其包括以下步骤:

S101:获取文本信息,将所述文本信息拆分成单个文字信息,并生成每个文字信息在所述文本信息中的顺序信息。

获取文本信息的方式有多种,具体可以是:在IVR系统中的客户端,获取用户输入的文本信息,或者是,根据用户的按键信息,获取预先存储在内存中的与该按键信息对应的文本信息。

所述将所述文本信息拆分成单个文字信息,例如:用户输入的文本信息为“你好!我这个月的电话费用是多少?”,可以拆分为:“你”、“好”、“我”、“这”、“个”、“月”、“的”、“电”、“话”、“费”、“用”、“是”、“多”、“少”这些单个文字信息。

所述生成每个文字信息在所述文本信息中的顺序信息,就是按照文本信息的先后顺序生成相应的先后顺序信息。例如:文本信息为“你好!我这个月的电话费用是多少?”,可以生成的顺序信息为:第1个为文字信息“你”,第2个为文字信息“好”,第3个为文字信息“我”,第4个为文字信息“这”,第5个为文字信息“个”,第6个为文字信息“月”,第7个为文字信息“的”,第8个为文字信息“电”,第9个为文字信息“话”,第10个为文字信息“费”,第11个为文字信息“用”,第12个为文字信息“是”,第13个为文字信息“多”,第14个为文字信息“少”。

S102:根据每个文字信息分别获取与其对应的发音文件地址信息,然后,根据每个文字信息的发音文件地址信息分别获取每个文字信息对应的发音文件。

例如:文字信息为“你”,可以根据“你”字,在数据库中查找出预先存储的“你”字,再根据查找到的“你”字找到对应的发音文件地址信息。其中,查找文字信息字可以利用二分查找的方法进行查找,例如:查找“你”字时,可以先将数据库中的所有文字信息分成两部分,先在其中一部分进行查找,如果在该部分查找到了,就不用在另外一部分进行查找了,同理,在其中一部分进行查找时,如果该部分的文字信息仍然较多,可以继续将该部分分成两个子部分,先在其中的一个子部分进行查找,如果找不到,可以再在另一个子部分进行查找。依据二分查找的方法,可以增加查找速度。

S103:按照每个文字信息在所述文本信息中的顺序信息,将每个文字信息对应的发音文件进行排序,并在每个文字信息对应的发音文件中标注对应的序号,形成每个文字信息对应的序号发音文件。

例如:文本信息为“你好!我这个月的电话费用是多少?”根据上述的每个文字信息在所述文本信息中的顺序信息,形成的每个文字信息对应的序号发音文件可以分别为:“你”字发音文件中标注“1”,“好”字发音文件中标注“2”,“我”字发音文件中标注“3”,“这”字发音文件中标注“4”,“个”字发音文件中标注“5”,“月”字发音文件中标注“6”,“的”字发音文件中标注“7”,“电”字发音文件中标注“8”,“话”字发音文件中标注“9”,“费”字发音文件中标注“10”,“用”字发音文件中标注“11”,“是”字发音文件中标注“12”,“多”字发音文件中标注“13”,“少”字发音文件中标注“14”。

S104:将每个文字信息对应的序号发音文件一次性写入板卡中。

例如:文本信息拆分为你、好、我、这、个、月、的、电、话、费、用、是、多、少这些单个文字信息,则可以将与你、好、我、这、个、月、的、电、话、费、用、是、多、少对应的“你”字序号发音文件、“好”字序号发音文件、“我”字序号发音文件等,一次性写入板卡,避免来回调用板卡,进而节约中间使用的时间,提高效率。

S105:按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

例如:文本信息为“你好!我这个月的电话费用是多少?”,按照形成的对应的序号发音文件,依次播放每个文字信息对应的序号发音文件,播放为:你好我这个月的电话费用是多少。

本发明实施例的文本转化成语音的方法可应用于IVR系统中,其只需要获取文本信息中每个文字信息对应的发音文件和每个文字信息在所述文本信息中的顺序信息,即可在板卡中按照顺序将所述文本信息播放出来。本发明实施例不需要将多个单个语音文件合成相对应的合成语音文件,可以避免由此带来的存储资源的消耗,也不必进行定期管理与维护,大大缩减了成本。

另外,基于图1所示的文本转化成语音的方法,作为另一个优选地实施例,如图2所示,其还可以包括:

S201:将所述文本信息中包含的每个标点符号分别拆分成对应的符号信息;且所述生成每个文字信息在所述文本信息中的顺序信息的同时,也生成每个符号信息在所述文本信息中的顺序信息。

例如:所述文本信息为“你好!我这个月的电话费用是多少?”将所述文本信息拆分成单个文字信息的同时,也将所述文本信息中包含的每个标点符号分别拆分出来,具体可以拆分为:“你”、“好”、“!”、“我”、“这”、“个”、“月”、“的”、“电”、“话”、“费”、“用”、“是”、“多”、“少”、“?”这些单个文字信息和标点符号信息。

所述生成每个文字信息在所述文本信息中的顺序信息的同时,也生成每个标点号在所述文本信息中的顺序信息,具体可以为:第1个为文字信息“你”,第2个为文字信息“好”,第3个为符号信息“!”,第4个为文字信息“我”,第5个为文字信息“这”,第6个为文字信息“个”,第7个为文字信息“月”,第8个为文字信息“的”,第9个为文字信息“电”,第10个为文字信息“话”,第11个为文字信息“费”,第12个为文字信息“用”,第13个为文字信息“是”,第14个为文字信息“多”,第15个为文字信息“少”,第16个为符号信息“?”。

S202:根据每个符号信息,查找对应的停顿时长和语调信息,并生成与该符号信息对应的符号文件。

例如:符号信息为逗号“,”,则查找预先存储的与“,”对应的停顿时长和语调信息;符号信息为逗号“!”,则查找预先存储的与“!”对应的停顿时长和语调信息;符号信息为逗号“?”,则查找预先存储的与“?”对应的停顿时长和语调信息。

具体地,“,”对应的停顿时长可以为0.5秒,对应的语调信息可以为平调;“!”对应的停顿时长可以为0.6秒,对应的语调信息可以为升降调;“?”对应的停顿时长可以为0.6秒,对应的语调信息可以为升调。

S203:根据每个符号信息在所述文本信息中的顺序信息,将每个符号信息对应的符号文件进行排序,并在每个符号信息对应的符号文件中标注对应的序号,形成每个符号信息对应的序号符号文件。

例如:文本信息为“你好!我这个月的电话费用是多少?”根据上述的每个文字信息在所述文本信息中的顺序信息和每个标点号在所述文本信息中的顺序信息,形成的每个文字信息对应的序号发音文件和每个符号文件对应的序号符号文件,可以分别为:“你”字发音文件中标注“1”,“好”字发音文件中标注“2”,“!”对应的序号符号文件标注“3”,“我”字发音文件中标注“4”,“这”字发音文件中标注“5”,“个”字发音文件中标注“6”,“月”字发音文件中标注“7”,“的”字发音文件中标注“8”,“电”字发音文件中标注“9”,“话”字发音文件中标注“10”,“费”字发音文件中标注“11”,“用”字发音文件中标注“12”,“是”字发音文件中标注“13”,“多”字发音文件中标注“14”,“少”字发音文件中标注“15”,“?”对应的序号符号文件标注“16”。

S204:将每个符号信息对应的序号符号文件写入板卡中。

S205:所述播放写入板卡中的每个文字信息对应的序号发音文件之前,查询是否存在序号符号文件;如果存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号及每个序号符号文件中的停顿时长和语调信息,依次播放每个序号符号文件的序号之前的每个序号发音文件;如果不存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

例如:文本信息为“你好!我这个月的电话费用是多少?”播放写入板卡中的每个文字信息对应的序号发音文件之前,查询到存在2个序号符号文件,序号符号文件的序号分别为3号和16号,则先按照3号序号符号文件中的停顿时长和语调,按照顺序分别播放1号发音文件和2号发音文件;再按照16号序号符号文件中的停顿时长和语调,按照顺序分别播放4、5、6、7、8、9、10、11、12、13、14、15号发音文件。即是,先按照预先存储的“!”的停顿时长和语调信息,播放“你好”,再按照预先存储的“?”的停顿时长和语调信息,播放“我这个月的电话费用是多少”。

本发明实施例,加入了标点符号的停顿时长和语调信息,使得播放出来的语音更加贴合实际情况,更符合人类的正常表达。

基于图1所示的文本转化成语音的方法,其中,所述根据每个文字信息分别获取与其对应的发音文件地址信息包括:根据每个文字信息分别获取与每个文字信息对应的索引信息,并根据每个文字信息的索引信息,分别获取与每个索引信息对应的发音文件地址信息。

阴平,通常用“ˉ”表示,为第一声声调;阳平,通常用“ˊ”表示,为第二声调;上声,通常用“ˇ”表示,为第三声调;去声,通常用“ˋ”表示,为第四声调)。第一声调、第二声调、第三声调、第四声调的代号分别为1、2、3、4。

所述索引信息可以为与其对应的文字信息的拼音和声调,也可以为预先编号的序号。

例如:可以根据“你”字信息,获取与其对应的文字信息的拼音和声调为ni3,其中ni是拼音,3是第三声调;再根据ni3获取对应的发音文件地址信息。

当然,也可以预先将所存储的汉字进行编号,每个编号对应一个汉字,可以将该编号作为索引信息,例如:“你”字信息编号为10,则10即为该字信息的索引信息,根据“10”获取对应的发音文件地址信息。

先根据每个文字信息分别获取与每个文字信息对应的索引信息,再根据每个文字信息的索引信息,分别获取与每个索引信息对应的发音文件地址信息,可以使获取发音文件地址信息的速度更快。因为索引信息的长度相对于发音文件地址信息较短,会使得读取速度更快。

其中索引信息,一般是与其对应的文字信息的拼音和声调,这样对于具有同样声音的文字而言,其拼音和声调相同,可以根据相同的拼音和声调找到相同的发音文件地址信息。

当然,对于一字多音的情况,可以将其索引设置成多个,每个索引分别对应一个拼音和声调,在确定具体是哪个索引时,可以结合其前面和后面的文字信息进行确定。

基于图1所示的文本转化成语音的方法,其中,所述根据每个文字信息分别获取与其对应的发音文件地址信息之前,还包括:

S301:将文本信息中的每个文字信息的发音录制成与其对应的发音文件;

S302:将每个文字信息的发音文件存入内存中,并生成每个发音文件的发音文件地址信息;

S303:将每个文字信息与其发音文件地址信息相映射。

将每个文字信息与其发音文件地址信息相映射,以便于后续,可以根据每个文字信息找到与其对应的发音文件地址信息。

通常还可以包括:将每个标点符号对应的停顿时长和语调信息存入内存中,并将每个标点符号与其对应的停顿时长和语调信息相映射。以便于后续进行查找。

进一步地,所述将每个文字信息与其发音文件地址信息相映射,包括:

生成每个文字信息的索引信息,并将每个文字信息的索引信息与该文字信息相映射;

将每个索引信息分别与每个文字信息的发音文件地址信息相映射。

将每个索引信息分别与每个文字信息的发音文件地址信息相映射,以便于后续可以根据每个索引信息分别快速查找到对应发音文件地址信息。

如图3所示的文本转化成语音的装置,其包括:

拆分模块,用于获取文本信息,将所述文本信息拆分成单个文字信息,并生成每个文字信息在所述文本信息中的顺序信息;

获取模块,用于根据每个文字信息分别获取与其对应的发音文件地址信息,然后,根据每个文字信息的发音文件地址信息分别获取每个文字信息对应的发音文件;

排序模块,用于按照每个文字信息在所述文本信息中的顺序信息,将每个文字信息对应的发音文件进行排序,并在每个文字信息对应的发音文件中标注对应的序号,形成每个文字信息对应的序号发音文件;

写入模块,用于将每个文字信息对应的序号发音文件一次性写入板卡中;

播放模块,用于按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

本发明实施例的文本转化成语音的装置可应用于IVR系统中,其可以实现图1所示的方法,

其只需要获取文本信息中每个文字信息对应的发音文件和每个文字信息在所述文本信息中的顺序信息,即可在板卡中按照顺序将所述文本信息播放出来。本发明实施例不需要将多个单个语音文件合成相对应的合成语音文件,可以避免由此带来的存储资源的消耗,也不必进行定期管理与维护,大大缩减了成本。

基于图3所示的文本转化成语音的装置,如图4所示,其中,所述拆分模块,还用于将所述文本信息中包含的每个标点符号分别拆分成对应的符号信息;且所述生成每个文字信息在所述文本信息中的顺序信息的同时,也生成每个符号信息在所述文本信息中的顺序信息;

且所述文本转化成语音的装置还包括查找模块,用于根据每个符号信息,查找对应的停顿时长和语调信息,并生成与该符号信息对应的符号文件;

所述排序模块,还用于根据每个符号信息在所述文本信息中的顺序信息,将每个符号信息对应的符号文件进行排序,并在每个符号信息对应的符号文件中标注对应的序号,形成每个符号信息对应的序号符号文件;

所述写入模块,还用于将每个符号信息对应的序号符号文件写入板卡中;

所述播放模块包括查询单元和播放单元;

其中,所述查询单元,用于所述播放写入板卡中的每个文字信息对应的序号发音文件之前,查询是否存在序号符号文件;

所述播放单元,用于如果存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号及每个序号符号文件中的停顿时长和语调信息,依次播放每个序号符号文件的序号之前的每个序号发音文件;如果不存在序号符号文件,则按照每个文字信息对应的序号发音文件的序号,依次播放写入板卡中的每个文字信息对应的序号发音文件。

基于图3所示的文本转化成语音的装置,进一步,如图5所示,所述获取模块包括索引单元,用于根据每个文字信息分别获取与每个文字信息对应的索引信息,并根据每个文字信息的索引信息,分别获取与每个索引信息对应的发音文件地址信息。

基于图3所示的文本转化成语音的装置,如图5所示,其还包括:

录制模块,用于所述根据每个文字信息分别获取与其对应的发音文件地址信息之前,将文本信息中的每个文字信息的发音录制成与其对应的发音文件;

生成模块,用于将每个文字信息的发音文件存入内存中,并生成每个发音文件的发音文件地址信息;

映射模块,用于将每个文字信息与其发音文件地址信息相映射。

较佳地,如图5所示,所述映射模块包括:

第一映射单元,用于生成每个文字信息的索引信息,并将每个文字信息的索引信息与该文字信息相映射;

第二映射单元,用于将每个索引信息分别与每个文字信息的发音文件地址信息相映射。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1