====== Gemma Translator ======
//Vytvořeno: **18.8.2026** | Aktualizováno: **~~LASTMOD~~**//
[[https://github.com/google-gemma/gemma-translator|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.
===== Princip fungování =====
Překlad probíhá v tomto pořadí:
- Uživatel podrží klávesu pro nahrávání a prohlížeč načte zvuk z mikrofonu.
- Lokální rozpoznávání řeči z [[https://github.com/moonshine-ai/moonshine|Moonshine]] vytvoří přepis.
- [[https://ai.google.dev/gemma/docs/core|Gemma 4]] přeloží text do jazyka druhého účastníka.
- Komponenta ''moonshine-voice'' vytvoří hlasový výstup a aplikace jej přehraje.
Pro běh modelu projekt používá [[https://github.com/google-ai-edge/LiteRT-lm|LiteRT-LM]]. Po stažení modelu a závislostí může překlad fungovat bez připojení k internetu.
===== Podporované jazyky a ovládání =====
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.
===== Hardware =====
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.
===== Architektura =====
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.
===== Instalace a spuštění =====
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 [[https://huggingface.co/litert-community/gemma-4-E2B-it-litert-lm|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.
===== Nasazení jako kiosk =====
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
===== Omezení a bezpečnost =====
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.
===== Zdroje =====
* [[https://github.com/google-gemma/gemma-translator|Gemma Translator – zdrojový kód, instalace a dokumentace]]
* [[https://ai.google.dev/gemma/docs/core|Gemma – dokumentace modelu]]
* [[https://github.com/google-ai-edge/LiteRT-lm|LiteRT-LM]]
* [[https://github.com/moonshine-ai/moonshine|Moonshine]]
* [[https://huggingface.co/litert-community/gemma-4-E2B-it-litert-lm|Gemma 4 E2B-it pro LiteRT-LM]]