Forum » Programiranje » C++ voice input
C++ voice input
urg ::
C++ spoznavam šele nekaj mesecev (kakor znese) in se srečavam z raznimi vprašanji...
torej zagoovo poznate razne programe in aplikacije, s katerimi se lahko pogovarjaš. Recimo iPhonu lahko le ukažeš kaj naj naredi /tell me somethnik about, call ...). Torej tako sem se odločil narediti nekaj takega tudi za moj računalnik, ampak seveda ne v taki razsežnosti.
Rad bi dodal le majhno glasovno bazo, recimo odpri mi officev dokument fime dokumenta] , odpri mi sliko oz. film z tem in tem predvajalnikom, odpri mi crome.
Nekako sem že naredil sistem za odpiranje željenega, zdaj hpa hočem narediti sistem, ki bo iz inputa prebral glas, ga po možnosti spremenil v tekst, ter ga (že narejenemu) sistemu, ki bo ukaz izvršil, oz ugotovil,da ga ni v bazi podatkov.
torej potrebujem le sistem ki bo tistih nekaj ukazov lahko spremenil v primerno obliko za drig sistem.
delovanje programa:
program zazna glas (recimo: "PEPE, ODPRI MI GOOGLE CHROME."). Program Pepe torej zvok prepozna, ter prepozna besedo Pepe, besedno zvezo odpri mi, in zadnji del besede in odpre aplikacijo z imenom google chrome (v bazi podfatkov je zapisano da je to chrome.exe).
TOREJ, PEPE, ODPRI MI pomeni da bo pšrogram moral nekaj odpreti, in ime tega bo sledilo za tem.
torej zagoovo poznate razne programe in aplikacije, s katerimi se lahko pogovarjaš. Recimo iPhonu lahko le ukažeš kaj naj naredi /tell me somethnik about, call ...). Torej tako sem se odločil narediti nekaj takega tudi za moj računalnik, ampak seveda ne v taki razsežnosti.
Rad bi dodal le majhno glasovno bazo, recimo odpri mi officev dokument fime dokumenta] , odpri mi sliko oz. film z tem in tem predvajalnikom, odpri mi crome.
Nekako sem že naredil sistem za odpiranje željenega, zdaj hpa hočem narediti sistem, ki bo iz inputa prebral glas, ga po možnosti spremenil v tekst, ter ga (že narejenemu) sistemu, ki bo ukaz izvršil, oz ugotovil,da ga ni v bazi podatkov.
torej potrebujem le sistem ki bo tistih nekaj ukazov lahko spremenil v primerno obliko za drig sistem.
delovanje programa:
program zazna glas (recimo: "PEPE, ODPRI MI GOOGLE CHROME."). Program Pepe torej zvok prepozna, ter prepozna besedo Pepe, besedno zvezo odpri mi, in zadnji del besede in odpre aplikacijo z imenom google chrome (v bazi podfatkov je zapisano da je to chrome.exe).
TOREJ, PEPE, ODPRI MI pomeni da bo pšrogram moral nekaj odpreti, in ime tega bo sledilo za tem.
- spremenilo: urg ()
Yacked2 ::
C++ spoznavam šele nekaj mesecev (kakor znese) in se srečavam z raznimi vprašanji...
torej zagoovo poznate razne programe in aplikacije, s katerimi se lahko pogovarjaš. Recimo iPhonu lahko le ukažeš kaj naj naredi /tell me somethnik about, call ...). Torej tako sem se odločil narediti nekaj takega tudi za moj računalnik, ampak seveda ne v taki razsežnosti.
Rad bi dodal le majhno glasovno bazo, recimo odpri mi officev dokument fime dokumenta] , odpri mi sliko oz. film z tem in tem predvajalnikom, odpri mi crome.
Nekako sem že naredil sistem za odpiranje željenega, zdaj hpa hočem narediti sistem, ki bo iz inputa prebral glas, ga po možnosti spremenil v tekst, ter ga (že narejenemu) sistemu, ki bo ukaz izvršil, oz ugotovil,da ga ni v bazi podatkov.
torej potrebujem le sistem ki bo tistih nekaj ukazov lahko spremenil v primerno obliko za drig sistem.
delovanje programa:
program zazna glas (recimo: "PEPE, ODPRI MI GOOGLE CHROME."). Program Pepe torej zvok prepozna, ter prepozna besedo Pepe, besedno zvezo odpri mi, in zadnji del besede in odpre aplikacijo z imenom google chrome (v bazi podfatkov je zapisano da je to chrome.exe).
TOREJ, PEPE, ODPRI MI pomeni da bo pšrogram moral nekaj odpreti, in ime tega bo sledilo za tem.
Za to kar želiš doseči ti, bo treba malo več kot nekaj mesecev.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!
tripsy ::
Zanimiva izbira projekta za začetnika.
Posnami nabor ukazov, zvok pretvori v bite (do sem je trivialno) slednje shrani v bazo. Sedaj enako narediš z podajanjem ukaza in sicer na mikrofonu poslušaš dokler oseba govori to lahko kontroliraš z GUI gumbom ali pa tako za izključuješ (backgound noise). Ko je ukaz izvršen pretvoriš audio v bite in nato narediš query v svoji bazi za podoben pattern bitov tu bi ti super pomagal če bi bite posnetkov hranil v strukturi kot je TRIE Drevo.
Problem, ki ga boš imel je zajemanje zvoka tu boš moral uporabit eno od knjižnjic portaudio, directsound, fmod itd..
Posnami nabor ukazov, zvok pretvori v bite (do sem je trivialno) slednje shrani v bazo. Sedaj enako narediš z podajanjem ukaza in sicer na mikrofonu poslušaš dokler oseba govori to lahko kontroliraš z GUI gumbom ali pa tako za izključuješ (backgound noise). Ko je ukaz izvršen pretvoriš audio v bite in nato narediš query v svoji bazi za podoben pattern bitov tu bi ti super pomagal če bi bite posnetkov hranil v strukturi kot je TRIE Drevo.
Problem, ki ga boš imel je zajemanje zvoka tu boš moral uporabit eno od knjižnjic portaudio, directsound, fmod itd..
Zgodovina sprememb…
- spremenilo: tripsy ()
Vesoljc ::
nato narediš query v svoji bazi za podoben pattern bitov
bit pattern ti ne bo nic pomagal, ce hoces ugotovit "podobnost" moras analizirat zvocni zapis.
@OP
imho je bolje da vzames kak open voice recognition sdk (ce najdes kako tako, ki ima dobro podporo za slovenski jezik, ce to rabis seveda).
Abnormal behavior of abnormal brain makes me normal...
tripsy ::
nato narediš query v svoji bazi za podoben pattern bitov
bit pattern ti ne bo nic pomagal, ce hoces ugotovit "podobnost" moras analizirat zvocni zapis.
@OP
imho je bolje da vzames kak open voice recognition sdk (ce najdes kako tako, ki ima dobro podporo za slovenski jezik, ce to rabis seveda).
Um kaj ti nebo pomagal... Vzames zvocni zapis v bitih nato pa primerjas bite zajetega zvocnega zapisa z tistimi shranjenimi v bazi. Primerjas po segmentih in tistega, ki ima najvec segmentov podobnih potegnes ven. Podobno kot pri analogni telefoniji...
Sploh pa voice recognition sdk ? nima smisla vzemat za mali projekt upravem sploh nima smisla ga uporabit tle. Itak ma svojo bazo z tistimi parimi zvocnimi zapisi v bitih vse kar potrebuje je en API/LIB za zajemanje zvoka in to je to.
Randomness ::
urg ::
mho je bolje da vzames kak open voice recognition sdk (ce najdes kako tako, ki ima dobro podporo za slovenski jezik, ce to rabis seveda).
se mi zdi dobra ideja... kšn primer sdkja?
našel sem nek voce
ga kdo pozna?
Zgodovina sprememb…
- spremenilo: urg ()
DOOM_er ::
nato narediš query v svoji bazi za podoben pattern bitov
bit pattern ti ne bo nic pomagal, ce hoces ugotovit "podobnost" moras analizirat zvocni zapis.
@OP
imho je bolje da vzames kak open voice recognition sdk (ce najdes kako tako, ki ima dobro podporo za slovenski jezik, ce to rabis seveda).
Um kaj ti nebo pomagal... Vzames zvocni zapis v bitih nato pa primerjas bite zajetega zvocnega zapisa z tistimi shranjenimi v bazi. Primerjas po segmentih in tistega, ki ima najvec segmentov podobnih potegnes ven. Podobno kot pri analogni telefoniji...
Sploh pa voice recognition sdk ? nima smisla vzemat za mali projekt upravem sploh nima smisla ga uporabit tle. Itak ma svojo bazo z tistimi parimi zvocnimi zapisi v bitih vse kar potrebuje je en API/LIB za zajemanje zvoka in to je to.
Good luck with that, oziroma bolje rečeno god luck with that. Ni tako enostavno, če ne bi se najbrž z računalniki pogovarjal že vsaj 20 let.
Robots will steal your job. But that's OK
urg ::
ok, odločm se za VOCE . (open voice recognition sdk, kot ste mi rekl).
in zej, zgleda lahka knižnca, samo, kko jo setupat?
Uporablam dev cpp, in sm dal lib fajle v lib mapo v dev cpp mapi, include fiajle (voce.h) pa v include mapo v dev cpp mapi. napišem en lahk program za probo... in morje napak pr prevajanu.
KODA:
Kšna ideja, koko bi to popravu?
Al pa še kšn open voice recognition sdk, ka dela?
P.S.: tole je glavna stran od VOCE
in zej, zgleda lahka knižnca, samo, kko jo setupat?
Uporablam dev cpp, in sm dal lib fajle v lib mapo v dev cpp mapi, include fiajle (voce.h) pa v include mapo v dev cpp mapi. napišem en lahk program za probo... in morje napak pr prevajanu.
KODA:
#include "voce.h" #include <iostream> int main(){ std::cout << "blabla"; // tole je copy iz voce strani while (voce::getRecognizerQueueSize() > 0) { std::string s = voce::popRecognizedString(); std::cout << "You said: " << s << std::endl; } }
Kšna ideja, koko bi to popravu?
Al pa še kšn open voice recognition sdk, ka dela?
P.S.: tole je glavna stran od VOCE
Vesoljc ::
v linker nastavitvah moras dodat lib-e
Abnormal behavior of abnormal brain makes me normal...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | SLO sinhronizirane risanke (strani: 1 2 )Oddelek: Loža | 13033 (3266) | Tidule |
» | Adobe Voco je 'Photoshop za zvok'Oddelek: Novice / Ostala programska oprema | 9101 (6872) | bMozart |
» | Samsung predstavil novo pametno uro Gear S2Oddelek: Novice / Android | 9616 (6621) | branc |
» | Natal za 150 dolarjev?Oddelek: Novice / Igre | 5038 (3730) | roli |