Techlive
  1. Domů
  2. Techlive

Lokální hlasový asistent bez cloudu: český řetěz od probuzení po syntézu

Vlastní hlasový asistent bez cloudu stojí na čtyřech krocích: probouzecí slovo, detekce řeči, přepis a syntéza. Na mini-PC s Intel N100 dnes rozjedete český Whisper small i Piper, česká přesnost ale za Alexou zaostává.

Lokální hlasový asistent bez cloudu: český řetěz od probuzení po syntézu
Reklama

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

Reklama
Reklama

Nejnovější

Všechny novinky