直播间直播出现重直播有回音怎么处理办?

直播时,声音可能是最困扰新手的一个问题,不像画面那么简单直接,刚接触可能不太明白。重音,噪音,没声音,这些问题分分钟能把人搞疯了。在几位知友的私信下,我决定开始做关于声音的教程。首先这次不讲案例,只讲概述,如果你能理解,其实也就差不多了~首先我们来看下电脑系统中存在着哪些声音,找到状态栏最右边的小喇叭,右键-播放设备。看到如下界面:声音、通信这两个选项我们不管。前面有播放、录制两个大项,简单地讲,播放就是电脑声音的输出,录制就是电脑声音的输入。我们先来看看输出(播放)有哪些小项:1. 前面四个都是NVIDIA HIGH Definition Audio,英伟达高清声卡输出,也就是说,我使用的英伟达显卡,显卡上的HDMI接口、DP接口、DVI接口如果被被插上线,被激活,它们也是可以输出声音的。如图G71那个小项,用HDMI连接了显示器和显卡,电脑就自动检测出了显示器这个“输出”。2.第五个扬声器就是系统音,也是做直播时用得比较多的如果选择它作为输出,其实就是输出到电脑主板的集成声卡上,通俗地讲,扬声器其实就是系统音,我们一般插3.5的耳机出绿色孔听到的声音就是通过扬声器播放出来的。3.第六个Rdaltek Digital Output,这是数字音响输出,如果选择它作为输出,那带上3.5的小耳机就听不到声音了。4.第七个扬声器可能大多数人都没有见过,这个是xsplit的声卡,选择它作为输出,则声音直接传到流上。一般根据需求来选择。5.另外还有调音台、USB耳麦等等,也可以进行输出,这里就不再一一赘述。输入(录制)部分,一般都是耳机耳麦、调音台之类的,需要哪个输入,就把它设置为默认值就行了。我现在暂时没有输入设备,就不演示了(后期会补图)。下图展示了其中一种直播时的声音走向:首先由调音台将声音给电脑的输入区,再由输入区将声音传给软件,接着音乐播放器、游戏等等软件将声音给电脑的输出区,打个比方,给了扬声器,直播软件内部的播放器播放视频或者音频,也是将声音给了扬声器,然后扬声器将系统声音汇总,传给了软件, 软件最后编码上传给了服务器。将声音的走向原理理清楚之后,可以大幅度减少直播声音出错的概率。下一次我会根据直播软件来实际为大家操作一下如何设置。最后再讲一个很多人都会碰到的问题,就算不做直播也会经常遇到——扬声器是灰色的怎么办?一直是默认数字音响为输出。显示未插入,但是刚才已经讲到扬声器其实就是系统音,难道系统没声音了?解决方法:最简单的,插入3.5的耳机,扬声器就被激活了,可以用了,如果插了没反应建议重装声卡驱动。如果你想不插耳机, 首先点开右下角的realtek声音管理器,此时电脑输出区只有数字输出,点击右上角黄色文件夹一样的图标,勾选禁用检测,这时候扬声器就出来了,选择它为默认即可。如果你在状态栏找不到声卡管理,可以到控制面板里找,如果还是没有,就需要重装声卡驱动了。最后祝自己生日快乐~
一、回声是如何产生的?谈到回声,大多数人能想到的场景:你对着一个空旷的山谷喊叫时,会有回声传来。这种回声是由空间反射,语音信号碰到阻碍,返回到说话人,从而听到回声。而在我们音视频系统中所说的回声,则通常是因为,麦克风和喇叭距离较近,麦克风直接采集到喇叭播放的声音,并发送给对方,从而导致对方听到自己的回声。对于回声的影响,麦克风直接采集到的喇叭声音,是最重要的因素,空间反射造成的回声被麦克风采集,其强度通常要弱于麦克风直接采集的回声,可能形成多个不同的延迟的回声信号。并且,由于设备的扬声器和麦克风性能各不相同,很多情况下,都可能导致失真,也即麦克风采集的扬声器的声音,与播放的声音并不完全一致,里面有很多的非线性变化。二、回声消除的技术挑战?要做到消除回声,我们首先需要让系统能识别出什么是回声,才能将回声消除,而不会影响对方的正常通话。人耳可以很轻易地判别出听到的声音是自己的回声,还是对方的声音。但系统不行,对于麦克风来说,无论是回声还是本地端的人员说话,从声学特征上来说,都没有区别。所以这时候回声消除系统需要知道刚才播放了什么声音,专业术语叫远端声音,或者参考声源,基于参考声源,我们就可以知道扬声器播放了什么声音,从而可以通过算法来估计麦克风采集的声音是否是回声。有了参考声音,以及本地端麦克风采集的声音,我们就可以考虑从麦克风采集的声音中,将回声给消除。回声消除的性能取决于以下几个因素:1)参考声音和本地声音的时延对齐速度和准确性2)用来通过参考声音来估计回声的线性滤波器性能3)残留回声的估计准确性回声消除的时延,对于同一类型终端来说,变化不大,如果只有一种硬件设备,我们可以将该时延预置,只做较小的调整,从而可以大大加速时延对齐的速度,提高回声消除算法的性能和稳定性。对于硬件也自行研发的厂家来说,底层的播放和采集的时延基本上可固定。但对于音视频 SDK 来说,软件可能运行在各种不同的终端上,并且拿到的参考声音并不真正是底层喇叭播放的数据,可能因为网络,硬件不同等原因,导致时延并不相同。因此,需要由算法来估计时延。估计时延的算法,通常主要是基于时域的 NLMS 算法(即归一化最小均方算法)和基于频域或者时域的相关算法。两者都能快速跟踪时延变化。时延估计并不需要特别精准,只要能大体对齐,消除算法就可以生效。对回声消除性能影响更大的还是线性处理和非线性处理,这两大块也是难点。在对齐时延后,就需要通过线性滤波器模拟回声路径,根据参考声音,模拟出回声,并从采集的声音中将回声消除。目前业内比较常见的线性滤波器算法代表为卡尔曼滤波器,开源代码 Speex 所用的 MDF(Multidelayblock frequency domain adaptive filter)算法,WebRTC 所采用的 PBFDAF 算法(Partitioned Block Frequency Domain Adaptive Filter)。从鲁棒性来说,卡尔曼滤波器算法更高,但收敛较慢。Speex 的 MDF 算法对滤波器系数的计算方法进行了优化,试图提高算法收敛速度。但这些算法经测试,大多数线性性能也只有十几 dB 的线性回声消除性能,且滤波器的收敛速度都较慢。而线性回声消除性能的好坏,将决定双讲性能的优劣。在线性回声消除之后,就进入到回声的非线性处理阶段,以进一步消除残留回声。就像前文所说,如果线性处理的性能不佳,残留回声较多,为了消除回声,必然对可能存在残留回声的声音进行更多的抑制,从而导致本地讲话人的声音也被抑制,影响双讲感知。比如,如果麦克风采集到的回声有-20dB,那么线性消除后,回声为-35dB,要达到人耳听不到回声的效果,可能需要在非线性阶段施加接近 40~45dB 的抑制,本地声音如果也在-30dB 左右,就会导致本地声音也近似被完全抑制。在非线性处理阶段,并没有统一的方法,各个厂家各显神通,依据设备的非线性失真情况,估算的混响情况,以及线性滤波器性能,会进行不同的非线性处理操作,从而体现出不同的回声消除性能。三、回声消除算法介绍?七牛云作为一站式智能视频云服务商,在考虑软件的鲁棒性和普适性基础上,为了提高回声消除的性能,并未采用业界的传统的线性滤波器算法,而是依据回声消除的基本原理,独辟蹊径地采用不同的线性滤波器算法,从而在线性滤波器收敛速度和线性消除性能上,明显领先于业内的通用算法。1、线性滤波器的收敛速度比较如下图,依次为“近端语音信号 ”,“参考信号”,“开源算法 WebRTC 的线性滤波器处理结果”, “开源算法 Speex 线性滤波器处理结果”,以及“七牛云自研回声消除算法线性滤波器处理结果”。从下图,我们可以看到,当存在回声时,WebRTC 和 Speex 的开源算法,都存在明显的一个收敛时间,大约 1~2 秒钟之后,线性滤波器的输出回声才逐渐减小,并相对稳定。而七牛云的自研算法,在回声出现的一瞬间,线性滤波器就达到最大的回声抑制效果,几乎没有收敛时间,就进入了稳态的回声抑制阶段,而且线性消除效果明显优于其他两个开源算法。2、线性滤波器的增益比较七牛云的线性滤波器在内部的测试集中,80% 以上可以稳定在 20dB 以上,部分场景甚至可以达到 37dB 左右的回声线性抑制效果。而两个开源算法在多数场景中都只能获得十几个 dB 的线性增益。比如下图, 频域的音频图,依次为“近端语音信号 ”,“参考信号”,“开源算法 WebRTC 的线性滤波器处理结果”, “开源算法 Speex 线性滤波器处理结果”,以及“七牛云自研回声消除算法线性滤波器处理结果” 。从下图,我们可以看到,对于 WebRTC 和 Speex 两个开源算法而言,其线性滤波器的输出,都存在大量的回声,而七牛云的线性滤波器的输出,回声已经基本得到抑制,仅存在少数残留。七牛云的回声抑制算法,明显优于两大开源算法。3、AEC 算法在啸叫抑制上的应用得益于七牛云的回声抑制算法,我们的终端在近端通信场景下,取得了良好效果。比如,我们使用两个测试终端:华为 Mate3,小米 11。测试方法:开启 70% 外放音量,相距 1 米,平置桌面,办公室内开放场景,两者同时接入同一会议 ID。1)开启 Qiniu 自研 AEC 算法测试对比:在开启 Qiniu 音频算法后,正常进行对话,华为 Mate3 和小米 11 都可以清晰地听到声音,无啸叫,无重音。2)只开启硬件回声消除算法或者两大开源的回声消除算法:则几乎无法进行正常业务,会发生此起彼伏的啸叫。在尚未说话时,一个轻微的噪声就会诱发啸叫,并且说话时有重音,声音震荡,诱发长时间啸叫。正如前文所述,由于回声问题的复杂性,回声消除技术一直是业界公认的难题。虽然七牛云回声抑制算法综合比较下来具有一定的优势,但要想完美解决回声问题,除了要有强大的算法,还需要在实际应用场景中不断地进行优化训练。七牛云也将持续打磨回声消除技术,为用户提供最佳的通话效果。

我要回帖

更多关于 直播有回音怎么处理 的文章