前言
WebRTC 包含了语音引擎、视频引擎和网络传输三大模块,其中语音引擎是WebRTC中最具价值的技术之一,实现了音频数据的采集、前处理、编码、发送、接受、解码、混音、后处理、播放等一系列处理流程。但是该语音引擎是开发初衷是VoIP通信,正常的通信功能完全能满足,但是要做到千人千面显得捉襟见肘。
anyRTC借鉴了WebRTC的语音引擎,在此之上做了全方位修改:
- 音频Profile的实现:支持Voip和Music 场景,实现了采样率、编码码率、编码模式、声道数的综合性技术策略。用户可以根据自己的场景设置音频模式。
- 音频伴奏功能:支持本地以及网络音频资源:支持wav、mp3、m4a、aac等格式。
- 双讲优化(音频双工):适配6000+设备,针对设备类型以及型号做特殊算法处理(Android)。
- 领先的 3A算法:智能适应各类环境,全面消除回声,并提供超一流的双讲表现;可在不损伤语音音质的情况下,有效消除各类噪音;可实现音频的自动增益,即使在嘈杂环境下用户也能体验优异。
- 美声:在高音质基础上,进一步提升声音的表现,达到声音美化或改变音色的效果。
- 变声:将声音朝着特定的方向进行调整以达到区别原声的效果,如大叔、小姐姐、猪八戒等变声效果变声效果。
- 支持耳返功能:支持调节耳返的音量,耳返延时低至 50ms。
- AI降噪功能:实现人声和背景噪声实时分离,有效抑制常见噪声,杜绝回声和啸叫,为用户提供超纯净音质体验。
- 音频超分:将低分辨率的音频转化为一个高分辨率的音频的过程,即提高了采样率,或者说重构了一部分消失的频谱。为用户提供低带宽高质量的音频体验。
- Windows屏幕共享声音支持回声消除算法:解决屏幕共享的时候选择共享桌面音频,跟本地麦克风混音时候的回声问题。
通信场景下用户痛点和技术难点
经过长期的调研和用户回访,anyRTC整理了通信场景下用户遇到的痛点和技术难点,做了以下整理。
(1)无声问题
音视频通话过程当中就能碰到无声问题,像驱动异常,硬件设备异常,无麦克风权限,设备初始化,电话打断等也能造成无声问题。
(2)漏回声
在音视频通话过程中还会出现漏回声的问题,在传统的PSTN电话系统中基本不存在