Spark-TTS: 不依靠模子天生声学特性的TTS

[复制链接]
发表于 2025-9-29 14:02:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<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 安装指南。

  1. git clone https://github.com/SparkAudio/Spark-TTS.git
  2. cd Spark-TTS
复制代码


  • 安装 Conda:请参阅 https://docs.conda.io/en/latest/miniconda.html
  • 创建 Conda 环境:
  1. conda create -n sparktts -y python=3.12
  2. conda activate sparktts
  3. pip install -r requirements.txt
  4. # If you are in mainland China, you can set the mirror as follows:
  5. pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
复制代码
模子下载
通过 python 下载:
  1. from huggingface_hub import snapshot_download
  2. snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B")
复制代码
通过 git clone 下载:
  1. mkdir -p pretrained_models
  2. # Make sure you have git-lfs installed (https://git-lfs.com)
  3. git lfs install
  4. git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B
复制代码
根本用法
您只需使用以下下令运行演示即可:
  1. cd example
  2. bash infer.sh
复制代码
大概,您也可以在下令行中直接实验以下下令举行推理:
  1. python -m cli.inference \
  2.     --text "text to synthesis." \
  3.     --device 0 \
  4.     --save_dir "path/to/save/audio" \
  5.     --model_dir pretrained_models/Spark-TTS-0.5B \
  6.     --prompt_text "transcript of the prompt audio" \
  7.     --prompt_speech_path "path/to/prompt_audio"
复制代码
可选方法
有关其他 CLI 和 Web UI 方法,包罗更换实现和扩展功能,您可以参考:


  • AcTePuKc 的 CLI 和 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​),写入须要转换的文本,比方:“你好,这是一个测试语音。
    1. python generate.py --input input.txt --output output.wav
    复制代码
  • 参数分析:
       

    • ​--input​:指定输入文本文件路径。
    • ​--output​:指定天生的语音文件生存路径(如 output.wav​)。
    • 假如脚本支持,可添加 --model​ 参数选择预训练模子,或 --voice​ 参数调解声音风格。

  • 效果:运行后,你会在指定路径找到天生的 output.wav​ 文件,用音频播放器打开即可听到效果。
2. 训练自界说模子



  • 预备数据集:你须要提供文本和对应的音频数据。数据格式通常是 .txt​ 文件(文本)和 .wav​ 文件(音频),发起参考堆栈中的 README.md​ 或示例文件夹。
  • 设置参数:编辑设置文件(大概是 config.json​ 或雷同文件),设置训练参数,如学习率、批次巨细等。假如没有设置文件,直接在脚本中修改参数
    1. python train.py --data_path ./dataset --output_model my_model
    复制代码
  • 训练过程:根据数据量和硬件性能,训练大概须要数小时乃至几天。完成后,你会得到一个新的模子文件(如 my_model.pth​)
    1. python generate.py --input input.txt --model my_model.pth --output custom_output.wav
    复制代码
3. 调解语音风



    1. 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​,写入:“今天天气很好,我们去公园散步吧。
    1. python generate.py --input test.txt --voice female --output park.wav
    复制代码
  • 查抄 park.wav​,确认语音是否自然流畅。
  • 假如不满足,实验调解参数或训练新模子。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表