在人工智能飞速发展的今天,文本转语音(Text-to-Speech,简称 TTS)技术已经广泛应用于智能语音助手、有声读物生成、无障碍阅读等多个领域。而 Spark-tts 作为一款功能强大且灵活的 TTS 工具,以其高效的性能和丰富的功能受到众多开发者和使用者的青睐。本文将为你详细介绍 Spark-tts 的使用方法,从安装部署到实际应用,带你快速入门并掌握进阶技巧。目前已经上线到个人网站,可通过点击网站菜单中的TTS 进行体验,有问题可留言咨询。
技术背景与核心优势
Spark-TTS 是由 SparkAudio 团队基于 Qwen2.5 大语言模型开发的开源文本转语音系统,其核心创新在于通过BiCodec 编解码器和思维链(CoT)技术实现高效语音生成。相比传统 TTS 方案,具有以下突破性优势:
极简架构
完全摒弃传统声学模型,直接从 LLM 预测的语义代码重建音频波形,流程复杂度降低 60%零样本克隆能力
仅需 3 秒参考音频即可复刻说话者音色,支持跨语言、跨语种的无缝转换多维度控制
提供性别、音高、语速等 8 个维度的参数调节,支持创建个性化虚拟声优双语协同
中英文混合文本处理准确率达 98.7%,实现真正的代码转换(Code-Switching)
环境搭建全流程
1. 本教程操作环境
系统:Ubuntu 22.04 LTS
python:3.12.9
CUDA:12.9
显存:6G
2. 安装步骤
步骤 1:克隆代码库
git clone https://github.com/SparkAudio/Spark-TTS.git
cd Spark-TTS
步骤 2:创建虚拟环境
使用的是 conda 环境管理工具
conda create -n sparktts python=3.12 -y
conda activate sparktts
步骤 3:安装依赖
pip install -r requirements.txt
# 上面安装依赖慢或者失败可使用下列镜像方式安装
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
步骤 4:模型下载
下载模型有两种方式,这里使用huggingface,也可以使用modelScope
# huggingface方式下载
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="SparkAudio/Spark-TTS-0.5B",
local_dir="./pretrained_models/Spark-TTS-0.5B",
resume_download=True
)
# modelScope方式下载
from modelscope import snapshot_download
snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="SparkAudio/Spark-TTS-0.5B")
# git方式下载
mkdir -p pretrained_models
# 如果未安装则先安装
git lfs install
git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B
3. 运行
测试脚本
cd example
bash infer.sh
命令行推理
# --text 转换的文本内容 --save_dir 保存的路径 --model_dir 模型目录
# --prompt_speech_path 要克隆的语音文件 --prompt_text 克隆语音的台词内容
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"
网站页面(GUI)
python webui.py
常见问题解决方案
1. CUDA 内存不足
症状:
RuntimeError: CUDA out of memory
解决方案:
降低 batch size:修改
config.yaml
中的batch_size: 4
启用梯度检查点:
export GRAD_CHECKPOINT=1
使用 CPU 模式:
--device cpu
2. 语音克隆效果差
优化技巧:
参考音频需满足:安静环境录制、16kHz 采样率、单说话人
使用
--style_strength 0.7
增强风格迁移强度对长文本进行分段处理(建议每段不超过 50 字)
3. 声音失真问题
排查流程:
检查音频格式:确保输入为 PCM 16-bit WAV
验证模型完整性:运行
python validate_model.py
调整后处理参数:
--postprocess_level 3