AEC定義聲學回聲(AcousticEcho)電話的揚聲器的聲音(包括反射聲),被麥克風拾取傳送給遠端,使得遠端說話人又聽到自己的聲音,廣義回聲指的是設備喇叭和自身麥克風的耦合現象都稱為回聲。回聲消除AEC(AcousticEchoCancellation)一般指的是聲學回聲消除,其主要用于抑制產品本身發出的聲音,使得產品在播放音頻時依然可以進行語音交互;隨著秒新月異的科技發展,各項技術成果不斷地應用在我們日益拓展的各領域需求當中,刷新著我們的生活和工作。地球村的崛起,不斷以互聯網、物聯網等方式揭示著萬物相連的關系。無論是飛機、高鐵還是電話、網絡,都成為托起地球新村時空縱橫的重要載...
n)后,被麥克風采集到的信號,此時經過房間混響以及麥克風采集的信號y(n)已經不能等同于信號x(n)了,我們記線性疊加的部分為y'(n),非線性疊加的部分為y''(n),y(n)=y'(n)+y''(n);s(n):麥克風采集的近端說話人的語音信號,即我們真正想提取并發送到遠端的信號;v(n):環境噪音,這部分信號會在ANS中被削弱;d(n):近端信號,即麥克風采集之后,3A之前的原始信號,可以表示為:d(n)=s(n)+y(n)+v(n);s'(n):3A之后的音頻信號,即準備經過編碼發送到對端的信號。WebRTC音頻引擎能夠拿到的已知信號只有近端信號d(n)和遠端參考信號x(n...
這將不止產生一次的回聲,而是多次規律的回聲現象。AEC即AcousticEchoCancellation(聲學回聲消除)技術簡稱,該技術的出現旨在消除這種因遠程網絡會議所帶來的回授現象,以遏制次回聲產生所需的必要條件來遏制多次回聲的出現。為什么要費那么大周折去抑制回聲?這個話題應該不言而喻了。會議、語音擴聲講究的即是STI語音清晰度(可懂度),而回聲是語言清晰度的比較大。設想踩腳跟式的語音信號傳達到耳朵,聽者難受,講者費勁,對于這樣的語音會議來說,那必將是一場災難。我們把聲學回聲消除這個技術變成一張實體的插件(設備插卡),在系統中,為實現次回聲過濾(過濾回聲源則過濾多次回聲)。這個技術應該插入...
可以準確快速的進行底噪測試。下圖TWS耳機中的左耳,在喇叭播放空聲源時,喇叭端有略微的電流聲底噪,右耳無此不良現場,通過指南測控的標準聲學測試系統進行左右耳TWS聲學測試,可以在底噪測試步驟中檢測到,有底噪異常的左耳的一些頻段能量值偏高,無底噪問題的右耳的表現就“平順”很多。再結合與更多正常品的對比和設定合理的limits,可以快速準確的檢查出耳機在各種狀態下的底噪不良。耳機回聲回聲來自于非預期的泄露,一般分為電學回聲和聲學回聲。前者一般由于麥克風和揚聲器線路布局不合理的電路耦合造成,后者則是由于麥克風和揚聲器的聲學泄露耦合而成。對于回聲不良的耳機來說,在通話時,耳機喇叭播放的聲音信號通過麥克...
為什么聲學器件的小型化容易產生非線性的失真呢?這個需要從喇叭發聲的基本原理說起,我們都知道聲波的本質是一種物理振動,而喇叭發聲的基本原理就是通過電流來驅動喇叭的振膜發生振動之后,這個振膜會帶動周圍的空氣分子相應發生振動,這樣就產生了聲音。如果我們要發出一個大的聲音的話,那么就需要在單位時間內用更多的電流去驅動更多的空氣分子發生振動。假設有大小不同的兩個喇叭,他們用同樣的功率去驅動,對于大喇叭而言,由于它跟空氣接觸的面積要大一些,所以他在單位時間內能夠帶動更多的空氣分子振動,所以它發出來的聲音也會大一些。而小喇叭如果想發出跟大喇叭一樣大的聲音,就需要加大驅動功率,這樣會帶來一個問題:...
對麥克接收到的聲學信號進行調制,而這種振動本質上是一種隨機的、非線性的振動,所以它必然會帶來非線性失真。3.手機聲學特性調研,我們之前針對市面上主要的手機機型做過一次調研,主要調查聲學特性。結果我們很驚訝地發現,市面上超過半數的手機機型,聲學特性不夠理想,對應這里面的“較差”和“極差”這兩檔。我們平時用手機開外音玩游戲,或者語音通話時,經常會出現漏回聲問題和雙講剪切問題,就與手機聲學特性不佳有直接聯系。當然這組數據只是針對手機這種電子產品,市面上類似于手機這樣的電子產品還有很多,它們應該也有類似的問題。這組數據告訴我們,非線性失真問題在我們生活中的電子產品里是一個普遍存在的問題,我...
男人說話的聲頻為~150Hz,女人說話聲頻為~230Hz,發動機聲頻為~250Hz,絕大部分機器的噪音也是以低頻為主的中低頻噪音),9.聲音頻率(聲頻)聲波在單位時間內的振動次數稱為頻率(frequency),單位赫(Hz)。人耳能夠聽到的聲音的整個范圍是20~20000Hz,一般把聲音頻率分為低頻(500Hz以下)、中頻(500-1000Hz)和高頻(1000Hz以上)三個頻帶。聽覺好的成年人能聽到的聲音頻率常在30~16000Hz之間,老年人則常在50~10000Hz之間。10.混響聲源停止發音后,產生的聲音延續現象。11.混響時間當聲場達到穩定的狀態后,突然關掉聲源使其停止發...
噪聲抑制和聲源分離同屬于語音增強的范疇,如果把噪聲理解為廣義的噪聲三者之間的關系,噪聲抑制需要準確估計出噪聲信號,其中平穩噪聲可以通過語音檢測判別有話端與無話端的狀態來動態更新噪聲信號,進而參與降噪,常用的手段是基于譜減法(即在原始信號的基礎上減去估計出來的噪聲所占的成分)的一系列改進方法,其效果依賴于對噪聲信號估計的準確性。對于非平穩噪聲,目前用的較多的就是基于遞歸神經網絡的深度學習方法,很多Windows設備上都內置了基于多麥克風陣列的降噪的算法。效果上,為了保證音質,噪聲抑制允許噪聲殘留,只要比原始信號信噪比高,噪且聽覺上失真無感知即可。單聲道的聲源分離技術起源于傳說中的雞尾...
n)后,被麥克風采集到的信號,此時經過房間混響以及麥克風采集的信號y(n)已經不能等同于信號x(n)了,我們記線性疊加的部分為y'(n),非線性疊加的部分為y''(n),y(n)=y'(n)+y''(n);s(n):麥克風采集的近端說話人的語音信號,即我們真正想提取并發送到遠端的信號;v(n):環境噪音,這部分信號會在ANS中被削弱;d(n):近端信號,即麥克風采集之后,3A之前的原始信號,可以表示為:d(n)=s(n)+y(n)+v(n);s'(n):3A之后的音頻信號,即準備經過編碼發送到對端的信號。WebRTC音頻引擎能夠拿到的已知信號只有近端信號d(n)和遠端參考信號x(n...
這將不止產生一次的回聲,而是多次規律的回聲現象。AEC即AcousticEchoCancellation(聲學回聲消除)技術簡稱,該技術的出現旨在消除這種因遠程網絡會議所帶來的回授現象,以遏制次回聲產生所需的必要條件來遏制多次回聲的出現。為什么要費那么大周折去抑制回聲?這個話題應該不言而喻了。會議、語音擴聲講究的即是STI語音清晰度(可懂度),而回聲是語言清晰度的比較大。設想踩腳跟式的語音信號傳達到耳朵,聽者難受,講者費勁,對于這樣的語音會議來說,那必將是一場災難。我們把聲學回聲消除這個技術變成一張實體的插件(設備插卡),在系統中,為實現次回聲過濾(過濾回聲源則過濾多次回聲)。這個技術應該插入...
AEC定義聲學回聲(AcousticEcho)電話的揚聲器的聲音(包括反射聲),被麥克風拾取傳送給遠端,使得遠端說話人又聽到自己的聲音,廣義回聲指的是設備喇叭和自身麥克風的耦合現象都稱為回聲。回聲消除AEC(AcousticEchoCancellation)一般指的是聲學回聲消除,其主要用于抑制產品本身發出的聲音,使得產品在播放音頻時依然可以進行語音交互;隨著秒新月異的科技發展,各項技術成果不斷地應用在我們日益拓展的各領域需求當中,刷新著我們的生活和工作。地球村的崛起,不斷以互聯網、物聯網等方式揭示著萬物相連的關系。無論是飛機、高鐵還是電話、網絡,都成為托起地球新村時空縱橫的重要載...
我們比較這兩個之后就會發現,雙講段主要出現在中間這一段。我們評估雙講性能的主要指標是回聲抑制比和近端語音失真度。上面這是經過回聲消除之后的語譜,中間的是NLMS算法的結果。我們可以看到它的回聲抑制不是很理想,不管在單講段還是在雙講段,都有比較多的回聲殘留。而下面這個是采用雙耦合算法得到的語譜,可以看到在單講和雙講里面回聲抑制得都比較干凈,并且在雙講里,對近端語音的損傷也很小。這個數據對應視頻會議場景,因此還需要做一步NLP的處理。上面這個就是基于雙耦合算法,做了NLP之后的輸出結果。我們可以看到處理完之后,整個語譜很清晰,回聲去得很干凈,而且語譜沒有太大損傷,雙講很通透。我再來簡單總結一下,主...
我們比較這兩個之后就會發現,雙講段主要出現在中間這一段。我們評估雙講性能的主要指標是回聲抑制比和近端語音失真度。上面這是經過回聲消除之后的語譜,中間的是NLMS算法的結果。我們可以看到它的回聲抑制不是很理想,不管在單講段還是在雙講段,都有比較多的回聲殘留。而下面這個是采用雙耦合算法得到的語譜,可以看到在單講和雙講里面回聲抑制得都比較干凈,并且在雙講里,對近端語音的損傷也很小。這個數據對應視頻會議場景,因此還需要做一步NLP的處理。上面這個就是基于雙耦合算法,做了NLP之后的輸出結果。我們可以看到處理完之后,整個語譜很清晰,回聲去得很干凈,而且語譜沒有太大損傷,雙講很通透。我再來簡單總結一下,主...
26.聲聚焦指凹面對聲波形成集中反射、使反射聲聚集于某個區域,造成聲音在該區域特別響的現象。聲聚集造成聲能過分集中,使聲能匯聚點的聲音嘈雜,而其他區域聽音條件變差,擴大了聲場不均勻度,嚴重影響聽眾的聽音條件。27.聲影區由于障礙物或折射的原因,產生聲音輻射不到的區域。在聲影區內聲壓級很低,音量很輕。因此聲影區的存在也是聲壓不均勻的原因。28.聲染色由于室內頻率響應的變化,使原始聲音被賦予外加的音色特點。容積小的聽音室,本征頻率在低頻端分布不夠密集連續,因此在低頻段易產生“共振”的音染現象。共振現象產生的聲染色效應,引起聲音信號的失真,產生主觀聽感上的厭惡情緒,嚴重影響聽音效果。29...
這樣會帶來一個新的問題:按照Widrow的自適應濾波理論,濾波器的長度越長,其收斂速度越慢,同時權噪聲越大,進而導致強混響下回聲消除不夠理想。第二個問題是延時跳變問題。在實時音視頻通話領域,延時跳變是一個比較普遍的問題。主要現象是麥克端采集的信號和回聲參考信號之間的時延關系會發生跳變,每次跳變之后就需要重新對齊信號,就會漏一些回聲出來。第三個問題是嘯叫問題。嘯叫的檢測和嘯叫的抑制是公認的在回聲領域的經典難題。還有雙講問題。雙講是評估回聲消除算法性能的一個重要指標,當然也是很難處理的一個問題,因為雙講很容易導致濾波器系數發散。綜合以上這些維度我們可以看到,非線性的聲學回聲消除是一個很...
也就是說吸聲可提高音質,但對降噪能力效果不好。3.吸聲系數在一定面積上被吸收的聲能與射入聲能之比稱之為該界面的吸聲系數(α)。當入射聲能被完全反射時,α=0,表示無吸聲作用;當入射聲波完全沒有被反射時,α=1,表示完全被吸收。一般材料或結構的吸聲系數α=0~1,α值越大,表示吸聲能越好,它是目前表征吸聲性能常用的參數。4.吸聲量又稱等效吸聲面積,等于吸聲材料面積與其吸聲系數的乘積。單位為平方米。5.吸聲材料吸聲系數大于(acousticalabsorptionmaterials)。吸聲材料是多孔、疏散的材質,常用的吸聲材料有玻璃棉、巖棉、聚酯纖維吸音板、羊毛氈、礦渣棉、卡普隆纖維、...
我們比較這兩個之后就會發現,雙講段主要出現在中間這一段。我們評估雙講性能的主要指標是回聲抑制比和近端語音失真度。上面這是經過回聲消除之后的語譜,中間的是NLMS算法的結果。我們可以看到它的回聲抑制不是很理想,不管在單講段還是在雙講段,都有比較多的回聲殘留。而下面這個是采用雙耦合算法得到的語譜,可以看到在單講和雙講里面回聲抑制得都比較干凈,并且在雙講里,對近端語音的損傷也很小。這個數據對應視頻會議場景,因此還需要做一步NLP的處理。上面這個就是基于雙耦合算法,做了NLP之后的輸出結果。我們可以看到處理完之后,整個語譜很清晰,回聲去得很干凈,而且語譜沒有太大損傷,雙講很通透。我再來簡單總結一下,主...
為什么要費那么大周折去抑制回聲?這個話題應該不言而喻了。會議、語音擴聲講究的即是STI語音清晰度(可懂度),而回聲是語言清晰度的比較大。設想踩腳跟式的語音信號傳達到耳朵,聽者難受,講者費勁,對于這樣的語音會議來說,那必將是一場災難。我們把聲學回聲消除這個技術變成一張實體的插件(設備插卡),在系統中,為實現次回聲過濾(過濾回聲源則過濾多次回聲)。這個技術應該插入在系統的哪個環節呢?我們不妨來找找系統中具備近乎相同/相似信號的一級進出環節。我們并不難發現一組具備相似信號的輸入輸出環節。而AEC技術認為,在這里對回聲下手是治根的辦法!市面上有多種類的回聲消除器,也有部分抑制器,其算法和解決辦法各...
他的是線性回聲傳遞函數。基于這樣的數學假設,我們收到的信號y就可以表示成發射的信號x分別跟這樣兩個傳遞函數進行卷積之后的結果。接下來我們對這個模型進行了適當的簡化,簡化主要是基于數學分解,我們假設非線性的傳遞函數,可以分解成線性跟非線性這樣兩個系統函數的組合形式,就會得到中間的方程。接下來對中間的方程進行變量替換,就得到這個表達式,這個表達式它的物理意義很清晰,我們從可以看到,整個回聲路徑是可以表示成線性回聲路徑跟非線性回聲路徑二者之和的形式,這是它的物理意義。2.雙耦合自適應濾波器,基于這樣一個數學模型,接下來我們就構建了一種新的濾波器結構,稱之為雙耦合自適應濾波器。這個濾波器跟...
非線性聲學回聲消除技術,非線性的聲學回聲消除問題,在實際聲學系統里面非常普遍也非常棘手,到目前為止還沒有特別有效的辦法來解決。目前介紹非線性聲學回聲消除的公開文獻也少之又少。如何處理非線性聲學回聲消除的,效果又如何?將從非線性聲學回聲消除產生的原因、研究現狀、技術難點出發,詳細介紹雙耦合的聲學回聲消除算法以及實驗檢驗結果。我要講的內容是《非線性聲學回聲消除技術》,之所以選擇這樣的方向,主要是基于兩個方面的原因:非線性的聲學回聲消除問題是一個困擾了行業很多年的技術難題,這個問題在實際的聲學系統里非常普遍,同時又很棘手,到目前為止,還沒有特別有效的辦法。我猜測大家應該會對這個課題感興趣...
至于雙講恢復能力WebRTCAEC算法提供了{kAecNlpConservative,kAecNlpModerate,kAecNlpAggressive}3個模式,由低到高依次不同的抑制程度,遠近端信號處理流程,NLMS自適應算法(上圖中橙色部分)的運用旨在盡可能地消除信號d(n)中的線性部分回聲,而殘留的非線性回聲信號會在非線性濾波(上圖中紫色部分)部分中被消除,這兩個模塊是WebrtcAEC的模塊。模塊前后依賴,現實場景中遠端信號x(n)由揚聲器播放出來在被麥克風采集的過程中,同時包含了回聲y(n)與近端信號x(n)的線性疊加和非線性疊加:需要消除線性回聲的目的是為了增大近端信...
在線性的回聲場景里,雙耦合的非線性濾波器是處于休眠的狀態,所以它的值是趨于0的,這個時候起主導作用的是線性濾波器。接下來我們再看一下右邊的非線性聲學回聲場景。我們假設非線性的失要出現在t1到t2這個時間段內,大家可以看到黃色線在這個時間里,出現了一次突變,對于NLMS算法,當出現非線性失真之后,它的線性濾波器會去逼近非線性失真。但是由于學習的速度跟不上濾波器變化的速度,所以它跟真實的值之間總是存在一個比較大的gap。同時當非線性失真消失之后,它還需要一段時間恢復到正常狀態,因此在整個時間段里,都會出現回聲泄露的問題。接下來我們再看雙耦合算法,在非線性失真出現之后,線性濾波器會進入到...
n)中的回聲是揚聲器播放遠端參考x(n),又被麥克風采集到的形成的,也就意味著在近端數據還未采集進來之前,遠端數據緩沖區中已經躺著N幀x(n)了,這個天然的延時可以約等于音頻信號從準備渲染到被麥克風采集到的時間,不同設備這個延時是不等的。蘋果設備延時較小,基本在120ms左右,Android設備普遍在200ms左右,低端機型上會有300ms左右甚至以上。(2)遠近端非因果為什么會導致回聲?從(1)中可以認為,正常情況下當前幀近端信號為了找到與之對齊的遠端信號,必須在遠端緩沖區沿著寫指針向前查找。如果此時設備采集丟數據,遠端數據會迅速消耗,導致新來的近端幀在向前查找時,已經找不到與之...
為什么又這么冷呢?我能想到的一個答案是它太難了,它非常有挑戰性。下面就來看一下它的技術難點。5非線性聲學回聲消除的技術難點,我從6個不同的維度比較了線性的和非線性這兩種回聲消除問題。個維度,系統傳遞函數。在線性系統里面,我們認為系統傳遞函數是一個緩慢時變的系統,我們可以通過自適應濾波的方式去逼近這個傳遞函數,來有效抑制回聲。而在非線性系統里面,系統傳遞函數通常是快變、突變的,我們如果用線性的方法去逼近的話,會出現濾波器的更新速度,跟不上系統傳遞函數變化的速度,就會導致聲學回聲消除不理想。第二個維度是優化模型,在線性里面我們是有一套非常完備的線性優化模型,從目標函數的構建到系統優化問...
我們比較這兩個之后就會發現,雙講段主要出現在中間這一段。我們評估雙講性能的主要指標是回聲抑制比和近端語音失真度。上面這是經過回聲消除之后的語譜,中間的是NLMS算法的結果。我們可以看到它的回聲抑制不是很理想,不管在單講段還是在雙講段,都有比較多的回聲殘留。而下面這個是采用雙耦合算法得到的語譜,可以看到在單講和雙講里面回聲抑制得都比較干凈,并且在雙講里,對近端語音的損傷也很小。這個數據對應視頻會議場景,因此還需要做一步NLP的處理。上面這個就是基于雙耦合算法,做了NLP之后的輸出結果。我們可以看到處理完之后,整個語譜很清晰,回聲去得很干凈,而且語譜沒有太大損傷,雙講很通透。我再來簡單總結一下,主...
非線性聲學回聲消除技術,非線性的聲學回聲消除問題,在實際聲學系統里面非常普遍也非常棘手,到目前為止還沒有特別有效的辦法來解決。目前介紹非線性聲學回聲消除的公開文獻也少之又少。如何處理非線性聲學回聲消除的,效果又如何?將從非線性聲學回聲消除產生的原因、研究現狀、技術難點出發,詳細介紹雙耦合的聲學回聲消除算法以及實驗檢驗結果。我要講的內容是《非線性聲學回聲消除技術》,之所以選擇這樣的方向,主要是基于兩個方面的原因:非線性的聲學回聲消除問題是一個困擾了行業很多年的技術難題,這個問題在實際的聲學系統里非常普遍,同時又很棘手,到目前為止,還沒有特別有效的辦法。我猜測大家應該會對這個課題感興趣...
需要注意的是,如果index在濾波器階數兩端瘋狂試探,只能說明當前給到線性部分的遠近端延時較小或過大,此時濾波器效果是不穩定的,需要借助固定延時調整或大延時調整使index處于一個比較理想的位置。線性部分算法是可以看作是一個固定步長的NLMS算法,具體細節大家可以結合源碼走讀,本節重點講解線型濾波在整個框架中的作用。從個人理解來看,線性部分的目的就是很大程度的消除線性回聲,為遠近端幀判別的時候,很大程度地保證了信號之間的相干值(0~1之間,值越大相干性越大)的可靠性。我們記消除線性回聲之后的信號為估計的回聲信號e(n),e(n)=s(n)+y''(n)+v(n),其中y''(n)為...
WebRtcAec_Process接口如上,參數reported_delay_ms為當前設備需要調整延時的目標值。如某Android設備固定延時為400ms左右,400ms已經超出濾波器覆蓋的延時范圍,至少需要調整300ms延時,才能滿足回聲消除沒有回聲的要求。固定延時調整在WebRTCAEC算法開始之初作用一次,為什么target_delay是這么計算?inttarget_delay=startup_size_ms*self->rate_factor*8;startup_size_ms其實就是設置下去的reported_delay_ms,這一步將計算時間毫秒轉化為樣本點數。160...
WebRTCAEC算法中開辟了可存儲250個block大緩沖區,每個block的長度PART_LEN=64個樣本點,能夠保存的1s的數據,這也是理論上的大延時能夠估計的范圍,夠用了。我們用610ms延時的數據測試(啟用大延時調整需要設置delay_agnostic_enabled=1):我們還是設置默認延時為240ms,剛開始還是調整了-60個block,隨后大延時調整接入之后有調整了-88個block,一共調整(60+88)*4=592ms,之后線性濾波器固定index=4,表示剩余延時剩余16ms,符合預期。③線性濾波器延時估計是固定延時調整和大延時調整之后,濾波器對當前遠近端延時的直接反...
而在模擬音頻大舉轉向數字音頻、網絡音頻的,網絡信號的延遲也為音頻領域賦予了新的現象,尤其應用在遠程會議這樣的音頻傳輸系統當中,它能將一次次回授剝離成一次次聽似回聲的現象,這就是網絡音頻回聲。通常由A地發出的聲源A在幾乎不經過延遲處理的本地系統中,通過A地音箱擴聲;而其經過網絡終端編碼送向遠端時,除了考慮A地的上傳時間X,還得考慮B地的下載時間Y。在這樣一個架構在Internet網絡傳輸環境中的聲音,其到達B地擴聲音箱出來的信號則是A+X+Y。經B地本地話筒拾取后的該信號,再由B地的上傳網速(時間)Z、A地的下載時間W傳送回A地擴聲音箱,其表現出的信號則會出現一次A信號,及一次賦予了...