from fastapi import FastAPI, UploadFile, File from transformers import pipeline import librosa from deep_translator import GoogleTranslator import io app = FastAPI() print("Loading Speech Recognition") pipe = pipeline("automatic-speech-recognition", model="Akashpb13/xlsr_kurmanji_kurdish") print("Speech Recognition Loaded") print("Loading translator") translator = GoogleTranslator(source='ku', target='fr') print("Translator loaded") def speech2text(audio_data: bytes): audio_array, _ = librosa.load(io.BytesIO(audio_data), sr=16000) output = pipe(audio_array) return output["text"] @app.post("/transcribe") async def transcribe(file: UploadFile = File(...)): audio_data = await file.read() text_output = speech2text(audio_data) translated = translator.translate(text_output) return {"text": text_output, "translation": translated}