远程会议、线上开户、购买保险……越来越多的场景通过视频展开。在我们享受便利的同时,视频过程中也偶有「不和谐的声音」出现,让我们捂耳朵、关音响、闭麦狼狈三连,可谓是「啸叫」一响,讲了白讲。
不过不用担心,啸叫问题,七牛云已经帮你解决了。
啸叫产生的原因
在实时通信系统中,啸叫则通常是由于两个通信终端间隔距离太近,终端A播放的声音,由终端B采集,并送到终端A,由终端A再次播放,从而形成正反馈,声音越来越大,导致啸叫出现。
典型业务场景和问题
在保险代理人员销售保险产品或者证券业务开户等场景下,因为监管部门要求,通常需要双录环节。业务代理、客户以及公司的操作人员,三方需要近距离在同一房间同时登录终端,进行三方对话,对业务相关问题逐一询问业务员以及客户。此时,由于终端相距距离近,很容易导致啸叫,不便于业务开展。因此,需要修改回声消除算法和啸叫抑制算法,对啸叫和回声进行抑制。
啸叫抑制的方法和原理
啸叫抑制通常有以下几种方法——陷波法、移频法和自适应滤波。自适应滤波算法通过回声路径估计,在播放前剔除回声,从而避免啸叫。
结合实际影响,我们在七牛云的RTC产品中,同时采用了自适应滤波算法和陷波法。自适应滤波法可以提前抑制回声,避免啸叫。而啸叫抑制算法,则可以对已经发生的啸叫进行事后抑制,避免啸叫持续。
啸叫抑制的识别和处理
啸叫抑制可以采用如下方法进行识别:
峰均比:某一子带峰能量与平均频谱能量的比值,比值高于一定门限为啸叫。
峰邻比:某一子带的频谱能量如果高于邻频段能量一定比值,则判定为啸叫。
绝对频谱能量法:如果某一频率的能量超过一定范围,则判决为啸叫。
当识别出当前语音存在啸叫后,就通过陷波法,对啸叫频率幅度进行抑制,从而避免啸叫。
图a:啸叫处理前后频谱图对比
图b:啸叫处理前后时域图对比
图c:大范围啸叫处理前后对比
声音能量越强的频谱,颜色越红,越亮。从图a可以看到,在频率1000Hz、4000Hz左右存在长时间的啸叫,在啸叫算法处理后,啸叫被抑制。从图b也可以看到,啸叫算法处理后,啸叫的声音幅度接近完全抑制。从图c可以看到,当出现多频率的啸叫时,算法也可以对啸叫进行抑制。 七牛云的啸叫抑制算法,具有明显优势,可以保证近距离业务的正常开展。