====== 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]]