马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
<blockquote id="20250410114455-dmymq3z"> GitHub:https://github.com/sparkaudio/spark-tts
更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模子、AI变现 - 小众AI
Spark-TTS 完全基于 Qwen2.5 构建,无需使用流匹配等额外天生模子。它无需依靠单独的模子来天生声学特性,而是直接从 LLM 猜测的代码中重修音频。这种方法简化了流程,进步了服从并低落了复杂性。
上传恣意10秒语音片断,瞬间复刻声纹特性!无论是跨语种的中英混说,照旧模仿特定语调,通通零样本实现。自媒体博主惊呼:"我的百万声库要赋闲了!"
- 简朴高效:Spark-TTS 完全基于 Qwen2.5 构建,无需额外的天生模子,如流程匹配。它不依靠单独的模子来天生声学特性,而是直接从 LLM 猜测的代码中重修音频。这种方法简化了流程,进步了服从并低落了复杂性。
- 高质量语音克隆:支持零样本语音克隆,这意味着纵然没有针对该语音的特定训练数据,它也可以复制语言者的语音。这是跨语言和代码切换场景的抱负选择,答应在语言和语音之间无缝转换,而无需对每种语言和语音举行单独培训。
- 双语支持:支持中英文,可以或许针对跨语言和换码场景举行零镜头语音克隆,使模子可以或许以高自然度和正确性合成多种语言的语音。
- 语音天生可控:支持通过调解性别、音调、语速等参数创建假造语言人。
安装
克隆和安装
以下是在 Linux 上安装的分析。假如您使用的是 Windows,请参阅 Windows 安装指南。
- git clone https://github.com/SparkAudio/Spark-TTS.git
- cd Spark-TTS
复制代码
- 安装 Conda:请参阅 https://docs.conda.io/en/latest/miniconda.html
- 创建 Conda 环境:
- conda create -n sparktts -y python=3.12
- conda activate sparktts
- pip install -r requirements.txt
- # If you are in mainland China, you can set the mirror as follows:
- pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
复制代码 模子下载
通过 python 下载:
- from huggingface_hub import snapshot_download
- snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B")
复制代码 通过 git clone 下载:
- mkdir -p pretrained_models
- # Make sure you have git-lfs installed (https://git-lfs.com)
- git lfs install
- git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B
复制代码 根本用法
您只需使用以下下令运行演示即可:
大概,您也可以在下令行中直接实验以下下令举行推理:
- python -m cli.inference \
- --text "text to synthesis." \
- --device 0 \
- --save_dir "path/to/save/audio" \
- --model_dir pretrained_models/Spark-TTS-0.5B \
- --prompt_text "transcript of the prompt audio" \
- --prompt_speech_path "path/to/prompt_audio"
复制代码 可选方法
有关其他 CLI 和 Web UI 方法,包罗更换实现和扩展功能,您可以参考:
运行
Nvidia Triton 推理服务
我们现在为使用 Nvidia Triton 和 TensorRT-LLM 摆设 Spark-TTS 提供了参考。下表体现了单个 L20 GPU 的基准测试效果,使用 26 个差别的 prompt_audio/target_text 对(统共 169 秒的音频):
型注意并发均匀延长RTF火花-TTS-0.5B代码提交1876.24 毫秒0.1362火花-TTS-0.5B代码提交2920.97 毫秒0.0737火花-TTS-0.5B代码提交41611.51 毫秒0.0704 有关更多信息,请参阅 runtime/triton_trtllm/README.md 中的具体分析。
实战练习
Spark-TTS 的核心功能是将文本转为语音,以下是具体使用流程:
1. 使用预训练模子天生语音
- 预备文本:创建一个简朴的文本文件(如 input.txt),写入须要转换的文本,比方:“你好,这是一个测试语音。
- python generate.py --input input.txt --output output.wav
复制代码- 参数分析:
- --input:指定输入文本文件路径。
- --output:指定天生的语音文件生存路径(如 output.wav)。
- 假如脚本支持,可添加 --model 参数选择预训练模子,或 --voice 参数调解声音风格。
- 效果:运行后,你会在指定路径找到天生的 output.wav 文件,用音频播放器打开即可听到效果。
2. 训练自界说模子
- 预备数据集:你须要提供文本和对应的音频数据。数据格式通常是 .txt 文件(文本)和 .wav 文件(音频),发起参考堆栈中的 README.md 或示例文件夹。
- 设置参数:编辑设置文件(大概是 config.json 或雷同文件),设置训练参数,如学习率、批次巨细等。假如没有设置文件,直接在脚本中修改参数
- python train.py --data_path ./dataset --output_model my_model
复制代码- 训练过程:根据数据量和硬件性能,训练大概须要数小时乃至几天。完成后,你会得到一个新的模子文件(如 my_model.pth)
- python generate.py --input input.txt --model my_model.pth --output custom_output.wav
复制代码 3. 调解语音风
- python generate.py --input input.txt --speed 1.2 --pitch 0.8 --output styled_output.wav
复制代码- 参数分析:
- --speed:语速,1.0 为正常速率,大于 1.0 加快,小于 1.0 减慢。
- --pitch:音调,值越高音调越高,反之越低。
- 效果验证:天生后试听,徐徐调解参数直到满足。
使用流程实例
假设你想将一段中文文本转为女性语音:
- 创建 test.txt,写入:“今天天气很好,我们去公园散步吧。
- python generate.py --input test.txt --voice female --output park.wav
复制代码- 查抄 park.wav,确认语音是否自然流畅。
- 假如不满足,实验调解参数或训练新模子。
|