[ jhondoe @ 24.10.2006. 17:26 ] @
| Pokušavam napraviti program "Detektor laži pomoću zvuka", već je jasno kamo ciljam. Dakle imam tri fajla. Dva uzorka tj. na jednom iskren odgovor, na drugom lažnan odgovoreno. Treći je onaj na koji korisnik odgovara tj. onaj s kojim uspoređujem.
Pitanja: Kako da usporedim uzorke sa trenutnim odgovorom. Ako ima netko da mi pomogne oko koda jer tu dolazi do problema. Ne znam odkud početi usporedbu, a ni kako.
HVALA |
[ obucina @ 26.10.2006. 00:16 ] @
Krupan zalogaj... Treba da radis spektralnu analizu zvuka, sto se radi Furijeovim transformacijama (FFT, teska matematika, ali ima gotovih FFT biblioteka). E sad, treba da znas koji tonovi se pojavljuju pri izgovaranju lazi, a koji pri izgovaranju istine, pa poredeci promene spektra u odredjenim segmentima (npr po pola sekunde) uocis neke razlike. I kada uocis neku neobicnu promenu (lupam, tonovi od 400 Hz se naglo pojave nakon tonova od 300Hz, sto je karakteristicno za laz), mozes polako poceti da sumnjas.
Pazi, ne znam kako se to radi, ovo je neko moje zakljucivanje, mozda i nije ovako. Covek gleda coveka i ne zna da li laze. A kako ce tek masina izaci na kraj sa tim.
[ milanche @ 26.10.2006. 15:57 ] @
Mnogo krupan poduhvat.
Sa obradom zvuka se jos moze izaci na kraj, ali sa interpretacijama, pogotovo da rade za siroku lepezu individualnih
slucajeva,...malo mnogo ambiciozno.
Nije lose kao 'sargarepa' koju ako sledis mozes da daleko stignes u poznavanju obrade signala.
[ Srdjan_exe @ 26.10.2006. 16:36 ] @
Posto kazes da imas tri fajla, jedan za istinu, jedan za laz i jedan korisnikov, predpostavljam da je
algoritam sledeci - korisnikov ".wav" se snima i onda se poredi da li je blizi spektralnom zapisu
"istinitog" ili "laznog" fajla koji je vec u bazi. Ovo je jako uprosceno, jer kako je neko vec primetio,
velike su individualne razlike u izgovoru i taj bi algoritam za analizu i poredjenje morao biti stvarno
"pametan" da bi ista "skontao".
Posto znam ponesto neurologije i jos po nesto iz medicinskih oblasti, nije mi bas jasno
da moze na ovako jednostavnim postavkama (alogroitam) ovaj program da se napravi.
Svakako ozbiljan problem.... (koliko je samo tesko napraviti programe za dobru
rekogniciju raznih glasova, a ovaj je mnogo komplikovaniji!!!)
Pozdrav Srdjan.
[ Srdjan_exe @ 26.10.2006. 16:44 ] @
Predpostavljam da je moj imenjak u pravu kad je pomenuo promenu frekvencija,
jer mislim da kod lazi dolazi do nekakvih podrhtavanja u glasu koji upravo i rezultuju
naglim promenama frekvencije ili "hrapavijim" zapisom, odnosno drugacijom
PROZODIJOM koju je moguce nekako registrovati u analizi wav zapisa.
Ovo je samo pretpostavka.
Ono sto je sigurno a to su kvaliteti zvuka - jacina (db), boja i frekvencija (visina, Hz).
Ovo se pak ocitava u obliku talasa....
Mislim da je u ovoj celoj prici najmanji problem napraviti program kada se sve ovo dobro poznaje...
[ jhondoe @ 28.10.2006. 10:15 ] @
Hvala momci na korisnim uputama, ali da smanjimo problem jer radim seminarski (a htio bi raditi sa zvukom), pretpostavljam da je program za autorizaciju putem glasa jednostavniji. Dal možda znate naredbu ili funkciju u delphi-ju koja uspoređuje amplitudu sinusoide zvuka ili kako usporediti ta dva zvuka.
Hvala.
[ obucina @ 28.10.2006. 18:43 ] @
Eh, kad bi sve bilo u pozivu jedne funkcije...
Opet, trazis od korisnika da izgovori lozinku npr pet-deset puta, zatim spektralna analiza svakog zapisa, pa od tih deset spektara napravis jedan "prosecan". To bi bilo kao postavljanje lozinke.
Kada korisnik hoce da se autorizuje, izgovori lozinku, ti je analiziras, i ako su odstupanja manja od neke tolerancije, mozes prihvatiti autorizaciju.
[ milanche @ 29.10.2006. 00:37 ] @
I jos par manjih sitnica: spektar se menja u vremenu - nemas jedan spektar za celu recenicu,
nego ako se zainatis mozes da ga racunas pocevsi od svakog sempla.
Treba uhvatiti promene spektra u vremenu, i nacine menjanja. Ima tu i nesto sto se zove formant,
pa i sa time malo treba lupati glavu.
I kad to sve zavrsimo, sta se desava ako korisnik promukne ?
Nego ti prijatelju, blago meni, ako hoces da napravis seminarski iz zvuka napravi bolje jedan prost
audio player - za to imas par funkcija u svakom razvojnom okruzenju.
[ Srki_82 @ 29.10.2006. 00:56 ] @
Ako bas imas zelju da radis sa glasovima i dovoljno ti je da program radi samo na Windows operativnom sistemu, iskoristi Microsoft Speech SDK i mozes bez problema da prevodis napisan tekst u govor, i govor u tekst. Na MSDNu imas sasvim pristojno objasnjenje SDKa, kao i nekoliko vrlo jednostavnih primera.
[ jhondoe @ 29.10.2006. 08:06 ] @
Hvala smislit ću nešto.
[ neuromancer @ 29.10.2006. 14:10 ] @
Ovako nesto je najjednostvanije da radis u MatLabu-u. Iako ne znas matlab trebace ti manje vremena da naucis osnove i iskoristis njegove funkcije nego da npises bilo koju funkciju u delphi-ju vezanu za resavanje ovog problema. U ovom slucaju je kodiranje najlakse, sama postavka problema i resenje su veoma komplikovani. Moj savet ti je, ako je u pitanju samo seminarski, okani se toga. Za ovo treba mnogo vise vremena i znanja fizike, matematike itd.
Pozdrav
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|