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

Dia: um modelo de conversão de texto em fala para gerar diálogos hiper-realistas para vários jogadores

Introdução geral

O Dia é um modelo de conversão de texto em fala (TTS) de código aberto desenvolvido pela Nari Labs que se concentra na geração de áudio de diálogo hiper-realista. Ele transforma scripts de texto em diálogos realistas com vários caracteres em um único processo, oferece suporte ao controle de emoções e entonação e até mesmo gera expressões não verbais, como risadas. No centro do Dia está um modelo de 1,6 bilhão de parâmetros hospedado no Hugging Face, com código e modelos de pré-treinamento disponíveis para os usuários via GitHub. Projetado com ênfase na abertura e na flexibilidade, ele permite que os usuários tenham controle total sobre os scripts de diálogo e a saída de fala, e o Dia fornece uma interface Gradio para que os usuários tenham uma rápida amostra de como será o diálogo gerado. O projeto conta com o apoio do Google TPU Research Cloud e do Hugging Face ZeroGPU Grant, e é inspirado em tecnologias como SoundStorm e Parakeet.

Dia: modelo de conversão de texto em fala para gerar diálogos hiper-realistas para vários jogadores-1

Endereço de demonstração: https://huggingface.co/spaces/nari-labs/Dia-1.6B


 

Lista de funções

  • Geração de diálogos surreaisScript de texto: converte scripts de texto em áudio de diálogo de vários caracteres com suporte para várias tags de alto-falante (por exemplo, [S1], [S2]).
  • Emoção e controle de tomAjuste da emoção e da entonação da fala por meio de sinais de áudio ou sementes fixas.
  • expressão não-verbalGeração de sons não verbais, como risos e pausas, para aumentar o realismo do diálogo.
  • Interface interativa do GradioInterface visual: fornece uma interface visual para simplificar a geração de diálogos e as operações de saída de áudio.
  • Modelos e códigos de código abertoOs usuários podem baixar modelos pré-treinados do Hugging Face ou obter o código-fonte no GitHub.
  • Suporte para vários dispositivosSuporte à operação de GPU, com suporte à CPU planejado para o futuro.
  • Configurações repetíveisGeração de resultados consistentes: garanta a geração consistente de resultados definindo sementes aleatórias.

 

Usando a Ajuda

Processo de instalação

Para usar o Dia, primeiro você precisa clonar seu repositório do GitHub e configurar seu ambiente. Aqui estão as etapas detalhadas:

  1. armazém de clones::
    Execute o seguinte comando no terminal:

    git clone https://github.com/nari-labs/dia.git
    cd dia
    
  2. Criação de um ambiente virtual::
    Use o Python para criar ambientes virtuais para isolar dependências:

    python -m venv .venv
    source .venv/bin/activate  # Windows 用户运行 .venv\Scripts\activate
    
  3. Instalação de dependências::
    Dia Uso uv Ferramentas para gerenciar dependências. Instalação uv E corra:

    pip install uv
    uv run app.py
    

    Isso instalará automaticamente as bibliotecas necessárias e iniciará a interface do Gradio.

  4. Requisitos de hardware::
    • GPUsGPUs NVIDIA recomendadas com suporte a CUDA.
    • CPUOtimização da GPU: a otimização da GPU é atualmente melhor, o suporte à CPU está planejado.
    • memória de acesso aleatório (RAM)RAM: Pelo menos 16 GB de RAM, é necessário ter mais memória para carregar o modelo.
  5. Verificar a instalação::
    estar em movimento uv run app.py Depois disso, o terminal exibirá o URL local da interface do Gradio (geralmente o http://127.0.0.1:7860). Abra esse URL em seu navegador e verifique se a interface é carregada corretamente.

Usando a interface do Gradio

A interface do Gradio é o principal método de interação do Dia e é adequada para testes rápidos e geração de diálogos. As etapas são as seguintes:

  1. Abra a interface::
    ativar (um plano) uv run app.py A interface contém caixas de entrada de texto, configurações de parâmetros e áreas de saída de áudio.
  2. Inserção de scripts de diálogo::
    Digite o script na caixa de texto, usando a opção [S1]e[S2] etc. para distinguir os falantes. Por exemplo:

    [S1] 你好,今天过得怎么样?
    [S2] 还不错,就是有点忙。(笑)
    

    O script é compatível com marcações fora do idioma, como (笑).

  3. Configuração dos parâmetros de geração::
    • Marcador de áudio máximo(--max-tokens): controla a duração do áudio gerado, padrão 3072.
    • Índice CFG(--cfg-scale): ajusta a qualidade da geração, padrão 3.0.
    • temporário(--temperature): controla a aleatoriedade, padrão 1,3; quanto maior o valor, mais aleatório será.
    • Top-p(--top-p): probabilidade de amostragem do kernel, padrão 0,95.
      Esses parâmetros podem ser ajustados na interface, e os iniciantes podem usar os valores padrão.
  4. Adição de sinais de áudio (opcional)::
    Para obter consistência de voz, você pode carregar um áudio de referência. Clique na opção "Audio Cue" na interface e selecione um arquivo WAV. A documentação oficial menciona que as diretrizes para a sugestão de áudio serão lançadas em breve, mas, por enquanto, você pode consultar o exemplo na interface do Gradio.
  5. Gerar áudio::
    Clique no botão "Generate" (Gerar) e o modelo processará o script e produzirá o áudio. O tempo de geração depende do desempenho do hardware, geralmente de alguns segundos a dezenas de segundos. O áudio gerado pode ser visualizado na interface ou baixado como um arquivo WAV.
  6. fixação de sementes::
    Para garantir que o som gerado seja sempre o mesmo, você pode definir uma semente aleatória. Clique na opção "Seed" (Semente) na interface e insira um número inteiro (por exemplo 35). Se não for definido, o Dia poderá gerar um som diferente a cada vez.

Uso da linha de comando

Além do Gradio, o Dia também suporta operações de linha de comando para desenvolvedores ou geração em lote. Veja abaixo o exemplo:

  1. Execução de scripts da CLI::
    É executado em um ambiente virtual:

    python cli.py "[S1] 你好! [S2] 嗨,很好。" --output output.wav
    
  2. Especificação de modelos::
    Por padrão, a opção nari-labs/Dia-1.6B Modelos. Se estiver usando um modelo local, você precisará fornecer um arquivo de configuração e pontos de verificação:

    python cli.py --local-paths --config config.yaml --checkpoint checkpoint.pt "[S1] 测试" --output test.wav
    
  3. Parâmetros de ajuste::
    Os parâmetros de geração podem ser definidos na linha de comando, por exemplo:

    python cli.py --text "[S1] 你好" --output out.wav --max-tokens 3072 --cfg-scale 3.0 --temperature 1.3 --top-p 0.95 --seed 35
    

Operação da função em destaque

  • Diálogo com vários personagens::
    O ponto forte da Dia é a geração de diálogos com vários atores. Os roteiros são criados com o [S1]e[S2] etc. para diferenciar os personagens, o modelo atribuirá automaticamente uma voz diferente a cada personagem. Recomenda-se que o tom ou a emoção do personagem seja explicitado no roteiro, por exemplo:

    [S1] (兴奋)我们赢了!
    [S2] (惊讶)真的吗?太棒了!
    
  • expressão não-verbal::
    Adicionar ao script (笑)e(停顿) e outros marcadores, o Dia gerará os efeitos sonoros correspondentes. Exemplo:

    [S2] 这太好笑了!(笑)
    
  • consistência da voz::
    Para evitar a geração de sons diferentes a cada vez, fixe a semente ou use dicas de áudio. A fixação da semente é feita na interface do Gradio ou na linha de comando por meio do comando --seed Configurações. Os prompts de áudio devem ser carregados como arquivos WAV de alta qualidade com clipes de voz claros.

advertência

  • Os modelos não são ajustados com precisão para sons específicosSons gerados podem ser diferentes a cada vez, e a consistência precisa ser garantida por meio de semeadura ou sinalização de áudio.
  • Limitação de hardwareDesempenho da GPU: o desempenho da GPU tem um impacto significativo na velocidade de geração e pode ser mais lento em dispositivos de baixo custo.
  • Diretrizes éticasNari Labs fornece diretrizes éticas e legais de uso que os usuários precisam seguir para evitar a geração de conteúdo inadequado.

 

cenário do aplicativo

  1. criação de conteúdo
    O Dia é ideal para gerar diálogos realistas para podcasts, animações ou vídeos curtos. Os criadores podem inserir roteiros e gerar rapidamente vozes de personagens, eliminando os custos de gravação. Por exemplo, os animadores podem gerar diálogos com diferentes entonações para seus personagens a fim de aprimorar seu trabalho.
  2. Educação e treinamento
    O Dia pode gerar diálogos em áudio para o aprendizado de idiomas ou para o treinamento de interpretação de papéis. Por exemplo, os professores de idiomas podem criar diálogos com várias funções que simulam cenários da vida real para ajudar os alunos a praticar a audição e a fala.
  3. desenvolvimento de jogos
    Os desenvolvedores de jogos podem usar o Dia para gerar diálogos dinâmicos para NPCs. Os scripts suportam a marcação de emoções e podem gerar falas específicas de personagens para diferentes cenários.
  4. Pesquisa e desenvolvimento
    Os pesquisadores de IA podem explorar as tecnologias TTS por meio do desenvolvimento secundário com base no código-fonte aberto do Dia. O modelo suporta carregamento local, o que é adequado para experimentação e otimização.

 

QA

  1. Quais formatos de entrada são compatíveis com o Dia?
    O Dia aceita scripts de texto com [S1]e[S2] Os marcadores distinguem os falantes. Tokens não verbais, como (笑)O sinal de áudio está disponível no formato WAV como opção.
  2. Como faço para garantir que os sons gerados sejam consistentes?
    As sementes fixas podem ser definidas pela configuração (--seed) ou carregar uma implementação de sugestão de áudio. As sementes podem ser definidas na interface do Gradio ou na linha de comando, e os sinais de áudio precisam ser arquivos WAV de alta qualidade.
  3. O Dia é compatível com a operação da CPU?
    No momento, o Dia está otimizado para ser executado em GPUs, com suporte para CPUs planejado para o futuro, e recomenda-se o uso de GPUs NVIDIA para obter o melhor desempenho.
  4. Quanto tempo leva para gerar áudio?
    O tempo de geração depende do hardware e do tamanho do script. Em GPUs de alto desempenho, diálogos curtos geralmente levam alguns segundos para serem gerados, e diálogos longos podem levar dezenas de segundos.
  5. O Dia é gratuito?
    O Dia é um projeto de código aberto e o código e os modelos são gratuitos. Os usuários são responsáveis pelo custo do hardware necessário para executá-lo.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Dia: um modelo de conversão de texto em fala para gerar diálogos hiper-realistas para vários jogadores
pt_BRPortuguês do Brasil