Spark-TTS是SparkAudio团队开源的基于大型语言模型(LLM)的高效文本转语音(TTS)工具,无需额外的生成模型,直接从LLM预测的编码中重建音频,实现零样本文本到语音的转换。Spark-TTS支持中英双语,具备跨语言合成能力,可通过参数调整(如性别、音调、语速)生成虚拟说话者的声音,满足多样化需求。

主要功能:
- 零样本文本到语音转换:Spark-TTS能在没有特定语音数据的情况下,复现说话人的声音,实现零样本语音克隆。
- 多语言支持:Spark-TTS支持中英双语,可实现跨语言语音合成。用户可以用一种语言输入文本,生成另一种语言的语音输出,满足多语言场景下的语音合成需求。
- 可控语音生成:用户可以通过调整参数(如性别、音调、语速、音色等)来定制虚拟说话者的声音,生成符合特定需求的语音内容。
- 高效简洁的语音合成:基于Qwen2.5架构,Spark-TTS无需额外的生成模型(如流匹配模型),直接从LLM预测的编码中重建音频,提高了语音合成的效率。
- 虚拟说话者创建:用户可以创建完全由自己定义的虚拟说话者,通过参数调整使其具有独特的语音风格,适用于虚拟主播、有声读物等场景。
- 语音克隆与风格迁移:Spark-TTS支持从少量语音样本中提取风格特征,将其迁移到合成语音中,实现个性化语音风格的复制和迁移。

Spark-TTS的使用方法
1. 环境准备
安装依赖:确保已安装 Python(建议版本 3.12 或更高)和 Conda 环境管理工具。
克隆代码仓库:运行以下命令将 Spark-TTS 仓库克隆到本地:
git clone https://github.com/SparkAudio/Spark-TTS.git
cd Spark-TTS
创建虚拟环境:使用 Conda 创建并激活虚拟环境:
conda create -n sparktts -y python=3.12
conda activate sparktts
安装依赖库:运行以下命令安装所需依赖:
pip install -r requirements.txt
2. 下载预训练模型
通过 Python 下载:
from huggingface_hub import snapshot_download
snapshot_download(“SparkAudio/Spark-TTS-0.5B”, local_dir=”pretrained_models/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
命令行生成语音:
python -m cli.inference \
–text “需要合成的文本” \
–device 0 \
–save_dir “保存音频的路径” \
–model_dir pretrained_models/Spark-TTS-0.5B \
–prompt_text “提示音频的文本内容” \
–prompt_speech_path “提示音频的路径”
4. 使用 Web 界面
启动 Web UI:运行以下命令启动界面:
python webui.py –device 0
功能支持:Web 界面支持语音克隆和语音生成,可上传参考音频或直接录制音频。
5. 可选功能
- 语音克隆:上传参考音频,生成与参考音频相似的语音。
- 语音参数调整:通过调整性别、语速、音高等参数,生成个性化语音。
Spark-TTS的GitHub仓库:https://github.com/SparkAudio/Spark-TTS