掌桥专利:专业的专利平台
掌桥专利
首页

文本转换音频的方法、装置及计算机设备

文献发布时间:2024-04-18 19:59:31


文本转换音频的方法、装置及计算机设备

技术领域

本申请属于计算机领域,涉及声音处理技术,尤其涉及一种文本转换音频的方法、装置及计算机设备。

背景技术

语音合成系统通常用于语音导航、文字播报、小说阅读、虚拟直播等场景中,用户可以从播放列表中选择喜欢的声音(比如,明星的声音)作为播放音。目前,语音合成系统的语音还原效果较差,无法贴合用户实际讲话的节奏,且语音合成系统的功能较单一,无法满足用户的需求。

发明内容

本申请实施例提供一种文本转换音频的方法、装置及计算机设备,能够解决个性化语音合成的还原效果较差以及语音合成的功能单一的技术问题。

本申请实施例第一方面提供一种文本转换音频的方法,包括:获取待处理文本;若待处理文本包含第一类标签,将第一类标签所标记的语句输入声学模型与声码器中,得到第一音频;对第一音频进行语速处理,得到第一目标音频;若待处理文本包含第二类标签,确定第二类标签对应的曲目的人声数据;将人声数据输入预设的声音转换模型,得到将人声数据替换为目标用户的声音数据的第二目标音频,声音转换模型根据目标用户录制的声音样本训练得到;基于根据第一类标签和/或第二类标签在待处理文本中的位置确定的播放顺序、第一目标音频和/或第二目标音频,生成待处理文本对应的第三目标音频。

在本申请的一些可选实施例中,对第一音频进行语速处理,得到第一目标音频,包括:将第一音频分割成多个音频帧;提取每一音频帧的音频特征,基于音频特征计算相邻帧之间的相似度;基于第一音频的语速标记确定叠加操作的帧数;基于帧数,对大于预设阈值的相似度对应的相邻帧执行叠加操作,得到叠加音频;对叠加音频进行重建操作,得到第一目标音频。

在本申请的一些可选实施例中,对声音转换模型进行训练,包括:获取目标用户录制的声音样本;将声音样本分割成多份音频数据;提取每份音频数据对应的声音特征以及获取每份音频数据对应的文本数据;利用声音特征与文本数据对初始声音转换模型进行多次迭代训练,直至计算得到的初始声音转换模型的第一损失函数小于预设指标,将初始声音转换模型确定为声音转换模型。

在本申请的一些可选实施例中,第二类标签包括原唱标签与翻唱标签,若待处理文本包含第二类标签,确定第二类标签对应的曲目的人声数据,包括:若待处理文本包含原唱标签,从预设的歌曲数据库中确定原唱标签对应的曲目的原唱数据,将原唱数据作为人声数据;或,若待处理文本包含翻唱标签,将翻唱标签对应的曲目输入预设的歌声合成模型,得到翻唱音频文件,将翻唱音频文件作为人声数据。

在本申请的一些可选实施例中,包括:获取目标用户的歌声样本;将歌声样本划分为多份歌声音频;提取每份歌声音频的歌声音频特征,以及获取每份歌声音频对应的歌词文本;利用歌声音频特征与歌词文本对初始歌声合成模型进行多次迭代训练,直至计算得到的初始歌声合成模型的第二损失函数小于预设指标,将初始歌声合成模型确定为歌声合成模型。

在本申请的一些可选实施例中,待处理文本还包括第三类标签,包括:若待处理文本包含第三类标签,将基于第三类标签得到的多个切分语句输入声学模型与声码器,得到多个第二音频;获取第三类标签所标记的语气词音频;基于多个切分语句与语气词音频在对应语句中的位置,确定多个第二音频以及语气词音频的拼接顺序;基于拼接顺序,拼接语气词音频与多个第二音频得到拼接音频。

在本申请的一些可选实施例中,方法还包括:基于第一类标签、第二类标签和第三类标签中的一个或者多个标签在待处理文本中的位置,确定播放顺序;基于第一目标音频、第二目标音频和拼接音频中的一个或多个音频以及播放顺序,生成待处理文本对应的第三目标音频。

在本申请的一些可选实施例中,待处理文本还包括第四类标签,方法还包括:若待处理文本包含第四类标签,获取第四类标签所标记的停顿时长;获取待处理文本的语句切分符号;基于语句切分符号与停顿时长,确定第三目标音频语句之间的停顿位置与目标停顿时长。

本申请实施例还提供了一种文本转换音频的装置,包括:获取模块,用于获取待处理文本;第一识别模块,用于若所述待处理文本包含第一类标签,将所述第一类标签所标记的语句输入声学模型与声码器中,得到第一音频;语速处理模块,用于对所述第一音频进行语速处理,得到第一目标音频;第二识别模块,用于若所述待处理文本包含第二类标签,确定所述第二类标签对应的曲目的人声数据;声音转换模块,用于将所述人声数据输入预设的声音转换模型,得到将所述人声数据替换为目标用户的声音数据的第二目标音频,所述声音转换模型根据所述目标用户录制的声音样本训练得到;拼接模块,用于基于根据所述第一类标签和/或所述第二类标签在所述待处理文本中的位置确定的播放顺序、所述第一目标音频和/或所述第二目标音频,生成所述待处理文本对应的第三目标音频。

本申请实施例还提供了一种计算机设备,包括:存储器,及处理器,处理器执行存储器中存储的计算机可读指令,实现的文本转换音频的方法。

本申请实施例提供的文本转换音频的方法中,若待处理文本包含第一类标签,将第一类标签所标记的语句输入声学模型与声码器中,得到第一音频,对第一音频进行语速处理,得到第一目标音频,对第一音频进行语速处理,使得第一目标音频更接近用户讲话的节奏,第一目标音频的效果更加自然。若待处理文本包含第二类标签,确定第二类标签对应的曲目的人声数据;将人声数据输入预设的声音转换模型,得到将人声数据替换为目标用户的声音数据的第二目标音频,声音转换模型根据目标用户录制的声音样本训练得到,通过将人声数据替换目标用户的声音数据,能够满足用户的个性化需求。基于根据第一类标签和/或第二类标签在待处理文本中的位置确定的播放顺序、第一目标音频和/或第二目标音频,生成待处理文本对应的第三目标音频。本申请通过识别待处理文本中的第一类标签和/或第二类标签,一方面可以通过标签的类型确定对待处理文本的处理方式,提高处理效率,另一方面可以通过语速控制以及将曲目的人声数据替换为目标用户的声音数据,在一定程度上也可以满足用户的个性化需求,同时也能让待处理文本转换为第三目标音频时,更接近用户的说话节奏,提高用户体验以及第三目标音频的音频效果。

附图说明

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

图1是本申请实施例提供的文本转换音频的方法的应用环境示意图。

图2是本申请一实施例提供的文本转换音频的方法的流程图。

图3是本申请一实施例提供的语速控制的流程图。

图4是本申请一实施例提供的第二类标签的处理流程图。

图5是本申请一实施例提供的第三类标签的处理流程图。

图6是本申请又一实施例提供的文本转换音频的方法的流程图。

图7是本申请一实施例提供的第四类标签的处理流程图。

图8是本申请实施例提供的文本转换音频的装置的示意图。

图9是本申请实施例提供的计算机设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1是本申请实施例提供的文本转换音频的方法的应用环境示意图。如图1所示,计算机设备10与电子设备20通信连接。网络可以是有线网络通信,也可以是无线网络通信。有线网络可以是局域网、城域网和广域网中的任意一种,无线网络可以是蓝牙(Bluetooth,BT)、无线保真(Wireless Fidelity,Wi-Fi)、近场通信(Near FieldCommunication,NFC)、自组网无线通信(ZigBee Wireless Networks,ZigBee)技术、红外技术(Infrared,IR)、超宽带(Ultra Wideband,UWB)技术、无线通用串行总线(UniversalSerial Bus,USB)等任意一种网络。

计算机设备10可以是电脑、个人计算机(Personal Computer,PC)等设备。计算机设备10用于对用户输入的待处理文本进行音频转换。

电子设备20可以是包含显示设备210与播放设备220的多媒体播放设备,比如直播设备,用于接收计算机设备10发送的音频(比如,第三目标音频),在一示例中,在显示设备210上显示虚拟人物时,播放设备220可以同步虚拟人物的动作播放接收到的音频。

可以理解的是,本申请实施例示意的应用场景或计算机设备10的结构并不构成具体限定。在本申请另一些实施例中,计算机设备10也可以是包含显示器的多媒体播放设备,计算机设备10可以不外接电子设备20。

图2是本申请一实施例提供的文本转换音频的方法的流程图,如图2所示,本申请实施例提供的文本转换音频的方法应用在计算机设备(如图1的计算机设备10)中。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。如图2所示,包括如下步骤:

步骤S201,获取待处理文本。

在本申请的一些实施例中,计算机设备可以提供用于显示以及操作的控制界面,控制界面为用户交互界面(User Interface,UI),可以是应用程序(Application,APP)提供的界面,也可以是计算机设备(例如,手机、平板、电脑等)的主界面(例如,桌面),实际应用中不局限于此。在一示例中,用户可以在计算机设备中安装文本转音频的应用程序,用户通过点击计算机设备的显示屏(例如,触摸屏)上显示的APP的图标进入控制界面。

在本申请的一些实施例中,计算机设备显示的控制界面中可以设置若干个控件,不同的控件可以对应不同的功能,控制界面上的部分控件可以通过图像、文字、颜色等形式显示状态信息,比如,控制界面上可以设置有选择标签的至少一个选择控件,用户通过点击至少一个选择控件确定对应的标签,该选择控件的状态颜色可以由红色变为绿色,实际应用不局限于此。控制界面还可以设置有操作区域,用户可以点击操作区域内的任意位置进行文本编辑。

在本申请的一些实施例中,计算机设备可以响应用户在控制界面上的任意位置的触控操作,也可以响应用户在控制界面指定的操作区域的触控操作,编辑待处理文本。例如,用户在操作区域内编辑文本,计算机设备响应于用户的点击操作、输入操作与编辑操作,生成相应的待处理文本。

在本申请的一些实施例中,待处理文本可以是用户编辑好的复制文本,也可以是用户当前输入的文本,本申请对此不予限制。待处理文本的内容可以包含中文、英文、数学符号以及阿拉伯数字等,待处理文本还可以插入在控制界面上显示的选择内容,选择内容可以是标签、音频文件对应的图标等。

步骤S202,若待处理文本包含第一类标签,将第一类标签所标记的语句输入声学模型与声码器中,得到第一音频。

在本申请的一些实施例中,待处理文本可以包括多个标签,可以预先定义每个标签的含义,每个标签所标记的含义可以不同。比如,第一类标签可以表示控制语句的语速。用户可以在输入待处理文本时,根据实际需求插入不同的标签。

在本申请的一些实施例中,当识别到待处理文本中包含第一类标签时,可以对第一类标签所标记的语句进行音频转换,将第一类标签所标记的语句输入声学模型与声码器中,通过声学模型与声码器将文本转换为音频,得到第一音频。

在本申请的一些实施例中,声学模型由传统的隐马尔可夫模型(HMMs)或深度神经网络(DNNs)组成,可以学习到语音信号的特性,如音素、音调、韵律等。声学模型是文本转音频(Text-to-Speech,TTS)技术中的一个重要的模型,可以提取输入语句的声学特征,声学模型再基于声学特征生成带有输入音频内容和参考音频音色的频谱。声码器则是一种用于语音合成的电子设备,声码器可以接收声学模型输出的频谱,并将其转换为语音波形,从而还原为能够被设备直接播放的音频采样点。

在一示例中,“[rate=1.2|库存不多了,家人们,抓紧抢购了哈!最后只剩下几秒钟啦!]”,[rate=]表示第一类标签,1.2表示第一类标签所标记的语句的语速,单位为毫秒(ms),“库存不多了,家人们,抓紧抢购了哈!最后只剩下几秒钟啦!”表示第一类标签所标记的语句。将“库存不多了,家人们,抓紧抢购了哈!最后只剩下几秒钟啦!”输入到声学模型与声码器中,得到“库存不多了,家人们,抓紧抢购了哈!最后只剩下几秒钟啦!”对应的第一音频。

步骤S203,对第一音频进行语速处理,得到第一目标音频。

在本申请的一些实施例中,为了使第一音频的声音更加符合用户的需求,比如让第一音频接近用户说话的韵律节奏,可以对第一音频进行变速不变调的处理。

在本申请的一些实施例中,可以采用音频变速不变调对应的算法对第一音频进行处理,以得到第一目标音频。该算法可以是波形相似叠加法(Waveform SimilarityOverlap-Add,WSOLA)、时域基音同步叠加法、同步波形叠加法或者固定同步波形叠加法,实际应用中并不局限于此。其中,WSOLA是一种用于音频时间伸缩(变速不变调)的算法,旨在保持音频的原始音质和声音特性。

在一示例中,以WSOLA算法为例,采用python编程语言,在python的开源音频处理(Sound eXchange,SOX)库中设置有WSOLA算法,可以对SOX库的接口进行接口封装,若识别到第一类标签,则调用SOX库中的WSOLA算法对第一类标签对应的第一音频进行语速处理,得到第一目标音频。

步骤S204,若待处理文本包含第二类标签,确定第二类标签对应的曲目的人声数据。

在本申请的一些实施例中,第二类标签可以表示选择指定音色演唱歌曲。第一类标签可以包括原唱标签与翻唱标签。

在一示例中,“[sing|svc=晴天]”、“[sing|svs=晴天]”,sing表示第二类标签,[sing|svc=]表示原唱标签,[sing|svs=]表示翻唱标签,“晴天”表示曲目。

在本申请的一些实施例中,可以通过识别第二类标签的类型,确定人声数据,比如,若第二类标签为原唱标签,则人声数据为原唱版本的人声部分,若第二类标签为翻唱标签,则人声数为翻唱版本的人声部分。

步骤S205,将人声数据输入预设的声音转换模型,得到将人声数据替换为目标用户的声音数据的第二目标音频。

在本申请的一些实施例中,声音转换模型可以用于执行声音的替换操作。声音转换模型根据目标用户录制的声音样本训练得到,其中,对声音转换模型进行训练可以包括:获取目标用户录制的声音样本,比如,目标用户可以在低噪环境中录制30分钟正常讲话的音频,对该音频经过降噪处理、响度匹配处理、音频标注处理等操作后得到声音样本。得到声音样本以后,可以将声音样本切分成多份音频数据,比如,将声音样本切分成5s~15s的多份音频数据。提取每份音频数据的声音特征,声音特征可以包括音高F0对应的特征信息、梅尔谱对应的特征信息以及音量对应的特征信息等,其中,音高F0指的是音频数据的音调信息,梅尔谱指的是音频数据的频谱信息,音量指的是音频数据的强度信息或响度信息。切分成多份音频数据以后,可以获取每份音频数据对应的文本数据。

在本申请的一些实施例中,在得到声音特征与文本数据以后,利用声音特征与文本数据对初始声音转换模型进行多次迭代训练,直至计算得到的初始声音转换模型的第一损失函数小于预设指标或者处于预设范围,将初始声音转换模型确定为声音转换模型。其中,初始声音转换模型可以包括长短期记忆网络(Long Short-Term Memory,LSTM)、循环神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional NeuralNetworks,CNN)等类型的模型中的任意一种或多种的组合。

在一示例中,计算机设备可以包括NVIDIA TITAN Xp显卡,将声音特征与文本数据输入到初始声音转换模型中,在NVIDIA TITAN Xp显卡上单卡训练15000步,通过对初始声音转换模型进行反复的迭代和调整权重,每一次迭代后,计算初始声音转换模型的第一损失函数,直至第一损失函数小于预设指标,将初始声音转换模型确定为声音转换模型。若第一损失函数大于或等于预设指标,可以调整权重后进入下一次的迭代训练。

在本申请的一些实施例中,将人声数据输入声音转换模型,得到将人声数据替换为目标用户的声音数据的第二目标音频。

在一示例中,待处理文本包括“[sing|svc=晴天]”,获取曲名为“晴天”的人声数据,将该人声数据输入到声音转换模型中,得到将原来演唱“晴天”的人声数据替换为目标用户的声音样本,该声音样本与人声数据的区别在于音色不同,演唱的节奏快慢则一致。

在本申请的实施例中,通过替换人声数据的方式,使得用户可以根据需求选择喜欢的音色来播放歌曲,在一定程度上可以提高用户的体验感,满足用户的个性化需求。

步骤S206,基于根据第一类标签和/或第二类标签在待处理文本中的位置确定的播放顺序、第一目标音频和/或第二目标音频,生成待处理文本对应的第三目标音频。

在本申请的一些实施例中,识别到待处理文本中存在第一类标签和/或第二类标签时,可以根据识别的顺序,确定第一类标签和/或第二类标签在待处理文本中的位置,以便确定播放顺序。

在本申请的一些实施例中,得到第一目标音频与第二目标音频中的至少一个音频以后,基于播放顺序,生成待处理文本对应的第三目标音频。

在一示例中,待处理文本为“[rate=1.2|因为东西卖得好,所以就让本小妹来给一首周杰伦的晴天],[sing|svs=晴天]”,识别到待处理文本中有第一类标签[rate=]与第二类标签[sing|svs=],对第一类标签所标记的语句进行处理,得到第一目标音频,对第二类标签所标记的语句进行处理,得到第二目标音频。第一类标签和第二类标签在待处理文本中的位置,确定优先播放第一目标音频,再播放第二目标音频,将第一目标音频与第二目标音频根据播放顺序进行拼接,得到第三目标音频。

在本申请的一些实施例中,在得到第三目标音频以后,在一示例中,计算机设备可以响应生成第三目标音频的生成指令,将第三目标音频发送至电子设备,使得电子设备能够利用播放设备播放第三目标音频,此外,还可以触发电子设备的显示设备显示虚拟人物,该虚拟人物的动作可以呼应第三目标音频。在另一示例中,计算机设备包含显示器与播放设备,计算机设备可以在显示器显示虚拟人物,同时播放第三目标音频。本申请对于第三目标音频的使用场景不予限制。

在本申请的实施例中,若待处理文本包含第一类标签,将第一类标签所标记的语句输入声学模型与声码器中,得到第一音频,对第一音频进行语速处理,得到第一目标音频,对第一音频进行语速处理,使得第一目标音频更接近用户讲话的节奏,第一目标音频的效果更加自然。若待处理文本包含第二类标签,确定第二类标签对应的曲目的人声数据;将人声数据输入预设的声音转换模型,得到将人声数据替换为目标用户的声音数据的第二目标音频,声音转换模型根据目标用户录制的声音样本训练得到,通过将人声数据替换目标用户的声音数据,能够满足用户的个性化需求。基于根据第一类标签和/或第二类标签在待处理文本中的位置确定的播放顺序、第一目标音频和/或第二目标音频,生成待处理文本对应的第三目标音频。本申请通过识别待处理文本中的第一类标签和/或第二类标签,一方面可以通过标签的类型确定对待处理文本的处理方式,提高处理效率,另一方面可以通过语速控制以及将曲目的人声数据替换为目标用户的声音数据,在一定程度上也可以满足用户的个性化需求,同时也能让待处理文本转换为第三目标音频时,更接近用户的说话节奏,提高用户体验以及第三目标音频的音频效果,降低生成第三目标音频的误差。

图3是本申请一实施例提供的语速控制的流程图。如图3所示,为了让文本转音频更接近用户的说话节奏,可以对待处理文本转换的音频进行控制语速的处理。在如图2所示实施例中得到第一音频后,对第一音频进行控制语速的处理,包括如下步骤:

步骤S301,将第一音频分割成多个音频帧。

在本申请的一些实施例中,为了对第一音频进行变速不变调处理,可以将第一音频分割成多个固定长度的音频帧。

步骤S302,提取每一音频帧的音频特征,基于音频特征计算相邻帧之间的相似度。

在本申请的一些实施例中,得到多个音频帧以后,可以提取每一音频帧的音频特征,音频特征包括但不限于:短时能量(Short-Time Energy)、过零率(Zero-CrossingRate)、频谱包络(Spectral Envelope)、线性预测系数(Linear PredictiveCoefficients,LPC)、倒谱系数(cepstral coefficients)、梅尔频率倒谱系数(Mel-frequency cepstral coefficients,MFCC)等。

在本申请的一些实施例中,提取了音频特征以后,可以通过均方差、互相关系数等方式计算相邻帧之间的相似度。在一示例中,对于相邻的音频帧,计算相邻的音频帧之间在每个音频特征上的差异,比如,计算相邻帧中的第一帧的短时能量特征与第二帧的短时能量特征之间的差异,得到差异向量。对于每个特征的差异向量,计算均方差,从而得到相邻的音频帧之间的相似度。

步骤S303,基于第一音频的语速标记确定叠加操作的帧数。

在本申请的一些实施例中,用户可以根据不同的语言、口音、说话风格等因素调整语速标记的语速,比如,语速可以是0.8ms、1.2ms。叠加操作指的是将多个音频帧叠加在一起,形成一个新的音频帧,叠加操作可以让第一音频更加饱满、丰富,比如,混音为执行了叠加操作以后的音频效果。

在本申请的一些实施例中,待处理文本中可以设置有多个第一类标签,每一个第一类标签可以设置不同的语速标记,比如,[rate=0.8]、[rate=1.2]。可以根据不同的语速标记确定叠加操作对应的帧数。

在一示例中,[rate=1.2]确定的帧数可以是3帧或4帧,[rate=1.2]相较于[rate=0.8]语速更快,因此,可以确定[rate=0.8]的帧数可以是2帧或3帧,以上只是示例,实际应用不对此作限定。

步骤S304,基于帧数,对大于预设阈值的相似度对应的相邻帧执行叠加操作,得到叠加音频。

在本申请的一些实施例中,得到相邻帧的相似度以后,可以与预设阈值进行比对,其中,预设阈值可以是预先设置的数值,比如,90%,本申请对此不予限制。获取大于预设阈值的相似度对应的相邻帧,基于帧数执行对应的叠加操作,得到叠加音频。

在一示例中,以帧数为2为例,音频帧A、音频帧B、音频帧C与音频帧D依次排序,计算相邻帧之间的相似度,包括计算音频帧A与音频帧B的第一相似度、计算音频帧B与音频帧C的第二相似度、音频帧C与音频帧D的第三相似度,如果预设阈值为90%,第一相似度为94%、第二相似度为89%,第三相似度为96%,则对第一相似度对应的音频帧A与音频帧B执行叠加操作、对第三相似度对应的音频帧C与音频帧D执行叠加操作。其中,叠加操作可以是计算相邻帧的平均值、计算加权平均值、选取最大值、选取最小值以及取中值等,以求平均值为例,对音频帧A与音频帧B执行叠加操作,包括:将音频帧A和音频帧B的每个特征值相加,然后除以帧数2,得到的平均值作为叠加后的叠加音频。对音频帧C与音频帧D执行叠加操作的过程与音频帧C与音频帧D执行的叠加操作相同,在此不再重复描述。

在另一示例中,若帧数为3,则将连续的3个帧作为相邻帧,执行对应的叠加操作,以得到不同语速标记的叠加音频,在此不再具体描述。

步骤S305,对叠加音频进行重建操作,得第一目标音频。

在本申请的一些实施例中,为了保证生成的第一目标音频的连续性和流畅性,可以对叠加音频执行重建操作,将叠加音频的特征向量映射回第一音频,对叠加音频进行重叠相加,以输出重建后的第一目标音频。

在本申请的实施例中,采用变速不变调的方式,对第一音频进行处理,使得生成的第一目标音频更接近用户的讲话节奏,在一定程度上可以提高用户体验。

图4是本申请一实施例提供的第二类标签的处理流程图。如图4所示,为了满足用户个性化需求,第二类标签可以包括原唱标签与翻唱标签,在识别到原唱标签或翻唱标签时可以作对应的处理,包括如图4所示的步骤:

步骤S401,判断第二类标签是否为原唱标签。

在本申请的一些实施例中,若第二类标签为原唱标签,执行步骤S402,若第二类标签为翻唱标签,执行步骤S403。

步骤S402,从预设的歌曲数据库中确定原唱标签对应的曲目的原唱数据,将原唱数据作为人声数据。

在本申请的一些实施例中,可以采用音源分离工具将取得版权的歌曲分离出人声部分与音乐部分,从而可以将获取到的人声部分作为原唱数据,将原唱数据存储至歌曲数据库中。音源分离工具可以是深度学习的多通道盲源分离模型(Demucs)、斯普雷特(Spleeter)软件等。

在本申请的一些实施例中,在计算机设备中搭建好歌曲数据库以后,识别到原唱标签时,可以根据原唱标签对应的曲目从歌曲数据库中查询原唱数据,比如,原唱标签携带的曲目为“晴天”,则从歌曲数据库中查询出曲目为“晴天”的原唱数据,将该原唱数据作为人声数据,以继续执行如图2所示实施例中的步骤S205。

步骤S403,将翻唱标签对应的曲目输入预设的歌声合成模型,得到翻唱音频文件,将翻唱音频文件作为人声数据。

在本申请的一些实施例中,为了满足用户的个性化需求,提供丰富的歌曲库,可以利用公开的无版权歌曲处理,以添加对应的歌曲。为了对无版权歌曲进行处理,可以训练歌声合成模型,用于合成歌声与对应的文本。

在本申请的一些实施例中,对歌声合成模型进行训练包括:获取目标用户的歌声样本,目标用户可以是翻唱歌手或者是非歌手,还可以根据目标曲目获取歌声样本,还可以是通过专业歌手录制的歌声样本,本申请对此不予限制。将歌声样本包括歌声音频与对应的歌词文本。将歌声样本划分为多份歌声音频,比如,将歌声样本切分成5s~15s的多份歌声音频。

提取每份歌声音频的歌声音频特征,比如,音素序列、音素发音时长、音高信息等。获取每份歌声音频对应的歌词文本。在得到歌声音频特征与歌词文本以后,利用歌声音频特征与歌词文本对初始歌声合成模型进行多次迭代训练,直至计算得到的初始歌声合成模型的第二损失函数小于预设指标,将初始歌声合成模型确定为歌声合成模型。其中,初始歌声合成模型可以包括长短期记忆网络、循环神经网络、卷积神经网络等类型的模型中的任意一种或多种的组合。

在一示例中,计算机设备可以包括NVIDIA TITAN Xp显卡,将歌声音频特征与歌词文本输入到初始歌声合成模型中,在NVIDIA TITAN Xp显卡上单卡训练280000步,通过对初始歌声合成模型进行反复的迭代和调整权重,每一次迭代,计算初始歌声合成模型的第二损失函数,直至第二损失函数小于预设指标,将初始歌声合成模型确定为歌声合成模型。若第二损失函数大于或等于预设指标,可以调整权重再次进行迭代训练。

在本申请的一些实施例中,将翻唱标签对应的曲目输入预设的歌声合成模型,得到翻唱音频文件。在一示例中,待处理文本包括[sing|svs=龙卷风],则将“龙卷风”输入到歌声合成模型中,即可生成“龙卷风”对应的翻唱音频文件,其中,翻唱音频文件中声音的节奏由训练时所采用的歌声样本确定。将翻唱音频文件作为人声数据,以继续执行如图2所示实施例中的步骤S205。

在本申请的实施例中,通过在待处理文本中设置不同的标签,能够提高对待处理文本的处理效率,同时,也解决了歌曲版权的问题,丰富曲库,满足用户的个性化需求以及自创歌曲的需求。

图5是本申请一实施例提供的第三类标签的处理流程图。为了满足用户添加语气词的个性化需求,对待处理文本包括的第三类标签的处理,可以参如图5所示的实施例,包括如下步骤:

步骤S501,将基于第三类标签得到的多个切分语句输入声学模型与声码器,得到多个第二音频。

在本申请的一些实施例中,第三类标签可以表示语气词。获取第三类标签在对应语句中的位置,基于第三类标签在对应语句中的位置得到多个切分语句。

在一示例中,将第三类标签标记为[sound_tag=],待处理文本中包括“大家好[sound_tag=哈哈]今天天气不错”,则基于[sound_tag=哈哈]的位置,得到“大家好”以及“今天天气不错”作为切分语句。

在本申请的一些实施例中,在得到多个切分语句之后,可以将切分语句输入声学模型与声码器,得到多个第二音频,每一个切分语句对应一个第二音频。例如,切分语句“大家好”对应的第二音频为“大家好.wav”,切分语句“今天天气不错”对应的第二音频为“今天天气不错.wav”。声学模型与声码器的描述可以参如图2所示实施例的步骤S202,在此不再重复描述。

在另一示例中,待处理文本也可以包括多个第三类标签。待处理文本中包括“[sound_tag=哇]大家好[sound_tag=哈哈]今天天气不错”,则基于[sound_tag=哇]与[sound_tag=哈哈]的位置,得到“大家好”以及“今天天气不错”作为切分语句。

步骤S502,获取第三类标签所标记的语气词音频。

在本申请的一些实施例中,语气词音频可以是一个用户预先录制的语气音频文件,比如,“哈哈哈.wav”、“嘻嘻.wav”等。

在一示例中,若识别到待处理文件中包含“[sound_tag=哈哈]”的第三类标签,则“哈哈”为第三类标签所标记的语气词音频。

步骤S503,基于多个切分语句与语气词音频在对应语句中的位置,确定多个第二音频以及语气词音频的拼接顺序。

在本申请的一些实施例中,在得到多个第二音频与语气词音频以后,可以获取多个第二音频对应的切分语句在待处理文本中的位置,以及语气词音频在在待处理文本中的位置,从而可以确定拼接顺序。

在一示例中,待处理文本包括“大家好[sound_tag=哈哈]今天天气不错”,则拼接顺序依次为“大家好.wav”、“哈哈.wav”、“今天天气不错.wav”。

步骤S504,基于拼接顺序,拼接语气词音频与多个第二音频得到拼接音频。

在本申请的一些实施例中,确定了拼接顺序以后,可以将语气词音频与多个第二音频拼接起来,整合成一个拼接音频。

在本申请的实施例中,由于根据情绪化语气词训练的深度学习模型的效果不佳,输出的语气词与实际讲话的语音相差较大,因此,在本实施例中,通过第三类标签标记的方式,能够让用户在待处理文本的任意位置添加语气词音频,一方面满足用户的个性化需求,另一方面也可以让生成的拼接音频中的语气词音频符合用户的实际情绪,提高用户体验。

图6是本申请又一实施例提供的文本转换音频的方法的流程图。待处理文本可以包括第一类标签、第二类标签与第三类标签中的一个或多个标签,如图6所示,包括如下步骤:

步骤S601,识别待处理文本中的标签。

步骤S602,判断待处理文本是否包含第一类标签。

在本申请的一些实施例中,若待处理文本包含第一类标签,执行步骤S603,若待处理文本不包含第一类标签,执行步骤S604。

步骤S603,将第一类标签所标记的语句输入声学模型与声码器中,得到第一音频,对第一音频进行语速处理,得到第一目标音频。

步骤S604,判断待处理文本是否包含第二类标签。

在本申请的一些实施例中,若待处理文本包含第二类标签,执行步骤S605,若待处理文本不包含第二类标签,执行步骤S606。

步骤S605,确定第二类标签对应的曲目的人声数据,将人声数据输入预设的声音转换模型,得到将人声数据替换为目标用户的声音数据的第二目标音频。

步骤S606,判断是否包含第三类标签。

在本申请的一些实施例中,若待处理文本包含第三类标签,执行步骤S607,若待处理文本不包含第三类标签,返回执行步骤S601。

步骤S607,将基于第三类标签得到的多个切分语句输入声学模型与声码器,得到多个第二音频,拼接第三类标签所标记的语气词音频与多个第二音频,得到拼接音频。

步骤S608,基于第一目标音频、第二目标音频和拼接音频中的一个或多个音频以及播放顺序,生成待处理文本对应的第三目标音频。

在本申请的一些实施例中,如图6所示实施例中的步骤S601~步骤S608的具体描述可以参见如图2至如图5所示实施例的步骤,在此不再重复描述。

在如图2至如图6所示的实施例中,为了提高对待处理文本的处理效率,可以不设置句与句之间的停顿时长,可以将系统的默认值作为停顿时长。基于用户的节奏需求,若用户在输入待处理文本的时候设置了停顿时长,可以根据该停顿时间实现句与句之间的停顿,如图7所示实施例。

图7是本申请一实施例提供的第四类标签的处理流程图。如图7所示,为了保障句子之间的流畅性,待处理文本还可以包括第四类标签。包括如下步骤:

步骤S701,获取第四类标签所标记的停顿时长。

在本申请的一些实施例中,第四类标签可以表示停顿时长。例如,第四列标签为[long_break='1000'],其中,1000表示停顿时长1000ms。

步骤S702,获取待处理文本的语句切分符号。

在本申请的一些实施例中,语句切分符号可以是语句之间的标点符号。

步骤S703,基于语句切分符号与停顿时长,确定第三目标音频语句之间的停顿位置与目标停顿时长。

在本申请的一些实施例中,根据每个语句切分符号在待处理文本中的位置,确定停顿位置,将停顿时长作为待处理文本句与句之间的目标停顿时长。

在本申请的实施例中,为了满足用户的说话节奏,用户可以根据需求设置第四类标签所标记的停顿时长,满足用户的个性化需求,使得待处理文本转换得到的第三目标音频能够更符合用户说话的节奏。

在本申请的其他实施例中,待处理文本中除了可以包含第一类标签、第二类标签、第三类标签与第四类标签中的一个或多个标签以外,还可以包含其他标签,比如,视频标签、图片标签等,本申请对此不予限制。

请参阅图8,是本申请实施例提供的文本转换音频的装置的示意图。是对本申请的文本转换音频的方法的功能化体现,该文本转换音频的装置包括获取模块801、第一识别模块802、语速处理模块803、第二识别模块804、声音转换模块805以及拼接模块806,其中:获取模块801,用于获取待处理文本;第一识别模块802,用于若待处理文本包含第一类标签,将第一类标签所标记的语句输入声学模型与声码器中,得到第一音频;语速处理模块803,用于对第一音频进行语速处理,得到第一目标音频;第二识别模块804,用于若待处理文本包含第二类标签,确定第二类标签对应的曲目的人声数据;声音转换模块805,用于将人声数据输入预设的声音转换模型,得到将人声数据替换为目标用户的声音数据的第二目标音频,声音转换模型根据目标用户录制的声音样本训练得到;拼接模块806,用于基于根据第一类标签和/或第二类标签在待处理文本中的位置确定的播放顺序、第一目标音频和/或第二目标音频,生成待处理文本对应的第三目标音频。

在本申请任意实施例的基础上,对第一音频进行语速处理,得到第一目标音频,包括:将第一音频分割成多个音频帧;提取每一音频帧的音频特征,基于音频特征计算相邻帧之间的相似度;基于第一音频的语速标记确定叠加操作的帧数;基于帧数,对大于预设阈值的相似度对应的相邻帧执行叠加操作,得到叠加音频;对叠加音频进行重建操作,得到第一目标音频。

在本申请任意实施例的基础上,对声音转换模型进行训练,包括:获取目标用户录制的声音样本;将声音样本分割成多份音频数据;提取每份音频数据对应的声音特征以及获取每份音频数据对应的文本数据;利用声音特征与文本数据对初始声音转换模型进行多次迭代训练,直至计算得到的初始声音转换模型的第一损失函数小于预设指标,将初始声音转换模型确定为声音转换模型。

在本申请任意实施例的基础上,第二类标签包括原唱标签与翻唱标签,若待处理文本包含第二类标签,确定第二类标签对应的曲目的人声数据,包括:若待处理文本包含原唱标签,从预设的歌曲数据库中确定原唱标签对应的曲目的原唱数据,将原唱数据作为人声数据;或,若待处理文本包含翻唱标签,将翻唱标签对应的曲目输入预设的歌声合成模型,得到翻唱音频文件,将翻唱音频文件作为人声数据。

在本申请任意实施例的基础上,包括:获取目标用户的歌声样本;将歌声样本划分为多份歌声音频;提取每份歌声音频的歌声音频特征,以及获取每份歌声音频对应的歌词文本;利用歌声音频特征与歌词文本对初始歌声合成模型进行多次迭代训练,直至计算得到的初始歌声合成模型的第二损失函数小于预设指标,将初始歌声合成模型确定为歌声合成模型。

在本申请任意实施例的基础上,待处理文本还包括第三类标签,包括:若待处理文本包含第三类标签,将基于第三类标签得到的多个切分语句输入声学模型与声码器,得到多个第二音频;获取第三类标签所标记的语气词音频;基于多个切分语句与语气词音频在对应语句中的位置,确定多个第二音频以及语气词音频的拼接顺序;基于拼接顺序,拼接语气词音频与多个第二音频得到拼接音频。

在本申请任意实施例的基础上,还包括:基于第一类标签、第二类标签和第三类标签中的一个或者多个标签在待处理文本中的位置,确定播放顺序;基于第一目标音频、第二目标音频和拼接音频中的一个或多个音频以及播放顺序,生成待处理文本对应的第三目标音频。

在本申请任意实施例的基础上,待处理文本还包括第四类标签,还包括:若待处理文本包含第四类标签,获取第四类标签所标记的停顿时长;获取待处理文本的语句切分符号;基于语句切分符号与停顿时长,确定第三目标音频语句之间的停顿位置与目标停顿时长。

本申请的另一实施例还提供一种计算机设备。图9是本申请实施例提供的计算机设备的结构示意图,如图9所示,在本申请的一个实施例中,计算机设备10可以为平板电脑、增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、上网本等设备,本申请实施例对计算机设备10的具体类型不作任何限制。

如图9所示,该计算机设备10可以包括,但不限于,可以包括通信模块901、存储器902、处理器903、输入/输出(Input/Output,I/O)接口904、总线905以及显示器906。处理器903通过总线905分别耦合于通信模块901、存储器902、I/O接口904、显示器906。

本领域技术人员可以理解,示意图仅仅是计算机设备10的示例,并不构成对计算机设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备10还可以包括网络接入设备等。

通信模块901可以包括有线通信模块和/或无线通信模块。有线通信模块可以提供通用串行总线(Universal Serial Bus,USB)、控制器局域网总线(CAN,Controller AreaNetwork)等有线通信的解决方案中的一种或多种。无线通信模块可以提供无线保真(Wireless Fidelity,Wi-Fi)、蓝牙(Bluetooth,BT)、移动通信网络、调频(FrequencyModulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(Infrared,IR)技术等无线通信的解决方案中的一种或多种。

存储器902可用于存储计算机可读指令和/或模块,处理器903通过运行或执行存储在存储器902内的计算机可读指令和/或模块,以及调用存储在存储器902内的数据,实现计算机设备10的各种功能。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备10的使用所创建的数据等。存储器902可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。

存储器902可以是计算机设备10的外部存储器和/或内部存储器。进一步地,存储器902可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。

处理器903可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器903是计算机设备10的运算核心和控制中心,利用各种接口和线路连接整个计算机设备10的各个部分,及执行计算机设备10的操作系统以及安装的各类应用程序、程序代码等。

示例性的,计算机可读指令可以被分割成一个或多个模块/子模块/单元,一个或者多个模块/子模块/单元被存储在存储器902中,并由处理器903执行,以完成本申请。一个或多个模块/子模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述计算机可读指令在计算机设备10中的执行过程。

计算机设备10集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,计算机可读指令包括计算机可读指令代码,计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)。

结合图2至图7,计算机设备10中的存储器902存储计算机可读指令,处理器903可执行存储器902中存储的计算机可读指令从而实现如图2至图7所示的文本转换音频的方法。

具体地,处理器903对上述计算机可读指令的具体实现方法可参考图2至图7对应实施例中相关步骤的描述,在此不赘述。

I/O接口904用于提供用户输入或输出的通道,例如I/O接口904可用于连接各种输入输出设备,例如,鼠标、键盘、触控装置、显示屏等,使得用户可以录入信息,或者使信息可视化。

总线905至少用于提供计算机设备10中的通信模块901、存储器902、处理器903、I/O接口904之间相互通信的通道。

显示器906可以是计算机设备的显示屏,用于显示计算机设备的控制界面,以便用户可以在控制界面上执行输入待处理文本以及选择相应的音频等操作。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

技术分类

06120116521850