Perché la gente cerca proprio questo
Whisper è un modello di riconoscimento vocale. Quello che lo ha reso importante non è che fosse la cosa più precisa mai costruita, ma che si potesse scaricare e far girare su hardware ordinario. Prima, una trascrizione decente voleva dire mandare l’audio a un’azienda che possedeva il modello.
Una volta che qualcuno lo ha fatto girare su un portatile, il pensiero successivo è arrivato da solo: il posto dove scrivo davvero è il telefono, quindi perché il mio telefono continua a mandare la mia voce a un server?
È quella la domanda sotto la ricerca. Non è una recensione, e qui non c’è nessuna critica ai progetti citati. Diversi di loro sono lavoro open source fatto con cura da squadre piccole, e ci sono arrivati per primi.
Un telefono non è un portatile
Whisper esiste in più taglie, e quelle che tutti lodano sui computer da scrivania sono grandi. Va benissimo quando ci sono una scheda grafica, memoria in abbondanza e una ventola.
Un telefono ha qualche gigabyte di memoria condiviso con ogni altra app, nessun raffreddamento attivo e una batteria che sta cercando di proteggere. Quindi qualunque progetto che porti Whisper su Android sta facendo lo stesso insieme di compromessi, che lo dica oppure no:
- Un modello più piccolo, e quindi una precisione un po’ più bassa dei risultati da computer che vengono citati in giro.
- Un’attesa dopo che hai smesso di parlare, perché il lavoro comincia quando c’è qualcosa su cui lavorare.
- Spazio occupato, perché il file del modello deve stare sull’apparecchio.
- Meno lingue, visto che la capacità multilingue costa in dimensione.
Chi sostiene che la trascrizione su un telefono sia identica a quella su una postazione da lavoro sta descrivendo qualcosa di diverso da quello che l’hardware fa. La domanda interessante è quali compromessi abbia scelto una certa app.
Cosa esiste oggi
Whisper IME fa girare Whisper sull’apparecchio e funziona come metodo di immissione, quindi si può usare dalla tastiera. Ha licenza MIT ed è gratuito, richiede Android 9 o versioni successive, e scarica il suo modello prima del primo utilizzo. Le registrazioni sono limitate a circa mezzo minuto per volta, cosa che si addice alle frasi e ai messaggi brevi più che alla dettatura lunga.
Transcribro gira anch’esso sull’apparecchio, usando whisper.cpp, e fornisce sia una tastiera sia un servizio di riconoscimento vocale di sistema, così altre app possono chiamarlo. Ha licenza ISC ed è gratuito. Gestisce l’inglese.
Tutti e due sono open source, tutti e due tengono l’audio sul telefono, e tutti e due sono il lavoro di persone che volevano che una cosa così esistesse. Se quello che conta di più per te è che sia gratis e ispezionabile, comincia da lì e smetti di leggere.
Prima di tutto una tastiera
LocalType fa un insieme di scelte diverso partendo dallo stesso principio.
È prima di tutto una tastiera intera, non una dettatura attaccata a una tastiera. Correzione automatica, suggerimenti della parola successiva, un dizionario per lingua, QWERTY, QWERTZ e AZERTY dove sono lo standard nazionale, un set di emoji, e il vocabolario che aggiungi tu. Il microfono è un tasto su quella tastiera, quindi dettare non è una cosa a parte in cui devi entrare.
Porta tre taglie di modello e lascia decidere a te il compromesso invece di sceglierlo al posto tuo: 60 MB per la velocità su hardware stanco, 190 MB come impostazione equilibrata, 539 MB quando la precisione vale l’attesa. I numeri dietro a tutto questo, misurati su un telefono con 4 GB di memoria: il modello da 190 MB ha trasformato in testo 6,9 secondi di parlato in 4,1 secondi, mentre il più grande chiede all’incirca il doppio dei secondi che hai passato a parlare. Ne resta uno per volta, quindi cambiare taglia sostituisce il file invece di aggiungerne un altro.
Copre diciotto lingue con un modello multilingue solo, e capisce quale stai parlando dalla registrazione invece che da un’impostazione. È lì che LocalType ha speso il suo bilancio di dimensione, ed è la differenza pratica più chiara dalle opzioni che fanno soltanto l’inglese.
È seguito come prodotto invece che come progetto del tempo libero, cosa che conta quando qualcosa si rompe su un modello di telefono che nessuno ha provato.
Gira da Android 8.0 in su, il che arriva più indietro di alcune alternative.
Quanto ti costa
LocalType non è open source e non è gratuito. Sono svantaggi veri rispetto ai progetti qui sopra e pesano di più proprio per le persone per cui quei progetti sono stati fatti.
Quello che ricevi in cambio è un prodotto solo che fa tutto il mestiere: una tastiera che puoi usare tutto il giorno senza toccare il microfono, la dettatura in diciotto lingue costruita dentro, e qualcuno con cui lamentarti quando si comporta male.
La cosa che tutti questi hanno in comune
Qualunque sia la scelta, la proprietà importante è la stessa, ed è la ragione per prenderne uno qualsiasi.
Il tuo audio non lascia l’apparecchio. Il riconoscimento è un file sul tuo telefono che lavora sul tuo telefono. Non c’è nessun account, non viene caricato niente, e una volta che il modello è al suo posto la connessione diventa irrilevante: aerei, gallerie, cantine e viaggi all’estero con i dati spenti si comportano tutti allo stesso modo.
Per LocalType in particolare: il modello sta nello spazio di archiviazione riservato all’app, i dati dell’app sono esclusi apposta dal backup nel cloud di Android, nei campi password il microfono si spegne da solo, e dentro il prodotto non c’è pubblicità né tracciamento del comportamento. L’accesso a internet viene chiesto per un motivo solo, andare a prendere il modello che hai scelto. In nessun momento viene tenuto un archivio delle tue registrazioni: l’audio diventa testo nel campo in cui stavi scrivendo, e della transazione non sopravvive niente. Anche le parole che aggiungi al dizionario restano sull’apparecchio.
Come controllare se un’app gira davvero sul telefono
Parecchie app si descrivono come private, locali o sicure senza essere precise su dove l’audio venga elaborato. C’è una prova che chiude la questione in meno di un minuto e non richiede nessuna conoscenza tecnica.
Installa l’app e lasciale finire qualunque scaricamento voglia fare al primo avvio. Poi metti il telefono in modalità aereo, con anche il Wi-Fi spento, e detta una frase.
Se le parole compaiono, il riconoscimento è avvenuto sull’apparecchio. Non c’è scampo: non era raggiungibile niente. Se invece si blocca, va in timeout o mostra un errore di connessione, allora l’audio stava andando da qualche parte, qualunque cosa dicesse la descrizione nella scheda del negozio.
Certe app scaricano il modello al primo utilizzo, quindi un fallimento prima di aver lasciato finire quel passaggio non dimostra niente. E un’app può girare davvero sull’apparecchio e parlare comunque con un server per altri motivi, per esempio controlli di licenza o aggiornamenti, che è una domanda diversa da dove finisca la tua voce.
Fai quella prova su qualsiasi cosa citata in questo elenco, LocalType compreso. Preferiamo che tu controlli invece di crederci sulla parola.
Dove andare a guardare
Chi vuole ispezionare il codice e non pagare niente guardi Whisper IME e Transcribro, e il fatto che ci sia solo l’inglese non è un problema per chi scrive in inglese.
Chi vuole la dettatura in diciotto lingue dentro una tastiera che userebbe comunque, senza montarla a partire da pezzi, ha davanti LocalType. Stesso principio sotto, confezionato come prodotto invece che come componente.