一种基于音色克隆的语音合成方法、装置及电子设备转让专利

申请号 : CN202011211468.7

文献号 : CN112037755B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张彤彤

申请人 : 北京淇瑀信息科技有限公司

摘要 :

本发明公开了一种基于音色克隆的语音合成方法、装置及电子设备,所述方法包括:通过开源语料训练TTS基础模型;通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;根据变量语料和所述微调模型生成目标音色的变量语音;根据所述变量语音和固定语音合成目标音色语音。本发明先采用开源语料,再通过少量目标音色语料以微调finetune的方式训练TTS网络的微调模型。相较于穷举式的人工录制,或者是传统的TTS高质量语料合成方式,能有效减小目标音色语料的录制时间,大大节约录制成本。

权利要求 :

1.一种基于音色克隆的语音合成方法,其特征在于,所述方法包括:通过开源语料训练TTS基础模型;

通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;

根据变量语料和所述微调模型生成目标音色的变量语音;

根据所述变量语音和固定语音合成目标音色语音;

其中,所述固定语音是对所有用户通用的语音,变量语音是对单个用户需要改变的语音;所述固定语音和所述变量语音合成与用户进行语音交互的预设话术;所述变量语料是所述变量语音对应的语料。

2.根据权利要求1所述的方法,其特征在于,所述通过开源语料训练TTS基础模型之前,所述方法还包括:获取第一性别的开源语料;

所述通过目标音色语料以微调finetune的方式训练所述基础模型之前,所述方法还包括:获取第一性别的目标音色语料。

3.根据权利要求1所述的方法,其特征在于,所述根据变量语料和所述微调模型生成目标音色的变量语音包括:将变量语料输入所述微调模型中得到声音频谱的声学特征;

通过预设声码器基于所述声学特征生成变量音频,得到所述目标音色的变量语音。

4.根据权利要求3所述的方法,其特征在于,所述通过预设声码器基于所述声学特征生成变量音频之前,所述方法还包括:通过所述目标音色语料训练所述预设声码器。

5.根据权利要求1所述的方法,其特征在于,所述TTS基础模型为Transformer TTS网络。

6.根据权利要求3所述的方法,其特征在于,所述预设声码器为WaveGAN声码器。

7.根据权利要求3所述的方法,其特征在于,所述声学特征为Fbank特征。

8.一种基于音色克隆的语音合成装置,其特征在于,所述装置包括:第一训练模块,用于通过开源语料训练TTS基础模型;

第二训练模块,用于通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;

生成模块,用于根据变量语料和所述微调模型生成目标音色的变量语音;

合成模块,用于根据所述变量语音和固定语音合成目标音色语音;

其中,所述固定语音是对所有用户通用的语音,变量语音是对单个用户需要改变的语音;所述固定语音和所述变量语音合成与用户进行语音交互的预设话术;所述变量语料是所述变量语音对应的语料。

9.一种电子设备,包括:

处理器;以及

存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行根据权利要求1-7中任一项所述的方法。

10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现权利要求1-7中任一项所述的方法。

说明书 :

一种基于音色克隆的语音合成方法、装置及电子设备

技术领域

[0001] 本发明涉及语音智能技术领域,具体而言,涉及一种基于音色克隆的语音合成方法、装置、电子设备及计算机可读介质。

背景技术

[0002] 在智能语音交互过程中,语音机器人通常会采用预设的话术与用户进行语音交互。其中,预设话术一般由固定语音和变量语音合成。固定语音是对所有用户通用的语音,变量语音是对单个用户需要改变的语音。例如,在预设话术“您好!xx先生。”中,“您好”和“先生”对所有男性用户均可使用,属于固定语音;而“xx”需要根据每位男性用户的姓名进行改变,因此属于变量语音。
[0003] 现有技术中,固定语音是预先找专业的录音师录制好的,而变量语音的一种生成方法是先根据产品将变量语音缩减到可穷举的范围,然后找录音师录制所有穷举的变量语音。这种方式需要缩减变量语音到可穷举范围,其本身在业务上就是一种折衷;而且录制大量变量语音的时间和经济成本消耗也很高。变量语音的另一种生成方法是通过从文本到语音(Text-To-Speech,TTS)合成录音师音色的声音,之后再将变量语音和固定语音拼接到一起。但目前主流的TTS方法都是基于端到端的网络,比如tactron2, transformer tts,fast speech等。一般需要找录音师录制10小时以上的高质量语料,然后训练TTS网络和vocoder(声码器)网络进行合成。10小时高质量语料需要专业设备进行录制,并且需要专业人士的监听,仍然需要消耗大量的时间和经济成本。

发明内容

[0004] 本发明旨在解决合成目标音色的变量语音耗时、且经济成本高的技术问题。
[0005] 为了解决上述技术问题,本发明第一方面提出一种基于音色克隆的语音合成方法,所述方法包括:
[0006] 通过开源语料训练TTS基础模型;
[0007] 通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;
[0008] 根据变量语料和所述微调模型生成目标音色的变量语音;
[0009] 根据所述变量语音和固定语音合成目标音色语音。
[0010] 根据本发明一种优选的实施方式,所述通过开源语料训练基础模型之前,所述方法还包括:
[0011] 获取第一性别的开源语料;
[0012] 所述通过目标音色语料以微调finetune的方式训练所述基础模型之前,所述方法还包括:
[0013] 获取第一性别的目标音色语料。
[0014] 根据本发明一种优选的实施方式,所述根据变量语料和所述微调模型生成目标音色的变量语音包括:
[0015] 将变量语料输入所述微调模型中得到声音频谱的声学特征;
[0016] 通过预设声码器基于所述声学特征生成变量音频,得到所述目标音色的变量语音。
[0017] 根据本发明一种优选的实施方式,所述通过预设声码器基于所述声学特征生成变量音频之前,所述方法还包括:
[0018] 通过所述目标音色语料训练所述预设声码器。
[0019] 根据本发明一种优选的实施方式,所述TTS网络为 Transformer TTS网络。
[0020] 根据本发明一种优选的实施方式,所述预设声码器为WaveGAN声码器。
[0021] 根据本发明一种优选的实施方式,所述声学特征为Fbank特征。
[0022] 为了解决上述技术问题,本发明第二方面提供一种基于音色克隆的语音合成装置,所述装置包括:
[0023] 第一训练模块,用于通过开源语料训练TTS基础模型;
[0024] 第二训练模块,用于通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;
[0025] 生成模块,用于根据变量语料和所述微调模型生成目标音色的变量语音;
[0026] 合成模块,用于根据所述变量语音和固定语音合成目标音色语音。
[0027] 根据本发明一种优选的实施方式,所述装置还包括:
[0028] 第一获取模块,用于获取第一性别的开源语料;
[0029] 第二获取模块,用于获取第一性别的目标音色语料。
[0030] 根据本发明一种优选的实施方式,所述生成模块包括:
[0031] 输入模块,用于将变量语料输入所述微调模型中得到声音频谱的声学特征;
[0032] 子生成模块,用于通过预设声码器基于所述声学特征生成变量音频,得到所述目标音色的变量语音。
[0033] 根据本发明一种优选的实施方式,所述装置还包括:
[0034] 第三训练模块,用于通过所述目标音色语料训练所述预设声码器。
[0035] 根据本发明一种优选的实施方式,所述TTS网络为 Transformer TTS网络。
[0036] 根据本发明一种优选的实施方式,所述预设声码器为WaveGAN声码器。
[0037] 根据本发明一种优选的实施方式,所述声学特征为Fbank特征。
[0038] 为解决上述技术问题,本发明第三方面提供一种电子设备,包括:
[0039] 处理器;以及
[0040] 存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行上述的方法。
[0041] 为了解决上述技术问题,本发明第四方面提出一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现上述方法。
[0042] 本发明先通过开源语料训练TTS基础模型;再通过少量目标音色语料以微调finetune的方式训练所述基础模型,得到的微调模型就可以在变量语音合成的应用里取得良好的效果;最后根据变量语料和所述微调模型生成目标音色的变量语音;将所述变量语音和固定语音合成即可得到目标音色语音。本发明先采用开源语料,再通过少量目标音色语料以微调finetune的方式训练TTS网络的微调模型。相较于穷举式的人工录制,或者是传统的TTS高质量语料合成方式,能有效减小目标音色语料的录制时间,大大节约录制成本。

附图说明

[0043] 为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明的示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
[0044] 图1是本发明一种基于音色克隆的语音合成方法的流程示意图;
[0045] 图2是本发明训练基于神经网络的TTS模型的示意图;
[0046] 图3是本发明Transformer TTS网络模型和WaveNet声码器的网络框架示意图;
[0047] 图4是本发明一种基于音色克隆的语音合成装置的结构框架示意图;
[0048] 图5是根据本发明的一种电子设备的示例性实施例的结构框图;
[0049] 图6是本发明一个计算机可读介质实施例的示意图。

具体实施方式

[0050] 现在将参考附图来更加全面地描述本发明的示例性实施例,虽然各示例性实施例能够以多种具体的方式实施,但不应理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例是为了使本发明的内容更加完整,更加便于将发明构思全面地传达给本领域的技术人员。
[0051] 在符合本发明的技术构思的前提下,在某个特定的实施例中描述的结构、性能、效果或者其他特征可以以任何合适的方式结合到一个或更多其他的实施例中。
[0052] 在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
[0053] 附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
[0054] 附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0055] 各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
[0056] 本发明中,所述音色克隆指使用目标音色语料进行语音模型训练,通过训练后的语音模型即可合成具有目标音色的语音的技术。
[0057] 应理解,本发明可以应用于人机对话场景,人机对话是人工智能领域的一个子方向,通俗的讲就是让人可以通过人类的语言(即自然语言)与计算机进行交互。作为人工智能的终极难题之一,一个完整的人机对话系统涉及到的技术极为广泛,例如计算机科学中的语音技术、自然语言处理、机器学习、规划与推理以及知识工程,甚至语言学和认知科学中的许多理论在人机对话中都有所应用。笼统的讲,人机对话可以分为以下四个子问题:开放域聊天、任务驱动的多轮对话、问答和推荐。
[0058] 开放域聊天在现有的人机对话装置中,主要起到拉近距离,建立信任关系,情感陪伴,顺滑对话过程(例如在任务类对话无法满足用户需求时)和提高用户粘性的作用。
[0059] 任务驱动的多轮对话中,用户是带着明确的目的而来,希望得到满足特定限制条件的信息或服务,例如:订餐、订票、寻找音乐、电影或某种商品等等。因为用户的需求可以比较复杂,可能需要分多轮进行陈述,用户也可能在对话过程中不断修改或完善自己的需求。此外,当用户的陈述的需求不够具体或明确的时候,机器也可以通过询问、澄清或确认来帮助用户找到满意的结果。因此,任务驱动的多轮对话不是一个简单的自然语言理解加信息检索的过程,而是一个决策过程,需要机器在对话过程中不断根据当前的状态决策下一步应该采取的最优动作。
[0060] 问答更侧重于一问一答,即直接根据用户的问题给出精准的答案。问答更接近一个信息检索的过程,虽然也可能涉及简单的上下文处理,但通常是通过指代消解和查询补全来完成的。问答系统和任务驱动的多轮对话最根本的区别在于系统是否需要维护一个用户目标状态的表示和是否需要一个决策过程来完成任务。
[0061] 推荐则是根据当前的用户查询和历史的用户画像,主动推荐用户可能感兴趣的信息或者服务。
[0062] 请参阅图1,图1是本发明提供的一种基于音色克隆的语音合成方法的流程图,如图1所示,所述方法包括:
[0063] S1、通过开源语料训练TTS基础模型;
[0064] 其中,TTS是将文字转化为声音的技术,主要包括:前端处理、创建TTS模型和vocoder(声码器)。前端处理是针对文本形式的语料,其将任意文本转换为语言学特征,通常包括文本正则化,分词,词性预测,字音转字形(Grapheme-to-Phoneme),多音字(Polyphone)消歧、韵律估计等子模块。文本正则化可以将一些书面表达转为口语表达,如1%转为“百分之一”,1kg转为“一千克”等。分词和词性预测是韵律估计(Prosody Prediction)的基础。字形转音形将speech转化成音素s p iy ch。韵律词和韵律短语会在分词和词性信息的基础上生成。通过创建基于神经网络的TTS基础模型来基于前端的发音或语言学信息提取语音参数特征(如基频、共振峰频率、Mel频谱图等)。常用TTS模型包括:
Tacotron 1/2,Deep Voice 1/2/3,Transformer TTS,FastSpeech,LightTTS等。声码器将声学特征转为语音波形。常用vocoder包括:相位恢复算法Griffin Lim,传统声码器WORLD和STRAIGHT,神经声码器WAVENET,WAVERNN,SAMPLERNN和WAVEGLOW。
[0065] 本发明中,开源语料可以是文本形式的,也可以是语音形式的。对于文本形式的开源语音在训练TTS基础模型之前,需要通过前端处理技术先将文本转换为语言学特征。对于语音形式的开源语料,不需要做前端处理,可以直接从开源语料库中获取几十小时的开源语料。优选的,可以选取与目标音色语料性别相同的开源语料。例如,目标音色语料为男性语音,则开源语料也从开源语料库中选取男性语音。这样,能够保证后续训练微调模型的效果更接近目标音色。
[0066] 本发明通过大量开源语料(比如几十小时的开源语音语料)训练基于神经网络的TTS模型来提取语音参数特征(包括基频、共振峰频率、Mel频谱图等)。再通过训练声码器将语音参数转换为语音波形,从而生成本发明的变量语音。如图2所示,所述基于神经网络的TTS模型先通过大量开源语料训练TTS基础模型,再通过少量(小于1小时)定制的目标音色语料训练微调模型得到。相比于传统消耗大量(大于10小时)高质量定制语料来训练TTS模型的方式,能够有效减小语料录制时间和成本,提高变量语音生成的效率。
[0067] 在一种示例中,为了提高生成变量语音的速度,选用Transformer TTS网络模型和WaveGAN训练基于WaveNet的声码器。如图3所示,在生成变量语音时,Transformer TTS网络模型会将文字转化为声音频谱的声学特征,如Fbank特征,而用WaveGAN则负责将基于Fbank特征生成具体的音频。
[0068] S2、通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;
[0069] 本发明中,目标音色语料是预先录制的目标说话人发出的语音形式的语料。具体可以选取小于1个小时的目标说话人录制的目标音色语料。
[0070] 所述微调fine tune是用已训练好的模型,加上自己的数据,来训练新的模型。本发明的fine tune相当于使用已训练好的基础模型的前几层,来提取浅层特征,再通过目标音色语料对浅层特征进行微调,以获得更为精准的模型效果。一般新训练模型准确率都会从很低的值开始慢慢上升,但是fine tune能够在比较少的迭代次数之后得到一个比较好的效果。其不用完全重新训练模型,从而提高效率。
[0071] S3、根据变量语料和所述微调模型生成目标音色的变量语音;
[0072] 其中,变量语料是所述变量语音对应的语料。比如,“您好!xx先生。”中,“xx”为变量语音,其对应的语料即为变量语料。具体的,本步骤包括:
[0073] S31、将变量语料输入所述微调模型中得到声音频谱的声学特征;
[0074] 其中,声学特征可以是:MFCC特征,Fbank特征等。本发明优选Fbank特征。
[0075] S32、通过预设声码器基于所述声学特征生成变量音频,得到所述目标音色的变量语音。
[0076] 其中,所述预设声码器优选WaveNet的声码器。在本步骤之前,可以
[0077] 通过所述目标音色语料通过WaveGAN训练基于WaveNet的声码器。
[0078] S4、根据所述变量语音和固定语音合成目标音色语音。
[0079] 其中,固定语音是目标音色说话人预先录制的所述目标音色语音中对所有用户不变的语音,变量语音是通过上述变量语料和微调模型生成的所述目标音色语音中对单个用户需要改变的语音。例如,在目标音色语音“您好!xx先生。”中,“您好”和“先生”对所有男性用户均可使用,是由目标音色说话人预先录制的固定语音;而“xx”需要根据每位男性用户的姓名进行改变,是通过上述变量语料和微调模型生成的。
[0080] 示例性的,可以通过话术拼接的方式将所述变量语音与所述固定语音进行合成。具体可以在固定语音中预先设置词槽,将实时生成的变量语音嵌入预设词槽中即可。
[0081] 图4是本发明一种基于音色克隆的语音合成装置的架构示意图,如图4所示,所述装置包括:
[0082] 第一训练模块41,用于通过开源语料训练TTS基础模型;
[0083] 第二训练模块42,用于通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;
[0084] 生成模块43,用于根据变量语料和所述微调模型生成目标音色的变量语音;
[0085] 合成模块44,用于根据所述变量语音和固定语音合成目标音色语音。
[0086] 进一步的,所述装置还包括:
[0087] 第一获取模块410,用于获取第一性别的开源语料;
[0088] 第二获取模块420,用于获取第一性别的目标音色语料。
[0089] 在一种具体实施方式中,所述生成模块43包括:
[0090] 输入模块431,用于将变量语料输入所述微调模型中得到声音频谱的声学特征;
[0091] 子生成模块432,用于通过预设声码器基于所述声学特征生成变量音频,得到所述目标音色的变量语音。
[0092] 进一步的,所述装置还包括:
[0093] 第三训练模块45,用于通过所述目标音色语料训练所述预设声码器。
[0094] 本发明中,所述TTS网络优选为 Transformer TTS网络。所述预设声码器优选为WaveGAN声码器。所述声学特征优选为Fbank特征。
[0095] 本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0096] 下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的实体形式的实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
[0097] 图5是根据本发明的一种电子设备的示例性实施例的结构框图。图5显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0098] 如图5所示,该示例性实施例的电子设备500以通用数据处理设备的形式表现。电子设备500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同电子设备组件(包括存储单元520和处理单元510)的总线530、显示单元540等。
[0099] 其中,所述存储单元520存储有计算机可读程序,其可以是源程序或都只读程序的代码。所述程序可以被处理单元510执行,使得所述处理单元510执行本发明各种实施方式的步骤。例如,所述处理单元510可以执行如图1所示的步骤。
[0100] 所述存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。所述存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作电子设备、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0101] 总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0102] 电子设备500也可以与一个或多个外部设备300(例如键盘、显示器、网络设备、蓝牙设备等)通信,使得用户能经由这些外部设备500与该电子设备500交互,和/或使得该电子设备500能与一个或多个其它数据处理设备(例如路由器、调制解调器等等)进行通信。这种通信可以通过输入/输出(I/O)接口550进行,还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)进行。网络适配器560可以通过总线530与电子设备500的其它模块通信。应当明白,尽管图5中未示出,电子设备500中可使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID电子设备、磁带驱动器以及数据备份存储电子设备等。
[0103] 图6是本发明的一个计算机可读介质实施例的示意图。如图6所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的电子设备、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。当所述计算机程序被一个或多个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:通过开源语料训练TTS基础模型;通过目标音色语料以微调finetune的方式训练所述基础模型,得到微调模型;根据变量语料和所述微调模型生成目标音色的变量语音;根据所述变量语音和固定语音合成目标音色语音。
[0104] 通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台数据处理设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。
[0105] 所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行电子设备、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0106] 可以以一种或多种程序设计语音的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语音包括面向对象的程序设计语音—诸如Java、C++等,还包括常规的过程式程序设计语音—诸如“C”语音或类似的程序设计语音。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0107] 综上所述,本发明可以执行计算机程序的方法、装置、电子设备或计算机可读介质来实现。可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现本发明的一些或者全部功能。
[0108] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。