41 pontos por GN⁺ 2025-04-22 | 13 comentários | Compartilhar no WhatsApp
  • Dia é um modelo TTS de 1,6B de parâmetros que gera voz conversacional de alta qualidade com base em falas em texto, permitindo controlar emoção e tom por meio de prompts de áudio
  • Foi desenvolvido pela Nari Labs, e "Nari" significa "lírio" em coreano puro
  • É possível definir os falantes com [S1], [S2], e também gerar expressões não verbais como (laughs) e (coughs), além de oferecer clonagem de voz simples
  • Pode ser executado diretamente no HuggingFace, com testes no navegador sem instalação adicional e suporte a ZeroGPU
  • Atualmente suporta apenas inglês, exige mais de 10GB de VRAM e há planos para modelos quantizados e suporte multilíngue no futuro

Dia: modelo de síntese de voz focado em diálogo

  • Dia é um modelo TTS de pesos abertos com 1,6B de parâmetros desenvolvido pela Nari Labs
  • Em vez de gerar vozes separadas por falante como nos TTS tradicionais, ele usa uma abordagem que gera a conversa inteira de uma vez
  • Demo: Hugging Face Space
  • Código: repositório no GitHub

Principais recursos

Geração de voz conversacional

  • É possível especificar os falantes com [S1], [S2] no texto
  • Também é possível inserir em texto sons não verbais como (laughs) e (coughs)
  • Emoção, tom e estilo de voz podem ser definidos com prompts de áudio

Clonagem de voz

  • Ao fornecer um áudio de exemplo junto com a fala correspondente em texto, a função de clonagem de voz é ativada
  • É possível testar isso após enviar um áudio no Hugging Face Space
  • Para exemplos detalhados, consulte example/voice_clone.py

Uso como biblioteca

from dia.model import Dia  
model = Dia.from_pretrained("nari-labs/Dia-1.6B")  
output = model.generate(text)  
  • É possível exportar em MP3 com soundfile
  • Um pacote no PyPI e uma ferramenta CLI também serão disponibilizados em breve

Instalação e execução

Forma rápida de executar (baseada em Gradio)

git clone https://github.com/nari-labs/dia.git  
cd dia && uv run app.py  

Ou, se você não tiver uv:

cd dia  
python -m venv .venv  
source .venv/bin/activate  
pip install uv  
uv run app.py  
  • O Descript Audio Codec é baixado automaticamente na execução
  • A voz é gerada aleatoriamente a cada execução, então é necessário fixar o prompt ou a seed para manter consistência

Desempenho e requisitos de hardware

  • Ambiente de teste: PyTorch 2.0+, CUDA 12.6 ou superior
  • VRAM recomendada: 10GB ou mais, com versão quantizada prevista para breve
  • Em uma GPU A4000, gera cerca de 40 tokens por segundo (86 tokens = cerca de 1 segundo de voz)
  • É possível melhorar a velocidade usando torch.compile

Planos futuros e TODO

  • Suporte a Docker
  • Otimização da velocidade de inferência
  • Quantização do modelo (eficiência de memória)
  • Está sendo considerada a expansão para suporte multilíngue e mais falantes

Licença e restrições de uso

  • Licença Apache 2.0
  • Exemplos de uso proibido:
    • Gerar a voz de outra pessoa sem permissão (Identity Misuse)
    • Gerar desinformação (como fake news)
    • Finalidades ilegais ou maliciosas

Comunidade e contribuições

  • A equipe de pesquisa é pequena, composta por 1 pessoa em tempo integral + 1 pessoa em meio período
  • É possível compartilhar feedback e sugerir recursos pelo servidor no Discord
  • Um projeto orientado a open source que cresce junto com os contribuidores

Referências e base técnica

  • Modelo de som: inspirado em SoundStorm, Parakeet e Descript Audio Codec
  • Suporte computacional: Google TPU Research Cloud, programa HuggingFace ZeroGPU
  • "Nari" significa "lírio" em coreano puro

13 comentários

 
reagea0 2025-04-24

Uau, isso ficou muito bom. Imagino que não tenha sido nada fácil para vocês dois conseguirem até mesmo os dados de treinamento, então é realmente impressionante.

 
princox 2025-04-24

O próprio criador apareceu por aqui~ Acho que também vou testar uma vez.

 
kleinstein 2025-04-22

Estou ansioso pelo suporte ao coreano!!

 
toebee 2025-04-22

Ah, eu ia criar e postar isso, mas você já publicou rapidinho antes. Obrigado.

 
winterjung 2025-04-22

Nossa, então foi feito por uma pessoa da Coreia! Ouvindo e comparando na página de demonstração, o desempenho está realmente muito bom. Se eu fornecer um prompt de áudio, ele usa aquela voz como referência? Fiquei na dúvida se é preciso inserir separadamente cada exemplo distinguido como s1 e s2.

 
toebee 2025-04-22

Obrigado! Não é necessário incluir exemplos separados por [S1] e [S2] no prompt de áudio. Você pode colocar apenas [S1], ou tanto [S1] quanto [S2]. Só precisa garantir que [S1] venha sempre primeiro.

 
xguru 2025-04-22

Recebeu muitos upvotes no Hacker News, então o GN+ resumiu automaticamente. Eu só organizei e complementei um pouco.

Torcendo por vocês!!

 
toebee 2025-04-22

Obrigado :))

 
toebee 2025-04-22

É um modelo que eu criei haha...

 
kgh1379 2025-04-22

Fantástico!! Vou usar muito bem T_T/

 
toebee 2025-04-22

Obrigado :)) por favor, deem uma estrela no GitHub rsrs

 
kgh1379 2025-04-22

Concluído! Espero ver notícias em coreano em breve também!! Obrigado

 
GN⁺ 2025-04-22
Opiniões no Hacker News

Admiração técnica e elogios

  • Apesar de ser um projeto feito por apenas duas pessoas em 3 meses, mostrou uma qualidade muito alta
  • Impressiona o fato de uma equipe pequena ter obtido resultados competitivos na área de modelos de áudio em comparação com grandes empresas
  • Reações como "soa como uma pessoa de verdade", "parece o futuro do TTS" e "os exemplos são impressionantes"
  • Vários usuários avaliaram como especialmente impressionante o exemplo de áudio baseado em uma cena de The Office

Avaliação da qualidade da voz e das características

  • A maioria reagiu positivamente com comentários como "natural como uma pessoa", "expressa bem as emoções" e "detalhes como risadas, tosses e gritos estão vivos"
  • Alguns também citaram desvantagens como emoção exagerada, sensação de propaganda e ruído no começo
  • Houve também opiniões de que lembra certos estilos de dublagem/narração (por exemplo, o tom da NPR) ou a sensação de antigas animações em Flash do YouTube

Relatos de uso da demo e testes diretos

  • Foram compartilhados casos de sucesso rodando em vários hardwares, como um MacBook M2
  • Foi bem elogiado o fato de poder testar imediatamente online via HuggingFace Spaces
  • Também houve feedback de que é fácil de rodar com Docker e contêineres CUDA

Discussão sobre uso em audiolivros e romances

  • Vários usuários exploraram o potencial para produção de audiolivros, separação de vozes por personagem e falas com emoções ricas
  • Ainda assim, alguns defenderam que "atores de voz humanos continuam sendo melhores" e que "bons atores de voz dão uma textura única à obra"
  • Também houve o contraponto de que, se a IA interpretar corretamente emoções e personagens, ela pode até ser melhor

Pedidos de recursos e perguntas sobre síntese de voz

  • Surgiram pedidos de recursos/suporte como os seguintes:
    • suporte multilíngue (chinês, finlandês etc.)
    • suporte a conversas com mais de 2 pessoas
    • clonagem de voz (a própria voz)
    • informações de timing por palavra
    • suporte a GPU AMD
    • suporte a saída em streaming
  • Em resposta, os desenvolvedores compartilharam que alguns recursos estão em desenvolvimento ou planejados para o futuro

Licença e open source

  • Está sendo distribuído sob Apache 2.0, e o desenvolvedor explicou diretamente que a frase original (limitado a fins de pesquisa) queria dizer apenas “não faça shady stuff”
  • Alguns usuários apontaram que isso deveria ser esclarecido de forma mais explícita para evitar confusão

Perguntas sobre dados de treinamento e processo de treino

  • Muitos usuários perguntaram "de onde veio o dataset" e "como foi treinado"
  • A equipe respondeu que pretende fornecer uma visão geral de alto nível em um relatório técnico

Controvérsia sobre nome duplicado

  • Foi apontado um conflito de nome com a ferramenta de diagramas do GNOME (Dia) e com diabrowser.com
  • Também houve críticas de que "projetos de IA pegam emprestado de propósito nomes já usados em open source"
  • Em resposta, os desenvolvedores disseram que "não sabiam" e que vão diferenciá-lo com mais clareza daqui para frente

Feedback sobre usabilidade e melhorias

  • Houve comentários de que o site da demo, por ser baseado em Notion, é lento e ruim para compartilhar links → foi sugerida uma página mais leve, como GitHub Pages
  • Foram feitas sugestões de melhoria no README, como a confusão causada pela expressão "join waitlist" e a menção desnecessária a venv
  • Também houve feedback sobre configurações, como o problema de baixar o modelo toda vez por não usar cache no servidor

Casos de desenvolvimento/aplicação e integração

  • Comparações com outros modelos de TTS, como E5-F2 e Sesame-TTS
  • Alguns usuários enfatizaram a precisão em domínios específicos, como termos médicos
  • Houve pedidos de informações sobre codecs para rodar no iOS e sugestões de possibilidades de aplicação
  • Também foram compartilhados pontos a considerar em aplicações reais, como streaming e velocidade de resposta inicial

Outros

  • Foram compartilhadas orientações e correções sobre erros de link ou problemas de acesso no HuggingFace
  • Também foram descobertos pequenos recursos adicionais, como a função de favoritos na interface da demo
  • Junto disso, apareceram limitações de hardware dos usuários e expectativas e preocupações gerais sobre o uso de TTS