用Python代码调用GPT-SoVITS

GPT-SoVITS 项目地址:https://github.com/RVC-Boss/GPT-SoVITS

import os
import requests
from PySide6.QtCore import QThread
from PySide6.QtWidgets import QWidget, QApplication
from design import Ui_Form
import subprocess
import sounddevice as sd
import soundfile as sf
import psutilclass MyWindow(QWidget, Ui_Form):def __init__(self):super().__init__()self.setupUi(self)self.text_te.setFocus()self.start_service_btn.clicked.connect(self.start_service_btn_clicked)self.close_service_btn.clicked.connect(self.close_service_btn_clicked)self.tts_btn.clicked.connect(self.tts_btn_clicked)def start_service_btn_clicked(self):thread = WorkerThread(self)thread.start()@staticmethoddef close_service_btn_clicked():port = 9880# 查找占用指定端口的进程for conn in psutil.net_connections():if conn.status == psutil.CONN_LISTEN and conn.laddr.port == port:pid = conn.pidtry:# 使用系统命令结束进程subprocess.run(["taskkill", "/F", "/PID", str(pid)], check=True)print(f"Process with PID {pid} using port {port} terminated.")except subprocess.CalledProcessError as e:print(f"Failed to terminate process with PID {pid}: {e}")returnprint(f"No process found using port {port}.")def tts_btn_clicked(self):params = {"refer_wav_path": r"D:\BaiduNetdiskDownload\xl\哇,这么多人都在这里玩牌…他们的肚子会不会饿了呀?.wav","prompt_text": "哇,这么多人都在这里玩牌…他们的肚子会不会饿了呀?","prompt_language": "zh","text": self.text_te.toPlainText(),"text_language": "zh"}response = requests.get('http://127.0.0.1:9880/', params=params)file_path = 'temp.wav'with open(file_path, 'wb') as f:f.write(response.content)data, samplerate = sf.read(file_path)sd.play(data, samplerate)sd.wait()class WorkerThread(QThread):def __init__(self, parent=None):super().__init__(parent)def run(self):path = r"D:\BaiduNetdiskDownload\GPT-SoVITS-beta0706fix1\GPT-SoVITS-beta0706"# 改变当前工作目录到.bat文件所在目录os.chdir(path)subprocess.run([r'runtime\python.exe', 'api.py', '-g', r"D:\BaiduNetdiskDownload\xl\xl-e10.ckpt", '-s', r"D:\BaiduNetdiskDownload\xl\xl_e15_s3195.pth"])if __name__ == "__main__":app = QApplication([])app.setStyle("Fusion")window = MyWindow()window.show()app.exec()

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

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

相关文章

JAVA基础 - 泛型

目录 一. 简介 二. 集合泛型 三. 自定义泛型 四. 自定义泛型类和普通类的区别 一. 简介 泛型是 Java 语言中一种强大的特性,它允许在定义类、接口和方法时使用类型参数,从而增加了代码的类型安全性和复用性。 类型安全性: 使用泛型可以…

day07 项目启动以及git

spring框架 spring 负责整合各种框架,把new对象的部分交给spring去做,对象new不出来,项目就启动不起来,这样可以有效保证所需要的对象都在容器中存在,后续的部分都可以顺利执行控制反转:业务对象创建依赖资…

“八股文”在实际工作中是助力、阻力还是空谈?

一:浅谈 关于“八股文”在程序员面试中的重要性和实际工作中的作用,确实是一个引发广泛讨论的话题。以下是我对这个问题的看法: 1. “八股文”的定义与特征 “八股文”通常指的是面试中常见的标准化问答或经典理论知识,例如…

Apollo:源码分析之cyber/mainboard启动入口介绍-my write, test ok

软件结构图 cyber入口 cyber的入口在"cyber/mainboard"目录中: ├── mainboard.cc // 主函数 ├── module_argument.cc // 模块输入参数 ├── module_argument.h ├── module_controller.cc // 模块加载,卸载 └── module_controller.…

关于Docker Engine AuthZ 插件授权绕过漏洞 (CVE-2024-41110)

一、漏洞概述 漏洞名称:Docker Engine AuthZ 插件授权绕过漏洞 (CVE-2024-41110) 漏洞等级:高危 漏洞描述:DockerEngine是Docker的核心组件,是一 个开源的容器引擎,负责构建、运行和管理容器…

【Vue】权限控制

权限管理 分类: 页面权限功能(按钮)权限接口权限 vue3-element-admin 的实现方案 一般我们在业务中将 路由可以分为两种,constantRoutes 和 asyncRoutes。 constantRoutes: 代表那些不需要动态判断权限的路由,如登录页、404(或…

【echarts】 柱状图,最后带“竖线”

具体: https://echarts.zhangmuchen.top/#/detail?cid28ea6-0601-e9f5-9cc29-c022b758 let data [{value: 0,name: 数据格式一},{value: 55,name: 数据格式二},{value: 66,name: 数据格式三},{value: 75,name: 数据格式四},{value: 20,name: 数据格式五}];getAr…

盘点.软件测试模型

软件开发模型   软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动…

C++类与对象-六大成员函数

默认成员函数就是用户没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个空类编译器会默认⽣成8个默认成员函数。本文只介绍其中6个,C11增加两个函数见后续博客。 目录 一、构造函数 1.1 概念 1.2 特性 1.3 使用举例 1.4 初始化列表 1…

如何通过前端表格控件实现自动化报表?

背景 最近伙伴客户的项目经理遇见一个问题,他们在给甲方做自动化报表工具,项目已经基本做好了,但拿给最终甲方,业务人员不太买账,项目经理为此也是天天抓狂,没有想到合适的应对方案。 现阶段主要面临的问…

docker笔记7-dockerfile

docker笔记7-dockerfile 一、dockerfile介绍二、dockerfile指令三、构建自己的镜像 一、dockerfile介绍 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。 以下是常用的 Dockerfile 关键字的完整列表和说明: 二、docker…

【计算机毕业设计】838装修公司CRM系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

为什么要做边界值测试?

边界值测试的理解 边界值测试(Boundary Value Testing)是一种常用的软件测试方法,它侧重于测试输入值的边缘或临界条件。这些边缘条件通常包括最小值、最大值以及接近这些最小值和最大值的值。边界值测试的基本思想是,许多软件错…

React 学习——Context机制层级组件通信

核心思路:(适用于所有层级,不仅仅是爷孙 父子) createContext方法创建一个上下文对象在顶层组件 通过Provider组件提供数据在底层组件,通过useContext钩子函数使用数据 import { createContext, useContext } from …

R语言 爬取数据+简单清洗

小小练习。见代码注释 # 加载必要的包 library(rvest) library(dplyr) library(tidyr)# 指定网页URL url <- "https://research.un.org/en/unmembers/scmembers"# 读取网页内容 webpage <- read_html(url)# 提取所有表格节点 table_nodes <- html_nodes(web…

基于人工智能及大数据的综合智能交通管理平台(可编辑30页PPT)

引言&#xff1a;随着城市化进程的加速和汽车保有量的快速增长&#xff0c;交通拥堵、交通事故频发以及交通资源分配不均等问题日益突出&#xff0c;成为制约城市发展的重要因素。为了应对这些挑战&#xff0c;基于人工智能&#xff08;AI&#xff09;及大数据技术的综合智能交…

【React】详解自定义 Hook

文章目录 一、自定义 Hook 的基本用法1. 什么是自定义 Hook&#xff1f;2. 创建自定义 Hook3. 使用自定义 Hook 二、自定义 Hook 的进阶应用1. 处理副作用2. 组合多个 Hook3. 参数化 Hook4. 条件逻辑 三、自定义 Hook 的实际应用案例1. 实现用户身份验证2. 实现媒体查询 四、最…

民大食堂用餐小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;档口号管理&#xff0c;商家餐品管理&#xff0c;餐品种类管理&#xff0c;购物车管理&#xff0c;订单信息管理 微信端账号功能包括&#xff1a;系统首页&a…

angular入门基础教程(七)系统路由

路由的实现 当我们系统越来复杂&#xff0c;功能越来越多&#xff0c;路由也就是必须的了。在 ng 中如何实现路由呢&#xff1f; 启用路由 在 app 目录下&#xff0c;新建一个 router 目录&#xff0c;把 app.routers.ts 文件拷贝过来&#xff0c;并修改一下。 import { Ro…

C语言程序设计16

程序设计16 问题16_1代码16_1结果16_1 问题16_2代码16_2结果16_2 问题16_3代码16_3结果16_3 问题16_1 函数 f u n fun fun 的功能是&#xff1a;逆置数组元素中的值。 例如&#xff0c;若形参 a a a 所指数组中的数据最初排列为 &#xff1a; 1 , 2 , 3 , 4 , 5 , 6 …