語(yǔ)音助理已經(jīng)迅速成為一個(gè)重要的產(chǎn)品功能,這要?dú)w功于流行的基于智能語(yǔ)音的產(chǎn)品,例如 Amazon Echo 和 Google Home。雖然語(yǔ)音服務(wù)提供商為開(kāi)發(fā)人員提供了應(yīng)用程序編程接口 (API) 支持,因此他們不必成為語(yǔ)音識(shí)別和解析細(xì)節(jié)方面的專家,但是將音頻硬件和語(yǔ)音處理軟件相結(jié)合的要求仍然是一個(gè)重大障礙。
此外,在與每個(gè)學(xué)科相關(guān)的細(xì)節(jié)工作中,在聲學(xué)設(shè)計(jì)、音頻工程、基于云的服務(wù)方面沒(méi)有豐富經(jīng)驗(yàn)的項(xiàng)目可能會(huì)面臨嚴(yán)重延遲。為了解決這些問(wèn)題,供應(yīng)商提供了完整的語(yǔ)音助理開(kāi)發(fā)套件,以求顯著簡(jiǎn)化問(wèn)題。本文將分別介紹兩種此類套件,一個(gè)套件來(lái)自 XMOS,另一個(gè)套件來(lái)自 Seeed Technology,它們分別實(shí)現(xiàn)了基于 Amazon Alexa 語(yǔ)音服務(wù) (AVS) 和谷歌助理的定制產(chǎn)品的快速開(kāi)發(fā)。這些電路板可與 Raspberry Foundation 的 Raspberry Pi 3 (RPi 3) 電路板連接。本文將介紹如何讓每個(gè)套件投入運(yùn)行,并展示每個(gè)套件如何隨時(shí)利用語(yǔ)音助理技術(shù)??焖?AVS 評(píng)估
Amazon 公司推出了 Alexa 智能音箱,這是一款面向家庭的產(chǎn)品,提供智能語(yǔ)音助理功能,但過(guò)去這些功能在很大程度上僅限于智能手機(jī)。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),AVS API 的發(fā)布為在定制系統(tǒng)設(shè)計(jì)中使用相同的語(yǔ)音助理功能打開(kāi)了大門,但其仍然需要音頻硬件和軟件方面的豐富專業(yè)知識(shí)。現(xiàn)在,隨著適用于 Amazon Alexa 語(yǔ)音服務(wù) (AVS) 的 XMOS xCORE VocalFusion 4-Mic 套件的推出,實(shí)施語(yǔ)音助理功能的最后一個(gè)難題也迎刃而解。XMOS 套件包括一個(gè) XVF3000 處理器基板、由四個(gè) Infineon IM69D130 MEMS 麥克風(fēng)組成的 100 mm 線性陣列、xTAG 調(diào)試器、安裝套件和電纜。開(kāi)發(fā)人員需要為 RPi 3 提供有源揚(yáng)聲器、USB 電源,以及 USB 鍵盤、鼠標(biāo)、監(jiān)視器和互聯(lián)網(wǎng)連接。在使用安裝套件將 XMOS 板和麥克風(fēng)陣列連接到 RPi 3 之后,開(kāi)發(fā)人員可以快速評(píng)估 Amazon Alexa 語(yǔ)音助理(圖1)。
圖 1: 開(kāi)發(fā)人員使用 XMOS xCORE VocalFusion 套件開(kāi)始工作,將提供的麥克風(fēng)陣列板(最左側(cè))和 XMOS 處理器板(中間)插入 Raspberry Pi 3 板(右側(cè))。將 RPi 3 連接到 USB 鍵盤、鼠標(biāo)、監(jiān)視器和互聯(lián)網(wǎng)服務(wù)之后,下一步驟是從 SD 微型卡安裝 Raspbian 操作系統(tǒng),在 RPi 3 上打開(kāi)端子,并克隆 XMOS VocalFusion 存儲(chǔ)庫(kù)。安裝操作系統(tǒng)和存儲(chǔ)庫(kù)之后,只需運(yùn)行位于克隆的 vocalfusion-avs-setup 目錄下的 auto_install.sh。安裝腳本將配置 Raspberry Pi 音頻系統(tǒng)及其與 xCORE VocalFusion 套件的連接,并在 Raspberry Pi 上安裝和配置 AVS Device SDK。這個(gè)安裝過(guò)程可能需要大約兩個(gè)小時(shí)完成。
安裝完成后,開(kāi)發(fā)人員需要執(zhí)行一個(gè)簡(jiǎn)單的過(guò)程來(lái)加載他們的 Amazon 開(kāi)發(fā)人員憑據(jù),然后開(kāi)始測(cè)試大量的語(yǔ)音命令和內(nèi)置功能。此時(shí),XMOS 套件將能夠演示 Alexa 的全套功能,如定時(shí)器、鬧鐘和日歷,以及使用 Alexa Skills 套件構(gòu)建的第三方功能。參考設(shè)計(jì)
雖然設(shè)置步驟簡(jiǎn)單,但 XMOS 套件中的硬件和軟件組件的功能卻非常復(fù)雜。該套件為開(kāi)發(fā)人員提供了實(shí)現(xiàn)定制設(shè)計(jì)的全面參考設(shè)計(jì)。XMOS 套件的核心是 XMOS XVF3000-TQ128 器件,它提供了很高的處理能力(圖 2)。
圖 2: XMOS XVF3000-TQ128 器件集成了兩個(gè) xCORE Tile,每個(gè) Tile 包含八個(gè)內(nèi)核,以提供高性能音頻處理。該器件專為并行處理任務(wù)而構(gòu)建,包含兩個(gè) xCORE Tile,每個(gè) Tile 包含八個(gè)帶集成 I/O 的 32 位 xCORE 內(nèi)核、256 KB 的 SRAM、8 KB 的一次性可編程(OTP)片上存儲(chǔ)器。xTIME 調(diào)度程序管理內(nèi)核,并觸發(fā)來(lái)自 I/O 引腳的硬件事件的內(nèi)核操作。每個(gè)內(nèi)核都可以獨(dú)立執(zhí)行計(jì)算、信號(hào)處理或控制任務(wù),利用了 xCORE VocalFusion 套件中的集成式 2MB 閃存,以及用于套件設(shè)置和執(zhí)行的代碼和數(shù)據(jù)。除了 XVF3000-TQ128 器件之外,XMOS 處理器基板還需要少量的附加組件(圖 3)。除了基本的緩沖器和針座連接外,基板還包括 Cirrus Logic CS43L21 數(shù)模轉(zhuǎn)換器(DAC),用于為外部揚(yáng)聲器生成輸出音頻。最后,底板還引出了 XVF3000-TQ128 器件 I2C 端口,以及經(jīng)過(guò)音頻優(yōu)化的 I2S 數(shù)字音頻接口。
圖 3: XMOS 套件的基板包括 XVF3000-TQ128 器件、DAC、緩沖器,以及用于連接 Raspberry Pi 3 板和外部揚(yáng)聲器的針座。該套件的整體功能分為兩個(gè)部分:XMOS 板上的音頻處理、RPi 3 上的高級(jí)語(yǔ)音處理服務(wù)(圖 4)。RPi 的 Broadcom 四核處理器運(yùn)行軟件,該軟件用于分析音頻流,進(jìn)行喚醒詞識(shí)別,并且處理與 Amazon AVS 的交互。
圖 4: XMOS VocalFusion 套件將基板和 Raspberry Pi 3 板上的 Alexa 功能分開(kāi),前者用于音頻信號(hào)處理,后者用于語(yǔ)音識(shí)別和更高級(jí)別的 Alexa 服務(wù)。軟件安裝過(guò)程配置這些子系統(tǒng)并加載所需的軟件包,包括 Sensory 的獨(dú)立于揚(yáng)聲器的喚醒詞引擎,以及 AVS 客戶端軟件等。AVS 提供了一系列與高級(jí)功能(如語(yǔ)音識(shí)別、音頻回放和音量控制)相關(guān)的接口。操作通過(guò)來(lái)自 AVS 的消息(指令)和來(lái)自客戶端的消息(事件)進(jìn)行。例如,為了響應(yīng)某些條件,AVS 可能會(huì)向客戶端發(fā)送指示,指示客戶端應(yīng)播放音頻、設(shè)置鬧鐘或打開(kāi)燈光。相反,來(lái)自客戶端的事件可通知 AVS 發(fā)生了某些事件,例如來(lái)自用戶的新語(yǔ)音請(qǐng)求。
開(kāi)發(fā)人員可以使用 AVS 器件軟件開(kāi)發(fā)套件 (SDK) API 和 C++ 軟件庫(kù)來(lái)擴(kuò)展其 XMOS 套件或 XMOS 定制設(shè)計(jì)的功能。AVS Device SDK 通過(guò)一系列單獨(dú)的 C++ 類和對(duì)象,提取出低級(jí)別操作,如音頻輸入處理、通信和 AVS 指令管理,開(kāi)發(fā)人員可以使用或擴(kuò)展它們,用于定制應(yīng)用程序(圖 5)。
圖 5: Amazon AVS Device SDK 將 AVS 的廣泛功能組織為單獨(dú)的功能區(qū)域,每個(gè)功能區(qū)域都有自己的接口和庫(kù)。包含在 AVS Device SDK 中的完整樣例應(yīng)用程序展示了關(guān)鍵設(shè)計(jì)模式,包括創(chuàng)建設(shè)備客戶端和喚醒詞交互管理器(列表 1)除了全套的樣例服務(wù)例程之外,該應(yīng)用還顯示了主程序如何只需要實(shí)例化樣例應(yīng)用程序?qū)ο?sampleApplication,并使用一個(gè)簡(jiǎn)單的命令來(lái)啟動(dòng)它: sampleApplication-》run()。列表 1: 開(kāi)發(fā)人員可以使用 AVS Device SDK C++ 樣例應(yīng)用程序來(lái)擴(kuò)展設(shè)備 AVS 客戶端,AVS Device SDK C++ 樣例應(yīng)用程序演示了用于創(chuàng)建 AVS 客戶端、喚醒詞交互管理器和用戶輸入管理器等的關(guān)鍵設(shè)計(jì)模式。(列表來(lái)源: AWS)
Google 助理快速原型
XMOS 套件可加快 Amazon Alexa 原型的開(kāi)發(fā)速度,Seeed Technology 的 Google AIY 語(yǔ)音套件 可幫助開(kāi)發(fā)人員使用 Google Assistant 構(gòu)建原型。與 XMOS AVS 套件相同,Seeed Google AIY 語(yǔ)音套件可與 Raspberry Pi 3 板配合使用來(lái)構(gòu)建原型,并提供必要的組件(圖 6)。
圖 6: 開(kāi)發(fā)人員可將 Raspberry Pi 3 與 Seeed Technology 的 Google AIY 語(yǔ)音套件配合使用(它提供了構(gòu)建原型所需的組件),從而快速創(chuàng)建 Google 助理應(yīng)用。除了 Seeed Voice HAT 擴(kuò)展板(圖 6 中的 1)、麥克風(fēng)板 (2) 和揚(yáng)聲器 (4) 之外,套件還包括紙板外殼 (8) 和內(nèi)部框架 (9),以及一些基本組件,包括支座 (3)、電纜(6 和 7)和按鈕 (5)。開(kāi)發(fā)人員首先將 RPi 3、揚(yáng)聲器電線、麥克風(fēng)電纜連接到語(yǔ)音 HAT,然后組裝套件。與 AVS 套件不同,Google 套件提供了一個(gè)簡(jiǎn)單的外殼和內(nèi)部框架,用于固定電路板組件和揚(yáng)聲器(圖 7)。
圖 7: Seeed Google AIY 語(yǔ)音套件包括一個(gè)內(nèi)部紙板框架,開(kāi)發(fā)人員將其折疊成為電路板組件的載體。框架安裝在支撐按鈕和麥克風(fēng)陣列的外殼內(nèi),完成裝配(圖 8)。
圖 8: 除了固定內(nèi)部框架和揚(yáng)聲器之外,Seey Google AIY 語(yǔ)音套件的外殼還包括按鈕和麥克風(fēng)(看起來(lái)像外殼頂部的兩個(gè)孔)。下載語(yǔ)音套件鏡像并將其載入 SD 卡中后,只需將 SD 卡插入 RPi 并打開(kāi)電路板電源,即可調(diào)出套件。經(jīng)過(guò)短暫的初始化過(guò)程以確認(rèn)每個(gè)組件正常工作之后,開(kāi)發(fā)人員需要激活 Google Cloud 端的服務(wù)。為此,請(qǐng)?jiān)O(shè)置工作沙箱區(qū)域并啟用 Google 助理 API,以創(chuàng)建和下載身份驗(yàn)證憑據(jù)。最后,開(kāi)發(fā)人員需要在 RPi 3 上打開(kāi)一個(gè)終端控制臺(tái)并執(zhí)行 Python 腳本 assistant_library_demo.py,以便在套件上啟動(dòng) Google 助理。此時(shí),開(kāi)發(fā)人員可以毫不費(fèi)力地使用完整的 Google 助理功能。定制 Google 助理器件
使用 Seeed Google AIY 語(yǔ)音套件進(jìn)行自定義開(kāi)發(fā),可以充分利用 Raspberry Pi 的靈活性。Seeed Voice HAT 引出了多個(gè)已經(jīng)為典型 IO 功能配置的 RPi 3 GPIO(圖 9)。
圖 9: 開(kāi)發(fā)人員可以使用 Seeed Voice HAT 擴(kuò)展板上引出的 I/O 端口,快速擴(kuò)展 Seeed Google AIY 語(yǔ)音套件的硬件功能。在軟件方面,開(kāi)發(fā)人員可以使用 Google 的語(yǔ)音套件 API 軟件,輕松擴(kuò)展套件的基準(zhǔn)功能。除了支持軟件和實(shí)用程序之外,該軟件包還包含樣例應(yīng)用程序軟件,演示了通過(guò) Google Cloud Speech API 和 Google Assistant SDK 實(shí)施語(yǔ)音服務(wù)的多種方法。云語(yǔ)音服務(wù)與智能助理方法截然不同,它提供了語(yǔ)音識(shí)別功能,將實(shí)現(xiàn)特定語(yǔ)音啟動(dòng)操作的任務(wù)留給了程序員。對(duì)于只需要語(yǔ)音輸入功能的設(shè)計(jì),該服務(wù)提供了一個(gè)簡(jiǎn)單的解決方案。開(kāi)發(fā)人員只需將音頻傳遞到云語(yǔ)音服務(wù),即可將語(yǔ)音轉(zhuǎn)換為文本,并返回識(shí)別的文本,如語(yǔ)音套件 API 中包含的樣例 Python 腳本所示(列表 2)。
列表 2: 在 Google 語(yǔ)音套件 API 提供的軟件例程中,樣例程序的這個(gè)片段演示了如何使用 Google Cloud Speech 服務(wù),將語(yǔ)音轉(zhuǎn)換為文本,并將實(shí)現(xiàn)任何語(yǔ)音指導(dǎo)操作的任務(wù)留給了程序員。對(duì)于需要 Google 助理的更廣泛功能的開(kāi)發(fā)人員,Google Assistant SDK 提供了兩個(gè)實(shí)施選項(xiàng): Google Assistant Library 和 Google Assistant Service?;?Python 的 Google Assistant Library 提供了一種在原型中快速實(shí)施 Google Assistant 的入門方法,例如在 Seeed 語(yǔ)音套件中。使用這種方法,原型可以即時(shí)利用基本的 Google 助理服務(wù),包括音頻捕獲、對(duì)話管理和定時(shí)器。與 Cloud Speech 方法相反,Google Assistant Library 通過(guò)將每個(gè)對(duì)話處理為一系列與對(duì)話和發(fā)聲狀態(tài)相關(guān)的事件來(lái)管理對(duì)話。語(yǔ)音識(shí)別完成后,實(shí)例化的助理對(duì)象將提供事件對(duì)象,其中包括了適當(dāng)?shù)奶幚斫Y(jié)果。如另一個(gè) Google 樣例腳本所示,開(kāi)發(fā)人員使用特征事件處理設(shè)計(jì)模式和一系列的 if/else 語(yǔ)句來(lái)處理預(yù)期的事件結(jié)果(列表 3)。
列表 3: 如 Google Voice 套件中的樣例所示,使用 Google Assistant Library 的應(yīng)用程序中的主循環(huán)啟動(dòng)一個(gè)助理對(duì)象,然后生成一系列事件,由開(kāi)發(fā)人員的代碼處理。對(duì)于要求更高的定制需求,開(kāi)發(fā)人員可以轉(zhuǎn)向使用 Google Assistant Service(以前稱為 Google Assistant gRPC API)提供的全套接口。Google Assistant Service 基于 Google RPC(gRPC),讓開(kāi)發(fā)人員能夠?qū)⒁纛l查詢傳送到云端,處理識(shí)別的語(yǔ)音文本,并且處理相應(yīng)的響應(yīng)。為了實(shí)現(xiàn)定制功能,開(kāi)發(fā)人員可以使用各種編程語(yǔ)言(包括 C++、Node.js 和 Java)來(lái)訪問(wèn) Google Assistant Service API。在將 Google Assistant SDK 用于自己的設(shè)計(jì)時(shí),設(shè)計(jì)人員可以使用 Google 的器件匹配功能,實(shí)現(xiàn)特定于硬件的功能。作為器件設(shè)置的一部分,開(kāi)發(fā)人員提供關(guān)于定制器件的信息,包括功能和特性,稱為特質(zhì)。對(duì)于涉及到定制器件的用戶語(yǔ)音請(qǐng)求,服務(wù)會(huì)識(shí)別器件的有效特質(zhì),并為器件生成適當(dāng)?shù)捻憫?yīng)(圖 10)。開(kāi)發(fā)人員只需在器件的事件處理程序中包括與器件特質(zhì)相關(guān)的對(duì)應(yīng)代碼(例如列表 3 中的 def power_off_pi())。
圖 10: Google Assistant SDK 使用自動(dòng)語(yǔ)音識(shí)別 (ASR) 和自然語(yǔ)言處理 (NLP) 服務(wù),將用戶請(qǐng)求與特定設(shè)備進(jìn)行匹配,并發(fā)出與定制設(shè)備及其認(rèn)可特質(zhì)一致的響應(yīng)。
過(guò)去,智能語(yǔ)音助理在很大程度上是主流開(kāi)發(fā)人員無(wú)法實(shí)現(xiàn)的。隨著兩個(gè)現(xiàn)成套件的推出,開(kāi)發(fā)人員可以在定制設(shè)計(jì)中快速實(shí)施 Amazon Alexa 和 Google 助理。每個(gè)套件都允許開(kāi)發(fā)人員在基本原型中快速調(diào)用相應(yīng)的智能助理,或者使用定制的硬件和軟件來(lái)擴(kuò)展設(shè)計(jì)。
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11167瀏覽量
103465 -
智能音箱
+關(guān)注
關(guān)注
31文章
1783瀏覽量
78661 -
語(yǔ)音助理
+關(guān)注
關(guān)注
0文章
27瀏覽量
8688
原文標(biāo)題:如何在“樹(shù)莓派”上玩轉(zhuǎn)語(yǔ)音識(shí)別?(附代碼)
文章出處:【微信號(hào):gh_bee81f890fc1,微信公眾號(hào):面包板社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論