Monitor de ruido

Cómo se graban los eventos

Cómo se detecta y se recorta un evento: un pico de 2 s se ignora, dos tramos ruidosos separados 3 s forman un solo clip desde 1 s antes del primer segundo por encima hasta 1 s después del último, y un tramo 7 s más tarde es un evento nuevo

El agente compara cada LAeq de un segundo con el disparo:

  1. Un segundo está "por encima" cuando su LAeq,1s es igual o superior al disparo (threshold_db).
  2. Las pausas cortas no parten un evento. Los tramos por encima separados por 5 segundos o menos por debajo del disparo cuentan como un solo evento, así que la voz y la música, que bajan entre palabras y compases, dan un clip y no muchos. Más de 5 segundos por debajo terminan el evento.
  3. Los microeventos se ignoran. Un evento solo se graba si suma al menos 5 segundos por encima del disparo, así que un portazo, un ladrido suelto o un claxon no se graban.
  4. El clip cubre solo la superación. Empieza 1 segundo antes del primer segundo por encima y termina 1 segundo después del último. El agente guarda siempre en memoria el último segundo de audio, así que el clip puede empezar antes de la detección.
  5. Los eventos largos se cortan en clips de 5 minutos como máximo, uno tras otro, así que una fiesta que dura toda la noche se graba entera pero en archivos de tamaño manejable.
Ajuste Por defecto Significado
threshold_db 50 Disparo de grabación: un LAeq,1s igual o superior cuenta como por encima. Se cambia desde la página de la estación (o con manage.py threshold); el dispositivo lo recibe en segundos por su consulta abierta al servidor (agente 0.4.1 o posterior), o si no en su siguiente envío.
min_above_s 5 Segundos por encima del disparo, en total, que necesita un evento para grabarse.
merge_gap_s 5 Los tramos por encima separados por estos segundos o menos son un solo evento.
pre_s / post_s 1 / 1 Segundos de audio que se guardan antes del primer y después del último segundo por encima.
max_clip_s 300 Clip más largo; un evento más largo sigue en el clip siguiente.

El registro JSON de cada clip guarda los niveles segundo a segundo, el inicio (primer segundo por encima), el número de segundos por encima y la media energética de esos segundos (el nivel que la página compara con el límite). El registro de niveles por segundo es continuo, haya eventos o no.

Hasta el agente 0.4.0 (octubre de 2026) la regla era otra: un evento empezaba cuando la media de 10 segundos alcanzaba el disparo, el clip duraba siempre 5 minutos centrados en el inicio y no podía empezar otro evento hasta 15 minutos después de un clip. Los eventos grabados antes de la actualización conservan esos clips más largos.

El límite (limit_db, 55 dB(A) por defecto, se fija por estación con manage.py limit) es distinto del disparo. Es el nivel permitido: la línea discontinua del gráfico, el color de las lecturas y las zonas rosas, que marcan solo los periodos en que el LAeq es igual o superior a él. La grabación empieza en el disparo, por defecto 1 dB por encima del límite vigente, así que cada clip muestra el límite superado en al menos 1 dB. El propietario cambia ese margen en la casilla Grabar desde límite + … dB de la parte superior de la página de la estación; se aplica desde el momento en que se cambia en adelante, y los clips ya grabados conservan el disparo con el que se grabaron (cada evento guarda su propio threshold_db). Los clips grabados aparecen en el gráfico como recuadros rojos a lo largo de toda su duración, más intensos que el rosa; al pulsar uno se reproduce.