Introdução geral
O Zonos é uma ferramenta de código aberto de síntese e clonagem de fala desenvolvida pela Zyphra. A versão Zonos-v0.1 emprega um modelo avançado de transformação e combinação para gerar uma saída de fala de alta qualidade. A ferramenta é compatível com vários idiomas, incluindo inglês, japonês, chinês, francês e alemão, e oferece qualidade de áudio refinada e controle de emoção. O recurso de clonagem de fala do Zonos gera uma fala altamente natural depois de fornecer apenas alguns segundos de áudio de referência. Os usuários podem obter pesos de modelo e código de amostra via GitHub e experimentá-lo no Huggingface.
Lista de funções
- Clonagem de fala TTS de amostra zeroTexto de entrada e uma amostra de alto-falante de 10 a 30 segundos para gerar uma saída de fala de alta qualidade.
- Entrada de prefixo de áudioAdicionar prefixos de texto e áudio para uma correspondência de alto-falante mais rica.
- Suporte a vários idiomasInglês, japonês, chinês, francês e alemão são suportados.
- Qualidade de áudio e controle de emoçõesControle de voz: fornece controle refinado sobre muitos aspectos do áudio gerado, incluindo velocidade de fala, variação de tom, qualidade de áudio e emoção (por exemplo, felicidade, medo, tristeza e raiva).
- Geração de fala em tempo realSuporte à geração em tempo real de fala de alta fidelidade.
Usando a Ajuda
Processo de instalação
- projeto de clonagemExecute o seguinte comando em um terminal para clonar o projeto Zonos:
bash
git clone https://github.com/Zyphra/Zonos.git
cd Zonos
- Instalação de dependênciasUse o seguinte comando para instalar as dependências necessárias do Python:
bash
pip install -r requirements.txt
- Download dos pesos do modeloFaça o download dos pesos de modelo necessários do Huggingface e coloque-os no diretório do projeto.
Uso
- Modelos de carregamentoCarregamento do modelo Zonos no ambiente Python:
importar torch import torchaudio from zonos.model import Zonos from zonos.conditioning import make_cond_dict model = Zonos.from_pretrained("Zyphra/Zonos-v0.1-transformer", device="cuda")
- Gerar discursoForneça amostras de texto e de alto-falante para gerar saída de fala:
python
wav, sampling_rate = torchaudio.load("assets/exampleaudio.mp3")
alto-falante = model.make_speaker_embedding(wav, sampling_rate)
cond_dict = make_cond_dict(text="Hello, world!", speaker=speaker, language="en-us")
conditioning = model.prepare_conditioning(cond_dict)
códigos = model.generate(conditioning)
wavs = model.autoencoder.decode(codes).cpu()
torchaudio.save("sample.wav", wavs[0], model.autoencoder.sampling_rate)
- Usando a interface do GradioA interface Gradio é recomendada para a geração de fala:
bash
Isso gera um
uv run gradio_interface.py
# ou
python gradio_interface.py
sample.wav
salvo no diretório raiz do projeto.
Fluxo de operação detalhado da função
- Clonagem de fala TTS de amostra zero::
- Ao inserir o texto desejado e uma amostra de 10 a 30 segundos do locutor, o modelo gerará uma saída de fala de alta qualidade.
- Entrada de prefixo de áudio::
- Adicione prefixos de texto e áudio para uma correspondência de alto-falante mais rica. Por exemplo, os prefixos de áudio de sussurro podem ser usados para gerar efeitos de sussurro.
- Suporte a vários idiomas::
- Selecione o idioma desejado (por exemplo, inglês, japonês, chinês, francês ou alemão) e o modelo gerará a saída de fala no idioma correspondente.
- Qualidade de áudio e controle de emoções::
- Use o recurso Conditional Settings (Configurações condicionais) do modelo para controlar meticulosamente todos os aspectos do áudio gerado, inclusive a velocidade da fala, a variação do tom, a qualidade do áudio e a emoção (por exemplo, felicidade, medo, tristeza e raiva).
- Geração de fala em tempo real::
- Use a interface Gradio ou outros métodos de geração em tempo real para gerar rapidamente um discurso de alta fidelidade.