本申请涉及计算机技术领域,更具体地,涉及一种语音播放方法、装置及电子设备。
背景技术:
近年来,“听书”逐渐成为一种潮流。目前市面上出现可以用于语音播放文本的应用(application,app),该文本可以是各种类型的读物。然而,这些应用通常只支持播放离线生成的语音文件,非常不便。
技术实现要素:
鉴于上述问题,本申请提出了一种语音播放方法、装置及电子设备,用以改善上述问题。
第一方面,本申请实施例提供了一种语音播放方法,包括:接收目标客户端针对目标文本发送的语音播放指令;获取所述目标文本的分句信息,所述分句信息包括所述目标文本中每个句子的内容和该句子对应的角色;获取所述目标文本的当前语音配置信息,所述当前语音配置信息用于表征所述角色的音色;根据所述分句信息和所述当前语音配置信息,为每个句子生成该句子对应的音色的语音数据;向所述目标客户端发送包括所述语音数据的存储地址的多媒体文件的文件地址,使所述目标客户端根据所述文件地址播放所述语音数据。
第二方面,本申请实施例提供了一种语音播放方法,包括:向服务器发送针对目标文本的语音播放指令,使所述服务器生成与所述目标文本的当前语音配置信息对应的多媒体文件,所述多媒体文件包括所述目标文本的每个句子的语音数据的存储地址;接收所述服务器根据所述语音播放指令返回的所述多媒体文件的文件地址;根据所述文件地址加载所述多媒体文件;依次根据所述多媒体文件中的每个存储地址加载对应的语音数据并对加载的语音数据进行播放。
第三方面,本申请实施例提供了一种语音播放装置,包括:接收模块,用于接收目标客户端针对目标文本发送的语音播放指令;获取模块,用于获取所述目标文本的分句信息,所述分句信息包括所述目标文本中每个句子的内容和该句子对应的角色,以及获取所述目标文本的当前语音配置信息,所述当前语音配置信息用于表征所述角色的音色;语音生成模块,用于根据所述分句信息和所述当前语音配置信息,为每个句子生成该句子对应的音色的语音数据;播放模块,用于向所述目标客户端发送包括所述语音数据的存储地址的多媒体文件的文件地址,使所述目标客户端根据所述文件地址播放所述语音数据。
第四方面,本申请实施例提供了一种语音播放装置,包括:发送模块,应用于向服务器发送针对目标文本的语音播放指令,使所述服务器生成与所述目标文本的当前语音配置信息对应的多媒体文件,所述多媒体文件包括所述目标文本的每个句子的语音数据的存储地址;接收模块,用于接收所述服务器根据所述语音播放指令返回的所述多媒体文件;播放模块,用于根据所述文件地址加载所述多媒体文件,依次根据所述多媒体文件中的每个存储地址加载对应的语音数据并对加载的语音数据进行播放。
第五方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其中存储有程序代码,所述程序代码可被处理器调用执行上述的方法。
相对于现有技术,本申请提供的方案,根据目标文本的分句信息和当前语音配置信息实时生成目标文本的语音数据,该语音数据与当前语音配置信息匹配,并将包括该语音数据的存储地址的多媒体文件的文件地址返回给目标客户端,从而使得目标客户端可以基于该文件地址播放该语音数据。如此,对于需要播放离线生成的语音文件的目标客户端,可以根据用户配置实时生成符合该配置的语音数据并进行播放。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种适用于本申请实施例的应用环境示意图。
图2示出了根据本申请一个实施例的语音播放方法流程图。
图3示出了根据本申请另一个实施例的语音播放方法流程图。
图4示出了图3所示实施例中语音播放方法的另一流程图。
图5示出了根据本申请又一个实施例的语音播放方法流程图。
图6示出了根据申请一个实施例的语音播放装置的框图。
图7示出了根据本申请另一个实施例的语音播放装置的框图。
图8是本申请实施例的用于执行根据本申请实施例的语音播放方法的电子设备的框图。
图9是本申请实施例的用于保存或者携带实现根据本申请实施例的语音播放方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实际应用中,存在一些用于语音播放文本的客户端,其需要对离线生成的语音文件进行播放。例如,一些场景中,可以通过浏览器客户端访问语音播放服务端,进而在浏览器客户端语音播放指定的文本。然而,浏览器客户端由于没有载入与语音引擎对应的sdk(softwaredevelopmentkit,软件开发工具包),无法直接调用语言引擎的接口以根据用户配置实时调整语音数据的音色等,因而通常只允许对离线生成的语音文件进行播放。
离线生成的语音文件,即为预先生成好的语音文件,其中包含静态语音数据,该静态语音数据的音色等已经确定,而用户需求可能发生变化,从而导致离线生成的语音文件中静态语音数据对应的音色与用户需求不符,用户体验较差,可能降低用户粘性。
发明人经过长期的研究,提出一种语音播放方法、装置及电子设备,可以在需要播放离线生成的语音文件的客户端中,实现根据用户配置实时生成语音数据进行播放。下面对该内容进行描述。
请参照图1,图1为本申请实施例提供的应用场景示意图。终端设备200与服务器100通过网络通信连接,其中,终端设备200可以是任意能够运行应用的设备,比如可以是智能手机、笔记本电脑、个人计算机(personalcomputer,pc)等。服务器100可以运行有用于提供语音播放文本服务的服务端程,终端设备200中可以运行有客户端201,客户端201可以访问该服务端程序,从而对用户选择的文本进行语音播放。
本申请实施例中,客户端201是需要播放离线生成的语音文件的应用程序,例如,可以是上述的浏览器客户端,又如,可以是其他未载入某一语音引擎对应的sdk,而又需要利用该语音引擎的声音数据的语音播放应用程序。本申请实施例对此没有限制。
请参照图2,图2为本申请一实施例提供的一种语音播放方法的流程示意图,该方法可以应用于电子设备。下面以该电子设备是服务器100为例,对该方法包括的步骤进行阐述。
步骤s110,接收目标客户端针对目标文本发送的语音播放指令。
本实施例中,目标客户端可以是任意需要播放离线生成的语音文件的应用程序,例如可以是图1所示的客户端201。
以目标客户端是客户端201为例,实施过程中,用户可以通过客户端201访问服务器100中的服务端程序,以进入一界面a,并可以在该界面a选择需要语音播放的文本。用户选择的文本可以作为所述目标文本。可以理解,文本是指书面语言的表现形式,是指具有特定含义的一个或多个字符,例如可以是具有特定含义的字、词、短语、句子、段落或篇章。本实施例中,语音播放的文本例如可以是小说、散文、科普类文章等,并不以此为限制。
客户端201在确定用户选择的目标文本后,如果检测到语言播放的触发操作,例如,所述界面a上可以显示带有“播放”字样的选项标签,客户端201在检测到用户针对该选项标签的点击或选择操作时,可以确定检测到语言播放的触发操作。此时,客户端201可以向服务器100中的服务端程序发送一语言播放指令。示例性地,该语音播放指令可以带有用户选择的目标文本的标识信息。
步骤s120,获取所述目标文本的分句信息,所述分句信息包括所述目标文本中每个句子的内容和该句子对应的角色。
本实施例中,对于提供的每一文本,服务器100可以存储有该文本的分句信息。以一个文本txt-1为例,其分句信息可以包括多个数据组,数据组的数量与txt-1包含的句子数量相同。每个数据组对应txt-1中的一个句子,该数据组包含该句子的内容、该句子对应的角色,此外,该数据组还可以包括该句子的情感信息、语速信息等。本实施例对此没有限制。
示例性地,每一文本的分句信息可以通过机器学习模型得到。仍以上述txt-1为例,可以通过机器学习模型对txt-1进行识别,从而识别出txt-1中的每个句子。对于识别出的每个句子,可以进一步通过机器学习模型对该句子进行语义识别,以确定该句子的情感信息、语速信息以及对应的角色等。
其中,情感信息是指该句子的内容所反映的情感类型,例如可以为欢快、悲伤、愤怒、平静等。语速信息可以通过识别句子的内容中的关键字来确定,比如,如果从句子的内容中识别到表征语速的关键字(如,快速、缓慢等),则根据该关键字确定该句子对应的语速信息,如果从句子的内容中没有识别到表征语速的关键字,则可以将该句子的语速信息确定为默认语速信息。一个句子对应的角色可以是,文本中说该句子的人物。一些情况下,当一个句子不属于文本中任意一个人物说的话时,可以将该句子对应的角色确定为用于交待情节的旁白人物。
本实施例中,每个文本的分句信息可以与该文本的标识信息相对应。换言之,服务器100可以存储有文本的标识信息和分句信息的对应关系。其中,所述标识信息可以是服务器100生成的、用于唯一表示文本的身份信息的字符。如此,当服务器100的服务端程序接收到语音播放指令时,可以从语音播放指令中识别出一标识信息,该标识信息为目标文本的标识信息,进而可以以该标识信息为索引,从存储的对应关系中查找包含该标识信息的目标对应关系,再将目标对应关系中的分句信息确定为该标识信息所指示的目标文本的分句信息。
步骤s130,获取所述目标文本的当前语音配置信息,所述当前语音配置信息用于表征所述角色的音色。
本实施例中,对于每一文本,服务器100可以存储有一默认的语音配置信息,该默认的语音配置信息包括该文本中每一角色的默认音色。实际应用中,用户在执行语音播放的触发操作前,可能对其所选的目标文本中的角色的音色进行配置,对应地,目标文本的语音配置信息也将发生改变。
比如,以上述txt-1是目标文本为例,txt-1涉及三个角色,分别为角色r1、r2和r3。其中,r1的默认音色为音色t1,r2的默认音色为t2,r3的默认音色为t3。那么,在用户对txt-1进行音色配置之前,txt-1的语音配置信息为默认的语音配置信息data1,其中包含三条数据记录,分别为:(r1,t1)、(r2,t2)、(r3,t3)。经过用户的配置,假设r1的音色被配置为t5,r2和r3的音色均未被调整,那么,txt-1的语音配置信息从data1变为data2,data2包括:(r1,t5)、(r2,t2)、(r3,t3)。
响应用户的音色配置操作,客户端201可以将txt-1的当前语音配置信息和txt-1的标识信息一并发送给服务器100,则服务器100可以根据接收的标识信息,更新txt-1的语音配置信息。如此,服务器100中,txt-1的语音配置信息从data1变更为data2。
本实施例中,步骤s120和步骤s130均在服务器100接收到针对目标文本的语音播放指令后执行,但两者没有执行顺序的限制,可以并行执行,也可以按照一定先后顺序依次执行。服务器100接收到语音播放指令后,可以根据其中目标文本的标识信息查找目标文本的语音配置信息,查找到的语音配置信息即为目标文本的当前语音配置信息,当前语音配置信息中每一角色的音色是符合用户需求的。
步骤s140,根据所述分句信息和所述当前语音配置信息,为每个句子生成该句子对应的音色的语音数据。
由于分句信息包括了目标文本中每个句子的内容和对应的角色,当前语音配置信息则包括了目标文本涉及的每个角色的音色,因而,服务器100可以获取每个角色的音色的声音数据,以基于该声音数据生成与该角色对应的句子的语音数据。如此,生成的每个句子的语音数据的音色与当前语音配置信息中配置的、该句子对应的角色的音色相同。换言之,生成的每个句子的语音数据的音色与用户需求相符。
步骤s150,向所述目标客户端发送包括所述语音数据的存储地址的多媒体文件的文件地址,使所述目标客户端根据所述文件地址播放所述语音数据。
本实施例中,目标客户端需要播放的是离线生成的语音文件。通常,目标客户端在检测到用户执行语音播放的触发操作后,会针对用户选择的文本向服务端程序发送语音播放指令,从而获得该文本的语音文件的文件地址,从而根据该文件地址加载该语音文件。该语音文件已经包含了预先生成的静态语音数据。
为了使得目标客户端可以播放上述基于当前语音配置信息生成的语音数据,而非直接播放静态语音数据,可以将语音数据的存储地址设置于一多媒体文件中,再将该多媒体文件的地址返回给目标客户端,如此,目标客户端可以基于接收的文件地址加载多媒体文件,而多媒体文件中的数据是语音数据的存储地址,因此,目标客户端在加载多媒体文件时将会依据多媒体文件中的存储地址加载并播放该存储地址的语音数据,从而可以实现对基于当前语音配置信息生成的语音数据的播放。
通过图2所示流程,服务器可以根据目标文本的分句信息和当前语音配置信息实时生成符合用户需求的语音数据,并将包括该语音数据的存储地址的多媒体文件的文件地址返回给目标客户端,使得目标客户端可以基于该文件地址播放上述符合用户需求的语音数据。如此,对于需要播放离线生成的语音文件的目标客户端,可以根据用户配置实时生成并播放符合用户需求的语音数据,大大改善了用户体验,可以有效提升用户粘性。
请参照图3,图3为本申请另一实施例提供的一种语音播放方法的流程示意图,该方法可以应用于图1所示的服务器100,下面对该方法包括的步骤做详细阐述。
步骤s210,接收目标客户端针对目标文本发送的语音播放指令。
步骤s220,获取所述目标文本的分句信息,所述分句信息包括所述目标文本中每个句子的内容、该句子对应的角色以及该句子的语速信息和情感信息。
步骤s230,获取所述目标文本的当前语音配置信息,所述当前语音配置信息用于表征所述角色的音色。
本实施例中,步骤s210-步骤s230的详细实现流程与前一实施例中的步骤s110-步骤s130类似,在此不再赘述。
进一步地,服务器100可以与语音引擎通信连接,并可以配置有对该语音引擎的语音生成接口的调用指令,从而可以在后续过程中利用语音引擎中的声音数据生成目标文本中句子的语音数据。语音引擎可以提供多种声音数据,不同种类的声音数据具有不同的音色,服务器100可以确定语音引擎能够提供的各种音色。
一种可能的方式中,服务器100可以在目标客户端中向用户展示所述各种音色的指示信息,以供用户选择。其中,所述指示信息例如可以是音色的类型信息,例如,“温柔男声”、“磁性男声”、“温柔女声”、“少御音”、“公子音”等。
另一种可能的方式中,服务器100可以根据角色的性别确定供用户选择的音色种类。在此方式中,上述的分句信息还可以包括每个句子对应的角色的性别。对应地,在执行步骤s130之前,本实施例提供的语音播放方法还可以包括图4所示的步骤。
步骤s410,接收目标客户端针对目标文本发送的语音配置指令。
本实施例中,目标客户端可以提供一界面,该界面显示有可被语音播放的文本的标识信息。每个文本的标识信息的一侧可以设置带有“音色选择”、“音色配置”、“语音配置”等字样之一的选项标签。目标客户端在检测到针对所述选项标签的点击或选中操作时,该选项标签一侧的标识信息所指示的文本即为目标文本,目标客户端可以向服务器100发送语音配置指令,所述语音配置指令包括目标文本的标识信息。
步骤s420,根据目标文本的分句信息,确定目标文本中每个句子对应的角色的性别。
服务器100可以根据语音配置指令中的标识信息获取目标文本的分句信息,并依次访问分句信息中每个句子的数据,从中获得该句子对应的角色的性别。
步骤s430,根据所述角色的性别,从语音引擎提供的音色中确定至少一种候选音色。
其中,在确定一个句子对应的角色的性别之后,服务器100可以从语音引擎提供的各种音色中确定与该性别相适应的至少一种音色,所确定的音色即为候选音色。一个例子中,如果确定一个句子对应的角色的性别为男,则可以将语音引擎提供的所有男声均作为候选音色;如果确定一个句子对应的角色的性别为女,则可以将语音引擎提供的所有女声作为候选音色。
此外,在为所述角色确定候选音色时,还可以进一步参考所述目标文本中对所述角色的声音的描述信息,以选择与所述描述信息相适应的音色作为候选音色。比如,一个角色的性别为女,但目标文本中对该角色的声音描述为“磁性低沉”,则可以将音色明亮的男声也作为该角色的候选角色之一。
步骤s440,接收所述目标客户端发送的选取指令,从所述至少一种候选音色中确定与所述选取指令对应的候选音色。
在确定一个角色的候选音色之后,可以在目标客户端中展示所述候选音色的指示信息,以供用户选择,并可以在检测到用户对所展示的任一指示信息的选取操作时,向服务器100发送包含用户选取的指示信息的选取指令。服务器接收该选取指令,获取该选取指令中的指示信息,将该指示信息指示的音色确定为用户选取的候选音色。
步骤s450,将与所述选取指令对应的候选音色配置为所述角色的音色,得到所述当前语音配置信息。
其中,与选取指令对应的候选音色即为用户选取的候选音色。服务器100可以将用户选取的候选音色配置为所述角色的音色。
参照前一实施例的相关描述,当用户完成对目标文本的音色配置后,服务器100也将根据用户的音色配置完成对目标文本的语音配置信息的更新。换言之,服务器100中存储的目标文本的语音配置信息中各角色的当前音色,符合用户当前需求。
步骤s240,针对每个句子,根据所述分句信息确定所述句子的内容和所述句子对应的角色。
在本实施例中,服务器100可以依次访问目标文本的分句信息中的每个句子的数据。分句信息中,每个句子的内容、情感信息、语速信息及该句子对应的角色可以按照一定顺序设置。服务器100可以基于该顺序,从每个句子的数据的对应位置获得该句子的内容和该句子对应的角色。
步骤s250,根据所述当前语音配置信息确定所述句子对应的角色的音色。
对于任意一个句子,在确定该句子对应的角色后,可以以该句子对应的角色为索引,从当前语音配置信息中查找该角色的音色。
步骤s260,根据所述句子对应的角色的音色以及所述句子的内容、语速信息和情感信息,调用语音引擎的语音生成接口,生成所述句子的所述语音数据。
其中,对于每个句子,服务器100可以从分句信息中确定该句子的数据,再依照语速信息、情感信息、内容和对应角色的设置顺序,从该句子的数据的对应位置获得该句子的语速信息和情感信息。
实施过程中,对于需要生成语音数据的句子,服务器100可以以该句子的内容、该句子对应的角色的音色、该句子的语速信息和情感信息为输入参数,通过该调用指令调用所述语音引擎的语音生成接口。如此,可以利用语音引擎中该句子对应的角色的音色的声音数据,对该句子的内容进行语音合成,从而可以生成该句子的语音数据。并且,该语音数据的音色与当前语音配置信息中该句子对应的角色的音色相同,换句话说,生成的语音数据的音色符合用户当前需求。
值得说明的是,本实施例中,各个句子的语音数据可以是异步生成的,以加快目标文本的全部语音数据的生成速度。
步骤s270,通过超文本传输协议(hypertexttransferprotocol,http)将每个句子的语音数据发送至云服务器中存储,接收所述云服务器针对每个句子的语音数据返回的超链接地址。
其中,云服务器的访问地址可以配置于服务器100中,服务器100每生成一个句子的语音数据,则可以通过http访问所述云服务器访问地址,以使云服务器存储该句子的语音数据,并返回给一个超链接地址给服务器100。如此,对于目标文本的每个句子,服务器100都可以获得一个对应的超链接地址。通过访问一个句子的超链接地址,可以获得该句子的语音数据。本实施例中语音数据的超链接地址可以充当前述实施例中语音数据的存储地址。
步骤s280,生成包括每个句子的语音数据的超链接地址的所述多媒体文件。
本实施例中,服务器100可以生成一多媒体文件,并将接收的每个句子的超链接地址都设置于多媒体文件中。详细地,所述多媒体文件可以是m3u8格式的文件。服务器100可以根据目标文本的分句信息,确定目标文本中各句子的位置信息,从而根据目标文本中各句子的位置信息确定各句子的顺序,并可以按照各句子的顺序在m3u8格式的文件中依次设置每个句子的语音数据。如此,在将m3u8格式的文件的文件地址返回给目标客户端,目标客户端基于该文件地址加载m3u8格式的文件后,可以依次访问m3u8格式的文件中的超链接地址,从而按照目标文本中各句子的顺序依次加载并播放所述各句子的语音数据。
步骤s290,向所述目标客户端发送所述多媒体文件的文件地址,使所述目标客户端根据所述文件地址播放所述语音数据。
本实施例中,步骤s290的详细实现过程与前一实施例中的步骤s150的详细实现过程类似,在此不再赘述。
通过本实施例提供的语音播放方法,对于需要播放离线生成的语音文件的目标客户端,可以根据用户配置实时生成并播放符合用户音色配置的语音数据,从而可以改善用户体验,提升用户粘性。
请参照图5,图5为本申请又一实施例提供的一种语音播放方法的流程示意图,该方法可以应用于电子设备。下面以该电子设备是图1所示的终端设备200为例,对该方法包括的步骤进行阐述。
步骤s510,向服务器100发送针对目标文本的语音播放指令,使所述服务器100生成与所述目标文本的当前语音配置信息对应的多媒体文件,所述多媒体文件包括所述目标文本的每个句子的语音数据的存储地址。
关于步骤s510的描述可以参照前述实施例中关于步骤s110的相关描述。其中,服务器100生成多媒体文件的过程可以参照前述实施例的纤细描述。在此不再赘述。
步骤s520,接收所述服务器100根据所述语音播放指令返回的所述多媒体文件的文件地址。
服务器100在生成所述多媒体文件之后,可以将所述多媒体文件的文件地址发送给目标客户端。本实施例中,所述目标客户端例如可以是图1所示的客户端201。
步骤s530,根据所述文件地址加载所述多媒体文件。
步骤s540,依次根据所述多媒体文件中的每个存储地址加载对应的语音数据并对加载的语音数据进行播放。
本实施例中,步骤s530-步骤s540的详细实现过程可以参照前述实施例中关于步骤s150、步骤s280的相关描述,在此不再赘述。
通过图5所示流程,需要播放离线生成的语音文件的目标客户端可以根据用户的音色配置实时生成符合该音色配置的语音数据,并对该语音数据进行播放。如此,可以有效改善用户体验,提升用户粘性。
请参照图6,图6为本申请又一实施例提供的一种语音播放装置的框图,该装置600可以应用于电子设备。本实施例中,该电子设备可以是图1所示的服务器100。装置600可以包括:接收模块610、获取模块620、语音生成模块630和播放模块640。
其中,所述接收模块610用于接收目标客户端针对目标文本发送的语音播放指令。
所述获取模块620用于获取所述目标文本的分句信息,所述分句信息包括所述目标文本中每个句子的内容和该句子对应的角色,以及获取所述目标文本的当前语音配置信息,所述当前语音配置信息用于表征所述角色的音色。
可选地,本实施例中,所述装置600还可以包括音色配置模块。
音色配置模块可以用于在所述获取模块620获取所述目标文本的当前语音配置信息之前,接收目标客户端针对目标文本发送的语音配置指令;根据所述分句信息,确定所述目标文本中每个句子对应的角色的性别;根据所述角色的性别,从所述语音引擎提供的音色中确定至少一种候选音色;接收所述目标客户端发送的选取指令,从所述至少一种候选音色中确定与所述选取指令对应的候选音色;将与所述选取指令对应的候选音色配置为所述角色的音色,得到所述当前语音配置信息。
所述语音生成模块630用于根据所述分句信息和所述当前语音配置信息,为每个句子生成该句子对应的音色的语音数据。
可选地,本实施例中,所述分句信息还包括每个句子的语速信息和情感信息。在此情况下,所述语音生成模块630根据所述分句信息和所述当前语音配置信息,为每个句子生成该句子对应的音色的语音数据的方式可以为:针对每个句子,根据所述分句信息确定所述句子的内容和所述句子对应的角色;根据所述当前语音配置信息确定所述句子对应的角色的音色;根据所述句子对应的角色的音色以及所述句子的内容、语速信息和情感信息,调用语音引擎的语音生成接口,生成所述句子的所述语音数据。
所述播放模块640用于向所述目标客户端发送包括所述语音数据的存储地址的多媒体文件的文件地址,使所述目标客户端根据所述文件地址播放所述语音数据。
可选地,所述语音生成模块630还可以在所述播放模块640向所述目标客户端发送包括所述语音数据的存储地址的多媒体文件的文件地址之前,通过超文本传输协议将每个句子的语音数据发送至云服务器中存储;接收所述云服务器针对每个句子的语音数据返回的超链接地址,将所述超链接地址确定为该句子的语音数据的存储地址;生成包括每个句子的语音数据的存储地址的所述多媒体文件。
可选地,本实施例中,所述分句信息还可以包括每个句子在所述目标文本中的位置信息。在此情况下,所述语音生成模块630可以通过如下方式生成包括每个句子的语音数据的存储地址的所述多媒体文件:生成一m3u8格式的文件;将每个句子的语音数据的存储地址设置于所述m3u8格式的文件中,得到所述多媒体文件。
可选地,所述语音生成模块630可以通过如下方式将每个句子的语音数据的存储地址设置于所述m3u8格式的文件中:根据所述目标文本中各句子的位置信息,确定所述各句子的顺序;根据所述各句子的顺序,在所述m3u8格式的文件中依次设置每个句子的语音数据。
可选地,本实施例中,所述目标客户端可以是浏览器客户端。
请参照图7,图7为本申请又一实施例提供的一种语音播放装置的框图。该装置可以应用于电子设备,本实施例中,该电子设备可以是图1所示的终端设备200。装置700可以包括:发送模块710、接收模块720、播放模块730。
其中,所述发送模块710可以用于向服务器发送针对目标文本的语音播放指令,使所述服务器生成与所述目标文本的当前语音配置信息对应的多媒体文件,所述多媒体文件包括所述目标文本的每个句子的语音数据的存储地址。
所述接收模块720可以用于接收所述服务器根据所述语音播放指令返回的所述多媒体文件。
所述播放模块730可以用于根据所述文件地址加载所述多媒体文件,依次根据所述多媒体文件中的每个存储地址加载对应的语音数据并对加载的语音数据进行播放。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图8,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备800可以图1所示的终端设备200或者服务器100。本申请中的电子设备800可以包括一个或多个如下部件:处理器810、存储器820、以及一个或多个程序,其中一个或多个程序可以被存储在存储器820中并被配置为由一个或多个处理器810执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器810可以包括一个或者多个处理核。处理器810利用各种接口和线路连接整个电子设备800内的各个部分,通过运行或执行存储在存储器820内的指令、程序、代码集或指令集,以及调用存储在存储器820内的数据,执行电子设备800的各种功能和处理数据。可选地,处理器810可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器810可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块通信芯片进行实现。
存储器820可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器820可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备800在使用中所创建的数据(比如文本的分句信息)等。
可以理解,图8所示结构仅为示意,电子设备800还可以包括比图8所示更少或更多的组件,或是具有与图8所示完全不同的配置。本实施例对此没有限制。
请参考图9,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质900可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质900包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。