天天看點

語聊房高品質音樂伴奏的實作

【關注 融雲全球網際網路通信雲】看恐怖片關掉聲音,再吓人的畫面效果也會大打折扣;一片和諧溫馨的畫面中突然出現急促的轉場音樂,觀衆會立即領會這是要“大事不妙”了。

如果說每個人都有一首屬于自己的 BGM,那不同場景、情景也都有能調動情緒、引起人們共鳴的音樂。

在近期大勢的語聊房業務中,熱門場景也都少了音樂的“陪伴”。在語音電台中,它可以烘托主題氛圍,讓使用者更沉浸;在多人社交中,它可以消滅尬聊,讓交流更自在;在 K 歌房中,伴奏更是不可或缺的剛需。

而且,音樂是人類共通的語言,即便是出海業務中面對不同文化背景的使用者,音樂也可以喚起多種關鍵情緒,是語音社交應用必備“技能”。

融雲語聊房 SDK,以高擴充性覆寫全部熱門語聊房場景,自然也在音樂管理方面下足了功夫,提供線上音樂、歌單管理能力;支援加載播放本地音樂,支援大部分檔案類型;提供入場歡迎、鼓掌、笑聲等氛圍音效;混音控制,支援人聲音量、本端音樂音量、遠端音樂音量、耳返開關。

如此豐富的音樂管理能力,如何在技術側保證優質音樂體驗呢?本文将分享融雲語聊房 SDK 的高品質音樂播放實作方案。

語聊房高品質音樂伴奏的實作
語聊房高品質音樂伴奏的實作

語聊房業務場景中,音樂播放的形式主要有以下幾種:

通過第三方裝置播放音樂,經過外接聲霸卡和主播聲音混音,然後從主播端發送。

通過語聊房應用播放伴奏,在應用内部和主播的聲音進行混音。

通過手機裝置播放音樂伴奏,在裝置采集時将主播的聲音和裝置的聲音塊采集到麥中。

通過 PC 端 Android 模拟器實作直播,PC 端播放伴奏,然後通過 PC 的内錄方式采集音樂并和主播聲音完成混音。

不同的實作方式,對音樂的處理流程存在着一定差異。處理失當可能造成觀衆端音樂聲音小、音樂高低音部分缺失、吞音等嚴重影響使用者體驗的現象。

一般而言,音頻信号被移動終端采集子產品采集後,會經過回聲消除、降噪、自動增益控制等預處理過程,再由音頻編碼器進行編碼。

預處理過程包含 Acoustic Echo Cancelling(AEC,回聲消除)、Automatic Gain Control(AGC,自動增益)、Active Noise Control(ANC,降噪),俗稱 3A。

3A 預處理算法對裝置采集的聲音也會有不同程度的損傷。而且,相比語音通話場景,音頻預處理會對音樂産生比較明顯的影響。比如,降噪、回聲消除算法可能在主播唱歌時将伴奏音樂當成背景噪聲處理掉,進而導緻伴奏音樂缺失,音質嚴重降低等結果。

語聊房高品質音樂伴奏的實作

(回聲消除原理)

是以,在有背景音樂這種相對複雜,對聲音要求比較高的場景,更需要精細化的預處理政策。

語聊房高品質音樂伴奏的實作

經過大量的技術和市場調研,我們将語聊房音樂采集方式歸納為以下幾種:

裝置 Mic 采集的音源已經是歌聲和伴奏的混合聲音,這種場景的混音主要有:

裝置播放伴奏和主播歌聲在空氣傳播中進行混音

裝置播放伴奏通過外接聲霸卡和主播歌聲進行混音

通過 PC 内錄環境将伴奏和主播歌聲進行混音

裝置通過 Mic 采集主播歌聲,然後在應用内與應用播放的聲音進行混音。根據主播的習慣又可将該應用場景分為主播有耳機和無耳機的音樂使用環境。

經過大量測試和理論驗證,我們采取的方案為:應用外音樂混音盡可能還原音源,應用内音樂混音則放在 3A 預處理之後混音的政策,在保證音質的基礎上提高使用者體驗。

這是因為,應用内音樂和聲音混音若在聲音 3A 前進行的話,3A 預處理就會對音樂産生損傷,導緻處理後的音樂出現音量不穩定、部分音質丢失等問題,而且也會對回聲消除中的參考信号量産生影響,而導緻聊天過程中出現回聲問題。這種情況下,将聲音混音放在 3A 處理之後,不僅解決了聊天過程中的降噪問題而且可以保證音樂的音質,進一步確定使用者獲得高品質音質體驗。

語聊房高品質音樂伴奏的實作

(應用内音樂和聲音混音流程)

在應用外部音樂和聲音混音的情景中,分為主播使用耳麥和不使用耳麥兩種情景。

主播使用耳麥時,通過耳麥采集音源可以屏蔽掉背景噪聲,而且不會存在回聲問題。針對這種情況,對 Mic 采集到的伴奏和聲音的混音不做降噪和回聲處理,進而保證了混音音源的完整性。

針對主播不使用耳麥的情況,經過大量多型号裝置測試,我們調優了 3A 處理參數,最大限度保證音樂伴奏混音和通話流程的品質,做到音樂高音質播放,提高使用者體驗。

語聊房高品質音樂伴奏的實作

(應用外音樂和聲音混音流程)

在語聊房音樂的高品質播放之外,融雲語聊房 SDK 還支援聲音預處理的美聲擴充,用以美化主播聲音的磁性和豐富度,滿足 K 歌、演唱會等多樣場景的應用切換。

繼續閱讀