## ASR SERVICE ### A FASTAPI client for receieving audio data from font and sending audio to a Triton ASR service using WebSocket streaming. It yields real-time transcription results as JSON-like events. ## Test import asyncio import websockets import json AUDIO_FILE = "./data/khabar_1_5.wav" WS_URL = "ws://127.0.0.1:7200/asr" async def send_audio(): async with websockets.connect(WS_URL) as ws: print("Connected to ASR WebSocket") # Send audio in chunks with open(AUDIO_FILE, "rb") as f: chunk_size = 100000 while chunk := f.read(chunk_size): await ws.send(chunk) # Tell server no more audio is coming await ws.send(json.dumps({"eof": True})) # Receive results try: while True: message = await ws.recv() data = json.loads(message) print("Received:", data) except websockets.exceptions.ConnectionClosed: print("WebSocket closed by server") asyncio.run(send_audio()) ## How to run ### SET ENVIRONMENT 1-create a file .env and set TRITON_URL ### 1-DEVELOPMENT #### Run the system : Uvicorn and Fastapi .venv/bin/uvicorn src.main:app --host 0.0.0.0 --port 7200 ### 2-DEPLOYMENT #### Docker Build docker build -t asr_farhang:latest . #### Docker Run (port = 7200) docker run -d --network host --restart unless-stopped asr_farhang:latest there was a problem in installing ast_client package : pip couldnot find a versaion for perf-analyzer==2.59.1 : so i removed it