ai:aplikace:gemma-translator

Gemma Translator

Vytvořeno: 18.8.2026 | Aktualizováno: 18.08.2026 13:57

Gemma Translator je open-source aplikace pro obousměrný hlasový překlad mezi dvěma lidmi. Běží lokálně na zařízení, kombinuje model Gemma 4 s přepisem a syntézou řeči a je určená především pro Raspberry Pi s malým displejem.

Překlad probíhá v tomto pořadí:

  1. Uživatel podrží klávesu pro nahrávání a prohlížeč načte zvuk z mikrofonu.
  2. Lokální rozpoznávání řeči z Moonshine vytvoří přepis.
  3. Gemma 4 přeloží text do jazyka druhého účastníka.
  4. Komponenta moonshine-voice vytvoří hlasový výstup a aplikace jej přehraje.

Pro běh modelu projekt používá LiteRT-LM. Po stažení modelu a závislostí může překlad fungovat bez připojení k internetu.

Rozhraní má dva nezávislé jazykové pruhy, po jednom pro každého účastníka. Nabízí arabštinu, angličtinu, španělštinu, japonštinu, čínštinu a korejštinu; stejný jazyk nelze zvolit na obou stranách současně.

K dispozici jsou dva režimy ovládání:

  • Landscape je určený pro jednoho obsluhujícího. Mezerník přepíná aktivní osobu, držené Z spouští nahrávání a šipky mění její jazyk.
  • Vertical dává oběma stranám vlastní ovládání. Nahrávání první osoby je na Z, druhé na X; změna jazyků používá šipky, respektive - a +.

Nastavení režimu klávesnice a barvy rozhraní se ukládá do localStorage prohlížeče.

Projekt uvádí jako cílovou konfiguraci Raspberry Pi 5 s 8 GB RAM, mikrofon nebo USB zvukové rozhraní, reproduktor či sluchátka a displej. UI je optimalizované například pro kiosk displej s rozlišením 480 × 320 px.

Frontend v React a Vite zajišťuje záznam zvuku, ovládání a přehrání výsledku. Pythonový server v backend/server.py poskytuje API pro STT, TTS, proxy k lokálnímu LiteRT-LM a ovládání hlasitosti. V produkčním režimu také obsluhuje zbuildované soubory frontendu.

Při změně jazyka backend načítá odpovídající modely rozpoznávání a syntézy řeči až na vyžádání. Pro každý typ drží v paměti nejvýše dva jazykové modely; další jazyk proto může vyřadit nejdéle nepoužitý model a při příštím použití jej znovu načíst.

Podle README je potřeba Python 3.10 nebo novější, Node.js 18 nebo novější a Linux nebo macOS. Nejdříve je potřeba povolit spuštění skriptů, vytvořit Python virtual environment se závislostmi a stáhnout model:

chmod +x setup.sh download_model.sh start.sh deploy-pi.sh
./setup.sh
./download_model.sh

Skript download_model.sh stahuje model gemma-4-E2B-it.litertlm z Hugging Face a importuje jej do LiteRT-LM pod názvem gemma4-e2b. Pro stažení a import projekt vyžaduje alespoň 6 GB volného místa.

Vývojový režim spustí LiteRT-LM, Python API a Vite server:

./start.sh

V produkčním režimu Vite server neběží; zbuildovaný frontend podává Python server na portu 3000:

./start.sh --prod

Ve vývojovém režimu je UI dostupné na portu 5173, v produkčním na portu 3000. LiteRT-LM používá lokální port 9379.

Skript deploy-pi.sh pro Raspberry Pi OS nebo Debian nainstaluje systémové závislosti, sestaví frontend, stáhne model, založí systemd službu a nakonfiguruje LXDE pro spuštění Chromia v kiosk režimu. Nasazení se provede příkazem:

./deploy-pi.sh

Repozitář neuvádí benchmarky přesnosti ani rychlosti, proto je potřeba kvalitu přepisu, překladu a odezvu ověřit v cílovém jazyce, na konkrétním hardware a v reálném akustickém prostředí.

Aplikace má být provozovaná jako lokální zařízení v důvěryhodné síti. Pythonový server standardně naslouchá na síťových rozhraních a povoluje CORS pro všechny původy. Proxy k modelu omezuje cílový server na localhost:9379 a ovládání hlasitosti přijímá jen lokální požadavky, přesto zařízení nepatří přímo do internetu.

Projekt je pod licencí Apache-2.0. Autoři jej označují jako neoficiální a nepodporovaný produkt Google.

  • ai/aplikace/gemma-translator.txt
  • Poslední úprava: 18.08.2026 13:57
  • autor: Petr Nosek