Da vent’anni il dispatcher delle comunicazioni radio operative è considerato indispensabile. È lui che ascolta, interpreta, smista, registra e interviene. È anche lui il collo di bottiglia di ogni centrale operativa, il punto di fatica umana che produce errori nelle situazioni di stress elevato. Con l’avvento dei sistemi PoC (Push-to-Talk over Cellular) abbinati a modelli linguistici di grandi dimensioni eseguibili in locale, quella figura professionale non scompare, ma si trasforma radicalmente. Il lavoro meccanico, ripetitivo e ad alto rischio di distrazione diventa automatico. Questa non è fantascienza: è ingegneria applicabile già oggi con strumenti open source disponibili gratuitamente.
Cos’è una rete PoC e perché cambia tutto
La tecnologia PoC utilizza la rete dati cellulare (o una LAN/WAN privata) per veicolare comunicazioni Push-to-Talk tra terminali dotati di tasto PTT, esattamente come un ricetrasmettitore tradizionale, ma senza alcuna limitazione geografica di copertura. Il cuore del sistema è un server PTT centralizzato che gestisce gruppi di chiamata, code audio, priorità di accesso al canale e registrazione delle trasmissioni. Rispetto a un impianto radio convenzionale, la differenza fondamentale è che ogni trasmissione transita come flusso audio digitale attraverso un nodo software controllabile: un dato strutturato, non un’onda radio inafferrabile.
Il server PoC riceve il flusso RTP (Real-time Transport Protocol) da ciascun terminale, lo mescola nel gruppo di destinazione e lo ritrasmette. Ogni pacchetto porta con sé metadati precisi: identità del mittente, timestamp, gruppo di appartenenza, durata della trasmissione. Questi metadati, abbinati al contenuto audio, sono esattamente l’input di cui un sistema AI ha bisogno per operare in modo autonomo e contestuale.
L’architettura del sistema integrato
L’idea di base è collegare il server PoC a una pipeline di elaborazione AI composta da tre blocchi funzionali in cascata, tutti eseguibili su hardware locale senza dipendenze cloud.
Blocco 1 — Trascrizione in tempo reale con Whisper. Il modello Whisper di OpenAI è un sistema di riconoscimento vocale automatico (ASR) addestrato su 680.000 ore di parlato multilingue, con architettura encoder-decoder Transformer. La versione large-v3, eseguibile localmente tramite faster-whisper o whisper.cpp, è in grado di trascrivere parlato radio con latenza inferiore a due secondi su una GPU consumer come una NVIDIA RTX 3060. Il progetto open source RadioTranscriber dimostra che questo approccio funziona già su flussi audio di pubblica sicurezza, con filtro WebRTC VAD per rilevare solo i segmenti effettivamente parlati, normalizzazione audio e guardie anti-allucinazione per eliminare artefatti testuali.
Blocco 2 — Rilevamento semantico con LLM locale. Il testo trascritto viene passato a un modello linguistico locale come Mistral 7B o LLaMA 3 eseguito tramite Ollama. Il modello riceve un prompt di sistema che definisce le categorie operative: emergenza medica, incendio, incidente stradale, richiesta di rinforzi, comunicazione di routine. Per parole chiave ad alta priorità come “incendio”, “ferito”, “incidente”, “evacuazione” è preferibile affiancare un layer di pattern matching basato su regex che opera in parallelo all’LLM, così da garantire latenza minima per i trigger più critici senza attendere l’inferenza completa del modello.
Blocco 3 — Dispatcher automatico e log strutturato. Il risultato della classificazione viene inviato a un sistema di dispaccio automatico. Concretamente: un’API REST esposta da un modulo Python riceve l’evento classificato e attiva le azioni configurate, ad esempio notifica push verso i responsabili di zona, inserimento automatico nel giornale operativo digitale, apertura di un ticket in un sistema CAD (Computer-Aided Dispatch), attivazione di allarme sonoro in sala operativa. Tutto senza che un operatore tocchi una tastiera.
Implementazione pratica: come si monta
Il server PoC open source più adatto per questa integrazione è FreeSWITCH, grazie al supporto nativo WebRTC, alla gestione avanzata delle conferenze audio multicanale e all’interfaccia mod_event_socket che permette a script esterni di intercettare e processare ogni evento in tempo reale. In alternativa si può usare Asterisk tramite l’interfaccia AGI o ARI, ugualmente documentata e supportata. Il flusso audio di ogni trasmissione PTT viene estratto dal server e scritto su un buffer in memoria (o su pipe UNIX) che alimenta direttamente il processo Whisper.
text[Terminale PoC] --> [Server FreeSWITCH / Asterisk]
|
[Estrazione flusso RTP]
|
[Whisper faster-whisper]
(trascrizione real-time)
|
[Layer regex keyword]
(trigger immediati)
|
[Ollama + Mistral 7B]
(classificazione semantica)
|
[Dispatcher API REST]
(log / notifiche / CAD)
L’hardware necessario per una centrale operativa di medie dimensioni (fino a 50 terminali attivi contemporaneamente) è un server con CPU moderna a 8 core, 32 GB di RAM e una GPU con almeno 8 GB di VRAM. Costo indicativo del solo hardware: sotto i 2.000 euro con componenti consumer. Nessun canone cloud, nessun dato audio che lascia la rete locale, nessuna dipendenza da provider esterni.
Il caso Protezione Civile: un esempio concreto
Immaginate una centrale operativa di Protezione Civile durante un evento alluvionale. Decine di squadre trasmettono contemporaneamente su canali diversi. Un operatore umano non riesce fisicamente a seguire tutti i canali in parallelo. Con il sistema integrato descritto, ogni trasmissione su qualunque canale viene trascritta entro due secondi. Se una squadra trasmette “qui c’è una famiglia bloccata sul tetto, serve il gommone subito”, il layer semantico classifica l’evento come EMERGENZA PERSONE ISOLATE, lo geolocalizza in base al gruppo radio mittente, lo inserisce nel giornale operativo e invia una notifica prioritaria al responsabile delle risorse nautiche, tutto in meno di cinque secondi dall’ultima parola pronunciata.
L’operatore in sala non ha perso tempo a cercare di capire cosa stava succedendo su quale canale: ha già il riassunto strutturato davanti, con priorità e azione suggerita. La AI non sostituisce il giudizio umano nelle decisioni critiche, ma elimina il lavoro meccanico di ascolto, interpretazione e smistamento che oggi occupa l’80% del tempo dell’operatore.
Rilevamento parole chiave: come si addestra il sistema
Il rilevamento semantico si configura attraverso un file di definizione delle categorie operative, scritto in formato JSON o YAML, che viene caricato come prompt di sistema all’avvio di Ollama. Il prompt descrive le categorie, fornisce esempi di frasi tipiche per ciascuna e specifica il formato di output atteso (JSON strutturato con campi: categoria, priorità, testo originale, timestamp). Il modello Mistral 7B con prompt engineering preciso raggiunge accuratezza superiore al 90% su frasi operative standard senza alcun fine-tuning, grazie alla comprensione contestuale intrinseca del modello stesso.
Per le organizzazioni che operano con gergo tecnico specifico (codici alfanumerici interni, toponimi locali, abbreviazioni operative) è consigliabile affiancare un piccolo dataset di fine-tuning tramite LoRA (Low-Rank Adaptation), tecnica che permette di specializzare il modello su centinaia di esempi senza richiedere risorse computazionali significative. Un fine-tuning LoRA su Mistral 7B con 500 esempi richiede circa 4 ore su una GPU da 8 GB.
Privacy, sicurezza e normativa
Un sistema che trascrive comunicazioni operative pone inevitabilmente questioni di privacy e sicurezza. Il punto di forza dell’architettura locale è che nessun dato audio o testuale lascia mai l’infrastruttura dell’organizzazione: non c’è nulla che transiti verso OpenAI, Google o qualsiasi provider cloud. Ai fini del GDPR, le trascrizioni delle comunicazioni operative rientrano nella categoria dei dati trattati per finalità di sicurezza pubblica o protezione civile, con base giuridica che varia a seconda dell’ente. Per organizzazioni private è necessario un disciplinare interno che regolamenti la conservazione e l’accesso ai log trascritti, con retention time definito e accesso limitato ai soli responsabili operativi.
Quello che serve per iniziare domani
Chi vuole sperimentare questo sistema può partire da un setup minimale in pochi giorni. Un Raspberry Pi 5 con 8 GB di RAM è sufficiente per eseguire Asterisk, Whisper in versione tiny o base e un modello LLM leggero come Phi-3 Mini, coprendo un gruppo radio con traffico non intensivo. Per un ambiente produttivo con più canali simultanei e modelli di qualità elevata, un PC desktop con GPU dedicata è il punto di partenza realistico. Il codice Python per la pipeline Whisper + Ollama con classificazione semantica è già disponibile in forma open source su GitHub in diversi progetti attivi, e l’integrazione con FreeSWITCH tramite mod_event_socket è documentata con esempi funzionanti nella wiki ufficiale del progetto.
La tecnologia esiste, è matura, è open source e costa meno di un ricetrasmettitore palmare di fascia alta. Quello che manca non è la tecnologia: è la consapevolezza che si può fare.
Siamo su TELEGRAM!