[Unity]_语音唤醒(关键词)

本文介绍了一个基于Unity的语音唤醒系统实现,通过使用KeywordRecognizer组件,该系统能够识别预设的关键词并触发相应的游戏内事件。文章详细展示了如何设置关键词数组、配置识别器的可信度等级,并在识别到关键词时执行特定的方法。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Windows.Speech;

public class VoiceWakeUp : MonoBehaviour
{
    /// <summary>
    /// 可信度
    /// </summary>
    public ConfidenceLevel m_ConfidenceLevel = ConfidenceLevel.Medium;
    /// <summary>
    /// 关键词数组
    /// </summary>
    public string[] keyWordArr;
    /// <summary>
    /// 短语识别器
    /// </summary>
    private PhraseRecognizer m_PhraseRecognizer;
    private void Awake()
    {
        m_PhraseRecognizer = new KeywordRecognizer(keyWordArr, m_ConfidenceLevel);
        //识别方法的注册
        m_PhraseRecognizer.OnPhraseRecognized += M_PhraseRecognizer_OnPhraseRecognized;
        m_PhraseRecognizer.Start();
    }
    private void OnDestroy()
    {
        m_PhraseRecognizer.Dispose();
    }
    private void M_PhraseRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        //throw new System.NotImplementedException();
        print(args.text);
         if (args.text==keyWordArr[0])
        {
            //方法执行
        }
    }
}

添加到相机。

路径不可以有中文,外部打开的EXE的名字不可以太长。

### 如何在 Unity 中集成语音唤醒功能 #### 集成 iOS SDK 的准备工作 为了使 Unity 和 iOS SDK 进行交互,需先将iOS SDK中的资源文件放置于Unity项目的`Plugins/iOS`目录下。这一步骤确保了所需的本地库能够在构建过程中被正确识别并打包到最终的应用程序中[^1]。 #### 使用 P/Invoke 调用原生方法 通过P/Invoke机制可以实现在C#代码里调用Objective-C编写的函数。下面列出了几个用于初始化和控制AIUI引擎的方法定义: ```csharp [DllImport("__Internal")] private static extern void InitIAIUI(string info); [DllImport("__Internal")] private static extern void CreateAIUI(); [DllImport("__Internal")] private static extern void OSCallUnity(string info); [DllImport("__Internal")] private static extern void StopEvent(); ``` 这些声明允许开发者从Unity脚本内部触发相应的iOS端操作,比如启动或停止特定的服务。 #### 创建回调接口处理事件通知 当某些条件满足时(例如成功创建了一个新的实例),可以通过`OSCallUnity()`向Unity传递消息字符串来告知当前状态变化情况;而在接收到该信号之后,则可以在Unity这边执行进一步的动作,像更新界面显示或是播放提示音效等。 ```csharp void AboutAIUI() { OSCallUnity("创建AIUIAgent"); } void OnCreateAIUI() { StopEvent(); } ``` 以上片段展示了怎样利用上述API完成基本的任务流管理——即响应来自底层系统的反馈信息,并据此调整上层应用的行为逻辑。 对于具体的语音唤醒部分,考虑到Porcupine是一个基于深度学习技术开发出来的离线关键词检测解决方案,其官方文档提供了详细的指南说明如何将其嵌入至移动平台应用程序之中[^2]。因此如果计划采用类似的第三方服务实现此特性的话,建议参照对应提供商给出的最佳实践指导来进行具体实施工作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值