[中文|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 呼叫StartCoroutine
modelName
: 傳入模型的資料夾名稱autoStart
: 使否在呼叫Init
後即開始辨識maxAlternatives
: 該辨識幾組可能結果microphoneIndex
: 麥克風的序號keyPhrases
: 手動輸入特定單字來辨識