Spaces:
Sleeping
Sleeping
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):
|