​ChatTTS:Win11本地安装和一键运行包!

ChatTTS 是一个专为交互式语音准备的AI语音合成项目,特点是自然,逼真,可把控声音细节,能说能笑能停顿。

效果演示

具体内容,已经在另外的文章中介绍过。

本文主要是关注两个点。

  1. 如何在Windows上安装这个项目。
  2. 分享一个已经制作好的一键运行包。

本地安装

准备工作

硬件:带英伟达显卡(显存4G+)的电脑

系统:Windows10/11

软件:git,miniconda,魔法工具

本文针对有一定基础的人,所以默认大家清楚知道上面的软硬件配置,默认大家能理解CMD命令。这些文章我就不写废话了,专注于核心内容。

如果对一些基础知识不了解的可以查看以往的基础知识类文章。

配置过程

克隆项目

git clone https://github.com/2noise/ChatTTS.git
cd ChatTTS

打开CMD,进入一个文件,执行上面的命令。

创建虚拟环境

使用miniconda创建一个Python的虚拟环境,并激活。

conda create -n chattts python=3.10
conda activate chattts

装了miniconda的话,系统中就无需单独安装Python了。只要通过命令创建一个虚拟环境即可。

安装过程比较依赖网络,需要全包网络通畅。

安装依赖

激活虚拟环境之后,就可以安装Python的依赖包了。

先安装一下torch

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

然后安装requirements文件里的依赖。

pip install -r requirements.txt

为了在本地运行.ipynb(Jupyter Notebook)文件,还需要安装一个依赖。

pip install notebook

运行Jupyter 笔记本

jupyter notebook

启动成功之后,浏览器会自动打开。

在下方的文件列表中双击打开inter.ipynb文件。

然后依次运行代码块。

运行过程中会使用本地的显卡,另外会去HF上下载模型,所以包保证硬件够用,网络通畅。

运行成功的话,会自动播放生成的语音。

输出一堆日志的问题

wavs = chat.infer(texts, use_decoder=True)

首次运行会出现很多日志,看起来像是出错了,这个不用管!等待底部进度条不动了,就证明已经运行完成。

修改语音内容

texts = ["So we found being competitive and collaborative was a huge way of staying motivated towards our goals, so one person to call when you fall off, one person who gets you back on then one person to actually do the activity with.",]*3 \        + ["我觉得像我们这些写程序的人,他,我觉得多多少少可能会对开源有一种情怀在吧我觉得开源是一个很好的形式。现在其实最先进的技术掌握在一些公司的手里的话,就他们并不会轻易的开放给所有的人用。"]*3

只要修改这里的列表内容就可以了。这里总共有六段语音,前三段是重复的英语,后三段是重复的中文。

播放语音

Audio(wavs[0], rate=24_000, autoplay=True)
Audio(wavs[3], rate=24_000, autoplay=True)

运行这两行命令,就会自动播放语音了。第一个命令播放列表里的第一段语音,第二个命令播放列表里的第四段语音。

自定义参数

params_infer_code = {'spk_emb' : rand_spk, 'temperature':.3}

params_refine_text = {'prompt':'[oral_2][laugh_0][break_6]'}

wav = chat.infer('四川美食可多了,有麻辣火锅、宫保鸡丁、麻婆豆腐、担担面、回锅肉、夫妻肺片等,每样都让人垂涎三尺。', params_refine_text=params_refine_text, params_infer_code=params_infer_code)

wav = chat.infer('四川美食确实以辣闻名,但也有不辣的选择。比如甜水面、赖汤圆、蛋烘糕、叶儿粑等,这些小吃口味温和,甜而不腻,也很受欢迎。', params_refine_text=params_refine_text, params_infer_code=params_infer_code)

通过params_infer_code和params_refine_text可以自定义参数,这里包

括声音的设定,断句,笑声等的自动插入。

注意点

代码和依赖更新之后,可能安装过程会有差异。

torch2.0.1版本会报错,我改成了目前最新的2.3.0版本。

inter.ipynb文件已经变成了example.ipynb文件。

Windows上安装的核心配置都在上面了,下面说下一键运行包。

一键运行包

一键运行包,遵循 ALL IN PC的原则。

就是所有的东西都在一个包里,无需联网,无需单独配置,在个人电脑中,可以一键启动,快速使用。

为了让大家使用更加方便,一件包不需要运行代码块,而是会用WEBUI。

获取压缩包后,输入解压密码解压,然后双击“启动.exe”启动程序。

启动之后,跳出黑色命令窗口。

这个窗口上会显示运行日志。

当出现,Runing on local URL:xxxx之后,代表启动成功。

程序会自动调用本地默认浏览器,打开本地的指定网址。

然后按下图的步骤,点一下就可以完成AI语音生成了。

  1. 输入想要合成的文字内容
  2. 点击合成
  3. 在线试听合成效果
  4. 点击下载到本地

界面上还有一些参数,一般不用动,懂得可以根据自己需求,做适当调整。

这个UI还有很大升级空间,比如目前只有一个声音,比较合理的是,多个发音人可选。

这种就慢慢搞了,今天先这样。

收工收工,大家记得动动手指!

获取软件包

见博客文章底部:​ChatTTS:Win11本地安装和一键运行包! – 托尼不是塔克

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024蓝桥杯初赛决赛pwn题全解

蓝桥杯初赛决赛pwn题解 初赛第一题第二题 决赛getting_startedbabyheap 初赛 第一题 有system函数,并且能在bss上读入字符 而且存在栈溢出,只要过掉check函数即可 check函数中,主要是对system常规获取权限的参数,进行了过滤&…

软件测试总结基础

软件测试总结基础 1. 何为软件测试 定义:使用技术手段验证软件是否满足需求 目的:减少bug,保证质量 2. 软件测试分类 阶段划分 单元测试,针对源代码进行测试集成测试,针对接口进行测试系统测试,针对功能…

声音的归宿:恢复手机录音的3个步骤与策略

“手机录音删除了怎么恢复,没有云备份。本人平时喜欢用手机录音机录一些唱的歌,上次录过之后就再也没有打开,今天一打开发现上个月的录音都没了!里面都是我的歌,还有期末重点,还有声乐课的录的音频&#xf…

免费工具扫描 Linux 中已知威胁

首发公众号网络研究观,关注获取更多。 卡巴斯基为 Linux 平台发布了一款名为 KVRT 的新病毒清除工具,允许用户免费扫描他们的系统并清除恶意软件和其他已知威胁。 尽管人们普遍误以为 Linux 系统本质上是安全的,不会受到威胁,但不…

jeecg dictText字典值

前端列表的字典值回显,配置了数据字典后,在本地测试可以回显中文的数据, 但在线上服务器不能正常回显出来; 原因是在前端拿到records的列表值时可以拿到dictText的字典,但是线上服务器没有dictText的值; …

对称二叉树[简单]

优质博文:IT-BLOG-CN 一、题目 给你一个二叉树的根节点root, 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出&#xf…

YOLOv5改进 | Conv篇 | 利用YOLOv10提出的SCDown魔改YOLOv5进行下采样(附代码 + 结构图 + 添加教程)

一、本文介绍 本文给大家带来的改进机制是利用YOLOv10提出的SCDown魔改YOLOv5进行下采样,其是更高效的下采样。具体而言,其首先利用点卷积调整通道维度,然后利用深度卷积进行空间下采样。这将计算成本减少到和参数数量减少到。同时&#xff…

5.透明效果

实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道(Alpha channel)。 当一个物体被渲染到屏幕上时,每个片元除了颜色和深度值之外,它还有另一个属性—透明度。 当透明度为1时,表示该像素是完…

信息系统项目管理师0141:产品范围和项目范围(9项目范围管理—9.1管理基础—9.1.1产品范围和项目范围)

点击查看专栏目录 文章目录 第9章 项目范围管理9.1 管理基础9.1.1 产品范围和项目范围 第9章 项目范围管理 项目范围管理包括确保项目做且只做所需的全部工作,以成功完成项目。项目范围管理主要在于定义和控制哪些工作应该包括在项目内,哪些不应该包含在…

Golang | Leetcode Golang题解之第131题分割回文串

题目: 题解: func partition(s string) (ans [][]string) {n : len(s)f : make([][]int8, n)for i : range f {f[i] make([]int8, n)}// 0 表示尚未搜索,1 表示是回文串,-1 表示不是回文串var isPalindrome func(i, j int) int8…

数据结构与算法之Floyd弗洛伊德算法求最短路径

目录 前言 Floyd弗洛伊德算法 定义 步骤 一、初始化 二、添加中间点 三、迭代 四、得出结果 时间复杂度 代码实现 结束语 前言 今天是坚持写博客的第18天,希望可以继续坚持在写博客的路上走下去。我们今天来看看数据结构与算法当中的弗洛伊德算法。 Flo…

如何学习SQL?YouTube近百万粉丝技术频道的学习路径图。

大家好,我是王有志,一个分享硬核 Java 技术的金融摸鱼侠,欢迎大家加入 Java 人自己的交流群“共同富裕的 Java 人”。 ByteByteGo 频道在 5 月 30 日的通信邮件中提到了“How to Learn SQL”这一主题,并给出了一张详细的学习路径…

python——网络编程

流程图 面向连接的套接字 面向连接的通信提供序列化的、可靠的和不重复的数据交付,而没有记录边界。主要的协议是传输控制协议(TCP); TCP套接字,在python中,必须使用SOCK_STREAM作为套接字类型 tcp的特点 面向连接…

使用GitHub托管静态网页

前言​: 如果没有服务器,也没有域名,又想部署静态网页的同学,那就可以尝试使用GitHub托管自己的网页​。 正文: 首先要有自己的GitHub的账号,如果没有可以自己搜索官网进行注册登录,国内对Gi…

深入了解 C 语言 Bug

目录 一、引言二、Bug的定义三、Bug的由来四、Bug的影响五、应对 Bug 的方法六、结论 一、引言 1、在 C 语言的编程世界中,Bug 是一个我们无法回避的话题。 2、Bug,简单来说,就是程序中存在的错误或缺陷。它可以表现为程序运行结果的异常、崩…

容器运行nslookup提示bash: nslookup: command not found【笔记】

在容器中提示bash: nslookup: command not found,表示容器中没有安装nslookup命令。 可以通过以下命令安装nslookup: 对于基于Debian/Ubuntu的容器,使用以下命令: apt-get update apt-get install -y dnsutils对于基于CentOS/R…

机器学习、深度学习模型建模开发过程中常见的评估指标汇总学习记录

在机器学习、深度学习模型的开发过程中, 很重要的一个环节就是要对模型的性能进行评估分析,不同类型的任务不同的模型对应使用不同的评估指标体系,本文的主要目的是正好趁着最近有这块的需求,就想着找点时间把汇总学习的内容整理记…

TypeScript学习(一):开发环境搭建

官方文档搭建参考 https://learn.microsoft.com/zh-cn/training/modules/typescript-get-started/ 1.下载node.js https://nodejs.org/en/download 2.下载vscode https://code.visualstudio.com/ 3.在线ts的测试工具 https://www.typescriptlang.org/play/ 4.下载typescr…

Linux线程安全:线程互斥

一、线程互斥的概念 1.1临界资源与互斥的关系 临界资源:多线程执行流共享的资源就叫做临界资源。 临界区:每个线程内部,访问临界资源的代码,就叫做临界区。 互斥:任何时刻,互斥保证有且只有一个执行流进入…

274 基于matlab的随机粗糙表面对微气体轴承内气体压强分布的影响

基于matlab的随机粗糙表面对微气体轴承内气体压强分布的影响。采用差分法求解气体轴承的雷诺方程,通过尺寸参数、分形维数对粗糙度表面设置,滑流参数设置,实现气压分布可视化结果显示。程序已调通,可直接运行。 274 气体轴承 随机…