当前位置: 首页 > news >正文

GPT-SoVITS 本地搭建踩坑

GPT-SoVITS 本地搭建踩坑

  • 前言
  • 搭建
    • 下载
    • 解压
    • VSCode打开
    • 安装依赖包
    • 修改内容
      • 1.重新安装版本
      • 2.修改文件内容
    • 运行
    • 总结

前言

传言GPT-SoVITS作为当前与BertVits2.3并列的TTS大模型,于是本地搭了一个,简单说一下坑。
GitHub官网截图

搭建

下载

到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 &#xff08;超文本标记语言&#xff09; W3C标准 结构&#xff1a;HTML表现&#xff1a;CSS行为&#xff1a;JavaScript 快速入门 <html><head><title></title></head><body><font color"red&q…...

Servlet基础之URL匹配规则

文章目录 URL 匹配规则几个容易混淆的规则精确匹配路径匹配扩展名匹配缺省匹配注意事项 1&#xff1a;匹配规则不能混用注意事项 2&#xff1a;"\/\*" 和 "/" 含义并不相同 URL 匹配规则 几个容易混淆的规则 servlet 容器中的匹配规则既不是简单的通配&am…...

【面试真题】Javascript 实现多条件过滤数组

场景&#xff1a; 有这么一个数组 [{a,123,b:345,c:456,d:t12},{a,234,b:345,c:thf2,d:t12}], 现在希望能够通过逗号分隔搜索值的输入方式&#xff0c;从数组中过滤出模糊匹配的数组元素。 解析&#xff1a; 可以使用 JavaScript 的 filter 函数和 indexOf 函数来实现这个功…...

spark广播变量

2024-1-24 广播变量特点 Broadcast Variable会将使用到的变量&#xff0c;只会为每个节点拷贝一份&#xff0c;不会为每个task进行拷贝&#xff0c;能够优化性能&#xff08;在task数量比较大体现更明显&#xff09;&#xff0c;减少网络传输及内存消耗通过SparkContext的bro…...

如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择

大多数WordPress站点首页默认都是显示最新发布的文章列表&#xff0c;不过有些站点比较特殊&#xff0c;只想显示某一篇文章的全部内容&#xff0c;那么应该怎么设置呢&#xff1f; 其实&#xff0c;WordPress后台 >> 设置 >> 阅读 >> 在“您的主页显示”中…...

Git怎样用?(下载到本地,和在本地初始化)

全局设置&#xff1a; 点击第二个 输入&#xff1a; 例如&#xff1b;邮箱是随意地 git config --global user.name "名字" git config --global user.email "邮箱" 获取git仓库 本地初始化&#xff1a; 创建仓库 右键第二个 输入 git init 克隆&#…...

JVM基础知识汇总篇

☆* o(≧▽≦)o *☆嗨~我是小奥&#x1f379; &#x1f4c4;&#x1f4c4;&#x1f4c4;个人博客&#xff1a;小奥的博客 &#x1f4c4;&#x1f4c4;&#x1f4c4;CSDN&#xff1a;个人CSDN &#x1f4d9;&#x1f4d9;&#x1f4d9;Github&#xff1a;传送门 &#x1f4c5;&a…...

马哈鱼SQLFlow Lite的python版本

Gudu SQLFlow 是一款用来分析各种数据库的 SQL 语句和存储过程来获取复杂的数据血缘关系并进行可视化的工具。 Gudu SQLFlow Lite version for python 可以让 python 开发者把数据血缘分析和可视化能力快速集成到他们自己的 python 应用中。 Gudu SQLFlow Lite version for p…...

【原创】VMware创建子网,并使用软路由获得访问互联网的能力,并通过静态路由让上层网络访问位于虚拟机的子网

前言 一看标题就很离谱&#xff0c;确实内容也有点复杂&#xff0c;我的初衷是为后面搞软路由做准备&#xff0c;先通过VMware进行可行性验证&#xff0c;确定方案是否可行&#xff0c;再做下一步的计划。结论当然可以的&#xff0c;能通能访问&#xff0c;强的不行。 网络拓…...

华为和思科各数通设备的常用命令

本文基于华为和思科各数通设备的常用命令来对比学习,这两个命令体系是网络项目中常见的,其他一些厂家也是基于类似的命令体系.下面也会根据公司业务需求列举部分网络设备厂家,比如H3C,盛科的命令不同之处. 1. 查看命令 华为: <Quidway>dis cur …...

Qt Excel读写 - QXlsx的安装配置以及测试

Qt Excel读写 - QXlsx的安装配置以及测试 引言一、安装配置二、简单测试 引言 Qt无自带的库处理Excel 文件&#xff0c;但可通过QAxObject 借助COM接口进行Excel的读写1。亦可使用免费的开源第三方库&#xff1a;QXlsx&#xff0c;一个基于Qt库开发的用于读写Microsoft Excel文…...

Streamlit+像素风=高效零售AI?Ostrakon-VL部署完整指南

Streamlit像素风高效零售AI&#xff1f;Ostrakon-VL部署完整指南 1. 项目概览&#xff1a;当零售AI遇上像素艺术 想象一下&#xff0c;你正在玩一款90年代的复古游戏&#xff0c;但这次你不是在打怪升级&#xff0c;而是在用AI分析零售店铺的货架陈列。这就是Ostrakon-VL扫描…...

网站关键词排名变化规律是什么_网站关键词排名优化对SEO的重要性是什么

网站关键词排名变化规律是什么_网站关键词排名优化对SEO的重要性是什么 在当今数字化时代&#xff0c;网站的SEO优化是一个至关重要的领域。其中&#xff0c;关键词排名的变化规律和关键词排名优化对SEO的重要性尤为关键。本文将详细探讨这两方面的内容&#xff0c;帮助你更好…...

Dash.js终极指南:5分钟掌握专业级流媒体播放技术

Dash.js终极指南&#xff1a;5分钟掌握专业级流媒体播放技术 【免费下载链接】dash.js A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers. 项目地址: https://gitcode.com/gh_mirrors/da/dash.js Dash.js是一个…...

esp-nimble-cpp:ESP32上轻量级BLE C++开发指南

1. 项目概述esp-nimble-cpp是专为 ESP32 平台设计的 C 封装库&#xff0c;其核心目标是为 Apache NimBLE BLE 协议栈提供面向对象、线程安全且资源高效的抽象层。该库并非简单封装&#xff0c;而是以工程实践为导向的深度重构&#xff1a;它在保持与 nkolban 经典cpp_utilsBLE …...

Qwen2.5-14B-Instruct入门指南:像素剧本圣殿UI组件与剧本结构映射关系解析

Qwen2.5-14B-Instruct入门指南&#xff1a;像素剧本圣殿UI组件与剧本结构映射关系解析 1. 工具概览与核心价值 像素剧本圣殿&#xff08;Pixel Script Temple&#xff09;是一款基于Qwen2.5-14B-Instruct大模型深度优化的专业剧本创作工具。它将AI强大的文本生成能力与独特的…...

如何高效利用孔祥仁线性代数网课?我的实战笔记与技巧分享

如何高效利用孔祥仁线性代数网课&#xff1f;我的实战笔记与技巧分享 线性代数作为数学领域的重要分支&#xff0c;在计算机科学、物理学、工程学等多个学科中都有广泛应用。对于许多学生来说&#xff0c;这门课程既抽象又充满挑战。孔祥仁老师的线性代数网课以其"零废话&…...

嵌入式AI开发实战:从MCU到模型部署全流程

1. 嵌入式AI开发实战&#xff1a;从入门到项目落地作为一名在嵌入式领域摸爬滚打多年的工程师&#xff0c;我深知AI技术给这个传统行业带来的变革。记得2018年第一次接触基于MCU的简单图像识别时&#xff0c;那种"原来嵌入式设备也能做AI"的震撼感至今难忘。如今&…...

FastAPI系列 4 - 模块化路由的艺术:APIRouter实战指南

1. 为什么需要模块化路由&#xff1f; 第一次用FastAPI开发电商后台时&#xff0c;我把所有路由都堆在main.py里。三个月后这个文件膨胀到2000多行代码&#xff0c;每次修改用户认证逻辑都要在订单处理和商品列表的代码块之间来回翻找。这种经历让我深刻理解了为什么APIRouter会…...

别再只查‘待办’了!Flowable任务查询的三种高级场景:拾取、归还与候选组权限控制详解

Flowable任务管理的三大高阶场景&#xff1a;从候选池到个人待办的完整控制策略 当我们在处理业务流程自动化时&#xff0c;任务管理往往是最容易被简化的环节。大多数开发者止步于基础的待办列表查询&#xff0c;却忽视了任务流转过程中的精细控制。本文将带您深入Flowable任务…...

效率提升:基于快马平台为dc=y103pc=类参数快速打造调试工具

效率提升&#xff1a;基于快马平台为dcy103&pc类参数快速打造调试工具 在日常开发中&#xff0c;我们经常需要处理各种URL参数&#xff0c;尤其是类似"dcy103&pctest"这样的查询字符串。手动解析和修改这些参数不仅效率低下&#xff0c;还容易出错。最近我在…...