## 📄 Sobre
TTS natural i eficient en català: utilitzant Matcha-TTS amb la llengua catalana.
Aquí trobaràs tota la informació sobre els nostres models Matxa 🍵 i alVoCat 🥑 , els quals han estat entrenats amb l'ús de l'aprenentatge profund. Si desitges informació específica sobre com entrenar aquests models, pots trobar-la [aquí](https://huggingface.co/BSC-LT/matcha-tts-cat-multispeaker) i [aquí](https://huggingface.co/BSC-LT/vocos-mel-22khz-cat) respectivament. El codi que hem utilitzat també es troba a Github [aquí](https://github.com/langtech-bsc/Matcha-TTS/tree/dev-cat).
## Taula de continguts
Fes clic per expandir
- [Descripció general del model](#descripció-general-del-model)
- [Usos previstos i limitacions](#usos-previstos-i-limitacions)
- [Mostres](#mostres)
- [Components principals](#components-principals)
- [El model en detall](#el-model-en-detall)
- [Adaptació al català](#adaptació-al-català)
- [Citació](#citació)
- [Informació adicional](#informació-adicional)
## Descripció general del model
La importància de les tecnologies de text-a-veu (TTS) de codi obert per a les llengües minoritàries mai és exagerada. Aquestes tecnologies democratitzen l'accés a les solucions de TTS, proporcionant un marc perquè les comunitats desenvolupin i adapten models segons les seves necessitats lingüístiques. Per això, utilitzant un conjunt de tecnologies, hem desenvolupat diferents solucions de TTS de codi obert i en català.
En primer lloc, vam crear un [model TTS per al català central](https://huggingface.co/BSC-LT/matcha-tts-cat-multispeaker) ajustant el model en anglès de Matcha-TTS. Matcha-TTS és un model d'avantguarda que utilitza aprenentatge profund, una forma d'IA, per entrenar models que reprodueixen patrons de parla humana. D'aquesta manera, permet generar veus sintètiques realistes a partir de text escrit. Després d'això, vam ajustar aquest model en català central per a tres altres dialectes catalans:
* Balear
* Nord-Occidental
* Valencià
## Usos previstos i limitacions
Aquest model està destinat a servir com a generador de característiques acústiques per a sistemes de text-a-veu multi-parlant per a la llengua catalana.
Ha estat ajustat mitjançant un fonemitzador català, per tant, si el model s'utilitza amb altres llengües, pot ser que no produeixi mostres intel·ligibles després de traár la seva sortida en forma d'ona de veu.
La qualitat de les mostres pot variar segons el locutor.
Això pot ser degut tan per la sensibilitat del model en aprendre freqüències específiques com per a la qualitat de les mostres per a cada locutor.
## Mostres
* Mostres femenines:
Valencià
Nord-Occidental
Balear
* Mostres masculines:
Valencià
Nord-Occidental
Balear
## Components principals
El nostre model de text-a-veu adaptat per al català utilitza un procés amb diferentes etapes per a convertir el text escrit en paraules parlades de pronunciació precisa. Aquestes són les etapes:
1- Inicialment, el model analitza el text d'entrada, descomposant-lo en unitats lingüístiques més petites com ara paraules i frases. També, identifica qualsevol caràcter especial. A continuació, utilitza la nostra versió d'eSpeak, un fonemitzador de parla, per generar fonemes basats en les regles fonètiques de la llengua catalana. Per a cada accent català, s'apliquen certes regles d'eSpeak específicament adaptades.
2- El model matcha-TTS converteix aquests fonemes en un espectrograma mel, una representació visual de l'espectre de freqüències d'un so al llarg del temps.
3- Després, aquest espectrograma s'afegeix com a input a [la nostra adaptació del vocoder Vocos,](https://huggingface.co/BSC-LT/vocos-mel-22khz-cat), que sintetitza l'ona sonora.
Emprant aquesta sèrie d'etapes, el model de TTS assegura una pronunciació precisa i un discurs en català de so natural adaptat als matisos de la llengua. El còmput d'aquestes etapes va ser realitzat pel Marenostrum 5 del Centre Nacional de Supercomputació de Barcelona, i pel Finisterrae III de CESGA.
Junts, aquestes tecnologies formen una solució TTS completa, adaptada a les necessitats dels parlants de català i exemplificant el poder de les iniciatives de codi obert per avançar en la diversitat lingüística i la inclusió.
## El model en detall
**Matcha-TTS** és una arquitectura de codificador-decodificador dissenyada per a una modelització acústica ràpida en TTS.
D'una banda, la part del codificador es basa en un codificador de text i una predicció de duració fonèmica. Junts, prediuen una mitja de les característiques acústiques.
D'altra banda, el decodificador té bàsicament un esquelet U-Net inspirat en [Grad-TTS](https://arxiv.org/pdf/2105.06337.pdf), que es basa en l'arquitectura Transformer.
En aquest últim, substituint CNNs 2D per CNNs 1D, s'aconsegueix una gran reducció en el consum de memòria i una síntesi ràpida.
**Matcha-TTS** és un model no autoregressiu entrenat amb emparellament de flux condicional d'optimització de transport (OT-CFM).
Això produeix un decodificador basat en ODE capaç de generar una alta qualitat de sortida en menys passos de síntesi que els models entrenats utilitzant score matching.
## Adaptació al català
El model original de Matcha-TTS excel·leix en anglès, però per portar les seves capacitats al català, es va dur a terme un procés multi-etapa. En primer lloc, vam ajustar el model d'anglès a català central, el que va establir les bases per entendre els matisos del llenguatge. Aquest primer ajust es va fer utilitzant dos conjunts de dades:
* [La nostra versió del conjunt de dades openslr-slr69.](https://huggingface.co/datasets/projecte-aina/openslr-slr69-ca-trimmed-denoised)
* Un conjunt de dades en català central, enregistrades en estudi i que aviat es publicaran.
* [La nostra versió del conjunt de dades Festcat.](https://huggingface.co/datasets/projecte-aina/festcat_trimmed_denoised)
Aquest conjunt de dades que aviat es publicarà també incloïa gravacions de tres dialectes diferents:
* Balear
* Nord-Occidental
* Valencià
Amb un locutor masculí i un femení per a cada dialecte.
Després, mitjançant l'ajustament per a aquests dialectes catalans específics, el model es va adaptar a les variacions regionals de pronunciació i cadència. Aquest enfocament meticulós garanteix que el model reflecteixi la riquesa lingüística i la diversitat cultural dins de la comunitat de parla catalana, oferint una comunicació fluida entre dialectes que prèviament no comptaven amb aquestes tecnologies.
A més de l'entrenament del model Matcha-TTS per al català, la integració del fonemitzador d'eSpeak va jugar un paper crucial en millorar la naturalitat i l'exactitud de la parla generada. Un sistema TTS consta de diversos components, cadascun dels quals contribueix a la qualitat global de la parla sintetitzada. El primer component implica el pre-processament de text, on el text d'entrada s'normalitza i s'analitza lingüísticament per identificar paraules, puntuació i característiques lingüístiques. A continuació, el text es converteix en fonemes, les unitats més petites de so en una llengua, a través d'un procés anomenat fonemització. Aquest pas és on el fonemitzador d'eSpeak destaca, ja que converteix amb precisió el text català en representacions fonètiques, capturant els subtils matisos de pronunciació específics del català. Podeu trobar la versió d'eSpeak que vam utilitzar [aquí](https://github.com/projecte-aina/espeak-ng/tree/dev-ca).
Després de la fonemització, els fonemes es passen al component de síntesi, on es transformen en parla audible. Aquí, el model Matxa pren protagonisme, generant una parla fluida i natural a partir de les representacions fonèmiques. L'ús d'un model de TTS entrenat específicament per al català, juntament amb el fonemitzador d'eSpeak, assegura una pronunciació precisa i una parla coherent, capturant la riquesa i la diversitat del català en tots els seus dialectes i varietats.
Finalment, el discurs sintetitzat passa per un post-processament, on s'apliquen característiques prosòdiques com el to, la durada i l'èmfasi per refinar encara més la sortida i fer-la sonar més natural i expressiva. Integrant el fonemitzador d'eSpeak en el flux de treball del TTS i adaptant-lo al català, juntament amb l'entrenament del model Matcha-TTS per al català, hem creat un sistema complet i efectiu per generar parla catalana de alta qualitat. Aquesta combinació de tècniques avançades i atenció meticulosa als detalls lingüístics és instrumental per superar les barreres lingüístiques i facilitar la comunicació per als parlants de català arreu del món.
## Citació
Si feu servir el model per a la vostra recerca o projecte, us agrairíem que citessiu el següent paper:
```
@misc{LTU2024,
title={Natural and efficient TTS in Catalan: using Matcha-TTS with the Catalan language},
author={The Language Technologies Unit from Barcelona Supercomputing Center},
year={2024},
}
```
```
@misc{mehta2024matchatts,
title={Matcha-TTS: A fast TTS architecture with conditional flow matching},
author={Shivam Mehta and Ruibo Tu and Jonas Beskow and Éva Székely and Gustav Eje Henter},
year={2024},
eprint={2309.03199},
archivePrefix={arXiv},
primaryClass={eess.AS}
}
```
## Informació addicional
### Autor
Unitat de Tecnologies del Llenguatge del Centre Nacional de Supercomputació de Barcelona.
### Contacte
Per a més informació, si us plau, envia un correu electrònic a .
### Copyright
Copyright(c) 2023 by Language Technologies Unit, Barcelona Supercomputing Center.
### Llicència
[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
### Finançament
Aquest treball ha estat promogut i finançat per la Generalitat de Catalunya a través del [Projecte Aina](https://projecteaina.cat/).