Hololens 收藏本版 已有5人收藏 +发表新主题
查看: 45031|回复: 3
打印 上一主题 下一主题

[分享] Unity语音输入(Voice input in Unity)

[复制链接]

[分享] Unity语音输入(Voice input in Unity)

yeziwang 发表于 2016-6-28 12:11:21 浏览:  45031 回复:  3 只看该作者 复制链接
语音输入是HoloLens三大基本输入方式之一。Unity上有三种形式在应用上添加语音输入,分别是:
1.使用KeywordRecognizer(关键字识别)
2.使用GrammarRecognizer(语法识别)
3.使用DictationRecognizer(听写识别)
注意:只有听写或短语识别可以立即操作。这意味着如果一个 GrammarRecognizer 或KeywordRecognize在运行,DictationRecognizer则不能运行,反之亦然。
声音设置
麦克风必须设置支持语音输入
1. 在Unity Editor,通过导航至播放器设置设置"Edit > Project Settings > Player" 界面
2. 点击"Windows Store"
3.  在"Publishing Settings > Capabilities" ,检查麦克风设置
关键字识别
命名空间: UnityEngine.Windows.Speech
类型: KeywordRecognizer, PhraseRecognizedEventArgs, SpeechError, SpeechSystemStatus
通过注册<关键词>来初始化KeywordRecognizer实例,同时注册语音命令事件来做后续处理。
添加一些存储识别和关键词到action dictionary:
添加关键词至字典。我们以"activate" 为例
创建关键字识别
注册OnPhraseRecognized事件
示例代码
最后,开始识别
语法识别
命名空间: UnityEngine.Windows.Speech
类型: GrammarRecognizer, PhraseRecognizedEventArgs, SpeechError, SpeechSystemStatus
语法识别同Windows Store应用类似,依赖于实现设定好的SRGS文件,文件中定义了一系列语法规则用于语音识别详见:  Create Grammars Using SRGS XML
在你创建好SRGS文件后,将它放进StreamingAessets文件夹
创建语法识别并把它传给你的SRGS文件
注册OnPhraseRecognized事件
最后,开始识别
听写识别
命名空间: UnityEngine.Windows.Speech
: DictationRecognizer, SpeechError, SpeechSystemStatus
听写特性用于将用户语音转为文字输入,同时支持内容推断和事件注册特性。Start()和Stop()方法用于启用和禁用听写功能,在听写结束后需要调用Dispose()方法来关闭听写页面。垃圾回收站会自动回收它的资源。
完整的使用方法如下:
创建如下DictationRecognizer,有以下四种
1. DictationResult
2. DictationComplete
3. DictationHypothesis
4. DictationError
听写结果(DictationResult)
用户暂停事件将被解除
首先订阅DictationHypothesis事件:
处理DictationHypothesis回调
听写假设(DictationHypothesis
首先订阅DictationHypothesis事件:
处理DictationHypothesis回调
听写完成(DictationComplete
当系统停止,事件将被解除,无论是stop()被启用,超时,或其他错误情况。
首先订阅DictationComplete事件:
处理 DictationComplete回调
听写错误(DictationError)
当出现错误时,事件将被解除
首先订阅 DictationError 事件:
处理DictationError回调
订阅和操作听写事件可以通过启用听写识别器接收事件。
如果你不需要听写识别,你需要在事件中注销听写识别。
提醒: 1.start()和stop()方法分别代表启用和禁用听写识别。
            2.在听写结束后需要调用Dispose()方法来关闭听写页面
            3.以下情况中,听写识别会自动触发超时行为:
                1). 如果在听写开始后第一个5秒内没听到任何声音,将会超时
                2). 如果识别到了一个结果但是之后20秒没听到任何声音,也会超时
同时使用以上识别
如果你想同时在应用程序上使用短语识别和听写识别,那么一定要在完全关闭当前语音识别行为后再开始另一个识别动作。如果有多个KeywordRecognizer在运行,你可以使用如下代码一次性关闭它们:
为了从先前状态恢复所有识别器,可以在听写识别完成后调用下面的代码:
你也可以重新开始一个 KeywordRecognizer,这将会重启PhraseRecognitionSystem以达到上面的效果。

分享至:
| 人收藏

相关帖子

回复

使用道具 举报

该用户从未签到

沙发
重庆生活网l 发表于 2017-10-25 17:22:43 只看该作者
终于看完了~~~













第五代QQ机器人QQ群机器人论坛QQ机器人智能客服机器人QQplus机器人QQ群互联机器人..联系QQ4000017854
回复 支持 反对

使用道具 举报

该用户从未签到

板凳
重庆生活网l 发表于 2017-10-26 14:11:51 只看该作者
又看了一次













淘客机器人、淘客返利机器人、淘宝客机器人 联系客服QQ:4000017854
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2019-3-25 21:42
  • 签到天数: 2 天

    [LV.1]初来乍到

    地板
    wj7636 发表于 2019-4-20 17:01:29 只看该作者
    没有太阳,花朵不会开放;没有爱便没有幸福;没有女人也就没有爱;没有母亲,既不会有诗人,也不会有英雄!! 伸缩门http://www.ssmdd.com
    回复 支持 反对

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2013-2017 ARinChina-增强现实中国技术论坛   All Rights Reserved.