ANYANTUDRE commited on
Commit
09b20e1
·
1 Parent(s): 138a0f7

ameliorations code & texte

Browse files
app.py CHANGED
@@ -11,21 +11,50 @@ login(token=auth_token)
11
 
12
  # list all files in the ./audios directory for the dropdown
13
  AUDIO_FILES = [f for f in os.listdir('./exples_voix') if os.path.isfile(os.path.join('./exples_voix', f))]
14
- MODELES_TTS = ["ArissBandoss/coqui-tts-moore-V1", "ArissBandoss/mms-tts-mos-male-17-V5"]
15
- MODELES_ASR = ["ArissBandoss/whisper-small-mos", "openai/whisper-large-v3-turbo"]
 
 
16
  LANGUAGES = ["Automatic Detection"]
17
 
18
- DESCRIPTION = """<div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
19
- <div style="flex: 1; min-width: 250px;">
20
- Ce modèle de traduction vers la <b>langue Mooré</b> a été développé from scratch par <b>GO AI CORP</b> et la version disponible en test est celle à 700 millions de paramètres.
21
- <br><br>
22
- Pour les détails techniques sur l'architecture du modèle, prendre attache avec nous via WhatsApp au <b>+226 66 62 83 03</b>.
 
 
 
 
 
23
  </div>
24
- <div style="flex-shrink: 0; min-width: 150px; text-align: center;">
25
- <img src="https://github.com/ANYANTUDRE/Stage-IA-Selever-GO-AI-Corp/blob/main/img/goaicorp-logo2.jpg?raw=true" width="300px" style="max-width: 100%; height: auto;">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  </div>
27
- </div>
28
- """
29
 
30
 
31
  demo = gr.Blocks(theme=gr.themes.Soft())
@@ -33,50 +62,19 @@ demo = gr.Blocks(theme=gr.themes.Soft())
33
  goai_traduction_if = gr.Interface(
34
  fn=goai_traduction.goai_traduction,
35
  inputs=[
36
- gr.Textbox(label="Texte", placeholder="Yaa sõama"),
37
  gr.Dropdown(label="Langue source", choices=["fra_Latn", "mos_Latn"], value='fra_Latn'),
38
  gr.Dropdown(label="Langue cible", choices=["fra_Latn", "mos_Latn"], value='mos_Latn')
39
  ],
40
- outputs=["text"],
41
  examples=[["Yʋʋm a wãn la b kẽesd biig lekolle?", "mos_Latn", "fra_Latn"],
42
  ["Zak-soab la kasma.", "mos_Latn", "fra_Latn"],
43
  ["Le gouvernement avait pris des mesures louables par rapport à l’augmentation des prix de certaines denrées alimentaires.", "fra_Latn", "mos_Latn"],
44
  ["Comme lors du match face à la Côte d’Ivoire, c’est sur un coup de pied arrêté que les Etalons encaissent leur but.", "fra_Latn", "mos_Latn"],
45
  ],
46
  cache_examples=False,
47
- title="Traduction Mooré-Francais",
48
- description=DESCRIPTION
49
- )
50
-
51
- goai_stt_if = gr.Interface(
52
- fn=goai_stt2.transcribe,
53
- inputs=[
54
- gr.Audio(sources=["microphone", "upload"], type="filepath"),
55
- gr.Dropdown(
56
- choices=MODELES_ASR,
57
- value="ArissBandoss/whisper-small-mos",
58
- label="Model Name"
59
- ),
60
- gr.Dropdown(
61
- choices=LANGUAGES,
62
- value="Automatic Detection", # + sorted(get_language_names())
63
- label="Language",
64
- interactive = True,
65
- ),
66
- gr.Slider(label="Batch Size", minimum=1, maximum=32, value=8, step=1),
67
- gr.Slider(label="Chunk Length (s)", minimum=1, maximum=60, value=17.5, step=0.1),
68
- gr.Slider(label="Stride Length (s)", minimum=1, maximum=30, value=1, step=0.1),
69
- ],
70
- outputs=[gr.Textbox(label="Output"), gr.File(label="Download Files")],
71
- examples=[["./audios/example1.mp3", "a ye ligdi"],
72
- ["./audios/example2.mp3", "zoe nimbãanega"],
73
- ["./audios/example3.mp3", "zãng-zãnga"],
74
- ["./audios/example4.mp3", "yõk foto"]
75
- ],
76
- cache_examples=False,
77
- title="Mooré ASR",
78
- description=DESCRIPTION,
79
- flagging_mode="auto",
80
  )
81
 
82
  goai_ttt_tts_pipeline_if = gr.Interface(
@@ -107,14 +105,14 @@ goai_ttt_tts_pipeline_if = gr.Interface(
107
  gr.Text(label="Texte traduit"),
108
  gr.Audio(label="Audio généré", format="wav"),
109
  ],
110
- examples=[["Ils vont bien, merci. Mon père travaille dur dans les champs et ma mère est toujours occupée à la maison.", "exple_voix_masculine.wav", None],
111
- ["La finale s’est jouée en présence du Président du Faso, Ibrahim Traoré.", "exple_voix_feminine.wav", None],
112
- ["Les enfants apprennent les danses traditionnelles de leurs ancêtres, jouent à des jeux traditionnels dans les rues et aident leurs parents dans les tâches quotidiennes.", "exple_voix_masculine.wav", None],
113
- ["Ils achetèrent des troupeaux, firent construire des cases, parcoururent tout le pays pour offrir à leur mère et à leurs femmes les plus beaux bijoux, les plus belles étoffes.", "exple_voix_feminine.wav", None]
114
  ],
115
  cache_examples=False,
116
  title="Mooré TTS & Traduction",
117
- description=DESCRIPTION,
118
  )
119
 
120
 
@@ -141,21 +139,22 @@ goai_stt_ttt_pipeline_if = gr.Interface(
141
  gr.Textbox(label="Texte Mooré"),
142
  gr.Textbox(label="Texte Francais"),
143
  ],
144
- examples=[["./audios/example1.mp3", "a ye ligdi"],
145
- ["./audios/example2.mp3", "zoe nimbãanega"],
146
- ["./audios/example3.mp3", "zãng-zãnga"],
147
- ["./audios/example4.mp3", "yõk foto"]
148
  ],
149
  cache_examples=False,
150
  title="Mooré ASR & Traduction",
151
- description=DESCRIPTION,
152
  flagging_mode="auto",
153
  )
154
 
 
155
  with demo:
156
  gr.TabbedInterface(
157
- interface_list=[goai_traduction_if, goai_stt_if, goai_ttt_tts_pipeline_if, goai_stt_ttt_pipeline_if],
158
- tab_names=["Traduction Mooré-Francais", "Mooré ASR", "Mooré TTS & Traduction", "Mooré ASR & Traduction"]
159
  )
160
 
161
  demo.queue().launch(ssr_mode=False)
 
11
 
12
  # list all files in the ./audios directory for the dropdown
13
  AUDIO_FILES = [f for f in os.listdir('./exples_voix') if os.path.isfile(os.path.join('./exples_voix', f))]
14
+ MODELES_TTS = ["ArissBandoss/coqui-tts-moore-V1", "ArissBandoss/mms-tts-mos-V2"]
15
+ MODELES_ASR = ["ArissBandoss/whisper-small-mos",
16
+ #"openai/whisper-large-v3-turbo"
17
+ ]
18
  LANGUAGES = ["Automatic Detection"]
19
 
20
+ DESCRIPTION_TTT = """<div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
21
+ <div style="flex: 1; min-width: 250px;">
22
+ Cette 1ère interface sert à démontrer les performances du modèle d'IA de traduction de la <b>langue Mooré</b> vers la langue <b>Francaise</b> et vice-versa.
23
+ Ce modèle a été concu, développé et maintenu par <b>GO AI CORP</b> et la version disponible en test est celle à 700 millions de paramètres.
24
+ <br><br>
25
+ Pour plus de détails sur ce projet ou pour toute collaboration, veuillez prendre attache avec nous via WhatsApp au <b>+226 66 62 83 03</b>.
26
+ </div>
27
+ <div style="flex-shrink: 0; min-width: 150px; text-align: center;">
28
+ <img src="https://github.com/ANYANTUDRE/Stage-IA-Selever-GO-AI-Corp/blob/main/img/goaicorp-logo2.jpg?raw=true" width="300px" style="max-width: 100%; height: auto;">
29
+ </div>
30
  </div>
31
+ """
32
+
33
+ DESCRIPTION_TTS = """<div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
34
+ <div style="flex: 1; min-width: 250px;">
35
+ Cette 2ème interface sert à démontrer les performances des modèles de <b>synthèse vocale</b> du <b>Mooré</b> qui ont été concus, développés et maintenus par <b>GO AI CORP</b>.
36
+ Pour l'instant, deux modèles sont mis à disposition pour tests.
37
+ <br><br>
38
+ Pour plus de détails sur ce projet ou pour toute collaboration, veuillez prendre attache avec nous via WhatsApp au <b>+226 66 62 83 03</b>.
39
+ </div>
40
+ <div style="flex-shrink: 0; min-width: 150px; text-align: center;">
41
+ <img src="https://github.com/ANYANTUDRE/Stage-IA-Selever-GO-AI-Corp/blob/main/img/goaicorp-logo2.jpg?raw=true" width="300px" style="max-width: 100%; height: auto;">
42
+ </div>
43
+ </div>
44
+ """
45
+
46
+ DESCRIPTION_STT = """<div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
47
+ <div style="flex: 1; min-width: 250px;">
48
+ Cette 3ème interface sert à démontrer les performances des modèles de <b>transcription</b> du <b>Mooré</b> qui ont été concus, développés et maintenus par <b>GO AI CORP</b>.
49
+ Pour l'instant, deux modèles sont mis à disposition pour tests.
50
+ <br><br>
51
+ Pour plus de détails sur ce projet ou pour toute collaboration, veuillez prendre attache avec nous via WhatsApp au <b>+226 66 62 83 03</b>.
52
+ </div>
53
+ <div style="flex-shrink: 0; min-width: 150px; text-align: center;">
54
+ <img src="https://github.com/ANYANTUDRE/Stage-IA-Selever-GO-AI-Corp/blob/main/img/goaicorp-logo2.jpg?raw=true" width="300px" style="max-width: 100%; height: auto;">
55
+ </div>
56
  </div>
57
+ """
 
58
 
59
 
60
  demo = gr.Blocks(theme=gr.themes.Soft())
 
62
  goai_traduction_if = gr.Interface(
63
  fn=goai_traduction.goai_traduction,
64
  inputs=[
65
+ gr.Textbox(label="Texte à traduire", placeholder="La, pagã sɩd talla raadã n tɩ lebs kãangã pʋgẽ, n na n paam a menga. Rẽ wã yĩnga, sẽn kisa, sɩd kisame. Sẽn ka maande, sɩd ka maand ye."),
66
  gr.Dropdown(label="Langue source", choices=["fra_Latn", "mos_Latn"], value='fra_Latn'),
67
  gr.Dropdown(label="Langue cible", choices=["fra_Latn", "mos_Latn"], value='mos_Latn')
68
  ],
69
+ outputs=["Texte traduit"],
70
  examples=[["Yʋʋm a wãn la b kẽesd biig lekolle?", "mos_Latn", "fra_Latn"],
71
  ["Zak-soab la kasma.", "mos_Latn", "fra_Latn"],
72
  ["Le gouvernement avait pris des mesures louables par rapport à l’augmentation des prix de certaines denrées alimentaires.", "fra_Latn", "mos_Latn"],
73
  ["Comme lors du match face à la Côte d’Ivoire, c’est sur un coup de pied arrêté que les Etalons encaissent leur but.", "fra_Latn", "mos_Latn"],
74
  ],
75
  cache_examples=False,
76
+ title="Traduction Mooré-Francais, Francais-Mooré",
77
+ description=DESCRIPTION_TTT
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  )
79
 
80
  goai_ttt_tts_pipeline_if = gr.Interface(
 
105
  gr.Text(label="Texte traduit"),
106
  gr.Audio(label="Audio généré", format="wav"),
107
  ],
108
+ examples=[["Ils vont bien, merci. Mon père travaille dur dans les champs et ma mère est toujours occupée à la maison.", "exple_voix_masculine.wav", "ArissBandoss/coqui-tts-moore-V1"],
109
+ ["La finale s’est jouée en présence du Président du Faso, Ibrahim Traoré.", "exple_voix_feminine.wav", "ArissBandoss/coqui-tts-moore-V1"],
110
+ ["Les enfants apprennent les danses traditionnelles de leurs ancêtres, jouent à des jeux traditionnels dans les rues et aident leurs parents dans les tâches quotidiennes.", "exple_voix_masculine.wav", "ArissBandoss/coqui-tts-moore-V1"],
111
+ ["Ils achetèrent des troupeaux, firent construire des cases, parcoururent tout le pays pour offrir à leur mère et à leurs femmes les plus beaux bijoux, les plus belles étoffes.", "exple_voix_feminine.wav", "ArissBandoss/coqui-tts-moore-V1"]
112
  ],
113
  cache_examples=False,
114
  title="Mooré TTS & Traduction",
115
+ description=DESCRIPTION_TTS,
116
  )
117
 
118
 
 
139
  gr.Textbox(label="Texte Mooré"),
140
  gr.Textbox(label="Texte Francais"),
141
  ],
142
+ examples=[["./audios/example1.mp3", "ArissBandoss/whisper-small-mos"],
143
+ ["./audios/example2.mp3", "ArissBandoss/whisper-small-mos"],
144
+ ["./audios/example3.mp3", "ArissBandoss/whisper-small-mos"],
145
+ ["./audios/example4.mp3", "ArissBandoss/whisper-small-mos"]
146
  ],
147
  cache_examples=False,
148
  title="Mooré ASR & Traduction",
149
+ description=DESCRIPTION_STT,
150
  flagging_mode="auto",
151
  )
152
 
153
+
154
  with demo:
155
  gr.TabbedInterface(
156
+ interface_list=[goai_traduction_if, goai_ttt_tts_pipeline_if, goai_stt_ttt_pipeline_if],
157
+ tab_names=["Traduction Mooré-Francais", "Mooré TTS & Traduction", "Mooré ASR & Traduction"]
158
  )
159
 
160
  demo.queue().launch(ssr_mode=False)
goai_helpers/goai_tts.py CHANGED
@@ -32,7 +32,7 @@ def goai_tts(texte):
32
  start_time = time.time()
33
 
34
  # Charger le modèle TTS avec le token d'authentification
35
- model_id = "ArissBandoss/mms-tts-mos-male-17-V5"
36
  synthesiser = pipeline("text-to-speech", model_id, device=device)
37
 
38
  # Inférence
 
32
  start_time = time.time()
33
 
34
  # Charger le modèle TTS avec le token d'authentification
35
+ model_id = "ArissBandoss/mms-tts-mos-V2"
36
  synthesiser = pipeline("text-to-speech", model_id, device=device)
37
 
38
  # Inférence
goai_helpers/goai_ttt_tts_pipeline.py CHANGED
@@ -21,7 +21,7 @@ def goai_many_tts(
21
  reference_audio=None,
22
  ):
23
 
24
- if tts_model == "ArissBandoss/coqui-tts-moore-V1":
25
  # TTS pipeline
26
  tts = MooreTTS(tts_model)
27
  reference_speaker = os.path.join("./exples_voix", reference_speaker)
@@ -34,7 +34,7 @@ def goai_many_tts(
34
 
35
  return sampling_rate, audio_array.numpy()
36
 
37
- elif tts_model == "ArissBandoss/mms-tts-mos-male-17-V5":
38
  sample_rate, audio_data = goai_tts(text)
39
  return sample_rate, audio_data
40
 
 
21
  reference_audio=None,
22
  ):
23
 
24
+ if "coqui" in tts_model:
25
  # TTS pipeline
26
  tts = MooreTTS(tts_model)
27
  reference_speaker = os.path.join("./exples_voix", reference_speaker)
 
34
 
35
  return sampling_rate, audio_array.numpy()
36
 
37
+ elif "mms" in tts_model:
38
  sample_rate, audio_data = goai_tts(text)
39
  return sample_rate, audio_data
40