Spaces:
Running
Running
Ronaldo commited on
Commit ·
faeb342
1
Parent(s): 2651de0
update
Browse files
app.py
CHANGED
|
@@ -137,8 +137,20 @@ def synthesize_speech(text, language):
|
|
| 137 |
outputs = model(**inputs)
|
| 138 |
waveform = outputs.waveform.cpu().numpy().flatten()
|
| 139 |
|
| 140 |
-
#
|
| 141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 142 |
|
| 143 |
except Exception as e:
|
| 144 |
logger.error(f"Erreur TTS: {e}")
|
|
|
|
| 137 |
outputs = model(**inputs)
|
| 138 |
waveform = outputs.waveform.cpu().numpy().flatten()
|
| 139 |
|
| 140 |
+
# Récupère le taux d'échantillonnage réel du modèle
|
| 141 |
+
sample_rate = model.config.sampling_rate
|
| 142 |
+
|
| 143 |
+
# Normalise l'amplitude pour une meilleure qualité audio
|
| 144 |
+
max_val = np.abs(waveform).max()
|
| 145 |
+
if max_val > 0:
|
| 146 |
+
# Normalise entre -0.95 et 0.95 pour éviter la saturation
|
| 147 |
+
waveform = (waveform / max_val) * 0.95
|
| 148 |
+
|
| 149 |
+
# Convertit en int16 pour une meilleure qualité
|
| 150 |
+
waveform_int16 = (waveform * 32767).astype(np.int16)
|
| 151 |
+
|
| 152 |
+
# Retourne au format (sample_rate, audio_array) pour Gradio
|
| 153 |
+
return (sample_rate, waveform_int16), f"✅ Audio généré ({len(waveform_int16)} samples @ {sample_rate}Hz)!"
|
| 154 |
|
| 155 |
except Exception as e:
|
| 156 |
logger.error(f"Erreur TTS: {e}")
|