如何在資源受限的 MCU 上實作語音使用者介面
資料提供者:DigiKey 北美編輯群
2023-12-14
智慧揚聲器和其他聯網中樞可構成智慧家庭的核心,讓使用者控制裝置及存取網際網路。隨著這些裝置普及,有兩個趨勢越來越明顯:使用者比起按鈕按壓或複雜的功能表系統,更喜歡語音控制,並且基於隱私疑慮,對持續不斷的雲端連線越來越反感。
然而,完備且安全的語音使用者介面 (VUI) 通常需要強大的硬體和複雜的軟體才能進行語音辨識。否則可能會導致效能不佳,令使用者體驗不滿意。此外,許多智慧揚聲器和中樞都採用電池供電,因此必須在嚴格的電力預算內實現 VUI。對於缺乏語音介面經驗的開發人員來說,這個雄心勃勃的專案可能令人生畏。
晶片製造商正推出一種基於音素的技術加以應對,而此技術可顯著降低處理要求。如此可產生高度準確且有效的 VUI 軟體,不僅可以在熟悉的 32 位元微控制器 (MCU) 上運行,更有容易使用的設計工具加以支援。
本文將介紹 VUI 面臨的難題與使用案例。接著會介紹一些容易使用的市售 MCU 應用軟體,以及適合連網家庭應用,以音素為基礎的本機型 VUI 軟體。文章最後向開發人員展示如何使用 Renesas 的 MCU、VUI 軟體和評估套件開始進行 VUI 專案。
打造 VUI 面臨的難題
VUI 是一種語音辨識技術,可利用語音命令與電腦、智慧型手機、家庭自動化系統或其他裝置進行互動。在歷經早期的工程挑戰後,此技術已成熟變成可靠的控制介面,如今更廣泛應用於智慧揚聲器和其他智慧家庭裝置。VUI 的主要優點在於便利性:無需使用鍵盤、滑鼠、按鈕、功能表或其他介面,即可在語音範圍內的任意位置進行立即控制 (圖 1)。
圖 1:VUI 技術因為便利且靈活,已經廣泛運用在家庭和智慧建築中。(圖片來源:Renesas)
VUI 的缺點是複雜性。傳統技術的基礎建構在對特定單詞或短語的模型進行長時間訓練。但自然語言處理與詞序無關,且需要大量的開發工作和強大的運算能力才能即時執行。這會拖慢 VUI 廣泛採用的速度。
如今,有個新技術可簡化 VUI 軟體,以便其在小型高效的微控制器 (MCU) 上運行,例如 Arm® Cortex-M® 裝置。這個技術所依據的基礎在於,每種口說語言中的所有單詞皆由稱為音素的語言聲音組成。音素比單詞少得多;英語有 44 個,義大利語有 32 個,傳統的夏威夷語只有 14 個。如果 VUI 使用 200 個單詞組成的英語命令集,則每個單詞都可依據 44 個音素的集合拆解成相關音素。
在 VUI 軟體中,每個音素都可以透過數字代碼 (簡稱「符記」) 來識別,再由多種符記構成語言。要將單詞儲存成聲音,需要大量的運算資源,並且需要的記憶體空間,比將音素儲存成符記要大上許多。依預期的順序處理音素符記 (以及命令詞) 可進一步簡化運算,並可促使 VUI 軟體在適當的 MCU 上以本機型式運作。
圖 2:使用音素代表單詞所需的微控制器資源較少。(圖片來源:Renesas)
這表示,利用音素達到的軟體效率,可讓處理工作在本機執行。不需經過雲端處理,就表示不需要持續的網際網路連線,也就沒有使用者隱私和資料安全層面的疑慮。
Renesas 在其生態系統內,推出一套以音素原理為基礎的商用 VUI 軟體套裝。此軟體名為 Cyberon DSpotter,可建立一套相當精簡的 VUI 演算法,足以在採用 Arm Cortex-M4 與 M33 核心的 Renesas RA 系列 MCU 上運行。
使用 Cyberon DSpotter 進行開發
Cyberon DSpotter 建立在音素庫和音素組合之上。這是傳統和運算密集型訓練演算法的替代作法,可用來識別特定單詞。要將單詞拆解成音素,然後用符記表示,開發人員可以使用 DSpotter 建模工具。
DSpotter 是一款嵌入式 (非雲端) 軟體,可當作本機式語音觸發和命令辨識解決方案,具有強大的降噪功能。僅消耗最少的資源而且非常準確。根據所選的 MCU 而定,還可實作安全的資料傳輸。
DSpotter 需要各個命令詞或短語,再用工具拆解成音素。然後,VUI 的命令集和支援資料會內建到一個二進位檔案中,開發人員再將該檔與 Cyberon 音素庫一起納入到專案中。音素庫和二進位檔會在 MCU 上一起使用,以支援所需語音命令的識別。
DSpotter 工具會建立「CommandSets」,再由開發人員的程式進行邏輯連接,以打造具有不同層級的 VUI。如此就可達到多重層級的命令,例如「我想將燈泡設定成高亮度」,其中的命令詞是「燈泡」,接著是「設定」和「高」。一組命令中的各個命令都有其專屬的索引,每一個層級中的每個命令也是如此 (圖 3)。
圖 3:DSpotter 工具可建立「CommandSets」,再由開發人員的程式進行邏輯連接,以打造具有不同層級的 VUI。(圖片來源:Renesas)
DSpotter 音素庫會處理傳入的聲音,然後搜尋與資料庫中命令相符的音素。若有找到相符的,就會回傳索引和組別號碼。這種配置能讓主應用程式碼建立一個階層式 switch 陳述式,以便在命令詞/短語出現時對其進行處理。由此產生的音素庫很小,能裝入僅有 256 KB 快閃記憶體和 32 KB SRAM 的 MCU 中。如果有更多可用的記憶體,CommandSet 就可擴大。
對於開發人員來說,重要的是要瞭解 VUI 的音素作法有其侷限。MCU 的資源相對有限,也就表示 Cyberon DSpotter 是用於語音辨識而非聲音辨識。這意味著該軟體無法執行自然語言處理。因此,如果命令詞不遵循邏輯順序(例如「高」、「燈泡」、「設定」,而非「燈泡」、「設定」、「高」),系統就無法識別該命令,而會重置返回頂層。
有個設計建議是在 VUI 中添加一個視覺化指示器 (例如 LED),以指出處理器何時假定其位於 CommandSet 的頂層,進而提示使用者按邏輯順序重新發佈命令 (圖 4)。
圖 4:Cyberon DSpotter 的簡化本質會要求命令遵循邏輯順序,否則將無法識別。(圖片來源:Renesas)
以受限資源運行非雲端 VUI
Cyberon DSpotter 憑藉其效率,因此能在 Renesas 的 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 控制器、電容式觸摸感應單元、低功耗藍牙 (BLE) 無線連線、USB 2.0 全速、14 位元類比數位轉換器 (ADC)、12 位元數位類比轉換器 (DAC) 以及安全功能 (圖 5)。
圖 5:R7FA4W1AD2CNG MCU 提供充足的資源,可針對智慧型電燈開關等應用打造非雲端 VUI。(圖片來源:Renesas)
對於智慧揚聲器等應用來說,則需要更龐大的 Cyberon DSpotter 音素庫和更強大的核心。合適的選擇會是 R7FA6M4AF3CFM。RA6 系列的這款 MCU 具有更強大的 200 MHz Arm Cortex-M33 核心,並有 1 MB 快閃記憶體和 256 KB SRAM 的支援。還具有 CAN 匯流排、乙太網路、I²C、LIN 匯流排、電容式觸摸感應單元以及其他許多介面和周邊。
RA4 和 RA6 系列分別由評估板 RTK7EKA4W1S00000BJ 和 RTK7EKA6M4S00001BE 提供支援,能讓開發人員發揮 MCU 的功能。每個評估板都有目標 MCU 和一個板載除錯器。
Renesas 還提供一個 VUI 解決方案套件,有助於加速開發。此套件與評估板類似,其中含有目標器件和除錯器。此板件還具有多個 I/O 介面以及四個麥克風:兩個類比麥克風和兩個數位麥克風。
Cyberon 的網站有提供使用 VUI 解決方案套件進行開發時所需的軟體。包括可免費取用 Cyberon DSpotter 建模工具,其中含有可實際運作語音 CommandSet 的 e2 studio 專案 (e2 studio 是 Renesas MCU 用的 Eclipse 架構整合式開發環境 (IDE))。範例 CommandSet 可當作開發自訂語音命令序列的範本。然後就可使用終端機視窗監測系統的反應。建立如圖 4 所示的 VUI 結構通常需要大約 15 分鐘。
Renesas 的Flexible Software Package (FSP) 可支援 Cyberon 套裝所需的更複雜應用軟體設計,即可用於採用 RA 系列的嵌入式系統設計。FSP 以開放式軟體生態系統為基礎,並含有 Azure RTOS 或 FreeRTOS、傳統程式碼和第三方生態系統。可在多個 IDE 中運行,包括 e2 studio。
VUI 的執行效能如何?
VUI 在安靜的實驗室中表現良好是一回事,但在具有明顯背景噪音下要準確工作則是另一回事。智慧揚聲器的典型工作環境可能具有電視或收音機、對話、其他音樂來源,以及家庭或社交聚會的一般喧囂。此外,VUI 將必須要跟方言和非完美的措辭鬥智。儘管具有這些挑戰,使用者仍期望獲得幾近完美的效能。
為了在困難的聆聽環境中提高效能,在 Renesas RA 系列 MCU 上運行的 Cyberon DSpotter 軟體含有抗噪功能,僅需使用最少的處理器資源就可執行。為了證明功效,測試作業使用 Cyberon DSpotter VUI 在 1.5 和 3 公尺 (m) 距離處、多種背景噪音源影響,且訊噪比 (SNR) 為 0、5 和 10 分貝 (dB) 的條件下聆聽命令。在所有情況下,VUI 的表現都比 Amazon Alexa 基準測試更優秀 (表 1)。
|
表 1:在多種背景噪音源下,以 Cyberon 支援之 VUI 的命令成功測試結果。在所有情況下,VUI 的表現都比 Amazon Alexa 基準測試更優秀。(圖片來源: Renesas)
結論
VUI 正迅速成為智慧產品上首選的消費者控制介面。使用音素作為命令基礎以及嚴格型命令結構的語音控制作法,可以大幅降低記憶體和運算能力的要求,因此這個技術能在資源受限的小型 MCU 上以本機方式運作。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。