长宁专业做网站/万网官网域名查询

长宁专业做网站,万网官网域名查询,电子商务网站运营流程,日照城建建设网站SparkTTS 的简介 Spark-TTS是一种基于SpardAudio团队提出的 BiCodec 构建的新系统,BiCodec 是一种单流语音编解码器,可将语音策略性地分解为两种互补的标记类型:用于语言内容的低比特率语义标记和用于说话者特定属性的固定长度全局标记。这种…

SparkTTS 的简介

        Spark-TTS是一种基于SpardAudio团队提出的 BiCodec 构建的新系统,BiCodec 是一种单流语音编解码器,可将语音策略性地分解为两种互补的标记类型:用于语言内容的低比特率语义标记和用于说话者特定属性的固定长度全局标记。这种解开的表示与 Qwen2.5 LLM 和思路链 (CoT) 生成方法相结合,既可以实现粗粒度属性控制(例如性别、音高水平),也可以实现细粒度参数调整(例如精确的音高值、语速)。 

它是香港科技大学,上海交大,南洋技术大学等单位组成的团队开发的,与香港中文大学的MaskGCT 相比,SparkTTS 使用了大模型。

SparkTTS的结构

MaskGCT 结构

测试网站

你可以在下列网站做一些测试。

Spark TTS - Text-to-Speech AI Model

Windows 安装 

下载 Spark-TTS

  • Go to Spark-TTS GitHub
  • Click "Code" > "Download ZIP", then extract it.

2. 建立   Conda 环境

conda create -n sparktts python=3.12 -y
conda activate sparktts

3. Install Dependencies

pip install -r requirements.txt

Install PyTorch (Auto-Detect CUDA or CPU)

我使用的是RTX4080 显卡。安装cuda 12.4,安装的PyTorch 为2.5.1+cu124。

下载cuda 12.4.

安装 PyTorch  +cu124

conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia

5. Download the Model

mkdir pretrained_models
git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B

遇到问题

 运行python webUI.py 时出现:

variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.

办法

1 删除 libiomp5md.dll

D:\Users\Yao\anaconda3\Library\bin\libiomp5md.dll

2 设置临时环境变量:KMP_DUPLICATE_LIB_OK=TRUE

  set KMP_DUPLICATE_LIB_OK=TRUE

也在windows 下设置了。

结果

效果明显比MaskGCT 好。转码速度快。 

使用Python 调用SparkTTS

改写了使用python 调用SparkTTS 的方式

from datetime import datetime
import os
import soundfile as sf
import torch
import logging
from cli.SparkTTS import SparkTTS
from sparktts.utils.token_parser import LEVELS_MAP_UI# Initialize modeldef initialize_model(model_dir="pretrained_models/Spark-TTS-0.5B", device=0):"""Load the model once at the beginning."""logging.info(f"Loading model from: {model_dir}")device = torch.device(f"cuda:{device}")model = SparkTTS(model_dir, device)return model
def run_tts(text,model,prompt_text=None,prompt_speech=None,gender=None,pitch=None,speed=None,save_dir="example/results",
):"""Perform TTS inference and save the generated audio."""logging.info(f"Saving audio to: {save_dir}")if prompt_text is not None:prompt_text = None if len(prompt_text) <= 1 else prompt_text# Ensure the save directory existsos.makedirs(save_dir, exist_ok=True)# Generate unique filename using timestamptimestamp = datetime.now().strftime("%Y%m%d%H%M%S")save_path = os.path.join(save_dir, f"{timestamp}.wav")logging.info("Starting inference...")# Perform inference and save the output audiowith torch.no_grad():wav = model.inference(text,prompt_speech,prompt_text,gender,pitch,speed,)sf.write(save_path, wav, samplerate=16000)logging.info(f"Audio saved at: {save_path}")return save_path# Define callback function for voice cloning
def voice_clone(text, prompt_text, prompt_wav_upload, prompt_wav_record):"""Gradio callback to clone voice using text and optional prompt speech.- text: The input text to be synthesised.- prompt_text: Additional textual info for the prompt (optional).- prompt_wav_upload/prompt_wav_record: Audio files used as reference."""prompt_speech = prompt_wav_upload if prompt_wav_upload else prompt_wav_recordprompt_text_clean = None if len(prompt_text) < 2 else prompt_textaudio_output_path = run_tts(text,model,prompt_text=prompt_text_clean,prompt_speech=prompt_speech)return audio_output_path# Define callback function for creating new voices
def voice_creation(text, gender, pitch, speed):"""Gradio callback to create a synthetic voice with adjustable parameters.- text: The input text for synthesis.- gender: 'male' or 'female'.- pitch/speed: Ranges mapped by LEVELS_MAP_UI."""pitch_val = LEVELS_MAP_UI[int(pitch)]speed_val = LEVELS_MAP_UI[int(speed)]audio_output_path = run_tts(text,model,gender=gender,pitch=pitch_val,speed=speed_val)return audio_output_path#model_dir="pretrained_models/Spark-TTS-0.5B"
device=0
model = initialize_model(model_dir, device=device)
text="仅仅懂得应用科学本身是不够的!对人类本身及其命运的关心必然总是培养出努力学习各种技术的兴趣;对尚未解决的物质起源和商品分配的问题的关心——为了我们思想意识的建立,将会给整个人类带来幸福而不是灾难。"
#prompt_wav_upload="E:\yao2025\Spark-TTS-main\src\demos\鲁豫\luyu_zh.wav"
prompt_wav_upload="E:\yao2025\yaoaudio.wav"
prompt_text="朋友们,今天我要对你们说,尽管眼下困难重重,但我依然怀有一个梦。这个梦深深植根于美国梦之中。我梦想有一天,这个国家将会奋起,实现其立国信条的真谛,我们认为这些真理不言而喻:人人生而平等。我梦想有一天,在佐治亚洲的红色山岗上,昔日奴隶的儿子能够同昔日奴隶主的儿子同席而坐,亲如手足。"
prompt_wav_record=None
print("TTS ....")
audio_output_path=voice_clone(text, prompt_text, prompt_wav_upload, prompt_wav_record)
"""
pitch,音调
speed 速度 
通过下面的map
LEVELS_MAP_UI = {1: 'very_low',2: 'low',3: 'moderate',4: 'high',5: 'very_high'
}
"""
#audio_output_path=voice_creation(text,"female","5","5")
print(audio_output_path)

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

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

相关文章

ApoorvCTF Rust语言逆向实战

上周参加了国外的比赛&#xff0c;名称叫&#xff1a;ApoorvCTF 看一下老外的比赛跟我们有什么不同&#xff0c;然后我根据国内比赛对比发现&#xff0c;他们考点还是很有意思的&#xff0c;反正都是逆向&#xff0c;哈哈哈 Rusty Vault 题目描述&#xff1a; In the heart…

Git和GitHub基础教学

文章目录 1. 前言2. 历史3. 下载安装Git3.1 下载Git3.2 安装Git3.3 验证安装是否成功 4. 配置Git5. Git基础使用5.1 通过Git Bash使用5.1.1 创建一个新的仓库。5.1.1.1 克隆别人的仓库5.1.1.2 自己创建一个本地仓库 5.1.2 管理存档 5.2 通过Visual Studio Code使用 6. Git完成远…

MySQL中like模糊查询如何优化?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL中like模糊查询如何优化?】面试题。希望对大家有帮助&#xff1b; MySQL中like模糊查询如何优化? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中&#xff0c;LIKE 模糊查询虽然非常常见&#xff0c;…

⭐LeetCode(数学分类) 2. 两数相加——暴力与优化⭐

⭐LeetCode(数学分类) 2. 两数相加——暴力与优化⭐ 提示&#xff1a; 每个链表中的节点数在范围 [1, 100] 内 0 < Node.val < 9 题目数据保证列表表示的数字不含前导零 题解&#xff1a; 暴力与优化&#xff0c;暴力即转换为十进制解题&#xff0c;优化即直接在链表上进…

①Modbus TCP转Modbus RTU/ASCII网关同步采集无需编程高速轻松组网

Modbus TCP转Modbus RTU/ASCII网关同步采集无需编程高速轻松组网https://item.taobao.com/item.htm?ftt&id784749793551 MODBUS TCP 通信单元 MODBUS TCP 转 RS485 MS-A1-50X1 系列概述 MS-A1-50X1 系列概述 MS-A1-50X1系列作为MODBUS TCP通信的服务器进行动作。可通…

C/C++蓝桥杯算法真题打卡(Day3)

一、P8598 [蓝桥杯 2013 省 AB] 错误票据 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;int main() {int N;cin >> N; // 读取数据行数unordered_map<int, int> idCount; // 用于统计每个ID出现的次数vector<int> ids; …

<建模软件安装教程1>Blender4.2系列

Blender4.2安装教程 0注意&#xff1a;Windows环境下安装 第一步&#xff0c;百度网盘提取安装包。百度网盘链接&#xff1a;通过网盘分享的文件&#xff1a;blender.zip 链接: https://pan.baidu.com/s/1OG0jMMtN0qWDSQ6z_rE-9w 提取码: 0309 --来自百度网盘超级会员v3的分…

C语言八股---预处理,编译,汇编与链接篇

前言 从多个.c文件到达一个可执行文件的四步:   预处理–>编译–>汇编–>链接 预处理 预处理过程就是预处理器处理这些预处理指令(要不然编译器完全不认识),最终会生成 main.i的文件 主要做的事情有如下几点: 展开头文件展开宏条件编译删除注释添加行号等信息保留…

用Deepseek写一个 HTML 和 JavaScript 实现一个简单的飞机游戏

大家好&#xff01;今天我将分享如何使用 HTML 和 JavaScript 编写一个简单的飞机游戏。这个游戏的核心功能包括&#xff1a;控制飞机移动、发射子弹、敌机生成、碰撞检测和得分统计。代码简洁易懂&#xff0c;适合初学者学习和实践。 游戏功能概述 玩家控制&#xff1a;使用键…

面向高质量视频生成的扩散模型方法-算法、架构与实现【附核心代码】

目录 算法原理 架构 代码示例 算法原理 正向扩散过程&#xff1a;从真实的视频数据开始&#xff0c;逐步向其中添加噪声&#xff0c;随着时间步 t 的增加&#xff0c;噪声添加得越来越多&#xff0c;最终将原始视频数据变成纯噪声。数学上&#xff0c;t 时刻的视频数据与 t…

游戏引擎学习第149天

今日回顾与计划 在今天的直播中&#xff0c;我们将继续进行游戏的开发工作&#xff0c;目标是完成资产文件&#xff08;pack file&#xff09;的测试版本。目前&#xff0c;游戏的资源&#xff08;如位图和声音文件&#xff09;是直接从磁盘加载的&#xff0c;而我们正在将其转…

ForceMimic:以力为中心的模仿学习,采用力运动捕捉系统进行接触丰富的操作

25年3月来自上海交大卢策吾教授团队的论文“ForceMimic: Force-Centric Imitation Learning with Force-Motion Capture System for Contact-Rich Manipulation”。 在大多数接触丰富的操作任务中&#xff0c;人类会将随时间变化的力施加到目标物体上&#xff0c;以补偿视觉引…

【愚公系列】《Python网络爬虫从入门到精通》045-Charles的SSL证书的安装

标题详情作者简介愚公搬代码头衔华为云特约编辑&#xff0c;华为云云享专家&#xff0c;华为开发者专家&#xff0c;华为产品云测专家&#xff0c;CSDN博客专家&#xff0c;CSDN商业化专家&#xff0c;阿里云专家博主&#xff0c;阿里云签约作者&#xff0c;腾讯云优秀博主&…

vulnhub靶场【digitalworld.local系列】的electrical靶机

前言 靶机&#xff1a;digitalworld.local-electrical&#xff0c;IP地址为192.168.10.12&#xff0c;后期因为卡顿&#xff0c;重新安装&#xff0c;ip地址后面为192.168.10.11 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.6 kali采用VMware虚拟机&#xff0c;靶机…

macos 程序 运行

sudo xattr -r -d com.apple.quarantine [/Applications/Name]使用stow 管理配置文件

共享内存的原理和创建

目录 共享内存的原理 共享内存的创建 代码实现创建 共享内存的管理指令 我们今天来学习共享内存&#xff01;&#xff01;&#xff01; 共享内存的原理 两个进程同时使用内存中开辟的共享空间进行通信就是建立并使用共享内存进行进程间的通信。System V 共享内存&#xf…

3.10[A]cv

核心模块&#xff1a; rasterizer&#xff1a;光栅化器&#xff0c;负责三角形遍历和像素绘制Shader&#xff1a;包含顶点着色器和多种片元着色器Texture&#xff1a;纹理处理模块 顶点着色器的计算量一般远小于片元着色器。因为组成三角形的顶点相对有限&#xff0c;而片元需…

mac使用Homebrew安装miniconda(mac搭建python环境),并在IDEA中集成miniconda环境

一、安装Homebrew mac安装brew 二、使用Homebrew安装miniconda brew search condabrew install miniconda安装完成后的截图&#xff1a; # 查看是否安装成功 brew list环境变量&#xff08;无需手动配置&#xff09; 先执行命令看能不能正常返回&#xff0c;如果不能正常…

WWDG窗口看门狗原理

WWDG&#xff08;窗口看门狗&#xff09;在窗口期喂狗 作用&#xff1a; 原理&#xff1a; 框图 WWDG寄存器&#xff1a; WWDG_CR控制寄存器 WWDG_CFR配置寄存器 状态寄存器WWDG_SR 超时时间计算公式 最小最大超时值 HAL配置函数&#xff1a; 1. IWDG 和 WWDG 的区别 IWDG&…

无公网IP也能远程控制Windows:Linux rdesktop内网穿透实战

文章目录 前言1. Windows 开启远程桌面2. Linux安装rdesktop工具3. Win安装Cpolar工具4. 配置远程桌面地址5. 远程桌面连接测试6. 设置固定远程地址7. 固定地址连接测试 前言 如今远程办公已经从一种选择变成了许多企业和个人的必修课&#xff0c;而如何在Linux系统上高效地访…