Unity基于window平台的关键词识别

10 篇文章 1 订阅

现在市面上很多语音识别的SDK,类似百度,讯飞等等,但是接这些SDK需要对接的文档还是蛮繁杂的,而且有部分功能还是收费的。其实,微软早就有基于window平台的语音识别模块,而且unity已经把这个模块集成到引擎中去了,这一篇讲一下unity是怎样实现关键词识别的,代码如下:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using UnityEngine.Windows.Speech;

public class KeywordScript : MonoBehaviour {

    [SerializeField]
    private string[] m_Keywords;


    private KeywordRecognizer m_Recognizer;

    void Start()
    {
        //创建关键词列表
        m_Keywords = new[] {"红色","蓝色" };
        //创建一个语音识别引擎
        m_Recognizer = new KeywordRecognizer(m_Keywords);
        //为识别添加监听
        m_Recognizer.OnPhraseRecognized += OnPhraseRecognized;
        //启动语音识别,必须要启动,不然无效
        m_Recognizer.Start();
    }
    private void OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        StringBuilder builder = new StringBuilder();
        builder.AppendFormat("{0} ({1}){2}", args.text, args.confidence, Environment.NewLine);
        builder.AppendFormat("\tTimestamp: {0}{1}", args.phraseStartTime, Environment.NewLine);
        builder.AppendFormat("\tDuration: {0} seconds{1}", args.phraseDuration.TotalSeconds, Environment.NewLine);
        Debug.Log(builder.ToString());
    }

    void OnDestroy()
    {
        //释放资源
        m_Recognizer.Dispose();
    }
}

有问题可以留言,可以关注我的公众号,定时推送各种技术,回复关键词“window语音识别”即可获取工程源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值