Ovládání TV hlasem

Důvod vzniku

Chtěl jsem s Pythonem zabrousit trochu hlouběji a směřovat k viditelnějším výstupům. Proto jsem prvně uvažoval o propojení televize a počítače pomocí Pythonu a následně zjednodušit ovládání. Namísto klávesnice a různých možností menu použít hlasové povely.

Popis projektu

Nejprve bylo potřeba propojit počítač s televizí LG, která má svůj vlastní operační systém WebOS (nikoliv Android). Toho jsem dosáhl pomocí knihovny pywebostv volně stažitelnou z internetu. K této knihovně je i manuál s rozepsanými příkazy a kódy pro ovládání televize. Vlastně každý povel je pouze kód, jehož zadáním se provede daný požadavek, např. zvýšit hlasitost, přepnout kanál apod.

Samozřejmě ruční zadávání kódů je nepohodlné, proto jsem použil hlasový vstup pomocí knihovny speech_recognition využívající překlad od Googlu. Výhodou je, že umí češtinu, hlasové povely jsou tedy nastaveny na česká slova. Kromě ovládání televize je možné podle názvu písničky ji spustit na pevném disku počítače.

 

1) Uživatel vydá hlasový povel například „další“

2) Knihovna pro rozpoznávání řeči zvuk zpracuje přes mikrofon počítače a převede na text.

3) Na základě jednoduché podmínky se vyhodnotí jaký pokyn byl vysloven a provede se daný povel (pokyn další znamená přepni o kanál nahoru)

 

Tento s nadsázkou hlasový asistent opravdu není využitelný a už vůbec se nemůže rovnat profesionálním řešením. Už z důvodu, že obsahuje jen několik málo příkazů uvedených níže.

hlasitost nahoru – zvýší hlasitost o jeden dílek

další – přepne na další kanál v pořadí

holky – jednalo se o seriál Holky za mřížemi, který jsem spouštěl na televizi přes červené tlačítko, tento pokyn udělal vše sám, tj. přepl na Primu, spustil červené tlačítko, vyhledal seriál a proklikal se až k jeho spuštění. Nevýhodou je, že vše je napsáno natvrdo v kódu, stačí menší změna (delší spouštění HbbTv, změna pořadí seriálu ve vyhledávaní) a už se nedosáhne výsledku.

Rebel – přepne na konkrétní kanál

Aktuální stav

Program nijak nevyužívám, byla to opět spíše technická výzva, propojení dílčích částí a využití mých znalostí vedoucí k viditelnějším výstupům. Aby jej šlo používat, potřebuje mnoho dodělat, nicméně uvažuji o jakémsi jednoduchém domácím asistentovi, který na základě hlasových povelů plní různé úkoly, jež stejně vykonávám (například co koupit, generování jídelníčku, měsíční účetnictví apod.). Vše ale zatím nemám detailně promyšleno a jasně dáno, co vlastně bude asistent dělat. Rád bych ale jej z počítače převedl na Arduino a vytvořil tak viditelný fyzický produkt.

Další desktopové projekty