Unity3D开发AI桌面精灵/宠物系列 【二】 语音唤醒 ivw 的两种方式-Windows本地或第三方讯飞等

Unity3D 交互式AI桌面宠物开发系列【二】ivw 语音唤醒


该系列主要介绍怎么制作AI桌面宠物的流程,我会从项目开始创建初期到最终可以和AI宠物进行交互为止,项目已经开发完成,我会仔细梳理一下流程,分步讲解。 这篇文章主要讲有关于语音唤醒ivw方面的一些方法。


提示:内容纯个人编写,欢迎评论点赞,来指正我。

文章目录

  • [Unity3D 交互式AI桌面宠物开发系列【二】ivw 语音唤醒](#Unity3D 交互式AI桌面宠物开发系列【二】ivw 语音唤醒)
  • 前言
  • 一、什么是ivw语音唤醒?
  • [二、Unity 内置语音唤醒 API](#二、Unity 内置语音唤醒 API)
  • 三、讯飞ivw语音唤醒接入本地版
    • [1. 注册账号](#1. 注册账号)
    • [2. 领取免费测试包](#2. 领取免费测试包)
    • [3. 创建应用](#3. 创建应用)
    • [4. 设置唤醒词](#4. 设置唤醒词)
    • [5. 生成SDK](#5. 生成SDK)
    • [6. 下载插件包](#6. 下载插件包)
    • [7. 替换SDK库](#7. 替换SDK库)
    • [8. 修改配置](#8. 修改配置)
    • [9. 运行程序](#9. 运行程序)
    • [10. 大功告成!!!](#10. 大功告成!!!)
  • 总结

前言

本篇内容主要讲Unity开发桌面宠物语音唤醒功能,大家感兴趣也可以了解一下这个开发方向,目前还是挺有前景的,AI智能科技发展这么迅猛,紧跟步伐哈~

下面让我们出发吧 ------------>----------------->


一、什么是ivw语音唤醒?

顾名思义,就是用户可以通过使用指定关键词来让桌面宠物做某件事或者有某种响应。原理即是通过实时监听用户语音,来检测其中是否含有指定关键词,监听到之后绑定某个事件。

二、Unity 内置语音唤醒 API

1.API讲解

  • KeywordRecognizer类
  • 引入命名空间 using UnityEngine.Windows.Speech;
  • 通过 Windows 系统自带的一个dll库,在Unity封装后可以轻松使用

2.方法讲解

  • private string[] m_Keywords = { "小姐姐" };
    首先声明一个关键词数组
  • private KeywordRecognizer m_Recognizer;
    然后创建一个关键词识别器
  • m_Recognizer.OnPhraseRecognized += OnPhraseRecognized;
    然后给识别器绑定一个用户的自定义事件
  • m_Recognizer.Start();
    这个是识别器的打开方法
  • m_Recognizer.Stop();
    这个是识别器的关闭方法

2.方法封装

  • 直接上代码,前面讲解过使用大概方法了
csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
#if UNITY_STANDALONE_WIN
using UnityEngine.Windows.Speech;
#endif
/// <summary>
/// unity内置语音唤醒 windows有效
/// </summary>
public class UnityWakeOnVoice : MonoBehaviour
{
    /// <summary>
    /// 关键词
    /// </summary>
    [SerializeField]
    private string[] m_Keywords = { "小姐姐" }; 
    /// <summary>
    /// 关键字识别器
    /// </summary>
#if UNITY_STANDALONE_WIN
    private KeywordRecognizer m_Recognizer;
    
    void Start()
    {
        //创建一个关键字识别器
        m_Recognizer = new KeywordRecognizer(m_Keywords);
        Debug.Log("创建识别器成功");
        m_Recognizer.OnPhraseRecognized += OnPhraseRecognized;
    }

    /// <summary>
    /// 开始识别
    /// </summary>
    public void StartRecognizer()
    {
        if (m_Recognizer == null)
            return;
        if (!m_Recognizer.IsRunning)
        {
            m_Recognizer.Start();
        }
    }
    /// <summary>
    /// 结束识别
    /// </summary>
    public void StopRecognizer()
    {
        if (m_Recognizer == null)
            return;
        if (m_Recognizer.IsRunning)
        {
        m_Recognizer.Stop();
        }
    }
    
    /// <summary>
    /// 识别关键词回调
    /// </summary>
    /// <param name="args"></param>
    private void OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        StringBuilder builder = new StringBuilder();
        builder.AppendFormat("{0}", args.text);
        string _keyWord = builder.ToString();
        Debug.Log("识别器捕捉到关键词:"+_keyWord);   
    }

    private void OnDestroy()
    {
        if (m_Recognizer != null)
        {
            m_Recognizer.OnPhraseRecognized -= OnPhraseRecognized;
            if (m_Recognizer.IsRunning)
            {
                m_Recognizer.Stop();
            }
            m_Recognizer.Dispose();
            m_Recognizer = null;
        }
    }
    #endif
}
  • 代码很简单,根据需求直接调用Start方法开始识别,Stop进行关闭就可以了
  • 重点来了,第三方平台的唤醒怎么接入,下面来看一下讯飞平台的吧

三、讯飞ivw语音唤醒接入本地版

1. 注册账号

  • 注册讯飞账号,新用户有免费的服务量可以用来测试。注册完登录点击控制台

2. 领取免费测试包

  • 按需求领取,领测试包,我的是二级测试包,新人也有不一样的包,领语音唤醒的包

3. 创建应用

  • 点击用户下面的 "我的应用" 然后创建应用,命名语音唤醒的应用,创建成功后会生成一个APPKey或者APPID 保存好。

4. 设置唤醒词

-自己随便设置唤醒词,最好是不要加标点,可以同时设置好几个。

-点击前往SDK下载中心

5. 生成SDK

  • 一定要先点回到旧版,新版没有普通的语音唤醒的,根据需求选择,可能和我的界面不一样,没关系,选择语音唤醒的包,点击下载。如果提示设置唤醒词,就再去设置一下。

6. 下载插件包

地址:讯飞语音唤醒的SDK离线版

7. 替换SDK库

  • 打开自己下载的讯飞的语音唤醒的SDK包
  • 找到bin文件下的 msc_x64.dll 和msc.dll 分别是64位和32位的库,对应系统装
  • 将Unity中的msc_x64的库替换成自己的,直接粘贴替换

8. 修改配置

-修改脚本中的APPId为自己创建应用生成的APPId

9. 运行程序

-运行程序,大声喊出你在平台设置的关键词,然后看控制台是否有打印,成功的回调事件自行扩展哦~ 我测试是成功的。

10. 大功告成!!!

比心啦 ❥(^_-)

语音唤醒功能就实现啦!

二选一 总有你喜欢的!!!

总结

  • 提示: 大家根据需求来做功能,后续继续其他功能啦,不懂的快喊我。
  • 大家可以在评论区讨论其他系列下一期出什么内容,这个系列会继续更新的
  • 点赞收藏加关注哦~ 蟹蟹
相关推荐
技术支持者python,php15 分钟前
训练模型,物体识别(opencv)
人工智能·opencv·计算机视觉
爱笑的眼睛1117 分钟前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
软件开发技术深度爱好者30 分钟前
基于多个大模型自己建造一个AI智能助手
人工智能
中國龍在廣州43 分钟前
现在人工智能的研究路径可能走反了
人工智能·算法·搜索引擎·chatgpt·机器人
攻城狮7号1 小时前
小米具身大模型 MiMo-Embodied 发布并全面开源:统一机器人与自动驾驶
人工智能·机器人·自动驾驶·开源大模型·mimo-embodied·小米具身大模型
搜移IT科技1 小时前
【无标题】2025ARCE亚洲机器人大会暨展览会将带来哪些新技术与新体验?
人工智能
信也科技布道师FTE1 小时前
当AMIS遇见AI智能体:如何为低代码开发装上“智慧大脑”?
人工智能·低代码·llm
青瓷程序设计1 小时前
植物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
AI即插即用2 小时前
即插即用系列 | CVPR 2025 WPFormer:用于表面缺陷检测的查询式Transformer
人工智能·深度学习·yolo·目标检测·cnn·视觉检测·transformer
唐兴通个人2 小时前
数字化AI大客户营销TOB营销客户开发专业销售技巧培训讲师培训师唐兴通老师分享AI销冠人工智能销售AI赋能销售医药金融工业品制造业
人工智能·金融