Spiegazione

Riconoscimento vocale cloud o locale

Tutti e due trasformano il parlato in testo. La differenza è dove abita il computer che lo fa, e quasi tutto il resto discende da quella singola scelta.

Guide

Lo stesso mestiere, in due posti diversi

Il riconoscimento vocale è un programma che fa girare un modello: un file grosso addestrato a trasformare il suono in parole. Non c’è niente di mistico, e da qualche parte deve girare.

Nel cloud quel file abita su un server. Il tuo apparecchio registra l’audio, lo manda attraverso la rete, aspetta, e riceve indietro del testo. Il file non lo vedi mai e non ci pensi mai, che è esattamente il motivo per cui piace.

In locale il file abita sul tuo apparecchio. L’audio non va da nessuna parte. Il telefono o il computer carica il modello, fa il lavoro e produce testo senza che niente attraversi una rete.

La distinzione è tutta qui. Tutto il resto ne è conseguenza.

In cosa è bravo ciascuno dei due

Il riconoscimento nel cloud può essere enorme. Un server ha memoria, raffreddamento e hardware specializzato, quindi il modello può essere molto più grande di qualunque cosa stia dentro un telefono. Più capacità in genere vuol dire gestire meglio gli accenti, il rumore di fondo, i nomi insoliti e chi parla in fretta. Può anche essere aggiornato in un posto solo, quindi migliora senza che tu faccia niente, e può reggere elenchi di lingue molto lunghi perché la dimensione non è il vincolo.

Il riconoscimento in locale è limitato dall’apparecchio. Su un telefono vuol dire qualche gigabyte di memoria condiviso con tutto il resto, nessuna ventola e una batteria da proteggere. Il modello deve essere abbastanza piccolo da caricarsi in fretta e da finire prima che ti spazientisci.

Quindi, sulla capacità pura, il vantaggio ce l’ha il cloud, e non è in discussione.

Cosa ti dà in cambio il locale

Funziona senza connessione. Niente segnale, modalità aereo, una cantina, un paese straniero con i dati spenti: nessuna di queste è un caso particolare, perché la rete non è mai stata parte del processo.

Fallisce in un altro modo. Il riconoscimento nel cloud tende a fallire in silenzio quando la connessione è scarsa. Aspetta, va in timeout, oppure perde la frase che hai appena detto. Quello in locale o funziona o no, e funziona.

La latenza è tua. La velocità del cloud dipende dalla tua connessione e dal carico sui server di qualcun altro. La velocità in locale dipende dal tuo hardware e dalla taglia di modello che hai scelto, che è perlomeno una variabile che controlli.

Il tuo audio non viaggia. È la ragione per cui quasi tutti sono qui. Se il riconoscimento avviene sul tuo apparecchio, non c’è nessun caricamento, nessun server che riceve la tua voce e nessuna copia da un’altra parte. È una proprietà dell’architettura, non una promessa scritta in un documento.

Non serve nessun account. L’elaborazione lato server di solito implica identificare chi sta chiedendo. Quella in locale no.

Cosa ti costa il locale

Far girare il modello sul tuo telefono ha un prezzo, e si paga in capacità.

Spazio. Il modello deve stare sull’apparecchio. A seconda della taglia scelta, si va da qualche decina a qualche centinaio di megabyte, e su un telefono già pieno la cosa conta.

Memoria mentre lavora. Durante la trascrizione il modello deve stare in memoria, ed è per questo che gli apparecchi più vecchi faticano con quelli grandi.

Un modello più piccolo. Il che di solito vuol dire una precisione un po’ più bassa dei migliori servizi nel cloud, soprattutto con accenti marcati o stanze rumorose.

Meno lingue. La capacità multilingue costa in dimensione, quindi un modello che gira sul dispositivo copre meno lingue di uno lato server.

Un download iniziale. Il modello in qualche modo deve arrivare, e quel passaggio ha bisogno di una connessione anche se dopo non ne ha bisogno niente.

Dov’è la via di mezzo

Quasi nessuno ha bisogno del modello più grande possibile. La gente ha bisogno di una dettatura che funzioni nei momenti in cui scrive davvero: una risposta in treno, una nota in un negozio, una email mentre cammina. Sono frasi corte, pronunciate con chiarezza dentro un microfono tenuto vicino alla faccia, che è il caso facile per qualsiasi modello moderno.

I casi difficili, quattro persone attorno a un tavolo con il microfono in mezzo, rumore di fondo pesante, la registrazione di una lezione, sono quelli in cui la capacità lato server vince davvero. Ed è anche lavoro che di solito stai facendo apposta, con il tempo di caricare un file e aspettare.

Dividerla così è più utile che schierarsi: il locale per la scrittura che fai tutto il giorno, il lato server per le registrazioni che stai documentando di proposito.

Il caso ibrido, e perché va maneggiato con cura

Esiste una terza sistemazione, comune, e facile da scambiare per una delle altre due.

Parecchi prodotti fanno tutte e due le cose. Trascrivono sul dispositivo quando le condizioni lo permettono e allungano la mano verso un server quando vogliono più capacità, più lingue o più velocità. A volte scegli tu; a volte sceglie il programma al posto tuo, in base al tuo hardware, alla tua lingua o al fatto che un componente abbia finito di installarsi.

Come ingegneria è una cosa sensata. Ottieni la risposta migliore disponibile in ogni situazione.

Come garanzia è più debole, e la distinzione conta a seconda del motivo per cui volevi il locale all’inizio. Se lo volevi perché il segnale è inaffidabile, l’ibrido va benissimo: ripiega e tu vai avanti. Se lo volevi perché preferiresti che la tua voce non venisse trasmessa, l’ibrido vuol dire che l’esito dipende da uno stato di cui devi tenere il conto, e gli stati si spostano. Le impostazioni si azzerano. I valori predefiniti cambiano negli aggiornamenti. Una lingua che cominci a usare non è coperta in locale.

Nessuno dei due progetti è un trucco. Sono risposte a domande diverse, e l’unico errore è dare per scontato che l’uno sia l’altro.

Come capire quale dei due usa un’app

Le descrizioni sono inaffidabili, perché «privato», «sicuro» e perfino «offline» vengono usati con leggerezza. Due verifiche chiudono la questione.

Modalità aereo. Installa l’app, lascia finire qualunque scaricamento del primo avvio, poi spegni dati mobili e Wi-Fi e detta. Se compare del testo, il riconoscimento è avvenuto sul dispositivo.

Cerca un download del modello. Un’app che trascrive in locale in qualche modo deve portare il suo modello sul tuo apparecchio, quindi ti parlerà di un download di dimensioni notevoli. Un’app che non scarica mai niente ma trascrive all’istante sta usando l’hardware di qualcun altro.

Attenzione a un’espressione in particolare. «Le tue note sono salvate in locale» e «il tuo parlato è riconosciuto in locale» si somigliano e vogliono dire cose completamente diverse. La prima riguarda dove il testo viene salvato dopo il fatto, e non dice assolutamente niente su dove sia finita la tua voce.

Dove si colloca LocalType in tutto questo

LocalType sta dal lato locale di questa linea.

LocalType è una tastiera Android che fa il riconoscimento sul telefono, senza nessuna strada verso il cloud dentro l’app. Porta tre taglie di modello, 60, 190 e 539 MB, così il compromesso fra spazio e velocità lo fai tu invece che noi, e copre diciotto lingue con un modello multilingue solo. Su un telefono di prova con 4 GB di memoria, la taglia di mezzo ha convertito in testo 6,9 secondi di parlato in 4,1 secondi.

Vuol dire che si porta dietro ogni costo elencato sopra: spazio, memoria, un primo download, un modello più piccolo di quello che potrebbe far girare un server. E riceve ogni beneficio: nessun account, nessun caricamento, nessun archivio delle tue registrazioni, e una dettatura che si comporta allo stesso modo che tu abbia segnale oppure no.

Se quel compromesso sia quello giusto dipende soltanto da cosa scrivi e da dove lo scrivi. Chi trascrive riunioni registrate per lavoro e chi risponde ai messaggi in treno non stanno facendo lo stesso discorso.

LocalType per Android

La voce che diventa testo, in privato sul tuo telefono. Il riconoscimento vocale funziona sul telefono stesso.

Disponibile su Google Play