接續上一篇博文: MediaTek Genio 130/130A 快速上手(三),我們來編譯下一個範例:bga_sdk_vad
這個範例主要將展示 Genio 130A 的其中一項重要的功能:Voice Assistant(VA)。VA 是基於 Genio 130A 中的 Audio Cadence® Tensilica® HiFi4 DSP@600MHz(註一),配合賽微科技(Cybron)語音識別資料庫實現本地端語音助理服務,客戶可以依 "喚醒詞" + "命令詞" 的架構設計客製化語音識別模型。
本篇博文將會帶大家一步一步進行範例
- 編譯並燒錄範例
- 前置作業
- 使用範例 bga_sdk_vad 進行本地端語音助理服務
編譯SDK範例程式 & 燒錄
執行編譯腳本: ./build.sh mt7933_hdk bga_sdk_vad
編譯完成會印出訊息如下
編譯完成後可在路徑 [SDK]/out/mt7933_hdk/bga_sdk_vad/ 可找到剛生成的 image 檔,燒錄 image 到 Genio 130A HDK 上的步驟可參考此篇博文:MediaTek Genio 130/130A 快速上手(二)
SDK範例演練 - 前置作業
下圖 HDK 標示的部分與 SDK 範例 bga_sdk_vad 相關,其中紅色方框標記的分別為
- Analog microphone
- Audio speaker connector (可接上如圖所示的 speaker)
接下來我們可以透過 CLI command:aud_dbg,來演練 VA 功能
在演練 VA 功能前,我們需要先連接上 WiFi AP,接著向 Cyberon 取得 Trial License,才可以使用SDK內建的 Cyberon 語音識別模型,否則將在 DSP 啟動語音識別模型後回應如下圖的錯誤訊息:
取得 Cyberon Trial License步驟如下:
連接 WiFi AP
參考:MediaTek Genio 130/130A 快速上手(三),透過上一篇博文的步驟,連接上 WiFi AP
取得 Cyberon Trial License
CLI command:cyberon
透過 CLI command 獲得 License 並寫入 Genio 130A NVRAM中
$ cyberon test_get_license
$ cyberon test_check
$ cyberon license_backup
$ cyberon write_license
SDK範例演練
CLI command:aud_dbg
我們透過以下 CLI command 選擇 Cyberon 語音識別模型,並啟動 VA
$ aud_dbg cset Cyberon_Model 1 0
$ aud_dbg cset ADSP_Enable 1 1
$ aud_dbg va -v 1
簡單說明 VA 操作方式為:一個喚醒詞 + 一個指令詞
喚醒詞:"Hey Siri"
指令詞:"Open Camera", "Take a picture", "Play music", "Stop music", "Previous Song", "Next Song", "Volume Louder", "Volume Down"
當偵測到喚醒詞時可看到如下訊息
接著,在 VA 回應後接著說出喚醒詞,當偵測到時可看到如下訊息
相關資訊連結:
- MetiaTek Genio 130/130A : https://www.mediatek.com/iot/products/genio-130
- MTK Genio130/130A Non-NDA SDK(請參考下圖位置) : https://www.wpgdadatong.com/product-channel/Mediatek