Update app.py
Browse files
app.py
CHANGED
@@ -3,12 +3,13 @@ import torch
|
|
3 |
import gradio as gr
|
4 |
import numpy as np
|
5 |
from transformers import WhisperProcessor, WhisperForConditionalGeneration
|
6 |
-
from
|
7 |
from gtts import gTTS
|
8 |
import librosa
|
9 |
import tempfile
|
10 |
import soundfile as sf
|
11 |
|
|
|
12 |
class RealTimeTranslator:
|
13 |
def __init__(self):
|
14 |
# Initialize Whisper model for speech recognition
|
@@ -19,9 +20,6 @@ class RealTimeTranslator:
|
|
19 |
self.device = "cuda" if torch.cuda.is_available() else "cpu"
|
20 |
self.model = self.model.to(self.device)
|
21 |
|
22 |
-
# Initialize translator
|
23 |
-
self.translator = Translator()
|
24 |
-
|
25 |
# Supported languages
|
26 |
self.languages = {
|
27 |
'en': 'English',
|
@@ -47,9 +45,12 @@ class RealTimeTranslator:
|
|
47 |
return transcription[0]
|
48 |
|
49 |
def translate_text(self, text, source_lang, target_lang):
|
50 |
-
"""Translate text using
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
53 |
|
54 |
def text_to_speech(self, text, target_lang):
|
55 |
"""Convert text to speech using gTTS"""
|
@@ -90,6 +91,7 @@ class RealTimeTranslator:
|
|
90 |
except Exception as e:
|
91 |
return None, f"Error: {str(e)}", f"Error: {str(e)}"
|
92 |
|
|
|
93 |
def create_gradio_interface():
|
94 |
translator = RealTimeTranslator()
|
95 |
|
@@ -116,6 +118,7 @@ def create_gradio_interface():
|
|
116 |
)
|
117 |
return demo
|
118 |
|
|
|
119 |
if __name__ == "__main__":
|
120 |
demo = create_gradio_interface()
|
121 |
-
demo.launch(share=True, debug=True)
|
|
|
3 |
import gradio as gr
|
4 |
import numpy as np
|
5 |
from transformers import WhisperProcessor, WhisperForConditionalGeneration
|
6 |
+
from deep_translator import GoogleTranslator
|
7 |
from gtts import gTTS
|
8 |
import librosa
|
9 |
import tempfile
|
10 |
import soundfile as sf
|
11 |
|
12 |
+
|
13 |
class RealTimeTranslator:
|
14 |
def __init__(self):
|
15 |
# Initialize Whisper model for speech recognition
|
|
|
20 |
self.device = "cuda" if torch.cuda.is_available() else "cpu"
|
21 |
self.model = self.model.to(self.device)
|
22 |
|
|
|
|
|
|
|
23 |
# Supported languages
|
24 |
self.languages = {
|
25 |
'en': 'English',
|
|
|
45 |
return transcription[0]
|
46 |
|
47 |
def translate_text(self, text, source_lang, target_lang):
|
48 |
+
"""Translate text using deep-translator"""
|
49 |
+
try:
|
50 |
+
translated_text = GoogleTranslator(source=source_lang, target=target_lang).translate(text)
|
51 |
+
return translated_text
|
52 |
+
except Exception as e:
|
53 |
+
return f"Translation error: {str(e)}"
|
54 |
|
55 |
def text_to_speech(self, text, target_lang):
|
56 |
"""Convert text to speech using gTTS"""
|
|
|
91 |
except Exception as e:
|
92 |
return None, f"Error: {str(e)}", f"Error: {str(e)}"
|
93 |
|
94 |
+
|
95 |
def create_gradio_interface():
|
96 |
translator = RealTimeTranslator()
|
97 |
|
|
|
118 |
)
|
119 |
return demo
|
120 |
|
121 |
+
|
122 |
if __name__ == "__main__":
|
123 |
demo = create_gradio_interface()
|
124 |
+
demo.launch(share=True, debug=True)
|