EchoraEchora
Voltar aos modelos

NeuTTS Air: clonagem de voz pequena o bastante para caber em um Raspberry Pi

11 de setembro de 2026
•
7 min de leitura

Transforme textos e gravações em áudio pronto para ouvir

Dublagem, stems, covers e efeitos sonoros, tudo no navegador.

  • Texto para fala, e também clonagem de voz
  • Separe as faixas, ou gere um cover
  • Cadastre-se para ouvir primeiro e decidir depois
Comece a criar grátis

A maioria dos modelos TTS realmente leves e adequados para CPU faz uma escolha específica: abre mão da clonagem de voz para reduzir o tamanho e trabalha com uma lista fixa de vozes predefinidas. O NeuTTS Air, da Neuphonic, rejeita essa troca. Ele tem menos de 1 bilhão de parâmetros, foi quantizado para rodar confortavelmente em um celular ou Raspberry Pi e ainda clona uma voz-alvo com apenas 3 segundos de áudio de referência. A Neuphonic descreve essa combinação como o primeiro modelo de linguagem de voz TTS realmente realista e totalmente executado no dispositivo a oferecer clonagem instantânea nesse tamanho.

O que é o NeuTTS Air?

O NeuTTS Air é um modelo open source de text-to-speech sob a licença Apache 2.0, lançado pela Neuphonic em outubro de 2025. Ele usa como arquitetura-base um modelo de linguagem baseado no Qwen2 — listado com 748 milhões de parâmetros no model card oficial e comumente descrito como da “classe 0,5B” — em conjunto com o NeuCodec, codec de áudio neural desenvolvido pela própria Neuphonic. O objetivo central do projeto é a implantação no dispositivo: tudo roda em hardware local, sem que áudio ou texto precisem sair do aparelho, a menos que você escolha enviá-los para outro lugar.

Vantagens funcionais do NeuTTS Air

  • Clonagem instantânea de voz com apenas 3 segundos de áudio de referência, um recurso realmente incomum em modelos desse tamanho, pois a maioria usa uma lista fixa de vozes predefinidas.
  • Quantização GGUF (Q4 e Q8) criada especificamente para implantação na borda, executada por meio de llama.cpp / llama-cpp-python em celulares, notebooks e computadores de placa única como o Raspberry Pi.
  • NeuCodec, um codec de áudio altamente eficiente, operando a apenas 0,8kbps com um único livro de códigos e uma taxa de quadros de 50Hz. Essa escolha específica de projeto mantém a qualidade da saída alta apesar do tamanho geral reduzido do modelo.
  • Geração em tempo real em hardware realmente modesto: benchmarks publicados mostram desempenho acima de 2 vezes o tempo real em uma CPU AMD Ryzen 9, enquanto um smartphone Samsung Galaxy A25 chega a uma velocidade próxima do tempo real.
  • Marca d'água Perth integrada, incorporada automaticamente em cada arquivo de áudio gerado e aplicada por padrão, em vez de ser uma configuração opcional.
  • Totalmente aberto sob a Apache 2.0, permitindo uso comercial sem um contrato de licença separado.

Como a arquitetura equilibra realismo e tamanho

A arquitetura-base derivada do Qwen2 do NeuTTS Air cuida da fonemização — por meio de um front-end espeak-ng —, da modelagem de prosódia e do condicionamento da saída tanto pelo texto de entrada quanto pelo estilo do locutor de referência. Em essência, todo o trabalho de raciocínio linguístico e expressivo fica concentrado em um modelo de linguagem com menos de 1 bilhão de parâmetros, em vez de um modelo muito maior. O NeuCodec assume então a parte acústica: como comprime o áudio usando apenas um livro de códigos, e não os vários livros de códigos empilhados dos quais muitos codecs neurais dependem, alcança uma compressão especialmente eficiente — cerca de 0,8kbps com saída a 24kHz — sem o custo de qualidade normalmente associado ao uso de menos livros de códigos. A janela de contexto de 2.048 tokens cobre aproximadamente 30 segundos de áudio, incluindo o prompt de referência. É suficiente para conversas curtas, mas representa uma limitação real se você pretende produzir narração longa, em vez de diálogo no estilo de um assistente.

Primeiros passos com o NeuTTS Air

  1. Instale os extras GGUF para inferência quantizada em CPU. uv sync --extra gguf instala o llama-cpp-python, necessário para executar os checkpoints GGUF Q4/Q8. Adicione também uv sync --extra onnx caso queira usar o decodificador ONNX no lugar do GGUF ou em conjunto com ele.
  2. Escolha o checkpoint da arquitetura-base no Hugging Face. neuphonic/neutts-air é o modelo de precisão total; neuphonic/neutts-air-q4-gguf e neuphonic/neutts-air-q8-gguf são as versões quantizadas criadas especificamente para implantação na borda e em CPU.
  3. Prepare um trecho de referência e sua transcrição. O NeuTTS Air precisa tanto de um arquivo WAV de referência limpo e mono —o intervalo ideal documentado é de 3 a 15 segundos— quanto do texto correspondente à transcrição. Uma fala natural, contínua e com poucas pausas funciona melhor do que uma amostra cortada ou muito editada.
  4. Execute o script de exemplo básico para confirmar a configuração. python -m examples.basic_example --input_text "your text here" --ref_audio samples/dave.wav --ref_text samples/dave.txt é o primeiro teste documentado; ajuste a opção --backbone de acordo com o checkpoint escolhido.
  5. Use diretamente a API Python para fazer a integração. Execute from neuttsair.neutts import NeuTTSAir, crie uma instância com os valores escolhidos de backbone_repo e codec_repo —neuphonic/neucodec é a opção padrão de codec—, chame tts.encode_reference() para o trecho de referência e passe o resultado a tts.infer() junto com o texto de destino.
  6. Consulte a coleção NeuTTS-Air no Hugging Face para conhecer outras opções de arquitetura-base antes de presumir que o checkpoint padrão é a única escolha. Há várias variantes documentadas ali para diferentes necessidades de implantação.

Dicas para obter resultados melhores

  • Mantenha o trecho de referência limpo e natural, como uma conversa. Um monólogo natural ou uma amostra de conversa com poucas pausas ajuda o modelo a captar o tom com precisão. Música de fundo, falas sobrepostas ou áudio com muita produção prejudicam de forma perceptível a qualidade da clonagem.
  • Respeite a janela de contexto de 2.048 tokens ao planejar o conteúdo. Como ela cobre aproximadamente 30 segundos, incluindo o prompt de referência, divida conteúdos mais longos em várias gerações, em vez de esperar que uma única execução processe um trecho extenso.
  • Use GGUF Q4 nos dispositivos com mais restrições e Q8 quando houver um pouco mais de margem. O nível de quantização troca diretamente uma pequena parcela de qualidade por velocidade e menor uso de memória. Escolha conforme o hardware de destino específico, em vez de adotar um nível por padrão.
  • Considere o NeuTTS Nano se até mesmo 748M parâmetros forem demais. O modelo irmão menor da Neuphonic tem 229M parâmetros no total —120M ativos— e é voltado a implantações na borda ainda mais restritas do que as atendidas pelo próprio NeuTTS Air.

NeuTTS Air vs. outros modelos leves no dispositivo

NeuTTS AirPiperKokoro-82M
Parâmetros~748M (baseado no Qwen2)~15M82M
Clonagem de vozSim, com ~3 segundosNão, lista fixa de vozesNão, lista fixa de vozes
Formato de implantaçãoGGUF (Q4/Q8) via llama.cppONNXPyTorch / ONNX
Tempo real em hardware do nível de um smartphoneSim (benchmark documentado no Galaxy A25)SimNão é um objetivo principal do projeto
Marca d'água integradaSim (Perth)NãoNão
IdiomasInglês (mais forte), espanhol, alemão, francês35+8
LicençaApache 2.0MIT (original) / GPL-3.0 (fork atual)Apache 2.0

O nicho específico do NeuTTS Air na categoria de modelos leves executados no dispositivo é ser uma das poucas opções que preserva a clonagem de voz zero-shot nesse tamanho. A maioria dos modelos tão pequenos elimina completamente a clonagem em troca de um tamanho reduzido, exatamente a concessão que o NeuTTS Air foi criado para evitar.

Perguntas frequentes

O NeuTTS Air precisa de uma GPU?

Não. Ele foi otimizado para inferência em CPU por meio da quantização GGUF e roda bem em notebooks modernos ou dispositivos como o Raspberry Pi 4. O suporte a GPU está disponível pelo llama-cpp-python com CUDA ou Metal, caso você queira usá-lo, mas não é obrigatório.

De quanto áudio de referência o NeuTTS Air precisa para clonar uma voz?

Apenas 3 segundos. O intervalo prático ideal documentado é de 3 a 15 segundos de áudio limpo e mono, acompanhado da transcrição correspondente do trecho de referência.

O NeuTTS Air é gratuito para uso comercial?

Sim. Ele é disponibilizado sob a licença Apache 2.0, que permite uso comercial sem um contrato de licença separado.

Por que o NeuTTS Air precisa do espeak?

Ele usa o espeak-ng para converter o texto de entrada em fonemas como uma etapa de pré-processamento, parte essencial de como a arquitetura-base do modelo de linguagem entende quais sons precisa gerar.

Gere uma voz semelhante a partir de um áudio de referência com a Echora

Para um fluxo no navegador com objetivo semelhante, use a Clonagem de voz da Echora. Envie uma gravação da sua própria voz ou de uma voz que você tenha permissão explícita para usar, insira até 5.000 caracteres de texto novo e gere uma nova fala parecida com a referência.

Criar uma voz clonada →