Hlasové ovládání
Je tu další článek pro hardwarové kutily a bastlíře. Pokud patříte
mezi lidi, pro které nejsou pojmy jako tranzistor, rezistor, páječka a
Amiga neznámé věci, je to právě ten pravý článek pro vás.
Známe to z filmů (třeba z Mouchy :), někdo to má na mobilu, a občas
slyšíme, že to snad dnes umí i PC. Hlasové ovládání. Zatímco u mobilu
je to věc celkem nanic, protože paměť mobilu je na hlasové vytáčení
celkem malá, u počítače to může být i poměrně užitečná věc. Prostě
jenom s ležérní nedbalostí vyslovíme jméno nějakého programu a on se
sám spustí. Možná si myslíte, že tohle je na Amize utopie. Není.
Dokonce hlasové ovládání funguje a bylo možné ho na Amize provozovat
již v době kdy většina PCčkářů ještě snila o okenním systému :). Pokud
vás to fascinuje stejně jako mě a chcete vědět jak na to, čtěte dál.
První co je potřeba je samozřejmě Amiga. Postačí i holá A1200, ale
lepší samozřejmě není k zahození :) Dále je nutný nějaký hardware,
pomocí kterého dostaneme náš hlas do počítače v digitální podobě. Tady
je nutný nějaký sampler. Postačí samozřejmě klasický osmibitový na
paralelní port a ani nemusí být stereo. Já sám vlastním sound sampler
HDP, ale můžete mít i jiný, případně si nějaký můžete vyrobit podle
nějakého plánku z internetu. Každý jak je mu libo.
Takže okruh zájemců se nám snížil na lidi mající Amigu a sampler. Ale
pojďme dál. Protože vstup sampleru je poměrně málo citlivý na výstup
ze samotného mikrofonu, je celkem dobré pořídit si mezi sampler a
mikrofon nějaký předzesilovač. Tady máte na výběr celou škálu
zapojení, ale pokud chcete něco vyzkoušeného co funguje, můžete použít
to co mám i já. Výhodou celého zapojení je to, že je můžete sehnat i
jako stavebnici za nějakých 170,- KČ, třeba od firmy Compo.
V ceně je vyvrtaný tištěný spoj součástky
včetně citlivého elektretového mikrofonu a návod. Jedná se o
stavebnici J-211 Malý odposlouchávač.
Pokud jste už něco
někdy letovali, nemělo by být sestavení tohohle zařízení žádný
problém. Samozřejmě pokud si pořídíte součástky zvlášť přijde to
levněji, takže pokud se k tomu odhodláte, můžete to zkusit podle
plánku. Protože ovšem předpokládám, že si přece jen radši zakoupíte
stavebnici, nebudu se svépomocnou stavbou mnoho zabývat. Na přiloženém
schématu je uvedeno prakticky vše potřebné a v případě problémů mě
můžete zkontaktovat. Bohužel i stavebnice přináší některá úskalí.
První věc jsou rozměry. Protože plošný spoj je už daný, musíte si
dobře rozmyslet do jaké krabičky samotnou elektroniku usadíte. S tím
souvisí i to, že je možné nahradit poměrně velký potenciometr P1 o
poznání menším odporovým trimrem. U hlasového ovládání totiž není
nutné měnit příliš často hlasitost výstupu, proto může být ovladač
hlasitosti schován uvnitř. Další věc je zapínání. Osobně jsem je
vyřešil jedním vypínačem a jedním tlačítkem, které jsou zapojeny
paralelně. To je proto, aby bylo možno buď nechat hlasové ovládání
zapnuté stále, nebo pouze při stisku tlačítka pokud je třeba.
Pokud ovšem budete používat k zapínání tlačítko, je třeba dořešit
ještě jednu konstrukční maličkost. Totiž elektolitický kondenzátor C5
má poměrně velkou velikost (100uF) a to způsobuje určitou prodlevu po
zapnutí než se nabije. A to pro požití tlačítka není moc vhodné.
Zkrátka byste museli po každém stisku čekat asi minutu a pak teprve
mluvit. To lze obejít snížením kondenzátoru na hodnotu 1uF.
No a poslední problémek (nebojte dál budou jen pozitiva :) se týká
napájení. Nejjednodušší je použít baterii 9V, ale stejně dobře můžete
použít i 12V, které lze například s úspěchem vyvést ze zdroje, pokud
máte Amigu v toweru. Nebojte se, zařízení by to mělo vydržet :)
Hardware by tedy byl, takže můžeme jít na software. Na hlasové
ovládání existují na Amize pokud vím dva programy. VCLI
a VoiceShell.
Oba dva programy mají celkem skromné nároky. Stačí jim Amiga (čím
lepší tím lepší, ale alespoň s procesorem 68020) s kikstartem 2.04,
knihovny intuition.library a gadtools.library v38 a lepší. V podstatě
nic, co by už dnes nikdo standardně neměl. Podstatná je ovšem knihovna
voice.library, na které vlastně hlasové ovládání stojí a padá, nicméně
ta je součástí archivu. Potom stačí program hodit nejlépe do adresáře
WBStartup, aby byl připraven na použití při každém startu, udělat pár
nastavení a je to.
Oba programy jsou si velmi podobné, v podstatě je VoiceShell
vylepšeným VCLI takže začneme právě jeho popisem. Poslední verze
VoiceShellu pokud je mi známo je 1.33. Na Aminetu byla (a
pravděpodobně ještě i je) i starší verze 1.22. Ta je samozřejmě také
použitelná, nicméně jedná se o jeden z mála programů, který se totálně
nepohodne s OS3.9. Verze 1.33 je novější a lepší a navíc tímto neduhem
netrpí. Autorem VoiceShellu je Tomi Blinnikka, který pochází z Finska.
VoiceShell je shareware a za jeho používání požaduje autor od 5 do 10
amerických dolarů. Nicméně nepřipadá mi, že by byl program nějak
omezen :) VoiceShell se chová jako komodita, a po jeho spuštění
nemusíte tudíž vidět žádné okénko a nemusíte tedy mít ani ponětí, že
je něco takového v systému. VoiceShell si ovšem může svoje okno
otevřít, to lze nastavit v tooltypech klasickou položkou CX_POPUD=YES.
V tomto okně můžete aktivovat a nebo vypnout samotné hlasové ovládání.
První věc, kterou je třeba udělat po spuštění VoiceShellu je nastavit
si sampler a věci kolem. K tomu slouží položka menu SETUP ->
CONFIGURATION. Nejdříve si nastavíme typ sampleru. To je nutné
vyzkoušet. Na výběr je zde PerfectSound, SoundMaster, GVP DSS 8, nebo
Generic. Můj sampler HDP funguje nastavení jako SoundMaster, nicméně
je možné i to, že u některého sampleru nebude vyhovovat ani jedno
nastavení a hlasové ovládání se tím pádem na Amize pravděpodobně
nezrealizuje :(
Dále si můžeme nastavit například nastavení kanálu, která chceme
použít (pravý nebo levý), rozlišení zvuku (vysoké nebo nízké),
přesnost rozpoznávání (ACCURACY) atd. U té přesnosti bych se ještě
chvíli zastavil. Je totiž celkem důležitá. Pokud ji nastavíte příliš
vysokou, bude od vás program vyžadovat příliš věrný zvuk. Naopak při
nízké přesnosti, se vám zase může stát, že program nebude schopen
přesně určit, co vlastně chcete. Takže nezbývá než experimentovat a
experimentovat, dokud nebude spokojenost ....
Po základním nastavení můžeme přistoupit k tomu nejdůležitějšímu - k
základnímu nastavení příkazů. Příkazy se nastavují pod položkou menu
COMMANDS z menu EDIT. Po jejím zvolení se vám objeví tabulka s celkem
10 řádky, což může někomu zdát málo. To je ovšem zdání, které klame.
Pokud totiž stisknete pravé tlačítko myši, dostanete se do menu, kde
lze přepínat mezi celkem šesti takovýmito tabulkami, to je celkem 60
různých příkazů. Do první části tabulky se napíše název programu,
který má být spouštěn hlasem. Pokud jde o ten název, tak fantazii se
meze nekladou, nicméně doporučuji napsat to, co budete opravdu
vyslovovat, protože až budete mít těch programů víc bude v tom možná
pěkný guláš a je lepší mít v tom trochu pořádek a vědět co je vlastně
co.
Po potvrzení enterem se vám objeví tabulka s učením daného slova. No a
nyní přijde hodina pravdy. Pokud je vše dobře nastaveno a sampler je
"ten správný co funguje" je vidět po spuštění namlouvání a vyslovení
slova křivka. Poté vyslovíte prostě třikrát postupně slova, kterými
chcete program spustit, pokud možno vždy stejným hlasem, potvrdíte a
je to. V případě, že se žádná křivka nekoná, máte buď smůlu nebo
musíte nastavovat nějak jinak a lépe :)
Po namluvení ještě musíte zadat do druhé části tabulky cestu ke
spouštěnému programu, no a po potvrzení OK je to v podstatě všechno.
Ještě je celkem rozumné uložit někam vámi pracně získanou konfiguraci
a teď by se po ležérním vyslovení toho co jste si namluvili měl
spustit konkrétní program, dle zadané cesty. Pokud vše funguje jak má
můžete pokračovat až do namluvení celé tabulky. Program navíc
disponuje i Arrexovým portem, takže se lze celkem vyřádit.
To je v podstatě všechno. Vlastně ještě ne. Ještě bych měl zmínit
jednu věc, a to možnost nastavení při chybách. V menu EDIT v položce
ERRORS lze nastavit chování programu při různých chybách. Oni to
vlastně nejsou chyby ani tak programové, jako spíš funkční. Například
pokud program nerozpozná hlasový příkaz. To může být celkem užitečné.
Já sám mám nastaveno to, aby se při jakékoliv chybě zobrazilo okno
programu, ale fantazii se samozřejmě meze nekladou.
To by bylo o programu VoiceShell asi vše a teď se podíváme na VCLI.
Protože se jedná o prakticky velmi podobný program, bude to rychlé.
VCLI je už opravdu velmi starý program. Jeho první verze se objevila
už na disku Freda Fishe číslo 542 přesně 13.září 1991. Narozdíl od
VoiceShellu se nejedná o komoditu. Na obrazovce Workbenche se po
startu objeví jeho okno. Vše ostatní je potom již v podstatě hodně
podobné, jak by také ne, když VCLI je vlastně předchůdcem VoiceShellu.
Na rozdíl od něj však VCLI potřebuje víc strojového času procesoru,
ale na druhou stranu ho jeho autor Richard Horne uvolnil jako freeware
"pro radost Amigácké komunity," jak sám píše :)
Nicméně vzhledem k tomu, že VoiceShell je přece jenom novější a
propracovanější, doporučil bych vám spíše tento program.
A jak je to se stabilitou a zkušenostmi z provozu? Celkem dobré.
Program mi za půl roku používání neudělal nic nepěkného. Jediný menší
problémek, na která jsem přišel je to, že při jeho používání mi
nefunguje hudba u hry Deluxe Galaga :(
Samotné hardwarové řešení má také své mouchy. Vlastně jen jednu.
Vzhledem k tomu, že audiosampler blokuje paralelní port, nemůže se
tento na nic požívat. To zamrzí. Hlavně pokud jste vlastníkem tiskárny
a často ji využíváte. Přehazovat stále kabel tiskárny a sampler není
nic příjemného. I to by se samozřejmě dalo řešit nějakým hardwarovým
přepínačem. Možná se o něco takového někdy i pokusím a kdyžtak vám dám
vědět :)
A co zkušenosti se samotným provozem hlasového spouštění programů?
Pokud si vše optimálně nastavíte, budete překvapeni, jak snadno a
rychle se spouští veškeré aplikace. Určité problémy jsou pouze u ne
často používaných programů, kdy se snadno zapomene, jak jste si je
vlastně namluvili a musíte je stejně pouštět klasicky. Určitý problém
je i to, pokud pro nějaký program používáte podobné slovo, potom se
někdy spustí ten druhý. Už i proto doporučuji používat při hlasovém
ovládání tlačítko a nenechávat je zapnuté stále. Pokud totiž při
zapnutém programu začnete normálně s někým mluvit, program VoiceShell
některá vaše slova muže vyhodnotit jako povel ke spuštění a vy se
potom nestačíte divit, co všechno se vám najednou rozjíždí :)
Takže na závěr hlasové ovládání Amigy je minimálně zajímavá věc, která
kromě vyvolávání údivu mezi PCčkáři může i dobře sloužit. A se svou
Amigou si konečně můžete i plnohodnotně popovídat. Lze si dokonce
udělat pár skriptů, aby vám počítač i odpovídal :) Nicméně někdy to
může vyvolat u jiných lidí i ten pocit, že jste se zbláznili. To až se
z v vašeho pokoje bude ozývat nějaký váš slovní úlet. Takže pozor na
to :)
Mimochodem autor tohoto článku samozřejmě nijak neručí za vaši
ohořelou Amigu. Vše co budete podle tohoto článku dělat, děláte na
vlastní nebezpečí :)
Flegy