Tutti gli articoli

· Casimiro Ferreira· 4 min di lettura

Presentiamo phoonnx: il nuovo framework TTS di OpenVoiceOS

  • phoonnx
  • TTS
  • OVOS
  • ONNX
  • Phonemization

Questo articolo è stato originariamente pubblicato sul blog di OpenVoiceOS

phoonnx è ora il principale framework di Text-to-Speech di OpenVoiceOS — uno stack completo di addestramento e inferenza costruito su VITS e ONNX, progettato per voci coerenti e pronte per l’uso offline in ogni lingua che supportiamo.

Ascoltalo in azione: la Demo delle Voci esegue le voci phoonnx dal vivo nel tuo browser — onnxruntime-web, senza server.


Nuova lingua: presentiamo il basco!

Basandoci sul nostro precedente lavoro in Creare voci sintetiche da zero e sulla nostra Collaborazione sul TTS in arabo, le più recenti aggiunte al nostro supporto linguistico sono voci per il basco (eu-ES).

Ciò include sia la voce maschile (Miro) sia la voce femminile (Dii), portando avanti la nostra missione di supportare anche le lingue a scarse risorse che mancano di opzioni di TTS aperte e di alta qualità.

In precedenza era disponibile solo una voce femminile robotica, tramite il plugin AhoTTS realizzato in collaborazione con ILENIA.

Ascolta i risultati: esempi delle nuove voci open-source in basco.

Miro (voce maschile): Ascolta Miro

Dii (voce femminile): Ascolta Dii


Un’identità vocale coerente in tutte le lingue

OpenVoiceOS ha bisogno di una voce di marca coerente: una persona maschile e femminile standard che suoni allo stesso modo indipendentemente dalla lingua per cui l’assistente è configurato. Un utente che configura OpenVoiceOS a Lisbona e in seguito passa al tedesco deve sentire lo stesso interlocutore familiare.

TigreGotico costruisce e mantiene il motore phoonnx, contribuisce con i dataset di addestramento aperti e addestra le voci multilingue predefinite di OVOS — Miro (maschile) e Dii (femminile) — che soddisfano questo impegno.


Flessibilità dei fonemizzatori

phoonnx è più di un semplice strumento di inferenza; è un framework completo di addestramento e inferenza costruito sulla robusta architettura VITS. Questa duplice capacità ci consente di prototipare, addestrare e distribuire rapidamente voci di alta qualità.

Una chiave di questa flessibilità è la capacità di supportare diversi fonemizzatori. Un fonemizzatore (o modello G2P - Grafema-Fonema) converte il testo scritto nella sequenza di unità sonore (fonemi) che il modello di TTS pronuncia. Lingue diverse possono richiedere fonemizzatori diversi e specializzati per una pronuncia accurata.

  • Compatibilità con eSpeak: Una caratteristica centrale è che i modelli phoonnx sono pienamente compatibili con il runtime del popolare motore Piper TTS, a condizione che siano stati addestrati utilizzando il fonemizzatore eSpeak, ampiamente disponibile. Ciò garantisce una facile distribuzione all’interno dell’ecosistema OVOS esistente e in progetti di terze parti come Home Assistant.
  • Supporto per fonemizzatori personalizzati: Il framework non si limita a eSpeak. Ad esempio, i modelli galiziani di alta qualità sviluppati da Proxecto Nós utilizzando il fonemizzatore Cotovia sono pienamente compatibili e possono essere usati con la pipeline phoonnx.

Questa flessibilità ci consente di integrare e beneficiare del lavoro di altri progetti open-source. Di fatto, per l’inferenza, phoonnx è in grado di usare con successo modelli originariamente addestrati da altri progetti, tra cui Coqui, Mimic3 e Piper.

Prossimamente: modelli G2P basati su ByT5

Guardando al futuro, lavoriamo costantemente per migliorare l’accuratezza del G2P, specialmente per le lingue a scarse risorse. Attualmente stiamo sviluppando e testando modelli G2P di nuova generazione basati sulla potente architettura ByT5. Questi modelli basati su transformer promettono di offrire una fonemizzazione più accurata e robusta su una gamma più ampia di lingue.

Puoi seguirne lo sviluppo qui: Collezione di modelli G2P.

In un prossimo futuro verrà creato un plugin TTS dedicato di OVOS per phoonnx e reso predefinito per OpenVoiceOS, sostituendo i plugin precedenti: ovos-tts-plugin-piper e ovos-tts-plugin-nos.

Nel frattempo puoi provare le nuove voci tramite il plugin esistente ovos-tts-plugin-piper

Tutto ciò che devi fare è passare gli url dei modelli in 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"
    }
  }

Rapporto sui progressi: lingue disponibili

Il lavoro collettivo dei team di OpenVoiceOS e di TigreGotico ha prodotto una libreria di modelli TTS open-source in rapida espansione.

Lingue attualmente supportate:

  • Arabo
  • Basco
  • Neerlandese
  • Inglese (USA/GB)
  • Francese
  • Tedesco
  • Italiano
  • Portoghese (Brasile/Portogallo)
  • Spagnolo

Partecipa e trova i modelli

Invitiamo la comunità a esplorare e utilizzare queste nuove risorse.

RisorsaDescrizioneLink
Modelli PhoonnxI nuovi modelli TTS addestrati con phoonnx in formato ONNX.phoonnx-tts-models
Voci Piper/PhoonnxLa collezione completa di voci di OpenVoiceOS compatibili con Piper.pipertts-voices
Dataset apertiDataset usati per addestrare queste voci, promuovendo la ricerca sui dati aperti.tts-datasets


Esplora il catalogo completo di modelli e dataset su Hugging Face: TigreGotico · OpenVoiceOS. Per contribuire con dati, apri una issue o una discussione su phoonnx.