Salta al contenuto principale

Speech Note: parlare, scrivere, ascoltare e tradurre con il Software Libero, anche senza Internet

Inviato da tuxsa il
Speech Note

Una guida alla scoperta di Speech Note, un'applicazione per Linux che permette di trasformare la voce in testo, leggere documenti ad alta voce, tradurre contenuti e creare sottotitoli, utilizzando modelli di intelligenza artificiale eseguiti direttamente sul proprio computer.

Siamo ormai abituati a considerare il riconoscimento vocale, la sintesi della voce e la traduzione automatica come servizi disponibili soprattutto attraverso grandi piattaforme commerciali, spesso accessibili mediante un browser, un'applicazione per smartphone o un abbonamento. Quando dettiamo un messaggio, chiediamo a un assistente digitale di leggere un testo oppure utilizziamo un servizio per trascrivere una registrazione, difficilmente ci domandiamo dove vengano elaborati i nostri dati, quali informazioni siano trasmesse a server esterni e quanto controllo conserviamo sugli strumenti utilizzati.

Eppure esistono alternative che permettono di svolgere molte di queste operazioni direttamente sul proprio computer, senza affidare necessariamente la voce, i documenti e le registrazioni a servizi remoti.

Una di queste è Speech Note, un'applicazione libera e gratuita sviluppata principalmente per Linux, che riunisce in un'unica interfaccia tre tecnologie particolarmente interessanti: il riconoscimento vocale, la sintesi vocale e la traduzione automatica.

La caratteristica che rende Speech Note particolarmente significativa non è soltanto la disponibilità di queste funzionalità, ma la possibilità di utilizzarle completamente offline, dopo aver scaricato i modelli linguistici necessari. Il programma può quindi essere utilizzato anche in assenza di una connessione Internet, mantenendo l'elaborazione dei contenuti sul computer dell'utente.

Che cos'è Speech Note

Speech Note è un'applicazione open source sviluppata da Michał Kościesza, il cui codice sorgente è pubblicato con licenza Mozilla Public License 2.0 (MPL-2.0).

Il programma è disponibile per Linux e Sailfish OS e utilizza diversi motori di elaborazione linguistica, molti dei quali già conosciuti nell'ambito del Software Libero e dell'intelligenza artificiale locale.

Le sue tre funzioni fondamentali sono:

  • Speech to Text (STT): riconoscere le parole pronunciate e trasformarle in testo scritto.
  • Text to Speech (TTS): trasformare un testo scritto in una voce sintetica che lo legge ad alta voce.
  • Machine Translation (MT): tradurre automaticamente un testo da una lingua a un'altra.

Queste funzioni possono essere utilizzate separatamente oppure combinate per realizzare attività più complesse, come trascrivere un'intervista, tradurne il contenuto e successivamente ascoltare la traduzione mediante una voce sintetica.

Speech Note non è dunque soltanto un programma per prendere appunti, come potrebbe suggerire il nome, ma un ambiente di lavoro per trattare contenuti vocali e testuali attraverso strumenti aperti.

Come funziona il riconoscimento vocale

La funzione Speech to Text permette di trasformare una registrazione audio, oppure le parole pronunciate direttamente davanti al microfono, in un testo modificabile.

Per comprendere il funzionamento possiamo immaginare di dover scrivere un articolo, una lettera oppure un breve resoconto di una riunione. Invece di utilizzare la tastiera, possiamo pronunciare il contenuto e lasciare che Speech Note produca una prima versione scritta.

Il programma acquisisce il segnale audio, lo elabora attraverso un modello di riconoscimento vocale e restituisce una sequenza di parole che cerca di riprodurre quanto è stato pronunciato.

La qualità del risultato dipende da diversi fattori: il modello scelto, la lingua utilizzata, la qualità della registrazione, la presenza di rumori, la chiarezza della pronuncia e le capacità del computer.

Speech Note supporta diversi motori di riconoscimento, tra cui Whisper attraverso whisper.cpp, Faster Whisper e Vosk. Non è necessario conoscere il funzionamento interno di questi sistemi per utilizzare l'applicazione, perché i modelli disponibili possono essere selezionati attraverso l'interfaccia grafica.

Esempio 1 — Scrivere un articolo dettandolo

Immaginiamo di voler preparare un articolo sul recupero di un'area verde urbana.

Apriamo Speech Note, selezioniamo un modello di riconoscimento per la lingua italiana e iniziamo a parlare:

«Le aree verdi rappresentano una componente fondamentale della qualità della vita urbana. Non si tratta soltanto di spazi destinati al tempo libero, ma di infrastrutture ambientali capaci di contribuire alla riduzione delle temperature, al miglioramento della qualità dell'aria e alla tutela della biodiversità».

Al termine dell'elaborazione otteniamo una versione scritta del contenuto, che possiamo correggere, integrare e trasferire in un normale programma di videoscrittura.

Questo sistema può risultare particolarmente utile quando abbiamo molte idee da sviluppare e preferiamo esprimerle verbalmente prima di procedere alla revisione del testo.

Naturalmente la trascrizione non deve essere considerata automaticamente perfetta: nomi propri, termini tecnici e punteggiatura richiedono spesso una verifica.

Esempio 2 — Trascrivere un'intervista

Un secondo utilizzo riguarda le interviste registrate.

Supponiamo di aver raccolto una testimonianza di circa venti minuti attraverso un registratore digitale o uno smartphone. Trascrivere manualmente l'intera conversazione richiederebbe un tempo considerevole, soprattutto se fosse necessario ascoltare più volte alcuni passaggi.

Con Speech Note possiamo importare un file audio supportato e avviare il riconoscimento vocale, ottenendo una prima trascrizione sulla quale lavorare.

Sarà comunque necessario confrontare il testo con la registrazione originale, specialmente quando si tratta di dichiarazioni da pubblicare, perché il riconoscimento automatico può omettere parole, interpretare erroneamente alcune espressioni oppure non distinguere correttamente gli interlocutori.

Il programma è uno strumento di trascrizione, non un sostituto della verifica giornalistica.

Esempio 3 — Preparare il verbale di una riunione

Un'associazione, un gruppo di lavoro o un collettivo possono utilizzare Speech Note per ottenere una trascrizione preliminare di una riunione registrata.

Da questa trascrizione sarà possibile ricavare successivamente un verbale contenente gli argomenti affrontati, le proposte formulate, le decisioni assunte e le attività concordate.

È importante distinguere tra trascrizione e verbale: la prima tenta di riprodurre quanto è stato detto, mentre il secondo richiede un lavoro di selezione, organizzazione e verifica delle informazioni.

Prima di registrare una riunione occorre inoltre informare i partecipanti e rispettare le regole applicabili alla registrazione e al trattamento dei dati personali.

Trasformare il testo in voce: la sintesi vocale

La seconda grande funzione di Speech Note è la sintesi vocale, conosciuta come Text to Speech.

Il procedimento è sostanzialmente inverso rispetto al riconoscimento vocale: partendo da un testo scritto, il programma genera una voce sintetica che ne riproduce il contenuto.

Speech Note integra diversi motori, tra cui eSpeak NG, Piper, RHVoice e altri sistemi più avanzati, con caratteristiche differenti in termini di naturalezza, qualità, velocità e requisiti hardware.

Non tutte le voci sono disponibili per ogni lingua e la qualità può variare sensibilmente da un modello all'altro.

Esempio 4 — Ascoltare un articolo prima di pubblicarlo

Una delle applicazioni più semplici e interessanti consiste nell'utilizzare Speech Note per ascoltare un articolo appena scritto.

Dopo aver copiato il testo nell'applicazione e selezionato una voce italiana, possiamo avviare la lettura e verificare come suonano i periodi, se alcune frasi risultano eccessivamente lunghe, se vi sono ripetizioni oppure passaggi poco comprensibili.

L'ascolto di un testo può aiutare a individuare problemi che sfuggono durante la normale rilettura sullo schermo.

Si tratta quindi di uno strumento utile non soltanto per l'accessibilità, ma anche per il lavoro redazionale.

Esempio 5 — Creare un file audio da un testo

Immaginiamo di aver scritto un breve comunicato che desideriamo rendere disponibile anche in formato audio.

Possiamo inserire il testo in Speech Note, scegliere un modello di sintesi vocale e generare un file audio, utilizzando le opzioni di esportazione disponibili.

Il risultato potrà essere ascoltato sul computer o impiegato nella preparazione di altri contenuti, verificando preventivamente la qualità della pronuncia e le condizioni di utilizzo del modello vocale scelto.

Questa possibilità è particolarmente interessante per siti informativi, progetti culturali e iniziative che intendono affiancare ai contenuti scritti una versione ascoltabile.

Esempio 6 — Facilitare l'accesso ai contenuti

Le tecnologie di sintesi vocale possono contribuire a rendere più accessibili numerosi contenuti digitali, soprattutto per persone che incontrano difficoltà nella lettura prolungata o preferiscono utilizzare il canale uditivo.

Uno studente può ascoltare gli appunti preparati durante una lezione, mentre un cittadino può utilizzare la lettura vocale per seguire un documento informativo particolarmente lungo.

Speech Note non sostituisce gli strumenti specialistici di accessibilità, come gli screen reader, ma può rappresentare un utile complemento.

Tradurre testi senza inviarli a servizi online

La terza funzione è la traduzione automatica.

Speech Note utilizza il motore Bergamot Translator, una tecnologia che permette di eseguire traduzioni attraverso modelli installati localmente.

Il vantaggio è evidente: dopo aver scaricato il modello appropriato, non è necessario trasmettere il testo a un servizio esterno per ottenere la traduzione.

Questo può essere importante quando lavoriamo con appunti personali, documenti non pubblici oppure materiali che preferiamo mantenere sul nostro computer.

Esempio 7 — Tradurre una comunicazione

Supponiamo di aver ricevuto un breve messaggio in inglese:

«We are organizing a public meeting to discuss the future of urban green spaces and citizen participation».

Possiamo inserirlo nella sezione dedicata alla traduzione, selezionare l'italiano come lingua di destinazione e ottenere una traduzione automatica.

La stessa operazione può essere effettuata nella direzione opposta, quando desideriamo preparare una prima versione di un testo in un'altra lingua.

La qualità delle traduzioni dipende dai modelli disponibili e dalla complessità del contenuto, per cui i documenti destinati alla pubblicazione dovrebbero essere sempre controllati.

Esempio 8 — Trascrivere, tradurre e ascoltare

Un utilizzo più articolato consiste nel combinare le tre funzioni.

Immaginiamo di avere una breve registrazione in inglese e di voler comprenderne il contenuto in italiano.

Il procedimento può essere suddiviso in tre passaggi:

  1. Utilizziamo il riconoscimento vocale per trasformare la registrazione inglese in testo.
  2. Traduciamo il testo ottenuto dall'inglese all'italiano.
  3. Utilizziamo la sintesi vocale per ascoltare la traduzione italiana.

In questo modo Speech Note diventa un ambiente nel quale voce, testo e traduzione possono essere utilizzati in successione, senza necessariamente ricorrere a tre programmi diversi.

Non bisogna tuttavia confondere questa procedura con un servizio di interpretariato simultaneo: si tratta di operazioni che richiedono elaborazione e controllo dei risultati.

Creare sottotitoli per i video

Un'altra funzione particolarmente interessante è la possibilità di produrre sottotitoli a partire dall'audio.

Speech Note supporta il formato SRT, ampiamente utilizzato nei programmi di riproduzione video e negli strumenti di montaggio.

Un file SRT contiene il testo dei sottotitoli e le informazioni temporali necessarie per visualizzarli nel momento corretto.

Esempio 9 — Sottotitolare un'intervista video

Immaginiamo di aver realizzato una videointervista destinata alla pubblicazione.

Possiamo estrarre o utilizzare la traccia audio, elaborarla attraverso Speech Note e generare una prima versione dei sottotitoli in formato SRT.

Il file potrà successivamente essere aperto con un editor di sottotitoli, come Subtitle Edit o Aegisub, oppure utilizzato in un programma di montaggio video compatibile.

La sincronizzazione e la correttezza delle parole devono essere controllate, ma disporre di una prima trascrizione temporizzata può ridurre notevolmente il lavoro manuale.

Speech Note permette anche di utilizzare sottotitoli come riferimento temporale per la sintesi vocale, aprendo possibilità interessanti nella realizzazione di narrazioni audio e doppiaggi sperimentali.

Guida pratica: installare Speech Note su Linux

Il metodo più semplice per installare Speech Note su numerose distribuzioni Linux è utilizzare Flatpak, un sistema di distribuzione delle applicazioni che permette di installare programmi e relative dipendenze in modo relativamente indipendente dalla distribuzione utilizzata.

1. Verificare la presenza di Flatpak

Apriamo il terminale e digitiamo:

flatpak --version

Se Flatpak è installato, il sistema mostrerà il numero di versione.

Su Debian e sulle distribuzioni derivate possiamo installarlo, se necessario, mediante:

sudo apt update
sudo apt install flatpak

Se il repository Flathub non è ancora configurato, possiamo aggiungerlo con:

sudo flatpak remote-add --if-not-exists flathub \
https://flathub.org/repo/flathub.flatpakrepo

2. Installare Speech Note

Una volta configurato Flatpak, eseguiamo:

flatpak install flathub net.mkiol.SpeechNote

Confermiamo le operazioni richieste e attendiamo il completamento dell'installazione.

Occorre considerare che il pacchetto completo può richiedere diversi gigabyte di spazio su disco, a causa delle librerie necessarie ai vari motori di elaborazione. Il progetto distribuisce anche una variante ridotta, denominata Tiny, per chi desidera utilizzare soltanto le funzionalità di base.

3. Avviare il programma

Speech Note dovrebbe comparire nel menu delle applicazioni del desktop.

In alternativa possiamo avviarlo dal terminale:

flatpak run net.mkiol.SpeechNote

Al primo avvio il programma non dispone necessariamente dei modelli linguistici necessari per le operazioni desiderate.

Dovremo quindi scaricare almeno un modello.

Scegliere e scaricare i modelli linguistici

Uno degli aspetti più importanti da comprendere è la distinzione tra l'applicazione e i modelli di intelligenza artificiale.

Speech Note fornisce l'interfaccia e gli strumenti necessari per eseguire le operazioni, mentre i modelli contengono le informazioni apprese durante l'addestramento che permettono di riconoscere la voce, sintetizzarla oppure tradurre testi.

Il programma mette a disposizione un gestore grafico dei modelli, attraverso il quale è possibile scegliere le lingue e i motori supportati.

Per iniziare possiamo seguire questa procedura:

  1. Apriamo Speech Note e accediamo alla gestione dei modelli.
  2. Selezioniamo la lingua italiana.
  3. Individuiamo un modello per il riconoscimento vocale, ad esempio uno basato su Whisper.
  4. Avviamo il download e attendiamo il completamento.
  5. Torniamo alla schermata principale e selezioniamo il modello installato.

Per utilizzare anche la lettura vocale sarà necessario scaricare o abilitare una voce italiana compatibile con uno dei motori TTS disponibili.

Per la traduzione, invece, dovremo scegliere un modello che supporti la coppia di lingue desiderata.

Un consiglio: per le prime prove conviene utilizzare un modello relativamente leggero, verificare che tutto funzioni correttamente e soltanto successivamente valutare modelli più impegnativi.

Prima prova pratica: dettare un testo

Dopo aver installato un modello italiano per il riconoscimento vocale, possiamo eseguire un semplice esperimento.

Apriamo una nuova nota, selezioniamo il modello desiderato e verifichiamo che il microfono sia correttamente riconosciuto dal sistema.

Avviamo quindi l'ascolto attraverso il comando previsto dall'interfaccia e pronunciamo lentamente una frase:

«Questa è la mia prima prova di riconoscimento vocale con Speech Note. Sto utilizzando un programma libero che elabora la mia voce direttamente sul computer».

Interrompiamo l'acquisizione e attendiamo il completamento dell'elaborazione.

Se tutto è stato configurato correttamente, il programma mostrerà il testo riconosciuto.

Possiamo ora modificarlo, copiarlo oppure utilizzarlo in un'altra applicazione.

Per migliorare i risultati conviene effettuare le prime prove in un ambiente silenzioso, utilizzando un microfono di buona qualità e parlando con naturalezza.

Utilizzare Speech Note con altri programmi

Una caratteristica particolarmente utile è la possibilità di integrare il riconoscimento vocale con il normale ambiente desktop.

Speech Note dispone infatti di funzioni per copiare il testo riconosciuto negli appunti e, quando l'ambiente lo consente, inserirlo direttamente nella finestra attiva.

Questo significa che possiamo utilizzarlo non soltanto per scrivere note interne al programma, ma anche per dettare testi destinati ad altre applicazioni.

Esempio 10 — Dettare un articolo in LibreOffice Writer

Apriamo LibreOffice Writer e posizioniamo il cursore nel punto in cui desideriamo inserire il testo.

Se Speech Note è configurato per l'inserimento nella finestra attiva e il nostro ambiente desktop supporta questa funzione, possiamo avviare il riconoscimento vocale e dettare direttamente il contenuto.

Il testo riconosciuto verrà inserito nel documento, dove potremo continuare a lavorare normalmente.

Questa modalità è particolarmente interessante per chi scrive documenti lunghi oppure preferisce alternare tastiera e dettatura.

Esempio 11 — Scrivere contenuti per un sito Drupal

La stessa tecnica può essere utilizzata per preparare contenuti destinati a un sito realizzato con Drupal.

Possiamo dettare il testo in Speech Note, correggerlo e copiarlo nell'editor del CMS, oppure utilizzare l'inserimento nella finestra attiva se la configurazione del desktop lo permette.

Rimane comunque opportuno effettuare la revisione nell'editor del sito, controllando la struttura dei paragrafi, i collegamenti, la punteggiatura e la formattazione.

Speech Note si occupa del riconoscimento della voce, non dell'organizzazione editoriale automatica del contenuto.

Una funzione avanzata: usare Speech Note dal terminale

Chi utilizza abitualmente Linux può sfruttare anche alcune opzioni a riga di comando.

Per visualizzare i comandi disponibili:

flatpak run net.mkiol.SpeechNote --help

Per avviare il riconoscimento vocale e copiare il risultato negli appunti:

flatpak run net.mkiol.SpeechNote \
  --action start-listening-clipboard

Per avviare il riconoscimento e inserire il testo nella finestra attiva:

flatpak run net.mkiol.SpeechNote \
  --action start-listening-active-window

Per far leggere al programma una frase:

flatpak run net.mkiol.SpeechNote \
  --action start-reading-text \
  --text "Benvenuti nel mondo del Software Libero"

Per generare un file audio:

flatpak run net.mkiol.SpeechNote \
  --action start-reading-text \
  --text "Questo è un esempio di sintesi vocale" \
  --output-file esempio.mp3

Questi comandi richiedono che i modelli necessari siano già disponibili e correttamente configurati. Le funzioni di integrazione con il desktop sono pensate principalmente per interagire con un'istanza dell'applicazione già in esecuzione.

Attenzione alle differenze tra X11 e Wayland

Chi utilizza Linux dovrebbe conoscere un dettaglio tecnico importante.

L'inserimento automatico del testo nelle altre applicazioni dipende dal sistema grafico utilizzato.

Negli ambienti X11 questa funzione dovrebbe operare normalmente, mentre con Wayland possono essere necessarie configurazioni aggiuntive.

In particolare, per l'inserimento nella finestra attiva può essere necessario installare e configurare il servizio ydotool, oltre a concedere gli opportuni permessi all'applicazione Flatpak.

Anche le scorciatoie globali da tastiera dipendono dal supporto fornito dall'ambiente desktop.

Queste limitazioni non impediscono di utilizzare le funzioni principali di Speech Note: quando l'inserimento diretto non è disponibile, possiamo sempre ricorrere alla copia e all'incolla del testo riconosciuto.

Quale modello scegliere?

La scelta dipende soprattutto dal tipo di attività che desideriamo svolgere.

Per il riconoscimento vocale in italiano possiamo iniziare con un modello Whisper relativamente leggero e valutare successivamente modelli più grandi, qualora la precisione ottenuta non fosse soddisfacente.

Per la lettura vocale possiamo provare Piper, che offre modelli di sintesi utilizzabili localmente, oppure altri motori disponibili nell'applicazione.

Per la traduzione utilizzeremo invece i modelli compatibili con Bergamot.

Non esiste un modello universalmente migliore per ogni computer e per ogni situazione. Un modello più grande può offrire risultati migliori in determinate condizioni, ma richiede generalmente maggiori risorse e tempi di elaborazione.

La disponibilità di una scheda grafica compatibile può accelerare alcune operazioni, ma non è indispensabile per cominciare.

Speech Note mette a disposizione componenti aggiuntivi per l'accelerazione GPU con schede NVIDIA e AMD, che devono essere valutati considerando anche il notevole spazio su disco richiesto.

La riservatezza dei dati: un vantaggio concreto

Uno degli aspetti più importanti di Speech Note riguarda il controllo dei dati personali.

Quando utilizziamo un servizio online per trascrivere una registrazione o tradurre un documento, il contenuto può essere inviato a infrastrutture gestite da terzi. Le modalità di trattamento dipendono dal servizio e dalle relative condizioni.

Con Speech Note, invece, i processi di riconoscimento, sintesi e traduzione sono progettati per essere eseguiti localmente.

Dopo aver scaricato i modelli, possiamo anche scollegare il computer dalla rete e continuare a utilizzare le funzionalità disponibili.

Questo non significa che qualsiasi utilizzo sia automaticamente sicuro o conforme alle norme sulla protezione dei dati: rimangono importanti la protezione del computer, la gestione dei file, i permessi di accesso e l'eventuale condivisione dei risultati.

Significa però che possiamo evitare un passaggio spesso dato per scontato, cioè la trasmissione dei nostri contenuti a un server remoto per ottenere l'elaborazione richiesta.

I limiti da conoscere

Speech Note è uno strumento interessante, ma non bisogna presentarlo come una soluzione infallibile.

Il riconoscimento vocale può commettere errori, soprattutto in presenza di rumori, sovrapposizione di voci, termini specialistici o registrazioni di scarsa qualità.

La sintesi vocale può produrre pronunce poco naturali, specialmente con sigle, nomi propri e parole straniere.

La traduzione automatica può perdere sfumature linguistiche o interpretare erroneamente espressioni particolarmente complesse.

Inoltre, alcuni modelli richiedono quantità significative di memoria e spazio su disco, mentre le elaborazioni più impegnative possono risultare lente su computer meno recenti.

Per questi motivi Speech Note dovrebbe essere considerato uno strumento di supporto al lavoro umano, non un sostituto della verifica e della revisione.

Perché Speech Note rappresenta un esempio importante di Software Libero

Il valore di Speech Note va oltre le sue singole funzionalità.

Il programma dimostra che tecnologie considerate complesse, come il riconoscimento automatico della voce e la sintesi vocale basata su modelli di intelligenza artificiale, possono essere rese disponibili attraverso applicazioni libere, installabili sul proprio computer e utilizzabili senza dipendere continuamente da servizi commerciali.

Questa possibilità assume un significato particolare per scuole, biblioteche, associazioni, redazioni indipendenti, organizzazioni civiche e cittadini che desiderano utilizzare strumenti digitali mantenendo un maggiore controllo sulle proprie informazioni.

Naturalmente, l'apertura del codice dell'applicazione non implica che ogni modello linguistico distribuito attraverso di essa abbia necessariamente la stessa licenza: quando si intende riutilizzare o distribuire modelli e risultati in progetti specifici, è opportuno verificare le relative condizioni.

Resta comunque un principio fondamentale: l'innovazione tecnologica non deve necessariamente coincidere con la dipendenza da una piattaforma centralizzata.

Speech Note offre una dimostrazione concreta di come il Software Libero possa contribuire a rendere più accessibili strumenti avanzati, promuovendo autonomia tecnologica, sperimentazione e maggiore consapevolezza nell'utilizzo dell'intelligenza artificiale.

Per chi utilizza Linux e desidera iniziare a esplorare queste tecnologie, Speech Note rappresenta un progetto da conoscere, installare e provare, magari partendo da una semplice dettatura per arrivare progressivamente alla trascrizione di registrazioni, alla produzione di contenuti audio e alla traduzione di testi.

Perché poter scegliere dove e come elaborare la propria voce, i propri documenti e le proprie informazioni è una forma concreta di libertà digitale.