当前位置: 首页 > news >正文

黄页网页的推广网站wordpress jexus

黄页网页的推广网站,wordpress jexus,企业建设有限公司,免费制作视频Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 目录 Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 一、简单介绍 二、实现原理 三、注意实现 四、实现步骤 五、关键脚本 一、简单介绍 Unity 工具类#xff0c;自己整理的一些游戏开发可能用到的模块#x…Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 目录 Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 一、简单介绍 二、实现原理 三、注意实现 四、实现步骤 五、关键脚本 一、简单介绍 Unity 工具类自己整理的一些游戏开发可能用到的模块单独独立使用方便游戏开发。 本节介绍这里在使用微软的Azure 进行语音合成的两个方法的做简单整理这里简单说明如果你有更好的方法欢迎留言交流。 官网注册 面向学生的 Azure - 免费帐户额度 | Microsoft Azure 官网技术文档网址 技术文档 | Microsoft Learn 官网的TTS 语音转文本快速入门 - 语音服务 - Azure AI services | Microsoft Learn Azure Unity SDK  包官网 安装语音 SDK - Azure Cognitive Services | Microsoft Learn SDK具体链接 https://aka.ms/csspeech/unitypackage 二、实现原理 1、官网申请得到语音识别对应的 SPEECH_KEY 和 SPEECH_REGION 2、因为语音识别需要用到麦克风移动端需要申请麦克风权限 3、开启语音识别监听语音识别对应事件即可获取到识别结果 三、注意实现 1、注意如果有卡顿什么的注意主子线程切换可能可以适当解决你的卡顿现象 2、注意电脑端例如windows运行可以不申请麦克风权限但是移动端例如Android运行要申请麦克风权限不然无法开启识别成功可能会报错Exception with an error code: 0x15 uses-permission android:nameandroid.permission.RECORD_AUDIO/ System.ApplicationException: Exception with an error code: 0x15 at Microsoft.CognitiveServices.Speech.Internal.SpxExceptionThrower.ThrowIfFail (System.IntPtr hr) [0x00000] in 00000000000000000000000000000000:0 at Microsoft.CognitiveServices.Speech.Recognizer.StartContinuousRecognition () [0x00000] in 00000000000000000000000000000000:0 at Microsoft.CognitiveServices.Speech.Recognizer.DoAsyncRecognitionAction (System.Action recoImplAction) [0x00000] in 00000000000000000000000000000000:0 at System.Threading.Tasks.Task.Execute () [0x00000] in 00000000000000000000000000000000:0 at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in 00000000000000000000000000000000:0 at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task currentTaskSlot) [0x00000] in 四、实现步骤 1、下载好SDK 导入 2、简单的搭建场景 3、编写对应脚本测试语音识别功能 4、把测试脚本添加到场景中并赋值 5、如果移动端例如 Android 端勾选如下添加麦克风权限 uses-permission android:nameandroid.permission.RECORD_AUDIO/ 5、运行点击对应按钮开始识别Console 中可以看到识别结果 五、关键脚本 1、TestSpeechRecognitionHandler using UnityEngine; using UnityEngine.Android; using UnityEngine.UI;public class TestSpeechRecognitionHandler : MonoBehaviour {#region Data/// summary/// 按钮文本/// /summarypublic Button QuitButton;public Button ASRButton;public Button StopASRButton;public Text ASRText;/// summary/// m_SpeechAndKeywordRecognitionHandler/// /summarySpeechRecognitionHandler m_SpeechAndKeywordRecognitionHandler;#endregion#region Liefecycle function/// summary/// Start/// /summaryvoid Start(){QuitButton.onClick.AddListener(OnClickQuitButton);ASRButton.onClick.AddListener(OnClickASRButton);StopASRButton.onClick.AddListener(OnClickStopASRButton);// 请求麦克风权限RequestMicrophonePermission();}/// summary/// 应用退出/// /summaryasync void OnApplicationQuit() {await m_SpeechAndKeywordRecognitionHandler.StopContinuousRecognizer();}#endregion#region Private function/// summary/// RequestMicrophonePermission/// /summaryvoid RequestMicrophonePermission(){// 检查当前平台是否为 Androidif (Application.platform RuntimePlatform.Android){// 检查是否已经授予麦克风权限if (!Permission.HasUserAuthorizedPermission(Permission.Microphone)){// 如果没有权限请求用户授权Permission.RequestUserPermission(Permission.Microphone);}}else{// 在其他平台上可以执行其他平台特定的逻辑Debug.LogWarning(Microphone permission is not needed on this platform.);}SpeechInitialized();}/// summary/// SpeechInitialized/// /summaryprivate void SpeechInitialized() {ASRText.text ;m_SpeechAndKeywordRecognitionHandler new SpeechRecognitionHandler();m_SpeechAndKeywordRecognitionHandler.onRecognizingAction (str) { Debug.Log(onRecognizingAction: str); };m_SpeechAndKeywordRecognitionHandler.onRecognizedSpeechAction (str) { Loom.QueueOnMainThread(() ASRText.text str); Debug.Log(onRecognizedSpeechAction: str); };m_SpeechAndKeywordRecognitionHandler.onErrorAction (str) { Debug.Log(onErrorAction: str); };m_SpeechAndKeywordRecognitionHandler.Initialized();}/// summary/// OnClickQuitButton/// /summaryprivate void OnClickQuitButton() { #if UNITY_EDITORUnityEditor.EditorApplication.isPlaying false;#elseApplication.Quit(); #endif }/// summary/// OnClickASRButton/// /summaryprivate void OnClickASRButton() {m_SpeechAndKeywordRecognitionHandler.StartContinuousRecognizer();}/// summary/// OnClickStopASRButton/// /summaryprivate async void OnClickStopASRButton(){await m_SpeechAndKeywordRecognitionHandler.StopContinuousRecognizer();}#endregion }2、SpeechRecognitionHandler using UnityEngine; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; using System; using Task System.Threading.Tasks.Task;/// summary /// 语音识别转文本和关键词识别 /// /summary public class SpeechRecognitionHandler {#region Data/// summary/// /// /summaryconst string TAG [SpeechAndKeywordRecognitionHandler] ;/// summary/// 识别配置/// /summaryprivate SpeechConfig m_SpeechConfig;/// summary/// 音频配置/// /summaryprivate AudioConfig m_AudioConfig;/// summary/// 语音识别/// /summaryprivate SpeechRecognizer m_SpeechRecognizer;/// summary/// LLM 大模型配置/// /summaryprivate ASRConfig m_ASRConfig;/// summary/// 识别的事件/// /summarypublic Actionstring onRecognizingAction;public Actionstring onRecognizedSpeechAction;public Actionstring onErrorAction;public Actionstring onSessionStoppedAction;#endregion#region Public function/// summary/// 初始化/// /summary/// returns/returnspublic async void Initialized(){m_ASRConfig new ASRConfig();Debug.Log(TAG m_LLMConfig.AZURE_SPEECH_RECOGNITION_LANGUAGE m_ASRConfig.AZURE_SPEECH_RECOGNITION_LANGUAGE);Debug.Log(TAG m_LLMConfig.AZURE_SPEECH_REGION m_ASRConfig.AZURE_SPEECH_REGION);m_SpeechConfig SpeechConfig.FromSubscription(m_ASRConfig.AZURE_SPEECH_KEY, m_ASRConfig.AZURE_SPEECH_REGION);m_SpeechConfig.SpeechRecognitionLanguage m_ASRConfig.AZURE_SPEECH_RECOGNITION_LANGUAGE;m_AudioConfig AudioConfig.FromDefaultMicrophoneInput();Debug.Log(TAG Initialized 2 );// 根据自己需要处理不需要也行await Task.Delay(100);}#endregion#region Private function/// summary/// 设置识别回调事件/// /summaryprivate void SetRecoginzeCallback(){Debug.Log(TAG SetRecoginzeCallback );if (m_SpeechRecognizer ! null){m_SpeechRecognizer.Recognizing OnRecognizing;m_SpeechRecognizer.Recognized OnRecognized;m_SpeechRecognizer.Canceled OnCanceled;m_SpeechRecognizer.SessionStopped OnSessionStopped;Debug.Log(TAG SetRecoginzeCallback OK );}}#endregion#region Callback/// summary/// 正在识别/// /summary/// param names/param/// param namee/paramprivate void OnRecognizing(object s, SpeechRecognitionEventArgs e){Debug.Log(TAG RecognizingSpeech: e.Result.Text :[e.Result.Reason]: e.Result.Reason);if (e.Result.Reason ResultReason.RecognizingSpeech ){Debug.Log(TAG Trigger onRecognizingAction is null : onRecognizingAction null);onRecognizingAction?.Invoke(e.Result.Text);}}/// summary/// 识别结束/// /summary/// param names/param/// param namee/paramprivate void OnRecognized(object s, SpeechRecognitionEventArgs e){Debug.Log(TAG RecognizedSpeech: e.Result.Text :[e.Result.Reason]: e.Result.Reason);if (e.Result.Reason ResultReason.RecognizedSpeech ){bool tmp onRecognizedSpeechAction null;Debug.Log(TAG Trigger onRecognizedSpeechAction is null : tmp);onRecognizedSpeechAction?.Invoke(e.Result.Text);}}/// summary/// 识别取消/// /summary/// param names/param/// param namee/paramprivate void OnCanceled(object s, SpeechRecognitionCanceledEventArgs e){Debug.LogFormat(TAGCanceled: Reason{0}, e.Reason );if (e.Reason CancellationReason.Error){onErrorAction?.Invoke(e.ErrorDetails);}}/// summary/// 会话结束/// /summary/// param names/param/// param namee/paramprivate void OnSessionStopped(object s, SessionEventArgs e){Debug.Log(TAGSession stopped event. );onSessionStoppedAction?.Invoke(Session stopped event.);}#endregion#region 连续语音识别转文本/// summary/// 开启连续语音识别转文本/// /summarypublic void StartContinuousRecognizer(){Debug.LogWarning(TAG StartContinuousRecognizer);try{// 转到异步中根据自己需要处理Loom.RunAsync(async () {try{if (m_SpeechRecognizer ! null){m_SpeechRecognizer.Dispose();m_SpeechRecognizer null;}if (m_SpeechRecognizer null){m_SpeechRecognizer new SpeechRecognizer(m_SpeechConfig, m_AudioConfig);SetRecoginzeCallback();}await m_SpeechRecognizer.StartContinuousRecognitionAsync().ConfigureAwait(false);Loom.QueueOnMainThread(() {Debug.LogWarning(TAG StartContinuousRecognizer QueueOnMainThread ok);});Debug.LogWarning(TAG StartContinuousRecognizer RunAsync ok);}catch (Exception e){Loom.QueueOnMainThread(() {Debug.LogError(TAG StartContinuousRecognizer 0 e);});}});}catch (Exception e){Debug.LogError(TAG StartContinuousRecognizer 1 e);}}/// summary/// 结束连续语音识别转文本/// /summarypublic async Task StopContinuousRecognizer(){try{if (m_SpeechRecognizer ! null){await m_SpeechRecognizer.StopContinuousRecognitionAsync().ConfigureAwait(false);//m_SpeechRecognizer.Dispose();//m_SpeechRecognizer null;Debug.LogWarning(TAG StopContinuousRecognizer);}}catch (Exception e){Debug.LogError(TAG StopContinuousRecognizer Exception : e);}}#endregion} 3、ASRConfig public class ASRConfig {#region Azure ASR/// summary/// AZURE_SPEECH_KEY/// /summarypublic virtual string AZURE_SPEECH_KEY { get; } 098dc5aa21a14758a347dcac36d7eb66;/// summary/// AZURE_SPEECH_REGION/// /summarypublic virtual string AZURE_SPEECH_REGION { get; } eastasia;/// summary/// AZURE_SPEECH_RECOGNITION_LANGUAGE/// /summarypublic virtual string AZURE_SPEECH_RECOGNITION_LANGUAGE { get; } zh-CN;#endregion }
http://www.hkea.cn/news/14265903/

相关文章:

  • 外贸网站建设不可缺少的灵活性一般做企业网站需要什么
  • 揭阳网站开发mituad网站备案管理办法
  • 做网站服务费税率邯郸网站建设优化排名
  • 做网站需要会编程吗网站建设通常用到哪些编程
  • 中国网站建设市场排名做设计素材在哪个网站
  • 贵阳手机网站开发商务网站建设与维护 ppt
  • 域名网站注册最划算当前主流的网络营销方式
  • 搭建网站需要多少钱网站建设方式丨金手指排名26
  • 如何搭建网站教程南通做网站优化
  • 创建个人网站的流程平台搭建步骤
  • 做网站建设需要什么资质商城app开发价格
  • 如何提升网站的搜索排名网站快照
  • 关于做一动物网站的界面个互联网做网站怎么赚钱
  • 值得相信的西安网站开发英文网站建设公司 杭州
  • 职高门户网站建设标准书画网站建设方案策划
  • 门户网站什么意思游戏开发引擎
  • 做棋牌网站犯法吗石家庄有什么做网站的公司
  • asp做学生信息网站网上做头像用什么网站
  • 网站搜索不到公司网站外贸搜素网站
  • 河南建设厅网站查证阜宁做网站工作室
  • 百度网盘搜索引擎网站微信公众平台运营
  • 公司网站制作需要多少钱河北省住房城乡建设厅网站
  • 自己的网站什么做优化e时代速递搜索引擎网站建设
  • 企业网站建设策划书1万字足球世界排名前十
  • 南海区建设局网站首页1688平台
  • ftp 上传网站海珠区
  • 如何在谷歌上做网站优秀企业宣传册样本
  • 网站建设单位哪家好开发软件赚一千万
  • 网页制作与网站建设从入门到精通公司有网站有什么好处
  • 做电商网站赚钱吗网站增值业务