语音消息处理方法、装置、设备及介质与流程

文档序号:25082360发布日期:2021-05-18 13:01阅读:117来源:国知局

1.本申请一般涉及计算机技术领域,尤其涉及语音消息处理方法、装置、设备及介质。


背景技术:

2.在互联网的各种社交软件中,语音消息作为最基本的沟通方式,是使用最普遍的信息载体。每个终端设备在录制生成语音消息时,由于所处的声学环境不同,使得产生的语音消息的噪声及音量不同。
3.终端设备在接收到不同用户发送的语音消息后,响应用户操作指令,或者按照时间顺序对语音消息进行语音增强处理,然后将处理完的语音消息进行播放。
4.对于来自不同消息发送者的语音消息,由于其所处的声学环境不同,使得在同一终端设备上进行语音增强处理后的语音消息播放过程中,不同消息发送者之间的语音消息切换时,出现背景噪声忽大忽小,导致用户体验不佳。


技术实现要素:

5.鉴于现有技术中的上述缺陷或不足,期望提供一种语音消息处理方法、装置、设备及介质,通过根据消息发送者的对语音消息进行归类,以对归类后的语音消息串进行降噪处理,得到与语音消息串所包含的语音消息对应的降噪参数,以使得连续播放降噪处理后的语音消息前,能够读取预先得到的降噪参数,对语音消息进行有效的降噪处理,避免了背景噪声忽大忽小的问题。
6.第一方面,本申请实施例提供了一种语音消息处理方法,该方法包括:
7.接收至少两个消息发送者发送的至少两条语音消息;
8.将该语音消息进行归类处理,得到与该消息发送者相对应的语音消息串;
9.对该语音消息串进行降噪处理,得到与该语音消息串所包含的语音消息对应的降噪参数。
10.第二方面,本申请实施例提供了一种语音消息处理装置,该装置包括:
11.接收模块,用于接收至少两个消息发送者发送的至少两条语音消息;
12.归类模块,用于将该语音消息进行归类处理,得到与该消息发送者相对应的语音消息串;
13.降噪模块,用于对该语音消息串进行降噪处理,得到与该语音消息串所包含的语音消息对应的降噪参数。
14.第三方面,本申请实施例提供一种处理设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述第一方面所述的方法。
15.第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于实现如上第一方面所述的方法。
16.本申请实施例提供的语音消息处理方法、装置、设备及介质,终端设备在接收到不同的消息发送者发送的语音消息后,对语音消息进行归类,得到与消息发送者的对应的语音消息串,进而对语音消息串中的语音消息进行降噪处理,得到与语音消息串所包含的语音消息对应的降噪参数,从而使得终端设备在准备连续播放语音消息时,能够读取预先得到的待播放语音消息的降噪参数,对待播放语音消息直接进行降噪处理,避免了针对每条语音消息初始化降噪算法,导致降噪效果不佳,噪声忽大忽小的问题,实现了语音消息的统一处理,提高了用户体验。
附图说明
17.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
18.图1所示为本申请实施例的语音消息处理方法的流程示意图;
19.图2所示为本申请实施例的语音消息归类方法的流程示意图;
20.图3所示为本申请实施例的语音消息拼接的原理示意图;
21.图4所示为本申请实施例的语音消息降噪处理方法的流程示意图;
22.图5所示为本申请实施例的语音消息音量调节方法的流程示意图;
23.图6所示为本申请再一实施例的语音消息处理方法的流程示意图;
24.图7所示为本申请实施例的语音消息处理装置的结构示意图;
25.图8为本申请实施例的处理设备的计算机处理设备的结构示意图。
具体实施方式
26.下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关公开,而非对该公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与公开相关的部分。
27.需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
28.基于ip的语音传输(voice over internet protocol,voip)是一种基于ip网络的语音通话技术,即具有数据处理能力的硬件终端设备在发送语音消息时,通过语音的压缩算法把语音数据进行编码压缩处理后,按照网络传输协议标准进行打包,经过ip网络把语音数据包发送到目的ip地址的接收终端。接收终端再把语音数据包解析并压缩处理后,得到原始的语音消息,最后通过调用底层的声卡进行播放。
29.本申请中的语音消息可以为录制的持续一定时间的语音数据,一条语音消息可以持续1s或更长的时间。用户在通讯过程中,可以连续发送一条或多条语音消息;或者,两条语音消息之间间隔相当的时间段,如半个小时,或者两个小时等。
30.该终端设备可以为智能手机、平板电脑或者计算机等具有语音消息处理、发送及接收功能的硬件。该终端设备中运行有处理器,该处理器可以实现语音消息的录制、发送及接收,并可以对录制或接收到的语音消息进行处理。
31.例如,在微信或qq等即时通讯的场景下,多个用户的集群式的聊天群中,每个用户可以作为消息发送者,间断或持续发送语音消息。如对于多人的聊天群,每个用户与聊天群
中的另一方,或者与聊天群中的其他所有用户进行沟通和交流,如语音聊天。即每个用户的终端设备可以作为语音消息的发送终端,也可以作为语音消息的接收终端。不同用户的终端设备将产生的语音消息,基于ip网络进行传输,使得该聊天群里所有的终端设备能够接收到其他不同终端设备发送的语音消息,进而经过解码处理,进行播放。
32.可以理解,该即时通讯软件对应的服务器中存储有每个聊天群中每个用户的账号信息,如每个聊天群的群成员列表。
33.还可以理解,在终端设备接收到语音消息,通常响应用户的播放指令,按照顺序进行播放至少两条语音消息时,依次提取待播放的某条语音消息的语音压缩码流,经过解压得到对应的pcm语音数据。然后调用语音增强算法,如降噪算法(ns)和音量调节算法(agc),对每条语音消息进行降噪处理和音量调节处理。对一条语音消息语音增强处理完毕后,关闭ns及agc,在处理下一条语音消息时,重新开启。最后将处理后的pcm语音数据存储播放缓存,则设备底层声卡读取后发出声音。
34.可以理解,在上述即时通讯场景下的语音消息,大部分持续时间较短,而语音增强算法,如降噪算法和音量调节算法,执行过程通常需要有一段算法收敛时间,如1~2秒。并且,在语音消息播放过程中,每条语音消息做独立的语音增强处理,使得每次语音增强处理都需要重新经历算法收敛的过程。从而导致在算法收敛期间,ns及agc的处理效果不佳,残留较多的噪声,使得播放时噪声和音量忽大忽小。
35.另外,上述场景下的语音消息,大部分的语音消息来源不同,即来自不同的用户,即消息发送者,而不同的消息发送者的所处的声学环境有差异,且不同消息发送者的发声行为特点有差异。同时,降噪算法是基于噪声相对平稳,且语音具有短时平稳特征为本质特征下,进行区分噪声和正常语音,并对辨识到的噪声进行抑制的语音处理方法。因此,在播放语音消息过程,当在不同消息发送者间切换,则噪声特性就表现为不稳定,使得降噪算法效果不佳,使其失去应有的降噪能力。
36.本申请实施例考虑到降噪算法的自身特点,结合即时通讯过程中产生的语音消息的持续时间短,且至少同一个消息发送者在持续发送多条语音消息过程中所处的声学环境相对稳定,说话人的发声行为(如说话音量、距离手机麦克风距离角度等)特点相对稳定,在接收到语音消息后,首先分析接收到的语音消息,进而根据分析结果,对语音消息归类,得到与消息发送者相对应的语音消息串,然后对语音消息串进行降噪处理,得到语音消息串中每条语音消息串对应的降噪参数,使得终端设备准备连续播放预先处理过的语音消息时,能够读取预先计算得到的降噪参数,对待播放的语音消息直接进行降噪处理,使得降噪算法发挥稳定的效果,提高降噪效果,避免了针对每条待播放的语音消息执行降噪算法的初始化引起的收敛耗时,提升了用户体验。
37.为了便于理解和说明,下面通过图1至图8详细阐述本申请实施例提供的语音消息处理方法、装置、设备及介质。
38.图1为本申请实施例的语音数据处理方法的流程示意图,该方法由上述终端设备执行,包括:
39.s110,终端设备接收至少两个消息发送者发送的至少两条语音消息。
40.s120,终端设备将语音消息进行归类处理,得到与消息发送者对应的语音消息串。
41.具体的,本申请实施例中,在多个用户作为消息发送者参与的语音消息传输过程
中,每个终端设备可以接收到不同的用户发送的至少一条语音消息。进一步,终端设备可以分析每条语音消息,进而根据分析结果,对语音消息进行归类,得到至少一个语音消息串,即得到消息发送者对应的语音消息串。
42.可选的,如图2所示,在一种实施例中,终端设备接收到不同消息发送者发送的语音消息后,对语音消息的归类,具体可以包括:
43.s121,终端设备按照归类标识将该语音消息进行归类,得到与每个归类标识相对应的语音消息集合。
44.具体的,终端设备在接收到不同消息发送者发送的语音消息时,首先可以识别每条语音消息的归类标识,继而按照识别到的归类标识将语音消息进行归类,以得到与每个归类标识相对应的语音消息集合。
45.例如,终端设备对于接收到的语音消息的归类,可以按照不同的用户将语音消息进行分类,如按照语音消息中携带的表示用户身份的标识进行归类,得到每个用户对应的语音消息集合。此时,该归类标识为用户标识。
46.可以理解,在即时通讯的软件的多用户参与的聊天群运行过程中,每个终端设备存储有所建立的聊天群中其他所有用户的用户标识。该用户标识可以为登录账号或电话号码等,能够表示发送者的身份的标识。同时,终端设备按照用户标识,存储有其他所有用户的语音消息,所存储的每个用户的语音消息可以作为一个语音消息集合,即终端设备中存储所建立的聊天群中其他所有用户对应的语音消息集合。
47.又例如,终端设备对于接收到的语音消息的归类,还可以按照发送语音消息的用户所处的场景来归类,如按照语音消息对应的基于位置的服务(lbs)信息进行分类,从而可以得到不同场景下的语音消息集合,如办公室、餐厅及市场等不同的场景下的语音消息集合。此时,该归类标识为场景标识。
48.该场景标识可以表示消息发送者发送语音时所处的场景,该场景标识可以通过语音消息中携带的lbs来确定,也可以通过分析语音消息中的噪声的大小来确定。
49.可以理解,每个终端设备存储有预先定义的多个场景标识。则即时通讯的软件的多用户参与的聊天群运行过程中,终端设备按照场景标识,存储有接收到的其他所有用户的语音消息,所存储的每个场景标识对应的语音消息可以作为一个语音消息集合,即终端设备中存储每个场景标识对应的语音消息集合。
50.例如,在微信或qq等即时通讯的场景下,多个用户组成的集群式的聊天群中,每个用户将产生的语音消息,基于ip网络进行传输,使得某个终端设备接收到该聊天群中其他不同的用户(消息发送者)发送的语音消息后,根据语音消息中携带的用户标识或,通过分析得到的场景标识来确定每条语音消息的来源,然后将确定来源的语音消息归类到对应的语音消息集合中,以得到聊天群中其他所有用户的语音消息集合。
51.s122,终端设备对每个语音消息集合所包含的语音消息进行脉冲调制解码处理,得到与每条语音消息相对应的多个点信号。
52.s123,终端设备对经过脉冲调制解码处理后的每个语音消息集合进行拼接处理,得到与每个归类标识相对应的语音消息串。
53.具体的,在确定了语音消息的消息发送者后,将该语音消息归类到对应的语音消息集合后,可以对该语音消息进行脉冲调制解码处理,得到语音消息对应的pcm数据,即得
到与每条语音消息相对应的多个点信号。
54.进一步,为了让语音增强算法能够持续处理多条语音消息,可以对经过脉冲调制解码处理后的语音消息集合中的多条语音消息,即相同消息发送者的语音消息或者相同场景标识的语音标识进行拼接,得到与每个归类标识相对应的语音消息串,以将该语音消息串作为处理对象,进行降噪处理。
55.可选的,对于相同归类标识的语音消息的拼接,可以将语音消息集合中时间上相邻的两条语音消息进行拼接,以得到语音消息串,如对某个语音消息集合中的第m条语音消息与第m+1条语音消息进行拼接。
56.进一步的,为了保证拼接后的两条语音消息具有很好的连贯性,避免产生杂音,进而影响降噪效果,对于相邻两条语音消息的拼接,可以利用淡入淡出的拼接算法。
57.例如,对于某个语音消息集合中的第m及第m+1条语音消息的拼接,首先可以分别对第m条语音消息的结尾部分的n个点信号,第m+1条语音消息的开始部分的n个点信号进行加窗处理;然后将加窗处理后的结果进行算术加处理,最后对算术加处理的结果进行限制处理后,得到与每个场景标识或每个用户标识相对应的语音消息串。n及m的取值为自然数。
58.假如第m条语音消息的结尾部分第i个点处的点信号x1(i),i=1~n,及第m+1条语音消息的起始部分第i个点处的点信号表示x2(i),i=1~n,将这两部分的数据进行拼接,具体可以利用如图3所示的hanning窗实现,拼接后的结果为x(i),i=1~n。
59.具体可以用如下公式表示:
[0060][0061]
x=x1(i)*hanning(i)+x2(i)*hanning(n-i),i=1~n
[0062][0063]
其中,上述的x(i)表示语音消息中第i个点处的点信号。
[0064]
可以理解,上述对于加窗处理后的语音信号值,即x值的上下限的限值,避免了超出正常范围。
[0065]
可以立即,上述的拼接方法只是示例性说明,本申请对此不作限制。
[0066]
s130,终端设备对语音消息串进行降噪处理,得到与语音消息串所包含的语音消息对应的降噪参数,并存储。
[0067]
具体的,在对接收到的语音消息进行归类、解码及拼接处理,得到每个归类标识对应的语音消息串后,可以调用降噪算法对拼接后的语音消息串进行降噪处理,得到语音消息串中语音消息的降噪参数,并存储。
[0068]
可选的,在一种实施例中,得到的降噪参数可以为某个语音消息串中所有或多条语音消息的降噪参数,即语音消息串中,噪声特点类似的所有语音消息或多条语音消息,对应存储一个降噪参数,作为后续准备播放这些语音消息时,降噪参数的初始值。
[0069]
可选的,在另一种实施例中,通过对每个用户标识或场景标识对应的语音消息串进行降噪处理后,可以得到每个语音消息串中每条语音消息的降噪参数,即每条语音消息,对应存储有其自身的降噪参数。
[0070]
进一步,在该实施例中,每条语音消息的降噪参数可以根据与之对应的语音消息所包含的第一个数据帧计算得到。
[0071]
可以理解,对于归类后的消息串中的语音消息对应的降噪参数的指定,可以根据实际情况确定,本申请对此不做限制。
[0072]
在该实施例中,对于每条语音消息的降噪参数的存储,可以根据语音消息的消息标识进行存储。
[0073]
可选的,如图4所示,在一种实施例中,对于语音消息串的降噪处理,具体可以通过如下步骤实现:
[0074]
s131,终端设备对语音消息串所包含的第m条语音消息进行降噪处理,得到所述第m条语音消息的最后一个数据帧的降噪参数;
[0075]
s132,终端设备将该降噪参数作为第m+1条语音消息的第一个数据帧的降噪参数的初始值。
[0076]
具体的,可以调用降噪算法对语音消息串中的每条语音消息包含的每个数据帧进行降噪处理,并在处理过程中,不断更新降噪算法的降噪参数,使得该降噪算法能够继承前一个数据帧的降噪参数,依次完成语音消息串中所有数据帧的降噪处理。即在处理完某个数据帧时,将处理该数据帧得到的降噪参数,赋值给后一个数据帧的降噪参数,以作为处理后一数据帧的降噪算法的初始值,依次对该语音消息串中的每个数据帧进行降噪处理。
[0077]
可以理解,在上述的处理方式中,当对语音消息串所包含的第m条语音消息的每个数据帧进行降噪处理,得到该第m条语音消息的最后一个数据帧的降噪参数后,可以将该降噪参数作为第m+1条语音消息的第一个数据帧的降噪参数的初始值,直接进行降噪处理。m的取值为自然数。
[0078]
本申请实施例中,处理完第m+1条语音消息的第一条语音消息,即以第m条语音消息的最后一个数据帧的降噪参数作为初始值,对第m+1条语音消息的第一个数据帧进行降噪处理,更新降噪参数。则更新后的降噪参数作为该条语音消息的降噪参数,进行保存,以供播放该语音消息时,可以读取存储的该降噪参数,直接代入到降噪算法中,进行降噪处理,而不会重新初始化降噪算法。
[0079]
进一步的,在处理完第m+1条语音消息的第一个数据帧后,可以继续处理该语音消息后面的数据帧,即后一个数据帧继承前一个数据帧的降噪参数,作为降噪算法的初始值,依次完成所有数据帧的降噪处理。
[0080]
可以理解,当语音消息集合中第m+1条语音消息为目前的最后一条语音消息,则处理完第m+1条语音消息串的最后一个数据帧,如处理完某个用户标识或场景标识对应的语音消息集合中的最后一条语音消息后,且没有接收到该用户标识或场景标识对应的消息发送者的语音消息时,则暂时将该语音消息的最后一个数据帧对应的降噪参数进行保存,以供接收到该消息发送者或该场景的下一条语音消息后,作为处理下一条语音消息的第一个数据帧的降噪参数,以将每个消息发送者的所有语音消息作为一个语音消息串进行统一处理。
[0081]
可以理解,在多个用户参与的聊天群运行的过程中,每个终端设备中存储有该聊天群中其他用户发送的上一条语音消息的最后一个数据帧对应的降噪参数,或者存储每个场景下的最后一个数据帧的降噪参数,以作为下一条语音消息的降噪处理的初始值。
[0082]
可选的,在一种实施例中,终端设备中可以创建一个用户的降噪参数列表,如某个即时通讯软件中,针对每个用户发送的语音消息,在预先处理后,可以为每个用户创建一个降噪参数表,以更新缓存每个用户发送的每条语音消息的第一个数据帧的降噪参数。该降噪参数表中,每个降噪参数与消息标识一一对应。
[0083]
或者,在另一个实施例中,为每个场景创建一个降噪参数列表,同样的,列表中降噪参数表与消息标识一一对应。
[0084]
可选的,该降噪算法中的降噪参数,可以为在频域上各频点的噪声估计值等各算法参数。本申请不做限制。
[0085]
进一步,在按照用户标识对语音消息进行归类时,考虑到实际中,发送语音消息的用户,即消息发送者,在一段时间后,可能发生位置的变化,如早上处于安静的办公室,而在几个小时之后,可能处于嘈杂的公共场所。因此,本申请实施例根据消息发送者对语音消息进行拼接,以继承上一个数据帧对应的降噪参数时,需要考虑接当前接收到的语音消息与上一条语音消息是否处于相同的声学环境,以确定是否可以继承上一条语音消息的处理后的降噪参数,从而确定是否对接收到的语音消息的进行拼接。
[0086]
例如,如果确定当前接收到的语音消息与上一条语音消息处于相同的声学环境,则进行拼接,以继承上一条语音消息的降噪参数,即可以将上一条语音消息的降噪参数作为处理该语音消息的初始值;否则,当前接收到的语音消息作为新的语音消息串的第一个数据帧,则在降噪处理时,需要重新初始化降噪算法,以确定新的声学环境中的语音消息串的降噪参数。
[0087]
具体的,可以在终端设备中设置一个时间段,以确定该时间段对应的一段时间内的用户所处的声学环境不变,即当前接收到的语音消息与上一条语音消息处于相同的声学环境。该预设时间段可以表示上一条语音消息与当前的语音消息之间的时间间隔的长度,如设置为两个小时,或者4个小时等。或者,该预设时间段表示为接收到的当前的语音消息是否与上一条语音消息处于相同的时间段,该预设时间段为一天当中固定的时段,如早上、中午、下午、傍晚及晚上等对应的固定时段,以将每天划分成几个固定的时间段。可以理解,该时间段的设置可以根据实际情况灵活调节,本申请对此不做限制。
[0088]
可选的,对于预设时间段的设置,可以为每个用户单独设置一个时间段,如针对不同的用户工作生活习惯,为每个用户设置不同的时间段,以监测每个消息发送者的当前的语音消息与上一条语音消息是否处于相同的声学环境中。或者,也可以针对该即时通讯软件,为所有的用户统一设置。如设置为2个小时,当当前语音消息与下一条语音消息的间隔的时长在不大于2个小时,对当前的语音消息的处理,可以继承上一条语音消息的降噪参数。否则,表示该用户的声学环境发生了变化,则需要初始化该语音增强算法,重新收敛,确定新的降噪参数。
[0089]
例如,本申请实施例中,假设所建立的聊天群中有三个用户,如用户a、用户b及用户c,降噪算法一次处理的数据帧的长度为20ms。则在处理开始时,每个用户首次发语音消息,其他的终端设备将接收到的语音消息,按照携带的用户标识,来确定消息发送者。假如用户a的终端设备接收到用户b发送的长度为1s的语音消息,则根据语音消息中携带的用户标识,确定该语音消息的消息发送者为用户b。由于该语音消息是用户b的第一条语音消息,则终端设备开启ns算法,对该语音消息的第一个长度为20ms的数据帧进行降噪处理,即首
先对ns算法进行初始化,以对该算法进行收敛,并在处理完第一个数据帧后,更新降噪算法的降噪参数。进而处理该语音消息中的第二个20ms的数据帧,此时,继续上一数据帧的处理结果,利用上一数据帧计算等得到的降噪参数,作为处理第二个数据帧的降噪参数的初始值,对第二个数据帧进行降噪处理,并在处理完成后,对ns算法的降噪参数进行更新,以对第三个数据帧做处理,直至第一条语音消息处理完成。
[0090]
可以理解,当用户a的终端设备第一次接收到用户c的语音消息时,同样识别该消息发送者c,即为用户c创建一个存储空间,以存储用户c发送的未播放的每条语音消息的第一个数据帧的降噪参数。
[0091]
进一步的,当用户a的终端设备接收到用户b发送的第二条语音消息,并确定了消息发送者后,可以判断用户b的该第二条语音消息与第一条消息是否处于一个时间段,如距离接收到用户b的第一条语音消息的时长是否不超过预设时间段,或者,按照划分的时间段,是否处于相同的时间段。
[0092]
当判断不属于同一个时间段时,如确定间隔的时长大于预设时长,则说明用户b的声学场景发生了变化,则可以重新初始化ns算法。
[0093]
当判断确定用户b的第二条语音消息与其第一条语音消息处于同一个时间段,说明用户b的声学环境没有发生变化。则将第一条语音消息的最后一个数据帧与第二条语音数据的第一个数据帧进行拼接,即将第一条语音消息的第50个数据帧与第二条语音消息的第一个数据帧进行拼接,然后将作为语音消息串的第51个数据帧进行降噪处理。即将通过第一条语音消息的第50个数据帧降噪处理后,对应的降噪参数作为处理第二条语音消息的第一个数据帧(第51个数据帧)的降噪参数的初始值,并在对第51个数据帧处理后,更新降噪算法的降噪参数。
[0094]
进一步,处理完的第二条语音消息的第一个数据帧(第51个数据帧)后,更新后的降噪参数作为第二条语音消息的降噪参数,进行保存,以供后续播放该语音消息时使用。
[0095]
可以理解,在处理完成第二条语音消息的第一个数据帧后,与上述同样的方法,依次处理该第二条语音消息的所有数据帧。如果接收到了一个处于同一时间段内的第三条语音消息,则将第二条语音消息中的最后一个数据帧与第三条语音消息的第一个数据帧进行拼接,以对该第三条语音消息进行处理,即将该用户处于相同声学环境的所有语音消息作为一个整体的语音消息串进行处理,并保存处理完每条语音消息中的第一个数据帧后的降噪参数,作为对应的语音消息的降噪参数,以供后续播放该语音消息时作为降噪算法的初始值,从而避免了针对每条语音消息,重新初始化降噪算法,导致降噪效果不佳。
[0096]
本申请实施例提供的语音消息处理方法,接收终端在接收到语音消息后,按照消息发送者或者消息发送者的所处场景将该语音消息进行归类,得到与消息发送者的对应的语音消息串,进而对语音消息串中的语音消息进行降噪处理,计算得到对应的降噪参数,从而使得接收终端在准备连续播放多条语音消息指令时,能够读取预先得到的降噪参数,作为降噪处理的初始值直接进行降噪处理,避免了针对每条语音消息初始化降噪算法,导致降噪效果不佳,噪声忽大忽小的问题,实现了语音消息的统一处理,提高了用户体验。
[0097]
另一方面,在终端设备对接收到的聊天群中不同用户的语音消息,将每个消息发送者的语音消息,或者将一个场景下的语音消息作为一个整体,进行降噪处理,并保存对应的降噪参数后,当准备连续播放在接收时间上相邻的,经过上述降噪处理后的至少两条语
音消息时,可以在解码语音消息后,调用ns算法,读取存储的降噪参数,直接对语音消息进行降噪处理时,以快速高效的做ns降噪处理,从而避免了连续播放时,针对每条语音消息,进行ns算法的重新初始化。
[0098]
可以理解,在播放语音消息过程中,待播放的语音消息是聊天群中的接收时间上相邻的至少两条语音消息,并且是通过上述实施例降噪处理后的,即在经过对语音消息串中的每条语音消息进行降噪处理后,准备播放时,是按照时间顺序来连续播放的至少两条语音消息。
[0099]
具体的,如图1所示,该方法还包括:
[0100]
s140,终端设备读取连续待播放的语音消息对应的降噪参数;
[0101]
s150,终端设备基于降噪参数,依次对与读取的降噪参数对应的连续待播放的每条语音消息进行降噪处理。
[0102]
具体的,当在聊天群中的某个终端设备接收到语音消息后,可以在即时通讯界面内显示语音消息的通知图标。则其用户需要听取语音时,可以点击该图标,以播放该语音消息。该终端设备可以响应该用户的播放指令,按照顺序,连续解码待播放的语音消息,得到待播放的语音消息对应的pcm数据,进而调用降噪算法ns,并读取预先计算并存储的该语音消息的降噪参数,如根据待播放的语音消息的消息标识读取预先存储的降噪参数,以将该降噪参数作为降噪算法的初始值,对连续的至少两条语音消息进行降噪处理,从而避免了在播放语音消息,每次调用降噪算法时,对降噪算法重新进行初始化。
[0103]
进一步的,在本申请的中,在对待播放的语音消息降噪处理完成后,该方法还包括:
[0104]
s160,终端设备对连续待播放的每条语音消息进行音量调节处理。
[0105]
具体的,对于利用降噪算法降噪后语音消息的pcm数据,可以进一步调用音量调节算法进行音量调节处理。
[0106]
可选的,在一种实施例中,对于降噪处理后的语音消息的pcm数据的音量调节,如图5所示,具体可以采用如下方法:
[0107]
s161,终端设备读取与第l条语音消息的最后一个数据帧相对应的音量调节参数。
[0108]
s162,终端设备将该音量调节参数作为第l+1条语音消息的第一个数据帧的初始音量调节参数,利用该初始音量调节参数对该第l+1条语音消息所包含的数据帧进行音量调节处理,得到与该第l+1条语音消息的最后一个数据帧相对应的音量调节参数。
[0109]
s163,终端设备存储与所述第l+1条语音消息的最后一个数据帧相对应的音量调节参数。
[0110]
具体的,对于语音消息进行音量调节时,同样可以继承前期的处理结果,对语音消息中的每个数据帧进行音量调节处理,即可以利用处理第l条语音消息时的最后一个数据帧得到的音量调节参数,对下一条语音消息,即l+1条的第一个数据帧进行音量调节处理。
[0111]
可以理解,该音量调节处理的对象是第二次降噪处理后的语音消息,而第二次降噪处理的语音消息是待播放的连续的至少两条语音消息,实施例中第l条语音消息是终端设备待播放的或者已经播放完成的语音消息,第l+1条语音消息是终端设备待播放的语音消息。
[0112]
例如,在微信或qq即时通讯软件中,当某个终端设备的用户想听取某条语音消息,
或者想连续听取多条连续的语音消息时,可以点击某条语音消息的图标。则终端设备响应该操作,首先读取预先存储的一条或连续的多条语音消息的降噪参数,对待播放的语音消息进行降噪处理。在降噪处理后,调用音量调节算法,同时读取处理完成后的上一条语音消息的最后一个数据帧的音量调节参数,作为处理待播放的第一条语音消息的第一个数据帧的音量调节参数,对待播放的语音消息进行音量调节。最后,可以继承前一个数据帧的音量调节参数,依次处理完该语音消息的每个数据帧。并将完成音量调节后的pcm数据存储播放缓存,以使得该终端设备的底层声卡读取后发出声音,进行该语音消息的播放。
[0113]
进一步,在本申请实施例中,每条语音消息音量调节处理结束时,保存处理最后一个数据帧得到的音量调节参数,作为下一条语音消息的第一个数据帧的音量调节算法,即准备播放下一条语音消息时,调用agc算法的时候继续使用,从而避免了agc算法重新收敛的过程导致的语音忽大忽小的问题。
[0114]
本申请实施例提供的语音消息播放方法,在终端设备接收到用户的播放指令后,按照顺序准备连续播放语音消息时,读取预先得到的至少两条语音消息对应的降噪参数,以利用降噪参数进行降噪处理,进而读取预先存储的所处理的上一条语音消息的最后一个数据帧对应的音量调节参数,以利用该音量调节参数,完成对连续播放的语音消息的音量调节,并保存最后一条语音消息的最后一个数据帧对应的音量调节参数,以对作为处理下一条语音消息的音量调节算法的初始值,从而避免了对每条语音消息进行语音增强处理时,降噪算法和音量调节算法的重新收敛过程,避免了降噪算法及音量调节算法重新收敛的过程导致的噪声及音量忽大忽小的问题,保证了对每条语音消息播放的质量,提升了用户体验。
[0115]
为了更好的理解本申请实施例的语音消息的处理及播放,下面通过图6详细解释针对某条语音消息的整个处理过程。
[0116]
如图6所示为本申请实施例的再一实施例的语音消息处理方法的流程示意图,如图6所示,在终端设备进行语音消息处理过程中,在包括多个用户的聊天群的场景下,多个不同的消息发送者连续发送语音消息时,终端设备接收到语音消息后,无论终端设备的用户是否需要收听语音消息,即可对接收到的每一条语音消息进行提前降噪处理,即首先根据消息发送者,对接收到的语音消息进行归类拼接,以将每个消息发送者的语音消息,或将每个场景中的语音消息作为一个整体语音消息串进行降噪处理,使得语音消息串中的下一数据帧继承前一个数据帧对应的降噪参数,提高降噪处理效果。并将通过每条语音消息的第一个数据帧计算得到的降噪参数作为该条语音消息的降噪参数,进行保存。则当接收用户需要接听连续的至少两条条语音消息时,如点击某条语音消息对应的图标,使得终端设备在按照接收时间顺序对至少两条语音消息进行连续播放时,能够在调用降噪算法的同时,读取预先存储的待播放的语音消息的第一个数据帧对应的降噪参数,直接作为降噪处理的初始值,进行降噪处理,进而调用音量调节算法,读取预先存储的音量调节算法的音量调节参数,直接作为音量调节处理的初始值,避免了语音增强算法的不断初始化引起的噪声及音量忽大忽小的问题。最后,可以将音量调节完后,该语音消息对应的音量调节算法的音量调节参数进行更新存储。
[0117]
可以理解,终端设备对接收到的语音消息的提前处理是先于语音消息播放,使得在连续播放语音消息时,都能够读取预先存储的该语音消息的降噪算法的状态参数,避免
对降噪算法的重新初始化,避免了播放过程中噪声及音量忽大忽小的问题。
[0118]
另一方面,如图7所示,本申请实施例提供了一种语音消息处理装置,该装置700包括:
[0119]
接收模块710,用于接收至少两个的消息发送者发送的至少两条语音消息;
[0120]
归类模块720,用于将该语音消息进行归类处理,得到与该消息发送者相对应的语音消息串;
[0121]
预降噪模块730,用于对该语音消息串进行降噪处理,得到与该语音消息串所包含的语音消息对应的降噪参数。
[0122]
可选的,本申请实施例提供的语音消息处理装置,得到的降噪参数为与所述语音消息串所包含的语音消息一一对应的降噪参数。
[0123]
可选的,本申请实施例提供的语音消息处理装置,所述降噪参数是根据与之对应的语音消息所包含的第一个数据帧计算得到的。
[0124]
可选的,本申请实施例提供的语音消息处理装置,每条语音消息包括多个数据帧,则预降噪模块730包括:
[0125]
预降噪单元731,用于对语音消息串所包含的第m条语音消息进行降噪处理,得到该第m条语音消息的最后一个数据帧的降噪参数,m的取值为自然数;
[0126]
赋值单元732,用于将该降噪参数作为第m+1条语音消息的第一个数据帧的降噪参数的初始值。
[0127]
可选的,本申请实施例提供的语音消息处理装置,归类模块720包括:
[0128]
归类单元721,用于按照归类标识将所述语音消息进行分类,得到与每个归类标识对应的语音消息集合;
[0129]
解码单元722,用于对每个语音消息集合所包含的语音消息进行脉冲调制解码处理,得到与每条语音消息相对应的多个点信号;
[0130]
拼接单元723,用于对经过脉冲调制解码处理后的每个语音消息集合进行拼接处理,得到与每个归类标识相对应的语音消息串。
[0131]
可选的,本申请实施例提供的语音消息处理装置,所述归类标识为用户标识,归类单元721具体用于:
[0132]
按照用户标识将所述语音消息进行归类处理,得到与每个用户标识对应的语音消息集合。
[0133]
可选的,本申请实施例提供的语音消息处理装置,所述归类标识为场景标识,归类单元721具体用于:
[0134]
按照场景标识将所述语音消息进行归类处理,得到与每个场景标识对应的语音消息集合。
[0135]
可选的,本申请实施例提供的语音消息处理装置,拼接单元723具体用于:
[0136]
分别对第m条语音消息的结尾部分的n个点信号,第m+1条语音消息的开始部分的n个点信号进行加窗处理,n的取值为自然数,m的取值为自然数;
[0137]
将该加窗处理后的结果进行算术加处理;
[0138]
对算术加处理的结果进行限制处理后,得到与每个归类标识相对应的语音消息串。
[0139]
可选的,本申请实施例提供的语音消息处理方法,该装置还包括:
[0140]
读取模块740,用于读取待播放的相邻所述语音消息对应的所述降噪参数;
[0141]
降噪模块750,用于基于所述降噪参数,依次对与读取的所述降噪参数对应的待播放的语音消息进行降噪处理。
[0142]
可选的,本申请实施例提供的语音消息处理装置,还包括:
[0143]
音量调节模块760,用于对相邻的语音消息进行音量调节处理。
[0144]
可选的,本申请实施例提供的语音消息处理装置,音量调节模块760包括:
[0145]
读取单元761,用于读取与第l条语音消息的最后一个数据帧相对应的音量调节参数;
[0146]
调节单元762,用于将该音量调节参数作为第l+1条语音消息的第一个数据帧的初始音量调节参数,利用该初始音量调节参数对该第l+1条语音消息所包含的数据帧进行音量调节处理,得到与该第l+1条语音消息的最后一个数据帧相对应的音量调节参数;
[0147]
存储单元763,用于存储与该第l+1条语音消息的最后一个数据帧相对应的音量调节参数。
[0148]
可选的,本申请实施例提供的语音消息处理装置,还包括存储模块770,具体用于:
[0149]
根据每条语音消息的消息标识存储对应的降噪参数。
[0150]
另一方面,本申请实施例提供的处理设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上所述的语音数据处理方法。
[0151]
下面参考图8,图8为本申请实施例的处理设备的计算机处理设备的结构示意图。
[0152]
如图8所示,计算机处理设备300包括中央处理单元(cpu)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储部分303加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram 303中,还存储有处理设备300操作所需的各种程序和数据。cpu 301、rom 302以及ram 303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
[0153]
以下部件连接至i/o接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至i/o接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
[0154]
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分303从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(cpu)301执行时,执行本申请的处理设备中限定的上述功能。
[0155]
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不
限于——电、磁、光、电磁、红外线、或半导体的处理设备、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行处理设备、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行处理设备、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0156]
附图中的流程图和框图,图示了按照本申请各种实施例的处理设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的处理设备来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0157]
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器,包括:接收模块、归类模块及降噪模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,降噪模块还可以被描述为“用于对所述语音消息串进行降噪处理,得到与所述语音消息串所包含的语音消息对应的降噪参数,并存储”。
[0158]
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的语音消息处理方法:
[0159]
接收至少两个消息发送者发送的至少两条语音消息;
[0160]
将所述语音消息进行归类处理,得到与所述消息发送者相对应的语音消息串;
[0161]
对所述语音消息串进行降噪处理,得到与所述语音消息串所包含的语音消息对应的降噪参数,并存储。
[0162]
综上所述,本申请实施例提供的语音消息处理方法、装置、设备及介质,接收终端在接收到不同的消息发送者发送的语音消息后,对语音消息进行归类,得到与消息发送者的对应的语音消息串,进而对语音消息串中的语音消息进行降噪处理,得到与语音消息串
所包含的语音消息对应的降噪参数,从而使得接收终端在准备连续播放语音消息时,能够读取预先得到的待播放语音消息的降噪参数,对待播放语音消息直接进行降噪处理,避免了针对每条语音消息初始化降噪算法,导致降噪效果不佳,噪声忽大忽小的问题,实现了语音消息的统一处理,提高了用户体验。
[0163]
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1