Spaces:
Paused
Paused
Update transcriber.py
Browse files- transcriber.py +3 -2
transcriber.py
CHANGED
|
@@ -7,19 +7,20 @@ class Transcriber:
|
|
| 7 |
self.client = Groq(api_key=self.api_key)
|
| 8 |
|
| 9 |
def transcribe(self, audio_path, target_lang="Hindi"):
|
|
|
|
| 10 |
lang_hints = {
|
| 11 |
"Hindi": "hi", "Telugu": "te", "Tamil": "ta", "Bengali": "bn",
|
| 12 |
"Marathi": "mr", "Gujarati": "gu", "Kannada": "kn", "Malayalam": "ml",
|
| 13 |
"Punjabi": "pa", "Urdu": "ur", "English": "en"
|
| 14 |
}
|
| 15 |
-
# If
|
| 16 |
hint = lang_hints.get(target_lang, "hi") if target_lang != "English" else "hi"
|
| 17 |
|
| 18 |
with open(audio_path, "rb") as file:
|
| 19 |
response = self.client.audio.transcriptions.create(
|
| 20 |
file=(audio_path, file.read()),
|
| 21 |
model="whisper-large-v3",
|
| 22 |
-
language=hint,
|
| 23 |
response_format="verbose_json",
|
| 24 |
)
|
| 25 |
return {"text": response.text}
|
|
|
|
| 7 |
self.client = Groq(api_key=self.api_key)
|
| 8 |
|
| 9 |
def transcribe(self, audio_path, target_lang="Hindi"):
|
| 10 |
+
# Map target to a source hint (Assume source is Hindi/Telugu if target is English)
|
| 11 |
lang_hints = {
|
| 12 |
"Hindi": "hi", "Telugu": "te", "Tamil": "ta", "Bengali": "bn",
|
| 13 |
"Marathi": "mr", "Gujarati": "gu", "Kannada": "kn", "Malayalam": "ml",
|
| 14 |
"Punjabi": "pa", "Urdu": "ur", "English": "en"
|
| 15 |
}
|
| 16 |
+
# Optimization: If translating to English, assume source is Hindi/Indian (hi)
|
| 17 |
hint = lang_hints.get(target_lang, "hi") if target_lang != "English" else "hi"
|
| 18 |
|
| 19 |
with open(audio_path, "rb") as file:
|
| 20 |
response = self.client.audio.transcriptions.create(
|
| 21 |
file=(audio_path, file.read()),
|
| 22 |
model="whisper-large-v3",
|
| 23 |
+
language=hint,
|
| 24 |
response_format="verbose_json",
|
| 25 |
)
|
| 26 |
return {"text": response.text}
|