• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 專(zhuān)家觀(guān)點(diǎn) >

    靠“喂喂喂”來(lái)測試實(shí)時(shí)語(yǔ)音質(zhì)量靠譜嗎?

    2016-11-02 09:48:16   作者:   來(lái)源:CTI論壇   評論:0  點(diǎn)擊:


    \  

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

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 寿宁县| 承德市| 拉萨市| 辽阳县| 峨眉山市| 铜鼓县| 平果县| 沅陵县| 厦门市| 新平| 阆中市| 缙云县| 新疆| 福清市| 开化县| 榆林市| 启东市| 鹤庆县| 信丰县| 玉溪市| 弥渡县| 隆尧县| 固始县| 师宗县| 达州市| 根河市| 辉县市| 始兴县| 邛崃市| 阿克苏市| 凌源市| 柏乡县| 西乌| 册亨县| 汶上县| 南昌市| 临猗县| 皮山县| 丹巴县| 西乌珠穆沁旗| 涟源市| http://444 http://444 http://444 http://444 http://444 http://444