亚洲综合伊人,成人欧美一区二区三区视频不卡,欧美日韩在线高清,日韩国产午夜一区二区三区,大胆美女艺术,一级毛片毛片**毛片毛片,你瞅啥图片

您當前的位置是:  首頁 > 新聞 > 專家觀點 >
 首頁 > 新聞 > 專家觀點 >

靠“喂喂喂”來測試實時語音質(zhì)量靠譜嗎?

2016-11-02 09:48:16   作者:   來源:CTI論壇   評論:0  點擊:


\  

  陳若非,現(xiàn)在任職聲網(wǎng)Agora.io的音頻技術,負責整個音頻技術架構。在香港城市大學讀博士期間是音頻方面的諸多重要會議和期刊的主編。這位同學在以前的工作經(jīng)驗里積累了大量關于音頻的降噪、混合、雙麥等等這方面的工作經(jīng)。
  大家下午好,很高興今天有機會和大家分享一下:讓我們的APP實現(xiàn)實時語音功能時,我們需要做哪些測試?要怎么樣做這些測試才能保證上線后是穩(wěn)定沒有問題的。
  有的開發(fā)者說,他們自己做了實時語音的功能,在自己的測試中覺得沒有問題,在公司測得都很好,也通過了。上線后,收到很多用戶反饋:為什么你的語音這么卡,為什么有回聲,為什么會有雜音?。他們才發(fā)現(xiàn)這些問題其實并不是這么容易定位的,也不能像平時我們解BUG那樣快速修復這樣的問題。再追溯回來他們發(fā)現(xiàn)這背后跟很多網(wǎng)絡相關的優(yōu)化、音頻底層的算法都有很大的關系,這一塊他們自己也解決不了,所以就會出現(xiàn)比較尷尬的局面。所以,希望在今天的演講之后可以給大家一些更豐富的手段,幫助大家去評估一下自己手里的音頻引擎效果是怎么樣的。
  首先,我們來講講實時語音的發(fā)展。我相信大家對實時語音這樣的功能應該比較了解。實時語音發(fā)展已經(jīng)有幾十年的歷史,近幾年越來越多的APP提供了這個功能,包括微信、陌陌。越來越多的用戶愿意使用實時語音功能,從側(cè)面說明一個問題,實時語音這個功能已經(jīng)達到可以商業(yè)化的地步了。
  這背后,我們這兩年網(wǎng)絡基礎設施的升級,智能終端設備的更新?lián)Q代,包括現(xiàn)在流行的WebRTC技術的快速發(fā)展,都為實時語音野蠻省長提供非常肥沃的土壤。我們非常高興地看到,除了社交之外,游戲、直播、在線醫(yī)療、在線教育這些行業(yè)對實時語音需求都是非常強烈。
  那么問題來了,當我們有一個語音引擎在手里,我們已經(jīng)調(diào)通了,出聲了,到上線究竟還有多遠?這個問題其實是見仁見智的。我們跟一些開發(fā)者打交道下來,聽到比較多的兩種聲音是:我現(xiàn)在就想做視頻應用,看臉的世界,出聲就可以;還有一種,我覺得音頻很重要,但是我不知道怎么測?我要如何來做測試才能保證上線后的穩(wěn)定?要回答這兩個問題我們首先來看一下我們實時語音到底有哪些特征?
\
  實時語音到底有哪些特征?
  首先,實時語音的完備性要求非常高。我們不可否認語音是溝通的本質(zhì),是信息的載體。如果我們在通話中語音信息丟失了,這個對話是根本不能繼續(xù)下去的。這實際上說明了,我們首先對實時語音的完備性要求是非常高的,而且用戶對這部分的音頻問題容忍度是非常低的。
  第二,實時語音其實是隨機性很大。我們要做基于互聯(lián)網(wǎng)的實時語音,也決定了我們繞不開網(wǎng)絡的丟包、延時的問題,所以這部分又決定了實時語音其實是隨機性很大的。
  第三,問題的多元性。這個問題怎么解釋?舉個例子,大家平時有人會給你報你的語音卡頓,到底是什么原因?你首先想到的肯定是網(wǎng)絡,網(wǎng)絡會卡頓。其實還有別的原因會引起卡頓,比如設備CPU負荷很高時,錄放音調(diào)度有問題,也會導致聲音的卡頓。更隱性的問題,比如回聲消除,兩個人同時說話時,這邊開著外放,收回去的時候兩個聲音混在一起,過程中會有損傷,造成斷續(xù)。通過這些例子,可以想見,實時語音的問題很難去定位。
  最后,對錄放音設備的依賴。我們每個人都有自己的嘴和耳朵,設備也一樣,有揚聲器和麥克風,而且它還有更多的外設。所以,其實最后的聽感體驗很大程度受到錄放音設備的制約,這也決定了音頻的問題其實是碎片化的。
  我們可以看到,這四個問題其實都是很難搞的問題,這也決定了用喂喂喂或者簡單幾次測試不可能很好覆蓋整個音頻測試。
  來總結一下,我們這里把影響語音質(zhì)量的因素分為三類:
  網(wǎng)絡問題:丟包,或者抖動,都會導致聽感滯后或者斷續(xù);
  設備問題:很突出,在一些低端的安卓機上,聲學設計并不理想。揚聲器之間的耦合很大,或者揚聲器的非線性很大,導致你的算法不能很好貫通在上面,導致聽感上有一些卡頓、毛刺的問題。
  物理環(huán)境:比如我在一個很吵的環(huán)境和你打電話,或者我在很小的房間跟你打電話感覺是不一樣的;還有遠場拾音,比如做電視應用,必須要在2米以外收音,這個時候麥克風的拾音效果決定了音頻聽到的體驗。
  這么多復雜的問題,業(yè)界一般怎么處理?
\
  手機公司會有很大的消聲室,是用來規(guī)避一些不確定外界聲源的影響。還需要有人工頭、人工嘴和人工耳做高保真的放音和收音,四周有高保真的音響放出自由場的噪聲源,模擬不同網(wǎng)絡狀況。會測試回聲,語音在干凈或噪聲環(huán)境下的得分,雙降的性能。每個手機出場之前都會做這樣的測試。
  但這一般開發(fā)者來說門檻很高,這樣一套設備很貴,我們有沒有更經(jīng)濟合理的方法做測試?
  我們也總結了一下,聲網(wǎng)在實踐中覺得比較適合開發(fā)者自己去做,在上線前自測的一些方法,這里也按我們之前提到的三個歸類,網(wǎng)絡、設備和物理環(huán)境講一下。
  首先,網(wǎng)絡部分。有TC跟NetEM,都可以模擬,如果具體步驟不清楚的同學,可以查看這個教程。
  你還在靠“喂喂喂”來測語音通話質(zhì)量嗎,看完這篇文章你就能掌握正確姿勢
  這里面可能不能涵蓋所有的丟包,但是基本上也能測到語音在不同丟包下的表現(xiàn),可以測到引擎的極限在哪里。聲網(wǎng)的引擎基本現(xiàn)在做到在TC下,30%的丟包是無感的,70%的丟包可以正常的通話。
  還有一個比較重要的是:跨運營商的測試。這一點很多客戶是不重視的,自己在公司內(nèi)用P2P測覺得很好,一上線就有很多問題。在中國,跨運營商的丟包,或者2G、3G、4G移動網(wǎng)絡下會有很多問題,建議大家在這方面做足夠測試再上線。
  其次,設備的問題。大家在一些平板電腦測試覺得聲學很好,調(diào)的也很好,底層也有算法。但是,到安卓之后就變得非常的麻煩。很多低端的安卓機,底層錄音的通路沒有調(diào)好,底噪很大。而且,聲學設計不夠好,有很多非線性的問題需要適配。而這些問題如果只是在一個比較高端的機器上測,可能是不會體現(xiàn)的。所以,如果你的目標用戶中有很多這樣的機型,那么一定要在測試中把這一塊覆蓋好。同時,在聽筒、耳機、外放、藍牙,也需要去測,這些都是會影響用戶的體驗的細節(jié)。
  第三,物理場景。我們其實沒有辦法覆蓋非常多的場景,建議去下載一些語音降噪的序列、噪聲的序列,是免費的,可以在不同的信噪比情況下用來測試。遠場拾音,只要測一下不同的說話距離就能感覺到不同的體驗。
  我相信通過這三步的測試,你的語音引擎是基本可用的。
  另外,稍微講一下一些技術細節(jié)。
\
  我們常說的3A引擎是指:回聲消除、降噪和自動增益控制,這是所有音頻引擎中必須有的模塊。在測回聲時,需要留意降完回聲之后殘留的程度;雙講透明度,就是兩個人同時說話的時候會有多少聲音可以透過去;穩(wěn)定性是指在安卓上這些CPU比較高的情況之下可以穩(wěn)定運行的一個時間,收斂時間。 降噪,我降噪完聲音的殘留噪聲的程度和收斂時間。自動增益控制關注兩個點,第一收音距離多遠,第二,你把聲音推大,雜音也會推大,這個部分有沒有做特殊的處理?不然有人會說,你的這個聲音是很大,但是背景音一起推起來了,這時需要一些算法來做的更好。如果在1米、2米情況下不用AGC聲音已經(jīng)非常小,這里面必須有算法支持它。
\
  上圖的三個算法也是比較特殊場景下的算法,聲網(wǎng)在這三塊也做了比較多的工作。
  可懂度增強:如果我在很噪雜的環(huán)境,對方傳過來的聲音是不吵的,但是我聽著還是很累,因為我旁邊有很多讓我分心的聲音。這個時候,我們需要去評估現(xiàn)在的環(huán)境下的有多噪雜,從而調(diào)整下行的信號讓你聽得更清楚。
  盲源分離:指的是我們剛才的降噪說得是平穩(wěn)噪聲,對應在數(shù)學上也是用統(tǒng)計模型來做。但是在非平穩(wěn)信號下,可能需要有多麥技術來定位主講人聲源在哪,主要收主講人的聲音,其他的聲音屏蔽。
  嘯叫抑制:真實環(huán)境中并不是很多。在做音頻測試時,如果兩個手機開著外放,你就會聽到很尖銳的雜音一直響。這怎么辦?其實很簡單,只要把一臺插上耳機,把回環(huán)的通路打斷就不會叫。聲網(wǎng)自己做了嘯叫抑制的模塊,兩個手機都外放,即使不插耳機,我們也會把檢測到的尖銳雜音自動壓下來。
  如果做的應用是比較特殊的場景,比如直播、游戲,我們還有特殊的點需要注意。
\
  做直播,推流基本用44.1K,但聲音有效采樣取到多少才是真正重要的。左圖是32K的采樣,右圖那個雖然是44.1K的聲源,但其實有效頻率是8K,實際聽到的聲音會變悶的。
  ASMR,就是用立體聲錄音去給聽眾聽到空間感的音頻。那聲網(wǎng)在手機平臺上,第一個做到立體聲錄音和播放。這意味著,主播可以現(xiàn)在拿著這個立體聲的設備走到街上,一輛車開過去,其實直播的聽眾戴了耳機就能感覺到從左到右的效果。
  再講一下游戲,很特殊的場景。拿一個槍戰(zhàn)類的游戲舉例,在3D環(huán)境里可以聽到周圍有隊友開槍,可以聽到哪邊交火。如果玩家開了實時語音,自己開著外放。那么玩家開槍的聲音通過他的外放再被收回去,這部分回聲消除由于沒有參考信號就做不了。這個聲音傳過去會影響對方的判斷,直接降低玩家的游戲體驗。
  上線只是一個開始,上線之后,語音的碎片化問題還會不斷出現(xiàn)。那么就需要做兩方面的統(tǒng)計。
\
  全局監(jiān)控。來反饋全局質(zhì)量,是不是大部分用戶都比較好?上圖是聲網(wǎng)做的一個統(tǒng)計,反應每天使用用戶大概比例,用什么網(wǎng)絡什么系統(tǒng),音頻視頻打分如何,丟包率如何?如果你不是使用聲網(wǎng)的服務,你自己也需要做這樣一套系統(tǒng),來改進服質(zhì)量 。
  個例分析。全局反饋良好,但依然有用戶報問題,我的聲音聽不到怎么辦?聲網(wǎng)在實踐當中做了這樣一套系統(tǒng),可以根據(jù)用戶ID去查詳細的通話信息:包括一些碼率、CPU的情、音頻錄音大小可以自己看得到,這樣子就能定位問題。
  以下是現(xiàn)場提問
  提問:我問一個關于降噪的問題,你剛才的演示PPT里面沒有很清楚,降噪之后背景噪聲是消除越干凈越好?還是應該是有一定的率?
  陳若非:降噪有一個很大的問題,你壓得越多噪聲越低,語音失真也越大,這是必然的。如果你有一個噪音,失真率很小,如果壓得很多,非常干凈,這個聲音頻率上會特別高,聽起來尖尖的,不是很舒服。所以這需要你在實踐中自己去調(diào)到一個你認為最好的點,沒有絕對,我不知道這樣回答有沒有回答你的問題?
\

專題