识别自定义语音关键字(Unity,MRTK,Hololens 1)

我正在尝试让hololens(1)识别自定义的语音关键字。使用Unity和MRTK。它可以识别预定义的关键字(例如:“选择”),但是无法识别我的自定义关键字(我们称其为“关键字”)。

我弹出了一个工具提示(如果它识别出一个关键字)以提供反馈,以及我放置在其中用于调试目的的音频反馈(又称:如果识别出任何关键字,请发出提示音)。它适用于“选择”,但不适用于“关键字”。

我希望此关键字在全球范围内得到认可。

  1. 已选择麦克风功能。
  2. 关键字在配置文件部分中定义。 (输入>语音>添加新的语音命令)
  3. 输入动作处理程序,语音输入处理程序和自定义代码“ SpeechManager.cs”均执行相同的操作。可以识别“选择”(弹出并播放提示音),但是不能识别“关键字”。
  4. 未选中“需要关注”。
  5. 我尝试了几种不同的关键字,以确保我没有选择难以识别的关键字。

    using UnityEngine;
    using microsoft.MixedReality.Toolkit.Input;
    using microsoft.MixedReality.Toolkit;
    public class SpeechManager : MonoBehaviour,IMixedRealitySpeechHandler
    {
    
    void Start()
    {
        //Debugging "play sound" declarations deleted as not important for this example script.
        CoreServices.InputSystem?.RegisterHandler<IMixedRealitySpeechHandler>(this);
    }
    
    void IMixedRealitySpeechHandler.OnSpeechKeywordRecognized(SpeechEventData eventData)
    {
        PlaySound(1);  //DEBUG AUDIO FEEDBACK
    
        if (eventData.Command.Keyword == "keyword")
        {
            PlaySound(2);  //DEBUG AUDIO FEEDBACK
        }
        else if (eventData.Command.Keyword == "select")
        {
            PlaySound(3);  //DEBUG AUDIO FEEDBACK
        }
    }
    } 
    

应该发生什么:

说“选择”:触发了PlaySound(1)和PlaySound(3)。

说出“关键字”:触发了PlaySound(1)和PlaySound(2)。

实际发生的事情:

“选择”:触发了PlaySound(1)*

“关键字”什么也没有发生

'*是的,不会触发PlaySound(3),但这是一个完全独立的问题,我不太担心,因为语音输入处理程序和输入动作处理程序都可以识别“选择”。一次一个问题!

linus2wan 回答:识别自定义语音关键字(Unity,MRTK,Hololens 1)

我可以分享如何设置场景以及我的话语得到认可。我附上SpeechInputHandler,例如在我的工具栏上,并将我的关键字引用到工具栏按钮上。 Is Focus Required也设置为false

 1.在MRT>Input>Speech下定义关键字:
enter image description here
 2.设置Speech Input Handler
enter image description here

,

Perazim,谢谢您的投入。我的看起来和你的完全一样。那为什么不起作用呢?我想到了。另一个问题的另一个用户通过删除App文件夹(或任何您命名为build文件夹)解决了他们的问题。所以我想,让我们尝试一下。有效!!!为您节省大量时间的提示:如果您认为它应该工作而不能,请删除App !!!

,

您还可以尝试更新的语音平台。它支持统一,可在此处使用:http://aka.ms/speech/sdk。有些人发现它更易于使用。

您可以检出Unity快速入门here

本文链接:https://www.f2er.com/3127429.html

大家都在问