[中文|English]
這是一個透過 Vosk 實作 語音轉文字 的 Unity 專案,改善自官網上的範例。
Vosk 是一個語音辨識的套件。它的優點包含:
- 支援 20+ 語言與方言
- 可離線使用,甚至在輕型裝置上
- 有適合行動裝置的
~50 MB小型模型 ; 以及適合伺服器的~2 GB大型模型 - 可以手動設定單字以提升準確度
- 從官網下載一個模型
- 本專案已包含一個中文模型
- 把模型解壓縮至專案的
Application.streamingAssetsPath - 大的模型較為準確,但需要更長時間進行載入
- (推薦) 安裝 Newtonsoft Json Unity Package
- 在需要使用 ASR 的程式中加入
using Vosk.APIs; - 呼叫
VoskASR.Init - 訂閱
VoskASR.OnTranscriptionResult以獲取辨識結果 - 回傳的結果是 Json 格式,故推薦使用
Newtonsoft.Json - 可參考
Demo.cs的範例 - 可以使用
LoudnessMeter來視覺化輸入音量 - 可以使用
ChineseUtil來進行簡體與繁體的轉換- 中文模型大多為簡體
caller: 傳入MonoBehaviour讓 Unity 呼叫StartCoroutinemodelName: 傳入模型的資料夾名稱autoStart: 使否在呼叫Init後即開始辨識maxAlternatives: 該辨識幾組可能結果microphoneIndex: 麥克風的序號keyPhrases: 手動輸入特定單字來辨識