如何在資源有限的32位微控制器 (MCU) 上實現(xiàn)語音用戶界面


智能揚聲器和其他連接的集線器構(gòu)成了智能家居的核心,允許用戶控制設(shè)備和訪問互聯(lián)網(wǎng)。隨著這些設(shè)備的激增,有兩個明顯的趨勢:用戶更喜歡語音控制而不是按鈕按下或復(fù)雜的菜單系統(tǒng),并且出于隱私問題,人們對持續(xù)的云連接越來越不舒服。
然而,強大且安全的語音用戶界面 (VUI) 通常需要強大的硬件和復(fù)雜的軟件來進行語音識別。任何不足都可能導(dǎo)致性能不佳和用戶體驗不佳。此外,許多智能揚聲器和集線器都是電池供電的,因此 VUI 必須在緊張的功耗預(yù)算內(nèi)實現(xiàn)。對于缺乏語音界面經(jīng)驗的開發(fā)人員來說,這樣一個雄心勃勃的項目可能會令人望而生畏。
芯片制造商對此做出了回應(yīng),推出了一種基于音素的技術(shù),可顯著降低處理要求。結(jié)果是高度準(zhǔn)確和高效的 VUI 軟件,可以在熟悉的 32位微控制器 (MCU) 上運行,并得到易于使用的設(shè)計工具的支持。
本文介紹了 VUI 挑戰(zhàn)和用例。然后,它介紹了易于使用的商業(yè) MCU 應(yīng)用軟件和用于互聯(lián)家庭應(yīng)用的基于本地音素的 VUI 軟件。本文最后向開發(fā)人員展示了如何使用瑞薩MCU、VUI 軟件和評估套件開始 VUI 項目。
構(gòu)建VUI的挑戰(zhàn)
VUI是語音識別技術(shù),可使用語音命令與計算機、智能手機、家庭自動化系統(tǒng)或其他設(shè)備進行交互。經(jīng)過早期的工程挑戰(zhàn),該技術(shù)已成熟為可靠的控制接口,現(xiàn)已廣泛應(yīng)用于智能揚聲器和其他智能家居設(shè)備。 VUI 的主要優(yōu)勢在于其便利性:可以從語音范圍內(nèi)的任何位置進行即時控制,無需使用鍵盤、鼠標(biāo)、按鈕、菜單或其他界面來輸入命令(圖 1)。

圖1:VUI技術(shù)因其方便靈活而在家庭和智能建筑中得到廣泛采用。 (圖片來源:瑞薩)
VUI 的缺點是其復(fù)雜性。傳統(tǒng)技術(shù)基于使用特定單詞或短語對模型進行長時間訓(xùn)練。但自然語言處理與詞序無關(guān),這需要大量的開發(fā)工作和強大的計算能力才能實時運行。這減緩了 VUI 的更廣泛采用。
現(xiàn)在,一項新技術(shù)簡化了 VUI 軟件,使其可以在小型高效微控制器 (MCU)(例如Arm? Cortex?-M 設(shè)備)上運行。該技術(shù)依賴于這樣一個事實:每種口語中的所有單詞都是由稱為音素的語言聲音組成的。音素比單詞少得多;英語有 44 個,意大利語有 32 個,而傳統(tǒng)的夏威夷語只有 14 個。如果 VUI 使用包含 200 個單詞的英語命令集,則每個單詞都可以從 44 個單詞集中分解為其相關(guān)的音素。
在 VUI 軟件中,每個音素都可以通過數(shù)字代碼(或“標(biāo)記”)來識別,各種標(biāo)記形成語言。將單詞存儲為聲音需要大量的計算資源,并且比存儲為標(biāo)記的音素占用更多的內(nèi)存空間。按預(yù)期順序處理音素標(biāo)記(以及命令字)進一步簡化了計算,并使在適度的 MCU 上本地運行 VUI 軟件成為可能(圖 2)。

圖 2:使用音素表示單詞需要更少的微控制器資源。 (圖片來源:瑞薩)
這意味著通過使用音素實現(xiàn)的軟件效率允許處理在本地運行。消除對云處理的需求意味著不需要持續(xù)的互聯(lián)網(wǎng)連接,這會帶來用戶隱私和數(shù)據(jù)安全問題。
瑞薩電子展示了基于音素原理的商業(yè) VUI 軟件包,作為其生態(tài)系統(tǒng)的一部分。該軟件名為Cyberon DSpotter,創(chuàng)建了一種 VUI 算法,該算法足夠精簡,可以在采用 Arm Cortex-M4 和 M33 內(nèi)核的瑞薩RA系列 MCU 上運行。
使用 Cyberon DSpotter 進行開發(fā)
Cyberon DSpotter 建立在音素和音素組合庫的基礎(chǔ)上。這是識別特定單詞的傳統(tǒng)且計算量大的算法訓(xùn)練的替代方法。要將單詞分解為音素,然后將它們表示為標(biāo)記,開發(fā)人員可以使用 DSpotter 建模工具。
DSpotter 是嵌入式(非云)軟件,可用作本地語音觸發(fā)和命令識別解決方案,具有強大的降噪功能。它消耗最少的資源并且高度準(zhǔn)確。根據(jù)所選的 MCU,還可以實現(xiàn)安全數(shù)據(jù)傳輸。
DSpotter 會詢問每個命令詞或短語,該工具會將其分解為音素。然后,VUI 的命令集和支持?jǐn)?shù)據(jù)被構(gòu)建到一個二進制文件中,開發(fā)人員將其與 Cyberon 庫一起包含在項目中。該庫和二進制文件在 MCU 上一起使用,以支持所需語音命令的識別。
DSpotter工具創(chuàng)建“CommandSets”,可以通過開發(fā)人員的程序進行邏輯連接,以創(chuàng)建不同級別的VUI。這允許多級命令,例如“我想將燈泡設(shè)置為高”:命令詞為“l(fā)ightbulb”,后跟“set”和“high”。組中的每個命令都有自己的索引,級別中的每個命令也有自己的索引(圖 3)。

圖 3:DSpotter 工具允許創(chuàng)建“CommandSet”,這些“CommandSet”可以通過開發(fā)人員的程序進行邏輯連接,以創(chuàng)建不同級別的 VUI。 (圖片來源:瑞薩)
DSpotter 庫處理傳入的聲音并搜索與數(shù)據(jù)庫中的命令匹配的音素。當(dāng)它找到匹配項時,它會返回索引和組號。這種安排允許主應(yīng)用程序代碼創(chuàng)建分層 switch 語句來處理命令詞/短語。生成的庫足夠小,可以安裝在僅具有 256 KB 閃存和 32 KB SRAM 的 MCU 上。如果有更多可用內(nèi)存,命令集就會增長。
對于開發(fā)人員來說,重要的是要認(rèn)識到 VUI 的音素方法存在限制。 MCU 的資源相對有限,決定了 Cyberon DSpotter 是語音識別而不是語音識別。這意味著該軟件無法執(zhí)行自然語言處理。因此,如果命令詞不遵循邏輯順序(例如,“high”、“l(fā)ightbulb”、“set”而不是“l(fā)ightbulb”、“set”、“high”),系統(tǒng)將無法識別命令并將重置回頂層。
一項設(shè)計建議是在 VUI 中添加一個視覺指示器(例如 LED),以指示處理器何時假定它位于 CommandSet 的頂層,從而提示用戶按邏輯順序重新發(fā)出命令(圖 4) 。

圖 4:Cyberon DSpotter 的簡化特性要求命令遵循邏輯順序,否則將無法識別。 (圖片來源:瑞薩)
運行資源受限的非云 VUI
Cyberon DSpotter 的效率使其能夠在瑞薩電子的 RA2、RA4 和 RA6 系列 Arm Cortex-M MCU 上運行。這些在廣泛的消費、工業(yè)和物聯(lián)網(wǎng)應(yīng)用中很受歡迎。它們由易于使用的設(shè)計工具支持,使得構(gòu)建簡單的 VUI 相對簡單,無需豐富的編碼經(jīng)驗或內(nèi)部專業(yè)知識。
特定 RA 系列 MCU 的選擇主要取決于命令的復(fù)雜性和 Cyberon 庫的大小。智能燈開關(guān)需要適度的命令集和有限的計算能力才能有效運行,可以基于RA4 系列的R7FA4W1AD2CNG 。該 MCU 具有電池友好型 48 兆赫 (MHz) Arm Cortex-M4 內(nèi)核,并由 512 KB 閃存和 96 KB SRAM 支持。它具有段式 LCD 控制器、電容式觸摸感應(yīng)單元、藍(lán)牙低功耗 (Bluetooth LE) 無線連接、USB 2.0 全速、14 位模數(shù)轉(zhuǎn)換器 (ADC)、12 位數(shù)字轉(zhuǎn)換器- 模擬轉(zhuǎn)換器 (DAC),以及安全和安全功能(圖 5)。

圖 5:R7FA4W1AD2CNG MCU 提供充足的資源來為智能燈開關(guān)等應(yīng)用構(gòu)建非云 VUI。 (圖片來源:瑞薩)
智能音箱等應(yīng)用需要更廣泛的 Cyberon DSpotter 庫和更強大的內(nèi)核。R7FA6M4AF3CFM是一個合適的候選者。 RA6 系列的這款 MCU 具有更強大的 200 MHz Arm Cortex-M33 內(nèi)核,并由 1 兆字節(jié) (Mbyte) 閃存和 256 KB SRAM 支持。它具有 CAN 總線、以太網(wǎng)、I2C、LIN 總線、電容式觸摸感應(yīng)單元以及許多其他接口和外設(shè)。
RA4 和 RA6 系列分別由評估板RTK7EKA4W1S00000BJ和RTK7EKA6M4S00001BE支持,以允許開發(fā)人員運用 MCU 的功能。每個評估板都有目標(biāo) MCU 和板載調(diào)試器。
瑞薩電子還提供 VUI 解決方案套件來加速開發(fā)。該套件與評估板類似,都包含目標(biāo)器件和調(diào)試器。該板還具有多個 I/O 接口和四個麥克風(fēng):兩個模擬麥克風(fēng)和兩個數(shù)字麥克風(fēng)。
您可以在 Cyberon 的網(wǎng)站上訪問使用 VUI 解決方案套件進行開發(fā)所需的軟件。其中包括免費的 Cyberon DSpotter 建模工具訪問,并具有帶有工作語音命令集的e 2 studio 項目(e 2 studio 是適用于瑞薩 MCU 的基于 Eclipse 的集成開發(fā)環(huán)境 (IDE))。示例 CommandSet 可用作開發(fā)自定義語音命令序列的模板。然后可以使用終端窗口監(jiān)視系統(tǒng)的反應(yīng)。創(chuàng)建如圖 4 所示的 VUI 結(jié)構(gòu)通常需要大約 15 分鐘。
該公司的 Renesas靈活軟件包(FSP)支持 Cyberon 軟件包的更復(fù)雜的應(yīng)用軟件設(shè)計,用于使用 RA 系列進行嵌入式系統(tǒng)設(shè)計。 FSP 基于開放軟件生態(tài)系統(tǒng),包括 Azure RTOS 或 FreeRTOS、遺留代碼和第三方生態(tài)系統(tǒng)。它可以在多種 IDE 中運行,包括 e 2 studio。
VUI 的表現(xiàn)如何?
VUI 在安靜的實驗室中表現(xiàn)良好是一回事,但在背景噪音較大的情況下準(zhǔn)確工作則完全是另一回事。智能揚聲器的典型操作環(huán)境可能包括電視或收音機、對話、其他音樂源以及家庭或社交聚會的喧囂。此外,VUI 還必須應(yīng)對方言和不太完美的用語。盡管存在這些挑戰(zhàn),用戶仍期望幾乎完美的性能。
為了提高困難聆聽環(huán)境中的性能,在瑞薩 RA 系列 MCU 上運行的 Cyberon DSpotter 軟件包含需要最少處理器資源的抗噪功能。為了證明其功效,我們使用 Cyberon DSpotter VUI 進行了測試,在 1.5 米和 3 米 (m) 距離處聽命令,同時受到各種背景噪聲源的影響,信噪比 (SNR) 為 0、5 和 5。 10 分貝 (dB)。在所有情況下,VUI 的性能均優(yōu)于 Amazon Alexa 基準(zhǔn)(表 1)。
表 1:Cyberon 驅(qū)動的 VUI 在各種背景噪聲源下的命令成功測試結(jié)果。在所有情況下,VUI 的性能均優(yōu)于 Amazon Alexa 基準(zhǔn)。 (圖片來源:瑞薩)
結(jié)論
VUI 正在迅速成為智能產(chǎn)品的首選消費者控制界面。使用音素作為命令基礎(chǔ)的語音控制方法和嚴(yán)格的命令結(jié)構(gòu)可以顯著降低內(nèi)存和計算要求,從而允許該技術(shù)在小型、資源受限的 MCU 上本地運行。
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對本文的引用持有異議,請聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點,拍明芯城不對內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對此聲明的最終解釋權(quán)。