Speech recognition

Vse o programiranju na in za PC

Moderatorji: Kroko, tilz0R

Speech recognition

OdgovorNapisal/-a matosg » 28 Jun 2016, 18:01

Pozdravljeni.

Ali se je kdo med vami že ukvarjal s to tematiko? Potrebujem kakšno napotilo, mnenje.
Za prijatelja, ki ima nepokretno hčerko razvijam software, ki bi omogočal glasovne komande. Sam je naredil posteljo, ki s pomočjo ročnih komand (linearni aktuatorji) sama obrne osebo na postelji z ene strani na drugo stran.
Problem je v tem, da ima hčerka preslabe motorične sposobnosti, da bi lahko rokovala s gumbi. Zato je padla ideja, da bi naredil vmesnik z govornimi komandami.

Naredil sem prgram v C#-u, ki s pomočjo govorne prepoznave (del operacijskega sistema win7) krmili posteljo. Problem nastane v tem, da je prepoznava premalo natančna in prepozna tudi druge besede kot ukazne besede, kar pomeni, da se prožijo komande tudi ob drugih besedah.
Testiral sem že z različnimi mikrofoni, pa ni bilo nekega napredka.

Ali je kdo uporabljal kak drug sistem, ki je bil zanesljiv ali pozna kakšen trik, kako izboljšati sistem.
Najlepša hvala za vsako mnenje in pomoč.
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0

Re: Speech recognition

OdgovorNapisal/-a japina » 28 Jun 2016, 18:11

Nekoč sem gledal open source rešitev. Mogoče ti pomaga: http://cmusphinx.sourceforge.net
japina
 
Prispevkov: 315
Pridružen: 28 Jan 2015, 21:16
Kraj: Šentrupert na Dolenjskem
Zahvalil se je: 53 krat
Prejel zahvalo: 28 krat
Uporabnika povabil: aly
Število neizkoriščenih povabil: 5

Re: Speech recognition

OdgovorNapisal/-a mujo » 28 Jun 2016, 19:37

Predlagam, da se obrneš na UM FERI - inštitut za elektroniko in telekomunikacijo. Tam imajo kar precej izkušenj s prepoznavo (slovenskega!) govora. Mi smo v okviru laboratorijskih vaj relativno hitro naredili sistem za govorno avtorizacijo (prepoznavo govorca). Je pa to že kar nekaj časa nazaj in se ne spomnim točnih orodij.
mujo
 
Prispevkov: 734
Pridružen: 21 Jan 2015, 10:50
Kraj: MB
Zahvalil se je: 1 krat
Prejel zahvalo: 150 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 18

Re: Speech recognition

OdgovorNapisal/-a 6dan8 » 29 Jun 2016, 11:09

... kakšen trik...
Predvidevam, da si s "čarobno besedo*" že poskusil?
* "Čarobna beseda" - izraz, ki ga (skoraj ali sploh) ne srečaš med običajnim pogovorom. Vse, kar sledi za tem izrazom (v nekem razumnem časovnem obdobju), naj sistem razume kot ukaz.
Primer (recimo, da se sistem odziva na čarobno/ključno besedo "HAL"):
Uporabnik: "HAL (sistem preide iz načina "poslušanje" v način "sprejem ukaza"), zapri žaluzije."
Sistem izvrši ukaz in čaka. Po preteku določenega časa sistem preide v način "poslušanje".
Preoptimistično? :_think
6dan8
 
Prispevkov: 75
Pridružen: 09 Apr 2015, 13:21
Zahvalil se je: 17 krat
Prejel zahvalo: 21 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 4

Re: Speech recognition

OdgovorNapisal/-a Dorijan » 29 Jun 2016, 11:41

Odvisno zahtev (cenovnni ranga, jezik, povezava na internet). Če je angleščina OK in hočeš ločeno napravo si poglej amazon echo dot za $90.
https://www.amazon.com/b/?node=14047587011
in pa DIY varianta: https://hackaday.com/tag/speech-recognition/
Kak rabljen ipod/ipad touch ali android telefon se da tudi kar ugodno dobiti, in načeloma imasta oba operacijska sistema kup prilagoditev za osebe s posebnimi potrebami.
Kako se pa ti sistemi obnesejo s Slovenščino, pa ne bi vedel.

Sem bral članek na arstechnica sicer na temo dražjega modela, ki ima še zvočnike vgrajene in baje presenetljivo dobro deluje. Je pa samo dot varianta.
https://www.amazon.com/Amazon-Echo-Blue ... B00X4WHP5E

Tukaj je en izmed fameworkov za prepoznavo govora
http://www.cstr.ed.ac.uk/projects/festival/

Glede samostojne izdelave takega sistema je pa precej člankov na to temo na hackaday.com in hackaday.io
https://hackaday.com/2013/12/31/an-ardu ... than-siri/ //Ta je razvil prav svojo knjižnico uSpeach
https://hackaday.com/2015/08/30/voice-c ... h-no-echo/
https://hackaday.com/2016/03/29/you-spe ... ope-obeys/

https://hackaday.io/search?term=recognition
https://hackaday.io/project/8700-speech ... cer-server
Dorijan
 
Prispevkov: 714
Pridružen: 21 Jan 2015, 00:09
Zahvalil se je: 3 krat
Prejel zahvalo: 119 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 22

Re: Speech recognition

OdgovorNapisal/-a Proteus » 29 Jun 2016, 11:52

Na FE obstaja diploma (verjetno že dokaj porumenela, saj je še iz časov IBM PC XT), ki se je ukvarjala s tem problemom.
Rezultati se sicer niso izvajali v RT, so pa izsledki/rezultati dokaj dobro prepoznavali posnete slovenske besede :roll:
Uporabniški avatar
Proteus
 
Prispevkov: 2837
Pridružen: 18 Jan 2015, 01:31
Kraj: Planet Zemlja
Zahvalil se je: 292 krat
Prejel zahvalo: 591 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 107

Re: Speech recognition

OdgovorNapisal/-a SamoBr » 29 Jun 2016, 13:16

Kaj pa sistem, ki se uči? Ga ne zanima kateri jezik je, ampak kako se to sliši ne glede na jezik. Vem da so zelo stari telefoni od Nokije imeli vgrajenega nekaj takega.
SamoBr
 
Prispevkov: 2798
Pridružen: 14 Jun 2015, 14:45
Zahvalil se je: 129 krat
Prejel zahvalo: 251 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 48

Re: Speech recognition

OdgovorNapisal/-a matosg » 30 Jun 2016, 06:00

Hvala vsem za vse predloge.

Prebral sem ogromno o drugih sistemih, vendar nikjer nisem zasledil kakšen obširen test. Povsod je samo par ukazov, ki se izvršijo, kar pa seveda deluje tudi meni brez problema. Nikjer pa nisem zasledil testa, kako se sistemi odzivajo na hrupe iz ozadja oz. na podobne besede ali normalen pogovor.
Da bi pa na slepo testiral vsak sistem in kupoval komponente, pa žal trenutno ne pride v poštev. Nekako se mi dozdeva, da bi bil na koncu na istem ali slabšem, zato sem upal, če ima kdo kakšne praktične izkušnje.
Testiral sem tudi googlov sistem, pa ni kaj boljši, dodatna ovira je, da moraš biti stalno povezan v mrežo.

"čarobna beseda" oz. dvonivojski ukaz sem seveda takoj implementiral. Prvi ukaz sem celo razširil na več povedi, pa ni kaj dosti pomagalo.

Ukazi so v angleščini, ker sem predvideval, da je sistem bolj dodelan in pa, da bi normalni klepet v slovenskem jeziku bil nemoteč. Žal se angleške fraze prepoznajo ob slovenskih besedah brez prave logike.

Če govorim ukaze, kateri so predvideni, sistem deluje zelo lepo brez kakšnih težav. Tudi programiranje je sila preprosto. Težave so samo pri napačnem prepoznavanju. Testiral sem različne mikrofone in različne besede - povedi, vendar se nisem uspel približati željeni zanesljivosti.

Če mi ne uspe izboljšat zanesljivosti, bom v skrajni sili implementiral eno stikalo za vklop in izklop mikrofona. Seveda bi se temu rad ognil.

Razmišljal sem tudi o sistemu, kjer se posnameš za določen ukaz (ne gre za prepoznavo govora) in se potem primerja zvočna slika, žal nisem našel nič na to temo.

Skratka, stvar se razvija naprej, sem pa malo razočaran.
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0

Re: Speech recognition

OdgovorNapisal/-a SamoBr » 30 Jun 2016, 08:35

Lažnim alarmom bi se mogoče izognil tako, da bi moral povedat dvakrat isti ukaz.
SamoBr
 
Prispevkov: 2798
Pridružen: 14 Jun 2015, 14:45
Zahvalil se je: 129 krat
Prejel zahvalo: 251 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 48

Re: Speech recognition

OdgovorNapisal/-a Dorijan » 30 Jun 2016, 09:31

matosg je napisal/-a:Če govorim ukaze, kateri so predvideni, sistem deluje zelo lepo brez kakšnih težav. Tudi programiranje je sila preprosto. Težave so samo pri napačnem prepoznavanju. Testiral sem različne mikrofone in različne besede - povedi, vendar se nisem uspel približati željeni zanesljivosti.
Uporabljaš samo en mikrofon ali imaš tudi kakega za izločanje šuma?
Lahko pokažeš sliko hardwarea?
Imaš kako peno čez mikrofon?
Dorijan
 
Prispevkov: 714
Pridružen: 21 Jan 2015, 00:09
Zahvalil se je: 3 krat
Prejel zahvalo: 119 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 22

Re: Speech recognition

OdgovorNapisal/-a Kroko » 30 Jun 2016, 14:55

Nekje okoli leta 1992 sem imel nek software namenjen glasovnemu upravljanju z računalnikom. Potrebno ga je bilo naučiti, da je upošteval samo tvoj glas. Delal je presenetljivo dobro in je bil povsem uporaben. Pravzaprav še do danes nisem videl nič boljšega.

Spomnim se, da je na ukaz "Close window please" zaprl okno. Sem se zelo zabaval, ko je mama igrala solitair, jaz pa rečem "Close window please".
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4771
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 680 krat
Prejel zahvalo: 1647 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Speech recognition

OdgovorNapisal/-a bpavsic » 30 Jun 2016, 15:03

Ja, kot je Kroko omenil, tudi sam sem imel nekaj podobnega kakšna 2-3 leta pozneje. Mislim, da je software prišel skupaj s SoundBlaster AWE32 ali nekaj podobnega. Vsako komando si parkrat ponovil v mikrofon in ji določil funkcijo (zagon programa, odpiranje/zapiranje okna itd...). Jaz mami sicer nisem zapiral oken :D, sem pa pošiljal IR ukaze preko paralelca in IR diode na CD player. Voice control 20 let nazaj...
Skoraj prepričan sem, da mora nek tak software še danes obstajat. Včasih sem tudi uporabljal Dragon Naturally Speaking, ampak če se prav spomnim, si tam samo bral angleško besedilo, da se te je "navadil".
My brain has too many windows open.
bpavsic
 
Prispevkov: 688
Pridružen: 22 Jan 2015, 15:46
Kraj: MB / MS
Zahvalil se je: 213 krat
Prejel zahvalo: 223 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 226

Re: Speech recognition

OdgovorNapisal/-a matosg » 30 Jun 2016, 17:27

Dorijan je napisal/-a:
matosg je napisal/-a:Če govorim ukaze, kateri so predvideni, sistem deluje zelo lepo brez kakšnih težav. Tudi programiranje je sila preprosto. Težave so samo pri napačnem prepoznavanju. Testiral sem različne mikrofone in različne besede - povedi, vendar se nisem uspel približati željeni zanesljivosti.
Uporabljaš samo en mikrofon ali imaš tudi kakega za izločanje šuma?
Lahko pokažeš sliko hardwarea?
Imaš kako peno čez mikrofon?


Naenkrat uporabljam samo en mikrofon. Sem jih pa preskusil več, od tistega, ki je vgrajen v prenosniku, do par zunanjih in kakšne bistvene razlike ni bilo. Ni bil pa noben studijski, to je pa res.
Posebnega hardvera ni, ker je aplikacija za win. okolje in trentno teče na mojem prenosniku. Kasneje bo šla na industrijski računalnik, ki ima dodano I/O kartico.
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0

Re: Speech recognition

OdgovorNapisal/-a matosg » 30 Jun 2016, 17:31

Kroko je napisal/-a:Nekje okoli leta 1992 sem imel nek software namenjen glasovnemu upravljanju z računalnikom. Potrebno ga je bilo naučiti, da je upošteval samo tvoj glas. Delal je presenetljivo dobro in je bil povsem uporaben. Pravzaprav še do danes nisem videl nič boljšega.

Spomnim se, da je na ukaz "Close window please" zaprl okno. Sem se zelo zabaval, ko je mama igrala solitair, jaz pa rečem "Close window please".


Na to varianto sem tudi sam pomislil, vendar nisem uspel najti nič uporabnega. Se mogoče spomniš imena, ali kdo drug.
Problem je v tem, da se sedaj za take in podobne zadeve uporablja speech recognition in zato google vrača samo zadetke na to temo.
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0

Re: Speech recognition

OdgovorNapisal/-a VolkD » 30 Jun 2016, 17:38

matosg je napisal/-a:Naenkrat uporabljam samo en mikrofon. Sem jih pa preskusil več, od tistega, ki je vgrajen v prenosniku, do par zunanjih in kakšne bistvene razlike ni bilo. Ni bil pa noben studijski, to je pa res.
Posebnega hardvera ni, ker je aplikacija za win. okolje in trentno teče na mojem prenosniku. Kasneje bo šla na industrijski računalnik, ki ima dodano I/O kartico.
Dorijan je verjetno imel v mislih sva mikrofona istočasno. Pri tem en mikrofon "pobira" ozadje, torej motnje, drugi pa glas, ki naj bi prožil tvojo napravo. Ozadje se potem tudi v prvem upošteva kot motnja.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 41526
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 8987 krat
Prejel zahvalo: 5126 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Speech recognition

OdgovorNapisal/-a bpavsic » 01 Jul 2016, 00:22

Kaj pa tole:

https://www.tazti.com/index.php

Piše, da lahko dodajaš svoje ukaze...
My brain has too many windows open.
bpavsic
 
Prispevkov: 688
Pridružen: 22 Jan 2015, 15:46
Kraj: MB / MS
Zahvalil se je: 213 krat
Prejel zahvalo: 223 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 226

Re: Speech recognition

OdgovorNapisal/-a MarkoM » 01 Jul 2016, 08:53

Jaz bi se verjetno lotil stvari z matlabom, seveda je predpogoj dober signal. Dotična oseba bi morala večkrat ponoviti komande v mikrofon, potem bi pa v matlabu uporabil machine learning. Matlab ima to zelo dobro podprto, verjetno bi dobre rezultate dal že Support Vector Machine, to je dejansko klasifikator, ki loči med sabo vzorce. Ker univerzalni sistem za prepoznavo, da bi kdorkoli rekel besedo in jo sistem prepozna, je dosti težja stvar. Naučiti stroj, da prepozna vedno iste vzorce pa ni težko.
Če rabiš kakšen primer uporabe SVM ti lahko pošljem matlab kodo in malo razlage.
MarkoM
 
Prispevkov: 966
Pridružen: 29 Jan 2015, 13:11
Kraj: Pohorje (Maribor)
Zahvalil se je: 125 krat
Prejel zahvalo: 216 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 18

Re: Speech recognition

OdgovorNapisal/-a Dorijan » 01 Jul 2016, 09:28

Če je težava z mikrofonom lahko še vedno si pogledaš konferenčne mikrofone.
Za lastno izdelao se pa tudi dobijo razni čipi za zbijanje šuma na katere priklopiš več mikrofonov.
Dorijan
 
Prispevkov: 714
Pridružen: 21 Jan 2015, 00:09
Zahvalil se je: 3 krat
Prejel zahvalo: 119 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 22

Re: Speech recognition

OdgovorNapisal/-a Proteus » 01 Jul 2016, 12:05

V časih IBM PC XT je veljalo, da mora biti algoritem sposoben dekodirati glas iz ozadja s šumom in ne najboljšo tehniko.
Vse tako kaže, da so to časi, ki so že mimo.
Dandanes je za neuspeh kriva slaba tehnika in ne zanič algoritem.
Klasičnih programerjev praktično ni več, so samo še integratorji vprašljive kode, ki se nabere po netu.
Algoritem za prepoznavanje studijskih posnetkov lahko naredi tudi srednješolec, saj zadostuje že statistična primerjava ovojnice govora.
Uporabniški avatar
Proteus
 
Prispevkov: 2837
Pridružen: 18 Jan 2015, 01:31
Kraj: Planet Zemlja
Zahvalil se je: 292 krat
Prejel zahvalo: 591 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 107

Re: Speech recognition

OdgovorNapisal/-a matosg » 05 Jul 2016, 19:12

VolkD je napisal/-a:
matosg je napisal/-a:Naenkrat uporabljam samo en mikrofon. Sem jih pa preskusil več, od tistega, ki je vgrajen v prenosniku, do par zunanjih in kakšne bistvene razlike ni bilo. Ni bil pa noben studijski, to je pa res.
Posebnega hardvera ni, ker je aplikacija za win. okolje in trentno teče na mojem prenosniku. Kasneje bo šla na industrijski računalnik, ki ima dodano I/O kartico.
Dorijan je verjetno imel v mislih sva mikrofona istočasno. Pri tem en mikrofon "pobira" ozadje, torej motnje, drugi pa glas, ki naj bi prožil tvojo napravo. Ozadje se potem tudi v prvem upošteva kot motnja.


Najprej se vsem opravičujem za pozen odgovor, delam ne več projektih in mi kronično zmanjkuje časa.

Kar se tiče dveh mikrofonov, če prav razumem, ni problem šum v ozadju oz. tako daleč niti še nisem prišel, da bi bil to problem. Ko testiram, sem vedno sam in je tišina. Problem je zaradi tega, ker med testiranjem enkrat govorim ukaze, drugič pa simuliram xyz pogovor vse v isti mikrofon z enake razdalje. Žal slovenske besede in fraze prepoznava kot angleške ukaze.
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0

Re: Speech recognition

OdgovorNapisal/-a matosg » 05 Jul 2016, 19:19

MarkoM je napisal/-a:Jaz bi se verjetno lotil stvari z matlabom, seveda je predpogoj dober signal. Dotična oseba bi morala večkrat ponoviti komande v mikrofon, potem bi pa v matlabu uporabil machine learning. Matlab ima to zelo dobro podprto, verjetno bi dobre rezultate dal že Support Vector Machine, to je dejansko klasifikator, ki loči med sabo vzorce. Ker univerzalni sistem za prepoznavo, da bi kdorkoli rekel besedo in jo sistem prepozna, je dosti težja stvar. Naučiti stroj, da prepozna vedno iste vzorce pa ni težko.
Če rabiš kakšen primer uporabe SVM ti lahko pošljem matlab kodo in malo razlage.


Tega žal ne poznam. Kolikor sem preletel stran, je zadeva plačljiva. Ali je SDK za C# samo za povezavo s sistemom, ali je lahko samostojna zadeva? Ali je ta opcija dovolj enostavna, da jo lahko hitro narediš za test?

Hvala za odgovor.
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0

Re: Speech recognition

OdgovorNapisal/-a Jule » 05 Jul 2016, 20:09

Jule
 
Prispevkov: 706
Pridružen: 18 Jan 2015, 13:00
Kraj: Ajdovščina
Zahvalil se je: 141 krat
Prejel zahvalo: 170 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 20

Re: Speech recognition

OdgovorNapisal/-a MarkoM » 06 Jul 2016, 10:07

Za test je zadeva dokaj enostavna. Matlab je seveda plačljiv in precej drag, vendar za domače testiranje te verjetno ne bo vest pekla, če ga boš snel s piratebay (vzami 2016a verzijo, vsebuje tudi vse potrebne toolboxe).
Koda: Izberi vse
TrainingSet=[ 1 10;2 20;3 30;4 40;5 50;6 66;3 30;4.1 42];
TestSet=[3 34; 1 14; 2.2 25; 6.2 63];
GroupTrain=[1;1;2;2;3;3;2;2];
results = multisvm(TrainingSet, GroupTrain, TestSet);
disp('multi class problem');
disp(results);

TrainingSet so podatki s katerimi učiš npr. vrednosti 1 in 10 spadata v kategorijo 1 v GroupTrain, itd. TestSet so pa merjeni podatki. Na koncu vrne algoritem klasifikacijo podatkov, kam kateri spada.

Potrebuješ še funkcijo:
Koda: Izberi vse
function [result] = multisvm(TrainingSet,GroupTrain,TestSet)
%Models a given training set with a corresponding group vector and
%classifies a given test set using an SVM classifier according to a
%one vs. all relation.
%
%This code was written by Cody Neuburger cneuburg@fau.edu
%Florida Atlantic University, Florida USA
%This code was adapted and cleaned from Anand Mishra's multisvm function
%found at http://www.mathworks.com/matlabcentral/fileexchange/33170-multi-class-support-vector-machine/

u=unique(GroupTrain);
numClasses=length(u);
result = zeros(length(TestSet(:,1)),1);

%build models
options = optimset('maxiter',1500);

for k=1:numClasses
    %Vectorized statement that binarizes Group
    %where 1 is the current class and 0 is all other classes
    G1vAll=(GroupTrain==u(k));
    models(k) = svmtrain(double(TrainingSet),G1vAll,'Kernel_Function','linear','Method','LS','quadprog_opts',options);
end

%classify test cases
for j=1:size(TestSet,1)
    for k=1:numClasses
        if(svmclassify(models(k),TestSet(j,:)))
            break;
        end
    end
    result(j) = k;
end

V funkciji svmtrain lahko spreminjaš parametre, kako loči vzorce med sabo, po kakšni statistični metodi, itd.

Za tvoj primer bi pa moral posneti z mikrofonom zvoke, lahko direktno v matlab, ker podpira gonilnike od zvočne. Te podatke potem smiselno vstaviti v matriko TrainingSet, nato pa testirati prepoznavo.

Za testiranje zgornjega primera pa enostavno shrani obe kodi v ločene .m datoteke in zaženi prvi del.
MarkoM
 
Prispevkov: 966
Pridružen: 29 Jan 2015, 13:11
Kraj: Pohorje (Maribor)
Zahvalil se je: 125 krat
Prejel zahvalo: 216 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 18

Re: Speech recognition

OdgovorNapisal/-a MitjaN » 07 Jul 2016, 09:09

MitjaN
 
Prispevkov: 86
Pridružen: 24 Feb 2015, 12:45
Zahvalil se je: 10 krat
Prejel zahvalo: 36 krat
Uporabnika povabil: aly
Število neizkoriščenih povabil: 7

Re: Speech recognition

OdgovorNapisal/-a matosg » 24 Dec 2016, 20:33

Zdravo po dolgem času.

Program je končan in deluje.
Je pa izražena želja, da se naredi glasovni ukaz za klic na pomoč, če gre slučajno kaj narobe.
Zadeva teče na tablici z Win 10 brez reže za sim.
Sem bil že skoraj prepričan, da imam s Skyp-om zadevo urejeno, pa imam težavo pri klicanju.
Skyp sem izbral zato, ker poleg klica vseh, ki imajo skype, omogoča tudi klice na vse ostale telefonske številke (klasične in mobilne) v stilu predplačniške kartice. Naložiš znesek in kličeš.

Žaj je, kolikor sem prebral, Microsoft leta 2014 zabremzal Skype4COM, čeprav naj bi klici še delovali.

Moja trenutna koda za vspostavitev klica preko skypa:

Skype skype = new Skype();

if (!skype.Client.IsRunning)
{
skype.Client.Start(true, true);
}
skype.Attach(skype.Protocol, true);

User SkypeID = skype.User["Test"];
Call call = skype.PlaceCall(SkypeID.Handle);

do
{
System.Threading.Thread.Sleep(100);
} while (call.Status != TCallStatus.clsInProgress);

Tezava je v tem, da se sicer klic izvede, vendar namesto uporabnika, ki ga napišem, se izvede klic grupe: (?) 49042 #live:e072634e7d8fe56c/$*2;1530

Ima kdo kako idejo, kako bi to rešil?
Če obstaja kakšen drug zanesljiv način, kako bi lahko klical s pomočjo mojega programa neko mobilno številko, se tudi priporočam.
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0

Re: Speech recognition

OdgovorNapisal/-a matosg » 25 Dec 2016, 19:03

Sem opustil Skype, sem se preusmeril na VOIP. Pa je šlo par dni v nič...
Vidim pa, da se vedno lotevam zelo zanimivih tem, glede na odziv :_dunno
Lep pozdrav,
Matej
Uporabniški avatar
matosg
 
Prispevkov: 24
Pridružen: 22 Feb 2015, 19:12
Kraj: Slovenj Gradec
Zahvalil se je: 1 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 0


Vrni se na Programski jeziki

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 2 gostov