实时音频混音技术在视频直播中的实践应用

  • 时间:
  • 浏览:1

歌手 A 从音乐库下载伴奏音乐和歌词,歌手 B 同样; 歌手 A 随着伴奏音乐和字幕演唱,歌手 B 同样; 歌手 A 把整理到的歌声和视频,封装成音视频流,推送到实时网络,歌手 B 同样; 歌手 A 从实时网络拉取歌手 B 的音视频流播放,歌手 B 同样,一一个歌手实现连麦互动; 在云端把歌手 A 的歌声、歌手 B 的歌声、伴奏音乐混音,封装成音视频流; 在云端把歌词加入音视频流的媒体通道传输; 在云端把音视频流转推内容整理网络; 观众们从内容整理网络拉取音视频流播放。

亲戚亲戚有些人的周遭环境就让我个绿帘石的混音场,各种声波在空气中传播,相互叠加,传入到亲戚亲戚有些人的耳朵里。不同声波在空气中的振幅叠加是线性的,就让我,在混音算法中,音频采样数据表征声音的振幅,音频数据的叠加也是线性的。然而,亲戚亲戚有些人越多再 考虑两方面的因素:

从技术的淬硬层 来看,本质上 KTV 直播是在视频直播的基础上,混音技术和媒体通道传数据技术的应用。混音技术在里面将会完整篇 介绍,媒体通道传数据技术就让我在媒体通道内传输数据信息,比如说歌词等信息。下图展示了 KTV 直播的技术架构:

歌手端从伴奏音乐库下载伴奏音乐和歌词信息,并实时播放; 歌手演唱,歌手端整理歌手的歌声和视频画面; 歌声和伴奏被混音,形成单一的音频流; 歌词信息和音视频数据一块儿被编码; 音视频流和歌词信息同步被推送到实时传输网络; 音视频流经过实时传输网络加速,转发到内容整理网络; 轮麦的用户从实时传输网络拉流播放,歌声和歌词同步; 普通的用户从内容整理网络拉流播放,歌声和歌词同步。

混音技术一般越多再单独使用。在视频直播场景中,往往是和其它有些技术混合使用。比如说,K 歌直播场景中,用到的技术包括混音技术,歌词与媒体同步传输技术。合唱直播场景中,用到的技术包括混音技术,连麦直播技术等。多种技术的灵活组合使用,就能创伟大的造出让主播和用户喜爱的玩法,拉升直播平台的用户活跃度。

混音技术在视频直播应用场景中暂且新鲜。视频直播间里比较机械化的掌声、笑声、口哨声甚至背景音乐,有的是混音技术的应用。在主播端,整理主播的声音形成音频流 A1,从音频文件中读取音频流 A2,把 A1 和 A2 两路音频流混合,形成一路音频流,这就让我混音。

歌手 A 和歌手 B 相互能听到对方的歌声; 歌手 A 和歌手 B 跟随着伴奏一块儿演唱; 观众们能听到歌手 A 和歌手 B 合唱,歌声和伴奏还有歌词大致同步。

去年 11 月,马云和王菲合唱一首《风清扬》,作为《功守道》的主题曲,成了刷爆亲戚亲戚有些人圈的热点。将会马云和王菲使用合唱直播技术在线上合唱语录,效果图最少如下:

在混音就让 ,越多再 做回声消除、噪音抑制和静音检测等避免。回声消除和噪音抑制属于语音前避免范畴的工作。在编码就让 ,整理、语音前避免、混音就让 的避免、混音和混音就让 的避免应该按顺序进行。静音抑制(VAD,Voice Activity Detect)可做可不做。对于终端混音,是要把整理到的主播声音和从音频文件中读到的伴奏声音混合。将会主播停顿一段时间不发出声音,通过 VAD 检测到了,这么 这段时间不混音,直接采用伴奏音乐的数据就好了。然而,为了简单起见,也越多再 不做 VAD。主播不发声音的期间,继续做混音也越多再 (主播的声音为零振幅)。

KTV 直播,也就让我线上 K 歌房的玩法,真实地还原了线下 K 歌房的玩法。举个例子,小明是个麦霸,周末想去 K 歌房 K 歌,就让我亲戚亲戚有些让我们让我们让我们都都没空,约越多再要再 人一块儿 K 歌。于是小明就通过手机将会 PC,进入线上的 K 歌房,房间里有和小明一样的其它用户。和其它用户一样,小明要排队轮流上麦 K 歌,在上麦就让 要点好要唱的歌曲。K 歌的就让 ,小明能听到伴奏和看过歌词,其它同在 K 歌房的用户能听到小明的歌声和伴奏,还能看过同步的歌词,完美地还原了线下 K 歌房的体验。就让我,小明就算约越多再要再 亲戚亲戚有些人,也越多再 在线上 KTV 找到网友视频 见面一块儿 K 歌。

一一个音频流的一一个对应的采样点由一一个 16bit 的整数表示,两种 一个整数相加将会会溢出,向上溢出将会向下溢出。就让我,混音算法要越多再 避免溢出的情况表。溢出避免的依据有越多,这里只提两种:直接加和就让我钳位,加和后往上溢出语录,就采用最大正值(32767),将会往下溢出,就采用最大负值(-32768)。

最近7天 ,视频直播领域中产生不少创新玩法,其中包括 K 歌直播和合唱直播。哪此创新玩法都用到实时音频混音技术。今天亲戚亲戚有些人来聊一下混音技术的实现,及其在创新玩法中的应用。

暂且任何两路音频流都越多再 直接混合。两路音视频流,越多再 符合以下条件越多再 混合:

方案一

混音技术作为一项技术,常常被和其它技术灵活组合,来实现具体场景中的玩法创新。里面提到的 KTV 直播和合唱直播有的是混音技术的具体应用。视频直播作为一一个综合的应用场景,随着技术和业务的发展,逐渐衍生出众多的微场景,包括里面提到的一一个微场景。在视频直播微场景需求的驱动下,各种音视频技术点灵活组合能衍生出各种技术方案。

方案二

一般来说,合唱直播有两种方案:

哪此新的玩法有的是对混音技术的淬硬层 应用。本文里面将对这两种玩法的逻辑展开讨论。

混音避免就让 ,要做溢出检测,针对溢出的采样点做溢出避免。也越多再 做有些平滑避免的操作,不过这有的是必要的。混音的效果好不好,最终还是要以用户的主观听感来做判断标准。

然而,视频直播的玩法创新日新月异。2017 年 12 月酷狗直播上线了 KTV 直播的玩法,主播越多再 在线跟随伴奏 K 歌,直播间的观众能听到主播和伴奏的歌声,还能看过歌词字幕。2018 年 5 月全民 K 歌上线了合唱直播的玩法,主播和嘉宾一块儿在线同唱同一首歌,直播间的观众能听到主播和嘉宾的合唱以及伴奏。

这里以歌手 A 和歌手 B 合唱为例,来说明方案二的业务逻辑:

作者:冼牛 转自:前端之巅

一一个音频流的一一个对应的采样点的数据线性相加将会会造成溢出。每一一个音频采样点的数据由 16bit,也就让我 2 个字节来表示,越多再 表示的有符号整型数的范围是 -32768~32767。

一一个歌手不连麦,混音在终端完成,歌声、伴奏和歌词严格同步,就让我只一一个歌手能听到另外一一个歌手的歌声。方案一的架构图如下:

混音的逻辑越多再 在终端设备上实现,也越多再 在服务器上实现,就让越多再再 分为终端混音和云端混音。终端混音一般应用于背景配音,音乐伴奏等场景。云端混音越多再 是云端混流的一每项,主要目的是利用云端的计算能力去做多路音视频流的音画对齐,还有降低下行下行速度 成本;也越多再 做纯粹的云端混音,来实现合唱直播等场景的需求。

实践经验表明,整理到的主播声音相对比较小,而文件读取的音频声音比较大,推荐保持主播的声音音量不变,而调节伴奏音乐的音量到一一个比较最少的水平,就让我再混合。

就让越多再再 实现全互动的合唱直播,好像歌手 A 和歌手 B 就在同一一个 K 歌房里合唱一样:

王菲的手机从音乐库下载 MV 播放,含晒 伴奏音乐、MV 视频和歌词; 王菲伴随着伴奏音乐演唱,歌声和伴奏音乐混音,形成音视频流 X 推送到实时传输网络; 马云的手机从实时网络拉取音视频流 X 播放,伴奏音乐含晒 王菲的歌声和 MV 伴奏; 马云伴随着伴奏音乐演唱,歌声和伴奏被混音,形成音视频流 Y 推送到实时传输网络; 音视频流 Y 经过实时传输网络加速后,被转推内容整理网络(CDN)进行整理; 直播间的观众从内容整理网络拉取音视频流 Y 播放。

混音,顾名思义,就让我把两路将会多路音频流混合在一块儿,形成一路音频流。笔者就让我写过两篇关于混流的文章,混流也被称为合流,指的是把视频画面和音频对齐,就让我混合成一路音视频流。亲戚亲戚有些人今天要聊的实时音频混音,指的就让我音频流的混合。

一一个歌手连麦,混音在云端完成,一一个歌手能相互听到对方的歌声,就让我歌声、伴奏和歌词难以做到严格同步。方案二的架构图如下:

在歌手的终端,歌手的歌声和伴奏音乐被混合,和歌手的视频一块儿编码成音视频流推送到实时传输网络。这是混音技术,前面将会介绍过。歌词信息和音视频信息是在同一一个媒体通道传输的,就让越多再再 保障歌词和音视频同步。这就让我媒体通道传数据技术,越多再 被应用到 KTV 直播,还有直播答题和在线教育等场景。最少的业务流程如下:

1、格式相同,要解压成 PCM 格式。

2、采样率相同,要转加上相同的采样率。主流采样率包括:16k Hz、32k Hz、44.1k Hz 和 48k Hz。

3、帧长相同,帧长由编码格式决定,PCM 这么 帧长的概念,开发者自行决定帧长。为了和主流音频编码格式的帧长保持一致,推荐采用 20ms 为帧长。

4、位深(Bit-Depth)或采样格式 (Sample Format) 相同,承载每个采样点数据的 bit 数目要相同。

5、声道数相同,越多再 同样是单声道将会双声道 (立体声)。就让我,把格式、采样率、帧长、位深和声道数对齐了就让 ,一一个音频流就越多再 混合了。

至此,直播间的观众能听到马云和王菲合唱的歌声,好像亲戚亲戚有些人一一个就让我在同一一个 KTV 里面合唱一样。方案一的优点是,两位歌手的歌声、画面和歌词严格同步,观众的体验最优;存在问题是,王菲听越多再要再 马云的歌声,而马云能听到王菲的歌声,两位歌手这么 连麦,存在问题互动。

合唱直播,人太好是 KTV 直播加上合唱的场景,真实地还原了在线下 K 歌房中合唱的玩法。合唱直播,指的是一一个将会以上的用户,随着伴奏看着歌词一块儿 K 歌。合唱直播和 KTV 直播的关键区别在于,一一个将会以上的用户一块儿 K 歌,混音的场所(在哪个终端?是终端还是云端?)是考虑的关键,最终要让歌声、伴奏和歌词同步。KTV 直播混音的场所是歌手端设备,而合唱直播的混音场所越多再 是歌手端设备,也越多再 是云端,要根据不同的方案而定。

这里以马云和王菲线上合唱为例,来说明方案一的业务逻辑:

一一个音频流的振幅表示声音的能量水平,然而一一个声音将会一一个很大,一一个很小,对比悬殊。在混音的就让 ,从用户听音的主观感受来说,是希望一一个声音混合后听起来比较均衡。就让我,混音算法要考虑一一个声音振幅的权重,将会说调节音量。

这是典型的视频直播场景,加上上混音技术和媒体通道传数据技术结合,真实地还原线下 KTV 的效果。

方案二的优点是互动感强,两位歌手能相互听到对方的歌声,歌手的体验最优;存在问题是两位歌手的歌声、伴奏还有歌词这么 做到严格同步,意味着 是一一个歌手的歌声、还有伴奏的音乐(三者对应的时间戳)抵达云端的时间难以做到完整篇 一致,受到网络延迟的影响较大。网络情况表好的情况表下,同步效果较好,和方案一相当,网络不好的情况表下,不同步的情况表就比较明显。

溢出避免

从技术的淬硬层 来看,本质上合唱直播是在视频直播的基础上,混音技术、媒体通道传数据技术甚至加上连麦直播技术的应用。

混合权重

冼牛,即构科技资深语音视频专家,北京邮电大学计算机硕士,香港大学工商管理硕士,多年从事语音视频云服务技术研究,专注互动直播技术、语音视频社交和实时游戏语音。