解析人工智能電視遠場語音設計
基礎功能硬件實現架構如圖1,采用4麥克風條形線性陣列,模擬麥克風經ADC傳輸音頻信號給MCU處理。MCU采用ST的STM32F401CDU6作為主控方案,STM32F401CDU6是一顆32位 ARM核芯片,內置512 KB Flash/96 KB RAM,低延遲,工作頻率高達84 MHz,支持寬電壓1.7 V~3.6 V。模塊方案通過ADC將A-MIC模擬信號轉成I2S傳輸給MCU,MCU通過USB2.0和TV SOC傳輸音頻數據。通過麥克風陣列模塊搭配算法有效實現聲源定位、波束成形、去混響、降噪、增益調節、回聲消除等功能。
1麥克風選料
麥克風選用靈敏度-25 dB,信噪比74 dB的A-MIC,同時采用接線外拉的形式,有效避免生產過程中因高溫焊接導致的麥克風靈敏度下降或損壞等問題,保證陣列麥克風靈敏度的一致性,對整體算法的精確度有比較好的控制和要求。不過相應的會對整機生產裝配造成難度以及增加人工成本,設計之初需要做好防呆設計,提高安裝可靠性和效率。
2供電設計
模塊采用獨立的供電,電視待機時,可支持通過模塊待機喚醒操作。模塊需要區分電視待機和開機狀態,開機狀態下,喚醒詞拉起語音應用。待機狀態下,喚醒詞本地處理通過I/O口發起開機信號。因此待機時,供電關閉500ms后重啟,模塊重新讀取USB數據信號是否為空,以此來判斷主機狀態。
3參考信號設計
參考信號指的是主機端提供給模塊的音頻參考,作為回聲消除算法的依據。參考音頻由功放輸出信號,經過分壓、濾波后傳輸給模塊。根據芯片取值范圍要求,確保輸入到模塊的參考信號幅值≤1 Vrms,即圖2中從AMP+/-經分壓后到SPK+/-的信號≤1 Vrms。
這里提到另外一種分壓方式,如圖3,由于R36、R38阻值存在誤差以及喇叭的寄生電容等影響,改變了差分信號走線的阻抗,使得其對于共模干擾抑制能力減弱,且容易在參考信號中引入雜音、破音。實際測試對比兩者播放1kHz測試音頻時,該分壓方式產生明顯的失真,如圖4對比。
軟件設計
軟件分本地處理和云端處理兩部分。如圖6,淺灰色部分為本地處理,深灰色部分為云端處理。本地算法包括回聲消除AEC、聲源定位DOA、波束形成BF、去混響DER、降噪NS、自動增益調節AGC、頻域均衡EQ,最終編碼傳輸。云端主要負責對接收到的音頻進行文本識別、自然語言處理NLP、最終經過業務邏輯和技能處理,將結果經TTS服務器反饋給用戶。其中,在識別處理的同時,音頻信號經VPR服務器進行讀取,對音頻分析特征值,也就是聲紋識別。聲紋識別的結果也提供給業務單元處理。
1
回聲消除
自適應回聲抵消的基本思想是估計回聲路徑的特征參數,產生一個模擬的回音路徑,得出模擬回聲信號,從接收信號中減去該信號,實現回聲抵消。圖5給出了單向傳輸的聲學消回聲器AEC的原理圖。圖5中,x(n)代表麥克風拾音的信號,包含了本地聲音和目標人聲;y(n)是經過回聲通道而產生的不期望的回聲;r(n)是經算法抵消后的目標人聲;A口的信號x(n)疊加有不期望的回聲。
2
聲源定位及波束形成
麥克風拾音在實際應用環境中不僅僅有直接到達的目標語音,還有目標語音經過墻面反射、衍射等其他路徑到達的部分及混響,以及環境噪音及本地噪音的干擾。聲源定位即依靠分布式麥克風陣列,對接收到的信號進行函數運算,根據計算的信號時延差獲取目標音源的角度方向。波束形成的原理利用麥克風陣列的特性,將噪聲進行抑制或進行非常大的衰減以提高接受目標信號的質量。
3
語音識別
語音識別的過程主要由遠場或近場方式進行拾音,由語音識別服務器(ASR)和語義理解服務器(NLP)完成錄音文件識別和結果轉換。識別結果經語音合成服務器(TTS)合成人聲將結果反饋給用戶。
語音識別服務器(ASR)主要將電視端錄入的音頻文件進行識別,將識別結果的文本直接發送給語義理解服務器進行解析,可以分為遠場/近場以及不同方言進行處理。
語義理解服務器(NLP),目前使用主服務器加輔助服務器的模式進行語義理解處理,在語音識別服務將文字傳給語義理解服務器后,使用第三方提供的主服務器進行優先解析,識別結果進行權重值計算,權重值高的識別結果直接返回客戶端進行處理;權重值低的識別結果返回給康佳語義理解服務器,由康佳語義理解服務器進行二次處理和轉發,如果主服務器不能識別的語句則由康佳語義理解服務器進行識別,然后根據識別結果的領域分發給其他對應在該領域處理比較好的其它服務器進行語義理解處理,識別之后返回康佳服務器再統一返回客戶端進行處理。
語音合成服務器,主要將識別結果和理解處理結果的文本進行語音合成和人聲播報,可以定義不同的人聲播報達到不同的效果,處理結果為生成一個音頻文件返回給客戶端。
- 上一篇:充電機充電鉛酸蓄電池容量大小與溫度是否有關? 2018/11/8
- 下一篇:充電機充電鋰電池是制約智能手機往前發展的瓶頸嗎? 2018/11/8
