Unity文字转语音(使用RT-Voice PRO [2023.1.0])

参考文章Unity插件——文字转朗读语音RtVioce插件功能/用法/下载_rtvoice-CSDN博客

一、使用步骤

1.导入进Unity(插件形式为 .unitypackage)

https://download.csdn.net/download/luckydog1120446388/88717512

2.添加所需Prefab

1).右键可以直接添加到 Hierarchy面板
在这里插入图片描述
2).添加后的样子
在这里插入图片描述

3.代码调用 RtVioceLocalTTS.cs

using Crosstales.RTVoice;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// creat by yxx 
/// 
/// https://blog.csdn.net/qq_43246529/article/details/109899257
/// </summary>
public class RtVioceLocalTTS : MonoBehaviour
{/*插件 - RtVioce
支持的Unity版本:5.3.1 及以上版本
功能:语音转文字
*不需要为自己的声音行事
*多个音色变换
*多个扬声器 同时对讲(说话)
*NPC聊天转换等。。。。   
?生成的音频可以存储到文件中。*/public InputField mTxtSpeakContent;public Button mBtnClick;private string mID;// Start is called before the first frame updatevoid Start(){mBtnClick.onClick.AddListener(() =>{//Speak(mTxtSpeakContent.text);mID = Speaker.Instance.Speak(mTxtSpeakContent.text, null, Speaker.Instance.Voices[0]);});}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.P)){mID = Speaker.Instance.Speak("测试语音功能是否正常!Test whether the voice function is normal", null, Speaker.Instance.Voices[0]);//Speaker.Instance.SpeakNative("测试语音功能是否正常!Test whether the voice function is normal", Speaker.Instance.Voices[0], 1, 1, 1);Debug.Log("开始ID:" + mID);Speaker.Instance.OnSpeakStart += SpeakStart;Speaker.Instance.OnSpeakComplete += SpeakComplete;//Speaker.Instance.Speak("why");//测试语音功能是否正常!}if (Input.GetKeyDown(KeyCode.O)){Speaker.Instance.Silence(mID);mID = Speaker.Instance.Speak("我的目的是来测试id的", null, Speaker.Instance.Voices[0]);Debug.Log("开始ID:" + mID);Speaker.Instance.OnSpeakComplete += SpeakComplete;}if (Input.GetKeyDown(KeyCode.M)){Speaker.Instance.PauseOrUnPause();}if (Input.GetKeyDown(KeyCode.N)){Speaker.Instance.PauseOrUnPause();//}if (Input.GetKeyDown(KeyCode.Y)){Speaker.Instance.Silence(mID);//静默(介绍播放)}}private void SpeakStart(Crosstales.RTVoice.Model.Wrapper wrapper){Debug.Log("开始播放ID:" + wrapper.Uid);}private void SpeakComplete(Crosstales.RTVoice.Model.Wrapper wrapper){Debug.Log("完成ID:" + wrapper.Uid);if (wrapper.Uid.Equals(mID)){}}public void Speak(string _conetnt){mID = Speaker.Instance.Speak(_conetnt, null, Speaker.Instance.Voices[0]);}/* public SpeechText SpeechText;// Start is called before the first frame updatevoid Start(){*//* Speaker.Speak("哇塞,我可以说话了!", null, null, true, GUISpeech.Rate, GUISpeech.Volume, "", GUISpeech.Pitch);Speaker.OnSpeakComplete += speakEndMethod;Speaker.OnSpeakStart += speakStartMethod;*//*//取消调用//Speaker.OnSpeakStart-= speakStartMethod;//Speaker.OnSpeakComplete += speakEndMethod;//Speaker.Silence();//停止说话}private void speakStartMethod()//SpeakEventArgs e){print("开始说话");}private void speakEndMethod()//SpeakEventArgs e){print("完成说话");}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.A)){SpeechText.Speak();}}*/
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/606980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

后端 API 接口文档 Swagger 使用

Swagger 是什么 swagger是一款可以根据 restful 风格生成的接口开发文档&#xff0c;并且支持做测试的一款中间软件。 例如当我们在开发前后端分离项目时&#xff0c;当后端开发完一个功能想要测试时&#xff0c;若此时还没有相应的前端页面发起请求&#xff0c;可以通过 swag…

android系列-SystemServer创建服务

SystemServer会开启很多服务&#xff0c;这些服务的创建流程类似&#xff0c;以Installer为例子 1.startBootstrapServices //frameworks\base\services\java\com\android\server\SystemServer.javaprivate void startBootstrapServices() {Installer installer mSystemSer…

Vue实现版本号输入、删除时光标自动移动到上、下一个输入框前端demo

前言 首先声明&#xff0c;我平时的工作主要是后端JAVA开发&#xff0c;该demo为前端练习&#xff0c;记录一下劳动成果&#xff0c;希望对大家有所帮助&#xff0c;如果有写的不妥的地方&#xff0c;欢迎大家指正&#xff0c;一起学习、共同进步。 背景 手机验证码、银行卡…

python炒股自动化(0),申请券商API接口

上次发了量化交易接口的区别&#xff0c;发现很多人根本不知道券商提供的API交易接口&#xff0c;这里补充一篇&#xff0c;关于券商接口的介绍。 现在市面上可以给个人账户接入的股票交易接口&#xff0c;用的最多的也就是QMT和Ptrade&#xff0c;以前接入量化交易需要机构或…

设备树文件中设备节点的标准属性

一. 简介 前面几篇文章学习了 设备树文件编译&#xff0c;调用关系&#xff0c;以及设备节点。本文继续学习设备树文件的语法。 节点是由一堆的属性组成&#xff0c;节点都是具体的设备&#xff0c;不同的设备需要的属性不同&#xff0c;用户可以自定义属性。除了用户自定义属…

2024年1月8日学习总结

目录 学习计划学习内容how to save and load models in pytorch&#xff08;1&#xff09;什么是state_dict定义一个模型实例化模型初始化优化器查看模型的state_dict查看优化器的state_dict &#xff08;2&#xff09;保存模型A、save/load state_dict&#xff08;推荐&#x…

高压放大器设计要求是什么

高压放大器在科学研究和工程应用中扮演着至关重要的角色&#xff0c;特别是在需要处理高电压信号的实验和应用中。高压放大器设计要求的充分考虑至关重要&#xff0c;以确保其在各种环境中稳定、可靠地工作。下面将介绍设计高压放大器时需要考虑的关键要求和因素。 1.电压范围 …

赋能软件开发:生成式AI在优化编程工作流中的应用与前景

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;特别是生成式AI模型如GPT-3/4的出现&#xff0c;软件开发行业正经历一场变革&#xff0c;这些模型通过提供代码生成、自动化测试和错误检测等功能&#xff0c;极大地提高了开发效率和软件质量。 本文旨在深入…

AnnexB封装格式介绍(主要用于H.264和H.265视频编码标准,是一种常见的视频流NALU封装格式,常用于RTSP、RTP传输)

参考文章&#xff1a;解码中的AnnexB和avcC两种分割数据方式 文章目录 AnnexB 格式介绍1. NALU单元与开始代码1.1 NALU单元1.2 开始代码 2. AnnexB格式详述2.1 基本结构2.2 长度前缀 3. 从AnnexB格式到AVCC格式4. AnnexB格式的优缺点4.1 优点4.2 缺点 5. 疑难问题解析如何确定开…

Android readelf 工具查找函数符号

ELF&#xff08;Executable and Linkable Format&#xff09;是一种执行文件和可链接文件的格式。它是一种通用的二进制文件格式&#xff0c;用于在各种操作系统中存储可执行程序、共享库和内核模块。 Android 开发当中的 so 库本质上就是一种特殊类型的 ELF 文件&#xff0c;…

文章解读与仿真程序复现思路——电工技术学报EI\CSCD\北大核心《考虑灵活性补偿的高比例风电与多元灵活性资源博弈优化调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题涉及到高比例风电与多元灵活性资源在博弈优化调度中考虑灵活性补偿的问题。以下是对标题各个部分的解读&#xff1a; 高比例风电&#xff1a; …

【模拟IC学习笔记】Cascode OTA 设计

辅助定理 增益Gm*输出阻抗 输出短路求Gm 输入置0求输出阻抗 求源极负反馈的增益 随着Vin的增加&#xff0c;Id也在增加&#xff0c;Rs上压降增加&#xff0c;所以&#xff0c;Vin的一部分电压体现在Rs上&#xff0c;而不是全部作为Vgs&#xff0c;因此导致Id变得平滑。 Rs足…

【数据结构篇】数据结构中的 R 树和 B 树

数据结构中的 R 树和 B 树 ✔️关于R树&#xff08;RTree&#xff09;✔️什么是B树&#xff08;B-tree&#xff09;✔️B树和B树的区别✔️B树和B树在数据存储方面的具体差异 ✔️拓展知识仓✔️R树和B树的区别✔️ 那在内存消耗上有什么区别&#xff1f;✔️ R树有哪些优点和…

【算法与数据结构】509、LeetCode斐波那契数

文章目录 一、题目二、递归&#xff0c;动态规划解法2.1 递归解法2.2 动态规划解法 三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归&#xff0c;动态规划解法 2.1 递归解法 思路分析&#xff1a;斐波…

go 语言中的 iota

我们经常会在我们的代码中定义类似以下这些常量&#xff1a; const (ColorRed "Red"ColorGreen "Green"ColorBlue "Blue" )在其他时候&#xff0c;我们仅仅关注能把一个东西与其他的做区分。 有些时候&#xff0c;有些时候一件事没有本质…

【Leetcode】240. 搜索二维矩阵 II

一、题目 1、题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例1: 输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21…

Pytorch:torch.nn.Module.apply用法详解

torch.nn.Module.apply 是 PyTorch 中用于递归地应用函数到模型的所有子模块的方法。它允许对模型中的每个子模块进行操作&#xff0c;比如初始化权重、改变参数类型等。 以下是关于 torch.nn.Module.apply 的示例&#xff1a; 1. 语法 Module.apply(fn)Module&#xff1a;P…

【REST2SQL】05 GO 操作 达梦 数据库

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 信创要求用国产数据库&#xff0c;刚好有项目用的达梦&#xff0c;研究一下go如何操作达梦数据库 1 准备工作 1.1 安…

ros2 基础学习 15- URDF:机器人建模方法

URDF&#xff1a;机器人建模方法 ROS是机器人操作系统&#xff0c;当然要给机器人使用啦&#xff0c;不过在使用之前&#xff0c;还得让ROS认识下我们使用的机器人&#xff0c;如何把一个机器人介绍给ROS呢&#xff1f; 为此&#xff0c;ROS专门提供了一种机器人建模方法——…

2024华为OD机试:最多几个直角三角形

题目描述 有N条线段&#xff0c;长度分别为a[1]-a[n]。 现要求你计算这N条线段最多可以组合成几个直角三角形。每条线段只能使用一次&#xff0c;每个三角形包含三条线段。 输入描述 第一行输入一个正整数T(1<T<100),表示有T组测试数据.对于每组测试数据&#xff0c;…