Este blog foi originalmente publicado no blog do OpenVoiceOS
O phoonnx é agora a principal framework de Text-to-Speech do OpenVoiceOS. É uma stack de treino e inferência construída sobre o VITS (uma arquitetura de modelo neuronal de texto-para-fala) e o ONNX (um formato portátil para correr modelos treinados), e produz vozes consistentes e prontas para offline em todas as línguas que suportamos.
Ouça-o em ação: a Demo de Vozes corre as vozes phoonnx ao vivo no seu navegador — onnxruntime-web, sem servidor.
Nova Língua: Apresentamos o Basco!
Partimos do nosso trabalho anterior em Criar Vozes Sintéticas de Raiz e na nossa Colaboração em TTS Árabe para acrescentar vozes para basco (eu-ES).
Isto acrescenta tanto uma voz masculina (Miro) como uma voz feminina (Dii). Continua o nosso esforço para suportar línguas de poucos recursos que carecem de opções de TTS abertas e de alta qualidade.
Antes disto, a única voz em basco era uma voz feminina robótica do plugin AhoTTS, feito em colaboração com o ILENIA.
Ouça os resultados: exemplos das novas vozes de código aberto em basco.
Miro (Voz Masculina): Ouvir o Miro
Dii (Voz Feminina): Ouvir a Dii
Uma Identidade de Voz Consistente entre Línguas
O OpenVoiceOS precisa de uma voz de marca consistente: uma persona masculina e feminina padrão que soe da mesma forma independentemente da língua para a qual o assistente está configurado. Um utilizador que configura o OpenVoiceOS em Lisboa e mais tarde muda para alemão deve ouvir o mesmo falante familiar.
A TigreGotico constrói e mantém o motor phoonnx, contribui com os datasets de treino abertos, e treina as vozes multilingues por omissão do OVOS que cumprem este compromisso: Miro (masculino) e Dii (feminino).
Flexibilidade de fonemizador
O phoonnx não é só uma ferramenta de inferência. É uma framework de treino e inferência construída sobre a arquitetura VITS, e permite-nos criar protótipos, treinar e implementar vozes novas rapidamente.
Parte disto vem do suporte a diferentes fonemizadores. Um fonemizador (ou modelo de G2P — Grafema-para-Fonema) converte texto escrito na sequência de unidades de som (fonemas) que o modelo de TTS fala. Línguas diferentes precisam muitas vezes de fonemizadores diferentes e especializados para uma fala precisa.
- Compatibilidade com eSpeak: os modelos phoonnx treinados com o amplamente disponível fonemizador eSpeak são totalmente compatíveis com o runtime do motor Piper TTS. Isto significa uma implementação fácil dentro do ecossistema OVOS existente e em projetos de terceiros como o Home Assistant.
- Suporte a fonemizadores personalizados: a framework não se limita ao eSpeak. Por exemplo, os modelos galegos construídos pelo Proxecto Nós com o fonemizador Cotovia são totalmente compatíveis e podem ser usados com o pipeline phoonnx.
Esta flexibilidade permite-nos reutilizar o trabalho de outros projetos de código aberto. Para inferência, o phoonnx consegue usar modelos originalmente treinados por outros projetos, incluindo Coqui, Mimic3 e Piper.
A seguir: modelos de G2P baseados em ByT5
Continuamos a trabalhar para melhorar a precisão do G2P, especialmente para línguas de poucos recursos. Estamos a desenvolver e a testar novos modelos de G2P baseados na arquitetura ByT5. Estes modelos baseados em transformers procuram fonemizar com mais precisão numa gama mais ampla de línguas.
Pode acompanhar o seu desenvolvimento aqui: Coleção de Modelos de G2P.
Num futuro próximo será criado um plugin de TTS dedicado do OVOS para o phoonnx e tornado o padrão do OpenVoiceOS, substituindo os plugins anteriores: ovos-tts-plugin-piper e ovos-tts-plugin-nos.
Entretanto pode experimentar as novas vozes através do plugin existente ovos-tts-plugin-piper
Tudo o que precisa de fazer é passar os urls dos modelos em mycroft.conf
"tts": {
"module": "ovos-tts-plugin-piper",
"ovos-tts-plugin-piper": {
"model": "https://huggingface.co/OpenVoiceOS/phoonnx_eu-ES_miro_espeak/resolve/main/miro_eu-ES.onnx",
"model_config": "https://huggingface.co/OpenVoiceOS/phoonnx_eu-ES_miro_espeak/resolve/main/miro_eu-ES.piper.json"
}
}
Relatório de Progresso: Línguas Disponíveis
O trabalho coletivo das equipas do OpenVoiceOS e da TigreGotico resultou numa biblioteca de modelos de TTS de código aberto em rápida expansão.
Línguas Atualmente Suportadas:
- Árabe
- Basco
- Neerlandês
- Inglês (EUA/RU)
- Francês
- Alemão
- Italiano
- Português (Brasil/Portugal)
- Espanhol
Participe e Encontre os Modelos
Convidamos a comunidade a explorar e a usar estes novos recursos.
| Recurso | Descrição | Ligação |
|---|---|---|
| Modelos Phoonnx | Os novos modelos de TTS treinados com phoonnx em formato ONNX. | phoonnx-tts-models |
| Vozes Piper/Phoonnx | A coleção completa de vozes do OpenVoiceOS compatíveis com Piper. | pipertts-voices |
| Datasets Abertos | Datasets usados para treinar estas vozes, promovendo a investigação de dados abertos. | tts-datasets |
Explore o catálogo completo de modelos e datasets no Hugging Face: TigreGotico · OpenVoiceOS. Para contribuir com dados, abra uma issue ou discussão no phoonnx.