Hololens 离线中文语音识别
Hololens自从去年11月份首推中文系统后,Hololens本身已经支持中文语音识别了
Hololens 中文系统升级
既然系本身已经支持,我们就可以像Win10一样简单方便的使用小娜,再也不用使用第三方服务(百度/讯飞/必应…)了
下面就是在Unity中简单的一种应用
using UnityEngine;
using UnityEngine.Windows.Speech;
public class STTManager : MonoBehaviour
{
public ConfidenceLevel Level;
public string[] Keywords;
private KeywordRecognizer _Recognizer;
private void Start()
{
Keywords = new string[]
{
"你好",
"Hello",
"你好 World"
};
_Recognizer = new KeywordRecognizer(Keywords, Level);
_Recognizer.OnPhraseRecognized += OnPhraseRecognized;
StartRecognizer();
}
private void StartRecognizer()
{
_Recognizer.Start();
}
private void StopRecognizer()
{
_Recognizer.Stop();
}
private void OnDestroy()
{
StopRecognizer();
}
private void OnPhraseRecognized(PhraseRecognizedEventArgs args)
{
//StringBuilder builder = new StringBuilder();
//builder.AppendFormat("{0} ({1}){2}", args.text, args.confidence, Environment.NewLine);
//builder.AppendFormat("\tTimestamp: {0}{1}", args.phraseStartTime, Environment.NewLine);
//builder.AppendFormat("\tDuration: {0} seconds{1}", args.phraseDuration.TotalSeconds, Environment.NewLine);
Debug.Log(args.text);
}
public void Show() { }
}
需要注意的是需要在Unity里面开启麦克风权限
Edit -> Project Settings -> Player -> Publishing Settings -> Capabilities -> 勾选Microphone