Dec 5, 2019

Síntesi de la parla obert i lliure en català



Aquí podeu trobar tota la informació pertinent a Catotron, síntesi de la parla obert en català, entrenat amb xarxes neuronals. El codi està al github aquí i aquí; i els models són descarregables aquí.

Per provar el model d’Ona podeu utilitzar la pàgina de demo.

Resum:

Els últims anys, les tecnologies de síntesi de la parla (SP) van avançar molt gràcies a les tècniques d’aprenentatge profund. El canvi més important va ser la introducció dels vocoders (mot creat de l’anglès: voice encoder, «codificador de veu») entrenats amb xarxes neuronals. El primer exemple va ser el Wavenet en el 2016 desenvolupat per DeepMind, que forma part de les empreses de Google.

Avui en dia aquests vocoders s’utilitzen amb els sistemes de SP també entrenats amb xarxes neuronals, específicament els sistemes de Tacotron i Tacotron2. Es poden trobar diverses implementacions d’aquestes tecnologies en programari lliure. Aquestes tecnologies representen l’estat d’art per SP, poden produir resultats amb millor intel·ligibilitat i naturalitat possible.

Malauradament, per entrenar aquests sistemes, és imprescindible tenir recursos molt importants com dades o potència computacional. És per això que no hi ha cap model publicat amb llicències obertes, menys els d’anglès. Gràcies al projecte subvencionat pel Departament de Cultura, vam entrenar els models de SP en català amb xarxes neuronals i els vam publicar amb llicències obertes. Volem presentar aquí els resultats, la nostra experiència i els detalls de com integrar aquesta tecnologia.

El codi:

Les tecnologies que vam utilitzar són els repositoris de Tacotron2 i WaveGlow, de l’empresa de NVIDIA publicats amb llicències obertes a github. Un dels resultats més importants és el codi; és a dir, el nostre fork de Tacotron2, que està modificat per al català, imprescindible per fer servir els models de català. A més vam desenvolupar un segon repositori catotron-cpu, que és executable amb els processadors més comuns, els CPUs. Aquesta versió de Catotron utilitza MelGan, que és una alternativa més lleguera i més eficient que WaveGlow.

Els models:

Per entrenar els models de català vam aprofitar les dades obertes ja publicades. Les veus resultants estan entrenades amb les dades de Festcat, que també va ser un projecte de la Generalitat, realitzat pels investigadors de la UPC. Vam utilitzar les millors veus d’aquest conjunt de dades: les veus de l’Ona i del Pau.


Aquí teniu alguns fitxers de mostra. Les frases escollides venen del conjunt de dades de validació, és a dir no van entrar a l’entrenament dels models de catotron.


Ona:

Original Festcat Catotron

Pau:

Original Festcat Catotron



Durant les nostres proves també vam fer experiments amb el conjunt de dades del ParlamentParla, i vam produir un model de la parla d’Artur Mas, que era la persona amb més hores registrades d’aquest conjunt de dades. Vam aprofitar aquesta prova per fer una estimació del volum i de la qualitat de dades necessàries per entrenar un model. Per temes de privacitat no publiquem aquests models, però n’exposem alguns exemples. Les frases venen dels enregistraments de la validació, és a dir no van entrar a l’entrenament del model.


Artur Mas:

Original Catotron


Diverses frases llegides per totes les veus entrenades:

Festcat Ona Festcat Pau Artur Mas



Com es pot utilitzar:

Per ara, pels usuaris individuals la síntesi és només possible a través de la interfície del Google Colaboratory on es poden aprofitar els GPUs de Google gratuïtament. En unes setmanes publicarem una pàgina en què els visitants podran sintetitzar paraules curtes.

Com es poden entrenar noves veus: Amb les eines publicades, és a dir el codi i els models, ja és possible adaptar la veu mitjançant l’aprenentatge per transferència (transfer learning) a partir dels models publicats i enregistraments d’un/a locutor/a. El nostre exemple de catotron-transfer-learning.ipynb explica els passos necessaris de com fer-ho. En aquesta llibreta específica, s’entrena la veu de Pau a partir dels models d’Ona, aprofitant els recursos computacionals gratuïts de Google.

Contribuïdors:

  • Baybars Külebi (Col·lectivaT)
  • Santiago Pascual (Universitat Politècnica de Catalunya)
  • Alex Peiro Lilja (Universitat Pompeu Fabra)
  • Alp Öktem (Col·lectivaT)

Aquests recursos van ser desenvolupats gràcies al projecte «síntesi de la parla contra la bretxa digital» subvencionat pel Departament de Cultura. Una part dels fons provenen dels cabals que atorga la Junta d’Herències de la Generalitat de Catalunya.