Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -23,20 +23,25 @@ def transcribe_audio(audio_file):
|
|
23 |
|
24 |
# Transcribe each chunk and collect results
|
25 |
transcriptions = []
|
26 |
-
|
27 |
|
28 |
for chunk in chunks:
|
29 |
# Enable language detection and transcription
|
30 |
-
result = model(chunk,
|
31 |
transcriptions.append(result["text"])
|
32 |
-
|
|
|
|
|
|
|
|
|
33 |
os.remove(chunk) # Clean up chunk files
|
34 |
|
35 |
# Combine all transcriptions into one
|
36 |
full_transcription = " ".join(transcriptions)
|
37 |
|
38 |
-
#
|
39 |
-
|
|
|
40 |
|
41 |
# Return transcription and detected language
|
42 |
return f"Detected Language: {detected_language}\n\nTranscription:\n{full_transcription}"
|
|
|
23 |
|
24 |
# Transcribe each chunk and collect results
|
25 |
transcriptions = []
|
26 |
+
detected_language = None
|
27 |
|
28 |
for chunk in chunks:
|
29 |
# Enable language detection and transcription
|
30 |
+
result = model(chunk, generate_kwargs={"task": "transcribe", "language": None}) # Let Whisper detect language
|
31 |
transcriptions.append(result["text"])
|
32 |
+
|
33 |
+
# Extract detected language from the result (if available)
|
34 |
+
if "language" in result:
|
35 |
+
detected_language = result["language"]
|
36 |
+
|
37 |
os.remove(chunk) # Clean up chunk files
|
38 |
|
39 |
# Combine all transcriptions into one
|
40 |
full_transcription = " ".join(transcriptions)
|
41 |
|
42 |
+
# If no language was detected, set a default message
|
43 |
+
if detected_language is None:
|
44 |
+
detected_language = "unknown (language not detected)"
|
45 |
|
46 |
# Return transcription and detected language
|
47 |
return f"Detected Language: {detected_language}\n\nTranscription:\n{full_transcription}"
|