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

开源语音合成模型ChatTTS本地部署结合内网穿透实现远程访问

文章目录

    • 前言
    • 1. 下载运行ChatTTS模型
    • 2. 安装Cpolar工具
    • 3. 实现公网访问
    • 4. 配置ChatTTS固定公网地址

前言

本篇文章就教大家如何快速地在Windows中本地部署ChatTTS,并且我们还可以结合Cpolar内网穿透实现公网随时随地访问ChatTTS AI语言模型。

最像人声的AI来了!语音开源天花板ChatTTS火速出圈,一周就斩获20k,目前github上已经21k。这是专门为对话场景设计的语音生成模型,用于LLM助手对话任务、对话语音、视频介绍等,仅支持中英文。

ChatTTS是一种基于深度学习的文本转语音技术,它可以将文本内容转化为自然流畅的人工语音。不同于传统的TTS技术,ChatTTS能够更好地理解文本的情感、语调和语义,从而在语音输出中表达出更加准确和生动的七情六欲。通过训练大规模的语音数据和使用高级的神经网络模型,ChatTTS实现了对文本的情感理解和表达,使得语音输出更加贴近人类表达。

ChatTTS的应用场景广泛,尤其在语音助手、虚拟主播、有声书等领域有着巨大的潜力。例如,在语音助手方面,ChatTTS可以赋予语音助手更加生动、自然的声音,提升用户体验。

在虚拟主播领域,ChatTTS可以为虚拟角色赋予独特的声音和情感,使其更加接近真实人类主播的表达能力。在有声书方面,ChatTTS可以实现更加生动、有趣的阅读体验,让用户沉浸在声音的世界中。这些应用场景的成功案例表明了ChatTTS技术在不同领域的潜力和市场需求。

1. 下载运行ChatTTS模型

本篇文章测试环境:Windows

Github地址:https://github.com/2noise/ChatTTS
ChatTTS压缩包地址:https://pan.baidu.com/s/1VnVnW9XCjNgkjm0etQBSXg?pwd=6666
提取码:6666

点击上方网盘中自取压缩包,下载到本地后解压,解压后双击 app.exe 即可使用

dca75bfc6f985754729f28c1253f751.png

接下来只需要双击app的那个文件就可以运行了,因为这个包里已经包含了必要的组件,双击运行后会出现如下的日志,最终打印出来一个启动地址,在浏览器输入地址后就可以打开主页面了。

82cb3d6c6b91748862a2c69b4a11d51.png

然后打开一个新的浏览器输入:127.0.0.1:9966,可以看到进入到了ChatTTS界面中了

3bfcde365e7784715acb7a1dbd4482b.png

首页中上面是输入要转化的文本,下面是音色提示词以及数字转文本等参数,可以每次修改一个值尝试下效果。选择不同的音色或者音色值转化后的人语音是不一样的,需要注意的是如果文本中存在数字要勾选数字转文本,否则语音会读不准数字的发音。完成后点击立即合成声音就可以生成了,生成完毕声音会显示在下面,点击就可以播放了。

image.png

下方还提供了API调用的功能,点击生成的语音下显示API调用就可以看到调用的接口文档了。

image.png

默认地址是 http://127.0.0.1:9966,如果想修改,可打开目录下的 .env文件,将 WEB_ADDRESS=127.0.0.1:9966改为合适的ip和端口,比如修改为WEB_ADDRESS=192.168.0.10:9966以便局域网可访问

image.png

同时在日志中也可以看到对应后台数据信息,比如推理的时长、音频时长等。

image.png

可以看到以上我们成功在本地部署了ChatTTS,但是为了能实现异地或者当我们和ChatTTS不在同一个局域网也可以进行AI生成语音的工作,我们只需要借助Cpolar内网穿透工具,穿透本地ChatTTS大语言模型,就可以实现远程也可以调用,下面教大家如何安装cpolar。

2. 安装Cpolar工具

本例介绍的是windows系统,所以cpolar安装在windows上,点击下面地址访问cpolar官网,注册一个账号,然后下载并安装客户端.

Cpolar官网:https://www.cpolar.com/

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录,即可看到Cpolar 管理界面,然后一切设置只需要在管理界面完成即可!

image.png

登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个ChatTTS的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:9966
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

点击创建(点击一次创建按钮即可,不要重复点击!)

a87169da7a54c0ca834d1e32b75c348.png

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,下面选择其中一种进行远程访问,下面我们替换掉笔记中的本地地址,改为公网地址.

b24ad5360c313675f266b62e7df6b1f.png

3. 实现公网访问

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到ChatTTS主界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可编辑自己的日常并发布公网了!

a9837036302a21812773afc2370c80b.png
小结

如果大家需要经常异地远程来使用ChatTTS大语言模型工作,或者其他在本地部署的服务,比如个人博客站点或是私有云盘等。由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。

建议把公网地址设置成固定的二级子域名,这样就不用每次都重新创建隧道来访问,下面演示一下如何创建一个固定的http公网地址来解决这个问题。

4. 配置ChatTTS固定公网地址

我们接下来为 ChatTTS 配置固定的HTTP公网地址,该地址不会变化,方便查看且无需每天重复修改访问地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称:

b8f36844b4829c76e4f301004358bce.png
保留成功后复制保留成功的二级子域名的名称

2e8a0aee14ba9e06c699fccfad6658b.png

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image.png

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

378c43aa9e914224105570436404dcf.png

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

b4708dfed44345e61ecaeb2fff86c34.png

使用生成的公网地址访问,可以看到访问成功,这样一个ChatTTS的固定且永久不变的二级子域名公网地址就设置好了,大家可以使用这个地址随时随地异地访问ChatTTS语音大模型,来进行生成语音包 =。=~

0162a48e7ef614290c5f92d36f8b92e.png
以上就是如何在Windows本地部署ChatTTS文字转语音大模型,并结合cpolar内网穿透工具实现远程访问使用的全部流程,感谢您的观看,有任何问题欢迎留言交流。

相关文章:

  • 【笔记】【Git】多个dev分支合并到master分支的文件冲突
  • webpack和vite区别
  • c++相关的数据结构
  • 【1】kettle的使用(全网最新版)
  • 深入理解java设计模式之单例模式
  • IEEE802.11a中的同步
  • Java18新特性总结
  • kubesphere踩过的坑,持续更新....
  • 《C++ Primer》导学系列:第 4 章 - 表达式
  • [CODE:-5504]没有[SYS.SYSOBJECTS]对象的查询权限
  • 应变玻璃合金是航天产业重要弹性材料 研究开发意义重大
  • 北京十大金牌律师事务所(2024年权威高胜诉率推荐)
  • 轨迹优化 | 图解欧氏距离场与梯度场算法(附ROS C++/Python实现)
  • 模拟14位相机输出Verilog代码
  • CoppeliaSim机器人模拟器与Matlab Simulink环境
  • C学习-枚举(九)
  • ECMAScript6(0):ES6简明参考手册
  • gf框架之分页模块(五) - 自定义分页
  • happypack两次报错的问题
  • javascript从右向左截取指定位数字符的3种方法
  • Js基础——数据类型之Null和Undefined
  • node学习系列之简单文件上传
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Python学习之路13-记分
  • redis学习笔记(三):列表、集合、有序集合
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • spring boot下thymeleaf全局静态变量配置
  • Tornado学习笔记(1)
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 用jquery写贪吃蛇
  • 7行Python代码的人脸识别
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​ArcGIS Pro 如何批量删除字段
  • #include
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (9)STL算法之逆转旋转
  • (AngularJS)Angular 控制器之间通信初探
  • (C语言)fgets与fputs函数详解
  • (poj1.3.2)1791(构造法模拟)
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (转)Scala的“=”符号简介
  • (转)重识new
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net 按比例显示图片的缩略图
  • .net 设置默认首页
  • .NET 事件模型教程(二)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?