#uvicorn app:app --host 0.0.0.0 --port 8000 --reload from fastapi import FastAPI, UploadFile import librosa from fastapi.responses import HTMLResponse import io app = FastAPI() from faster_whisper import WhisperModel model_size = "medium" ts_model = WhisperModel(model_size, device = "cpu", compute_type = "int8") @app.get("/") def read_root(): html_form = """

Audio Transcription



""" return HTMLResponse(content=html_form, status_code=200) @app.post("/transcribe") async def transcribe_audio(audio_file: UploadFile): audio_data = await audio_file.read() audio_data, _ = librosa.load(io.BytesIO(audio_data), sr=16000) segments, _ = ts_model.transcribe(audio_data) lst = '' for segment in segments: lst = lst + segment.text return lst