Základní řetěz lokálního asistenta je vždy stejný: mikrofon zachytí zvuk, probouzecí slovo rozhodne, zda se má nahrávat, přepis řeči převede zvuk na text a syntéza vytvoří odpověď. Celé to běží na jednom mini-PC bez odesílání dat do cloudu.
Od mikrofonu k probouzecímu slovu
První praktický krok je audio vstup. Pro hlasového asistenta se používá 16kHz mono, 16bit PCM; vyšší vzorkování zbytečně zatěžuje CPU. Na Raspberry Pi se osvědčují mikrofonní HATy typu ReSpeaker 2-Mic Pi HAT, na mini-PC stačí USB mikrofon s potlačením ozvěny. Software bere audio přes ALSA nebo PipeWire a předává ho do VAD (Voice Activity Detection). Silero VAD nebo WebRTC VAD umí odstřihnout ticho a řeč předat jen tehdy, když někdo skutečně mluví. Tím se výrazně sníží zátěž přepisu.
Probouzecí slovo běží nepřetržitě a musí být levné. openWakeWord používá ONNX modely, běží na Raspberry Pi 4 a spotřebovává zlomek CPU. Picovoice Porcupine je podobně rychlý, ale pro komerční použití má licenční podmínky. Předtrénované modely jsou anglické („hey jarvis“, „alexa“), české probouzecí slovo jako „hej assistente“ v nich nenajdete. Musíte ho natrénovat z vlastních nahrávek nebo syntetických vzorků a doladit práh tak, aby asistent nereagoval na televizi. Práh příliš nízko znamená falešné spouštění, příliš vysoko zase nespolehlivé probuzení.
Přepis: Whisper, Vosk a česká úskalí
Na přepis řeči dnes dominuje Whisper od OpenAI. Je multilinguální, češtinu podporuje a v modelech small, medium a large-v3 dává použitelné výsledky. Rozdíl je v nárocích: tiny má 39 milionů parametrů, base 74 milionů, small 244 milionů, medium 769 milionů a large-v3 přibližně 1,55 miliardy. Na mini-PC s Intel N100 (4 jádra, 6 W TDP) je small rozumný kompromis pro krátké příkazy; large-v3 je bez GPU pro interaktivní použití příliš pomalý. Pomáhá faster-whisper postavený na CTranslate2 nebo whisper.cpp, které snižují paměťové nároky a umí kvantizaci.
Vosk je lehčí a streamovací, ale české modely nejsou tak doladěné jako anglické. Pro příkazy typu „zapni světlo v kuchyni“ může stačit, pro delší diktování je Whisper přesnější. Čeština má specifické problémy: diakritiku, skloňování a čísla. Whisper občas zamění homofony nebo jména; bez kontextu pak intent parser nepozná, zda šlo o „světlo“ nebo „světla“. Řešením je omezit slovník příkazů a použít vlastní gramatiku v Home Assistant Assist nebo Rhasspy.
Syntéza: Piper zvládne češtinu i na Raspberry Pi
Pro odpověď potřebujete TTS. Piper je neuronová syntéza, která běží v reálném čase i na Raspberry Pi 4 a má české hlasy řady cs_CZ. Kvalita je srozumitelná, ale ne herecká; pro počasí, čas nebo stav světel stačí. Coqui TTS nabízí více možností, ale na mini-PC bez GPU je těžkopádnější. eSpeak NG je nejmenší a nejrychlejší, ale jeho český hlas zní roboticky. Piper se hodí jako výchozí volba, protože se snadno integruje do Home Assistantu a umí přehrát odpověď přes reproduktor nebo sluchátko.
Hardware: N100 versus Raspberry Pi 5
Pro základní řetěz stačí Raspberry Pi 5 s 8 GB RAM: rozjede openWakeWord, Vosk nebo Whisper tiny/base a Piper. Na Whisper small už je to na hraně, zejména pokud zároveň běží Home Assistant. Mini-PC s Intel N100 a 16 GB RAM nabídne více prostoru pro Whisper small a plynulejší běh více služeb. GPU jako NVIDIA RTX 3060 nebo i starší GTX 1660 výrazně zrychlí Whisper medium/large, ale zvyšuje cenu a spotřebu. Pro většinu domácích příkazů je ale důležitější kvalitní mikrofon než výkonný model: šum z kuchyně nebo ozvěna místnosti zhorší přepis víc než rozdíl mezi small a medium.
Co to umí česky v praxi
Lokální asistent dnes zvládne české příkazy pro domácí automatizaci: rozsvícení, stmívání, scény, dotaz na teplotu nebo přečtení zprávy. Home Assistant Assist má českou lokalizaci, ale sada vestavěných intentů je menší než v angličtině; vlastní věty je potřeba doplnit ručně. Wake word v češtině je nejslabší článek, protože kvalitní předtrénované modely chybí. Pokud chcete obecné dotazy jako „kolik je hodin v Tokiu“ nebo „co je nového“, lokální řetěz bez napojení na další služby narazí. Alexa a Google Assistant mají obrovské cloudové modely, českou syntézu a rozpoznávání řeči laděné na dálku, ale data posílají do cloudu a nabízejí méně možností přizpůsobení.
Pro stavbu domácího asistenta bez cloudu je dnes rozumná kombinace openWakeWord, Whisper small a Piper. Zbytek je konfigurace: VAD, prahy, vlastní gramatika a integrace do Home Assistantu. Kdo chce jen rozsvěcet světla a nechce posílat zvuk do cloudu, dostane funkční řešení. Kdo chce obecného českého asistenta na úrovni Alexy, narazí na kvalitu českých modelů a chybějící wake word.
Foto: Lutfi Elyas / Pexels