AI个人学习
和实操指南
讯飞绘镜

Parler-TTS:根据输入文本生成特定说话人风格的文本转语音模型

综合介绍

Parler-TTS 是由 Hugging Face 开发的开源文本转语音(TTS)模型库,旨在生成高质量、自然流畅的语音。该模型能够根据输入文本生成具有特定说话人风格(如性别、音调、说话风格等)的语音。Parler-TTS 是基于论文《Natural language guidance of high-fidelity text-to-speech with synthetic annotations》中的研究成果开发的,并且完全开源,所有数据集、预处理、训练代码和权重均公开发布,允许社区在此基础上进行开发和改进。

Parler-TTS:根据输入文本生成特定说话人风格的文本转语音模型-1


 

功能列表

  • 高质量语音生成:生成自然流畅的语音,支持多种说话人风格。
  • 开源代码:所有代码和模型权重均公开,便于社区开发和改进。
  • 轻量级依赖:安装和使用简单,依赖项少。
  • 多种模型版本:提供不同参数量的模型版本,如 Parler-TTS Mini 和 Parler-TTS Large。
  • 快速生成:优化了生成速度,支持 SDPA 和 Flash Attention 2。
  • 数据集和权重:提供丰富的数据集和预训练模型权重,便于训练和微调。

 

使用帮助

安装流程

  1. 确保已安装 Python 环境。
  2. 使用以下命令安装 Parler-TTS 库:
   pip install git+https://github.com/huggingface/parler-tts.git
  1. 对于 Apple Silicon 用户,需运行以下命令以支持 bfloat16:
   pip3 install --pre torch torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu

使用方法

生成随机语音

  1. 导入必要的库:
   import torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
  1. 加载模型和分词器:
   device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler-tts-mini-v1").to(device)
tokenizer = AutoTokenizer.from_pretrained("parler-tts/parler-tts-mini-v1")
  1. 输入文本并生成语音:
   prompt = "Hey, how are you doing today?"
description = "A female speaker delivers a slightly expressive and animated speech with a moderate speed and pitch."
inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, description=description)
sf.write("output.wav", outputs.cpu().numpy(), 22050)

生成特定说话人风格的语音

  1. 使用特定说话人风格的描述:
   description = "A male speaker with a deep voice and slow pace."
inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, description=description)
sf.write("output_specific.wav", outputs.cpu().numpy(), 22050)

训练模型

  1. 下载并准备数据集。
  2. 使用提供的训练代码进行模型训练:
   python train.py --dataset_path /path/to/dataset --output_dir /path/to/output

优化推理

  1. 使用 SDPA 和 Flash Attention 2 进行优化:
   model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler-tts-mini-v1", use_flash_attention=True).to(device)
CDN1
未经允许不得转载:首席AI分享圈 » Parler-TTS:根据输入文本生成特定说话人风格的文本转语音模型

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文