一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种语音处理方法、装置、设备及介质、程序产品与流程

2021-07-27 15:30:00 来源:中国专利 TAG:语音 计算机 装置 可读 通信
一种语音处理方法、装置、设备及介质、程序产品与流程

本申请涉及语音通信技术领域,尤其涉及一种语音处理方法、装置、设备以及计算机可读存储介质、计算机程序产品。



背景技术:

随着通信技术的迅猛发展,语音通信逐渐成为一种主流的通信方式。语音通信具体是指用户通过电子设备发送语音实现与对端用户交流的通信方式。目前,语音通信过程中通常存在背景噪音,该背景噪音对用户的语音产生干扰,降低了用户的沟通效率,影响用户体验。

业界提出了语音降噪算法,以降低背景噪音对语音的干扰。一种语音降噪算法是基于多个麦克风,判断噪音的空间信息,如判断噪音的幅度和相位,然后基于该空间信息进行噪音抑制;另外一种语音降噪算法是基于深度学习方法,对各种噪音进行大量学习,从而建立噪声样本,再从原始的声音信号减除噪音,从而到达降噪,提升语音质量的目的。

然而,上述语音降噪算法依然无法做到100%消除噪音成分。并且,上述降噪算法还会损伤语音信号,降低了语音质量。



技术实现要素:

本申请提供了一种语音处理方法,语音通信系统中的发送端向接收端发送不包括背景噪音的识别结果,接收端根据该识别结果中的发音提示信息进行语音合成,合成语音中不掺杂任何背景噪音,实现100%消除背景噪音,并且该方法不会损伤语音信号,保障了语音质量。本申请还提供了上述方法对应的装置、设备、计算机可读存储介质以及计算机程序产品。

第一方面,本申请提供了一种语音处理方法,应用于语音通信系统,所述系统包括发送端和接收端,所述方法包括:

所述发送端采集用户的语音;

所述发送端对所述用户的语音进行识别,获得识别结果,所述识别结果至少包括发音提示信息;

所述发送端向所述接收端发送所述识别结果,以使所述接收端根据所述识别结果进行语音合成。

在一些可能的实现方式中,所述发送端向所述接收端发送所述识别结果,包括:

所述发送端向所述接收端发送所述识别结果以及所述用户的声纹信息。

在一些可能的实现方式中,所述发音提示信息包括音素;

所述发送端对所述用户的语音进行识别,获得识别结果,包括:

所述发送端通过声学模型对所述用户的语音进行识别,获得所述语音对应的所述音素。

在一些可能的实现方式中,所述发送端还通过所述声学模型获得所述语音对应的所述音素的发音时间或者是发音间隔时间,所述识别结果还包括所述发音时间或者所述发音间隔时间。

在一些可能的实现方式中,所述发音提示信息包括与所述语音具有相同发音的文本信息。

在一些可能的实现方式中,所述文本信息由所述发送端通过声学模型识别音素,然后通过语言模型解码音素得到。

在一些可能的实现方式中,所述方法还包括:

对所述识别结果加密;

所述发送端向所述接收端发送所述识别结果,包括:

所述发送端向所述接收端发送加密后的所述识别结果。

在一些可能的实现方式中,所述方法还包括:

根据所述用户的声纹信息对所述用户的语音进行过滤。

在一些可能的实现方式中,所述发送端向所述接收端发送所述识别结果,包括:

所述发送端根据所述识别结果生成字符流;

所述发送端通过流式的顺序传输方式向所述接收端传输所述字符流。

第二方面,本申请提供了一种语音处理方法,应用于语音通信系统,所述系统包括发送端和接收端,所述方法包括:

所述接收端获取用户的语音的识别结果,所述识别结果至少包括发音提示信息;

所述接收端根据所述发音提示信息进行语音合成,获得合成语音;

所述接收端播放所述合成语音,以实现实时语音通信。

在一些可能的实现方式中,所述方法还包括:

获取用户的声纹信息;

所述接收端根据所述发音提示信息进行语音合成,获得合成语音,包括:

所述接收端根据所述发音提示信息以及所述用户的声纹信息进行语音合成,获得合成语音。

在一些可能的实现方式中,所述发音提示信息包括音素;

所述接收端根据所述发音提示信息以及所述用户的声纹信息进行语音合成,获得合成语音,包括:

所述接收端根据所述发音提示信息合成初始语音;

所述接收端根据所述初始语音以及所述用户的声纹信息,获得与所述用户对应的合成语音。

在一些可能的实现方式中,所述识别结果还包括所述音素的发音时间或发音间隔时间;

所述接收端根据所述发音提示信息以及所述用户的声纹信息进行语音合成,包括;

所述接收端根据所述音素的发音时间或所述发音间隔时间中的一个以及所述音素、所述用户的声纹信息进行语音合成。

在一些可能的实现方式中,所述发音提示信息包括与所述语音具有相同发音的文本信息。

在一些可能的实现方式中,所述文本信息由所述发送端通过声学模型识别音素,然后通过语言模型解码音素得到。

在一些可能的实现方式中,所述接收端获取用户的语音的识别结果,包括:

所述接收端接收由所述发送端发送的加密后的所述识别结果;

所述接收端从加密后的所述识别结果中解密出所述识别结果。

在一些可能的实现方式中,所述识别结果通过字符流形式传输;

所述接收端根据所述发音提示信息以及所述用户的声纹信息进行语音合成,包括:

所述接收端按照所述字符流的顺序,根据所述发音提示信息以及所述用户的声纹信息进行语音合成。

第三方面,本申请提供了一种语音处理装置,包括:

采集单元,用于采集用户的语音;

识别单元,用于对所述用户的语音进行识别,获得识别结果,所述识别结果至少包括发音提示信息;

发送单元,用于向接收端发送所述识别结果,以使所述接收端根据所述识别结果进行语音合成。

在一些可能的实现方式中,所述发送单元,用于所述发送端向所述接收端发送所述识别结果以及所述用户的声纹信息。

在一些可能的实现方式中,所述发音提示信息包括音素;

所述识别单元,用于通过声学模型对所述用户的语音进行识别,获得所述语音对应的所述音素。

在一些可能的实现方式中,所述识别单元还通过所述声学模型获得所述语音对应的所述音素的发音时间或者是发音间隔时间,所述识别结果还包括所述发音时间或者所述发音间隔时间。

在一些可能的实现方式中,所述发音提示信息包括与所述语音具有相同发音的文本信息。

在一些可能的实现方式中,所述识别单元,用于通过声学模型识别音素,然后通过语言模型解码音素得到所述文本信息。

在一些可能的实现方式中,所述装置还包括:

加密单元,用于对所述识别结果加密;

所述发送单元,用于向所述接收端发送加密后的所述识别结果。

在一些可能的实现方式中,所述装置还包括:

过滤单元,用于根据所述用户的声纹信息对所述用户的语音进行过滤。

在一些可能的实现方式中,所述发送单元,用于根据所述识别结果生成字符流,通过流式的顺序传输方式向所述接收端传输所述字符流。

第四方面,本申请提供了一种语音处理装置,包括:

获取单元,用于获取用户的语音的识别结果,所述识别结果至少包括发音提示信息;

合成单元,用于根据所述发音提示信息进行语音合成,获得合成语音;

播放单元,用于播放所述合成语音,以实现实时语音通信。

在一些可能的实现方式中,所述获取单元,用于获取用户的声纹信息;

所述合成单元,用于根据所述发音提示信息以及所述用户的声纹信息进行语音合成,获得合成语音。

在一些可能的实现方式中,所述发音提示信息包括音素;

所述合成单元,用于根据所述发音提示信息合成初始语音,根据所述初始语音以及所述用户的声纹信息,获得与所述用户对应的合成语音。

在一些可能的实现方式中,所述识别结果还包括所述音素的发音时间或发音间隔时间;

所述合成单元,用于根据所述音素的发音时间或所述发音间隔时间中的一个以及所述音素、所述用户的声纹信息进行语音合成。

在一些可能的实现方式中,所述发音提示信息包括与所述语音具有相同发音的文本信息。

在一些可能的实现方式中,所述文本信息由所述发送端通过声学模型识别音素,然后通过语言模型解码音素得到。

在一些可能的实现方式中,所述装置还包括解密单元;

所述获取单元,用于接收由所述发送端发送的加密后的所述识别结果;

所述解密单元,用于从加密后的所述识别结果中解密出所述识别结果。

在一些可能的实现方式中,所述识别结果通过字符流形式传输;

所述合成单元,用于按照所述字符流的顺序,根据所述发音提示信息以及所述用户的声纹信息进行语音合成。

第五方面,本申请提供一种设备,所述设备包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得设备执行如第一方面或第二方面的任一种实现方式中的语音处理方法。

第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示设备执行上述第一方面或第二方面的任一种实现方式所述的语音处理方法。

第七方面,本申请提供了一种包含指令的计算机程序产品,当其在设备上运行时,使得设备执行上述第一方面或第二方面的任一种实现方式所述的语音处理方法。

本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

附图说明

为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。

图1为本申请实施例提供的一种语音通信系统的架构图;

图2为本申请实施例提供的一种语音处理方法的指令交互图;

图3为本申请实施例提供的一种语音处理方法的指令交互图;

图4为本申请实施例提供的一种语音处理方法的指令交互图;

图5为本申请实施例提供的一种语音处理装置的结构示意图;

图6为本申请实施例提供的一种语音处理装置的结构示意图;

图7为本申请实施例提供的一种终端的结构示意图;

图8为本申请实施例提供的一种终端的结构示意图。

具体实施方式

本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。

首先对本申请实施例中所涉及到的一些技术术语进行介绍。

语音通信是指通信双方通过语音进行通信的通信方式,例如用户通过电子设备发送语音与对端用户进行交流。语音通信的一种典型应用场景为实时语音通信。实时语音通信是一种通过网络传输语音,以达到如同面对面通话的场景。实时语音通信对于语音的传输延迟要求较高,具体地,实时语音通信要求通信双方低延迟地传输语音。

实时语音通信可以是用户1的电子设备与用户2的电子设备建立连接后,用户1与用户2语音通话。例如用户1与用户2基于电信运营商提供的通话服务进行实时语音通信,或者是基于互联网应用服务提供商提供的通话服务进行实时语音通信。

用户在利用电子设备进行语音通信的过程中,电子设备采集到的用户的语音中往往会掺杂一些背景噪音。例如用户在繁华的街道利用电子设备语音通信时,电子设备会采集到街道上车辆的行驶声音。又例如用户在人群中利用电子设备语音通信时,电子设备可以采集到其他用户的声音。上述背景噪音会对用户的语音产生干扰,进而降低用户的沟通效率,影响用户语音通信体验。

目前,业界采用语音降噪算法,对电子设备采集的语音信号进行处理,以降低背景噪音对用户的语音的干扰。例如在一些语音降噪算法中,语音降噪算法基于多个麦克风,判断噪音的空间信息,如判断噪音的幅度和相位,然后基于该空间信息进行噪音抑制。又例如另一些语音降噪算法中,语音降噪算法基于深度学习方法,对各种噪音进行大量学习,从而建立噪声样本,再从原始的声音信号减除噪音,从而到达降噪,提升语音质量的目的。

然而,上述语音降噪算法中均无法做到100%消除噪音成分,并且,通过上述语音降噪算法对电子设备采集的语音信号进行处理后,会对该语音信号产生损伤,进而降低语音质量,影响用户语音通信体验。

有鉴于此,本申请实施例提供了一种语音处理方法。该语音处理方法可以应用于语音通信系统,语音通信系统包括发送端和接收端。具体地,发送端采集用户的语音,先对用户的语音进行识别,获得包括发音提示信息的识别结果,然后将该识别结果以及用户的声纹信息发送给接收端,接收端接收到识别结果以及用户的声纹信息后,能够根据该识别结果中的发音提示信息以及用户的声纹信息进行语音合成,从而得到不包括背景噪音的语音。

一方面,发送端预先对用户的语音进行识别得到包括发音提示信息的识别结果,然后将该识别结果以及用户的声纹信息发送给接收端,由于发送端发送给接收端的识别结果中不包括任何噪音成分如背景噪音,接收端根据该识别结果中的发音提示信息与用户的声纹信息进行语音合成,使合成的语音中不掺杂任何噪音成分,理论上能够实现100%消除噪音成分。如此,该方法减少了背景噪音对用户的语音的干扰,提高了用户的沟通效率,进而提高了用户的语音通信体验。

进一步地,接收端通过语音合成的方式还原用户的语音,例如接收端根据识别结果中的发音提示信息以及用户的声纹信息进行语音合成。该方法不会对语音信号产生损伤,并且通过语音合成的方式,接收端能够还原出高质量的语音信号,进而使用户能够听到更清楚的语音,提高了用户的语音通信体验。。

另一方面,发送端将数据量较小的识别结果以及用户的声纹信息发送给接收端,而不是向接收端发送数据量较大的语音数据。如此能够降低发送端向接收端发送的数据量,从而降低对发送端与接收端所处的网络环境的要求,发送端与接收端处于较差的网络环境中时,用户也能够进行高质量语音通信。

本申请实施例提供的语音处理方法可以应用于实时语音通信场景(例如语音通话),也可以应用于非实时语音通信场景(例如语音消息)。在实时语音通信场景中,要求发送端和接收端之间低延迟传输语音,例如发送端的用户与接收端的用户进行语音通话(如打电话)。而在非实时语音通信场景中,通信双方对传输语音的延迟的要求较低,例如发送端的用户给接收端的用户发送语音消息,在一些实现方式中,发送端的用户可以利用发送端上安装的通信应用(如即时通讯应用)向接收端的用户发送语音形式的消息,接收端的用户可以在接收到语音形式的消息后,根据需要选择播放语音形式的消息的时间。

需要说明的是,本申请实施例不限定语音处理方法的应用场景,以下仅仅是以语音处理方法应用于实时语音通信场景为例进行介绍。

为了使得本申请的技术方案更加清楚、易于理解,下面结合附图对本申请实施例提供的语音通信系统的架构进行介绍。

如图1所示的语音通信系统的架构图,该语音通信系统100包括终端10和终端20。图1中仅仅是示意性地说明终端10或终端20可以为手机,当然,终端10或终端20包括但不限于平板电脑、笔记本电脑、个人数字助理(personaldigitalassistant,pda)或者智能穿戴设备等。其中,智能穿戴设备可以是智能手表、智能手环、智能眼镜等。

在一些实施例中,其中一个终端为发送端,另一个终端为接收端。例如终端10为发送端,终端20为接收端。如图1所示,当用户1发出语音时,终端10可以采集用户1的语音,然后对用户1的语音进行识别,获得包括用户1的发音提示信息的识别结果,然后将该识别结果和用户1的声纹信息发送给终端20。终端20根据该识别结果中用户1的发音提示信息以及用户1的声纹信息进行语音合成,得到合成语音,然后终端20播放合成语音。如此,用户2能够听到不包括背景噪音的用户1的语音。

相应地,终端10也可以为接收端,终端20为发送端。用户2听到用户1的语音后,用户2可以对用户1进行语音应答。用户2进行语音应答时,终端20可以采集用户2的语音,然后对用户2的语音进行识别,获得包括用户2的发音提示信息的识别结果,然后将该识别结果和用户2的声纹信息发送给终端10。终端10根据该识别结果中用户2的发音提示信息以及用户2的声纹信息进行语音合成,获得合成语音。如此,用户1能够听到不包括背景噪音的用户2的语音。

该语音通信系统100中,以终端10为发送端,终端20为接收端为例,通过终端10对用户的语音进行识别,终端20根据识别结果与用户的声纹信息对语音进行合成的方式,终端10能够采用要求较低的降噪方案。例如终端10的语音输入设备可以是单麦克风,然后基于谱相减原理,滤除周围环境中的稳态噪音,使终端10能够对采集的用户1的语音进行准确地识别,以及能够采集用户1的声纹信息即可。

需要说明的是,本申请实施例提供的语音处理方法可以以计算机程序的形式提供给用户使用。该计算机程序可以是单独的应用(application,app),也可以是已有应用的功能模块、插件或者小程序等等。终端10、终端20通过运行上述计算机程序从而实现本申请的语音处理方法。

为了使得本申请的技术方案更加清楚、易于理解,下面以终端10侧的用户1与终端20侧的用户2进行语音通信为例,对本申请实施例提供的语音处理方法进行详细介绍。

如图2所示,该图示出了一种语音处理方法的指令交互图,该方法包括如下步骤:

s202:终端10采集用户1的语音。

终端10可以通过麦克风采集用户1的语音,该麦克风可以是终端10内置的麦克风,也可以是外接于终端10的麦克风,例如具有麦克风的耳机。在一些实施例中,当用户1发出语音时,终端10可以通过麦克风采集用户1的语音,即终端10能够采集用户1说话的内容。

s204:终端10对用户1的语音进行识别,获得识别结果。

其中,识别结果包括发音提示信息,发音提示信息是指针对用户发音的提示信息。例如发音提示信息可以包括音素,也可以包括与用户的语音具有相同发音的文本信息。下面针对上述两种发音提示信息分别介绍终端10对用户1的语音进行识别的过程。

第一种:发音提示信息包括音素。

音素是发音的基本单位。音素可以根据发音时气流是否受到阻碍分为元音音素和辅音音素。元音音素是指发音时气流在口腔、咽头不受阻碍而形成的音,简称元音;辅音音素是指发音时气流在口腔、咽头受一定程度的阻碍而形成的音,简称辅音。需要说明的是,不同语种中元音、辅音可以是不同的。

发音提示信息可以包括多个音素。其中,多个音素可以是独立的,也可以相互关联形成至少一个音节。音节是语音中一种比较自然的结构单位。在汉语中,一个音节是指汉语中一个字的音。例如“普通话”的音节包括“pǔ”、“tōng”和“huà”,其具有8个音素,分别为“p”、“u”、“t”、“o”、“ng”、“h”、“u”和“a”。基于此,用户发出语音“普通话”时,发音提示信息可以是8个音素,也可以是8个音素形成的3个音节。在英语中,一个音节可以是一个单词,或者是一个单词的部分。单音节词中音节即为该单词,多音节词中音节为该单词的一部分。例如,单词“water”包括“wa”和“ter”两个音节。当用户发出语音“water”时,发音提示信息可以包括该单词的音素,或者多个音素形成的音节,如“wa”“ter”以上仅仅是对音素和音节的示例说明,并不构成对本申请的限定。

在一些实施例中,终端10可以通过声学模型对用户1的语音进行识别,进而得到用户1的语音对应的音素。其中,声学模型是指将语音转换为该语音对应的音素的模型。例如,声学模型可以是深度神经网络-隐马尔可夫模型(deepneuralnetworks-hiddenmarkovmodel,dnn-hmm)。

具体地,终端10上可以预先存储有训练好的声学模型,终端10采集到用户1的语音后,从该用户1的语音的声音波形中提取声学特征,然后将该声学特征输入到声学模型得到该用户1的语音对应的音素。

在一些实施例中,终端10先对用户1的语音的声音波形分帧,如此,终端10将语音分为多个片段,然后针对每个片段进行声学特征提取。终端10将多个声学特征输入到声学模型后,能够得到音素序列。其中,声学特征提取的方式包括但不限于线性预测编码(linearpredictivecoding,lpc)、梅尔频率倒谱系数(mel-frequencycepstralcoefficients,mfcc)计算等。

在一些实施例中,终端10还可以通过声学模型获得用户1的语音对应的音素的发音时间。其中,发音时间是指在用户1的语音对应的时间段中,用户1实际发音的时间段。例如用户1的语音对应的时间段为5秒,用户1在0至3秒的时间区间内未发音,在3至5秒的时间区间内发音,则用户1的语音对应的音素的发音时间为2秒。在实际情况中,用户1的语音对应的音素的发音时间可能远远小于2秒,例如10毫秒、15毫秒或20毫秒。如此,终端10能够获得用户1的语音对应的时间段中用户1实际的发音时间,然后将该发音时间放入到识别结果中,以便终端20根据包括发音时间的识别结果合成出与用户1语速一致的语音。

在另一些实施例中,终端10还可以通过声学模型获得用户1的语音对应的音素的发音间隔时间。其中,发音间隔时间是指用户1的语音对应的时间段中,用户1的音素之间的间隔时间。例如用户1的语音对应的时间段为3秒,用户1在0至1秒的时间区间发出一个音素(或多个音素组成的音节),在1至2秒的时间区间未发音,在2至3秒的时间区间发出一个音素(或多个音素组成的音节),则用户1的语音对应的因素的发音间隔时间为1秒。在实际情况中,用户1的语音对应的因素的发音间隔时间可能语音小于1秒,例如50毫秒、60毫秒或100毫秒。如此,终端10能够获得用户1的语音对应的时间段中用户1的发音间隔时间,然后将该发音间隔时间放入到识别结果中,以便终端20根据包括发音间隔时间的识别结果合成出与用户1说话时断句一致的语音。

在另一些实现方式中,终端10可以同时将发音时间和发音间隔时间放入到识别结果中,如此,终端20能够根据该识别结果合成出与用户1说话时语速且断句一致的语音。

以上介绍了第一种发音提示信息,下面介绍第二种发音提示信息。

第二种:发音提示信息包括与用户的语音具有相同发音的文本信息。

文本信息是指文字信息,文字可以是汉语组成的文字,也可以是英语组成的文字,或者是其他语言组成的文字,在一些实现方式中,文字也可以是多种语言共同组成的文字。例如文本信息可以是“我要喝可乐”,具有相同发音的文本信息是与前述“我要喝可乐”的发音相同的文本信息,例如“我药喝渴勒”。又例如文本信息可以是“alter”,具有相同发音的文本信息时与前述“alter”的发音相同的文本信息,例如“altar”。上述“我要喝可乐”与“我药喝渴勒”以及“alter”与“altar”仅仅是示意性地介绍具有发音相同的文本信息,并不构成对本申请的限定。

在一些实施例中,终端10可以先通过声学模型对用户1的语音进行识别,得到用户1的语音对应的音素,然后通过语言模型对音素进行解码得到用户1的语音的文本信息。其中,终端10通过声学模型对用户1的语音进行识别的过程可以参见上述第一种中的描述,此处不再赘述。

语言模型是指将音素转换为文本信息的模型。终端10通过上述方式获得用户1的语音对应的音素序列后,通过语音模型将该音素序列转换为文本信息。在一些实施例中,该文本信息可以是具有相同发音的文本信息,终端10无需准确地进行语义识别。例如终端10无需将声学模型输出的多种音素序列分别通过语音模型转换为文本信息,再对不同的文本信息进行打分,以确定最终得到的文本信息。如此,终端10能够较快速地对用户1的语音进行识别,获取用户1的语音对应的文本信息,降低终端10的识别时间,提高终端10的识别效率,进而降低终端10与终端20之间的通信延迟。

s206:终端10向终端20发送识别结果。

在一些实现方式中,终端10可以向终端20发送识别结果以及用户1的声纹信息,在另一些实现方式中,终端10也可以直接向终端20发送识别结果,下面分别上述两种实现方式进行说明。

第一种实现方式:终端10向终端20发送识别结果和用户1的声纹信息。

声纹信息是指能够反映说话人生理和行为特征的信息。由于不同的说话人的发声器官(例如舌、牙齿、喉头、肺、鼻腔)在尺寸和形态方面不相同,不同人的声纹信息也不同,因此,能够通过对声纹信息确定说话人的身份。

在一些实施例中,用户1可以在终端10上预先录入用户1的声纹信息。例如采用文本相关的方式录入用户1的声纹信息。具体地,终端10采集用户1阅读预设文本时的语音,然后基于线性预测编码(linearpredictivecoding,lpc)技术对该语音进行处理,获得用户1的声纹信息,然后存储在终端10本地。终端10预先录入用户1的声纹信息后,终端10无需在与终端20的语音通信的过程中,实时获取用户1的声纹信息,减轻了终端10的计算压力。进一步地,终端10通过采集用户1阅读预设文本时的语音,获得的用户1的声纹信息更准确。

在另一些实施例中,终端10也可以实时获取用户1的声纹信息。例如终端10采集用户1的语音后,终端10通过线性预测编码技术对该语音进行处理,获得用户1的声纹信息,然后存储在终端10本地。本实施例中,无需用户1针对预设文本进行阅读,终端10通过采集的用户1的语音实时获取用户1的声纹信息。

第二种实现方式:终端10向终端20发送识别结果。

具体地,终端10直接向终端20发送识别结果,以便于接收端根据识别结果中的发音提示信息进行语音合成,得到合成后的语音。该合成后的语音能够表达用户1所要表达的内容。合成后的语音中不包括用户1的声纹信息,例如合成后的语音可以是预设音色的语音。在一些示例中,终端20可以向用户2呈现用户1的标识,以便用户2可以根据用户1的标识确定用户1的身份信息,进而得知该合成后的语音为用户1的语音。其中,用户1的标识可以是用户1的电话号码、用户名、账号等。

在一些实施例中,终端10可以在第一次与终端20进行语音通信时,向终端20发送用户1的声纹信息,终端20在接收到终端10发送的用户1的声纹信息后,将该声纹信息进行存储。如此,终端10可以直接向终端20发送识别结果,而不需要同时发送用户1的声纹信息。终端10的用户后续与终端20的用户进行语音通信时,终端10、终端20可以直接基于存储的对端用户的声纹信息进行语音处理,实现实时语音通信。

在一些示例中,终端20中预先存储有用户1的声纹信息与用户1的标识的映射关系。终端20接收到终端10发送的识别结果后,根据用户1的标识,从映射关系中确定用户1的声纹信息,然后根据用户1的声纹信息和识别结果进行语音合成。

在一些场景中,终端20可以存储用户1的声纹信息直至本次语音通信结束。例如用户1连续发出两次语音,用户1第一次发出语音后,终端10将对该语音的识别结果以及用户1的声纹信息发送给终端20,用户1第二次发出语音后,终端10仅将对该语音的识别结果发送给终端20即可,而无需再次向终端20发送用户1的声纹信息。

在另一些场景中,终端20可以存储用户1的声纹信息直至预设时间节点。例如用户1与用户2进行两次语音通信,用户1第一次与用户2语音通信时,终端10将对用户1的语音的识别结果以及用户1的声纹信息发送给终端20,用户1在第二次与用户2语音通信时,终端10仅将对用户1的语音的识别结果发送给终端20即可,而无需再次向终端20发送用户1的声纹信息。

终端10与终端20进行语音通信时,终端10无需多次向终端20发送用户1的声纹信息,进一步地降低终端10向终端20传输的数据量。

本实施例中,终端10向终端20发送数据量较小的识别结果和用户1的声纹信息,与直接向终端20发送数据量较大的语音数据相比,终端10能够在短时间内将数据量较小的识别结果以及用户1的声纹信息传输给终端20,减少了终端10向终端20传输数据所需要的时间。以终端按照语音质量较低的窄带语音通信为例,原始码率为128kbps,经过压缩后的码率为4.75kbps至12.2kbps,而本实施例中终端10向终端20发送的识别结果中的发音提示信息通过字符表示,例如通过字符表示文本信息或者通过字符表示音素(或多个音素组成的音节)。以通过字符表示文本信息,终端按照汉字标准gb-2313为例,每个字符占用2个字节即16bits,正常人的语速为每分钟120个字符,换算成码率为32bps。

可见,终端10向终端20发送的识别结果与直接向终端20发送语音数据相比,能够降低传输近千倍的数据量。声纹信息的数据量约在10kb以内,并且,终端10仅向终端20传输一次声纹信息,终端20对该声纹信息进行保存后,后续终端10仅向终端20传输识别结果即可。进一步地,即使终端10所处的网络环境较差或者终端10所处的网络环境变差(例如用户1携带终端10进入电梯等网络环境较差的区域),终端10也能够向终端20传输数据量较小的识别结果,进而实现用户1与用户2语音通信。由此提高了实时语音通信的可用性。

在一些实现方式中,终端10可以根据识别结果生成字符流,然后通过流式的顺序传输方式向终端20传输字符流。例如终端10向终端20传输识别结果过程中,每当终端10在对用户1的语音进行识别并获得音节后,直接对该音节编码并通过流式的顺序传输方式向终端20传输。终端10无需等待获得用户1的语音对应的全部的音节后,再统一对音节编码并传输给终端20。如此,终端10能够在识别用户1的语音的同时,根据识别结果生成字符流并向终端20传输该字符流。

终端20在接收终端10传输的字符流的过程中,每当终端20在接收到终端10传输的字符流,终端20即可根据接收到的字符流和用户1的声纹信息进行语音合成。在一些实施例中,终端20可以按照字符流的顺序,根据发音提示信息以及用户1的声纹信息进行语音合成。如此,终端20能够在接收到终端10传输字符流的同时,进行语音合成。

上述方式中,终端10能够在较短的时间内,完成向终端20传输识别结果对应的字符流,进而降低了终端10与终端20之间的通信延迟。

s208:终端20根据识别结果进行语音合成,获得合成语音。

在一些实施例中,终端20中未存储有用户1的声纹信息且终端10也未向终端20发送用户1的声纹信息时,终端20直接根据识别结果进行语音合成,进而得到合成后的语音,该合成后的语音不包括背景噪音。终端20可以播放该合成后的语音,进而用户2能够得知用户1所要表达的内容。

在另一些实施例中,终端20中存储有用户1的声纹信息或终端10向终端20发送用户1的声纹信息时,终端20根据终端10发送的识别结果以及用户1的声纹信息进行语音合成,以获得不包括背景噪音的用户1的语音。具体地,终端20根据发音提示信息合成初始语音,该初始语音可以是一种标准语音,例如机器人的语音。在该初始语音中不包括用户1的声纹信息。然后终端20根据该初始语音以及用户1的声纹信息,获得用户1对应的合成语音。该合成语音包括了用户1的声纹信息,终端20播放该合成语音后,用户2能够确定该合成语音为用户1的语音。

在一些实现方式中,终端20可以通过共振峰模型对识别结果中的发音提示信息以及用户1的声纹信息进行处理,合成不包括背景噪音的用户1的语音。

在一些实施例中,识别结果还包括终端10通过声学模型获取的用户1的语音对应的音素的发音时间。终端20接收到终端10发送的识别结果后,获取该发音时间,终端20能够根据该发音时间确定用户1说话时的语速。终端20根据包括用户1的语音对应的音素的发音时间的识别结果进行语音合成后,能够使合成语音的语速与用户1说话时的语音的语速一致,减少了合成后的语音过于僵化的情况,提升了语音通信的用户体验。

在另一些实施例中,识别结果还包括终端20通过声学模型获取的用户1的语音对应的音素的发音间隔时间。终端20能够根据该发音间隔时间确定用户1说话时的断句情况。终端20根据包括用户1的语音对应的音素的发音间隔时间的识别结果进行语音合成后,能够使合成后的语音与用户1说话时的语音的断句一致。

在另一些实施例中,终端20也可以根据同时包括发音时间和发音间隔时间的识别结果进行语音合成,进而终端20能够合成出与用户1说话时语速且断句一致的语音。

需要说明的是,终端10对语音进行识别的速度远高于终端10通过传统的方式对语音进行编码的速度,相应地,终端20对语音进行合成的速度也远高于终端20通过传统的方式对语音进行解码的速度,如此该方法进一步降低了终端10与终端20之间的通信延迟。

s210:终端20播放合成语音。

终端20播放合成语音,以便终端20侧的用户2能够听到该合成语音,该合成语音不包括任何背景噪音成分,进而实现不包括任何噪音的实时语音通信。

基于上述内容描述,本申请实施例提供了一种语音处理方法。一方面,终端10发送给终端20的识别结果中不包括任何噪音成分如背景噪音,终端20根据该不包括背景噪音的识别结果以及用户1的声纹信息进行语音合成,使合成的语音中不掺杂任何噪音成分,理论上能够实现100%消除噪音成分。如此,该方法减少了背景噪音对用户1的语音的干扰,提高了用户1的沟通效率,进而提高了用户1的语音通信体验。

进一步地,终端20通过语音合成的方式还原用户1的语音,该种方式不会对语音信号产生损伤,并且终端20能够还原出高质量的语音信号,进而使用户2能够听到更清楚的语音,提高了用户1和用户2的语音通信体验。

另一方面,终端10将数据量较小的识别结果以及用户1的声纹信息发送给终端20,而不是向终端20发送数据量较大的用户1的语音数据。该方法能够降低终端10向终端20传输的数据量,从而降低对终端10和终端20所处的网络环境的要求,使终端10和终端20在较差的网络环境中也能够进行高质量语音通信。

在一些实施例中,终端20进行语音合成后,用户2听到终端20播放的合成语音后,还可以针对合成后的语音进行应答,例如用户2通过终端20向终端10侧的用户1进行语音应答。如图3所述,本申请实施例还提供了一种语音处理方法,该方法在上述图2所示步骤的基础上,还包括如下步骤:

s302:终端20采集用户2的语音。

s304:终端20对用户2的语音进行识别,获得识别结果。

s306:终端20向终端10发送识别结果。

s308:终端10根据识别结果进行语音合成,获得合成语音。

s310:终端10播放合成语音。

本实施例中,终端10既可以作为发送端,也可以作为接收端,即终端10同时具有发送端的功能和接收端的功能。同理,终端20既可以作为发送端,也可以作为接收端,即终端20同时具有发送端的功能和接收端的功能。终端10和终端20可以在不同的场景下,实施不同的功能,以实现终端10侧的用户1与终端20侧的用户2之间的语音通信。

需要说明的是,s302至s310与上述图2所示步骤中s202至s210相类似,此处不再赘述。

在一些实施例中,终端还可以对传输的数据如识别结果和声纹信息进行加密,以提高用户1与用户2进行语音通信的安全性。为了便于理解,下面以终端10对传输给终端20的数据进行加密为例,进行介绍。如图4所示,本申请实施例还提供了一种语音处理方法,该方法包括如下步骤:

s402:终端10采集用户1的语音。

s404:终端10利用声纹信息对用户1的语音进行过滤。

在一些实施例中,终端10可以预先存储用户1的声纹信息。终端10采集到用户1的语音后,终端10可以先根据用户1的声纹信息对用户1的语音降噪,以去除其他用户说话的语音。具体地,终端10将该采集的语音的声纹信息与用户1的声纹信息进行比对,若比对结果表明该语音为用户1的语音,则终端10对该语音进行后续处理如识别等;若比对结果表明该语音不是用户1的语音,而是其他用户的语音,则终端10确定该语音为噪音,终端10可以过滤该噪音。如此,终端10能够对用户1的语音中包括的其他用户说话的语音进行滤除,进一步减少终端10采集的用户1的语音中的噪音。

s406:终端10对过滤后的语音进行识别,获得识别结果。

终端10对过滤后的语音进行识别的方式与终端10直接对用户1的语音的识别方式相类似,具体可以参见上述实施例中的s204,此处不再赘述。

终端10预先对采集的用户1的语音进行降噪处理后,能够提高终端10对语音进行识别的准确性,进而终端10能够获得更为准确的识别结果。

s408:终端10对识别结果进行加密。

在一些实施例中,终端10还可以对识别结果进行加密得到密文。当终端10传输给终端20的数据中包括用户1的声纹信息时,终端10还可以对用户1的声纹信息与识别结果一同加密得到密文。例如终端10中存储有预设的明文与密文的映射关系,然后根据明文与密文的映射关系,将明文形式的识别结果以及声纹信息转换为密文。预设的明文与密文的映射关系可以是终端10与终端20之间预先设定的明文与密文的映射关系。

在一些实施例中,终端10可以针对识别结果和声纹信息分别设置加密信息库。例如,存储第一明文与第一密文的第一映射关系的第一加密信息库和存储第二明文与第二密文的第二映射关系的第二加密信息库。终端10根据第一加密信息库中存储的第一映射关系对识别结果进行加密,将明文形式的识别结果转换为密文。终端10根据第二加密信息库中存储的第二映射关系对声纹信息进行加密,将明文形式的声纹信息转换为密文。在一些实现方式中,终端10还可以对识别结果的密文添加标识,以便终端20根据该标识从相应的加密信息库中获取明文形式的识别结果。同理,终端10也可以对声纹信息的密文添加标识,以便终端20根据该标识从相应的加密信息库中获取明文形式的声纹信息。

在另一些实施例中,终端10仅向终端20发送识别结果即可,而不需要重复性地向终端20发送用户1的声纹信息。终端10仅对识别结果进行加密即可,如此,减少终端10对传输的数据进行加密所需要的时间,进一步降低终端10传输数据给终端20的延迟。

s410:终端10向终端20发送密文。

终端10向终端20发送上述密文,即使该密文被不法分子如黑客截获后,不法分子也无法通过该密文得知终端10实际发送给终端20的数据,提高了终端10与终端20之间传输的数据的安全性。

s412:终端20对密文进行解密,获得识别结果。

相应地,终端20中也存储有上述明文和密文的映射关系,终端20接收到终端10发送的密文后,根据上述明文和密文的映射关系,确定该密文对应的明文,以获取明文形式的识别结果,当终端10传输给终端20的数据中包括用户1的声纹信息时,终端20还可以获取明文形式的声纹信息,从而实现解密。

在一些实施例中,终端20接收到终端10发送的密文后,也可以通过密文携带的标识确定相应的加密信息库,然后通过查询相应的加密信息库,获得该密文对应的明文,以实现解密。例如,终端20根据密文携带的标识,确定该密文为识别结果的密文,则终端20查询第一加密信息库中的第一映射关系,以对该密文进行解密,进而得到明文形式的识别结果。

s414:终端20根据识别结果进行语音合成,获得合成语音。

终端20根据识别结果进行语音合成的方式具体可以参见上述实施例中的s208,此处不再赘述。

s416:终端20播放合成语音。

终端20播放合成语音,以便终端20侧的用户2听到不包括任何背景噪音的用户1的语音,进而实现不包括任何噪音的实时语音通信。

基于上述内容描述,本申请实施例提供了一种语音处理方法。该方法中,终端10对传输给终端20的数据如识别结果和声纹信息进行加密得到密文,终端10将密文传输给终端20,进而提高传输的数据的安全性。即使不法分子截获该密文,也无法针对该密文进行解密,以获得终端10实际发送给终端20的数据。如此,该方法能够提高实时语音通信的安全性。

上文结合图1至图4对本申请实施例提供的语音处理方法进行了详细介绍,下面将结合附图对本申请实施例提供的装置、设备进行介绍。

参见图5所示的语音处理装置的结构示意图,该装置500包括:

采集单元502,用于采集用户的语音;

识别单元504,用于对所述用户的语音进行识别,获得识别结果,所述识别结果至少包括发音提示信息;

发送单元506,用于向接收端发送所述识别结果,以使所述接收端根据所述识别结果进行语音合成。

在一些可能的实现方式中,所述发送单元506,用于所述发送端向所述接收端发送所述识别结果以及所述用户的声纹信息。

在一些可能的实现方式中,所述发音提示信息包括音素;

所述识别单元504,用于通过声学模型对所述用户的语音进行识别,获得所述语音对应的所述音素。

在一些可能的实现方式中,所述识别单元504还通过所述声学模型获得所述语音对应的所述音素的发音时间或者是发音间隔时间,所述识别结果还包括所述发音时间或者所述发音间隔时间。

在一些可能的实现方式中,所述发音提示信息包括与所述语音具有相同发音的文本信息。

在一些可能的实现方式中,所述识别单元504,用于通过声学模型识别音素,然后通过语言模型解码音素得到所述文本信息。

在一些可能的实现方式中,所述装置还包括:

加密单元508,用于对所述识别结果加密;

所述发送单元506,用于向所述接收端发送加密后的所述识别结果。

在一些可能的实现方式中,所述装置还包括:

过滤单元510,用于根据所述用户的声纹信息对所述用户的语音进行过滤。

在一些可能的实现方式中,所述发送单元506,用于根据所述识别结果生成字符流,通过流式的顺序传输方式向所述接收端传输所述字符流。

根据本申请实施例的语音处理装置500可对应于执行本申请实施例中描述的方法,并且语音处理装置500的各个模块/单元的上述和其它操作和/或功能为了实现上述方法实施例中的方法的流程,为了简洁,在此不再赘述。

参见图6所示的语音处理装置的结构示意图,该装置600包括:

获取单元602,用于获取用户的语音的识别结果,所述识别结果至少包括发音提示信息;

合成单元604,用于根据所述发音提示信息进行语音合成,获得合成语音;

播放单元606,用于播放所述合成语音,以实现实时语音通信。

在一些可能的实现方式中,所述获取单元602,用于获取用户的声纹信息;

所述合成单元604,用于根据所述发音提示信息以及所述用户的声纹信息进行语音合成,获得合成语音。

在一些可能的实现方式中,所述发音提示信息包括音素;

所述合成单元604,用于根据所述发音提示信息合成初始语音,根据所述初始语音以及所述用户的声纹信息,获得与所述用户对应的合成语音。

在一些可能的实现方式中,所述识别结果还包括所述音素的发音时间或发音间隔时间;

所述合成单元604,用于根据所述音素的发音时间或所述发音间隔时间中的一个以及所述音素、所述用户的声纹信息进行语音合成。

在一些可能的实现方式中,所述发音提示信息包括与所述语音具有相同发音的文本信息。

在一些可能的实现方式中,所述文本信息由所述发送端通过声学模型识别音素,然后通过语言模型解码音素得到。

在一些可能的实现方式中,所述装置还包括解密单元608;

所述获取单元602,用于接收由所述发送端发送的加密后的所述识别结果;

所述解密单元608,用于从加密后的所述识别结果中解密出所述识别结果。

在一些可能的实现方式中,所述识别结果通过字符流形式传输;

所述合成单元604,用于按照所述字符流的顺序,根据所述发音提示信息以及所述用户的声纹信息进行语音合成。

根据本申请实施例的语音处理装置600可对应于执行本申请实施例中描述的方法,并且语音处理装置600的各个模块/单元的上述和其它操作和/或功能为了实现上述方法实施例中的方法的流程,为了简洁,在此不再赘述。

本申请实施例还提供了一种语音处理设备。该语音处理设备可以是终端10,该语音处理设备用于实现如图5所示实施例中语音处理装置500的功能。下面以终端10为例,对语音处理设备的硬件架构进行说明。

图7提供了一种终端10的结构示意图,如图7所示,终端10包括总线701、处理器702、通信接口703和存储器704。处理器702、存储器704和通信接口703之间通过总线701通信。

总线701可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器702可以为中央处理器(centralprocessingunit,cpu)、图形处理器(graphicsprocessingunit,gpu)、微处理器(microprocessor,mp)或者数字信号处理器(digitalsignalprocessor,dsp)等处理器中的任意一种或多种。

通信接口703用于和外部通信。例如通信接口703可以用于和终端20通信。通信接口用于向终端20发送识别结果,以便终端20根据该识别结果进行语音合成。

存储器704可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram)。存储器704还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器,硬盘驱动器(harddiskdrive,hdd)或固态驱动器(solidstatedrive,ssd)。

存储器704中存储有可执行代码,处理器702执行该可执行代码以执行前述实施例中语音处理方法。

具体地,在实现图5所示实施例的情况下,且图5实施例中所描述的语音处理装置500的各模块或单元为通过软件实现的情况下,执行图5中的各模块/单元功能所需的软件或程序代码可以部分或全部存储在存储器704中。处理器702执行存储器704中存储的各单元对应的程序代码,执行前述实施例中语音处理方法。

本申请实施例还提供了一种语音处理设备。该语音处理设备可以是终端20,该语音处理设备用于实现如图6所示实施例中语音处理装置600的功能。下面以终端20为例,对语音处理设备的硬件架构进行说明。

图8提供了一种第一语音处理设备的结构示意图,如图8所示,终端20包括总线801、处理器802、通信接口803和存储器804。处理器802、存储器804和通信接口803之间通过总线801通信。

通信接口803用于和外部通信。例如通信接口803可以用于和终端10通信。通信接口用于接收终端10发送识别结果,以便终端20根据该识别结果进行语音合成。

存储器804中存储有可执行代码,处理器802执行该可执行代码以执行前述实施例中语音处理方法。

具体地,在实现图6所示实施例的情况下,且图6实施例中所描述的语音处理装置600的各模块或单元为通过软件实现的情况下,执行图6中的各模块/单元功能所需的软件或程序代码可以部分或全部存储在存储器804中。处理器802执行存储器804中存储的各单元对应的程序代码,执行前述实施例中语音处理方法。

本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于语音处理装置500或语音处理装置600的语音处理方法。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。

所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。

所述计算机程序产品被计算机执行时,所述计算机执行本申请实施例中语音处理方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前本申请实施例中语音处理方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。

上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜