23 lines
668 B
Python
23 lines
668 B
Python
from fastapi import FastAPI, WebSocket
|
|
from RealtimeSTT.audio_recorder import AudioToTextRecorder
|
|
import numpy as np
|
|
|
|
app = FastAPI()
|
|
|
|
recorder = AudioToTextRecorder(
|
|
model="tiny",
|
|
device="cuda",
|
|
compute_type="float16",
|
|
use_microphone=False,
|
|
)
|
|
|
|
@app.websocket("/ws/transcribe")
|
|
async def websocket_endpoint(websocket: WebSocket):
|
|
await websocket.accept()
|
|
while True:
|
|
data = await websocket.receive_bytes()
|
|
# Convierte los bytes a numpy array (ajusta según tu formato)
|
|
audio = np.frombuffer(data, dtype=np.float32)
|
|
recorder.feed_audio(audio)
|
|
text = recorder.text()
|
|
await websocket.send_text(text) |