GUIA

Texto em fala no Linux: TTS natural e offline pelo terminal

No Linux, texto em fala costuma significar espeak ou Festival: rápidos, gratuitos e robóticos. Vozes neurais soam humanas, mas quase todas vivem na nuvem. O motor gratuito SuperClonica leva um modelo neural, o Supertonic 3, para a sua máquina Linux: ele funciona offline num processador comum e fala 31 idiomas.

Este guia mostra como instalá-lo num ambiente virtual, gerar voz pelo terminal, ler em voz alta o texto selecionado com um atalho de teclado e escolher vozes.

O que você precisa

Ao contrário do espeak ou do Festival, é um modelo neural, então a fala soa natural, e mesmo assim não precisa de internet depois da primeira execução.

  • Uma distribuição Linux moderna de 64 bits com Python 3.10 ou mais recente.
  • Cerca de 400 MB de disco para o modelo Supertonic 3, baixado uma vez.
  • Sem placa de vídeo: uma NVIDIA só deixa mais rápido.
  • Uma voz: as dez vozes embutidas, de M1 a M5 e de F1 a F5, ou um arquivo JSON do catálogo.

Instalação num ambiente virtual

Muitas distribuições não deixam mais o pip instalar no Python do sistema, então use um ambiente virtual: python3 -m venv ~/.venvs/tts && ~/.venvs/tts/bin/python -m pip install superclonica-cpu. O comando passa a ser ~/.venvs/tts/bin/superclonica; adicione essa pasta ao PATH ou crie um alias. Com uma placa de vídeo NVIDIA, instale superclonica-gpu-cuda em vez disso: o pip traz CUDA e cuDNN sozinho.

Voz pelo terminal

O modelo é baixado na primeira execução; depois o motor funciona sem rede.

  • Uma frase: superclonica --text "Olá do Linux." --voice F1 --lang pt --output hello.wav && aplay hello.wav.
  • Um arquivo inteiro: --text-file artigo.txt em vez de --text; textos longos são divididos em pausas naturais e unidos num só WAV.
  • Toque o resultado com aplay, paplay ou pw-play, conforme o seu sistema de som.
  • Numa máquina ocupada, limite as threads do processador com --threads 4.

Ler a seleção com um atalho

Salve um pequeno script e associe-o a um atalho de teclado nas configurações da área de trabalho: xclip -o > /tmp/sel.txt (no Wayland: wl-paste -p > /tmp/sel.txt), e depois superclonica --text-file /tmp/sel.txt --voice F1 --lang pt --output /tmp/sel.wav && aplay /tmp/sel.wav. Selecione um texto em qualquer janela, aperte o atalho e o motor lê em voz alta. Mude --lang e a voz para ler outros idiomas.

Vozes e um servidor

Cada voz do catálogo da SuperClonica tem uma página onde você gera de graça online uma frase de 30 a 100 caracteres. Vozes gratuitas são baixadas sem conta, e as pagas são compradas uma vez e ficam suas como um arquivo JSON que você passa com --voice. Para outros programas da sua rede, a imagem superclonica/superclonica no Docker Hub roda o mesmo motor como servidor HTTP.