Unity使用sherpa-onnx实现离线语音合成

sherpa-onnx https://github.com/k2-fsa/sherpa-onnx
相关dll和lib库拷进Unity,官方示例代码稍作修改
在这里插入图片描述

using SherpaOnnx;
using System;
using System.IO;
using System.Runtime.InteropServices;
using UnityEngine;public class TTS : MonoBehaviour
{public string Model = "vits-zh-aishell3/vits-aishell3.onnx";public string Lexicon = "vits-zh-aishell3/lexicon.txt";public string Tokens = "vits-zh-aishell3/tokens.txt";public string DataDir = "";public string DictDir = "";public string RuleFsts = "vits-zh-aishell3/rule.far";public int SpeakerId = 99;// Start is called before the first frame updatevoid Start(){try{OfflineTtsConfig config = new OfflineTtsConfig();config.Model.Vits.Model = Path.Combine(Application.streamingAssetsPath, Model);config.Model.Vits.Lexicon = Path.Combine(Application.streamingAssetsPath, Lexicon);config.Model.Vits.Tokens = Path.Combine(Application.streamingAssetsPath, Tokens);//config.Model.Vits.DataDir = Path.Combine(Application.streamingAssetsPath, DataDir);//config.Model.Vits.DictDir = Path.Combine(Application.streamingAssetsPath, DictDir);config.Model.Vits.NoiseScale = 0.667f;config.Model.Vits.NoiseScaleW = 0.8f;config.Model.Vits.LengthScale = 1f;config.Model.NumThreads = 1;config.Model.Debug = 0;config.Model.Provider = "cpu";config.RuleFsts = Application.streamingAssetsPath + "/vits-zh-aishell3/phone.fst" + ","+ Application.streamingAssetsPath + "/vits-zh-aishell3/date.fst" + ","+ Application.streamingAssetsPath + "/vits-zh-aishell3/number.fst";config.MaxNumSentences = 1;OfflineTts tts = new OfflineTts(config);OfflineTtsCallback callback = new OfflineTtsCallback(MyCallback);OfflineTtsGeneratedAudio audio = tts.GenerateWithCallback("这是一个语音合成测试", 1, SpeakerId, callback);bool ok = audio.SaveToWaveFile(Application.streamingAssetsPath + "/test.wav");if (ok){Debug.Log("succeeded!");}else{Debug.Log("Failed");}}catch (Exception e){Debug.LogError(e);}}void MyCallback(IntPtr samples, int n){float[] data = new float[n];Marshal.Copy(samples, data, 0, n);//Debug.Log("n:" + n);}// Update is called once per framevoid Update(){}
}

在这里插入图片描述
在这里插入图片描述
不知为何生成的音频是8000HZ的……
24.5.15添加了方便测试的UI
在这里插入图片描述

最后,案发现场在https://gitee.com/awnuxcvbn/usherpa-onnx-tts.git

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

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

相关文章

Audio Hijack for Mac 激活版:音频录制与处理软件

Audio Hijack for Mac,让您的音频创作更加高效、便捷。它支持多种音频格式的录制和导出,包括MP3、AAC、WAV等,让您的音频作品具有更广泛的兼容性。同时,软件界面简洁明了,操作流畅自然,即使您是初学者也能快…

HT3S-ECS-MDN网关引领智能称重新篇章欧姆龙EtherCAT PLC的集成应用案例

在现代化工业生产中,精确的数据采集和高效的通信系统是确保生产流程顺利运行的关键。特别是在称重环节,数据的准确性和实时性对于生产质量和成本控制至关重要。今天,我们将为您介绍一个成功的案例,展示HT3S-ECS-MDN网关如何连接称…

探索未来:Google I/O 2024 AI重磅发布一览

亲爱的读者们,大家期待已久的Google I/O开发者大会终于到来了!今年的大会尤为特别,Google在发布会上大力强调了人工智能(AI)的重要性,可以说AI成为了绝对的主角。为了让大家快速了解今年的重点内容&#xf…

开发人员必备3D建模基础

如果你想深入了解 3D 建模世界,这个快速概述可以帮助你入门。 3D 建模是一项强大的技能,允许开发人员创建逼真的视觉效果、设计产品和探索虚拟空间。 无论你对游戏开发、动画还是产品设计感兴趣,了解 3D 建模的基础知识都是至关重要的。 学…

功能安全如何在公司顺利开展?-亚远景科技

亚远景功能安全主题线上会议报名开启! 随着汽车技术的不断发展,汽车系统的复杂性和交互性大幅增加,功能安全成为确保驾驶员、乘客及行人安全的关键。 本场功能安全线上会议,亚远景为汽车行业的相关人员准备了以下内容&#xff1a…

Vue3使用datav3报错的三个问题解决

我这里写的是按需引入 报错问题Cannot find module dataview/datav-vue3 修改datav源码中的package.json文件 修改为 "module": "./es/index.mjs", 然就就会遇见新的报错问题 报错问题TypeError: Cannot read properties of null (reading $el) 然后修改…

【Kafka】2.深入理解Kafka事件流平台及其核心概念

1.事件流(Event streaming) 事件流是人体中枢神经系统的数字化的等价物。它是构建“始终在线”世界的技术基础,在这个世界中,企业越来越多地被定义为软件化和自动化,而软件的用户本身也是软件。 从技术上讲,事件流是从数据库、传…

通电即用,极简运维:带您10分钟零配置启动超大型园区网络

为顺应数字经济发展潮流,越来越多企业选择云网融合,这给企业园区的运维人员,特别是中大型企业园区的运维人员带来新的挑战:随着企业规模扩大,系统和应用程序的复杂性也在增加,运维人员需要不断学习新技术&a…

【数据库02】优化、视图、触发器、锁、InnoDB引擎、事务高级

个人学习笔记记录 参考资料:数据库从入门到精通 😀SQL优化 🎶insert 主键优化 主键顺序插入的性能是要高于乱序插入的 InnoDB的逻辑结构图 数据行是记录在page中的,而每一个页的大小是固定的,默认16K。 那也就意味…

什么是等保测评?等保测评必须进行吗?

等保测评,全称为信息安全等级保护测评,是指对信息系统安全等级保护状况进行测试评估的活动。它是根据国家信息安全等级保护规范规定,由具有相应资质的测评机构,按照相关管理规范和技术标准进行的,目的是验证信息系统是…

广汽原车控制系统CAN协议控制汽车基本信息获取及数据应用

在现代汽车工业的迅速发展中,车辆控制系统的智能化和网络化已成为提升汽车性能的关键。广汽作为中国汽车行业的佼佼者,其在原车通信网络方面也取得了显著的成就。特别是广汽原车CAN(Controller Area Network)协议的应用&#xff0…

关于大漠6.1544和谐版本的那些事

今天群里有人说,网络有这个版本的和谐版本,我就去淘宝花巨款买了1个来测试,下面把测试的结果聊一聊。 1,6.1544 属于很早的版本,发布时间应该是1998年??属于老古董。 2,查看对应的大…