語音交互設備 前端信號處理技術和語音交互過程介紹

?

一、前端信號處理

1. 語音檢測(VAD)

語音檢測(英文一般稱為 Voice Activity Detection,VAD)的目標是,準確的檢測出音頻信號的語音段起始位置,從而分離出語音段和非語音段(靜音或噪聲)信號。由于能夠濾除不相干非語音信號,高效準確的 VAD 不但能減輕后續處理的計算量,提高整體實時性,還能有效提高下游算法的性能。

VAD 算法可以粗略的分為三類:基于閾值的 VAD、作為分類器的 VAD、模型 VAD。

基于閾值的 VAD:通過提取時域(短時能量、短期過零率等)或頻域(MFCC、譜熵等)特征,通過合理的設置門限,達到區分語音和非語音的目的。這是傳統的 VAD 方法。
作為分類器的 VAD:可以將語音檢測視作語音/非語音的兩分類問題,進而用機器學習的方法訓練分類器,達到檢測語音的目的。
模型 VAD:可以利用一個完整的聲學模型(建模單元的粒度可以很粗),在解碼的基礎,通過全局信息,判別語音段和非語音段。

VAD 作為整個流程的最前端,需要在本地實時的完成。由于計算資源非常有限,因此,VAD 一般會采用閾值法中某種算法;經過工程優化的分類法也可能被利用;而模型 VAD 目前難以在本地部署應用。

?

2. 降噪

實際環境中存在著空調、風扇以及其他各種各樣的噪聲。降低噪聲干擾,提高信噪比,降低后端語音識別的難度。?
常用的降噪算法有 自適應 LMS 和維納濾波等。

?

3. 聲學回聲消除(Acoustic Echo Cancellaction, AEC)

AEC也是一種常見的技術,在語音通話中,AEC是必不可少的基礎技術。?
?
這里寫圖片描述

具體的,AEC 的目的是,在音箱揚聲器工作(播放音樂或語音)時,從麥克風中收集的語音中,去除自身播放的聲音信號。這是雙工模式的前提。否則,當音樂播放時,我們的聲音信號會淹沒在音樂聲中,不能繼續對音箱進行有效的語音控制。

?

4. 去混響處理

在室內,語音會被墻壁等多次反射,麥克風采集到(圖12)。混響對于人耳完全不是問題,但是,延遲的語音疊加產生掩蔽效應,這對語音識別是致命的障礙。

這里寫圖片描述

對于混響,一般從兩個方面來嘗試解決:1)去混響 2)對語音識別的聲學模型加混響訓練。由于真實環境的復雜性,一定的前端去混響算法還是非常有必要的。

?

5. 聲源定位(Direction of Arrival estimation, DOA)

聲源定位是根據麥列收集的聲音語,確定說話人的位置。DOA 至少有兩個用途,1)用于方位燈的展示,增強交互效果;2)作為波束形成的前導任務,確定空間濾波的參數。

聲源定位有如下常用方法有基于波束掃描的聲源定位、基于起分辨率率譜估計的聲源定位以及 基于到達時間差(Time Difference of Arrival, TDOA)的聲源定位。考慮到算法復雜性和延時,一般采用TDOA方法。

?

6. 波束形成(Beam Forming, BF)

波束形成是利用空間濾波的方法,將多路聲音信號,整合為一路信號。通過波束形成,一方面可以增強原始的語音信號,另一方面抑制旁路信號,起到降噪和去混響的作用(圖13)。

?這里寫圖片描述

?

二、 喚醒

出于保護用戶隱私和減少誤識別兩個因素的考慮,智能音箱一般在檢測到喚醒詞之后,才會開始進一步的復雜信號處理(聲源定位、波束形成)和后續的語音交互過程。

一般而言,喚喚醒模塊是一個小型語音識別引擎。由于目標單一(檢測 出指定的喚醒詞),喚醒只需要較小的聲學模型和語言模型(只需要區分出有無喚醒詞出現),聲學打分和解碼可以很快,空間占用少,能夠在本地實時。

也有喚醒做為關鍵詞檢索(key word search)或文本相關的聲紋識別問題來解決。

?

三、語音交互

語音交互的基本流程如圖16所示。下面分別對各個環節進行簡要介紹。?
?
這里寫圖片描述

?

1. 語音識別(Automatic Speech Recognition, ASR)

語音識別的目的是將語音信號轉化為文本。語音識別技術相對成熟。目前,基于近場信號的、受控環境(低噪聲、低混響)下的標準音語音識別能夠達到很的水平。然而在智能音箱開放性的真實環境,語音識別依然是一個不小的挑戰,需要接合前端信號處理一起來優化。

?

2. 自然語言理解(Natural Language Understanding, NLU)

NLU 作為一個研究課題還遠沒有被解決。但是在限定領域下,結合良好的產品設計,我們還是能夠利用現有技術,做出實用的產品。

可以將基于框架的(frame-based) NLU 分為三個子問題去解決(圖15):?
* 領域分類:識別出用戶命令所屬領域。其中,領域是預先設計的封閉集合(如產品設計上,音箱只支持音樂、天氣等領域),而每個領域都只支持無限預設的查詢內容和交互方式。?
* 意圖分類:在相應領域,識別用戶的意圖(如播放音樂、暫停或切換等)。意圖往往對應著實際的操作。?
* 實體抽取(槽填充):確定意圖(操作)的參數(如確定,具體是播放哪首歌或哪位歌手的歌曲)。

?這里寫圖片描述

3. 對話管理(Diaglou Management, DM)

多輪對話對于自然的人工交互非常重要。比如,當我們詢問“北京明天的天氣怎么?”,之后,更習慣追問“那深圳呢?”而不是重復的說”**深圳明天的天氣怎么?**“

在 NLU 無有得到很好解決的情況下,對話管理似乎不可能。好在限范圍下,結合產品設計,還是能做的不錯。一般的作法是,將輪對話解析出的參數做為上下文(全局變量),帶入到下一輪對話;當前輪對話,根據一定的條件判斷,是否保持在上一輪的領域,是否清空上下文。

不同于純粹的聊天機器的對話管理,智能音箱的對話管理還有實際的操作功能(查詢信息、提供控制指令)。

?

4. 自然語言生成(Natural Language Generation, NLG)

目前完全自動化的 NLG 方法還不成熟。實際產品中,多采用預先設計的文本模板來生成文本輸出。比如,播放歌曲時,生成語句為:“即將為您播放【歌手名】的【歌曲名】”。

?

5.? 語音合成(Speech Synthesis)

語音合成又叫做文語轉換(Text-to-Speech,TTS),更常見可能是 TTS 這一稱呼。TTS 的終極目標是,使機器能夠像人一樣朗讀任意給定的文本。

評價實用的語音合成系統的兩個主要的標準是1)可懂度(人能夠聽懂)和2)自然度(使人聽著舒服)。目前,可懂度的問題基本得到解決。參數合成和拼接合成是TTS的兩種主要合成方法,其中,參數計算量小,部署靈活,但自然較差;拼接接近真人發音,存儲和計算資源高,一般只能在線合成。例如,Echo 采用的基于單元選擇(unit selection)的拼接合成。

?

四、 其他技術

最后,我們簡單列舉一些相對成熟,但還沒有廣泛應用于智能音箱的技術。

聲紋識別

聲紋識別是據語音波形反映說話人生理和行為特征的語音參數,自動識別說話人身份的一項技術。微信中的聲音鎖就是聲紋技術的一項具體應用。

通過聲紋識別,可以設計出更加個性化的服務。

人臉檢測

如果音箱配置為攝像頭,可以通人臉檢測,確定用戶的位置。一方面可以有更好的交互設計,另一方面可以輔助聲源定位。

?

人臉識別

同聲紋識別類似,人臉識別也可以用來確定用戶的身份。

?

原文出處:https://blog.csdn.net/jackytintin/article/details/62040823

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253321.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253321.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253321.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

css中偽類與偽元素的區別

一:偽類:1:定義:css偽類用于向某些選擇器添加特殊效果。 偽類其實與普通的css類相類似,可以為已有的元素添加樣式,但是他只有處于dom無法描述的狀態下才能為文檔樹中的元素添加樣式,所以將其稱為偽類。 2:偽…

【BZOJ1500】[NOI2005]維修數列 Splay

【BZOJ1500】[NOI2005]維修數列 Description Input 輸入的第1 行包含兩個數N 和M(M ≤20 000),N 表示初始時數列中數的個數,M表示要進行的操作數目。第2行包含N個數字,描述初始時的數列。以下M行,每行一條命令,格式參見…

bzoj2588: Spoj 10628. Count on a tree(樹上第k大)(主席樹)

每個節點繼承父節點的樹&#xff0c;則答案為query(root[x]root[y]-root[lca(x,y)]-root[fa[lca(x,y)]]) #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm> using namespace std; const int maxn1…

圖文詳解YUV420數據格式

YUV格式有兩大類&#xff1a;planar和packed。 對于planar的YUV格式&#xff0c;先連續存儲所有像素點的Y&#xff0c;緊接著存儲所有像素點的U&#xff0c;隨后是所有像素點的V。 對于packed的YUV格式&#xff0c;每個像素點的Y,U,V是連續交*存儲的。 YUV&#xff0c;分為三個…

USB通信接口介紹

1. 概述 Usb Universal Serial Bus全稱通用串行總線&#xff0c;是一種支持熱插拔的高速串行傳輸總線&#xff0c;使用差分信號來傳輸數據。 USB設備可以直接和host通信&#xff0c;或者通過hub和host通信。一個USB系統中僅有一個USB主機&#xff0c;設備包括功能設備和hub&…

關于java中BufferedReader的read()及readLine()方法的使用心得

BufferedReader的readLine()方法是阻塞式的, 如果到達流末尾, 就返回null, 但如果client的socket末經關閉就銷毀, 則會產生IO異常. 正常的方法就是使用socket.close()關閉不需要的socket. 從一個有若干行的文件中依次讀取各行&#xff0c;處理后輸出&#xff0c;如果用以下方法…

HDCVI——一種創新性的高清視頻傳輸方案

什么是HDCVI 2012年11月&#xff0c;大華技術股份有限公司發布了具有自主知識產權的同軸高清傳輸接口技術HDCVI。HDCVI技術是一種基于已有SYV75-3或SYV75-5同軸電纜的高清視頻傳輸方法&#xff0c;能夠在低成本和較低質量的同軸電纜上實現超長距離高清視頻信號的可靠傳輸。相比…

typedef struct 用法

如果在c程序中我們寫&#xff1a;    typedef struct     {    int num;    int age;    }aaa,bbb,ccc;    這算什么呢&#xff1f;    我個人觀察編譯器&#xff08;VC6&#xff09;的理解&#xff0c;這相當于    typedef struct     …

智能機器人品牌簡介

隨著科技的發展&#xff0c;硬件的計算速度和大數據支撐&#xff0c;越來越多的智能化設備和產品出現在我們的面前&#xff0c;為我們的生活帶來更多便利。其中包括智能機器人&#xff0c;這種產品是有自己的“大腦”&#xff0c;可以接收人為指令&#xff0c;為人服務&#xf…

轉 Java對日期Date類進行加減運算一二三

請移步&#xff0c;https://blog.csdn.net/hacker_lees/article/details/74351838 &#xff0c;感謝博主分享轉載于:https://www.cnblogs.com/bestxyl/p/9790088.html

誕生之日 隨筆

今天我誕生了&#xff0c;祝自己誕生日happy&#xff0c;happy&#xff0c;happy&#xff01; 轉載于:https://www.cnblogs.com/xiaohuihui-/p/7594406.html

智能音箱 之 麥克風參數介紹

1. 定義 麥克風&#xff0c;學名為傳聲器&#xff0c;是將聲音信號轉換為電信號的能量轉換器件&#xff1b;聲—電轉換。 與揚聲器正好相反&#xff08;電—聲轉換&#xff09;&#xff0c;構成電聲設備的兩個終端&#xff0c;俗稱咪頭&#xff0c;麥克等。 是電聲系統的入口&a…

大屏幕行業發展現狀以及趨勢深刻剖析

瀏覽數: 689 海康威視&#xff1a;葉志龍 中國投影網&#xff1a;大屏幕顯示作為安防領域重要一環&#xff0c;而海康威視作為安防領域的佼佼者&#xff0c;請介紹海康威視大屏顯示系統DLP/LCD這兩大產品線&#xff1f;與行業同類產品相比&#xff0c;海康威視大屏拼接單元產品…

架構師是大忽悠嗎?阿里技術大牛告訴你真相!

來源&#xff1a;阿里云 作者&#xff1a;林昊&#xff08;花名畢玄&#xff09;&#xff0c;阿里巴巴技術保障部研究員&#xff0c;曾任淘寶網平臺架構部架構師。個人的研究方向主要為Java模塊化、動態化系統的構建&#xff0c;以及高性能大型分布式Java系統構建&#xff0c;主…

動手動腦-Java重載

有以下例子&#xff1a; 例&#xff1a; Using overloaded methods public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " square(7)); System.out.println("\nThe square of double 7.…

利用django框架,手把手教你搭建數據可視化系統(一)

如何使用django去構建數據可視化的 web,可視化的結果可以呈現在web上。 使用django的MTV模型搭建網站 基礎鋪墊—MTV模型 Created with Raphal 2.1.0Request服務器&#xff08;Djangoweb&#xff09;Response首先&#xff0c;要搞清楚我們去訪問服務器&#xff0c;服務器返回信…

智能音箱 之 揚聲器喇叭介紹

在全雙工語音交互的系統中&#xff0c;功放的質量是非常重要的&#xff0c;因為AEC回聲消除對信號失真 是非常敏感的。音頻通路的整體諧波失真需要控制在5%以內。 對于整個系統的諧波失真來說&#xff0c;揚聲器是最關鍵的因素&#xff0c;其次是功放&#xff0c;麥克風的很小…

關于拓撲排序的問題-P3116 [USACO15JAN]會議時間Meeting Time

https://www.luogu.org/problem/show?pid3116 這道題目很水啊&#xff0c;但是我沒有1A&#xff0c;而且wa了好多&#xff1b; 題目意思我就不講了&#xff1b; 反正就是一個拓撲序dp&#xff1b; 但是這道題目規定了起點是1&#xff1b; 所以我一開始直接把1放進隊列里然…

HD-SDI DVR發展與應用剖析

自2010年以來&#xff0c;視頻監控已經進入“高清”監控時代&#xff1b;隨著高清的發展&#xff0c;HD-SDI高清數字系統開始進入人們的視線&#xff0c;在大、小展會上均可以輕松找到“數字高清”的產品和解決方案。作為HD-SDI系統中編碼、存儲部分的HD-SDI高清數字硬盤錄像機…

UML學習——類圖(三)

1.類圖 UML類圖是用來描述類、接口、協作及它們之間的關系的圖。用來顯示系統中各個類的靜態結構。 2.類圖的組成元素 類圖由以下六種元素組成&#xff1a;類&#xff0c;接口&#xff0c;泛化關系&#xff0c;關聯關系&#xff0c;依賴關系&#xff0c;實現關系。 3.類圖的繪制…