scripts/test_mic_open.py
Rama master · réplica de lectura del repositorio original.
import time
import sounddevice as sd
CANDIDATES = [12, 22, 1, 6, 0, 5] # most likely good ones first
def try_device(idx):
info = sd.query_devices(idx)
sr = int(info["default_samplerate"])
# Prefer 16000 if device supports it (common for wakeword)
prefer = 16000
srs = [prefer, sr] if prefer != sr else [sr]
for rate in srs:
try:
with sd.InputStream(device=idx, channels=1, samplerate=rate, dtype="int16"):
time.sleep(0.25)
return True, rate, info["name"]
except Exception as e:
last = str(e)
return False, None, info["name"] + " | last_error=" + last
print("Default devices:", sd.default.device)
print("Testing candidates:", CANDIDATES)
for idx in CANDIDATES:
ok, rate, name = try_device(idx)
if ok:
print(f"OK device={idx} rate={rate} name={name}")
else:
print(f"FAIL device={idx} name={name}")