File size: 1,025 Bytes
b4db241 8ad2ab3 e6cd41c 8ad2ab3 e6cd41c b4db241 9740f3b e6cd41c b4db241 e6cd41c b4db241 e6cd41c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import assemblyai as aai
aai.settings.api_key = "2c02e1bdab874068bdcfb2e226f048a4" # Use env var in production
def transcribe_audio(file_path: str, model_size=None) -> tuple[str, str, float]:
print(f"Transcribing audio file: {file_path} with language detection")
config = aai.TranscriptionConfig(
speech_model=aai.SpeechModel.nano,
language_detection=True,
language_confidence_threshold=0.4
)
transcriber = aai.Transcriber()
transcript = transcriber.transcribe(file_path, config)
if transcript.status == "error":
raise RuntimeError(f"Transcription failed: {transcript.error}")
# Access detected language and confidence from json_response
response = transcript.json_response
language = response.get("language_code")
confidence = response.get("language_confidence")
result = {
"transcript": transcript.text,
"language": language,
"confidence": confidence
}
return transcript.text, language, confidence |