Hangfelismerés, hangvezérlés

Avatar
Hegemon
Biztosítékgyilkos
Hozzászólások: 58
Csatlakozott: 2009. március 13. péntek, 6:00

Hangfelismerés, hangvezérlés

Hozzászólás Szerző: Hegemon »

Sziasztok!

Lehet hogy megint butaságot kérdezek, de sztem nem egyedül vagyok aki okosházat hegeszt, és nagyon feldobná egy ilyen a rendszert.

Arra lennék kiváncsi, hogy nem e tud valaki valami céláramkört hangutasításra, mint pl a telefonokban bemondom hogy "Stupid" és hívja a főnököt. :-D
Nézegettem a PC re való hangfelismerőket, de sztem azok elég erőforrásigényesek, nem hiszem hogy portolható lenne bármelyik AVR re.
a telefonokban egyébként is Mintavétel után összehasonlít. Gondoltam ISD analóg tárolóra, és azt lehasonlítani az utasítással, csak nem tudom hogy az egyezést milyen formában lehetne kiértékelni.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

Nem egyszerű, van 1-2 céláramkör, ami 4-6 szót tud 95%-osan azonosítani. Igencsak nagy számításigényű a dolog, ilyen kicsi AVR-ekkel nem fog menni. Bár soha ne mondd azt, hogy soha :) Valamikor 10 éve nagy igéretekkel kecsgtetett a kepstrumanalízis, de asszem nem jött be az sem.
JAni
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

Sajnos az ISD-ből nem tudod a hangot digitálisan kinyerni.

Esetleg Arduino-Waveshield, mert ott a kártyán van a minta.
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
Avatar
Hegemon
Biztosítékgyilkos
Hozzászólások: 58
Csatlakozott: 2009. március 13. péntek, 6:00

Hozzászólás Szerző: Hegemon »

Na igen sejtettem a hasonló válaszokat
Google pajtás dobott egy hangvezérlésű kisautót ATmega32 ből van gyártva. amit megértettem hogy 8 sávra szűrik a hangot, és abból készül el az ujlenyomat, de innentől kezdve az egészet nem értem :-D

lehet akkor beteszek egy EEE pc t, aztán az megoldja a hangfelismerést.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

A "kepstrumanalízis" (a spektrum-spektruma) talán nem annyira számításigényes, bár az FFT-t vagy DFT-t nem úszod meg, inkább analóg sávszűrőkkel csinálnám, ha van hely rá. Bejön a hang, és megnézik a spektrum változásait (3d-ben el tudod képzelni, mint 1-2 lejátszónál, folyik hátra a spektrumkijelző). Na, ezt elfordítjuk 90 fokkal, és bemeneti jelnek veszed ezt a kialakult pl. 8db spektrum burkológörbét, ezek spektrumát tárolod le, hasonlítod össze a mintával. Matematikailag most nem írnám le, mert nagyon bonyolult, ráadásul fogalmam sincs, hogy néz ki :) De majd a TanárÚr besegít...
JAni
Avatar
boczhunor
Bitmanipulátor
Hozzászólások: 110
Csatlakozott: 2009. augusztus 5. szerda, 6:00

Helló.

Hozzászólás Szerző: boczhunor »

Szia! Nagyon téves,hogy nem lehet egy kontrollerrel elkészíteni! Nekem van ilyen projektem, hangfelismerő és arra válaszol is. Bár kevés a szótár,amit ismer de akkor is tökéletesen működik. Egyébként ez a technika a MI-hez tartozik inkább és a neve DSP(Digital Signal Processing). Vannak IC-ek is amelyek ezt a feladatot elvégzik. Az úgynevezett Speech Recognation IC (pl. a HM2007) amelyek a kis memóriájukban előre tárolt hanganyagot hasonlítják össze a bemeneti hanganyaggal és ha egyeznek ,akkor a kimeneten különböző jelek jelennek meg. Az én megoldásom egy elég érdekes megoldás,amit atmega8-.al is lehet használni. Először is egy Analóg-Digitál átalakító algoritmus van beiktatva,amely az átalakító procedúra utn vizsgálni kezdi a jelet. Egyszer is van egy szűrés,amely a jelből kiszűri a zajt,hogy ne legyen belőle zajosjel...Majd mikor ez kész,leméri azt az időt ameddig a jel újra 0-hoz közel értékig megy,tehát befejeződik a szó. Majd kiszámítja az idő delta értékét,és ha nem haladja meg a maximális értéket akkor következik egy másik feltétel ami egyben mostmár a jelet vizgálja,de először végbe megy a szűrt és idővizsgált jel újboli Analógra való alakítása(D/A átalakító) és aztán megvizsgálja a jel amplitudóját illetve hullámhosszát. Ebből is lesz egy delta érték és ha a maximális értéket nem haladja meg akkor a két adat egy változóba megy. Egy előre megadott értékekkel hasonlítódik össze a négy változó értéke(amely tartalmazza a hullám idejének a deltáját,tehát a szóhosszt,az amplitudó és a hullámhossz delta értékét illetve az átalakítás logikai értékét,tehát,hogy megtörténte a szűrés és az A/D illetve a D/A átalakítás) és ha az eredmény pozitív,tehát ha megfelelnek az értékek a hasonlítottt változóval(ami jelen esetben egy előre deklaráltt szó,amivel hason lítjuk a bemeneti értékeket) ,akkor szépen lejátszódik egy hang,tehát a válasz.
Remélem érthető voltam.
Igaz nagyon -nagyon sok megoldás van... Keress rá a neten a DSP-re vagy a Speech Recognation-ra vagy a jelfeldolgozásra és biztos kapsz nagyon-nagyon sok dolgot!
Sok sikert! :wink:
Üdv. Hunor!
Válasz küldése