【问题标题】:How to integrate a voice to string detector in C language如何在 C 语言中集成语音到字符串检测器
【发布时间】:2020-02-16 19:20:40
【问题描述】:

我是 C 编程新手,我想开发一个统一的游戏,包括一些语音检测,以响应游戏玩家的选择。关于如何实现这一点的任何想法?

【问题讨论】:

  • Unity 主要使用 C#。您是否打算为 Unity 编写本机插件?这远非微不足道(而且对于 SO 来说太宽泛了)
  • 正确的术语叫做“speech to text”。谷歌。

标签: c unity3d detection voice


【解决方案1】:

对于所谓的 Speech To Text,您可以使用 KeywordRecognizerPhraseRecognizer 作为 UnityEngine.Windows.Speech 的一部分。这是一个示例(在右侧的 Editor Inspector 窗格中填写单词):

using System;
using System.Text;
using UnityEngine;
// Put this check around any part you want to hide on other systems.
#if UNITY_STANDALONE_WIN
    using UnityEngine.Windows.Speech;
#endif

public class KeywordScript : MonoBehaviour
{
    [SerializeField] string[] keywords;

    KeywordRecognizer recognizer;

    void Start()
    {
        recognizer = new KeywordRecognizer(keywords);
        recognizer.OnPhraseRecognized += OnPhraseRecognized;
        recognizer.Start();
    }

    void OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        print(args.text);
        print(args.confidence);
    }
}

请注意,至少在我们的项目中,根据特定的操作系统详细信息,一些用户无法使其正常工作;当您考虑到各种操作系统语言设置时,它也会变得更加棘手。最重要的是,单词通常根本无法正确理解,但这也部分取决于您过滤了多少命令词;如果你只有少量的单词,并且允许高容错性,那么在这方面你可能会得到很好的结果。

另请注意,此库仅适用于 Windows,因此您需要其他方法,例如Android 或 iOS。

【讨论】:

  • 显然 Unity 中有 KeywordRecognizer 功能,但顾名思义,它仅限于几个“关键字”。我计划将语音到文本检测器集成为完整的字典。这可能吗?
  • OP 将此作为 C 问题发布;这不是 C
猜你喜欢
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
  • 2017-04-14
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
相关资源
最近更新 更多