Capturează
Registra los flujos configurados dentro de los límites de los derechos de uso.
Análisis de audio y medios Instrument specializat
Una herramienta para la captura, transcripción y organización de anuncios de radio. Agrupa fragmentos repetitivos y permite su revisión junto con la fuente de audio.
Monitor Radio
Registra los flujos configurados dentro de los límites de los derechos de uso.
Convierte audio en texto y propone agrupar los fragmentos similares.
El equipo puede volver a escuchar los fragmentos y exportar la información relevante.
Exploración de los mensajes y las repeticiones en un período supervisado.
Localización de fragmentos sin volver a escuchar todo el material.
Transcripciones y agrupaciones que pueden ser corregidas por una persona.
La detección y la transcripción automáticas pueden equivocarse. La disponibilidad de las capturas y la cobertura se verifican para cada fuente.
Monitor Radio en detalle
Monitor Radio responde a cinco preguntas sobre un anuncio oído en la radio: de qué emisora vino, a qué hora exacta empezó, cuánto duró, qué se dijo en él y dónde está la prueba de audio para verificarlo. La interfaz principal es un diario operativo de anuncios, no una pantalla de transcripción.
La cadena es local y sin claves obligatorias: `ffmpeg` captura el flujo, Whisper transcribe, un detector con puntuación transparente marca los segmentos que parecen anuncio, y los anuncios repetitivos se agrupan mediante huella de texto. Todo entra en un SQLite auditable, del que se pueden extraer CSV y el archivo de audio de cada anuncio.
Lo que hay que decir antes de cualquier demostración: la detección no lo capta todo. La medición propia sobre la base de datos real da un recall estimado de 30–50% de los anuncios que realmente estuvieron al aire, y las causas son conocidas y enumeradas. Quien vende monitorización radio como «lo captamos todo» o no ha medido, o no te lo dice.
Hasta 10 emisoras capturadas en paralelo con `ffmpeg`, en segmentos de 30 segundos, cada una validada como WAV correcto antes de entrar en la cola. La cola vive en la base de datos, con préstamo de 300 segundos, señal de vida y máximo 3 intentos por job: si el proceso cae, los jobs se recuperan en lugar de perderse. También existe un modo continuo, sin huecos, que corta el flujo directamente desde `ffmpeg` y lo toma mediante seguimiento de la carpeta.
Dos motores intercambiables: Whisper a través de su propio gateway (predeterminado en la configuración) o `faster-whisper` local, en CPU con cuantización int8, modelo `large-v3-turbo`, con filtro VAD y búsqueda de haz de 5. El idioma se detecta automáticamente, lo que importa en el mercado moldavo, donde la misma emisión alterna entre rumano y ruso en la misma hora.
Cada segmento recibe una puntuación entre 0 y 1, calculada a partir de señales explícitas: palabras clave comerciales en rumano y ruso, presencia de un número de teléfono, un sitio web, un precio o una llamada a la acción, con penalización cuando el texto parece una noticia. Un segmento con una duración entre 5 y 90 segundos recibe un pequeño bono. El umbral predeterminado es 0,30, con extensión a los segmentos vecinos por encima de 0,20, para que un anuncio cortado en dos partes no se pierda. Los motivos de la puntuación se guardan junto a la puntuación.
La misma publicidad emitida decenas de veces se agrupa mediante huella de texto: se normaliza la transcripción, se corta en ventanas superpuestas de 5 palabras, se conservan las primeras 20 ordenadas y se hace un resumen criptográfico corto. Encima de eso existe también huella de audio mediante `chromaprint`, que agrupa la misma publicidad emitida en emisoras diferentes, donde las transcripciones difieren.
86 marcas comerciales de Moldavia en el catálogo inicial — retail, bancos, telecom, farmacias, automoción, restaurantes — más descubrimiento automático de nuevas marcas a partir de transcripciones, con añadir, eliminar, importar y exportar mediante API.
Cada anuncio puede marcarse como confirmado, rechazado o incierto directamente desde la interfaz, con filtro y resumen por estos estados. La exportación CSV respeta el filtro actual, y el audio de cada anuncio se puede volver a escuchar en el navegador en su intervalo exacto.
Tres disparadores de alerta por Telegram: emisora caída, retraso por encima del umbral y aparición de una marca monitoreada. Encima de ellos, métricas Prometheus, verificación de salud profunda y un endpoint de disponibilidad.
Datos y funcionamiento
De la exploración a la implementación
Se eligen las emisoras a seguir, se verifica cada flujo con la sondeación incluida (`probe-streams`) y se establece el intervalo horario monitoreado. Una emisora que no responde queda desactivada en la configuración hasta que se verifica, no se añade con la esperanza.
Quién tiene el derecho de grabar la emisión y durante cuánto tiempo puede conservarse. Es el paso que se omite más a menudo y el único que no se puede reparar técnicamente después.
Por debajo de 4 emisoras funciona en CPU. A partir de 4, la transcripción se convierte en el cuello de botella: o GPU, o 2–4 trabajadores, o segmentos más largos. La presión inversa está diseñada para ralentizar la captura, no para perder audio — pero un backlog de 30 minutos significa alertas con 30 minutos de retraso.
El umbral por defecto es 0,30. Más bajo significa más anuncios detectados y más falsos positivos que marcar; más alto, al revés. La calibración se hace sobre los anuncios confirmados y rechazados manualmente en la primera semana, no por intuición.
Qué debe salir: apariciones por marca, por programa, por intervalo, con enlace al audio. La exportación CSV y el informe diario son el punto de partida; la forma final se decide después de ver qué preguntas hace realmente el equipo.
No, y la cifra la tenemos medida con datos reales: recall estimado 30–50% en el umbral usado en la auditoría. Lo que se le escapa es previsible: anuncios que son solo marca más eslogan sin teléfono, sitio web o precio; jingles cantados, que Whisper transcribe como ruido; patrocinio de programas; anuncios de menos de 5 segundos. Lo que captura bien son los anuncios que dicen algo verificable, es decir, la mayoría de los que tienen oferta.
Todavía no tenemos una cifra de precisión en sentido estricto, y es más honesto decirlo que inventar una. Lo que tenemos es una distribución de puntuaciones medida sobre una base real de 5018 capturas y 7428 segmentos, con 111 anuncios identificados, además de verificación manual en muestras. De ahí salió la constatación útil: 193 segmentos estaban entre 0,30 y 0,40 y en su mayoría eran anuncios reales no detectados — motivo por el cual el umbral se bajó a 0,30. Una cifra real de precisión y recall exige 60+ minutos de audio etiquetado manualmente por cada programa; es un trabajo aparte, con coste y duración.
No. Una captura de audio demuestra que el mensaje fue emitido, a qué hora y cuánto duró. La audiencia es una medición completamente distinta, hecha por institutos de medición con panel — no se deduce del hecho de que un micrófono digital oyó algo. Lo que ofrecemos es el número de emisiones, la hora, el programa y la prueba de audio.
Es la pregunta para la que el proyecto aún no tiene respuesta escrita: en el repositorio no existe ningún documento de derechos, y eso es una carencia, no una omisión de comunicación. Los flujos monitorizados son públicos para escuchar, pero grabar y conservar una emisión para análisis no es lo mismo que escucharla. El fundamento legal para la captura y la retención se establece para cada emisora antes de la instalación, junto con el jurista del beneficiario. Lo que podemos hacer técnicamente es reducir la exposición: el audio se borra automáticamente después de 48 horas, y el texto y los metadatos permanecen.
Sí. El idioma se detecta automáticamente, y el detector tiene conjuntos de palabras clave separados para rumano y ruso, con pruebas propias para cada uno. El caso que todavía estropea el resultado: si el idioma se fija forzosamente en rumano en la configuración, un anuncio en ruso se transcribe de forma deformada y la puntuación cae por debajo del umbral. La detección automática es la configuración correcta en programas mixtos.
La captura admite 10 en paralelo; la transcripción es el límite. En un Mac, por CPU, con un trabajador, se procesa aproximadamente a la mitad del tiempo real — es decir, 4 programas producen más rápido de lo que logramos transcribir, y la cola crece. El sistema no pierde audio en esa situación (ralentiza la captura de forma controlada), pero los resultados se retrasan. Para 10 programas en tiempo casi real hace falta GPU o segmentos más largos.
Sí, y está diseñado exactamente para eso: cada publicidad tiene un archivo de audio asociado, reproducible en el navegador en su intervalo exacto, además de la transcripción y los segmentos vecinos. Un análisis de monitorización que no se puede verificar en la fuente no vale nada en una conversación con un cliente o con una emisora.
No continuamente. Es una plataforma local, completa y probada — 81 pruebas automáticas pasan —, pero la auditoría propia dice sin rodeos que el monitor no funciona 24/7 en ningún sitio. Existe un archivo de inicio automático para macOS y configuración Docker con perfil GPU; lo que falta es el servidor donde alojarlo y la prueba de aceptación en 10 programas durante 2 horas, para la cual el harness ya está escrito.
Ejemplo ilustrativo
Un escenario de uso, sin datos de cliente ni resultados comerciales atribuidos.
Un anunciante quiere saber cuántas veces se emitió su anuncio en cuatro estaciones, en qué días y a qué horas, con la prueba de audio.
Las cuatro transmisiones se capturan en segmentos de 30 segundos, validados como WAV correctos y puestos en una cola duradera. Whisper transcribe cada segmento con el idioma detectado automáticamente. El detector puntúa cada segmento por las señales comerciales y marca lo que supera 0,30, extendiéndose a los segmentos vecinos por encima de 0,20 para que un anuncio cortado en dos siga entero. Los segmentos marcados se agrupan mediante huella de texto — ventanas de 5 palabras, las primeras 20 ordenadas — y, donde el texto difiere entre estaciones, mediante huella de audio.
Un cluster con todas las apariciones del mismo anuncio, cada una con la estación, la fecha, la hora exacta de inicio, la duración, la transcripción y el archivo de audio reproducible. Un CSV con el mismo contenido, filtrado por intervalo y estación. La cifra de emisiones es un umbral inferior, no un total: en el recall medido, una parte de las emisiones no se captura, sobre todo si el anuncio se canta o no contiene teléfono, sitio web o precio.
Ce este necesar:Un server care rulează continuu în intervalul monitorizat — pe un laptop pornit câteva ore pe zi rezultatul e incomplet și înșelător. Peste 4 posturi, GPU. Și temeiul legal pentru captura și retenția fiecărui post, stabilit înainte de start.
Posibilidades de colaboración
Proyectos de transcripción y generación de voz sobre materiales para los que existe un derecho de uso y un propósito documentado.
Definimos un piloto en torno a un proceso real: usuarios, datos, integraciones, costes y criterios de aceptación. La ampliación sigue después de evaluar el resultado.
Establecemos los requisitos de accesibilidad, alojamiento, protección de datos e interoperabilidad. Cualquier conexión con servicios AGE o STISC requiere la validación de la elegibilidad, el acceso y las aprobaciones.
Estos son escenarios de adaptación, no declaraciones sobre contratos o colaboraciones existentes. Las funciones propuestas se confirman en el ámbito de trabajo del proyecto.
Habla de un pilotoCronberry reúne fuentes autorizadas, conversaciones y relaciones en un espacio de investigación y coordinación.
Desarrollo y demostracionesGrai es nuestra línea de investigación en síntesis de voz y modelos adaptados a las lenguas que se hablan aquí.
Cercetare & dezvoltareUn estudio para generar, escuchar y descargar materiales de voz con modelos text-to-speech.
Instrument specializatCuéntanos tu proceso. Juntos decidimos qué merece la pena construir, qué podemos conectar y cómo verificamos el resultado.