Introdução geral
O Parler-TTS é uma biblioteca de modelos de conversão de texto em fala (TTS) de código aberto desenvolvida pela Hugging Face para gerar fala de alta qualidade e com som natural. O modelo é capaz de gerar fala com um estilo de locutor específico (por exemplo, gênero, tom, estilo de fala etc.) com base no texto de entrada. O Parler-TTS baseia-se nos resultados da pesquisa do artigo "Natural language guidance of high-fidelity text-to-speech with synthetic O Parler-TTS baseia-se nos resultados da pesquisa do artigo "Natural language guidance of high-fidelity text-to-speech with synthetic annotations" (Orientação de linguagem natural de texto para fala de alta fidelidade com anotações sintéticas) e é totalmente de código aberto, com todos os conjuntos de dados, pré-processamento, código de treinamento e pesos disponíveis publicamente, permitindo que a comunidade os desenvolva e aprimore.
Lista de funções
- Geração de fala de alta qualidadeGeração de fala natural e suave com suporte para vários estilos de locutor.
- código abertoTodos os pesos de códigos e modelos estão disponíveis publicamente para desenvolvimento e aprimoramento da comunidade.
- Dependências levesInstalação e uso simples, com poucas dependências.
- Várias versões de modelosVersões do modelo com diferentes contagens de parâmetros estão disponíveis, por exemplo, Parler-TTS Mini e Parler-TTS Large.
- Geração rápidaVelocidade de geração otimizada com suporte para SDPA e Flash Attention 2.
- Conjuntos de dados e pesosFornece conjuntos de dados ricos e pesos de modelos pré-treinados para facilitar o treinamento e o ajuste fino.
Usando a Ajuda
Processo de instalação
- Certifique-se de que o ambiente Python esteja instalado.
- Use o seguinte comando para instalar a biblioteca Parler-TTS:
pip install git+https://github.com/huggingface/parler-tts.git
- Para usuários do Apple Silicon, execute o seguinte comando para dar suporte ao bfloat16:
pip3 install --pre torch torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
Uso
Gerar discurso aleatório
- Importe as bibliotecas necessárias:
importar torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
- Carregamento de modelos e divisores:
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler-tts-mini-v1").to(device)
tokeniser = AutoTokenizer.from_pretrained("parler-tts/parler-tts-mini-v1")
- Digite o texto e gere a fala:
prompt = "Hey, how are you doing today?" (Olá, como você está hoje?)
description = "Uma oradora faz um discurso ligeiramente expressivo e animado com velocidade moderada e campo."
inputs = tokeniser(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, description=description)
sf.write("output.wav", outputs.cpu().numpy(), 22050)
Gerar discurso em um estilo específico de orador
- Descrições que usam o estilo de um orador específico:
description = "Um orador do sexo masculino com voz grave e ritmo lento".
inputs = tokeniser(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, description=description)
sf.write("output_specific.wav", outputs.cpu().numpy(), 22050)
Modelos de treinamento
- Faça o download e prepare o conjunto de dados.
- O treinamento do modelo é realizado usando o código de treinamento fornecido:
python train.py --dataset_path /path/to/dataset --output_dir /path/to/output
Raciocínio otimizado
- Otimizado usando SDPA e Flash Attention 2:
model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler-tts-mini-v1", use_flash_attention=True).to(device)