Phonon, um pequeno modelo de síntese de voz (TTS, para text-to-speech), acabou de ser aberto ao público. Funciona diretamente no dispositivo do utilizador, sem servidor nem ligação de rede, e os textos introduzidos permanecem no dispositivo.
- O Phonon funciona localmente, sem servidor nem ligação de rede.
- Os pesos são abertos, e o Phonon 31m usa licença Apache 2.0 para uso comercial.
- No Open TTS Leaderboard, o Phonon fica no top três em todas as línguas avaliadas.
- O modelo fala cinco línguas, tem mais de 100 vozes e corre em telemóveis e navegadores.
Uma voz que vive no dispositivo
A maioria das IA vocais funcionam na cloud, com cada frase a fazer a viagem de ida e volta para um servidor. O Phonon, pelo contrário, funciona localmente, e a voz permanece disponível sem rede. Os pesos do modelo também são publicados. O Phonon 31m está sob licença Apache 2.0, o que permite a sua utilização gratuita, inclusive num produto comercial. Os outros modelos estão sob licença CC BY-NC, gratuitos para projetos não comerciais. Para um uso comercial destes últimos, a precificação depende do número de utilizadores, e não do volume de fala gerado.
Fazer funcionar uma voz de qualidade num pequeno dispositivo tem sido difícil durante muito tempo: um modelo reduzido soava pior, enquanto um modelo mais performante não cabia no dispositivo. O Phonon responde a ambas as restrições simultaneamente. Anunciado em abril, o projeto foi depois desenvolvido durante seis meses com parceiros e primeiros utilizadores, cujos feedbacks orientaram esta versão. Os modelos foram reduzidos, mais línguas foram adicionadas, e o suporte para vozes personalizadas, por clonagem ou criação, foi integrado.
O Phonon baseia-se na linhagem do Pocket TTS e utiliza o flow matching, uma técnica de geração de áudio muito diferente das empregues noutros sistemas TTS. Permitiu alcançar este nível de qualidade num modelo tão pequeno, mas trouxe dificuldades de treino: este foi inicialmente numericamente instável e exigiu vários truques para produzir resultados de qualidade nas cinco línguas.
Dois tamanhos, cinco línguas e demonstrações
O Phonon existe em dois tamanhos, de aproximadamente 65 MB e 75 MB. Em conjunto, as duas versões falam inglês, francês, alemão, espanhol e português. Mais de 100 vozes estão integradas, e é possível criar as próprias vozes no Gradium Studio. O modelo também gere números de telefone, datas e códigos, elementos que muitos sistemas TTS têm dificuldade em ler corretamente. Funciona em telemóveis, computadores portáteis, placas de computador único e num separador do navegador.
O lançamento foi acompanhado por demonstrações, realizadas por pessoas próximas da equipa e pelos seus próprios membros. Num Apple Watch sem Wi-Fi, o Phonon guia passo a passo a preparação de um café. Num iPhone sem rede, conta as repetições de um exercício. Um robô chamado Lamp, da empresa Autonomous, usa um chapéu seletor e fala na sua personagem. Num navegador, um jogo de dinossauro offline torna-se um programa de rádio apresentado pelo Rex, e Proust é lido em voz alta, página após página.
Desenvolvedores também começaram a construir sobre o Phonon. Uma conversão ExecuTorch permite fazê-lo funcionar na GPU de um visitante no navegador, a plataforma Micdrop integra-o em aplicações Node.js, e Spaces como o smallest-s2s baseiam-se nele. O modelo foi descarregado mais de 200 000 vezes durante as suas duas primeiras semanas.
Resultados no ranking Open TTS
O Open TTS Leaderboard, projeto muito recente da Hugging Face, permite comparar modelos TTS abertos, mais de 9 000 estando referenciados no Hugging Face Hub. Os modelos são avaliados em 23 línguas, de acordo com a inteligibilidade, velocidade e caráter natural da voz. De acordo com este ranking, o Phonon ocupa a primeira posição para inteligibilidade em alemão e espanhol, e está no top três em todas as línguas avaliadas, ao lado de modelos até 100 vezes maiores. Destaca-se sobretudo na velocidade, figurando no topo do benchmark de streaming de CPU para o atraso antes da primeira saída de áudio.
Para fazer funcionar o Phonon num grande número de dispositivos, a equipa desenvolveu ptts, uma estrutura de inferência compatível com mais de 10 backends, incluindo CPU, GPU e NPU. O Phonon também está disponível em 🤗 Transformers a partir da versão 5.21, como implementação de referência PyTorch. O Phonon é a primeira versão aberta desta equipa.
