Mostra fonemes
Browse files
app.py
CHANGED
@@ -8,11 +8,14 @@ import os
|
|
8 |
import json
|
9 |
from TTS.utils.manage import ModelManager
|
10 |
from TTS.utils.synthesizer import Synthesizer
|
|
|
11 |
|
12 |
MAX_TXT_LEN = 100
|
13 |
|
14 |
SPEAKERS = ['f_cen_05', 'f_cen_81', 'f_occ_31', 'f_occ_de', 'f_sep_31', 'm_cen_08', 'm_occ_44', 'm_val_89']
|
15 |
|
|
|
|
|
16 |
def carrega_bsc():
|
17 |
model_path = os.getcwd() + "/models/bsc/best_model.pth"
|
18 |
config_path = os.getcwd() + "/models/bsc/config.json"
|
@@ -77,15 +80,29 @@ def tts(text, speaker_idx):
|
|
77 |
fp.write(wav_piper)
|
78 |
fp_piper = fp.name
|
79 |
|
80 |
-
|
|
|
|
|
81 |
|
82 |
|
83 |
description="""
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
|
86 |
-
|
87 |
|
88 |
-
|
|
|
89 |
"""
|
90 |
article= ""
|
91 |
|
@@ -99,11 +116,12 @@ iface = gr.Interface(
|
|
99 |
gr.Dropdown(label="Selecciona un parlant", choices=SPEAKERS, default="ona")
|
100 |
],
|
101 |
outputs=[
|
|
|
102 |
gr.Audio(label="BSC VITS",type="filepath"),
|
103 |
gr.Audio(label="Collectivat Fastspeech",type="filepath"),
|
104 |
gr.Audio(label="Piper VITS",type="filepath")
|
105 |
],
|
106 |
-
title="
|
107 |
description=description,
|
108 |
article=article,
|
109 |
allow_flagging="never",
|
|
|
8 |
import json
|
9 |
from TTS.utils.manage import ModelManager
|
10 |
from TTS.utils.synthesizer import Synthesizer
|
11 |
+
from espeak_phonemizer import Phonemizer
|
12 |
|
13 |
MAX_TXT_LEN = 100
|
14 |
|
15 |
SPEAKERS = ['f_cen_05', 'f_cen_81', 'f_occ_31', 'f_occ_de', 'f_sep_31', 'm_cen_08', 'm_occ_44', 'm_val_89']
|
16 |
|
17 |
+
fonemitzador = Phonemizer("ca")
|
18 |
+
|
19 |
def carrega_bsc():
|
20 |
model_path = os.getcwd() + "/models/bsc/best_model.pth"
|
21 |
config_path = os.getcwd() + "/models/bsc/config.json"
|
|
|
80 |
fp.write(wav_piper)
|
81 |
fp_piper = fp.name
|
82 |
|
83 |
+
fonemes = fonemitzador.phonemize(text)
|
84 |
+
|
85 |
+
return fonemes, fp_bsc, fp_coll, fp_piper
|
86 |
|
87 |
|
88 |
description="""
|
89 |
+
Amb aquesta aplicació podeu sintetitzar text a veu amb els últims models lliures pel català.
|
90 |
+
|
91 |
+
1. Model multi-parlant VITS entrenat pel BSC (Projecte Aina)
|
92 |
+
https://huggingface.co/projecte-aina/tts-ca-coqui-vits-multispeaker
|
93 |
+
|
94 |
+
2. Model Fastspeech entrenat per Col·lectivat
|
95 |
+
https://github.com/CollectivaT-dev/TTS-API
|
96 |
+
|
97 |
+
3. Model VITS entrenat per Piper/Home Assistant
|
98 |
+
https://github.com/rhasspy/piper
|
99 |
+
|
100 |
+
Els dós últims models han estat entrenats amb la veu d'Ona de FestCAT, que va servir com a base per a les veus catalanes de Festival
|
101 |
|
102 |
+
El primer model conté moltes veus de qualitat variable. Podeu sel·leccionar-ne una altre al desplegable. La veu d'Ona esta sel·leccionada per defecte per la comparativa.
|
103 |
|
104 |
+
Aquesta aplicació fa servir l'últim estat de l'espeak millorat per Carme Armentano del BSC
|
105 |
+
https://github.com/projecte-aina/espeak-ng
|
106 |
"""
|
107 |
article= ""
|
108 |
|
|
|
116 |
gr.Dropdown(label="Selecciona un parlant", choices=SPEAKERS, default="ona")
|
117 |
],
|
118 |
outputs=[
|
119 |
+
gr.Textbox(label="Fonemes"),
|
120 |
gr.Audio(label="BSC VITS",type="filepath"),
|
121 |
gr.Audio(label="Collectivat Fastspeech",type="filepath"),
|
122 |
gr.Audio(label="Piper VITS",type="filepath")
|
123 |
],
|
124 |
+
title="Comparativa de síntesi lliure en català️",
|
125 |
description=description,
|
126 |
article=article,
|
127 |
allow_flagging="never",
|