记录: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.xdnf.cn/news/35265.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

开源 - Ideal库 - Excel帮助类,ExcelHelper实现(五)

书接上回&#xff0c;我们继续来聊聊ExcelHelper的具体实现。 01、读取Excel到DataSet单元测试 在上一章我们主要讲解了读取Excel到DataSet的三个重载方法具体实现&#xff0c;还没来得及做单元测试&#xff0c;因此我们首先对这三个方法做个单元测试。具体代码如下&#xff1…

CCF-GESP 编程能力认证 C++ 七级 2024年9月份选择题详细解析

第 1 题 已知小写字母 b 的 ASCII 码为 98 &#xff0c;下列 C 代码的输出结果是&#xff08;B&#xff09;。 #include <iostream> using namespace std; int main() {char a b;a;cout << a;return 0; } A. b B. c C. 98 D. 99 【这题很简单&#xff0c;我们只…

Oceanbase离线集群部署

准备工作 两台服务器 服务器的配置参照官网要求来 服务器名配置服务器IPoceanbase116g8h192.168.10.239oceanbase216g8h192.168.10.239 这里选oceanbase1作为 obd机器 oceanbase安装包 选择社区版本的时候自己系统的安装包 ntp时间同步rpm包 联网机器下载所需的软件包 …

动手学深度学习d2l包M4芯片 gpu加速

conda创建环境 CONDA_SUBDIRosx-arm64 conda create -n ml python3.9 -c conda-forge conda env config vars set CONDA_SUBDIRosx-arm64 conda activate mlpip安装包 pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/n…

Y20030046 Java+JSP+SpringBoot+MYSQL+LW+实验室管理系统的设计与实现 源码

实验室管理系统 1.摘要2.开发目的和意义3.系统功能设计4.系统界面截图5.源码获取 1.摘要 摘 要 伴随互联网的快速发展&#xff0c;国家对当前教育行业实行了新的改革&#xff0c;科学教育要培养更多的技术型人才&#xff0c;2020年全球爆发的新冠疫情&#xff0c;更是推动了科…

AG32 MCU与STM32 等MCU有哪些不同

STM32 MCU的特点 STM32一般是M0,M3, M4等内核的ARM Cortex内核的MCU&#xff0c;仅仅作为MCU使用&#xff0c;没有内置CPLD/FPGA的功能。 2. AG32的特点 AG32是AGM近2年来推出的差异化设计的SOC。以下我们了解以下AG32的特点。 &#xff08;1&#xff09;. 芯片结构&#xff…

【vscode】如何在项目中分享插件?

文章目录 前言一、如何获取插件名称呢&#xff1f;二、项目应用 前言 分享插件&#xff0c;除了将插件名字告诉你的小伙伴&#xff0c;当然还有其他的办法 项目根目录下创建.vscode 文件夹添加extensions.json文件 如下图 一、如何获取插件名称呢&#xff1f; 二、项目应用 …

【css】基础(一)

本专栏内容为&#xff1a;前端专栏 记录学习前端&#xff0c;分为若干个子专栏&#xff0c;html js css vue等 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;css专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &a…

Qt学习笔记第51到60讲

第51讲 记事本实现打开功能 回到第24个功能文件Notepad&#xff0c;给UI中的各个控件添加槽函数。 ①开始按钮 void Widget::on_btnOpen_clicked() {QString fileNameQFileDialog::getOpenFileName(this,tr("Open File"),"E:\\6_Qt Projects\\24_Notepad\\fi…

WPS解决Word文件引入excel对象文件无法打开提示“不能启动此对象...”的问题

一、问题现象 接收到了一份 Word文件&#xff0c;里面引入了一个Excel对象文件&#xff0c;双击时候&#xff0c;wps出现卡顿&#xff0c;过一会之后弹出错误提示&#xff1a;不能启动此对象... 二、解决方法 1.点击WPS左上角图标&#xff0c;并打开右上角设置&#xff0c;萱蕚…

# issue 8 TCP内部原理和UDP编程

TCP 通信三大步骤&#xff1a; 1 三次握手建立连接; 2 开始通信&#xff0c;进行数据交换; 3 四次挥手断开连接&#xff1b; 一、TCP内部原理--三次握手 【第一次握手】套接字A∶"你好&#xff0c;套接字B。我这儿有数据要传给你&#xff0c;建立连接吧。" 【第二次…

什么是人工智能?(Chapter 2)

Chapter 2&#xff1a; 大家到底在争论什么&#xff1f; 2022 年末&#xff0c;OpenAI 发布 ChatGPT 后不久&#xff0c;网上开始流传一个新的备忘录&#xff0c;它比其他任何东西都更能捕捉到这项技术的诡异之处。在大多数版本中&#xff0c;一个名为 "食人魔"&am…

OpenCV-平滑图像

二维卷积(图像滤波) 与一维信号一样&#xff0c;图像也可以通过各种低通滤波器&#xff08;LPF&#xff09;、高通滤波器&#xff08;HPF&#xff09;等进行过滤。LPF 有助于消除噪音、模糊图像等。HPF 滤波器有助于在图像中找到边缘。 opencv 提供了函数 **cv.filter2D()**&…

如何使用 Docker Compose 安装 Memos 自托管笔记应用

简介 Memos是一个自托管的开源笔记应用程序&#xff0c;专为个人组织和信息管理而设计。它允许用户高效地创建、存储和管理笔记&#xff0c;提供如Markdown支持、用户友好的界面和注重隐私的设计等功能。Memos可以在各种平台上运行&#xff0c;但使用Docker Compose可以简化部…

西部地区生活物资保供与城郊大仓基地高质量建设运营论坛西安市成功举办

2024 年 12 月 5日&#xff0c;由中国商业联合会、陕西省商务厅指导&#xff0c;中国商业联合会商贸物流与供应链分会、西安市发改委、西安市商务局主办&#xff0c;中企盟&#xff08;北京&#xff09;电商物流技术研究院、西安商业联合会、陕西省商贸物流供应链协会承办的“西…

[笔记] Windows 上 Git 安装详细教程:从零开始,附带每个选项解析

Git 是目前最流行的分布式版本控制系统之一&#xff0c;广泛应用于软件开发和项目管理中。对于 Windows 用户来说&#xff0c;正确安装和配置 Git 是开始使用 Git 的第一步。本文提供一份详细的指南&#xff0c;帮助你在 Windows 系统上顺利安装 Git&#xff0c;并解释每个安装…

五天SpringCloud计划——DAY3之服务治理(Nacos+OpenFeign+OKHttp)

一、引言 在微服务架构中&#xff0c;一个项目通常会被分为多个模块来降低耦合&#xff0c;但是通常情况下&#xff0c;一个项目中总会出现一种情况——一个模块内的方法需要调用另一个模块内的方法。本文就来使用NacosOpenFeignOKHttp帮助大家解决这个问题。 二、Nacos的使用…

go-blueprint create exit status 1

1. 异常信息 2024/12/06 10:59:19 Could not initialize go.mod in new project exit status 1 2024/12/06 10:59:19 Problem creating files for project. exit status 1 Error: exit status 12. 排查思路 手动进行go mod init查看手动的报错解决报错 3. 解决问题 发现是GO11…

Socket编程-tcp

1. 前言 在tcp套接字编程这里&#xff0c;我们将完成两份代码&#xff0c;一份是基于tcp实现普通的对话&#xff0c;另一份加上业务&#xff0c;client输入要执行的命令&#xff0c;server将执行结果返回给client 2. tcp_echo_server 与udp类似&#xff0c;前两步&#xff1…

Python使用Selenium自动实现表单填写之蛇年纪念币蛇钞预约(附源码,源码有注释解析,已测试可用

Python实现纪念币预约自动填写表单 声明:本文只做技术交流,不可用代码为商业用途,文末有源码下载,已测试可用。 Part 1 配置文件改写(源码 有详细的注释说明 读取配置文件,自己组数据库,录入信息 配置文件 Part 2 主函数 每一期的xpath路径都不一样 所以需要提前去网站…