Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

Orpheus-TTS: uma ferramenta de conversão de texto em fala para gerar fala natural em chinês

Introdução geral

O Orpheus-TTS é um sistema de conversão de texto em fala (TTS) de código aberto desenvolvido na arquitetura Llama-3b, com o objetivo de gerar áudio que se aproxima da fala humana natural. Ele foi lançado pela equipe da Canopy AI e é compatível com vários idiomas, como inglês, espanhol, francês, alemão, italiano, português e chinês. O sistema gera fala com entonação, emoção e ritmo a partir da entrada de texto e suporta expressões não verbais, como risos e suspiros, tornando-o adequado para conversas em tempo real, produção de audiolivros e desenvolvimento de assistentes inteligentes. O Orpheus-TTS fornece modelos pré-treinados e ajustados, permitindo que os desenvolvedores personalizem a fala ou o idioma de acordo com suas necessidades.

Orpheus-TTS: uma ferramenta de conversão de texto em fala de código aberto para gerar fala natural em chinês-1


 

Lista de funções

  • Geração de fala quase humana: transformar texto em áudio com entonação, emoção e ritmo naturais supera o desempenho de modelos de código parcialmente fechado.
  • Clonagem de fala com amostra zero: imita o timbre da fala alvo sem treinamento adicional.
  • Controle emocional e de entonação: por meio de rotulagem (por exemplo <laugh>e<sigh>) Ajuste da expressão vocal para aumentar o realismo.
  • Saída de streaming de baixa latência: latência de geração de fala em tempo real de cerca de 200 ms, otimizada para 100 ms.
  • Suporte a vários idiomas: inglês, espanhol, francês, alemão, italiano, português, chinês e outros idiomas.
  • Ajuste fino do modelo: são fornecidos scripts de processamento de dados e conjuntos de dados de exemplo para dar suporte aos desenvolvedores na personalização de estilos de fala ou idiomas.
  • Execução local e na nuvem: compatível com o LM Studio, llama.cpp ou vLLM Execute localmente ou na nuvem.
  • Marca d'água de áudio: Proteja os direitos autorais com a marca d'água do áudio gerado com a tecnologia Silent Cipher.

 

Usando a Ajuda

Processo de instalação

O Orpheus-TTS requer um ambiente Python e suporte básico de hardware (recomenda-se GPU). Veja a seguir as etapas detalhadas de instalação:

  1. Clonagem da base de código
    Faça o download do projeto Orpheus-TTS usando o Git:

    git clone https://github.com/canopyai/Orpheus-TTS.git
    cd Orpheus-TTS
    
  2. Instalação de dependências
    Instalação de pacotes principais orpheus-speechEle se baseia no vLLM para raciocínio rápido:

    pip install orpheus-speech
    

    Observação: a versão de 18 de março de 2025 do vLLM pode ter bugs e é recomendável instalar a versão estável:

    pip install vllm==0.7.3
    

    Outras dependências incluem transformersedatasets responder cantando torchA instalação pode ser feita mediante solicitação:

    pip install transformers datasets torch
    
  3. Verifique os requisitos de hardware
    • Versão do Python: 3.8-3.11 (3.12 não é compatível).
    • GPU: o driver NVIDIA CUDA é recomendado, com mais de 12 GB de memória de vídeo para garantir uma operação suave.
    • CPU: compatível com orpheus-cpp mas com desempenho inferior em testes mais leves.
    • Rede: a primeira execução requer o download do modelo; recomenda-se uma conexão estável com a Internet.
  4. Modelos para download
    A Orpheus-TTS oferece os seguintes modelos hospedados na Hugging Face:

    • Ajuste fino do modelo (canopylabs/orpheus-tts-0.1-finetune-prod): adequado para tarefas diárias de geração de fala.
    • Modelos pré-treinados (canopylabs/orpheus-tts-0.1-pretrained): baseado em 100.000 horas de treinamento de dados de fala em inglês, adequado para tarefas avançadas, como clonagem de fala.
    • Modelagem multilíngue (canopylabs/orpheus-multilingual-research-release): contém 7 conjuntos de modelos pré-treinados e ajustados para dar suporte a estudos multilíngues.
      Método de download:
    huggingface-cli download canopylabs/orpheus-tts-0.1-finetune-prod
    
  5. instalação de teste
    Execute o seguinte script Python para verificar se a instalação foi bem-sucedida:

    from orpheus_tts import OrpheusModel
    model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod")
    prompt = "tara: 你好,这是一个测试!"
    audio = model.generate_speech(prompt)
    with wave.open("test_output.wav", "wb") as file:
    file.setnchannels(1)
    file.setsampwidth(2)
    file.setframerate(24000)
    file.writeframes(audio)
    

    Após a execução bem-sucedida, será gerado um arquivo WAV contendo a voz do texto de entrada.

Funções principais

1. geração de fala quase humana

A principal função do Orpheus-TTS é converter texto em áudio que se aproxima da fala humana natural. O sistema suporta uma ampla variedade de caracteres de fala, no modelo de idioma inglês tara o sentido mais natural da fala, outros personagens incluem leahejesseleoedanemiaezac responder cantando zoe. As funções do modelo multilíngue precisam consultar a documentação oficial. Procedimento:

  • Preparar prompts de texto no formato {角色名}: {文本}Por exemplo tara: 你好,今天天气很好!.
  • Chame a função de geração:
    audio = model.generate_speech(prompt="tara: 你好,今天天气很好!")
    
  • A saída é áudio no formato WAV com uma taxa de amostragem de 24000 Hz em mono.

2) Emoção e controle de tom

Os usuários podem controlar a expressão emocional da voz por meio de tags para aumentar o realismo da voz. As tags compatíveis incluem:

  • <laugh>Risos.
  • <sigh>Suspiro.
  • <cough>Tosse.
  • <sniffle>Faringes.
  • <groan>:gemido.
  • <yawn>: Bocejo.
  • <gasp>Surpresa.
    Exemplo:
prompt = "tara: 这个消息太震撼了!<gasp> 你听说了吗?"
audio = model.generate_speech(prompt)

O áudio gerado incluirá efeitos surpresa nos locais apropriados. Consulte a documentação do Hugging Face para obter suporte a tags de modelo em vários idiomas.

3. clonagem de fala com amostra zero

O Orpheus-TTS suporta a clonagem de fala com amostra zero, que pode imitar diretamente a fala alvo sem pré-treinamento. Etapas da operação:

  • Prepare um arquivo WAV da fala alvo com uma duração recomendada de 10 a 30 segundos e uma taxa de amostragem de 24000 Hz.
  • Use o script a seguir:
    audio_ref = "path/to/reference.wav"
    prompt = "tara: 这段话会模仿你的声音!"
    audio = model.generate_with_voice_clone(prompt, audio_ref)
    
  • O áudio de saída será próximo ao timbre da fala de referência. O modelo pré-treinado tem melhor desempenho na tarefa de clonagem.

4. saída de streaming de baixa latência

O Orpheus-TTS fornece geração de fala em streaming para cenários de diálogo em tempo real, com uma latência de cerca de 200 ms, otimizada para 100 ms. exemplo operacional:

from flask import Flask, Response
from orpheus_tts import OrpheusModel
app = Flask(__name__)
[1]
model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod")
@app.route("/stream")
def stream_audio():
def generate():
prompt = "tara: 这是实时语音测试!"
for chunk in model.stream_generate(prompt):
yield chunk
return Response(generate(), mimetype="audio/wav")

Depois de executar o serviço Flask, acesse o arquivo http://localhost:5000/stream A voz em tempo real pode ser ouvida. Para otimizar a latência, é necessário habilitar o cache KV e o streaming de entrada.

5. ajuste fino do modelo

Os desenvolvedores podem ajustar o modelo para oferecer suporte a novos idiomas ou estilos de fala. As etapas são as seguintes:

  • Prepare o conjunto de dados: consulte o conjunto de dados de exemplo do Hugging Face para obter o formato (canopylabs/zac-sample-dataset). Recomenda-se incluir de 50 a 300 amostras/caracteres, sendo 300 amostras para obter os melhores resultados.
  • Pré-processamento de dados: uso de notebooks Colab fornecidos oficialmente (1wg_CPCA-MzsWtsujwy-1Ovhv-tn8Q1nDOs dados são processados em cerca de 1 minuto/mil entradas.
  • Treinamento de configuração: modificações finetune/config.yamldefina o caminho e os parâmetros do conjunto de dados.
  • Treinamento de corrida:
    huggingface-cli login
    wandb login
    accelerate launch train.py
    
  • O modelo ajustado pode ser usado para tarefas específicas, como a otimização da fala em chinês.

6. marca d'água de áudio

O Orpheus-TTS suporta áudio com marca d'água para proteção de direitos autorais por meio da tecnologia Silent Cipher. Método de operação:

  • Consulte o script de implementação oficial (additional_inference_options/watermark_audio).
  • Exemplo:
    from orpheus_tts import add_watermark
    audio = model.generate_speech(prompt)
    watermarked_audio = add_watermark(audio, watermark_id="user123")
    

7. sem raciocínio de GPU

Os usuários sem uma GPU podem usar o orpheus-cpp Execução em uma CPU, passo a passo:

  • montagem llama.cpp Meio ambiente.
  • Consulte a documentação oficial (additional_inference_options/no_gpu/README.md).
  • Desempenho inferior ao das GPUs para tarefas mais leves.

advertência

  • Seleção de modelosModelos ajustados são adequados para tarefas cotidianas e modelos pré-treinados são adequados para tarefas avançadas, como clonagem de fala.
  • Limitação de hardwareMenos de 12 GB de memória de vídeo pode resultar em memória insuficiente; recomenda-se verificar a configuração do hardware.
  • Suporte a vários idiomasIdiomas que não sejam em inglês precisam consultar a documentação do modelo multilíngue; alguns idiomas podem precisar de ajuste fino.
  • ajustar os componentes durante o testeSe o vLLM relatar um erro (por exemplo vllm._C), tente uma versão diferente ou verifique a compatibilidade com CUDA.

Funções complementares: extensão comunitária

A natureza de código aberto do Orpheus-TTS atraiu contribuições da comunidade, e a seguinte implementação (não totalmente verificada) é oficialmente recomendada:

  • Cliente local do LM StudioExecute o Orpheus-TTS por meio da API do LM Studio (isaiahbjork/orpheus-tts-local).
  • FastAPI compatível com Open AIFornece uma interface de API no estilo Open AI (Lex-au/Orpheus-FastAPI).
  • Gradio WebUIInterface da Web habilitada para WSL e CUDA (Saganaki22/OrpheusTTS-WebUI).
  • Espaço para abraçar o rostoUma experiência on-line criada pelo usuário da comunidade MohamedRashad (MohamedRashad/Orpheus-TTS).

 

cenário do aplicativo

  1. Robô inteligente de atendimento ao cliente
    O Orpheus-TTS gera fala natural para sistemas de atendimento ao cliente, oferecendo suporte ao diálogo em tempo real e à expressão emocional para aprimorar a experiência do usuário.
    Por exemplo, as plataformas de comércio eletrônico podem integrar o Orpheus-TTS para adicionar um tom amigável ao responder às perguntas dos clientes.
  2. Produção de audiolivros e podcasts
    As editoras podem transformar romances ou artigos em audiolivros, dando suporte à rotulagem de vários personagens e emoções e reduzindo os custos de locução.
    Os criadores de podcasts podem gerar linhas de abertura dinâmicas para aumentar o apelo de seus programas.
  3. Ferramentas de aprendizado de idiomas
    O aplicativo educacional gera um discurso com som padrão para ajudar os alunos a praticar a audição e a fala.
    Por exemplo, os alunos de chinês podem usar o modelo chinês para praticar a pronúncia do mandarim.
  4. Locução de personagens de jogos
    Os desenvolvedores de jogos podem gerar diálogos dinâmicos para NPCs, com suporte a expressões emocionais e em vários idiomas para aumentar a imersão.
    Por exemplo, os RPGs podem gerar tons exclusivos para diferentes personagens.
  5. Auxílios de acessibilidade
    O Orpheus-TTS oferece suporte à leitura em tempo real para usuários com deficiência visual, convertendo texto em fala.
    Por exemplo, integrar-se a um leitor de e-book para ler artigos longos em voz alta.

 

QA

  1. Quais idiomas são compatíveis com o Orpheus-TTS?
    Há suporte para inglês, espanhol, francês, alemão, italiano, português e chinês. O modelo multilíngue abrange mais idiomas, conforme descrito na documentação do Hugging Face.
  2. Como otimizar a latência de voz em tempo real?
    Habilite o cache KV e o streaming de entrada para reduzir a latência de 200 ms para 100 ms. Garanta um desempenho suficiente da GPU com pelo menos 12 GB de memória de vídeo.
  3. Que preparação é necessária para a clonagem de voz de amostra zero?
    Fornece de 10 a 30 segundos de áudio de referência no formato WAV com uma taxa de amostragem de 24000 Hz para um melhor pré-treinamento do modelo.
  4. A CPU pode executar o Orpheus-TTS?
    Sim, use orpheus-cppAs GPUs não são tão potentes, mas têm desempenho inferior ao das GPUs, o que as torna adequadas para testes ou tarefas leves.
  5. Como faço para adicionar uma marca d'água ao meu áudio?
    Usando a tecnologia Silent Cipher, ligue para add_watermark você precisa consultar o script oficial para implementá-la.
  6. Quantos dados são necessários para o ajuste fino?
    50 amostras para resultados iniciais, 300 amostras/caractere para melhor qualidade. Os dados devem estar no formato Hugging Face.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Orpheus-TTS: uma ferramenta de conversão de texto em fala para gerar fala natural em chinês
pt_BRPortuguês do Brasil