Unity TTS文字转语音 朗读 基于SpeechLib

本教程适用于不借助第三方语音平台,仅用Windows平台组件 进行文字转语音,基于SpeechLib

 

什么是TTS?TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。

 

教程需要用到两个dll文件,我已近整合好了  下载地址←点我

 

1.新建Unity项目,新建空文件夹 Plugins 把下载到的dll文件放进去

 

2.编写脚本

using SpeechLib;//引入命名空间

public class VoiceDemo: MonoBehaviour
{
    public string str;//自己手动输入字符
    void Start()
    {
        SpVoice voice = new SpVoice(); 
        voice.Speak(str, SpeechVoiceSpeakFlags.SVSFlagsAsync);//不开子线程,朗读不卡(朗读内容,如果正在朗读,则停止,然后朗读当前的内容,用的异步)
    }
    
}

//------朗读停止方法----------------------------------------------
//停止方法要写,不然会卡。
voice.Speak(string.Empty, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);


//------------------------------------------------------------------
当然你也可以用 协程方法 来管理朗读,在读完了之后直接关闭,也可以另写方法 延迟调用。

 

 

3.挂载在一个空物体上,手动填一个字符开始运行就可以朗读了

 

如果不能正常播放,先下载“朗读女”这个软件,安装后,断网测试看能否播放,如果不能,说明系统缺少组件,BD搜索TTS修复工具(最好是官方的)修复即可。

 

如果打包失败 替换:CustomMarshalers.dll:在unity安装路径/Editor\Data\Mono\lib\mono\2.0文件夹里找到 复制、替换到项目中

 

注:不要在VS中添加引用speechlib,那样做没用,还报错

 

教程版本:Unity2018.3,VS2019,Windows10 64位

 

@Liam:有用→收藏→关注  听说长得好看的人都这么做!!!

 

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值