Capturează
Registra i flussi configurati nei limiti dei diritti d’uso.
Analiză audio & media Instrument specializat
Uno strumento per la cattura, la trascrizione e l’organizzazione degli spot radio. Raggruppa i frammenti ripetitivi e consente di rivederli insieme alla fonte audio.
Monitor Radio
Registra i flussi configurati nei limiti dei diritti d’uso.
Trasforma l’audio in testo e propone il raggruppamento dei frammenti simili.
Il team può riascoltare i frammenti ed esportare le informazioni rilevanti.
Esplorazione dei messaggi e delle ripetizioni in un periodo monitorato.
Recupero dei frammenti senza riascoltare l’intero materiale.
Trascrizioni e raggruppamenti che possono essere corretti da una persona.
Il rilevamento e la trascrizione automatici possono sbagliare. La disponibilità delle catture e la copertura si verificano per ciascuna fonte.
Monitor Radio in dettaglio
Monitor Radio risponde a cinque domande su una pubblicità ascoltata alla radio: da quale stazione è arrivata, a che ora esatta è iniziata, quanto è durata, cosa vi è stato detto e dove si trova la prova audio per la verifica. L’interfaccia principale è un registro operativo delle pubblicità, non una schermata di trascrizione.
La catena è locale e senza chiavi obbligatorie: `ffmpeg` cattura il flusso, Whisper trascrive, un rilevatore con scoring trasparente contrassegna i segmenti che sembrano una pubblicità, mentre le pubblicità ripetitive vengono raggruppate tramite impronta del testo. Tutto confluisce in un SQLite verificabile, da cui si possono estrarre CSV e il file audio di ogni pubblicità.
Ciò che va detto prima di qualsiasi demo: il rilevamento non cattura tutto. La misurazione interna sul database reale dà un recall stimato del 30–50% delle pubblicità che erano effettivamente in onda, e le cause sono note e elencate. Chi vende il monitoraggio radio come «prendiamo tutto» o non ha misurato, o non ve lo dice.
Fino a 10 stazioni catturate in parallelo con `ffmpeg`, in segmenti di 30 secondi, ciascuno convalidato come WAV corretto prima di entrare in coda. La coda vive nel database, con lease di 300 secondi, segnale di vita e massimo 3 tentativi per job — se il processo cade, i job si recuperano invece di perdersi. Esiste anche una modalità continua, senza interruzioni, che taglia il flusso direttamente da `ffmpeg` e lo prende in carico tramite il monitoraggio della cartella.
Due motori intercambiabili: Whisper tramite il proprio gateway (predefinito nella configurazione) oppure `faster-whisper` locale, su CPU con quantizzazione int8, modello `large-v3-turbo`, con filtro VAD e ricerca su fascio di 5. La lingua viene rilevata automaticamente, il che conta sul mercato moldavo dove la stessa stazione alterna il romeno con il russo nella stessa ora.
Ogni segmento riceve un punteggio tra 0 e 1, calcolato da segnali espliciti: parole chiave commerciali in romeno e russo, presenza di un numero di telefono, di un sito, di un prezzo o di una call to action, con penalizzazione quando il testo sembra una notizia. Un segmento con durata tra 5 e 90 secondi riceve un piccolo bonus. La soglia predefinita è 0,30, con estensione ai segmenti vicini oltre 0,20, così che una pubblicità tagliata in due pezzi non si perda. I motivi del punteggio vengono mantenuti accanto al punteggio.
La stessa pubblicità trasmessa decine di volte viene raggruppata tramite fingerprint testuale: si normalizza la trascrizione, si taglia in finestre sovrapposte di 5 parole ciascuna, si conservano le prime 20 ordinate e si crea un breve riassunto crittografico. Oltre a ciò esiste anche il fingerprint audio tramite `chromaprint`, che raggruppa la stessa pubblicità trasmessa su stazioni diverse, dove le trascrizioni differiscono.
86 marchi commerciali dalla Moldova nel catalogo iniziale — retail, banche, telecom, farmacie, auto, ristoranti — più scoperta automatica di nuovi marchi dalle trascrizioni, con aggiunta, eliminazione, importazione ed esportazione tramite API.
Ogni pubblicità può essere contrassegnata come confermata, respinta o incerta direttamente dall'interfaccia, con filtro e riepilogo su questi stati. L'esportazione CSV rispetta il filtro corrente, mentre l'audio di ogni pubblicità può essere riascoltato nel browser nell'esatto intervallo corrispondente.
Tre trigger di alert su Telegram: stazione caduta, ritardo oltre soglia e comparsa di un marchio monitorato. Su questi, metriche Prometheus, verifica profonda dello stato di salute e un endpoint di disponibilità.
Dati e funzionamento
Dall’esplorazione all’implementazione
Si scelgono le stazioni da monitorare, si verifica ciascun flusso con il probing incluso (`probe-streams`) e si stabilisce l’intervallo orario monitorato. Una stazione che non risponde resta disattivata nella configurazione finché non viene verificata, non aggiunta nella speranza.
Chi detiene il diritto di registrare la trasmissione e per quanto tempo può essere conservata. È il passaggio che si salta più spesso e l’unico che non si può correggere tecnicamente dopo.
Sotto 4 stazioni funziona su CPU. Da 4 in su, la trascrizione diventa il collo di bottiglia: o GPU, o 2–4 worker, o segmenti più lunghi. La pressione inversa è progettata per rallentare la cattura, non per perdere audio — ma un backlog di 30 minuti significa allerte con 30 minuti di ritardo.
La soglia predefinita è 0,30. Più bassa significa più inserzioni catturate e più falsi positivi da spuntare; più alta, il contrario. La calibrazione si fa sulle inserzioni confermate e respinte manualmente nella prima settimana, non per intuizione.
Che cosa deve risultare: occorrenze per marchio, per stazione, per intervallo, con link all’audio. L’esportazione CSV e il report giornaliero sono il punto di partenza; la forma finale si decide dopo aver visto quali domande pone effettivamente il team.
No, e abbiamo misurato anche la cifra su dati reali: recall stimato 30–50% alla soglia usata nell'audit. Ciò che sfugge è prevedibile: le pubblicità che sono solo marchio più slogan senza telefono, sito o prezzo; i jingle cantati, che Whisper trascrive come rumore; le sponsorizzazioni di trasmissione; le pubblicità sotto i 5 secondi. Ciò che funziona bene sono le pubblicità che dicono qualcosa di verificabile, cioè la maggior parte di quelle con offerta.
Non abbiamo ancora un dato di precisione in senso stretto, ed è più corretto dirlo che inventarne uno. Quello che abbiamo è una distribuzione di punteggi misurata su una base reale di 5018 catture e 7428 segmenti, con 111 pubblicità identificate, più verifica manuale su campioni. Da questa è emersa l'osservazione utile: 193 segmenti stavano tra 0,30 e 0,40 ed erano in maggioranza pubblicità reali mancate — motivo per cui la soglia è stata abbassata a 0,30. Un dato reale di precisione e recall richiede 60+ minuti di audio etichettato manualmente per ciascuna emittente; è un lavoro separato, con costo e durata.
No. Una cattura audio prova che il messaggio è stato trasmesso, a che ora e per quanto è durato. L'audience è una misurazione completamente diversa, fatta da istituti di rilevazione con panel — non si deduce dal fatto che un microfono digitale abbia sentito qualcosa. Ciò che offriamo è il numero di trasmissioni, l'orario, l'emittente e la prova audio.
È la domanda a cui il progetto non ha ancora una risposta scritta — nel deposito non esiste alcun documento sui diritti, e questa è una mancanza, non un'omissione di comunicazione. I flussi monitorati sono pubblici all'ascolto, ma la registrazione e la conservazione di una trasmissione per analisi non è la stessa cosa dell'ascolto. La base giuridica per la cattura e la conservazione si stabilisce per ciascuna emittente prima dell'installazione, insieme al giurista del cliente. Ciò che possiamo fare tecnicamente è ridurre l'esposizione: l'audio viene eliminato automaticamente dopo 48 ore, mentre il testo e i metadati restano.
Sì. La lingua viene rilevata automaticamente, e il rilevatore ha set separati di parole chiave per romeno e russo, con test propri per ciascuna. Il caso che continua a rovinare il risultato: se la lingua è forzata su romeno nella configurazione, una pubblicità in russo viene trascritta in modo deformato e il punteggio scende sotto la soglia. Il rilevamento automatico è l'impostazione corretta sui flussi misti.
La cattura supporta 10 in parallelo; il limite è la trascrizione. Su un Mac, su CPU, con un worker, si elabora circa metà del tempo reale — cioè 4 emittenti producono più velocemente di quanto riusciamo a trascrivere, e la coda cresce. Il sistema in questa situazione non perde audio (rallenta la cattura in modo controllato), ma i risultati arrivano in ritardo. Per 10 emittenti in tempo quasi reale serve una GPU o segmenti più lunghi.
Sì, ed è progettato proprio per questo: ogni pubblicità ha un file audio associato, riproducibile nel browser nel suo intervallo esatto, più la trascrizione e i segmenti vicini. Un'analisi di monitoraggio che non si può verificare alla fonte non vale nulla in una discussione con un cliente o con un'emittente.
Non in modo continuativo. È una piattaforma locale, completa e testata — 81 test automatici passano — ma l'audit interno dice senza mezzi termini che il monitor non gira 24/7 da nessuna parte. Esiste un file di avvio automatico per macOS e una configurazione Docker con profilo GPU; ciò che manca è il server su cui installarlo e il test di accettazione su 10 emittenti per 2 ore, per il quale l'harness è già scritto.
Esempio illustrativo
Uno scenario di utilizzo, senza dati del cliente o risultati commerciali attribuiti.
Un inserzionista vuole sapere quante volte la sua pubblicità è stata trasmessa su quattro emittenti, in quali giorni e a che ore, con prova audio.
I quattro flussi vengono catturati in segmenti di 30 secondi, validati come WAV corretti e messi in una coda duratura. Whisper trascrive ogni segmento con la lingua rilevata automaticamente. Il detector assegna un punteggio a ogni segmento sui segnali commerciali e marca ciò che supera 0,30, estendendosi verso i segmenti vicini oltre 0,20 così che una pubblicità tagliata in due resti intera. I segmenti marcati vengono raggruppati tramite fingerprint del testo — finestre di 5 parole, le prime 20 ordinate — e, dove il testo differisce tra emittenti, tramite fingerprint audio.
Un cluster con tutte le occorrenze dello stesso spot, ciascuna con l’emittente, la data, l’ora esatta di inizio, la durata, la trascrizione e il file audio riproducibile. Un CSV con lo stesso contenuto, filtrato per intervallo e emittente. Il numero di trasmissioni è una soglia minima, non un totale: al recall misurato, una parte delle trasmissioni non viene rilevata, soprattutto se lo spot è cantato o non contiene telefono, sito o prezzo.
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.
Possibilità di collaborazione
Progetti di trascrizione e generazione vocale su materiali per i quali esistono diritti d’uso e un obiettivo documentato.
Definiamo un pilot attorno a un processo reale: utenti, dati, integrazioni, costi e criteri di accettazione. L’estensione segue dopo la valutazione del risultato.
Stabiliamo i requisiti di accessibilità, hosting, protezione dei dati e interoperabilità. Ogni connessione con servizi AGE o STISC richiede la validazione dell’ammissibilità, dell’accesso e delle approvazioni.
Questi sono scenari di adattamento, non dichiarazioni su contratti o partenariati esistenti. Le funzioni proposte si confermano nell’ambito di lavoro del progetto.
Discută un pilotCronberry riunisce fonti autorizzate, conversazioni e relazioni in uno spazio di ricerca e coordinamento.
Dezvoltare & demonstrațiiGrai è la nostra direzione di ricerca per la sintesi vocale e modelli adattati alle lingue usate qui.
Cercetare & dezvoltareUno studio per la generazione, l’ascolto e il download di materiali vocali tramite modelli text-to-speech.
Instrument specializatRaccontaci il tuo processo. Insieme stabiliamo cosa vale la pena costruire, cosa possiamo collegare e come verifichiamo il risultato.