中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity如何實現語音識別功能

發布時間:2021-05-29 16:42:01 來源:億速云 閱讀:688 作者:小新 欄目:開發技術

小編給大家分享一下Unity如何實現語音識別功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

現在語音識別已經被廣泛的應用到各個領域中,在Unity開發中,語音識別也非常受歡迎。大部分人都會選擇科大訊飛的語音識別功能,但是在一些小的項目中,使用科大訊飛的就有點大材小用了。今天就介紹一下Unity自帶的語音識別功能。說是語音識別,其實unity本身還是做不到的,Unity自帶的語音識別功能其實是關鍵字識別。比如我在Unity中設定好一句話匯總的幾個關鍵詞。當我再說這句話的時候就會和識別到。經過測試發現當一句話中有八個關鍵字,這句話就會非常好的被識別出來。
接下來就一起來實現一下:
首先貼一張效果圖:

Unity如何實現語音識別功能

場景我們沿用的是音頻可視化那篇文章里用到的場景。這里就不多做介紹了。Unity自帶的語音識別功能官方有API供參考,地址在這里(戳這里)

Unity如何實現語音識別功能

這里大家可以自行去看一下。下面開始介紹一下我們要實現的功能:
想要識別語音識別功能我們首先由先引用個命名空間

using UnityEngine.Windows.Speech;//引入命名空間

然后定義一個string類型數組,這個數組就是存放那些我們要識別關鍵字。

 // 關鍵字
    public string[] keywords = { "你好", "開始","停止" };

緊接著我們要在start方法中先創建一個語音識別器,這樣才能夠進行語音識別

//創建一個識別器
	m_PhraseRecognizer = new KeywordRecognizer(keywords, m_confidenceLevel);
	//通過注冊監聽的方法
	m_PhraseRecognizer.OnPhraseRecognized += M_PhraseRecognizer_OnPhraseRecognized;
	//開啟識別器
	m_PhraseRecognizer.Start();

接著是一個方法,這個方法主要就是用于識別到關鍵字后要做的事情

/// <summary>
    ///  當識別到關鍵字時,會調用這個方法
    /// </summary>
    /// <param name="args"></param>
    private void M_PhraseRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        print(args.text);
    }

這樣基本上重要的部分就完成。下面是全部的代碼,在底部還有一個小Demo,感興趣的可以下載下來自行體驗一下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Windows.Speech;//引入命名空間  利用

/// <summary>
/// 語音識別(主要是別關鍵字)
/// </summary>
public class speechKey : MonoBehaviour
{
    // 短語識別器
    private PhraseRecognizer m_PhraseRecognizer;
    // 關鍵字
    public string[] keywords = { "你好", "開始","停止" };
    // 可信度
    public ConfidenceLevel m_confidenceLevel = ConfidenceLevel.Medium;

    // Use this for initialization
    void Start()
    {
        if (m_PhraseRecognizer == null)
        {
            //創建一個識別器
            m_PhraseRecognizer = new KeywordRecognizer(keywords, m_confidenceLevel);
            //通過注冊監聽的方法
            m_PhraseRecognizer.OnPhraseRecognized += M_PhraseRecognizer_OnPhraseRecognized;
            //開啟識別器
            m_PhraseRecognizer.Start();
          
            Debug.Log("創建識別器成功");
        }
    }

    /// <summary>
    ///  當識別到關鍵字時,會調用這個方法
    /// </summary>
    /// <param name="args"></param>
    private void M_PhraseRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        SpeechRecognition();
        print(args.text);
    }
    private void OnDestroy()
    {
        //判斷場景中是否存在語音識別器,如果有,釋放
        if (m_PhraseRecognizer != null)
        {
            //用完應該釋放,否則會帶來額外的開銷
            m_PhraseRecognizer.Dispose();
        }

    }
    // Update is called once per frame
    void Update()
    {

    }
    /// <summary>
    /// 識別到語音的操作
    /// </summary>
    void SpeechRecognition()
    {
       
    }  
}

以上是“Unity如何實現語音識別功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳谷县| 汽车| 石渠县| 岱山县| 兰州市| 花垣县| 山阳县| 前郭尔| 曲周县| 鲜城| 郎溪县| 华坪县| 托克逊县| 黄浦区| 黑河市| 凤山市| 陕西省| 长兴县| 乌鲁木齐县| 山阳县| 永泰县| 耒阳市| 三都| 土默特左旗| 毕节市| 卓尼县| 盘锦市| 海丰县| 昌吉市| 嘉定区| 赣榆县| 什邡市| 青神县| 桂阳县| 吉首市| 肥城市| 富锦市| 繁峙县| 格尔木市| 大英县| 临猗县|