Update app.py
Browse files
app.py
CHANGED
@@ -151,27 +151,33 @@ def detect_language(audio_file):
|
|
151 |
try:
|
152 |
# Convert audio to WAV format
|
153 |
wav_path = convert_to_wav(audio_file)
|
|
|
154 |
|
155 |
# Define device and compute type for faster-whisper
|
156 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
157 |
compute_type = "float32" if device == "cuda" else "int8"
|
|
|
158 |
|
159 |
# Load the faster-whisper model for language detection
|
160 |
model = WhisperModel(MODELS["Faster Whisper Large v3"], device=device, compute_type=compute_type)
|
|
|
161 |
|
162 |
# Detect the language using faster-whisper
|
163 |
segments, info = model.transcribe(wav_path, task="translate", language=None)
|
164 |
detected_language_code = info.language
|
|
|
165 |
|
166 |
# Get the full language name from the code
|
167 |
detected_language = CODE_TO_LANGUAGE_NAME.get(detected_language_code, "Unknown Language")
|
|
|
168 |
|
169 |
# Clean up temporary WAV file
|
170 |
os.remove(wav_path)
|
|
|
171 |
|
172 |
return f"Detected Language: {detected_language}"
|
173 |
except Exception as e:
|
174 |
-
logger.error(f"Error in detect_language: {str(e)}")
|
175 |
return f"Error: {str(e)}"
|
176 |
|
177 |
def remove_silence(audio_file, silence_threshold=-40, min_silence_len=500):
|
|
|
151 |
try:
|
152 |
# Convert audio to WAV format
|
153 |
wav_path = convert_to_wav(audio_file)
|
154 |
+
logger.info(f"Audio file converted to WAV: {wav_path}")
|
155 |
|
156 |
# Define device and compute type for faster-whisper
|
157 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
158 |
compute_type = "float32" if device == "cuda" else "int8"
|
159 |
+
logger.info(f"Using device: {device}, compute_type: {compute_type}")
|
160 |
|
161 |
# Load the faster-whisper model for language detection
|
162 |
model = WhisperModel(MODELS["Faster Whisper Large v3"], device=device, compute_type=compute_type)
|
163 |
+
logger.info("Faster-Whisper model loaded successfully.")
|
164 |
|
165 |
# Detect the language using faster-whisper
|
166 |
segments, info = model.transcribe(wav_path, task="translate", language=None)
|
167 |
detected_language_code = info.language
|
168 |
+
logger.info(f"Detected language code: {detected_language_code}")
|
169 |
|
170 |
# Get the full language name from the code
|
171 |
detected_language = CODE_TO_LANGUAGE_NAME.get(detected_language_code, "Unknown Language")
|
172 |
+
logger.info(f"Detected language: {detected_language}")
|
173 |
|
174 |
# Clean up temporary WAV file
|
175 |
os.remove(wav_path)
|
176 |
+
logger.info("Temporary WAV file removed.")
|
177 |
|
178 |
return f"Detected Language: {detected_language}"
|
179 |
except Exception as e:
|
180 |
+
logger.error(f"Error in detect_language: {str(e)}", exc_info=True)
|
181 |
return f"Error: {str(e)}"
|
182 |
|
183 |
def remove_silence(audio_file, silence_threshold=-40, min_silence_len=500):
|