import numpy as np
import time

SAMPLERATE = 16000
CHANNELS = 1
BLOCKSIZE = 256

with open("/tmp/esp32_audio", "rb") as f:
    while True:
        data = f.read(BLOCKSIZE * CHANNELS * 2)  # 2 bytes per sample
        if not data:
            continue
        audio = np.frombuffer(data, dtype=np.int16)
        peak = np.max(np.abs(audio))
        bar = "#" * int(peak * 50 / 32767)
        print(f"[{bar:<50}] {peak}", flush=True)
