在MoneyPrinterPlus中使用本地chatTTS语音模型
之前MoneyPrinterPlus在批量混剪,一键AI生成视频这些功能上的语音合成功能都用的是云厂商的语音服务,比阿里云,腾讯云和微软云。
云厂商虽然提供了优质的语音服务,但是用起来还是要收费。
为了各位小伙伴的钱包,现在特意给MoneyPrinterPlus上线了本地chatTTS语音服务。
赶紧来体验吧。
软件准备
当然,前提条件就是你需要下载MoneyPrinterPlus软件啦。
下载地址: https://github.com/ddean2009/MoneyPrinterPlus
用得好的朋友,不妨给个star支持一下。 在软件v4.0版本之后,MoneyPrinterPlus已经全面开始支持本地模型。
安装chatTTS
我们可以直接从chatTTS的官网上 https://github.com/2noise/ChatTTS 下载chatTTS的源代码:
git clone https://github.com/2noise/ChatTTS
cd ChatTTS
安装依赖:
pip install --upgrade -r requirements.txt
运行web-UI:
python examples/web/webui.py
运行api-server:
fastapi dev examples/api/main.py --host 0.0.0.0 --port 8000
这里注意,web-ui的默认端口是8080, api-server的端口是8000。
MoneyPrinterPlus需要连接的是8000端口的api-server。
web-UI只是为了展示怎么配置音色的一个展示用的。
我们打开 http://localhost:8080/ 可以看到类似下面的页面:

点击生成按钮,如果能够成功合成音频文件,那么说明你的chatTTS安装成功了。
在MoneyPrinterPlus中使用ChatTTS
回到MoneyPrinterPlus,我们启动MoneyPrinterPlus,在基本配置页面我们可以看到:本地语音TTS的选项。

这里我们选择chatTTS,并且设置chatTTS api server的地址。
上面我们是以8000启动的api server,所以这里我们就输入:http://127.0.0.1:8000/。
接下来点击视频混剪区,在视频配音区选择本地模型:

我们可以得到下面的界面:

解释一下各个参数的作用:
是否口语化对应chatTTS的口语化开关,如果启动口语化,chatTTS会自动对输入的文案进行口语化调整。所以默认是不开启的。
Text Seed是控制口语化模型处理的种子,你可以随意调整。
Audio Temperature控制音频情感波动性,范围为 0-1,数字越大,波动性越大
top_P :控制音频的情感相关性,范围为 0.1-0.9,数字越大,相关性越高
top_K :控制音频的情感相似性,范围为 1-20,数字越小,相似性越高
Refine text Prompt是指在口语化过程中添加的一些参数。如果不懂的话可以不修改。
本地chatTTS音色目录,默认在项目的chattts目录中。
现在我在chattts目录中预先放置了2种音色文件。
一种是txt文件,一种是pt文件。
你可以自行添加更多的音色文件到chattts目录中。
那么有小伙伴要问了,txt或者pt文件是怎么来的呢?
先讲一个简单的pt文件,你可以在 https://modelscope.cn/studios/ttwwwaa/ChatTTS_Speaker 这个空间中试听和下载对应的语音文件:

把下载下来的pt文件,放在MoneyPrinterPlus中的chattts目录即可。
txt文件是怎么来的呢?
我们再次回到chatTTS的webUI界面:

这个txt就是这里的Speaker Embedding的内容。
你可以点击右上角的拷贝按钮,新建一个utf-8编码的txt文件。 把这个txt文件放到MoneyPrinterPlus中的chattts目录即可。
如果你不想用已有的音色文件,那么可以点击使用随机声音按钮:

会出现一个Audio Seed选项,这个seed就是用来控制Audio音色的。
有了这些配置之后,点击试听声音,如果能听到声音就说明你的chatTTS在MoneyPrinterPlus中配置成功了。
接下来就可以使用本地的chatTTS来合成语音啦。
在MoneyPrinterPlus中使用本地chatTTS语音模型的更多相关文章
- 人工智能中小样本问题相关的系列模型演变及学习笔记(二):生成对抗网络 GAN
[说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] [再啰嗦一下]本文衔接上一个随笔:人工智能中小样本问题相关的系列模型演变及学习 ...
- C#开发BIMFACE系列50 Web网页中使用jQuery加载模型与图纸
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案>中介绍了目前市场主流 ...
- iOS之在webView中引入本地html,image,js,css文件的方法 - sky//////////////////////////////////////ZZZZZZZZZZZZZZZ
iOS之在webView中引入本地html,image,js,css文件的方法 2014-12-08 20:00:16CSDN-sky_2016-点击数:10292 项目需求 最近开发的项 ...
- 在eclipse的maven插件中搜寻本地仓库中的jar搜索不到的解决方案
在eclipse的maven插件中搜寻本地仓库中的jar搜索不到的解决方案 之前,用过maven管理项目的童鞋都知道本地会有一个${User_Home}.m2/repository仓库 是用来存放ja ...
- js网页中调用本地应用程序
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Con ...
- osg中使用MatrixTransform来实现模型的平移/旋转/缩放
osg中使用MatrixTransform来实现模型的平移/旋转/缩放 转自:http://www.cnblogs.com/kekec/archive/2011/08/15/2139893.html# ...
- [Unity3D][Vuforia][IOS]vuforia在unity3d中添加自己的动态模型,识别自己的图片,添加GUI,播放视频
使用环境 unity3D 5 pro vuforia 4 ios 8.1(6.1) xcode 6.1(6.2) 1.新建unity3d工程,添加vuforia 4.0的工程包 Hierarchy中 ...
- 【转】flash air中读取本地文件的三种方法
actionscript中读取本地文件操作有两种代码如下 1.使用File和FileStream两个类,FileStream负责读取数据的所以操作:(同步操作) var stream:FileStre ...
- 008.Adding a model to an ASP.NET Core MVC app --【在 asp.net core mvc 中添加一个model (模型)】
Adding a model to an ASP.NET Core MVC app在 asp.net core mvc 中添加一个model (模型)2017-3-30 8 分钟阅读时长 本文内容1. ...
- Maven中使用本地JAR包
在Maven项目中使用本地JAR包有两种方法: 1. 使用system scope <dependencies> <dependency> <groupId>org ...
随机推荐
- C 语言编程 — 编程实践
目录 文章目录 目录 前文列表 程序示例 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本数据类型> < ...
- apisix~authz-keycloak插件介绍
参考:https://apisix.apache.org/docs/apisix/plugins/authz-keycloak/ kc插件源码梳理及原理说明 如果只是进行keycloak颁发的toke ...
- 前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件
前后端分离项目下使用PageOffice原理图 集成步骤 前端 vue 项目 在您Vue项目的根目录下index.html中引用后端项目根目录下pageoffice.js文件.例如: <scri ...
- 初识上位机(下):C#读写PLC数据块数据
大家好,我是Edison. 作为一个工业自动化领域的程序员,不懂点PLC和上位机,貌似有点说不过去.这里我用两篇小文带你快速进入上位机开发领域.后续,我会考虑再出一个系列文章一起玩工控上位机. 上一篇 ...
- RESTful风格openapi接口设计+openapi远程服务调用
我们平常开发一般只使用GET.POST方法.而对于HTTP给出的PUT.DELETE等其他方法都没使用.以RESTful风格设计接口就能全部用上这些方法. 按照RESTful理查德森成熟度模型改造接口 ...
- VSCode 圈复杂度插件 CodeMetrics
前言 圈复杂度(Cyclomatic Complexity)是一种代码复杂度的衡量标准.它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,也可理解为覆盖所有的可能情况最少使用的测 ...
- iis worker process w3wp 进程 占用率100%
今天电脑特别的卡,我没当回事,但是实在是卡得不行了,我打开任务管理器,发现 iis worker process 进程已经快100%了,我之前在iis上发布了一个webservice,我就把这个网站给 ...
- 运算符优先级 JAVA11
**运算符优先级 ** 规律:算术运算符优先级较高,关系和逻辑运算符优先级较低.多数运算符具有左结合性,单目运算符.三目运算符.赋值运算符具有右结合性. 运算符的优先级 举例 使用优先级为 1 的小括 ...
- go强大的垃圾回收机制。
一.C语言中返回函数中局部变量值和指针(1) 在C语言中,一个函数可以直接返回函数中定义的局部变量,其实在函数返回后,局部变量是被系统自动回收的,因为局部变量是分配在栈空间,那为什么还可以返回局部变量 ...
- 如何从零开始实现TDOA技术的 UWB 精确定位系统(6)
这是一个系列文章<如何从零开始实现TDOA技术的 UWB 精确定位系统>第6部分. 重要提示(劝退说明): Q:做这个定位系统需要基础么? A:文章不是写给小白看的,需要有电子技术和软件编 ...