GPT-SoVITS 本地搭建踩坑
GPT-SoVITS 本地搭建踩坑
- 前言
- 搭建
- 下载
- 解压
- VSCode打开
- 安装依赖包
- 修改内容
- 1.重新安装版本
- 2.修改文件内容
- 运行
- 总结
前言
传言GPT-SoVITS作为当前与BertVits2.3并列的TTS大模型,于是本地搭了一个,简单说一下坑。

搭建
下载
到GitHub点击此处下载
https://github.com/RVC-Boss/GPT-SoVITS

解压
解压到全英文目录

VSCode打开
使用VSCode打开,切到conda并clone一个之前BertVits的环境(没环境的自己先做一个Python3.10的配好PyTorch的)

安装依赖包
使用下面语句安装依赖
pip install -r requirements.txt
修改内容
根据issues内大家讨论的结果,这样操作是实测可行的,但是之后作者应该会优化,截止发文这么改是没问题的,以后可能不用改了
https://github.com/RVC-Boss/GPT-SoVITS/issues/26
1.重新安装版本
输入下面的指令重新安装一下对应版本的
pip install funasr==0.8.7
pip install modelscope==1.10.0
2.修改文件内容
将 tools\damo_asr\cmd-asr.py 文件中的
inference_pipeline = pipeline(task=Tasks.auto_speech_recognition,model='tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',vad_model='tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch',punc_model='tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch',
)
改成
inference_pipeline = pipeline(task=Tasks.auto_speech_recognition,model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',vad_model='damo/speech_fsmn_vad_zh-cn-16k-common-pytorch',punc_model='damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch',
)
根据我的研究,原因是 git clone 的那几个模型的配置文件和它自动下载的内容不一样

修改后源码如下
# -*- coding:utf-8 -*-from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
import sys,os,traceback
dir=sys.argv[1]
# opt_name=dir.split("\\")[-1].split("/")[-1]
opt_name=os.path.basename(dir)path_asr='tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch'
path_vad='tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch'
path_punc='tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch'
path_asr=path_asr if os.path.exists(path_asr)else "damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch"
path_vad=path_vad if os.path.exists(path_vad)else "damo/speech_fsmn_vad_zh-cn-16k-common-pytorch"
path_punc=path_punc if os.path.exists(path_punc)else "damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch"
# inference_pipeline = pipeline(
# task=Tasks.auto_speech_recognition,
# model=path_asr,
# vad_model=path_vad,
# punc_model=path_punc,
# )
inference_pipeline = pipeline(task=Tasks.auto_speech_recognition,model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',vad_model='damo/speech_fsmn_vad_zh-cn-16k-common-pytorch',punc_model='damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch',
)opt=[]
for name in os.listdir(dir):try:text = inference_pipeline(audio_in="%s/%s"%(dir,name))["text"]opt.append("%s/%s|%s|ZH|%s"%(dir,name,opt_name,text))except:print(traceback.format_exc())opt_dir="output/asr_opt"
os.makedirs(opt_dir,exist_ok=True)
with open("%s/%s.list"%(opt_dir,opt_name),"w",encoding="utf-8")as f:f.write("\n".join(opt))
运行
在环境中输入,即可正常启动
python webui.py
总结
能够有感情的朗读了,不错
相关文章:
GPT-SoVITS 本地搭建踩坑
GPT-SoVITS 本地搭建踩坑 前言搭建下载解压VSCode打开安装依赖包修改内容1.重新安装版本2.修改文件内容 运行总结 前言 传言GPT-SoVITS作为当前与BertVits2.3并列的TTS大模型,于是本地搭了一个,简单说一下坑。 搭建 下载 到GitHub点击此处下载 http…...
【教学类-34-02】20240130纸尺2.0 (A4横版5条,刻度25*5=125CM,有图案)
作品展示: 背景需求: 设计了纸尺的基本模板 【教学类-34-01】20240130纸尺1.0 (A4横版5条,刻度25*5125CM)-CSDN博客文章浏览阅读194次,点赞5次,收藏5次。【教学类-34-01】20240130纸尺1.0 &am…...
iText操作pdf
最近有个任务是动态的创建pdf根据获取到的内容,百度到的知识点都比较零散,官方文档想必大家也不容易看懂。下文是我做出的汇总 public class CreatePdfUtils {public static void create(){//准备File file new File("C:\\code\\base-project-back…...
关于SQLite 的下载与使用。配合python
win系统下: SQLite Download Page Precompiled Binaries for Windows sqlite-tools-win-x64-3450000.zip (4.77 MiB) 解压后,找个位置。然后设置环境变量指定位置。 可以手动建立.db文件。 也可以通过代码建立: 如下代码就是建立一个db文件。…...
java面向对象基础(面试)
一、面向对象基础 1. 面向对象和面向过程的区别 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。 2.创建一个对象用什么运算符?对象实体与对象引用有何不同? n…...
【C++修行之道】STL(初识list、stack)
目录 一、list 1.1list的定义和结构 以下是一个示例,展示如何使用list容器: 1.2list的常用函数 1.3list代码示例 二、stack 2.1stack的定义和结构 stack的常用定义 2.2常用函数 2.3stack代码示例 一、list 1.1list的定义和结构 list的使用频率不高&#…...
【环境配置】安装了pytorch但是报错torch.cuda.is_availabel()=Flase
解决思路:import torch正常,说明torch包安装正常,但是不能和gpu正常互动,猜测还是pytroch和cuda的配合问题 1.查看torch包所需的cuda版本 我的torch是2.0.1,在现在是比较新的包,需要12以上的cuda支持&…...
什么是模板方法模式?它的实现方式有哪些?
什么是模板方法模式?它的实现方式有哪些? 模板方法模式是一种行为型模式,它定义了一个操作中的算法骨架,而将算法的一些步骤延迟到子类中实现,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。 模…...
java:实现查询MySQL数据库中的数据,并导出excel、pdf类型文档(超详细)
查询MySQL数据库中数据,导出excel、pdf类型文档 1.数据库表格 CREATE TABLE user (id int NOT NULL AUTO_INCREMENT COMMENT 编号,name varchar(255) DEFAULT NULL COMMENT 姓名,age int DEFAULT NULL COMMENT 年龄,addr varchar(255) DEFAULT NULL COMMENT 住址1…...
Java后端须知的前端知识
Java后端须知的前端知识 HTML (超文本标记语言) W3C标准 结构:HTML表现:CSS行为:JavaScript 快速入门 <html><head><title></title></head><body><font color"red&q…...
Servlet基础之URL匹配规则
文章目录 URL 匹配规则几个容易混淆的规则精确匹配路径匹配扩展名匹配缺省匹配注意事项 1:匹配规则不能混用注意事项 2:"\/\*" 和 "/" 含义并不相同 URL 匹配规则 几个容易混淆的规则 servlet 容器中的匹配规则既不是简单的通配&am…...
【面试真题】Javascript 实现多条件过滤数组
场景: 有这么一个数组 [{a,123,b:345,c:456,d:t12},{a,234,b:345,c:thf2,d:t12}], 现在希望能够通过逗号分隔搜索值的输入方式,从数组中过滤出模糊匹配的数组元素。 解析: 可以使用 JavaScript 的 filter 函数和 indexOf 函数来实现这个功…...
spark广播变量
2024-1-24 广播变量特点 Broadcast Variable会将使用到的变量,只会为每个节点拷贝一份,不会为每个task进行拷贝,能够优化性能(在task数量比较大体现更明显),减少网络传输及内存消耗通过SparkContext的bro…...
如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择
大多数WordPress站点首页默认都是显示最新发布的文章列表,不过有些站点比较特殊,只想显示某一篇文章的全部内容,那么应该怎么设置呢? 其实,WordPress后台 >> 设置 >> 阅读 >> 在“您的主页显示”中…...
Git怎样用?(下载到本地,和在本地初始化)
全局设置: 点击第二个 输入: 例如;邮箱是随意地 git config --global user.name "名字" git config --global user.email "邮箱" 获取git仓库 本地初始化: 创建仓库 右键第二个 输入 git init 克隆&#…...
JVM基础知识汇总篇
☆* o(≧▽≦)o *☆嗨~我是小奥🍹 📄📄📄个人博客:小奥的博客 📄📄📄CSDN:个人CSDN 📙📙📙Github:传送门 📅&a…...
马哈鱼SQLFlow Lite的python版本
Gudu SQLFlow 是一款用来分析各种数据库的 SQL 语句和存储过程来获取复杂的数据血缘关系并进行可视化的工具。 Gudu SQLFlow Lite version for python 可以让 python 开发者把数据血缘分析和可视化能力快速集成到他们自己的 python 应用中。 Gudu SQLFlow Lite version for p…...
【原创】VMware创建子网,并使用软路由获得访问互联网的能力,并通过静态路由让上层网络访问位于虚拟机的子网
前言 一看标题就很离谱,确实内容也有点复杂,我的初衷是为后面搞软路由做准备,先通过VMware进行可行性验证,确定方案是否可行,再做下一步的计划。结论当然可以的,能通能访问,强的不行。 网络拓…...
华为和思科各数通设备的常用命令
本文基于华为和思科各数通设备的常用命令来对比学习,这两个命令体系是网络项目中常见的,其他一些厂家也是基于类似的命令体系.下面也会根据公司业务需求列举部分网络设备厂家,比如H3C,盛科的命令不同之处. 1. 查看命令 华为: <Quidway>dis cur …...
Qt Excel读写 - QXlsx的安装配置以及测试
Qt Excel读写 - QXlsx的安装配置以及测试 引言一、安装配置二、简单测试 引言 Qt无自带的库处理Excel 文件,但可通过QAxObject 借助COM接口进行Excel的读写1。亦可使用免费的开源第三方库:QXlsx,一个基于Qt库开发的用于读写Microsoft Excel文…...
20 万行代码,30 分钟理清——Understand Anything 让你的代码库变成一张可交互的知识图谱
加入新团队,面对二十万行代码库,从哪开始读?读完本文你可以:用 3 条命令把项目变成可交互知识图谱,理解 5 代理分析管线的运作原理,并判断这个工具适合不适合你的场景。 🎯 这个项目解决什么问题…...
如何用roop-unleashed实现零门槛AI换脸:三分钟制作专业级视频的完整指南
如何用roop-unleashed实现零门槛AI换脸:三分钟制作专业级视频的完整指南 【免费下载链接】roop-unleashed Evolved Fork of roop with Web Server and lots of additions 项目地址: https://gitcode.com/gh_mirrors/ro/roop-unleashed 想要制作令人惊艳的AI换…...
别再乱用apt --fix-broken了!详解Ubuntu下unixodbc依赖报错的根本原因与安全修复流程
深入解析Ubuntu中unixodbc依赖冲突的根源与系统化修复方案当你在Ubuntu终端中看到"未满足的依赖关系"和"试图覆盖文件"的错误提示时,是否曾盲目执行过apt --fix-broken install命令?这种条件反射式的操作可能暂时解决问题࿰…...
【独家实测】12种火焰风格生成成功率排行榜(含燃烧强度/流体轨迹/余烬衰减量化评分),第7名99%人从未试过
更多请点击: https://codechina.net 第一章:火焰风格生成效果的评估体系与实测方法论 火焰风格图像生成质量评估需兼顾视觉感知一致性、物理合理性与算法可复现性。单一指标(如PSNR或LPIPS)无法全面刻画火焰特有的动态纹理、亮度…...
Unity Android读取SD卡图片的5种实战方案与选型指南
1. 为什么在 Unity Android 上“读取 sdcard 图片”会让人反复踩坑? “Unity Android 读取 sdcard 路径下指定文件夹的所有图片”——这句话看似平平无奇,但凡是真正在项目里做过相册预览、本地图库导入、离线资源加载、用户截图归档这类功能的开发者&am…...
智能电表数据填补技术对比:从Holt-Winters到Time-MoE的实战指南
1. 项目概述:当智能电表数据“断片”时,我们如何“脑补”?在能源管理和智能电网的日常运维中,我们这些从业者最头疼的问题之一,就是拿到手的智能电表数据“缺斤短两”。想象一下,你正试图分析一个居民区的用…...
告别黑窗口!保姆级教程:在Win11上用Xming给WSL2装个轻量级桌面(XFCE4)
告别黑窗口!Win11 WSL2轻量级桌面配置全指南 对于习惯Windows图形界面的开发者来说,初次接触WSL的黑窗口命令行界面总有些不适。本文将手把手教你如何用Xming和XFCE4为WSL2打造一个轻量级Linux桌面环境,无需虚拟机就能运行GIMP、VSCode等图形…...
Rust异步编程实战:构建高性能并发应用
引言 异步编程是构建高性能后端服务的关键技术。作为从Python转向Rust的开发者,我发现Rust的异步模型与Python有很大不同。Rust的异步编程基于协程和事件驱动,通过Tokio运行时实现高效的并发执行。本文将深入探讨Rust异步编程的核心概念、实践模式和性能…...
神经纹理:让3D世界“活”起来的AI魔法,一篇讲透!
神经纹理:让3D世界“活”起来的AI魔法,一篇讲透! 引言:从“贴图”到“思考”的纹理革命 想象一下,一个虚拟角色不仅能动,其皮肤还能随着情绪微微泛红、在阳光下呈现真实的汗渍光泽——这不再是电影特效的…...
ES 模块:JavaScript 模块化的标准方案
ES 模块:JavaScript 模块化的标准方案 什么是 ES 模块? ES 模块(ES Modules,简称 ESM)是 ECMAScript 2015(ES6)引入的官方模块化规范。 ES 模块 vs CommonJS 特性CommonJSES Modules加载方式同步…...
