Arreglado el boton PARAR y repaso de portabilidad

PARAR no pausaba de verdad: el HUD estaba entero para el estado "parado"
pero el backend nunca mandaba el campo "parar" en el evento controles, asi
que el boton no alternaba ni pausaba la escucha. Ahora pausa (el bucle de
escucha descarta el audio en pausa) y alterna a "reanudar".

Portabilidad (para que encaje en otros portatiles y torres, no solo en el
equipo del autor):
- microfono: pw-record / parec / arecord (PipeWire, PulseAudio o ALSA)
- whisper: binario del build local o del PATH; modelos por
  JARVIS_WHISPER_MODELOS o busqueda en varios sitios; CUDA en
  LD_LIBRARY_PATH solo si existe
- README: la tabla de portabilidad refleja audio y whisper
This commit is contained in:
sito 2026-08-16 16:06:43 +02:00
parent 55e967b940
commit a0b9afe2f9
5 changed files with 102 additions and 23 deletions

View file

@ -119,6 +119,15 @@ def escucha(boca: Boca, modelo="small", fuente=None, callado=False,
oreja_mic = Captura(boca=boca, fuente=fuente)
try:
for wav in oreja_mic.frases():
# En pausa (boton PARAR): se descarta el audio sin transcribir. El
# microfono sigue abierto pero JARVIS no atiende nada hasta que se
# pulse "reanudar". Se comprueba antes de whisper para no gastar GPU.
if panel and getattr(panel, "parado", False):
try:
os.unlink(wav)
except OSError:
pass
continue
try:
texto = oreja.transcribe(wav)
finally: