papasega commited on
Commit
fe4637e
·
verified ·
1 Parent(s): 6ba35ec

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -9
app.py CHANGED
@@ -1,10 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  from transformers import pipeline
3
  import numpy as np
 
4
 
 
5
  transcriber = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-arabic")
 
 
6
 
7
- def transcribe(stream, new_chunk):
8
  sr, y = new_chunk
9
  y = y.astype(np.float32)
10
  y /= np.max(np.abs(y))
@@ -13,16 +47,21 @@ def transcribe(stream, new_chunk):
13
  stream = np.concatenate([stream, y])
14
  else:
15
  stream = y
16
- return stream, transcriber({"sampling_rate": sr, "raw": stream})["text"]
17
-
 
 
 
18
 
 
19
  demo = gr.Interface(
20
- transcribe,
21
  ["state", gr.Audio(sources=["microphone"], streaming=True)],
22
- ["state", "text"],
23
- live=True, title="S2T: Transcription automatique en LIVE de l'arabe en text by PS-WADE",
24
- description="Parlez en arabe dans le microphone. La transcription commence en quelques secondes. Attendez un moment après avoir terminé pour voir le reste de la transcription"
 
25
  )
26
 
27
-
28
- demo.launch(share=True, show_error=True)
 
1
+ # import gradio as gr
2
+ # from transformers import pipeline
3
+ # import numpy as np
4
+
5
+ # transcriber = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-arabic")
6
+
7
+ # def transcribe(stream, new_chunk):
8
+ # sr, y = new_chunk
9
+ # y = y.astype(np.float32)
10
+ # y /= np.max(np.abs(y))
11
+
12
+ # if stream is not None:
13
+ # stream = np.concatenate([stream, y])
14
+ # else:
15
+ # stream = y
16
+ # return stream, transcriber({"sampling_rate": sr, "raw": stream})["text"]
17
+
18
+
19
+ # demo = gr.Interface(
20
+ # transcribe,
21
+ # ["state", gr.Audio(sources=["microphone"], streaming=True)],
22
+ # ["state", "text"],
23
+ # live=True, title="S2T: Transcription automatique en LIVE de l'arabe en text by PS-WADE",
24
+ # description="Parlez en arabe dans le microphone. La transcription commence en quelques secondes. Attendez un moment après avoir terminé pour voir le reste de la transcription"
25
+ # )
26
+
27
+
28
+ # demo.launch(share=True, show_error=True)
29
+
30
+
31
  import gradio as gr
32
  from transformers import pipeline
33
  import numpy as np
34
+ from googletrans import Translator
35
 
36
+ # Initialisation du modèle de transcription
37
  transcriber = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-arabic")
38
+ # Initialisation du traducteur
39
+ translator = Translator()
40
 
41
+ def transcribe_and_translate(stream, new_chunk):
42
  sr, y = new_chunk
43
  y = y.astype(np.float32)
44
  y /= np.max(np.abs(y))
 
47
  stream = np.concatenate([stream, y])
48
  else:
49
  stream = y
50
+ # Transcription du texte
51
+ transcription = transcriber({"sampling_rate": sr, "raw": stream})["text"]
52
+ # Traduction du texte transcrit
53
+ translation = translator.translate(transcription, src='ar', dest='fr').text
54
+ return stream, transcription, translation
55
 
56
+ # Création de l'interface Gradio
57
  demo = gr.Interface(
58
+ transcribe_and_translate,
59
  ["state", gr.Audio(sources=["microphone"], streaming=True)],
60
+ ["state", "text", "text"],
61
+ live=True,
62
+ title="S2T: Transcription et traduction automatiques en LIVE de l'arabe en texte français by PS-WADE",
63
+ description="Parlez en arabe dans le microphone. La transcription et la traduction commencent en quelques secondes. Attendez un moment après avoir terminé pour voir le reste de la transcription et la traduction."
64
  )
65
 
66
+ # Lancement de l'application Gradio
67
+ demo.launch(share=True, show_error=True)