TaoAudio: 淘寶直播短視頻音頻解決方案

2019 年是電商直播爆發的一年,被稱爲電商直播元年,2020 年電商直播持續發展,越來越多的平臺開始發力直播帶貨業務。淘寶直播作爲電商直播第一平臺,成爲連接上億主播和粉絲的橋樑。

直播傳遞信息的途徑,不外乎聲音和畫面兩種。其中聲音作爲 “第一媒介”,需求主要包含以下兩個部分:第一是音質,好的音質能讓人產生“聲臨其境” 的感覺,而聲音刺耳,斷續,音量過大或過小,都會讓人聽起來不舒服,從而影響購物體驗;第二是互動體驗,視覺互動已廣爲人們熟悉,但聲音互動其實更加自然,比如主播通過語音控制發紅包,上貨,粉絲通過語音消息與主播互動,或通過語音連麥與主播溝通;除此以外,語音在安全管控方面也顯得尤爲重要,在防盜播,涉黃涉政方面,都可通過語音來識別異常。

在短視頻上,聲音的需求也越來越多。隨着 2020 年底點淘,逛逛等新業務的推出,短視頻成爲內容業務發展的新引擎,爲了幫助商家達人更加便捷的生產高質量內容,“親拍”APP 隨即推出,大幅提高編輯效率,成爲淘系商家,達人生產優秀短視頻的有力工具。與此同時,“親拍”APP 的深度編輯功能還提出了大量音頻需求,比如變速,混音,快速播放,語音降噪,自動字幕,語音旁白等等。

音頻業務解決方案 TaoAudio

TaoAudio 是面向直播和短視頻聲音需求的完整解決方案。其分成三個主要模塊,分別是音頻處理,音頻安全,語音交互。TaoAudio 支持端雲一體化部署,部分模塊部署在端側,比如音頻編解碼、降噪、場景檢測、水印等,可充分利用端上算力,以低成本方式實現實時處理,另一部分模塊部署在雲上,比如語音識別,語音合成,確保算法的精度和效果。同時,TaoAudio 還具備友好的部署方式,通過 JNI 和 Object-C 實現跨平臺調用,上層只需配置模板和送入音頻數據,即可源源不斷的拿到處理後的聲音或標籤,實現極低成本的接入。

直播短視頻音頻技術架構

▐直播業務

直播業務對音頻的的三個核心需求是實時,安全,交互。面對衆多的音頻需求,如果只是提供算法原子能力給業務層調用,集成和聯調成本會非常高,並且業務層不可避免會碰到一些音頻專業相關問題,解決難度大,TaoAudio 抽象了需求共性,實現了對實時音頻流的檢測和處理,如下圖所示,在直播場景中 TaoAudio 起到連接上層業務和推流底層的作用,讓業務音頻需求和底層推流解耦合,業務音頻相關的需求和問題全部收口到 TaoAuido 裏面,這對提升音頻類需求實現效率和加快迭代優化速度有非常大的幫助。

NUI SDK 提供了智能語音交互能力,包括:語音合成、語音識別和關鍵詞檢測等功能。

音頻檢測模塊實現了直播聲學場景和聲學事件檢測功能,具體算法包括:人聲檢測、噪聲檢測、音樂場景檢測、性別識別等,整體算法思想基於深度學習和信號處理相結合進行。

音頻處理模塊包括聲音自適應混音、語音重採樣、語音變調變速,音效處理、語音降噪等。其中較爲核心的是自研的智能降噪 Alidenoise 和音效處理 Soundmod SDK,能夠很好的滿足上述需求。

▐短視頻業務

在非實時通訊業務中,由於不存在實時音頻採集和回聲消除等場景,TaoAudio 可以以一種更加單純的形式存在,這種形式我們叫做智能數字音頻工作站(intelligent digital audio workstation,以下簡稱 iDAW)。如下圖所示,在 iDAW 裏面,我們可以有多個音軌(track),每個音軌的源頭(source)可以是一個音頻片段(audio clip),一個音頻流(audio stream),或者一個符號序列(symbol sequence)。每個 track 的結構如下圖:

其中,黃色代表輸入,綠色代表輸出,虛線表示可有可無。每個 track 裏面有三種圍繞 audio 的變換。

  1. 一種是 “符號 - 音頻” 的變換,可以理解成是 audio generator,輸入符號序列,輸出音頻,例如 TTS 便屬於這種變換;

  2. 第二種是 “音頻 - 符號” 的變換,可以理解成是 audio analyzer,輸入音頻,輸出符號序列,例如 VAD、ASR 便屬於這種變換;

  3. 第三種是 “音頻 - 音頻” 的變換,可以理解成是 audio processor,輸入音頻,輸出音頻,例如上述 soundmod 裏面的所有變換,以及 3A 裏面的 ANS、AGC 等。

每個 track 可以通過重採樣,進行混音,輸出混音後的音頻,如下圖:

在 TaoAudio 裏面,一個 iDAW 對應一個 TaoAudioWorker(TAW)實例。整個 TaoAudio 的基礎架構是用 C++ 實現,目前支持的 audio generator 有 NUI SDK 裏面的語音合成,audio analyzer 有 NUI SDK 裏面的語音識別、喚醒詞識別和文件極速轉寫,還有我們整個音頻檢測系統,audio processor 有 soundmod 和 alidenoise 等。

TaoAudio 把恰當的的連接能力和處理能力提供給調用者,不同的業務方能各取所需,通過 TaoAudio 定製出自己的整個音頻工作鏈路。例如在短視頻生產工具中,利用 TaoAudio 可以做到無縫的對接幾乎所有音頻相關的業務,比如自動生成旁白(TTS)、字幕提取(ASR)、自動去除空白(VAD)、原聲增強(soundmod)、變速變調(soundmod)、降噪(alidenoise)、聲音美化(soundmod)、背景音樂生成(chord-arranger)等等,每一個功能都可以以 track 爲單位進行添加和連接。

TaoAudio 作爲一套音頻業務解決方案,底層核心技術主要涉及兩塊:一塊是音頻處理技術,另一塊是語音交互技術。其中,音頻處理包括:智能語音降噪、智能聲學場景檢測、音效處理、回聲消除,以及音頻指紋和音頻水印技術等;語音交互技術主要包括:語音識別、喚醒、語音合成、敏感詞識別等;

▐音頻處理技術

傳統語音降噪算法速度較快,計算消耗較低,能在多種多樣的低端設備上運行,但面對複雜且多變的非平穩噪聲和低信噪比環境,傳統方法的效果不盡如人意。基於學習的、數據驅動的降噪算法,通過對大量數據的學習,在真實的噪聲環境中展現出了較爲突出的優勢,取得了較好的效果。

但是這類 “基於學習的” 方法,由於參數多、模型大,較爲複雜,因此可解釋性欠佳,穩定性不易受控,泛化能力不易保障,缺陷不易排查。這些問題的存在,導致基於學習的方法常被稱爲 “無法觀察” 且“不易調整”的“黑箱”。同時,基於學習的算法雖聽感效果出衆,但相比傳統算法,複雜度偏高,運算速度較低、電量消耗較多,更容易導致硬件發熱、系統降頻、程序卡頓等問題。

爲將最好的音頻體驗帶給用戶,淘系技術音視頻算法團隊基於深度學習和信號處理相結合的思路,在反覆的研發、試錯、創新中,針對降噪的效果、質量、算法的速度、能耗、延遲與泛化的穩定性等諸多方面,應用了一系列技術,對模型結構、框架、約束等進行了研發改進,最終研發了智能語音降噪算法 Alidenoise。  

 

1)傳統信號處理方法與深度學習類方法相結合,兼具可處理非平穩類噪聲和算法複雜度低的特點

2)在神經網絡的設計上,結合訓練目標,以人聲的語譜紋路作爲主要學習對象,噪聲泛化性強語音保真度高

3)採用 Cache buffer 技術,實現流式處理

4)輕量小模型, 支持移動端實時增強,覆蓋低、中、高設備

5)靈活的網絡模型配置,支持降噪算法延時可調

淘寶直播、短視頻的多媒體需求日益增長,在基礎通訊鏈路與上層業務需求中,聲音與音頻需求層出不窮。

需求的增長與基礎技術的發展成爲了主要矛盾。因此我們提出多任務的智能聲學場景檢測項目,並逐步實現。

1)信號處理:爲了提升聲學場景檢測的泛化性,我們對音頻進行聲學信號處理的特徵提取,比如 fft 頻域、mfcc、lpc 係數、基音週期等經典有效的特徵,來表徵聲音信號,同時也對聲音向量有效降維。

2)端側 AI:端上輕量化模型,是聲學場景檢測的主要關鍵之處,我們借鑑了經典的 MobileNet、ShuffleNet 中輕量化模型技巧,採用矩陣分解、分組卷積、小卷積核等卷積優化,全局池化替代繁重的全連接,同時嘗試空洞卷積對於模型輕量化的優勢。爲了在端側取得更高的適配能力,模型使用了量子化來進一步降低算耗,並使用短時記憶單元提高上文信息量,在提速的同時保障算法效果。

3)多任務聯動:在聲學場景自適應的多任務中,我們共享卷積特徵權重,有效增加任務的泛化性。同時在相關任務設置一級分類與二級分類關聯設計,不斷的有效提升二級分類的準確度,比如是否人聲檢測爲一級分類、性別檢測是二級分類,兩者聯動可以讓性別檢測更加準確。

4)能力迭代擴容:隨着場景檢測算法與上層玩法之間的相互促進與豐富,檢測類目的需求會動態地、甚至敏捷地變遷。爲了在此業務場景下保證檢測能力與需求俱進,我們將藉助遷移學習與增量學習技術,敏捷升級識別能力,快速反應逐步擴充的檢測需求。

5)業務承載:多任務的智能聲學場景檢測,承載着兩大類業務。第一類淘寶直播通訊場景的自適應增強業務,比如檢測不同的嘈雜程度、是否音樂來進行配置不同的算法參數,利用不同性別年齡檢測來配置不同的美聲需求。第二類是業務需求,比如輕直播的人聲檢測需求,空鏡檢測的人聲檢測需求,音樂可視化的音樂檢測需求等。

我們有一套完整的從音頻到音頻的變換工具 Soundmod SDK,它支持對音頻進行實時的和離線的處理,Soundmod 支持的處理包括了最常用的 “三大件處理”(動態壓縮、均衡、混響)、變速不變調、變調不變速、男變女女變男,也包括了其他常用的效果,比如合唱效果、顫音效果、延時效果、哇音效果、聲碼器效果等等:

 下面是一個音效處理 Demo 視頻:

▐智能語音交互技術 NUI

淘寶直播場景作爲豐富的語音技術使用場景,在應用內存在多種對語音能力的使用。例如 “CRO 敏感詞檢測” 使用了 “離線命令詞識別”,“評論播報” 使用了 “在線語音合成”,“直播看點” 使用了“在線語音識別”,以及後續還可能上線的其他功能會有更多能力的擴展。這就要求我們的 SDK 具備多實例並行的能力,能夠使得不同調用業務之間可以並行不受影響。因此在本次淘寶直播和達摩院的共建中,語音實驗室完成了 NUI SDK 的全面升級,將原有的面對交互場景的 SDK 擴展爲更加靈活,可支持多種原子場景獨立使用的版本。

直播場景是算法技術使用非常密集的場景,信號處理,RTC,敏感詞檢測,視覺算法等等都在這個場景下全速運行,這意味着對於 CPU 的消耗非常大,同時 App 對包大小有着嚴格要求。語音實驗室全面升級命令詞檢測技術方案,採用 MNN 推理框架,並同 MNN 進行了深度優化,在實時率上提升明顯。通過 “PAI 模型壓縮” 技術將喚醒模型量化到 INT8 計算,進一步減少模型大小,相對對上一代方案減小 50%。再者通過直播端側的模型下發鏈路,能夠將模型進行雲化,進一步減小 App 包大小。

▐直播評論和提示音播報

語音播報功能給主播提供的是直播間用戶意圖的聲音提醒能力,該功能是通過語音,將粉絲進入直播間、粉絲評論和粉絲連麥申請等行爲在主播手機中播報出來,目的是提醒主播當前直播間的實時動態,做好接待客戶的準備。語音播報功能直接涉及到的語音技術點,主要包括:文字轉語音 TTS、語音混音、信號重採樣以及語音數據流管理和控制等。

除此之外,播報聲音要在一邊推流的情況下一邊播報,所以還涉及到播報聲回聲消除,防止播報的聲音被粉絲聽到。另外,語音播報具體實現在業務上層,回聲消除是音頻底層技術,如何協調好兩者之前的關係,相互配合好達到好的效果體驗,具有一定的挑戰性。

TTS 是語音評論播報的基礎,評論在主播端播報之後會被推流的麥克風採集,如果不進行處理會導致直播間所有粉絲都聽到播報聲。消除本地播報的聲音,可以使用回聲消除技術,ARTC 底層有回聲消除算法,但是不支持本地播放消除,經過對 ARTC 層系統的改造,實現了播報聲消除的功能。

但是,當主播講話時進行播報,會形成回聲消除 “Double Talk” 抑制過大問題,導致主播聲音損傷嚴重。爲了解決該問題,從兩個角度出發,一個是播報時優化回聲消除算法,另外一個通過主播說話智能檢測控制播報聲音減小或者不播報。最終通過算法優化,解決了播報消除導致主播語音損傷的問題,使評論語音播報功能體驗更佳。

▐*短視頻智能編輯

在短視頻領域,口播類的短視頻在商品介紹的短視頻裏面佔了絕大多數。口播編輯能讓短視頻生產者很輕鬆的剪掉不必要的長停頓,多餘的字句,以及字與字時間的瑣碎的停頓。這個功能的核心技術是語音識別和字幕轉寫對齊的服務,如下圖所示:

一段長音頻通過在端上的分片分成以 1 分鐘爲單位的音頻切割文件(segment),傳輸到服務端,服務端拿到文件之後先進行一次極速文件轉寫(transcription),這個轉寫的過程需要與 NUI 服務進行交互,拿到結果轉寫結果之後,把結果和原音頻一起送到強對齊算法(forced alignment),輸出帶時間戳的逐字轉寫結果(aligned transcription)。使用了該功能之後,能讓這一類口播視頻的生產達效率大幅提升。

▐短視頻語音降噪

在口播的短視頻裏面,人聲是前景聲,其他聲音一般都是背景聲。背景聲有時是有用的聲音,比如背景音樂,或者和講解場景或物品相關的關鍵性聲音;有時是無用的聲音,比如商場內的嘈雜聲音,或者馬路上的噪音。業務上通常有一種需求是去除無用的背景聲音,以讓前景聲音變得更加突出,讓短視頻裏面所呈現的信息更加清晰。淘寶音視頻算法團隊自研的智能降噪算法 Alidenoise 已經集成到 TaoAaudio 中,經過和競品降噪能力對比表明 Alidenoise 降噪效果優於競品,且處理的實時率能達到 1%,目前智能降噪能力已經輸出給短視頻編輯業務使用。

下面展示一組對比音頻:

原始音頻:

原始音頻 來自淘系技術 00:00 00:19

競品降噪:

競品降噪 20210408 來自淘系技術 00:00 00:19

Alidenoise 降噪:

Alidenoise 降噪 20210408 來自淘系技術 00:00 00:19

▐直播看點 ASR 和推薦

爲了提升直播時寶貝轉化的效率,優化用戶觀看直播時的購物體驗,淘寶直播向所有商家主播、達人主播,提供了 “直播看點” 的功能。直播看點有兩種形式,一種是主播手動打點,另外一種是智能打點。智能打點主要根據直播視頻中的目標識別進行自動打點,主播口播爲智能看點提供了另外一個維度的信息,使用語音識別技術把口播語音全部轉成文字信息,再使用語義理解技術提取主播所介紹的商品信息。

直播看點 ASR 完整的功能實現涉及到語音識別、信號重採樣、語音降噪等技術,其中語音降噪的選擇對識別的準確性有較大的影響。除了把聲音內容作爲打點的特徵,還可以從聲音類型的角度出發,檢測當前主播是否在說話、直播間是否有音樂,或者處於哪種聲學環境,把聲音作爲一個維度信息進行直播間的推薦。當前 TaoAudio 已經具備上述技術能力,能夠快速輔助業務實現對應的功能。

▐直播語音評論

評論區作爲直播間的核心互動功能,可以通過評論提升直播間互動率和用戶直播間停留時長。直播評論如果只有文字的話,形態比較單一,語音評論可以讓粉絲在觀看直播的時候用語音進行評論,使粉絲和主播的互動更加有趣。

語音評論技術鏈比較長,涉及到客戶端語音採集、編解碼、播放、語音識別轉文字和服務端語音存儲、內容審覈,在主播端,主播播放出語音評論,還涉及到聲音的控制和回聲消除算法。語音評論鏈路上所涉及到音頻相關的需求,TaoAudio 均能很好的滿足。

▐短視頻旁白生成和音效處理

短視頻裏面需要有旁白,這些旁白可以是機器生成的人聲,或者真實錄制的人聲。很多時候用戶不希望自己的真實聲音出現在短視頻中,便會選擇生成的聲音作爲旁白,或者對自己錄製的聲音進行各種音效處理以隱藏自己的真實聲音。

在淘系的短視頻製作工具 MAI 編輯器和親拍 APP 中均都接入了 TaoAudio 的文字轉語音的功能,這些功能可以很方便的生成不同音色、不同語速、不同語調的人聲。在有人聲的基礎上,用戶可以很自由的對人聲進行各種變換,包括變速、變調、變聲、美聲等等,這些技術均可通過 TaoAudio 內集成的 Soundmod 實現。

總結 & 展望

總的來說,當前 TaoAudio 作爲內容平臺的音頻解決方法,支持了多種音頻相關的業務需求,從剛開始遇到的各種問題,到現在問題逐步的收斂,SDK 的功能越來越穩健。淘系技術音視頻團隊會繼續豐富算法能力,比如 AI 結合的語音增強、智能音頻檢測、短視頻自動配樂,音樂理解和生成,同時達摩院語音技術團隊在不斷優化升級語音交互性能,例如和 MNN 共建的端上喚醒技術、離線語音識別等也都相繼要上線來滿足直播業務的需求。

未來,TaoAudio 將基於現有的功能繼續打磨,保證穩定性的同時進一步提升體驗,並且將朝以下幾個方向繼續發展:

1)算法能力擴展:豐富直播互動音頻類算法,從音頻層面支持更多業務玩法和功能需求

2)端側 AI:結合傳統信號處理和 AI,提升算法效果,基於 MNN 框架提升算法效率,實現大部分音頻 AI 算法端上部署,比如端上 ASR 技術,智能 VAD 技術,智能 PLC 技術等;

3)雲端一體:端雲相互配合,實現雲端部署複雜算法和功能的能力

歡迎業內專家朋友們前來交流:zhuangshu.wlb@alibaba-inc.com

作者 | 莊恕,蟲娃,屠零,遠至

編輯 | 橙子君

出品 | 阿里巴巴新零售淘系技術

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/YExt0D_7hUt-GMUsr-AK8A