If you are spanish speaker here is an explanation:
¿Por qué ocurre el error?
Ocurre porque:
matplotlib por defecto usa un backend gráfico interactivo (como TkAgg) que depende de Tkinter.
Tkinter solo puede usarse desde el hilo principal (main thread).
Cuando usas threading.Thread(...) para procesar el audio, matplotlib se intenta ejecutar en un hilo secundario, y ahí revienta.
import matplotlib
matplotlib.use('Agg') # <- Usa backend no-interactivo (solo para guardar imágenes)
from matplotlib import pyplot as plt
Esto cambia el backend a Agg, que es:
📸 Un backend no gráfico, ideal para guardar imágenes a disco.
❌ No abre ventanas.
✅ 100% seguro para usar en hilos y servidores web.