
1、方案背景
智能語音互動作為物聯網領域的一個重要生態成員,是一種全新的互動方式,它能夠解放雙手,隨時提供服務,無須借助任何按鍵,近年來智能家居逐漸走入千家萬戶,產業市場規模不斷增長,智能家居產品種類繁多,很多家庭有著智能門鎖、掃地機器人、智能電視、智能洗衣機、智能電冰箱等不同型別的智能家居產品,這些產品需要一個互動性好的控制中心,基于智能語音互動技術的智能音箱脫穎而出,想必很多開發者都有玩過天貓精靈、小愛同學或者小度吧,看到這些炫酷的人工智能產品,是不是也很想搞清楚它到底怎么作業的沖動,是不是也想自己打造一臺專屬智能語音互動產品,僅僅通過說出“HaaS HaaS”、“天貓精靈”、或“小愛同學”,就可以喚醒它進行語音互動,在商業領域的人工智能產品要么是C或者C++開發,作業量巨大,本方案以HaaS EDU K1為硬體載體,基于HaaS云端一體智能語音互動框架,通過數100行Python代碼幫助你輕松打造一款智能音箱,

2、案例展示
基于本方案實作的智能語音互動助手案例如下:
HaaS智能語音助手!
詳細請參考文章《爆肝一周,用Python在物聯網設備上寫了個智能語音助手》
3、智能語音互動技術
智能語音互動涉及語音識別、語音合成、自然語言理解等技術,實作“能聽、會說、懂你”式的智能人機互動體驗,通過語音識別將語音轉為句子,通過NLP自然語音處理讓機器理解句子并回答,再將句子轉為語音,

3.1 智能語音互動全鏈路
智能語音互動的全鏈路較長,從語音輸入到語音合成輸出通常包括端點檢測、信號處理、語音喚醒、語音識別、自然語言處理、語音合成、語音播放等步驟,如下圖所示:

其中語音互動包含的內容如下圖所示,按照演算法流程分成以下四項:
1)識別是否喚醒設備 (KWS,語音喚醒)
2)識別說的話(ASR ,Automatic Speech Recognition 自動語音識別技術)
3)對識別的內容提取資訊并處理(NLP,Natural Language Processing自然語言處理 )
4)把處理結果發出聲音給人(TTS,TextToSpeech 從文本到語音技術)
3.1.1 語音喚醒技術
語音喚醒在學術上被稱為keyword spotting(簡稱KWS),需要在連續語流中實時地檢測出說話人的特定片段,這里要注意,檢測的“實時性”是一個關鍵點,語音喚醒的目的就是將設備從休眠狀態激活至運行狀態,所以喚醒詞說出之后,需要立刻被檢測出來,那么,該怎樣評價語音喚醒的效果呢?通行的指標有四個方面,即喚醒率、虛警率、回應時間和功耗水平:
- 喚醒率,指用戶互動的成功率,專業術語為召回率(被喚醒次數中正確喚醒的比例),
- 虛警率,用戶未進行互動而設備被喚醒的概率(被喚醒次數中被誤喚醒的比例),
- 回應時間,指從用戶說完喚醒詞后,到設備給出反饋的時間差,
- 功耗水平,即喚醒系統的耗電情況,很多智能設備是通過電池供電,需要滿足長時續航,對功耗水平就比較在意,
語音喚醒能力主要依賴于語音喚醒模型(下稱“喚醒模型”),是整個語音喚醒核心,喚醒模型主要負責在聽到喚醒詞后馬上切換為作業狀態,所以必須要實時監測,才能做到聽到后及時反饋,一是需要實時回應,二是喚醒模型對算力的要求不高,一般喚醒模型是做在本地的(區別于云端的ASR識別),這就是我們即使沒有聯網,你叫“HaaS HaaS”,她也會答應你的原因,
3.1.2 語音識別技術
語音識別技術即Automatic Speech Recognition(簡稱ASR),是指將人說話的語音信號轉換為可被計算機程式所識別的資訊,從而識別說話人的語音指令及文字內容的技術,語音識別主要是將人類語音中的詞匯內容轉換為計算機可讀的輸入,一般都是可以理解的文本內容,也有可能是二進制編碼或者字符序列,但是,我們一般理解的語音識別其實都是狹義的語音轉文字的程序,簡稱語音轉文本識別(Speech To Text,STT)更合適,這樣就能與語音合成(Text To Speech,TTS)對應起來,
語音技術在近年來開始改變我們的生活和作業方式,對于某些嵌入式設備來說,語音成為了人機互動的主要方式,出現這種趨勢的原因,首先是計算能力的不斷提升,通用GPU等高計算能力設備的發展,使得訓練更復雜、更強大的聲學模型(Acoustic Model, AM)變得可能,高性能的嵌入式處理器的出現,使得語音識別的終端應用變得可能;其次,借助近乎無處不在的互聯網和不斷發展的云計算,我們可以得到海量的語音資料資源,真實場景的資料使得語音識別系統變得更加魯棒;最后,移動設備、可穿戴設備、智能家居設備、車載資訊娛樂系統正變得越來越流行,在這些設備上,語音互動變成了一個無法避免的互動方式,目前,基于近場信號的、受控環境(低噪聲、低混響)下的標準音語音識別能夠達到很高的水平,然而在智能音箱開放性的真實環境,語音識別依然是一個不小的挑戰,需要結合前端信號處理一起來優化,
3.1.3 自然語言處理技術
NLP: 自然語言處理(Natural Language Processing) 是研究人與計算機互動的語言問題的一門學科,是指用計算機對自然語言的形、音、義等資訊進行處理,即對字、詞、句、篇章的輸入、輸出、識別、分析、理解、生成等的操作和加工,實作人機間的資訊交流,是人工智能界、計算機科學和語言學界所共同關注的重要問題,在人工智能領域或者是語音資訊處理領域中,學者們普遍認為采用圖靈試驗可以判斷計算機是否理解了某種自然語言,具體的判別標準有以下幾條:
-
- 第一,問答,機器人能正確回答輸入文本中的有關問題;
- 第二,文摘生成,機器有能力生成輸入文本的摘要;
-
- 第三,釋義,機器能用不同的詞語和句型來復述其輸入的文本;
- 第四,翻譯,機器具有把一種語言翻譯成另一種語言的能力,
3.1.4 語音合成技術
語音合成是通過機械的、電子的方法產生人造語音的技術,TTS技術(又稱文語轉換技術)隸屬于語音合成,它是將計算機自己產生的、或外部輸入的文字資訊轉變為可以聽得懂的、流利的漢語口語輸出的技術,
語音合成的系統可分為前端和后端,如下圖所示:

基于深度學習的語音合成:隨著AI技術不斷發展,基于深度學習的語音合成技術逐漸被人們所知道,DNN/CNN/RNN等各種神經網路構型都可以用來做語音合成系統的訓練,深度學習的演算法可以更好地模擬人聲變化規律,
3.1.4.1 語音合成步驟

文本處理?
這一步做的事情是把文本轉化成音素序列,并標出每個音素的起止時間、頻率變化等資訊,
作為一個預處理步驟,它的重要性經常被忽視,但是它涉及到很多值得研究的問題,比如拼寫相同但讀音不同的詞的區分、縮寫的處理、停頓位置的確定等等,
語音合成??
狹義上這一步專指根據音素序列(以及標注好的起止時間、頻率變化等資訊)生成語音,廣義上它也可以包括文本處理的步驟,
4、HaaS云端一體智能語音互動方案
云端一體涉及端、云,設備端以HaaS EDU K1為硬體載體,集成AliOS Things
4.1 硬體組成
4.1.1 HaaS語音擴展板
HaaS語音擴展板是專門為HaaS EDU K1教育神器打造的,無縫對接,即插即用,

4.1.2 麥克風和喇叭
如果沒有HaaS語音擴展板也沒有關系,請按照如下步驟接入麥克風和喇叭:

4.2 系統框架
整個框架及互動流程如下:

從框架可以看到,它是一個完整的云端一體智能語音全鏈路互動流程,包括了本地語音喚醒、回聲消除、降噪、ASR、NLP、TTS等,基于它可以實作智能語音互動產品的開發,
接下來看一下基于HaaS AI框架的云端一體開發流程,左側是HaaS EDU K1設備端通過麥克風進行語音采樣,經過回聲消除和降噪后進行喚醒識別,再通過阿里云智能語音互動的一句話識別能力進行后續的語音對話識別,然后通過阿里云對話機器人對識別的結果進行語意的理解,再進行回答,最后再通過阿里云智能語音互動平臺的語音合成功能將回答文字結果轉換成語音下載到設備端進行語音播放,開發者可以通過阿里云智能語音互動平臺提供的豐富定制化能力定制語音型別、比如杭州話,并且可以通過個性化人聲定制將語音助手定制為老婆或女友的聲色,通過這個流程幫助開發者快速打造定制化程度很高的智能語音互動產品,
4.1.1 阿里云智能語音互動平臺
4.1.1.1 語音識別(ASR)
阿里云智能語音互動平臺的語音識別包含不同的識別服務:
- 實時語音識別服務:對長時間的語音資料流進行識別,適用于會議演講、視頻直播等長時間不間斷識別的場景,
- 一句話識別服務:對一分鐘內的短語音進行識別,適用于對話聊天,控制口令等較短的語音識別場景,
- 錄音檔案識別服務:對上傳的音頻檔案進行識別,適用于非實時識別場景,
在本方案中運用了一句話識別功能,用于識別語音指令,

4.1.1.2 語音合成(TTS)
阿里云智能語音互動平臺的語音合成服務包括:
- 語音合成服務:將文本轉化為接近真人的語音服務,包含男女童音、多語言/方言,適用于智能客服、電話外呼等虛擬對話場景,
- 長文本語音合成服務:將超長文本(十萬字)合成為接近真人的語音服務,包含男女童音、多語言/方言(且擁有音頻重復使用權),適用于文學伴讀、新聞閱讀等場景,
- 離線語音合成:在弱網或無網狀態下,通過設備本地的語音合成模型,將文本轉換成自然流暢的語音,
在本方案中運用了它的第一個語音合成服務,對短文本進行合成,

4.1.2 阿里云智能對話機器人平臺
阿里云智能對話機器人依托阿里云AI技術,提供一體化對話機器人服務,精準理解用戶意圖,支持界面化流程配置、自定義三方業務集成等功能,本方案中運用它來構建問答、多輪對話流、閑聊等功能,

4.3 系統架構
HaaS EDU K1主控設備中集成AliOS Things物聯網作業系統,它構建了智能語音互動相關的應用組件,可以通過Python語言很方便的進行功能呼叫,

- AI Agent組件:是AliOS Things上的AI引擎核心模塊,后端接入不同的推理引擎,本案例中使用了TFLite-Micro推理引擎,結合ARM CMSIS NN算子庫適配在HaaS EDU K1上,用于本地離線喚醒詞或快捷詞識別,
- uCloud AI組件:集成了阿里云智能語音互動及對話機器人介面,與云端進行互動,
- uVoice組件:是AliOS Things上智能語音解決方案的核心組件,提供了本地音頻,URL音頻,TTS合成等基礎功能,音頻格式支持mp3, m4a, wav, opus等主流格式,本案例中使用它來進行本地mp3語料的回應播報,
5、總結
近年來,智能語音互動技術在當今很多領域已經得到充分應用,比如智能家居、可穿戴設備、智能車載等領域,智能語音作為互動入口發揮著巨大作用,但是很多開發者想要學習運用智能語音技術門檻高,沒有一個比較完整的方案或途徑進行學習,而HaaS云端一體智能語音互動方案以HaaS EDU K1物聯網教育開發板為硬體載體,讓開發者能夠學習如何開發云端一體智能語音互動產品,純Python的開發方式也將大大縮短開發時間,得以快速場景化應用,
開發者支持
如需更多技術支持,可加入釘釘開發者群,或者關注微信公眾號,

GITHUB: GitHub - alibaba/AliOS-Things at rel_3.3.0
GITEE: AliOS Things - Gitee.com
CODECHINA: https://codechina.csdn.net/alios-things/AliOS-Things/-/tree/rel_3.3.0
更多技術與解決方案介紹,請訪問HaaS官方網站https://haas.iot.aliyun.com,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/340543.html
標籤:其他
上一篇:畢業設計 - 題目:基于單片機的智能飲水機系統設計與實作 (物聯網 嵌入式 單片機)
下一篇:推箱子小游戲試寫
