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

news/2025/3/18 21:28:15/文章来源:https://www.cnblogs.com/wangpg/p/18232094
ChatTTS 是一个专为交互式语音准备的AI语音合成项目,特点是自然,逼真,可把控声音细节,能说能笑能停顿。
 
音频播放器
00:00 00:00 使用上 / 下箭头键来增高或降低音量。
 
具体内容,已经在另外的文章中介绍过。
本文主要是关注两个点。
  1. 如何在Windows上安装这个项目。
  2. 分享一个已经制作好的一键运行包。
 
本地安装
 
准备工作
硬件:带英伟达显卡(显存4G+)的电脑
系统:Windows10/11
软件:git,miniconda,魔法工具
本文针对有一定基础的人,所以默认大家清楚知道上面的软硬件配置,默认大家能理解CMD命令。这些文章我就不写废话了,专注于核心内容。
如果对一些基础知识不了解的可以查看以往的基础知识类文章。
配置过程
 
克隆项目
git clone https://github.com/2noise/ChatTTS.git
打开CMD,进入一个文件,执行上面的命令。
创建虚拟环境
使用miniconda创建一个Python的虚拟环境,并激活。
conda create -n chattts python=3.10
装了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 \
只要修改这里的列表内容就可以了。这里总共有六段语音,前三段是重复的英语,后三段是重复的中文。
 
播放语音
Audio(wavs[0], 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本地安装和一键运行包! – 托尼不是塔克

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

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

相关文章

WPF 稳定的全屏化窗口方法

本文来告诉大家在 WPF 中,设置窗口全屏化的一个稳定的设置方法。在设置窗口全屏的时候,经常遇到的问题就是应用程序虽然设置最大化加无边框,但是此方式经常会有任务栏冒出来,或者说窗口没有贴屏幕的边。本文的方法是基于 Win32 的,由 lsj 提供的方法,当前已在 1000 多万台…

Kubernetes – 容器编排简介

在本文中,我们将研究 Kubernetes 中的容器编排。但首先,让我们探索容器兴起的趋势、容器编排的需求,以及它如何为 Kubernetes 占据主导地位和发展创造空间。 技术渗透到我们日常生活的方方面面,对软件、销售和交付基于软件的产品或仅在业务中使用软件的公司和组织产生了巨大…

Linux学习笔记(2)——ls指令

指令:ls -a: 列出所有文件 -l:以长格式显示指定目标信息 -F:在每个文件末尾加上字符说明该文件类型:@符号链接、|表示FIFOS、/表示目录、=表示套接字 -s:在每个文件前面打印出大小 -t:按时间进行文件排序 -A:列出除了“.”和“..”的文件 -R:将目录下所有子目录的文件列…

KeepassXC Keepass2android WebDav 同步数据库

1:方案介绍 KeepassXC 和 Keepass2android 都是用来存储用户密码数据的应用。KeepassXC 在 Win、Mac、Linux 都可以安装;Keepass2android 在 andorid 安这两个软件都支持 .kdbx 数据库,也就是说 KeepassXC 创建的数据库在 Keepass2android 中也能使用,但问题是数据库如何同…

golang在vscode执行测试用例如何显示测试代码覆盖率?只需要添加几个配置

背景 我们在开发完需求后,需要编写测试用例用于保证代码的正确以及后期变更中预防出现问题,那么如何保证我们的覆盖范围在我们预期,以及如何知道我们的测试用例覆盖了哪些代码呢? 如何实现 我们只需要在测试用例执行后,让ide在代码上渲染出哪些被覆盖哪些没有被覆盖即可,…

六月五日 关于计算机网络RIP和OSPF

今天主要是关于计算机网络的,今天的实验课要完成的是RIP和OSPF配置。 RIP协议(Routing Information Protocol,路由信息协议)是最早的动态路由协议,其原理简单,配置容易。它基于距离矢量算法来计算到达目的网络的最佳路径,通过跳数(hop count)作为度量路由之间的距离,…

小程序体验版加载不出内容如何解决

开发中我们在本地真机测试可以正常加载, 但是上传到体验版,扫码体验就无法正常加载,如何解决? 我们可以扫码后进入小程序页面,点击右上角的三个点, 打开调试模式

分块——优雅的暴力

下面介绍一种暴力,当然呢这种暴力比一般快很多。 先说一下这个暴力的思路。对于一个长度为\(n\)的数组\(a\),可以把数组\(a\)分成\(k\)块,其中每一块的长度为\(len\),当然最后一行除外因为\(n\)可能不是\(k\)的倍数,最后一块的长度可以不是\(len\)。 那么就可以用这些块来…

[转]第48章:SEH - Rev

SEH 是 Windows 操作系统提供的异常处理机制,在程序源代码中使用 __try __catch __finally 等关键字来具体实现。 进程在运行过程中发生异常,OS 会委托进程处理,但如果进程内没有具体实现 SEH ,那么 OS 会启动默认的异常处理机制,终止进程运行。如果有调试器,则先交由…

Kubernetes - 安装方法

Minikube: 对于想要在系统上安装 Kubernetes 但系统资源有限的用户来说,它是理想的选择。因此,minikube 的关键点在于它没有单独的 Kubernetes 主节点和 Kubernetes 工作节点架构。在这里,我们将所有 Kubernetes 组件打包在一起作为一体化设置。单个系统同时充当主节点和工…