Costa qualche dollaro. E l’italiano lo mastica male.
Avevo quattordici anni e volevo fare il liceo linguistico. I miei genitori hanno storto il naso — il liceo linguistico era roba da segretarie, dicevano, oppure peggio: volevo forse fare l’alberghiero? Ho fatto l’istituto tecnico in informatica. Mio padre nel frattempo mi mandava a studiare le valvole termoioniche da un amico di famiglia: allora sembravano il futuro, e in un certo senso lo erano. Adesso sono archeologia. Le lingue le ho tenute come vizio privato: inglese, poi francese, adesso cinese, arabo e ungherese, nell’ordine preciso di chi sceglie le lingue per torturarsi.
Quarant’anni dopo, in un pomeriggio, ho scritto cinquanta righe di Python che fanno quello che il Babel fish di Adams prometteva nel 1978: prendi l’audio di una persona che parla, traducilo in un’altra lingua, riproducilo in tempo reale. Non perfettamente — ci torno — ma lo fa. Con una chiave API e due librerie.
Il Babel fish di Adams era un piccolo pesce giallo che inserivi nell’orecchio e che ti traduceva simultaneamente qualsiasi lingua dell’universo. Adams lo presentava come la cosa più utile e più pericolosa mai inventata, perché eliminare le barriere linguistiche aveva scatenato più guerre di quante ne avesse prevenute. Era una battuta, naturalmente. Ma era anche una previsione sulla complessità del problema.
Io il problema l’ho vissuto in modo più prosaico. Lavoravo come sguattero in una pizzeria a Berna — ero minorenne, mi spacciavo per diciottenne, uno di quei dettagli che formano il carattere senza che tu lo voglia — e riuscivo a parlare in inglese in modo naturale con una ragazza americana. Non l’inglese scolastico, quello da libro. Quello che funziona davvero, con le pause giuste e le battute che arrivano a tempo. Quella soddisfazione piccola e precisa: le lingue che smettono di essere esercizio e diventano contatto. Non l’ho mai dimenticata.
In Second Life, dal 2007 in poi, quel problema si presentava ogni giorno in forma industriale. La piattaforma era genuinamente internazionale — italiani, brasiliani, tedeschi, giapponesi, tutti in uno spazio condiviso — e la soluzione era artigianale quanto si può immaginare: testi pre-tradotti, Google Translate incollato in chat, conversazioni che avanzavano a singhiozzo. Il Babel fish non esisteva. Esistevano workaround.
Il setup che ho costruito è questo: microfono, rilevamento del silenzio artigianale (calcola l’RMS dei chunk ogni 100 millisecondi, considera silenzio tutto ciò che scende sotto soglia, taglia quando il silenzio dura 1,5 secondi), poi il segmento audio va a Gemini 2.5 Flash con un prompt di quattro righe:
Transcribe the speech in this audio and translate it to English. Output only the English translation, nothing else. If there is no speech or the audio is silent, output nothing.
Un solo modello riceve l’audio grezzo in base64 e restituisce direttamente la traduzione. Nessun passaggio intermedio, nessuna language detection separata, nessun modello NMT in pipeline. Fino a poco fa servivano: Whisper per la trascrizione, un layer di language detection, un modello di traduzione, poi il TTS. Oggi è una chiamata.
Vale la pena fermarsi su questo punto, perché è il cambiamento vero. Per decenni l’informatica è stata assemblare componenti: prendi un pezzo che fa A, collegalo a uno che fa B, aggiungi quello che fa C. La pipeline era il prodotto. Adesso chiedi una capacità cognitiva a un modello e lui la esegue — senza che tu sappia come lo fa internamente, senza che tu abbia costruito nulla di strutturale. Non è solo una questione di semplicità tecnica. È una trasformazione nel modo in cui ci rapportiamo alle macchine: da costruttori di catene a formulatori di intenzioni. Che poi sia questa la direzione giusta è un’altra discussione.
La voce sintetica — Zephyr, nel caso, su Gemini 3.1 Flash TTS (non il 2.5 di maggio: la differenza si sente) — è la parte che sorprende di più. Prosodia naturale, pause sensate, nessun effetto robotico evidente. Google ha fatto un lavoro serio su questo fronte, e si sente.
Vabbè. Però.
La latenza è il problema principale. Tra il momento in cui finisci di parlare e il momento in cui senti la traduzione passano facilmente tre-cinque secondi. Qualche volta di più. Per una conversazione normale è tollerabile. Per la traduzione simultanea vera — quella dell’interprete all’ONU, quella che non ha margine — non è nemmeno vicina.
Il secondo problema è l’italiano. Con input cristallino funziona. In condizioni reali, con rumore di fondo o accento regionale, Gemini regge ma non vola. Fa errori che un madrelingua non farebbe. Non è una sorpresa: i dati di addestramento per l’italiano sono una frazione di quelli per l’inglese, e si vede.
Ma c’è un problema più profondo, che la latenza non risolverà e i dati di addestramento nemmeno. Il Babel fish di Adams non traduceva parole — traduceva intenzioni. “Ci vediamo dopo pranzo” detto da un piemontese significa le tre di pomeriggio; detto a un americano suona come mezzogiorno e un quarto. L’ironia, il dialetto, il registro sociale, il sottinteso che funziona solo se conosci il contesto: siamo ancora a livello di dizionario sofisticato, non di interprete. Stiamo risolvendo la lingua. La comunicazione è un’altra cosa.
È un proof of concept con risultati scarni, non un prodotto. Lo scrivo perché l’onestà su questo punto è l’unica cosa interessante: chiunque può produrre una demo che funziona in condizioni ideali. La domanda utile è cosa succede quando le condizioni non sono ideali — e la risposta qui è: abbastanza poco.
Quello che però non è trascurabile è il contesto in cui questo codice banale esiste. Tre anni fa costruire un sistema simile richiedeva pipeline dedicate, accordi enterprise, un team. Oggi è cinquanta righe e una chiave OpenRouter. Il costo è nell’ordine dei dollari per ora di utilizzo — non centesimi, chiariamolo. Il mio test è costato circa due dollari. Comunque ordini di grandezza sotto quello che richiedeva l’infrastruttura enterprise di tre anni fa.
Sto imparando il cinese. L’arabo. L’ungherese — lingua agglutinante, diciotto casi, nessuna parentela con niente di europeo, scelta che dice tutto sulla natura del mio rapporto con le lingue. Non le studio per necessità. Le studio perché il ragazzo che voleva fare il liceo linguistico non è mai andato via del tutto.
Quando la latenza scenderà sotto il secondo — e scenderà — e quando i modelli multilingua miglioreranno sull’italiano, qualcosa cambierà davvero. Non nel senso vago delle previsioni da convegno. Nel senso che la pizzeria svizzera, la ragazza americana, quella soddisfazione piccola e precisa di capirsi davvero: diventerà disponibile per chiunque, in qualsiasi lingua, senza dover scegliere il liceo scientifico.
Adams diceva che il Babel fish aveva causato più guerre di quante ne avesse prevenute. Forse aveva ragione. Per ora, comunque, lo sguattero sedicenne di Berna — quello che aveva detto di avere diciotto anni — ha ancora tre-cinque secondi di latenza e l’italiano che gli fa le bizze. Ma il pesce esiste. È un inizio.
Riferimenti
[1] Google, Gemini 2.5 Text-to-Speech model updates, dicembre 2025. Annuncio ufficiale dei modelli TTS aggiornati con supporto 24+ lingue. URL: https://blog.google/innovation-and-ai/technology/developers-tools/gemini-2-5-text-to-speech/
[2] Google, Gemini API Changelog, 2025-2026. Note di rilascio con date e versioni dei modelli audio. URL: https://ai.google.dev/gemini-api/docs/changelog
[3] Google, Gemini 3.1 Flash TTS Preview, aprile 2026. Modello distinto dal 2.5: 70+ lingue, tag di stile inline ([whispers], [laughs]), dual-speaker, PCM 24kHz. URL: https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-tts-preview
[4] Douglas Adams, The Hitchhiker’s Guide to the Galaxy, Pan Books, 1979. Il Babel fish: capitolo 6.

Leave a comment