本地运行ChatTTS

TTS 是将文字转为语音的模型,最近很火的开源 TTS 项目,本地可以运行,运行环境 M2 Max,差不多每秒钟 4~~5 个字。本文将介绍如何在本地运行 ChatTTS。

下载源码

首先下载源代码

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

安装依赖

安装项目所需依赖

cd ChatTTS
pip install -r requirements.txt

打开 example.ipynb

项目中自带了一个示例代码,直接在 VSCode 中打开,默认模型从 Hugginface 下载,我添加了一段代码,从 ModelScope 下载,再从本地读取模型。

from modelscope import snapshot_download
## 产看日志的中 Model 下载位置
model_dir = snapshot_download('pzc163/chatTTS')
chat = ChatTTS.Chat()
# chat.load_models()# Use force_redownload=True if the weights updated.
# chat.load_models(force_redownload=True)# If you download the weights manually, set source='locals'.
# 修改 local_path 到指定位置
chat.load_models(source='local', local_path='/mnt/workspace/.cache/modelscope/pzc163/chatTTS')

运行

按 Notebook 中步骤运行就可以生成语音了。

启动 UI

根目录下运行

python web-ui.py

在这里插入图片描述

QA

如果遇到 Normalizer pynini WeTextProcessing nemo_text_processing ,

  1. 安装依赖
conda install -c conda-forge pynini=2.1.5 && pip install nemo_text_processing
conda install -c conda-forge pynini=2.1.5 && pip install WeTextProcessing
  1. 如果问题依然存在,可以将代码注释掉
    在这里插入图片描述
    具体解决方案参见 issue 164

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

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

相关文章

一句话说清HDMI ARC eARC功能和区别

HDMI: 高清多媒体接口,主要用于传输高清音视频信号,High Definition Multimedia Interface。 ARC: 音频回传通道,Audio Return Channel eARC: 增强型音频回传通道,第一个E是增强的意思,Enhanced Audio…

【硬件工程师面试宝典】常见面试题其一

1. 什么是 Setup 和 Hold 时间? Setup 时间是指在时钟沿到达之前,数据需要保持稳定的最小时间。这意味着在时钟沿到达之前,数据线上的信号必须已经稳定下来。 Hold 时间是指在时钟沿到达之后,数据需要继续保持稳定的最小时间。这…

给孩子的端午节礼物:最新初中数学思维导图大合集+衡水高考学霸笔记,可下载打印!

大家好哇!端午节到了,阿星给家里有孩子的伙伴们一份礼物哦!今天给大家带来一个超级实用的学习神器——思维导图法,最新版的初中数学思维导图大合集! 这可不是我吹哦,连哈佛、剑桥大学都在用的高级学习方法…

3D打印随形水路:模具水路的革命性技术

在快速发展的模具制造行业中,3D打印技术以其独特的优势正在引领一场技术革命。其中,3D打印随形水路技术,凭借其灵活性和定制化设计的能力,为模具带来了前所未有的变革。 模具3D打印随形水路技术,是一种利用3D打印技术制…

alembic 维护的postgresql的数据库表结构,models做了删除表的列和增加表的列,应该怎么做更新操作

使用 Alembic 进行数据库迁移时,如果你的数据模型(通常是 SQLAlchemy 的 ORM 模型)有变动,如添加或删除列,你需要创建一个迁移脚本来更新数据库结构。这里是一个基本的步骤说明,如何使用 Alembic 来处理你的…

别人状告你怎么办?你知道还可反告吗?

别人状告你怎么办?你知道还可反告吗? --李秘书讲写作:关于反诉状的写作技巧与策略 反诉状是民事诉讼中的一种重要法律文书,它允许被告在原告提起诉讼后,对原告提起反诉,以抵消原告的诉讼请求。李秘书这节…

分水岭算法分割和霍夫变换识别图像中的硬币

首先解释一下第一种分水岭算法: 一、分水岭算法 分水岭算法是一种基于拓扑学的图像分割技术,广泛应用于图像处理和计算机视觉领域。它将图像视为一个拓扑表面,其中亮度值代表高度。算法的目标是通过模拟雨水从山顶流到山谷的过程&#xff0…

记录使用pytorch训练crnn

工程来源: https://github.com/WenmuZhou/PytorchOCR?tabreadme-ov-file#train 基本数据准备和配置和paddleOCR是一样的;记录一下使用时遇到的问题。 1.环境 我使用的是:172.31.50.201:5000/algorithm/pytorch-1.11.0-cuda11.3-cudnn8-d…

经纬恒润助力红旗转向技术新突破

近日,红旗研发新视界发布《国内首发!红旗大输出力冗余平行轴式电动助力转向器让用户出行经济又安全!》 ,创新突破“输出力20kN以上的冗余平行轴式电动助力转向器(R-EPS)”。该产品支持整车实现L2/L3级自动驾…

路由器重启真的好吗?多久重启一次更好?

前言 小白前段时间发现自己家的OpenWRT软路由上网特别慢,有时候通话还有点卡顿。 然而有个朋友用的普通路由器也有类似的问题,而且有时候根本上不去网。 解决的办法很简单:重启路由器。 重启路由器? 但路由器重启是真的好吗&a…

L45---506.相对名次(java)--排序

1.题目描述 2.知识点 (1)String.join(" ", words) 是 Java 中的一个语法,用于将数组或集合中的元素连接成一个单独的字符串,连接时使用指定的分隔符。这里的 " " 是作为分隔符使用的一个空格字符串。 Strin…

SHELL脚本学习(四)命令行参数和选项

命令行参数和选项 传递参数 1、向脚本中传递命令行参数 脚本路径 参数1 参数2 ...读取参数 1、位置参数 概述 bash shell会将命令行参数指派给称作 位置参数 的特殊变量。位置参数 $0 是脚本名称, $1 是第一个命令行参数,$2 是第二个命令行参数... 例:阶乘计算 …

6月07日,每日信息差

第一、公安部开展 「净风」 专项行动,已破获 17 起重大案件,打掉 48 个制售假 「特供酒」 犯罪团伙,抓获 417 名嫌疑人,涉案金额达 8.9 亿元。这些假酒质量低劣、存在商标侵权等问题,公安部将持续严打此类犯罪&#xf…

Windows mstsc

windows mstsc 局域网远程计算机192.168.0.113为例,远程控制命令mstsc

鸿蒙开发接口数据管理:【@ohos.data.rdb (关系型数据库)】

关系型数据库 关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可…

数据结构:哈夫曼树及其哈夫曼编码

目录 1.哈夫曼树是什么? 2.哈夫曼编码是什么? 3.哈夫曼编码的应用 4.包含头文件 5.结点设计 6.接口函数定义 7.接口函数实现 8.哈夫曼编码测试案列 哈夫曼树是什么? 哈夫曼树(Huffman Tree)是一种特殊的二叉树&#xf…

Message forwarding mechanism (消息转发机制)

iOS的消息转发机制 iOS的消息转发机制是在消息发送给对象时,找不到对应的实例方法的情况下启动的。消息转发允许对象在运行时处理无法识别的消息,提供了一种动态的、灵活的消息处理方式。 消息转发机制主要分为三个阶段: 动态方法解析快速…

香港高才通计划续签,很可能大部分人都要烂尾

自2022年12月28日推出以来,截至2024年2月29日,高才通计划申请人数超过了7万宗,获批人数将近6万。 这张表格是从2022年到2023年每个月申请人数情况,高峰时间段达到了一个月7166人申请: 香港高才通计划申请人数72508人&…

PostgreSQL基础(九):PostgreSQL的事务介绍

文章目录 PostgreSQL的事务介绍 一、什么是ACID(常识) 二、事务的基本使用 三、保存点(了解) PostgreSQL的事务介绍 一、什么是ACID(常识) 在日常操作中,对于一组相关操作,通常…

python数据分析-问卷数据分析(地理课)

学生问卷 分析学生背景:班级分布、每周地理课数量、地理成绩分布 根据问卷,可以知道: 班级分布: 七年级有118名学生。 八年级有107名学生。 每周地理课的数量: 有28名学生每周有1节地理课。 有99名学生每周有2…