Todos os artigos

· Casimiro Ferreira· 2 min de leitura

Criar Vozes Sintéticas do Zero

  • TTS
  • Synthetic Data
  • Voice Cloning
  • OVOS

Este blog foi originalmente publicado no blog do OpenVoiceOS

Uma boa voz TTS offline para português europeu não existia. A gravação de estúdio é cara, leva meses, e na maior parte das línguas do mundo as gravações simplesmente nunca aconteceram. Por isso construímos quatro do zero, sem cabine de gravação, sem ator de voz e sem nuvem.

A pipeline de três passos

1. Gerar pares de fala sintéticos. Usamos uma voz TTS existente como dadora (qualquer fonte que consiga produzir áudio inteligível) e corremo-la sobre um grande corpus de texto para produzir milhares de pares de áudio/texto. A voz dadora não precisa de ser de alta qualidade. Só precisa de ser suficientemente coerente para se aprender a partir dela.

2. Aplicar conversão de voz. Um passo de conversão de voz transforma o timbre da dadora numa nova identidade: género, idade ou personagem diferentes. O áudio resultante soa como a voz alvo, não como a dadora.

3. Treinar um modelo VITS compacto. VITS é uma arquitetura neuronal de texto-para-fala. O áudio convertido torna-se o conjunto de treino para um pequeno modelo VITS via phoonnx_train. O modelo terminado é exportado para ONNX (um formato portátil para correr modelos treinados) e corre inteiramente offline, num Raspberry Pi se for necessário.

Salvaguardas éticas

Se a dadora é a voz de uma pessoa real, obtemos permissão explícita primeiro. Quando nenhuma permissão é possível, usamos gravações de domínio público ou geramos uma voz totalmente original que não copia a identidade de ninguém. O passo de conversão de voz tem também uma propriedade útil de privacidade: a saída é acusticamente distinta o suficiente da dadora para que o risco de personificação seja negligenciável.

Aplicado ao português europeu

O português europeu não tinha nenhuma voz offline aberta de alta qualidade. Produzimos quatro vozes, incluindo as identidades Miro e Dii que são agora as vozes OVOS por defeito para pt-PT, usando exatamente esta pipeline. Correm confortavelmente em hardware modesto, não exigem ligação à internet, e os dados de treino estão publicados abertamente para que qualquer pessoa os possa reproduzir ou estender.

Todos os modelos e datasets vivem em huggingface.co/OpenVoiceOS e huggingface.co/TigreGotico.