Chrome rozumí lidské řeči

O tom, že budeme počítač ovládat hlasem, se mluví už roky, nicméně hlas zatím boduje pouze na chytrých mobilech. Google chce změnu snad už v příští verzi Chromu – vyzkoušejte si ji.

Lidé z organizace W3C, která se stará o standardizaci webových technologií (a jimiž členy jsou především tvůrci webových prohlížečů), se už před dlouhými roky snažili o to, aby běžný webový formulář dokázal komunikovat i s mikrofonem.

Hlas uvnitř webu před deseti lety

Když se na konci minulého století ve Windows poprvé objevily prográmky na ovládání počítače hlasem, kdekdo si myslel, že do roka a do dne budeme ovládat počítače hlasem zcela běžně. První vlaštovkou skvělé budoucnosti byly Windows XP, od té doby se ale o hlasové technologii už moc nemluví.

Podle návrhu W3C z léta roku 1999 měl HTML jazyk komunikovat s mikrofonem asi takto:

<FORM enctype="multipart/form-data" method="post" action="zpracuj.php"> Řekni něco: <INPUT name="zvukova_nahravka" type="file" device="mic">
INPUT type="submit" value="Odeslat zvuk">
</FORM>

Webový formulář výše by obsahoval pole pro odeslání souboru a tlačítko pro potvrzení. Namísto běžného výběru souboru z vašeho počítače je ale v kódu proměnná device, která představuje zařízení. Soubor se v tomto případě tedy nenahraje z vašeho souborového systému, ale ze zařízení jménem mic, tedy z mikrofonu, a bude se jednat o zvuk, jehož parametry můžete nastavit pomoci dalších proměnných.

Bohužel, podobný postup se neprosadil, a tak pomocí tohoto formulářového prvku dodnes nahráváme pouze běžné soubory.

Hlasová renesance skrze chytré mobily

V posledních letech zažívá hlasové ovládání malou renesanci především na chytrých mobilních telefonech a to díky přičinění Googlu. Ten nejprve dodal hlasové ovládání do svých služeb a aplikací na iPhonu a posléze i na Android. Oba telefony si dnes při vyhledávání na Googlu porozumí i s češtinou a to poměrně slušně, i když Android stále trpí větší časovou prodlevou.

mobilní hlas 1.png mobilní hlas 2.png mobilní hlas 3.png
Google nedávno představil české vyhledávání
hlasem pro iPhone a novější telefony s Androidem

Web je pro Google vším. Do světa softwaru se příliš nežene, jeho „operačním systémem“ je totiž samotný internetový prohlížeč. I proto na jaře oprášil myšlenku hlasového ovládání i na velkém počítači a ve standardizačním think tanku WHATWG (Web Hypertext Application Technology Working Group) inženýři z Googlu začali přemýšlet, jak by to mělo fungovat.

Jak to vlastně funguje

Hlasový formulářový prvek speech je z hlediska programátora poměrně jednoduchý, nicméně co se skrývá v pozadí a kde se vlastně hlas transformuje na text? Funguje to úplně stejně jako při hlasovém hledání na iPhonu, nebo Androidu. Základní stopa se tedy zpracuje na klientském počítači v prohlížeči, ten pak ale pošle její digitální otisk na webový server, který obratem odešle zpět text, jehož otisk se co možná nejvíce podobá otisku nahrávky. Ačkoliv se tedy zdánlivě jedná pouze o formulářové pole HTML jazyka, ve skutečnosti na pozadí probíhá komunikace se vzdáleným serverem a rozpoznání hlasu tedy bude fungovat pouze s připojením k internetu. Pokud k internetu nebudete připojeni, rozpoznávací systém prostě ohlásí, že nedokázal hlas rozluštit.

Hlasem ovladaný jazyk HTML

Dnes je už hotovo. V žádném případě se nejedná o standard, ale čistě o technologii, které (zatím) rozumí pouze vývojová verze prohlížeče Chrome. Programátoři rozšířili formulářové prvky (textové pole, seznam aj.) o další – o mluvené slovo. Takhle to vypadá v praxi.

Rozpoznání hlasu v HTML a prohlížeči Chrome 7:

<input speech readonly />

... a ukázka i se zpracováním přímo v Javascriptu:

<script>
function prikaz(text){
if(text=="best web")
location.href="http://www.zive.cz";
}
</script>

<input speech readonly
onchange="prikaz(this.value);">

 

Formulářový prvek se do kódu vkládá stejným způsobem jako každý jiný, ovšem s tím rozdílem, že se na hotové stránce zobrazí tolik typická ikona pro záznam zvuku. Po klepnutí se aktivuje nahrávání a hotovou stopu pak vnitřní systém promění v text. Ten pak můžete zpracovat běžným způsobem jako jakákoliv jiná formulářová data – ať už Javascriptem zavoláním funkce onchange, nebo až na serveru třeba pomocí PHP.

Jednoduchý kód výše tedy po klepnutí na ikonku nahraje mluvené slovo (nahrávání se automaticky ukončí po pomlce, nebo delším časovém úseku) a Chrome jej pak přepíše na text. V tom okamžiku se zavolá javascriptová funkce prikaz, která zjistí, jestli jste do mikrofonu řekli „best web“, a podle toho vás případně přenese na novou adresu, tedy stránky Živě.cz.

speak now.png speech.png
Takto se bude nový prvek chovat v praxi

Say what?!

Pravděpodobně první funkční desktopovou webovou aplikací, která pracuje se záznamem z mikrofonu, je jednoduchá ukázka Say what?! Najdete ji na této adrese a opět upozorním, že vám bude správně fungovat pouze ve vývojové verzi Chrome (pravděpodobně bude součástí finální verze Chrome 7) a rozumí pouze angličtině.

Oč v tomto případě půjde? Skript vám bude servírovat nejrůznější slovíčka z Wikipedie a na vás bude, abyste je přečetli co možná nejčistší angličtinou. Skript nahrávku přeloží na text a porovná, s jakou mírou jste se trefili. Aplikace záměrně nepoužívá běžná anglická slova, ale spíše místní názvy, protože se tímto způsobem dá testovat, jak kvalitně rozpoznávací systém pracuje s exotičtějšími výrazy.

say what.png
Testovací aplikace Say what
Všimněte si mikrofonu uprostřed – jedná se o nový ovládací prvek

Příslib standardizace?

Možnosti využití jsou poměrně široké. V tuto chvíli je prvek speech napojený na anglický slovník, existuje ale mnoho dalších jazykových slovníků včetně češtiny, je tedy jen otázkou času, kdy bude k dispozici v plnohodnotné podobě. Pak jej celkem snadno použijete třeba k vyplňování webových formulářů, nebo jednoduše pro vyhledávání na Googlu. Po jeho aktuálním Instantu by se jednalo o další zajímavý experiment. Pokud se z rozpoznávání textů stane obecný standard, může se pak podobná technologie v budoucnu dostat do W3C normy a stát se součástí i dalších webových prohlížečů.

lista.png
Začne prohlížeč více pracovat s hlasem jako dalším datovým vstupem vedle klávesnice a myši?

Pokud vás rozpoznávání textu v HTML zajímá, podívejte se třeba na návrh ovládacího prvku z pera Bjorna Bringerta, který má hlas v prohlížeči na starost.

stáhnout program Google Chrome 14.0.835.9 dev Licence: open source, 26 MB
Autor: Google
Web programu: www.google.com


Diskuze (58) Další článek: Western Digital uvede několik 3TB pevných disků již tento měsíc

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,