papasega commited on
Commit
6fcce5e
1 Parent(s): ea38e99

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +63 -63
app.py CHANGED
@@ -1,48 +1,10 @@
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 httpcore
32
  import gradio as gr
33
  from transformers import pipeline
34
  import numpy as np
35
- setattr(httpcore, 'SyncHTTPTransport', object)
36
 
37
- from googletrans import Translator
38
- import time
39
-
40
- # Initialisation du modèle de transcription
41
  transcriber = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-arabic")
42
- # Initialisation du traducteur
43
- translator = Translator()
44
 
45
- def transcribe_and_translate(stream, new_chunk):
46
  sr, y = new_chunk
47
  y = y.astype(np.float32)
48
  y /= np.max(np.abs(y))
@@ -51,34 +13,72 @@ def transcribe_and_translate(stream, new_chunk):
51
  stream = np.concatenate([stream, y])
52
  else:
53
  stream = y
54
-
55
- # Transcription du texte
56
- transcription = transcriber({"sampling_rate": sr, "raw": stream})["text"]
57
- # Traduction du texte transcrit
58
- time.sleep(5)
59
- translation = translator.translate(transcription, src='ar', dest='fr').text
60
- return stream, transcription, translation
61
-
62
- # Création de l'interface Gradio
63
  demo = gr.Interface(
64
- fn=transcribe_and_translate,
65
- inputs=[
66
- gr.State(),
67
- gr.Audio(sources=["microphone"], streaming=True)
68
- ],
69
- outputs=[
70
- gr.State(),
71
- gr.Textbox(label="Texte en Arabe"),
72
- gr.Textbox(label="Traduction en Français")
73
- ],
74
- live=True,
75
- title="S2T: Transcription et traduction automatiques en LIVE de l'arabe en texte français by PS-WADE",
76
- 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."
77
  )
78
 
79
- # Lancement de l'application Gradio
80
-
81
  demo.launch(share=True, show_error=True)
82
 
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
  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 httpcore
32
+ # import gradio as gr
33
+ # from transformers import pipeline
34
+ # import numpy as np
35
+ # setattr(httpcore, 'SyncHTTPTransport', object)
36
+
37
+ # from googletrans import Translator
38
+ # import time
39
+
40
+ # # Initialisation du modèle de transcription
41
+ # transcriber = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-arabic")
42
+ # # Initialisation du traducteur
43
+ # translator = Translator()
44
+
45
+ # def transcribe_and_translate(stream, new_chunk):
46
+ # sr, y = new_chunk
47
+ # y = y.astype(np.float32)
48
+ # y /= np.max(np.abs(y))
49
+
50
+ # if stream is not None:
51
+ # stream = np.concatenate([stream, y])
52
+ # else:
53
+ # stream = y
54
+
55
+ # # Transcription du texte
56
+ # transcription = transcriber({"sampling_rate": sr, "raw": stream})["text"]
57
+ # # Traduction du texte transcrit
58
+ # time.sleep(5)
59
+ # translation = translator.translate(transcription, src='ar', dest='fr').text
60
+ # return stream, transcription, translation
61
+
62
+ # # Création de l'interface Gradio
63
+ # demo = gr.Interface(
64
+ # fn=transcribe_and_translate,
65
+ # inputs=[
66
+ # gr.State(),
67
+ # gr.Audio(sources=["microphone"], streaming=True)
68
+ # ],
69
+ # outputs=[
70
+ # gr.State(),
71
+ # gr.Textbox(label="Texte en Arabe"),
72
+ # gr.Textbox(label="Traduction en Français")
73
+ # ],
74
+ # live=True,
75
+ # title="S2T: Transcription et traduction automatiques en LIVE de l'arabe en texte français by PS-WADE",
76
+ # 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."
77
+ # )
78
+
79
+ # # Lancement de l'application Gradio
80
+
81
+ # demo.launch(share=True, show_error=True)
82
+
83
+
84