语音信号处理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:32915107 阅读:41 留言:0更新日期:2022-04-07 12:06
本公开公开了一种语音信号处理方法、装置、电子设备及可读存储介质,涉及计算机技术领域,尤其涉及语音技术领域。具体实现方案为:在接收到SFU服务器发送的至少两路语音信号时,将与各路语音信号对应的各语音包单独存储在匹配的缓存队列中;当满足多路语音信号的混音条件时,从各缓存队列中分别获取对应的语音包构成复合语音包;获取FreeSwitch通信网关中的解码模块对复合语音包中的各语音包进行解码得到的多个解码语音信号;将各解码语音信号进行混音处理,得到混音包,并将混音包发送至终端,可以将无法进行混音处理的终端加入至SFU会议中,使该终端获取到多个其他终端的语音内容。音内容。音内容。

【技术实现步骤摘要】
语音信号处理方法、装置、电子设备及可读存储介质


[0001]本公开涉及计算机
,具体涉及语音
,尤其涉及一种语音信号处理方法、装置、电子设备及可读存储介质。

技术介绍

[0002]目前,各类即时通信工具主要通过选择性转发单元(Selective Forwarding Unit,SFU)的会议方案实现多终端在线语音交互。SFU会议方案由服务器和多个终端组成,SFU不会音视频进行混流,而是根据特定算法选择会议中的某几个终端的音视频流,转发给会议中的其他终端,终端需要自己来混音。SFU实际上就是一个音视频路由转发器,适合大规模部署。如果SFU会议终端想要与通信协议不同的第三方网络中的第三方终端进行通话,就需要通信网关接入第三方网络中。
[0003]现有技术中,可以使用FreeSwitch(也可称为电话软交换)作为连接SFU会议终端以及第三方终端的通信网关。其中,FreeSwitch是一个开源的、多协议的通信软交换平台,实现多种通信功能。从技术上讲,FreeSwitch是一个背靠背用户代理(Back to Back User Agent,B2BUA),用来帮助所连接的双方进行音视频通话。但是,B2BUA机制无法对SFU会议中的转发的多路语音流进行混音,当第三方终端无法进行混音处理时,同一时间第三方终端只能听到多路语音流中的一路。

技术实现思路

[0004]本公开提供了一种语音信号处理方法、装置、电子设备及可读存储介质。
[0005]根据本公开的一方面,提供了一种语音信号处理方法,包括:
[0006]在接收到SFU服务器发送的至少两路语音信号时,将与各路所述语音信号对应的各语音包单独存储在匹配的缓存队列中;
[0007]当满足多路语音信号的混音条件时,从各缓存队列中分别获取对应的语音包构成复合语音包;
[0008]获取FreeSwitch通信网关中的解码模块对所述复合语音包中的各语音包进行解码得到的多个解码语音信号;
[0009]将各所述解码语音信号进行混音处理,得到混音包,并将所述混音包发送至终端。
[0010]根据本公开的另一方面,提供了一种语音信号处理方法,包括:
[0011]获取终端发送的原始语音数据包;
[0012]对所述原始语音数据包中的原始语音信号进行解析处理,并计算与所述原始语音信号对应的有效语音标识信息和语音能量值;
[0013]根据所述原始语音信号对应的有效语音标识信息和语音能量值,形成被SFU服务器采用进行选路处理的改进语音数据包;
[0014]将所述改进语音数据包发送至所述SFU服务器。
[0015]根据本公开的另一方面,提供了一种语音信号处理装置,包括:
[0016]语音包存储模块,用于在接收到SFU服务器发送的至少两路语音信号时,将与各路所述语音信号对应的各语音包单独存储在匹配的缓存队列中;
[0017]复合语音包构成模块,用于当满足多路语音信号的混音条件时,从各缓存队列中分别获取对应的语音包构成复合语音包;
[0018]解码语音信号获取模块,用于获取FreeSwitch通信网关中的解码模块对所述复合语音包中的各语音包进行解码得到的多个解码语音信号;
[0019]混音包发送模块,用于将各所述解码语音信号进行混音处理,得到混音包,并将所述混音包发送至终端。
[0020]根据本公开的另一方面,提供了一种语音信号处理装置,包括:
[0021]原始语音数据包获取模块,用于获取终端发送的原始语音数据包;
[0022]原始语音信号信息计算模块,用于对所述原始语音数据包中的原始语音信号进行解析处理,并计算与所述原始语音信号对应的有效语音标识信息和语音能量值;
[0023]改进语音数据包形成模块,用于根据所述原始语音信号对应的有效语音标识信息和语音能量值,形成被SFU服务器采用进行选路处理的改进语音数据包;
[0024]改进语音数据包发送模块,用于将所述改进语音数据包发送至所述SFU服务器。
[0025]根据本公开的另一方面,提供了一种电子设备,包括:
[0026]至少一个处理器;以及
[0027]与所述至少一个处理器通信连接的存储器;其中,
[0028]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所提供的语音信号处理方法。
[0029]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开所提供的语音信号处理方法。
[0030]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开所提供的语音信号处理方法。
[0031]根据本公开的技术解决了终端接入SFU会议进行通信的问题,可以通过FreeSwitch进行混音处理,使第三方终端听到多路语音。
[0032]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0033]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0034]图1是根据本公开实施例的一种语音信号处理方法的流程示意图;
[0035]图2a是根据本公开实施例的另一种语音信号处理方法的流程示意图;
[0036]图2b是根据本公开实施例的目标语音包插入目标缓存队列的流程示意图;
[0037]图3a是根据本公开实施例的又一种语音信号处理方法的流程示意图;
[0038]图3b是根据本公开实施例的复合语音包构成的示意图;
[0039]图4a是根据本公开实施例的再一种语音信号处理方法的流程示意图;
[0040]图4b是根据本公开实施例的还一种语音信号处理方法的流程示意图;
[0041]图5是根据本公开实施例的一种语音信号处理装置的结构示意图;
[0042]图6是根据本公开实施例的又一种语音信号处理装置的结构示意图;
[0043]图7是用来实现本公开实施例的语音信号处理方法的电子设备的框图。
具体实施方式
[0044]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0045]图1是根据本公开实施例的一种语音信号处理方法的流程示意图,本实施例适用于将不同通信协议的第三方网络中的第三方终端接入至SFU会议中进行通信的情况,该方法可以通过语音信号处理装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成于电子设备如FreeSwit本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种语音信号处理方法,包括:在接收到选择性转发单元SFU服务器发送的至少两路语音信号时,将与各路所述语音信号对应的各语音包单独存储在匹配的缓存队列中;当满足多路语音信号的混音条件时,从各缓存队列中分别获取对应的语音包构成复合语音包;获取电话软交换FreeSwitch通信网关中的解码模块对所述复合语音包中的各语音包进行解码得到的多个解码语音信号;将各所述解码语音信号进行混音处理,得到混音包,并将所述混音包发送至终端。2.根据权利要求1所述的方法,其中,将与各路所述语音信号对应的各语音包单独存储在匹配的缓存队列中,包括:在检测到与第一目标路数匹配的目标语音包时,提取所述目标语音包的第一基础序列号;获取与所述目标语音包匹配的目标缓存队列的当前序列号翻转次数以及序列号翻转门限值;根据所述第一基础序列号、所述当前序列号翻转次数以及所述序列号翻转门限值,确定与所述目标语音包匹配的目标扩展序列号;按照所述目标扩展序列号,将所述目标语音包插入至所述目标缓存队列中。3.根据权利要求2所述的方法,其中,按照所述目标扩展序列号,将所述目标语音包插入至所述目标缓存队列中,包括:检测所述目标语音包是否为与设定语音片段对应的首个语音包;若是,则按照所述目标扩展序列号,将所述目标语音包插入至所述目标缓存队列中;否则,根据所述目标缓存队列中的末位扩展序列号,确定期望插入序列号;如果所述期望插入序列号与所述目标扩展序列号相匹配,则按照所述目标扩展序列号,将所述目标语音包插入至所述目标缓存队列中;如果所述期望插入序列号与所述目标扩展序列号不相匹配,则确定发生丢包事件,或者确定所述目标语音包为发生丢包事件后的重传数据包;如果确定发生丢包事件,则构建丢包重传请求包,并按照所述目标扩展序列号,将所述目标语音包插入至所述目标缓存队列中;如果确定所述目标语音包为发生丢包事件后的重传数据包,则检测所述目标语音包是否满足时效性要求;若是,则按照所述目标扩展序列号,将所述目标语音包插入至所述目标缓存队列中;否则,丢弃所述目标语音包。4.根据权利要求3所述的方法,其中,构建丢包重传请求包,包括:根据所述期望插入序列号和所述目标扩展序列号,确定与丢失语音包对应的第二基础序列号;根据所述第二基础序列号,构建丢包重传请求包,并将所述丢包重传请求包发送至所述SFU服务器,以请求发送所述丢失语音包的SFU终端对所述丢失语音包进行丢包重传。5.根据权利要求1所述的方法,当满足多路语音信号的混音条件时,从各缓存队列中分别获取对应的语音包构成复合语音包,包括:当满足多路语音信号的混音条件时,判断是否能从各缓存队列中均获取一个语音包;
若是,则将从各缓存队列中分别获取的语音包构成复合语音包;若否,则等待预设目标时长后,重新判断是否能从上次未获取到语音包的各缓存队列中均获取一个语音包;如果确定能从上次未获取到语音包的各缓存队列中均获取一个语音包,则将前后两次获取的各语音包构成复合语音包;如果确定不能从上次未获取到语音包的各缓存队列中均获取一个语音包,则构建与当前未能获取到语音包的各缓存队列分别对应的静音包,并将前后两次获取的各语音包以及各静音包构成复合语音包。6.根据权利要求5所述的方法,其中,所述语音包中包括:有效语音标识信息和语音能量值;在判断是否能从各缓存队列中均获取一个语音包之前,还包括:检测各缓存队列当前缓存的各语音包是否超过预设数量门限值,并根据检测结果,确定过载缓存队列;剔除所述过载缓存队列中有效语音标识信息设置为无效,和/或,语音能量值小于或者等于预设能量门限值的语音包。7.根据权利要求1所述的方法,其中,将各所述解码语音信号进行混音处理,得到混音包,包括:将各所述解码语音信号进行时域叠加,得到时域叠加信号;如果确定所述时域叠加信号出现信号幅值溢出,则按照预设溢出处理算法,对所述时域叠加信号进行溢出处理。8.一种语音信号处理方法,包括:获取终端发送的原始语音数据包;对所述原始语音数据包中的原始语音信号进行解析处理,并计算与所述原始语音信号对应的有效语音标识信息和语音能量值;根据所述原始语音信号对应的有效语音标识信息和语音能量值,形成被选择性转发单元SFU服务器采用进行选路处理的改进语音数据包;将所述改进语音数据包发送至所述SFU服务器。9.一种语音信号处理装置,包括:语音包存储模块,用于在接收到选择性转发单元SFU服务器发送的至少两路语音信号时,将与各路所述语音信号对应的各语音包单独存储在匹配的缓存队列中;复合语音包构成模块,用于当满足多路语音信号的混音条件时,从各缓存队列中分别获取对应的语音包构成复合语音包;解码语音信号获取模块,用于获取电话软交换FreeSwitch通信网关中的解码模块对所述复合语音包中的各语音包进行解码得到的多个解码语音信号;混音包发送模块,用于将各所述解码语音信号进行混音处理,得到混音包,并将所述混音包发送至终端。10.根据权利要求9所述的装置,其中,语音包存储模块,包括:第一基础序列号提取单元,用于在检测到与第一目标路数匹配的目标语音包时,提取所述目标语音包的第一基础序列号...

【专利技术属性】
技术研发人员:许士宾
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1