import asyncio, websockets, json, numpy as np

async def test():
    async with websockets.connect('wss://stt.skinnyc.pro/ws/transcribe') as ws:
        msg = await ws.recv()
        print("on connect:", msg)
        print("waiting for audio frames (connect Omi device now)...")
        frames = []
        try:
            for i in range(20):
                data = await asyncio.wait_for(ws.recv(), timeout=30)
                if isinstance(data, bytes):
                    frames.append(data)
                    arr = np.frombuffer(data, dtype=np.int16)
                    print(f"frame {i}: {len(data)} bytes, {len(arr)} samples, rms={np.sqrt(np.mean(arr.astype(np.float32)**2)):.1f}")
                else:
                    print(f"text: {data[:100]}")
        except asyncio.TimeoutError:
            print("timeout")
        print(f"\nTotal frames: {len(frames)}, total bytes: {sum(len(f) for f in frames)}")

asyncio.run(test())
