Come faccio il verbale di una riunione con l'AI tenendo l'audio sul mio computer, e verificando ogni punto?
Approfondisci il progetto Voxtrama
Per fare il verbale di una riunione con l'AI senza far uscire l'audio servono tre passaggi sulla tua macchina: trascrizione, separazione dei parlanti, riassunto con un modello locale. Per fidarti del verbale serve un quarto passaggio: ogni punto del riassunto deve rimandare a una frase detta davvero, e il sistema deve dirti quando la frase manca. Voxtrama, il progetto open source che ho pubblicato su GitHub il 28 settembre 2026, fa tutti e quattro in Docker.
Il nome si confonde facilmente con Voxtral, il modello vocale di Mistral: sono due progetti diversi.
Perché l'audio di una riunione dovrebbe restare sul tuo computer?
L'audio di una riunione contiene dati personali e spesso informazioni riservate. Con un servizio di trascrizione in cloud quell'audio viaggia verso un server di terzi, e chi registra risponde anche di quel trattamento.
Voxtrama è nato da lì. Durante una riunione di lavoro importante mi sono accorto che non sapevo dire su quale server sarebbe finita la registrazione, né quale licenza regolava gli strumenti che avevo a disposizione. Volevo un sistema che funzionasse anche senza connessione, con tutto il necessario per far girare Whisper dentro un container. Per un ufficio pubblico, uno studio professionale o un gruppo di ricerca la domanda è la stessa, con il GDPR a renderla obbligatoria.
Che fine fa l'audio in Voxtrama?
L'audio non esce mai dal tuo computer. Una registrazione caricata in Voxtrama fa questo percorso, dall'inizio alla cancellazione.
| Momento | Dove sta l'audio | Che cosa esce in rete |
|---|---|---|
| Caricamento | viene copiato nella cartella dei dati sull'host, ~/Voxtrama/recordings |
niente |
| Pulizia, trascrizione, separazione dei parlanti | lo legge il processore della macchina | niente |
| Riassunto | resta sul disco: al modello arriva solo il testo della trascrizione | il testo, verso il server Ollama che hai configurato; se Ollama è sulla stessa macchina, come nell'impostazione predefinita, niente |
| Conservazione | resta nella cartella dei dati finché non lo cancelli | niente |
| Cancellazione | Delete › Audio sul job, Clean up, la retention, oppure rm -rf ~/Voxtrama |
niente |
La retention è spenta in modo predefinito, quindi una registrazione resta sul disco finché non la cancelli tu o non imposti un limite di 7, 30, 90 o 365 giorni. Clean up rimuove da sola le registrazioni che nessun job usa, caricate da almeno una settimana.
Come fa Voxtrama a trascrivere e riassumere in locale?
Voxtrama è un'applicazione web che gira in quattro container Docker: la coda Redis, una migrazione del database che parte una volta sola, il server web e il worker che esegue i job. Il lavoro su una registrazione passa per tre fasi.
| Fase | Componente | Dove gira |
|---|---|---|
| Trascrizione | faster-whisper, profili small, medium e large-v3 in int8 | processore della macchina |
| Separazione dei parlanti | SpeechBrain ECAPA-TDNN e clustering | processore della macchina |
| Riassunto | un modello linguistico servito da Ollama | Ollama sulla macchina, o un server che scegli tu |
La trascrizione gira sul processore anche dove c'è una scheda grafica, perché Docker su macOS la lascia fuori dal container. Il modello del riassunto invece usa la GPU, se il server Ollama ne ha una.
Come verifica Voxtrama che una frase del riassunto sia stata detta davvero?
Ogni punto che il modello scrive deve portare una citazione della trascrizione, e Voxtrama la cerca nel testo. Il confronto è esatto: prima di confrontare, uniforma soltanto maiuscole e spazi, e la punteggiatura resta com'è. Anche il minuto indicato dal modello viene scartato, perché conta solo dove la frase compare davvero.
| Che cosa trova Voxtrama | Che cosa mostra |
|---|---|
| la citazione compare una volta | il punto, con il parlante e il minuto; un clic riproduce il passaggio |
| la citazione compare in più punti | il punto segnato Needs review, perché il passaggio giusto resta ambiguo |
| la citazione manca dalla trascrizione | il punto segnato Needs review |
Ho scelto il confronto esatto al posto di uno approssimato per una ragione precisa, scritta anche nel codice: un confronto largo accetterebbe una citazione che il modello ha parafrasato, e la parafrasi è proprio il punto in cui un riassunto si allontana da ciò che è stato detto.
Che cosa fai quando un punto è segnato Needs review?
Needs review segnala un punto da ricontrollare: il modello ha parafrasato, oppure ha scritto una cosa che nella registrazione manca. Il punto resta visibile e il job prosegue. Dalla scheda Transcript riascolti il passaggio e hai due strade: correggi il testo del punto, oppure lo colleghi a mano al turno di parola giusto. Da quel momento il punto porta l'etichetta Edited, e le esportazioni in PDF, HTML e DOCX usano il testo corretto. Quello che il modello aveva scritto resta salvato a parte.
Quali workflow ci sono, e come se ne crea uno?
Un workflow dice a Voxtrama la finalità del riassunto: che cosa estrarre da una registrazione e in quale forma. La versione Community ne porta tre, più la sola trascrizione.
| Workflow | Che cosa produce |
|---|---|
meeting-decisions |
riassunto e decisioni, con responsabile, scadenza e citazione |
lesson-companion |
riassunto e concetti chiave con la loro definizione |
research-interview |
riassunto e temi, ciascuno con una citazione |
transcribe-only |
la trascrizione con i parlanti |
Un workflow è un file YAML nella cartella workflows/, e si crea senza scrivere codice. Funziona come una skill: la stessa call dà un verbale di decisioni o una mappa dei temi a seconda del workflow scelto e del modello che lo esegue. Nella versione Community puoi aggiungere un workflow tuo accanto ai tre di serie.
Come riassume Voxtrama registrazioni di ore con un modello piccolo?
Voxtrama divide la trascrizione in finestre di circa 12.000 caratteri, spostando il taglio fino al 15% per farlo cadere in un punto naturale, e passa a ogni finestra un tratto della precedente e della successiva. Così un modello da 7 miliardi di parametri, con un contesto limitato, lavora su registrazioni di diverse ore. Con Ollama avviato con OLLAMA_NUM_PARALLEL, le finestre vengono elaborate in parallelo: la variabile VOXTRAMA_PARALLEL_WINDOWS ne fissa il numero, con 2 come valore predefinito.
Ogni chiamata al modello ha un tetto di 1.800 secondi. Il valore viene da una misura riportata nel codice: il riassunto di una call di 59 minuti ha richiesto 33 minuti di processore.
Che cosa serve per installare Voxtrama?
Serve Docker e, per i riassunti, un server Ollama con almeno un modello scaricato. La sola trascrizione funziona anche senza Ollama.
| Requisito | Valore |
|---|---|
| Docker | Docker Desktop su macOS o Windows, oppure Docker Engine con il plugin Compose su Linux |
| Memoria | 8 GB per la trascrizione con il modello più piccolo, circa 16 GB con un modello di riassunto accanto |
| Disco | circa 0,6 GB per il modello di trascrizione più piccolo e quello dei parlanti, fino a 3 GB in più per il più accurato |
| Rete | una porta locale libera; make up parte da 8000 |
L'installazione si fa con quattro comandi:
git clone https://github.com/sjpagan/voxtrama.git
cd voxtrama
cp .env.example .env
make upmake up avvia i container in ordine, aspetta che il server web risponda e stampa l'indirizzo, per esempio http://127.0.0.1:8000. Per collegare un modello di riassunto:
ollama pull qwen3:4b
echo 'VOXTRAMA_OLLAMA_MODEL=qwen3:4b' >> .env
make down && make upAl primo avvio Voxtrama misura la macchina e propone il profilo di trascrizione e quanti core dedicare a ogni blocco di audio; la proposta si applica solo dopo la tua conferma. Il comando docker compose exec web voxtrama doctor controlla l'installazione, ed è il primo da lanciare quando qualcosa va storto.
Quanto tempo ci mette?
Su 30 minuti di audio l'intero lavoro ha richiesto 10 minuti e 40 secondi, circa un terzo della durata della registrazione. L'ho misurato il 30 settembre 2026 su giorgioserver, il mio server di sviluppo: un AMD Ryzen 9 9950X con 32 core e 60 GB di RAM, senza scheda grafica, con Voxtrama 0.1.0-alpha2 e il profilo di trascrizione large-v3. Come audio ho usato i primi 30 minuti del secondo atto della Locandiera di Goldoni, registrato a più voci da LibriVox e di pubblico dominio.
| Passaggio | Tempo | Rispetto alla durata dell'audio |
|---|---|---|
| Trascrizione, large-v3 | 6 min 30 s | 0,22 |
| Separazione dei parlanti | 13 s | 0,01 |
| Riassunto, qwen2.5:7b | 1 min 42 s | 0,06 |
| Estrazione delle decisioni, qwen2.5:7b | 2 min 11 s | 0,07 |
Il worker ha occupato al massimo 3,1 GB di RAM, esclusa quella di Ollama. La trascrizione ha usato 8 thread sui 32 disponibili, il valore predefinito: con più core dedicati il tempo scende ancora.
Sul mio iMac Pro del 2017, con processore Intel, lo stesso lavoro su una call richiede circa la durata dell'audio. È una misura fatta a mano su poche registrazioni.
Il riassunto ha prodotto 8 punti e 16 decisioni: 11 dei 24 punti sono usciti segnati Needs review. Una commedia del Settecento, piena di battute e di scambi rapidi, è un banco duro per un modello da 7 miliardi di parametri, e il dato vale per quel testo più che per una riunione di lavoro. Mostra però il meccanismo all'opera: quasi metà delle frasi che il modello aveva attribuito ai personaggi non comparivano così nella trascrizione, e Voxtrama le ha segnate invece di presentarle come fatti.
Che cosa cambia rispetto a Speakr, Scriberr e Meetily?
Speakr, Scriberr e Meetily sono i progetti open source più vicini a Voxtrama. La tabella confronta ciò che dichiarano le loro pagine al 30 settembre 2026.
| Progetto | Licenza | Parlanti | Riassunto con LLM | Punti legati a una citazione verificata |
|---|---|---|---|---|
| Voxtrama | Apache 2.0 | sì, ECAPA-TDNN | sì, Ollama | sì, con Needs review |
| Speakr | AGPLv3 o commerciale | sì | sì | timestamp nelle risposte del Q&A, senza verifica documentata |
| Scriberr | MIT | sì, pyannote | sì, Ollama | assente dalla documentazione |
| Meetily | MIT | nella versione PRO | sì | assente dalla documentazione |
Il confronto misura la documentazione, e una funzione può esistere nel codice anche quando le pagine la tacciono. Meetily è un'app desktop, gli altri tre girano in Docker.
Che cosa Voxtrama ancora non fa?
Voxtrama è un'alpha, la 0.1.0-alpha2 del 29 settembre 2026, e ha limiti precisi.
- La separazione dei parlanti dà il contesto di chi dice cosa, e a volte sbaglia. Sull'audio
teatrale del test ha stimato 32 voci per una scena con cinque o sei personaggi. I turni si correggono a mano, e il riconoscimento vale dentro una sola registrazione.
- L'interfaccia è in inglese; il codice è pronto per le traduzioni.
- L'ho provato con Docker su macOS con processore Intel. Gli altri sistemi sono il prossimo passo.
- Mancano ancora le misure automatiche che impediscono a una release di peggiorare la qualità.
- Fino alla 1.0 un aggiornamento può cambiare il formato dei workflow e dei job salvati.
Come provo Voxtrama?
Il codice è su GitHub (si apre in una nuova scheda): lo scarichi, lanci make up e il comando voxtrama demo esegue un esempio incluso nel pacchetto. Sto raccogliendo i primi riscontri d'uso per decidere lingue e priorità, e le issue del repository sono il posto dove lasciarli.
Fonti
Tutte le fonti sono state consultate il 30 settembre 2026.
- Voxtrama, repository (si apre in una nuova scheda), GitHub, tag 0.1.0-alpha2. README, requisiti, installazione, workflow. Fonte primaria.
- Voxtrama, codice del confronto delle citazioni (si apre in una nuova scheda): regola di normalizzazione e motivo del confronto esatto. Fonte primaria.
- Voxtrama, finestre della trascrizione (si apre in una nuova scheda): dimensione delle finestre e sovrapposizione. Fonte primaria.
- Voxtrama, guida alla pagina del job (si apre in una nuova scheda): Needs review, correzione di un punto, esportazioni. Fonte primaria.
- Voxtrama, profilo di tuning generico (si apre in una nuova scheda): 33 minuti di processore per il riassunto di una call di 59 minuti, tetto di 1.800 secondi per chiamata. Fonte primaria.
- Voxtrama, embedding dei parlanti (si apre in una nuova scheda): 4,04 volte il tempo reale a gruppi di 32, 0,51 volte uno alla volta, misurati nel container del worker. Fonte primaria.
- Voxtrama, release (si apre in una nuova scheda): 0.1.0-alpha1 del 28/09/2026, 0.1.0-alpha2 del 29/09/2026. Fonte primaria.
- Speakr (si apre in una nuova scheda), GitHub. Licenza, funzioni, Q&A con timestamp. Fonte primaria.
- Scriberr (si apre in una nuova scheda), GitHub. Licenza, separazione dei parlanti con pyannote, riassunto con Ollama. Fonte primaria.
- Meetily (si apre in una nuova scheda), GitHub. Licenza, app desktop, separazione dei parlanti nella versione PRO. Fonte primaria.
- Self-hosted AI notetakers (si apre in una nuova scheda), Anarlog, 20/04/2026. Panoramica dei progetti self-hosted.
- La Locandiera, atto secondo (MP3) (si apre in una nuova scheda), LibriVox, pubblico dominio. L'audio del test del 30/09/2026.
- Voxtral (si apre in una nuova scheda), Mistral AI. Il modello vocale con un nome simile.
Questo contenuto è stato prodotto dall'AI e rivisto da una persona.
Come è stata usata l'AI?
Le bozze sono prodotte con l'assistenza dell'AI, poi dirette, rivedute e verificate da una persona. Numeri, date e versioni sono confrontati con le fonti pubbliche prima della pubblicazione, e la data di quel controllo è indicata nel testo.