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