🚀 Parler-TTS Mini v1 ft. ParaSpeechCaps
该项目微调了Parler-TTS Mini v1模型,基于ParaSpeechCaps数据集创建了一个文本转语音(TTS)模型,可通过文本风格提示控制语音的丰富风格,如音调、节奏、清晰度、情感等。
🚀 快速开始
本项目微调了 parler-tts/parler-tts-mini-v1 模型,在 ParaSpeechCaps 数据集上进行训练,创建了一个文本转语音(TTS)模型。该模型可以通过文本风格提示(例如“一位男性说话者的语音特点是发音含糊,在清晰的环境中以沉稳的节奏说话”)来控制生成语音的丰富风格(音调、节奏、清晰度、情感等)。
ParaSpeechCaps (PSC) 是一个大规模数据集,为语音话语提供了丰富的风格注释,支持59种风格标签,涵盖说话者层面的内在风格标签和话语层面的情境风格标签。它由人工注释的子集 ParaSpeechCaps-Base 和自动注释的大型子集 ParaSpeechCaps-Scaled 组成。该项目的新型管道结合了现成的文本和语音嵌入器、分类器和音频语言模型,首次实现了为如此广泛的风格标签自动扩展丰富的标签注释。
更多信息请查看 论文、代码库 和 演示网站。
✨ 主要特性
- 基于微调的Parler-TTS Mini v1模型,可通过文本风格提示控制语音风格。
- 使用ParaSpeechCaps数据集,支持59种风格标签。
- 新型管道实现了丰富风格标签的自动扩展。
📦 安装指南
本仓库已在Python 3.11环境下测试(conda create -n paraspeechcaps python=3.11
),其他版本大概率也能正常工作。
git clone https://github.com/ajd12342/paraspeechcaps.git
cd paraspeechcaps/model/parler-tts
pip install -e .[train]
💻 使用示例
基础用法
import torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model_name = "ajd12342/parler-tts-mini-v1-paraspeechcaps"
guidance_scale = 1.5
model = ParlerTTSForConditionalGeneration.from_pretrained(model_name).to(device)
description_tokenizer = AutoTokenizer.from_pretrained(model_name)
transcription_tokenizer = AutoTokenizer.from_pretrained(model_name, padding_side="left")
input_description = "In a clear environment, a male voice speaks with a sad tone.".replace('\n', ' ').rstrip()
input_transcription = "Was that your landlord?".replace('\n', ' ').rstrip()
input_description_tokenized = description_tokenizer(input_description, return_tensors="pt").to(model.device)
input_transcription_tokenized = transcription_tokenizer(input_transcription, return_tensors="pt").to(model.device)
generation = model.generate(input_ids=input_description_tokenized.input_ids, prompt_input_ids=input_transcription_tokenized.input_ids, guidance_scale=guidance_scale)
audio_arr = generation.cpu().numpy().squeeze()
sf.write("output.wav", audio_arr, model.config.sampling_rate)
对于包含基于自动语音识别(ASR)的重复采样选择的完整推理脚本和其他脚本,请参考 代码库。
📚 详细文档
模型信息
属性 |
详情 |
基础模型 |
parler-tts/parler-tts-mini-v1 |
训练数据集 |
amphion/Emilia-Dataset、ParaSpeechCaps |
语言 |
英语 |
库名称 |
transformers |
许可证 |
CC BY-NC SA 4.0 |
任务类型 |
文本转语音 |
引用说明
如果使用该模型、数据集或仓库,请按以下格式引用:
@misc{diwan2025scalingrichstylepromptedtexttospeech,
title={Scaling Rich Style-Prompted Text-to-Speech Datasets},
author={Anuj Diwan and Zhisheng Zheng and David Harwath and Eunsol Choi},
year={2025},
eprint={2503.04713},
archivePrefix={arXiv},
primaryClass={eess.AS},
url={https://arxiv.org/abs/2503.04713},
}
📄 许可证
本项目采用 CC BY-NC SA 4.0 许可证。