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


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

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

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

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

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

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