dieumercimvemba commited on
Commit
cf82523
·
verified ·
1 Parent(s): 8763b99

VERSION TACOTRON 2

Browse files
Files changed (1) hide show
  1. data/generate_audio.py +26 -16
data/generate_audio.py CHANGED
@@ -2,35 +2,42 @@
2
  import sys
3
  import os
4
  import json
5
- import wave
6
  from TTS.api import TTS
7
 
8
- if len(sys.argv) < 3:
9
- print("Usage: python3 generate_audio.py \"Votre texte ici\" /chemin/vers/fichier.wav", file=sys.stderr)
 
 
 
10
  sys.exit(1)
11
 
12
- text = sys.argv[1].replace('"', '')
13
- output_file = sys.argv[2]
14
 
15
  try:
16
  print("Chargement du modèle Coqui TTS Tacotron 2 DDC sur CPU...", file=sys.stderr)
17
-
18
- # CHARGEMENT DU MODÈLE TACOTRON 2 (pour la meilleure qualité d'intonation)
19
- tts = TTS(model_name="tts_models/fr/css10/tacotron2-DDC", progress_bar=False, gpu=False)
20
-
 
 
 
 
21
  print(f"Génération de l'audio et sauvegarde vers {output_file}...", file=sys.stderr)
22
-
23
- # Génération
24
- tts.tts_to_file(text=text, file_path=output_file)
25
 
26
- # Calcul de la Durée
 
 
 
27
  print("Calcul de la durée de l'audio...", file=sys.stderr)
28
  with wave.open(output_file, 'rb') as wf:
29
  frames = wf.getnframes()
30
  rate = wf.getframerate()
31
  duration = frames / float(rate)
32
 
33
- # Sortie JSON
34
  output_data = {
35
  "audioPath": output_file,
36
  "duration": duration
@@ -38,5 +45,8 @@ try:
38
  print(json.dumps(output_data))
39
 
40
  except Exception as e:
41
- print(f"Erreur lors de la génération ou du calcul de durée : {e}", file=sys.stderr)
42
- sys.exit(1)
 
 
 
 
2
  import sys
3
  import os
4
  import json
5
+ import wave
6
  from TTS.api import TTS
7
 
8
+ if len(sys.argv) < 3:
9
+ print(
10
+ "Usage: python3 generate_audio.py \"Votre texte ici\" /chemin/vers/fichier.wav",
11
+ file=sys.stderr
12
+ )
13
  sys.exit(1)
14
 
15
+ text = sys.argv[1].replace('"', '')
16
+ output_file = sys.argv[2]
17
 
18
  try:
19
  print("Chargement du modèle Coqui TTS Tacotron 2 DDC sur CPU...", file=sys.stderr)
20
+
21
+ # CHARGEMENT DU MODÈLE TACOTRON 2 (meilleure qualité dintonation FR)
22
+ tts = TTS(
23
+ model_name="tts_models/fr/css10/tacotron2-DDC",
24
+ progress_bar=False,
25
+ gpu=False
26
+ )
27
+
28
  print(f"Génération de l'audio et sauvegarde vers {output_file}...", file=sys.stderr)
 
 
 
29
 
30
+ # Génération de l’audio
31
+ tts.tts_to_file(text=text, file_path=output_file)
32
+
33
+ # Calcul de la durée de l’audio
34
  print("Calcul de la durée de l'audio...", file=sys.stderr)
35
  with wave.open(output_file, 'rb') as wf:
36
  frames = wf.getnframes()
37
  rate = wf.getframerate()
38
  duration = frames / float(rate)
39
 
40
+ # Sortie JSON (pour n8n / API / pipeline)
41
  output_data = {
42
  "audioPath": output_file,
43
  "duration": duration
 
45
  print(json.dumps(output_data))
46
 
47
  except Exception as e:
48
+ print(
49
+ f"Erreur lors de la génération ou du calcul de durée : {e}",
50
+ file=sys.stderr
51
+ )
52
+ sys.exit(1)