Zdravím, hľadám nejaký spôsob ako ovládať program hlasom, ideálme v slovenčine ale prežijem aj angličtinu. Chcem a by to bolo dosť presné, aby som to nemusel opakovať 10-krát. A malo by sa to dať použiť aj na raspberry. Za odpovede ďakujem.
Fórum › C / C++
Ovládanie programu hlasom
#1 dusan0611
Ja som o tom robil tutoriál :) cez Webit Môžeš si tam všetko stiahnuť:
http://arduino.sk/viewtopic.php?f=3&t=282&sid=16abbf814f59636f3bd577cddfcfc7d6
Aj na githube:
https://github.com/martinius96/arduino-nodemcu-hlas-ovladanie-hlasove-webkit
Pre češtinu si zmeň cs-CS v tom súbore. Uprav si ako potrebuješ. Momentálne treba kliknúť na mikrofón, čím sa aktivuje mikrofón a hlas načúva kým hovoríš. Lepšie sú frázy. Ten tutoriál je trošku zlý. To, čo sa robí na strane Arduina, porovnáva sa 5 rôznych reťazcov pre jednu akciu je dobré si urobiť už v PHP, aby bol výsledný iba jeden. (Funguje iba v Chrome a iba pod HTTPS protokolom!)
#5 dusan0611
To, čo povies, alebo napíšeš sa uloží do textového súboru. Môžeš si upraviť PHP script napr: Ak je slovo Zapni relé 1 alebo Zapni relé one, alebo Turn on Relay tak sa uloží do textového súboru napríklad to, čo si definujes. Napr som riešil, ako raz navýšiť o 10% svietivosť. Tak NodeMCU si to stiahlo, vykonalo to a následne otvorilo iný PHP script, ktorý tento textový súbor zmazal, aby sa nestalo, že bude pridávať do nekonečna. Ten sketch počúva dookola, ktorý je v tom tutoriále a to, čo prečíta z netu, zobrazí a vykoná akciu, ak ju má definovanú v kóde. Nie je to až tak zložitý kód. Ten webkit odošle tvoj hlas na google a vráti odpoveď a tú zapíše do textového súboru. :) Je to ajaxom, takže sa ten script spúšťa až dohovoríš
môžeš mi prosímťa dať nejaký link kde nájdem všetky príkazy (aj s vysvetlením) pre ten Webkit Speech Recognition ? a ešte otázka nedalo by sa to riešiť aj inak ako cez server ? počul som že aj v jave je podobná funkcia, nejaké sphinx4, nevieš o tom niečo ? a nešlo by to dáko aj bez internetu ?(to by som už chcel asi moc :D)
#8 dusan0611
jak príkazy? To, čo povieš sa zapíše do textového súboru. Nič tam netreba meniť.
Ajax.php spracúvava hlas a výsledok zapíše do texťáku
index.php tu ak napíšeš príkaz a odošleš formulár, tak sa cez tú stránku zapíše tiež výsledok do texťaku.
Čo viac potrebuješ vedieť?
časti z index.php
---------------------
recognition.lang = "sk-SK"; - hlas nastavený na slovenčinu
---------------------
$.post(
"ajax.php",
{ preklad: result }
);
//spracuje hlas, ak to zadávaš hlasom po kliku na mikrofón
---------------------
<img onclick="startDictation();" src="decibel.png" alt="Pre požiadavku hlasom kliknite na mikrofón!">
//spustí javascriptovú funkciu nahrávania hlasu po kliku
---------------------
do dole if isset je v prípade ak to odosielaš ručne po ručnom zápise. Napríklad prázdny string, ani väčší ako 50 nezapíšeš.
Webkit je technológia, ktorá ti ten pre nos umožní. Preto, že sa to realizuje na Google servery tak to ide iba pod Chromom, iné prehliadače to nepodporujú. Internet mať musíš. Existuje Voice recognition module pre Arduino asi by šiel aj na Raspberry, kde je vopred pripravených 60 anglických príkazov, z ktorých môžeš 9 využiť v prevádzke.. Toto ma výhodu, že to ide aj po slovensky/česky atď. O Jave viem toho málo, takže s tým ti neviem pomôcť. Skús nejaké web API ešte Google Voice alebo Google Now sa to volalo. Raz som videl na SOČ-čkách, že jeden týpek mal cez Raspberry ovládanie hlasom v angličtine ale písalo sa to celé v Pythone a bolo to dosť komplikované a náchylné na neúspech.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Ovládanie hlasom - webapp Arduino/NodeMCU — založil Martin
Ovladanie ineho programu C# — založil Tayson
Ovládanie hardware — založil Jakubo
Ovládanie klavesami — založil Martin
Ovládanie relé — založil Martin
Moderátoři diskuze