记录:ubuntu 使用chattts的过程。

你知道什么是穷人吗?穷人就是没钱还想学习。

git GitHub - 2noise/ChatTTS: A generative speech model for daily dialogue.

因为所以。cosyvoice,gpt-s .

0.先找一个目录吧。

1.命令行模式

duyicheng@duyicheng-computer:~/gitee$ git clone https://github.com/2noise/ChatTTS
Cloning into 'ChatTTS'...
remote: Enumerating objects: 2628, done.
remote: Counting objects: 100% (754/754), done.
remote: Compressing objects: 100% (342/342), done.
remote: Total 2628 (delta 486), reused 465 (delta 402), pack-reused 1874 (from 1)
Receiving objects: 100% (2628/2628), 7.99 MiB | 6.33 MiB/s, done.
Resolving deltas: 100% (1586/1586), done.
duyicheng@duyicheng-computer:~/gitee$ 

2.创建虚拟环境

在Ubuntu中安装Anaconda和创建虚拟环境(保姆级教学,值得借鉴与信任)_ubuntu anaconda创建虚拟环境-CSDN博客

conda create -n chattts python=3.12
conda activate chattts

我喜欢把虚拟环境用小写的命名,不知这样合适不?

3.pycharm 创建工程

注意大小写一致,关键点已经全部标出来。

 

4.进入虚拟环境,并安装相关。先修改国内源(已经改过的忽之)

设为默认

升级 pip 到最新的版本后进行配置:

python -m pip install --upgrade pip
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:

python -m pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple --upgrade pip
pip install -r requirements.txt
Optional: Install vLLM (Linux only)  看你的平台决定是否。

pip install safetensors vllm==0.2.7 torchaudio

4.1相关错误解决

Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
 
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-rl41m62f/pynini_3e3a079589ce484b9162320165b6356c/setup.py", line 22, in <module>
          from Cython.Build import cythonize
      ModuleNotFoundError: No module named 'Cython'
      [end of output]
 
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

解决方法:

     pip install Cython

Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio->-r requirements.txt (line 10))
  Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Building wheels for collected packages: pynini, encodec, cdifflib, wget
  Building wheel for pynini (setup.py) ... error
  error: subprocess-exited-with-error
 
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [52 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-312/pywrapfst
      copying pywrapfst/__init__.py -> build/lib.linux-x86_64-cpython-312/pywrapfst
      creating build/lib.linux-x86_64-cpython-312/pynini
      copying pynini/__init__.py -> build/lib.linux-x86_64-cpython-312/pynini
      creating build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/numbers.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/chatspeak.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/g2p.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/plurals.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/case.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/chatspeak_model.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/dates.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/weather.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/__init__.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/examples/t9.py -> build/lib.linux-x86_64-cpython-312/pynini/examples
      creating build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/byte.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/utf8.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/edit_transducer.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/paradigms.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/rewrite.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/__init__.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/tagger.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/pynutil.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/rule_cascade.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/lib/features.py -> build/lib.linux-x86_64-cpython-312/pynini/lib
      creating build/lib.linux-x86_64-cpython-312/pynini/export
      copying pynini/export/export.py -> build/lib.linux-x86_64-cpython-312/pynini/export
      copying pynini/export/grm.py -> build/lib.linux-x86_64-cpython-312/pynini/export
      copying pynini/export/grm_example.py -> build/lib.linux-x86_64-cpython-312/pynini/export
      copying pynini/export/__init__.py -> build/lib.linux-x86_64-cpython-312/pynini/export
      copying pynini/export/multi_grm_example.py -> build/lib.linux-x86_64-cpython-312/pynini/export
      copying pynini/export/multi_grm.py -> build/lib.linux-x86_64-cpython-312/pynini/export
      copying pywrapfst/__init__.pyi -> build/lib.linux-x86_64-cpython-312/pywrapfst
      copying pywrapfst/py.typed -> build/lib.linux-x86_64-cpython-312/pywrapfst
      copying pynini/__init__.pyi -> build/lib.linux-x86_64-cpython-312/pynini
      copying pynini/py.typed -> build/lib.linux-x86_64-cpython-312/pynini
      copying pynini/examples/py.typed -> build/lib.linux-x86_64-cpython-312/pynini/examples
      copying pynini/lib/py.typed -> build/lib.linux-x86_64-cpython-312/pynini/lib
      copying pynini/export/py.typed -> build/lib.linux-x86_64-cpython-312/pynini/export
      running build_ext
      building '_pywrapfst' extension
      creating build/temp.linux-x86_64-cpython-312/extensions
      g++ -pthread -B /home/duyicheng/anaconda3/envs/chattts/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/duyicheng/anaconda3/envs/chattts/include -fPIC -O2 -isystem /home/duyicheng/anaconda3/envs/chattts/include -fPIC -I/home/duyicheng/anaconda3/envs/chattts/include/python3.12 -c extensions/_pywrapfst.cpp -o build/temp.linux-x86_64-cpython-312/extensions/_pywrapfst.o -std=c++17 -Wno-register -Wno-deprecated-declarations -Wno-unused-function -Wno-unused-local-typedefs -funsigned-char
      extensions/_pywrapfst.cpp:1289:10: fatal error: fst/util.h: No such file or directory
       1289 | #include <fst/util.h>
            |          ^~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/g++' failed with exit code 1
      [end of output]
 
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pynini
  Running setup.py clean for pynini
  Building wheel for encodec (setup.py) ... done
  Created wheel for encodec: filename=encodec-0.1.1-py3-none-any.whl size=45760 sha256=005bea59eb74b0d8e3b97fb1bc5e888fa70e54c7f4d89ceba26d222fc04b417e
  Stored in directory: /home/duyicheng/.cache/pip/wheels/c3/ad/25/f3bc2f406330b1a23e1bed7af545b400df989c3a7e928e0253
  Building wheel for cdifflib (pyproject.toml) ... done
  Created wheel for cdifflib: filename=cdifflib-1.2.6-cp312-cp312-linux_x86_64.whl size=12666 sha256=c1d26ed10d6fa6d9cc91555fb849200212bb14950ccae17c3e14f4b70d64b788
  Stored in directory: /home/duyicheng/.cache/pip/wheels/d5/48/ca/ae20a5bb753a401fdecb6fca5bae9ef1ec893ef17b6d14be14
  Building wheel for wget (setup.py) ... done
  Created wheel for wget: filename=wget-3.2-py3-none-any.whl size=9656 sha256=fc05a276303d011c3b6eb5c55955518886c526975a6c596f695c6a998f5770e9
  Stored in directory: /home/duyicheng/.cache/pip/wheels/8c/ad/df/233ebb9957cf23ee9cd58bba09bea4caf4389b429ef6a32ef5
Successfully built encodec cdifflib wget
Failed to build pynini
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pynini)

解决

     我的系统解决方案,你参考

sudo apt-get update
     sudo apt-get install -y libfst-dev
    

pip install --only-binary :all: pynini

5. 梳理后的 requie...txt,各种冲突,之后的

numpy<2.0.0
numba
torch
torchaudio
tqdm
vector_quantize_pytorch
transformers>=4.41.1
vocos
IPython
gradio
pybase16384
pynini==2.1.5; sys_platform == 'linux'
WeTextProcessing; sys_platform == 'linux'
nemo_text_processing; sys_platform == 'linux'
av
pydub

成功之。

4.2安装模型  :

我要说的是,当进行第五步时,会自动安装。并且4.2整个的位置不对。可能是系统又更新了。请注意分析,完全可以忽略4.2。

魔搭社区

#安装ModelScope
pip install modelscope

新建 一个py,用来下载模型

#SDK模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('pzc163/chatTTS')

 

使用modelscope,可以手动在页面下载,或者通过其提供的SDK下载,使用SDK下载会将模型保存在 C:\Users\<你的用户名>\.cache\modelscope路径下。因为是本地加载模型,我将下载模型文件复制到了当前模型工作路径下F:\Chat-TTS\ChatTTS\model\chatTTS,方便使用。

 

 或

git下载,这用这个不太好用。

#Git模型下载
git clone https://www.modelscope.cn/pzc163/chatTTS.git

5.依据https://github.com/2noise/ChatTTS  进行测试

python examples/web/webui.py

执行上面的代码后,会自动安装所需要,另外,最最关键的是。生成的新的文件夹如图,与大多数教程上不一样。我上面的第4.2,是根据某些教程上完成的,可以不做。

[+0800 20241205 13:09:58] [INFO] ChatTTS | dl | checking assets...
[+0800 20241205 13:09:59] [INFO] ChatTTS | dl | /home/duyicheng/gitee/ChatTTS/asset/DVAE.safetensors not exist.
[+0800 20241205 13:09:59] [ERRO] ChatTTS | core | download to local path /home/duyicheng/gitee/ChatTTS failed.
[+0800 20241205 13:09:59] [ERRO]  WebUI  | webui | Models load failed.

提示的错误根据提示一个个的解决,把刚才从魔搭上下的复制到asset等下。如图:

。如图中颜色不正常的,都是复制来的。

(chattts) duyicheng@duyicheng-computer:~/gitee/ChatTTS$ python examples/web/webui.py
[+0800 20241205 13:41:05] [WARN]  WebUI  | funcs | no ffmpeg installed, use wav file output
[+0800 20241205 13:41:05] [INFO]  WebUI  | webui | loading ChatTTS model...
[+0800 20241205 13:41:05] [INFO] ChatTTS | dl | checking assets...
[+0800 20241205 13:41:10] [INFO] ChatTTS | dl | all assets are already latest.
[+0800 20241205 13:41:10] [INFO] ChatTTS | core | use device cuda:0
[+0800 20241205 13:41:11] [INFO] ChatTTS | core | vocos loaded.
[+0800 20241205 13:41:11] [INFO] ChatTTS | core | dvae loaded.
[+0800 20241205 13:41:12] [INFO] ChatTTS | core | embed loaded.
[+0800 20241205 13:41:13] [INFO] ChatTTS | core | gpt loaded.
[+0800 20241205 13:41:13] [INFO] ChatTTS | core | speaker loaded.
[+0800 20241205 13:41:13] [INFO] ChatTTS | core | decoder loaded.
[+0800 20241205 13:41:13] [INFO] ChatTTS | core | tokenizer loaded.
[+0800 20241205 13:41:13] [WARN]  WebUI  | funcs | Package nemo_text_processing not found!
[+0800 20241205 13:41:13] [WARN]  WebUI  | funcs | Run: conda install -c conda-forge pynini=2.1.5 && pip install nemo_text_processing
[+0800 20241205 13:41:13] [WARN]  WebUI  | funcs | Package WeTextProcessing not found!
[+0800 20241205 13:41:13] [WARN]  WebUI  | funcs | Run: conda install -c conda-forge pynini=2.1.5 && pip install WeTextProcessing
[+0800 20241205 13:41:13] [INFO]  WebUI  | webui | Models loaded successfully.
* Running on local URL:  http://0.0.0.0:8080

速度如

最后的提示,根据提示,如:

conda install -c conda-forge pynini=2.1.5 && pip install nemo_text_processing

打开共享

demo.launch(server_name=args.server_name,server_port=args.server_port,root_path=args.root_path,inbrowser=True,show_api=False,share=True)

如果,分享不成功。


1. Download this file: https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_amd64
2. Rename the downloaded file to: frpc_linux_amd64_v0.3
3. Move the file to this location: /home/duyicheng/anaconda3/envs/chattts/lib/python3.12/site-packages/gradio

GitHub - bumblebeeMMa/DownLoad_frpc_linux_amd64: Download frpc_linux_amd64

 留下一个问题,本地运行可以了,但是,想利用公网的这个地址还是不行。先这样吧。,下一步继续。

速度如下:

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

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

相关文章

vulnhub靶场【hacksudo】之LPE的后续提权方法学习

前言 靶场&#xff1a;hacksudo-lpe的后几个challenge 基于上篇靶场hacksudo-ple的sudo提权 SUID文件提权 ar文件提权 使用find寻找具有SUID权限的文件 find / -perm -us -type f 2>/dev/null查看ar的SUID用法 sudo install -m xs $(which ar) .TF$(mktemp -u) LFILE&…

【 C语言练习(4)—可自己设置游戏规则的猜数字游戏】

C语言练习&#xff08;4&#xff09; 文章目录 C语言练习&#xff08;4&#xff09;前言题目题目解析结果总结 前言 本次写的猜字游戏有两大优点&#xff0c;可重复玩游戏、可自己设置猜数字规则&#xff0c;通过猜数字游戏锻炼循环体和选择结构体 题目 写一个给定猜数次数&a…

【4】数据分析基础(pandas中的series 1)

学习目标2 pandas模块的学习。 pandas是一个基于NumPy的模块&#xff0c;它的功能在于数据的筛选清洗和处理&#xff0c;与NumPy模块相比&#xff0c;pandas模块更擅长处理二维数据。 pandas模块主要有Series和DataFrame两种数据结构。 接下来&#xff0c;我们先学习Series…

创建项目,并且上传到git

第一步 本地新建新项目 第二步 git上新建空项目 第三步 将本地项目添加为git项目 1、复制初始化命令 在新建项目中登录git 2、将本地项目设置为git项目 在IDEA中执行一下命令 3、完成上述操作&#xff0c;IDEA会将本地项目识别为git项目&#xff0c;就可以执行git commit操…

Cisco Packet Tracer | Cisco Packet Tracer - VLAN 实验 - 交换机的 VLAN 划分

关注这个工具的其它相关笔记&#xff1a;Cisco Packet Tracer —— 使用教程合集-CSDN博客 0x01&#xff1a;VLAN 划分 - 单个交换机 0x0101&#xff1a;拓扑搭建流程 从软件底部拖出一台交换机&#xff08;笔者选择的型号是 2960 IOS15&#xff09;&#xff1a; 然后再拖出四…

ICP和EDI许可证办理审核专用的网站系统源码程序下载—专供审核易过使用

在现代互联网及电子商务企业中&#xff0c;ICP许可证和EDI许可证不仅是法律要求&#xff0c;更是企业立足市场的重要基础。这两种许可证能够帮助企业爬梳合规问题&#xff0c;规避法律风险&#xff0c;并提升自身的信誉&#xff0c;增强客户的信任感。本文将详细介绍ICP许可证和…

MySQL Binlog 日志监听与 Spring 集成实战

MySQL Binlog 日志监听与 Spring 集成实战 binlog的三种模式 MySQL 的二进制日志&#xff08;binlog&#xff09;有三种常见的格式&#xff1a;Statement 模式、Row 模式和Mixed 模式。每种模式的设计目标不同&#xff0c;适用于不同的场景&#xff0c;以下是它们的详细对比和…

攻防世界安卓刷题笔记(新手模式)1-4

1.基础android 进入后是这样的页面。查看源代码看看。首先要注意这个软件并没有加壳&#xff0c;所以我们可以直接着手分析。搜索错误提示“Failed”定位到关键代码&#xff0c;看样子就是检验输入的内容 注意到这里有一行关键代码&#xff0c;cond_39对应的正是failed那个地方…

C++核心day3作业

作业&#xff1a; 1.整理思维导图 2.整理课上代码 3.把课上类的三个练习题的构造函数写出来 函数全部类内声明&#xff0c;类外定义 定义一个矩形类Rec&#xff0c;包含私有属性length、width&#xff0c;包含公有成员方法&#xff1a; void set_length(int l); //设置长度v…

Scala:正则表达式

object test03 {//正则表达式def main(args: Array[String]): Unit {//定义一个正则表达式//1.[ab]:表示匹配一个字符&#xff0c;或者是a&#xff0c;或者是b//2.[a-z]:表示从a到z的26个字母中的任意一个//3.[A-Z]:表示从A到Z的26个字母中的任意一个//4.[0-9]:表示从0到9的10…

可视化建模以及UML期末复习篇----UML图

这是一篇相对较长的文章&#xff0c;如你们所见&#xff0c;比较详细&#xff0c;全长两万字。我不建议你们一次性看完&#xff0c;直接跳目录找你需要的知识点即可。 --------欢迎各位来到我UML国&#xff01; 一、UML图 总共有如下几种&#xff1a; 用例图&#xff08;Use Ca…

[创业之路-191]:《华为战略管理法-DSTE实战体系》-2-BLM战略规划与执行的基本框架

目录 一、战略规划&#xff1a;BLM的核心内容 1. 战略规划部分 2 战略执行部分&#xff08;战略解码&#xff09; 二、BLM模型对企业战略制定和执行的价值 2.1 说法1&#xff1a; 1、共同的目标 2、同一种语言&#xff1a;提高团队协作效率 3、最基本的方法 4、执行的…

go引入skywalking

前置条件&#xff1a;安装好jdk11&#xff0c;linux服务器&#xff08;centos7.9&#xff09;&#xff0c;go版本&#xff08;我的是1.18&#xff0c;1.21都可以&#xff09; 1.下载skywalking Downloads | Apache SkyWalking 2.下载agent源码 Downloads | Apache SkyWalkin…

操作系统Lesson11 - 进程调度和批处理系统调度

文章目录 调度三个问题&#xff1a; 进程行为何时调度调度分类依据时钟中断来分类系统环境分类 调度 调度&#xff1a; 一个程序。 调度对象&#xff1a;进程和内核级线程。 1.调度程序调度P1&#xff0c;读取PCB块在CPU中恢复它的现场(ctx)&#xff1b; 2.当CPU执行完了P1之…

java各种锁介绍

1. synchronized锁&#xff1a; • 定义&#xff1a;Java内置的关键字锁&#xff0c;用于实现线程间的同步。它可以修饰方法或代码块。 • 特性&#xff1a;隐式获取和释放锁&#xff0c;自动处理锁的粒度&#xff08;方法级或代码块级&#xff09;&#xff0c;支持重入性。 •…

国产化(三):中间件——东方通TongWeb7.0

一、准备工作 1、软件包和license文件 2、检查jdk是否安装 二、安装 1、创建tongweb文件夹 我是把软件包放在了桌面&#xff0c;通过命令将软件包移动到指定文件夹下。 1—切换到opt文件夹 cd /opt 2—查看文件夹里的文件 ls 3—创建tongweb文件夹 sudo mkdir tongweb 4—检…

Java面试题精选:设计模式(二)

1、装饰器模式与代理模式的区别 1&#xff09;代理模式(Proxy Design Pattern ) 原始定义是&#xff1a;让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问&#xff0c;并允许将请求提交给对象前后进行一些处理。 代理模式的适用场景 功能增强 当需要对一个对…

Java版-图论-最小生成树-Prim算法

实现描述 如图&#xff1a; Prim算法的基本思想是从一个顶点开始&#xff0c;逐步构建最小生成树。具体步骤如下&#xff1a; 随机选取一个顶点作为起始点&#xff0c;并将其加入最小生成树的集合中。从该顶点出发&#xff0c;选择一条边连接到其他未被访问的顶点中的最小权…

Linux WEB服务器的部署及优化

1.用户常用关于web的信息 1.1.什么是www www是world wide web的缩写&#xff0c;及万维网&#xff0c;也就是全球信息广播的意思。 通常说的上网就是使用www来查询用户所需要的信息。 www可以结合文字、图形、影像以及声音等多媒体&#xff0c;超链接的方式将信息以Internet…

【HarmonyOS学习日志(13)】计算机网络之TCP/IP协议族(二)

文章目录 TCP/IP协议族ARPDNS标志字段&#xff1a;协商具体的通信方式和反馈通信状态DNS查询问题的格式资源记录&#xff08;Resource Record, RR&#xff09;格式&#xff1a;被用于应答字段、授权字段和额外信息字段 IP协议IP服务的特点无状态无连接不可靠 IP头部结构IPv4头部…