Kinect 2.0&Speech 11 中文语音控制

Kinect 2.0&Speech 11 中文语音控制相关代码

 

下载 Speech 11 中文语言包

Microsoft Speech Platform - Runtime Languages (Version 11)

 

查找中文语言的RecognizerInfo

  1. private static RecognizerInfo TryGetKinectRecognizer()
  2.         {
  3.             IEnumerable<RecognizerInfo> recognizers;
  4.             // This is required to catch the case when an expected recognizer is not installed.
  5.             // By default - the x86 Speech Runtime is always expected.
  6.             try
  7.             {
  8.                 recognizers = SpeechRecognitionEngine.InstalledRecognizers();
  9.             }
  10.             catch (COMException)
  11.             {
  12.                 return null;
  13.             }
  14.             foreach (RecognizerInfo recognizer in recognizers)
  15.             {
  16.                 string value;
  17.                 recognizer.AdditionalInfo.TryGetValue("Kinect", out value);
  18.                 if ("True".Equals(value, StringComparison.OrdinalIgnoreCase) && "en-US".Equals(recognizer.Culture.Name, StringComparison.OrdinalIgnoreCase))
  19.                 {
  20.                    //return recognizer;
  21.                 }
  22.                 if ("zh-CN".Equals(recognizer.Culture.Name, StringComparison.OrdinalIgnoreCase))
  23.                 {
  24.                     return recognizer;
  25.                 }
  26.             }
  27.             return null;
  28.         }

构建中文指令

  1. RecognizerInfo ri = TryGetKinectRecognizer();
  2. this.speechEngine = new SpeechRecognitionEngine(ri.Id);
  3. var directions = new Choices();
  4. directions.Add(new SemanticResultValue("前", "FORWARD"));
  5. directions.Add(new SemanticResultValue("前进", "FORWARD"));
  6.  directions.Add(new SemanticResultValue("前移", "FORWARD"));
  7.  directions.Add(new SemanticResultValue("后", "BACKWARD"));
  8.  directions.Add(new SemanticResultValue("后退", "BACKWARD"));
  9.   directions.Add(new SemanticResultValue("后移", "BACKWARD"));
  10.   directions.Add(new SemanticResultValue("左", "LEFT"));
  11.   directions.Add(new SemanticResultValue("右", "RIGHT"));
  12.  var gb = new GrammarBuilder { Culture = ri.Culture };
  13. gb.Append(directions);
  14. var g = new Grammar(gb);
  15.   this.speechEngine.LoadGrammar(g);

 

官方Demo下载

转载于:https://www.cnblogs.com/linweifu/p/4154753.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值