Gemma Translator: interprete vocale offline su Raspberry Pi 5

Gemma Translator è un interprete vocale multilingue open source per Raspberry Pi 5. Esegue la traduzione vocale interamente in locale, senza accesso al cloud. Usa il modello Google Gemma 4 e il runtime LiteRT. Il risultato è un traduttore AI portatile che rispetta la privacy e funziona anche senza rete. L’interfaccia utente ha uno stile retro-terminale, pensata per schermi piccoli come i display touch Raspberry Pi.

L’obiettivo del progetto è dimostrare che l’AI generativa può girare su dispositivi edge. Infatti, tutto il processo di traduzione avviene on-device. Il microfono cattura l’audio, che viene processato e inviato al modello locale Gemma 4 E2B. La sintesi vocale si affida a Moonshine, un motore TTS open source a bassa latenza. Così si ottengono tempi di risposta rapidi e nessun dato esce dal dispositivo.

Come funziona l’interprete vocale offline

Il cuore del sistema è LiteRT-LM, un livello di orchestrazione basato su LiteRT. Questo esegue il modello gemma4-e2b interamente in locale. Il modello ha 5.1B parametri totali, ma solo 2.3B sono attivi per ogni inferenza. Questa efficienza lo rende adatto a un Raspberry Pi 5 con 8GB di RAM. La scheda Raspberry Pi 5 con 8GB gestisce tutto il carico di lavoro senza problemi.

Il flusso operativo è semplice. L’utente seleziona le due lingue sul touchscreen. Poi parla nel microfono. L’audio viene convertito in testo, tradotto dal modello e infine pronunciato dall’altoparlante. Il tutto avviene in pochi secondi. La latenza è bassa grazie a Moonshine, che genera l’audio sintetizzato in modo efficiente. Inoltre, il progetto include un PCB personalizzato (AX-4LABS-NEW) con encoder rotativo e quattro tasti meccanici.

  • Microfono con interfaccia di acquisizione audio USB
  • Altoparlante o cuffie per l’uscita audio
  • Display touchscreen 480×320 per la selezione delle lingue
  • Tastiera per la configurazione iniziale

L’interfaccia utente è costruita su misura per schermi piccoli. È un frontend React con estetica retro-terminale. Serve principalmente a selezionare le due lingue di traduzione. Uno script unificato avvia il server LLM, l’API Python e il frontend React sul Pi 5. Questo semplifica l’avvio del sistema. Anche la custodia stampata in 3D è opzionale, ma protegge i componenti in viaggio.

Perché scegliere un interprete vocale offline

La privacy è il vantaggio principale. Nessuna conversazione viene inviata a server esterni. I dati restano sul dispositivo. Inoltre, la bassa latenza migliora l’esperienza d’uso. Non serve una connessione internet stabile. Questo lo rende ideale per viaggi, eventi o ambienti con connettività limitata. Il progetto dimostra inoltre che l’AI generativa è accessibile ai maker. La scheda del progetto fornisce tutto il codice necessario.

Per l’audio, si può usare un amplificatore esterno. Ad esempio, un amplificatore open source come ANGELO può migliorare la resa sonora dell’altoparlante. Oppure si possono collegare semplici cuffie. La configurazione è flessibile. Il sistema riconosce sia l’ingresso microfonico USB sia l’uscita audio analogica. Questo permette di adattare il progetto alle proprie esigenze.

Cosa serve per rifare il progetto

La lista componenti è chiara. Un Raspberry Pi 5 con almeno 8GB di RAM è essenziale. Il display touchscreen 480×320 si collega via HDMI. Il microfono USB e l’altoparlante completano l’hardware. Il PCB custom non è obbligatorio, ma rende il controllo più intuitivo. Le parti stampate in 3D per la custodia sono facoltative. Tuttavia, danno un aspetto professionale al dispositivo.

Il software richiede LiteRT, LiteRT-LM, il modello gemma4-e2b e Moonshine. Tutti sono open source. La configurazione iniziale richiede una connessione internet per scaricare i modelli. Dopo, il sistema funziona completamente offline. Questo progetto è un esempio perfetto di AI edge. Unisce potenza di calcolo, privacy e praticità in un formato compatto.


Fonte: https://github.com/moonshine-ai/moonshine

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu