Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • vijesti
  • Potpuna glasovna kontrola kompjutera. Kontrola glasom i pokretima na vašem računaru

Potpuna glasovna kontrola kompjutera. Kontrola glasom i pokretima na vašem računaru

Jedan čovjek mi se obratio sa zahtjevom da napišem program koji bi omogućio kontrolu kompjuterskog miša njegovim glasom. Tada nisam mogao ni da zamislim da, skoro potpuno paralizovana osoba koja ne može ni sama da okrene glavu, već može samo da priča, u stanju je da razvija energičnu aktivnost, pomaže sebi i drugima da žive aktivnim životom, stiče nova znanja i veštine, radi i zarađivati ​​novac, komunicirati sa drugim ljudima širom svijeta, učestvovati u natjecanju društvenih projekata.

Dozvolite mi da ovdje citiram nekoliko linkova na stranice, čiji je autor i/ili idejni inspirator ova osoba - Alexander Makarchuk iz grada Borisova, Bjelorusija:

Za rad na kompjuteru, Alexander je koristio program Vocal Joystick, razvoj studenata Univerziteta Washington State koji finansira Nacionalna naučna fondacija (NSF). Vidi melodi.ee.washington.edu/vj

Nisam mogao odoljeti

Inače, na sajtu univerziteta (http://www.washington.edu/) 90% članaka je o novcu. Teško je pronaći bilo šta o naučnom radu. Evo, na primjer, odlomaka sa prve stranice: „Tom, diplomirani fakultet, jeo je pečurke i jedva je plaćao stanarinu. Sada je viši menadžer IT kompanije i pozajmljuje novac univerzitetu", "Bigi podaci pomažu beskućnicima", "Kompanija se obavezala da će platiti 5 miliona dolara za novu akademsku zgradu."

Boli li me samo oko?


Program je napravljen 2005-2009 i dobro je radio na Windows XP-u. U novijim verzijama Windowsa, program se može zamrznuti, što je neprihvatljivo za osobu koja ne može ustati sa stolice i ponovo je pokrenuti. Stoga je program morao biti prerađen.

Izvornih tekstova nema, postoje samo pojedinačne publikacije koje otkrivaju tehnologije na kojima se zasniva (MFCC, MLP - o tome čitajte u drugom dijelu).

Napisan je novi program na sliku i priliku (oko tri mjeseca).

Zapravo, možete vidjeti kako to funkcionira:

Možete preuzeti program i/ili vidjeti izvorne kodove.

Ne morate izvoditi nikakve posebne korake da biste instalirali program, samo kliknite na njega i pokrenite ga. Jedina stvar, u nekim slučajevima je potrebno da se pokrene kao administrator (na primjer, kada radite s virtualnom tastaturom "Comfort Keys Pro"):

Možda je ovdje vrijedno spomenuti i druge stvari koje sam prethodno radio da bih mogao kontrolirati računar bez ruku.

Ako imate mogućnost okretanja glave, žiroskop na glavi je dobra alternativa eViacam-u. Dobićete brzo i precizno pozicioniranje kursora i nezavisnost od osvetljenja.

Ako možete pomicati samo zjenice očiju, onda možete koristiti gaze tracker i program za njega (može biti teško ako nosite naočale).

Dio II. Kako to radi?

Iz objavljenog materijala o programu Vocal Joystick poznato je da on radi na sljedeći način:
  1. Rezanje audio toka u okvire od 25 milisekundi sa preklapanjem od 10 milisekundi
  2. Dobivanje 13 cepstral koeficijenata (MFCC) za svaki okvir
  3. Provjera da se jedan od 6 memorisanih glasova (4 samoglasnika i 2 suglasnika) izgovara višeslojnim perceptronom (MLP)
  4. Dovođenje pronađenih zvukova u pokret / klikove mišem
Prvi zadatak je izuzetan samo po tome što su za njegovo rješavanje u realnom vremenu morala biti unesena tri dodatna toka u program, jer se očitavanje podataka s mikrofona, obrada zvuka i reprodukcija zvuka preko zvučne kartice odvijaju asinhrono.

Potonji zadatak se jednostavno implementira pomoću funkcije SendInput.

Najzanimljiviji, čini mi se, su drugi i treći zadatak. Dakle.

Problem broj 2. Dobivanje 13 kepstralnih koeficijenata

Ako neko nije u temi - glavni problem kompjuterskog prepoznavanja zvukova je sljedeći: teško je uporediti dva zvuka, jer dva zvučna talasa koja su različita u obrisu mogu zvučati slično sa stanovišta ljudske percepcije.

A među onima koji se bave prepoznavanjem govora, traga se za "kamenom filozofa" - skupom karakteristika koje bi nedvosmisleno klasificirale zvučni val.

Od znakova koji su dostupni široj javnosti i opisani u udžbenicima, najčešći su takozvani kepstralni koeficijenti krede frekvencije (MFCC).

Njihova povijest je takva da su u početku bili namijenjeni za nešto sasvim drugo, naime, za suzbijanje eha u signalu (informativni članak o ovoj temi napisali su uvaženi Oppenheim i Schafer, neka radost bude u domovima ovih plemenitih ljudi. Vidi AV Oppenheim i RW Schafer, “Od frekvencije do kvefrencije: Istorija Cepstruma”).

Ali osoba je dizajnirana na takav način da je sklona bolje koristiti ono što mu je poznato. A oni koji su se bavili govornim signalima došli su na ideju da koriste gotov kompaktni prikaz signala u obliku MFCC-a. Ispostavilo se da, općenito, funkcionira. (Moj poznanik, specijalista za ventilacione sisteme, kada sam ga pitao kako da napravim vikendicu, predložio mi je korišćenje ventilacionih kanala. Jednostavno zato što ih poznaje bolje od drugih građevinskih materijala).

Da li su MFCC-i dobar klasifikator zvukova? ne bih rekao. Isti zvuk, koji ja izgovaram u različitim mikrofonima, spada u različite oblasti prostora MFCC koeficijenata, a idealan klasifikator bi ih nacrtao jedan pored drugog. Stoga, posebno kada mijenjate mikrofon, morate ponovo naučiti program.

Ovo je samo jedna od projekcija 13-dimenzionalnog prostora MFCC-a u 3-dimenzionalni, ali pokazuje na šta mislim - crvene, ljubičaste i plave tačke se dobijaju iz različitih mikrofona: (Plantronix, ugrađeni mikrofonski niz, Jabra), ali zvuk se izgovarao sam.

Međutim, kako ne mogu ponuditi ništa bolje, koristit ću i standardnu ​​tehniku ​​- izračunavanje MFCC koeficijenata.

Da se ne bi pogriješili u implementaciji, u prvim verzijama programa kao osnova je korišten kod iz poznatog CMU Sphinx programa, tačnije njegova implementacija u C, nazvana pocketsphinx, razvijena na Univerzitetu Carnegie Mellon. (mir sa obojicom! (C) Hottabych).

Izvorni kodovi pocketsphinxa su otvorenog koda, ali loša sreća - ako ih koristite, morate napisati tekst u svom programu (i u izvornom kodu i u izvršnom modulu) koji sadrži, između ostalog, sljedeće:

* Ovaj rad je djelimično podržan sredstvima Agencije za napredne odbrambene * istraživačke projekte i Nacionalne naučne fondacije * Sjedinjenih Američkih Država i CMU Sphinx Speech Consortium.
Ovo mi se činilo neprihvatljivim i morao sam da prepišem kod. To je uticalo na performanse programa (na bolje, usput rečeno, iako je "čitljivost" koda donekle patila). Uglavnom zahvaljujući korišćenju biblioteka "Intel Performance Primitives", ali sam i sam optimizovao nekoliko stvari, poput MEL filtera. Ipak, provjera testnih podataka pokazala je da su dobiveni MFCC koeficijenti potpuno slični onima dobivenim korištenjem, na primjer, uslužnog programa sphinx_fe.

U sphinxbase programima, MFCC koeficijenti se izračunavaju u sljedećim koracima:

Korak Funkcija Sphinxbase Suština operacije
1 fe_pre_emphasis Većina prethodnog brojanja oduzima se od trenutnog uzorka (na primjer, 0,97 od njegove vrijednosti). Primitivni niskopropusni filter.
2 fe_hamming_window Hamingov prozor - uvodi bledenje na početku i na kraju kadra
3 fe_fft_real Brza Fourierova transformacija
4 fe_spec2magnitude Iz normalnog spektra dobijamo spektar snage, gubi fazu
5 fe_mel_spec Grupiramo frekvencije spektra [na primjer, 256 komada] u 40 hrpa koristeći MEL skalu i težinske faktore
6 fe_mel_cep Uzmite logaritam i primijenite DCT2 transformaciju na 40 vrijednosti iz prethodnog koraka.
Ostavite prvih 13 vrijednosti u rezultatu.
Postoji nekoliko varijanti DCT2 (HTK, legacy, classic), koje se razlikuju po konstanti kojom dijelimo dobijene koeficijente, te posebnoj konstanti za nulti koeficijent. Možete odabrati bilo koju opciju, to neće promijeniti suštinu.

Ovi koraci također uključuju funkcije koje vam omogućavaju da odvojite signal od buke i od tišine, kao što su fe_track_snr, fe_vad_hangover, ali nam ne trebaju i neće nas ometati.

Napravljene su sljedeće zamjene za korake za dobijanje MFCC koeficijenata:

Problem broj 3. Provjera da se izgovara jedan od 6 memorisanih zvukova

Originalni program "Vocal Joystick" koristio je višeslojni perceptron (MLP) za klasifikaciju - neuronsku mrežu bez novonastalih zvona i zviždaljki.

Da vidimo koliko je ovdje opravdana upotreba neuronske mreže.

Prisjetimo se što neuroni rade u umjetnim neuronskim mrežama.

Ako neuron ima N ulaza, tada neuron dijeli N-dimenzionalni prostor na pola. Seci sa hiperravninom bekhendom. Istovremeno, u jednoj polovini prostora radi (daje pozitivan odgovor), au drugoj polovini ne radi.

Pogledajmo [praktički] najjednostavniju opciju - neuron sa dva ulaza. On će prirodno prepoloviti dvodimenzionalni prostor.

Neka se na ulaz unesu vrijednosti X1 i X2, koje neuron množi sa težinskim koeficijentima W1 i W2 i dodaje slobodni član C.


Ukupno, na izlazu neurona (označavamo ga sa Y) dobijamo:

Y = X1 * W1 + X2 * W2 + C

(za sada izostavimo suptilnosti o sigmoidnim funkcijama)

Pretpostavljamo da se neuron aktivira kada je Y> 0. Prava linija data jednadžbom 0 = X1 * W1 + X2 * W2 + C samo dijeli prostor na dio gdje je Y> 0 i dio gdje je Y<0.

Ilustrujmo ono što je rečeno konkretnim brojevima.

Neka je W1 = 1, W2 = 1, C = -5;

Sada da vidimo kako možemo organizirati neuronsku mrežu koja bi radila na određenom području prostora, relativno govoreći - spot, a ne bi radila na svim drugim mjestima.

Sa slike se može vidjeti da su nam za ocrtavanje područja u dvodimenzionalnom prostoru potrebne najmanje 3 ravne linije, odnosno 3 neurona povezana s njima.

Povezat ćemo ova tri neurona zajedno koristeći još jedan sloj, čime ćemo dobiti višeslojnu neuronsku mrežu (MLP).

A ako nam je potrebna neuronska mreža da radi u dva područja prostora, onda su nam potrebna još najmanje tri neurona (4,5,6 na slikama):

I ovdje ne možete bez trećeg sloja:

A treći sloj je skoro duboko učenje...

Sada se okrenimo drugom primjeru za pomoć. Neka naša neuronska mreža proizvede pozitivan odgovor na crvene tačke, a negativan - na plave tačke.

Da se od mene traži da odsečem crvenu od plave ravnim linijama, uradio bih to otprilike ovako:

Ali neuronska mreža a priori ne zna koliko će pravih linija (neurona) trebati. Ovaj parametar se mora postaviti prije obuke mreže. A osoba to radi na osnovu ... intuicije ili pokušaja i grešaka.

Ako odaberemo premalo neurona u prvom sloju (tri, na primjer), onda možemo dobiti takav rez koji će dati puno grešaka (pogrešno područje je zasjenjeno):

Ali čak i ako je broj neurona dovoljan, kao rezultat treninga, mreža možda neće "konvergirati", odnosno dostići određeno stabilno stanje, daleko od optimalnog, kada je postotak grešaka visok. Kao i ovdje, gornja prečka se smjestila na dvije grbe i neće ih nigdje ostaviti. A ispod je veliko područje koje stvara greške:

Opet, mogućnost ovakvih slučajeva zavisi od početnih uslova treninga i redosleda treninga, odnosno od slučajnih faktora:

- Šta mislite šta će taj točak stići, ako se desi, do Moskve ili ne?
- Šta mislite, hoće li se enta neuronska mreža konvergirati ili ne?

Postoji još jedan neugodan trenutak vezan za neuronske mreže. Njihova "zaboravnost".

Ako počnete hraniti mreže samo plavim tačkama, a prestanete hraniti crvene, onda ona može mirno zgrabiti dio crvene površine za sebe, pomjerajući svoje granice tamo:

Ako neuronske mreže imaju toliko nedostataka, a osoba može povući granice mnogo efikasnije od neuronske mreže, zašto ih uopće koristiti?

I postoji jedan mali, ali vrlo važan detalj.

Mogu vrlo dobro odvojiti crveno srce od plave pozadine po segmentima linija u dvodimenzionalnom prostoru.

Mogu dobro odvojiti ravni kipa Venere od okolnog trodimenzionalnog prostora.

Ali u četvorodimenzionalnom prostoru ne mogu ništa da uradim, izvini. I još više u 13-dimenzionalnoj.

Ali za neuronsku mrežu, dimenzija prostora nije prepreka. Smijao sam joj se u niskodimenzionalnim prostorima, ali čim sam otišao dalje od uobičajenog, lako me je uhvatila.

Ipak, pitanje je i dalje otvoreno – koliko je opravdana upotreba neuronske mreže u ovom konkretnom zadatku, s obzirom na gore navedene nedostatke neuronskih mreža.

Zaboravimo na trenutak da su naši MFCC koeficijenti u 13-dimenzionalnom prostoru, i zamislimo da su dvodimenzionalni, odnosno tačke na ravni. Kako bi se u ovom slučaju jedan zvuk mogao odvojiti od drugog?

Neka MFCC tačke zvuka 1 imaju standardnu ​​devijaciju R1, što [otprilike] znači da su tačke koje ne odstupaju previše od srednje vrednosti, najkarakterističnije tačke, unutar kruga poluprečnika R1. Isto tako, tačke kojima vjerujemo za zvuk 2 nalaze se unutar kruga polumjera R2.

Pažnja, pitanje: gdje povući pravu liniju koja bi najbolje odvojila zvuk 1 od zvuka 2?

Odgovor se nameće sam od sebe: u sredini između granica krugova. Ima li primjedbi? Nema prigovora.
Ispravka: U programu ova granica dijeli segment koji povezuje centre krugova u omjeru R1: R2, pa je ispravnije.

I na kraju, ne zaboravimo da negdje u svemiru postoji tačka koja predstavlja potpunu tišinu u MFCC prostoru. Ne, ovo nije 13 nula, kako se čini. Ovo je jedna tačka koja ne može imati standardnu ​​devijaciju. A ravne linije kojima smo ga odsjekli od naša tri zvuka mogu se povući direktno duž granica krugova:

Na donjoj slici svaki zvuk odgovara komadu prostora svoje boje i uvijek možemo reći kojem zvuku pripada ova ili ona tačka u prostoru (ili se ne odnosi ni na jednu):

Pa, dobro, sada se prisjetimo da je prostor 13-dimenzionalan, a ono što je bilo dobro crtati na papiru, sada se ispostavilo da je nešto što se ne uklapa u ljudski mozak.

Tako, ali nije tako. Srećom, u prostoru bilo koje dimenzije ostaju koncepti kao što su tačka, linija, [hiper] ravan, [hiper] sfera.

Ponavljamo sve iste radnje u 13-dimenzionalnom prostoru: pronađemo varijansu, odredimo poluprečnike [hiper] sfera, povežemo njihova središta ravnom linijom, presečemo je [hiper] ravninom u tački jednako udaljenoj od granice [hiper] sfera.

Nijedna neuronska mreža ne može ispravnije odvojiti jedan zvuk od drugog.

Ovdje, međutim, treba napraviti rezervu. Sve je to tačno ako je informacija o zvuku oblak tačaka koje podjednako odstupaju od prosjeka u svim smjerovima, odnosno dobro se uklapaju u hipersferu. Da je ovaj oblak složenog oblika, na primjer, 13-dimenzionalna zakrivljena kobasica, onda sva gornja razmišljanja ne bi bila tačna. I možda bi, uz odgovarajuću obuku, neuronska mreža ovdje mogla pokazati svoje prednosti.

Ali ne bih rizikovao. I primenio bih, na primer, skupove normalnih distribucija (GMM), (što se, inače, radi u CMU Sphinx). Uvijek je ljepše kada shvatite koji je algoritam doveo do rezultata. A ne kao u neuronskoj mreži: Oracle, na osnovu svojih mnogo sati kuhanja bujona iz podataka o obuci, naređuje vam da odlučite da je traženi zvuk zvuk #3. (Posebno me nervira kada kontrolu nad automobilom pokušavaju povjeriti neuronskoj mreži. Kako onda, u nestandardnoj situaciji, razumjeti zašto je auto skrenuo lijevo, a ne desno? Svemogući Neuron je komandovao?).

Ali skupovi normalnih distribucija su već zasebna velika tema, koja je izvan okvira ovog članka.

Nadam se da vam je ovaj članak bio od pomoći i/ili da je vaš gyrus škripao.

Prepoznavanje govora je jednostavan i moćan Windows alat koji možete koristiti za kontrolu vašeg računara pomoću glasovnih komandi.

Ovu funkciju možete prilagoditi za navigaciju, pokretanje aplikacija, diktiranje teksta i još mnogo toga. Međutim, prepoznavanje govora prvenstveno je namijenjeno osobama s invaliditetom koje ne mogu koristiti miš ili tastaturu.

U ovom vodiču pružamo korake za postavljanje i rad funkcije prepoznavanja govora tako da možete kontrolirati svoj računar samo svojim glasom.

Nažalost, ovaj alat je, kao i Cortana, veoma ograničen u našem regionu.

Međutim, možete promijeniti neke postavke na svom računaru. Da biste to učinili, slijedite ove korake:


Bitan! Da bi sve funkcionisalo kako treba, ne morate koristiti lokalni nalog, već Microsoft! Ako imate instaliranu verziju sistema na jednom jeziku (desni klik na "Ovaj računar", a zatim na "Svojstva"), tada nećete moći da koristite Cortanu ili punopravni alat za prepoznavanje govora!

Radi praktičnosti, sve akcije su prevedene na ruski i popraćene odgovarajućim snimcima ekrana na engleskom. Radikalniji način, ako ništa drugo ne uspije, je instaliranje Windowsa za Sjedinjene Države.

Slijedite ove korake:

  1. Otvorite "Control Panel".

  2. Pronađite "Pristupačnost".

  3. Kliknite na vezu Pokreni prepoznavanje govora.

    Bitan! Ovdje su naši korisnici suočeni s problemom, pa kliknite na link s lijeve strane "Pretvaranje teksta u govor" i odmah idite na odjeljak ovog članka o tome kako promijeniti postavke prepoznavanja govora. Ako imate engleski sistemski interfejs, slobodno nastavite sa izvođenjem koraka praćenih snimcima ekrana na engleskom.

  4. Na stranici postavki kliknite na Next.
  5. Odaberite tip mikrofona koji ćete koristiti.

    Bilješka! Stolni mikrofoni nisu idealni, pa Microsoft preporučuje korištenje eksternog mikrofona ili namjenskih slušalica.

  6. Kliknite na Next. Ponovite radnju.

  7. Da biste testirali funkcionalnost instrumenta, pročitajte tekst naglas. Kliknite na Next. Ponovite radnju.

  8. Prepoznavanje govora ima pristup dokumentima i e-pošti. Ovo je neophodno kako bi se poboljšala tačnost prepoznavanja na osnovu riječi koje koristite. Odaberite opciju Omogući prikaz dokumenta ili je onemogućite ako imate problema s privatnošću. Kliknite na Next.

  9. Odaberite način aktivacije: koristite "Manual activation mode" - prepoznavanje govora onemogućuje komandu "Prekini slušanje". Da biste ga ponovo uključili, potrebno je da pritisnete dugme mikrofona ili koristite prečicu na tastaturi Ctrl + Win; ili „Glasovna aktivacija ». Alat za prepoznavanje ulazi u stanje mirovanja kada se ne koristi. Da biste ga ponovo uključili, morate pozvati glasovnu komandu "Počnite slušati". Kliknite na Next.

  10. Da biste saznali više o glasovnim komandama koje možete koristiti, kliknite na dugme Prikaži pomoć. Kliknite na Next.

  11. Opciono, možete odabrati opciju "Automatski pokreni funkciju prepoznavanja govora". Kliknite na Next.

  12. Da biste pristupili Microsoft vodiču, kliknite na dugme Započni obuku ili izaberite Preskoči. Konačno ćete završiti postavljanje.

Nakon što završite ove korake, spremni ste za korištenje funkcije prepoznavanja govora s glasovnim komandama. Kontrole se pojavljuju na vrhu ekrana.

Bilješka! Interfejs za prepoznavanje govora možete prevući i ispustiti bilo gdje na ekranu.

Kako trenirati prepoznavanje govora i poboljšati tačnost

Nakon završetka procesa obuke, alat za prepoznavanje govora bi trebao bolje razumjeti vaš glas.

Kako promijeniti postavke prepoznavanja govora

Ako trebate promijeniti neke parametre, slijedite ove korake:

Korak 1. Otvorite "Control Panel".

Korak 2. Kliknite na Pristupačnost.

Korak 3. Odaberite Prepoznavanje govora.

Korak 4. Kliknite na tekstualni link za više opcija govora u lijevom oknu.

Korak 5. U prozoru sa svojstvima, na kartici Prepoznavanje govora, možete prilagoditi različite komponente funkcije, uključujući:

Korak 6. Na kartici Pretvaranje teksta u govor možete upravljati postavkama glasa, uključujući:

Korak 7. Osim toga, uvijek možete desnom tipkom miša kliknuti kontekstni meni i pristupiti svim različitim funkcijama i postavkama alata za prepoznavanje govora.

Kako koristiti prepoznavanje govora u Windows 10

Uprkos malom procesu učenja, prepoznavanje govora koristi jasne i lako pamtljive komande. Na primjer, "Start" otvara odgovarajući meni, a "Prikaži radnu površinu" minimizira sve prozore.

Pomoću funkcije prepoznavanja govora možete izvršiti potrebne zadatke.

Pokretanje alata za prepoznavanje govora


Uključivanje i isključivanje

Da biste koristili ovu funkciju, ovisno o vašoj konfiguraciji, pritisnite dugme mikrofona ili recite "Počnite slušati".

Na isti način, možete ga isključiti tako što ćete reći „Stop“ ili pritiskom na dugme mikrofona.

Korištenje naredbi

Neke od najčešće korištenih naredbi su:

  • "otvoreno" (otvoreno)- pokreće aplikaciju nakon što pročita riječ "Otvori" iza koje slijedi naziv aplikacije. Na primjer, "Open Mail" ili "Open Firefox";
  • "Prebaciti na" (Prebaciti na)- prebacite se na drugu pokrenutu aplikaciju. Izgovorite naredbu "Switch" nakon čega slijedi naziv aplikacije. Na primjer, "Prebaci se na Microsoft Edge";
  • upravljanje otvorenim prozorima. Koristite komande Minimize, Maximize i Restore za kontrolu aktivnog prozora;
  • Scroll Omogućava vam da se krećete po stranici. Samo koristite komandu Scroll down ili Scroll up, Scroll lijevo ili Scroll desno. Može se odrediti i dugo pomicanje. Na primjer, recite: “Scroll down two pages”;
  • zatvaranje aplikacija (Zatvori). Izgovorite naredbu "Zatvori", a zatim naziv pokrenute aplikacije. Na primjer, "Zatvori riječ";
  • klikovi (Klik). Unutar aplikacije možete koristiti naredbu "Klikni" nakon koje slijedi naziv stavke. Na primjer, u Wordu možete reći "Izgled klika" i Prepoznavanje govora će otvoriti karticu "Izgled". Slično, možete koristiti komande Dvostruki ili Desni klik;
  • pritiskanje (pritisnuti)... Ova komanda pokreće prečice. Na primjer, da biste otvorili Akcioni centar, recite "Pritisnite Windows A".

Koristeći diktat

Prepoznavanje govora također uključuje mogućnost pretvaranja glasa u tekst pomoću funkcije diktata i radi automatski.


Microsoft pomoćnik zvani Cortana

Kako bi ispunio očekivanja korisnika i pokazao konkurentnost u odnosu na Apple, Google ili Amazon, Microsoft je predstavio vlastitu pametnu pomoćnicu, Cortanu.

U ranoj fazi smatran je jednim od najboljih umjetnih asistenata, ali je izgubio status nakon što je izgubio mobilnu verziju Microsofta u borbi s Androidom i iOS-om. Međutim, ovdje mislimo na Windows 10, tako da je Cortana još uvijek prilično održiv alat.

Nadamo se da će se vremenom poboljšati. Cortana je korisna ako želite da pokrenete računar bez ikakvih glasovnih komandi.

Evo kako ga omogućiti i konfigurirati za kasniju upotrebu na Windows 10:

  1. Kliknite na Start i otvorite Sve aplikacije.

  2. Pronađite Cortanu i otvorite je.

  3. Poništite prekidač za Koristi Cortanu. Kliknite na "Da" ili "Ne, hvala", u zavisnosti od toga da li želite da glasovni asistent prati vaše podatke (kako bi vas bolje upoznao) ili ne.

  4. Sada kada ste uključili Cortanu, pritisnite Windows + S ili kliknite na zupčanik na lijevoj strani.
  5. Uključite "Hey Cortana" i podesite mikrofon. Možete dozvoliti svom asistentu da odgovori kada neko kaže „Hej, Cortana“, ili ga možete dopustiti da odgovori samo na vaše glasovne komande.

  6. Izađite iz postavki i zatražite nešto od svog digitalnog asistenta.

  7. Potražite na Internetu listu dostupnih komandi i zadataka koje Cortana može izvršiti.

Video - Kako omogućiti Microsoft Cortana na Windows 10

Kolekcija programa trećih strana

Osim ugrađenog alata za prepoznavanje govora i glasovnog pomoćnika Cortana, neki korisnici mogu potražiti alternativu treće strane. Kako se ova kategorija softvera stalno razvija, na tržištu postoje različiti proizvodi koji su kompatibilni sa Windows 10. Pitanje su samo vaše potrebe i želje.

Neki od programa kao što su:

  • Typle je odličan program za kontrolu glasa na računaru, jednostavan interfejs na ruskom jeziku;
  • Dragon od proizvođača Nuance, specijaliziran za brzi diktat i govor u tekst općenito;
  • Voice Attack, dizajniran za glasovnu kontrolu igre (da, možete ponovo napuniti oružje u Call of Duty pomoću glasovne komande);
  • još jedan dobar uslužni program je VoxCommando. Najčešće se koristi u multimedijskim programima kao što su Kodi ili iTunes, ali može biti koristan i u kućnoj automatizaciji.

Glasovna kontrola računara pomoću tipke

  1. Preuzmite program i instalirajte ga na svoj računar prateći uputstva instalatera.

  2. Interfejs programa je jednostavan i jasan. Kada pozdravite, prozor programa sadrži savjete za korisnika. Prvo kliknite na dugme "Dodaj".

  3. U prozoru koji se otvori unesite svoje ime u polje, zatim unesite komandu, zatim kliknite na dugme za snimanje i izgovorite komandu svojim glasom. Kliknite na dugme Dodaj.

  4. Kliknite na dugme Dodaj.

  5. Označite traženu stavku. Odaberite program, pritisnite crveno dugme i izgovorite komandu naglas. Zatim kliknite na "Dodaj".

  6. Vidjet ćete kreiranu naredbu, da biste je testirali, kliknite na "Počni govoriti" i izgovorite ovu naredbu. Ako sve radi na isti način, dodajte ostale naredbe.

Isprobajte TalkTyper

To je online aplikacija koja vam omogućava da diktirate tekst, a zatim nudi neke osnovne opcije za ono što s njim učiniti. Ljubitelji minimalizma će se sigurno svidjeti.


Možete kopirati ono što pročitate u međuspremnik, poslati e-poštu, odštampati, tvitovati i prevesti na drugi jezik. Da biste preveli tekst, samo kliknite na dugme i izaberite jezik prevoda. TalkTyper će automatski otvoriti novu karticu u vašem pretraživaču sa tekstom zalijepljenim u Google Translate.

Obratite pažnju na Tazti

Tazti se izdvaja od ostalih programa sa dvije karakteristične karakteristike:

  • možete koristiti aplikaciju za kontrolu vašeg kompjutera i igrica glasovnim komandama. A ako Tazti nema tim koji želite, možete ga kreirati (i još 299);
  • program je sposoban za pokretanje instaliranih aplikacija, web stranica, direktorija ili korištenjem komandne linije.

Prilagodite Tazti kako god želite. Ako vam naredba nije potrebna, uredite je ili potpuno izbrišite. Možete čak dodati i naredbe za klik i dvostruki klik kako biste eliminirali potrebu za mišem.

Međutim, Tazti ima jedan veliki nedostatak - nema funkciju diktata teksta, pa stoga nije sposoban za prepoznavanje glasa. Developer Voice Tech Group prepoznaje da su drugi proizvodi mnogo bolji u rukovanju diktatom, pa je kompanija odlučila usredotočiti svoje napore na druge karakteristike svoje zamisli.

Tazti je više usmjeren prema igračima koji žele koristiti svoj glas za slanje likova u bitku ili onima koji više vole da pokreću programe, media playere i pretražuju web bez potrebe za tipkovnicom. Činjenica da možete kontrolirati važne dijelove Windows-a pomoću Tazti-ja čini ga dostojnim protivnikom za gore navedene aplikacije, čak i ako ne nudi diktat.

Bitan! Program ima probni period od 15 dana. Nakon toga morate platiti 40 dolara.

Dakle, ako prepoznavanje govora ili Cortana ne ispunjavaju vaše zahtjeve (ili ih jednostavno ne možete koristiti), isprobajte gore navedene uslužne programe.

Video - Pregled tipova programa

Koji štreber ne sanja da kontroliše kompjuter sa kauča samo pokretima i glasovnim komandama? Čudno, ovo je već moguće. A u vrlo bliskoj budućnosti, svaka druga osoba će odmahnuti rukom ispred monitora. Članak govori o nekoliko metoda i kratkoročnim perspektivama.

Upravljanje glasom na Windows-u

Počnimo sa besplatnim softverom koji vam omogućava da kontrolišete računar koristeći ruski. Biće ga moguće nagovoriti da otvori programe, izvrši neke radnje i tako dalje. I vaše ruke će biti slobodne za važnije stvari.

Tip

Ovaj program je vodeći među programima koji vam omogućavaju da upravljate računarom na svom maternjem ruskom jeziku. Nakon instalacije, morat ćete kreirati korisnika i smisliti ključnu riječ poput "Ok, Windows", iako se savjetuje da koristite riječ "Open". Sa njim počinjemo da razgovaramo, postoji poznata implementacija u Google Glasses.

Zatim biramo komande za korisnika. Možete dodati samo pokretanje bilo kojeg programa, a kada kliknete, dodatno sami odaberite program i dodajte argument. Možda će, ako nešto dodate u pokretanje programa, biti akcija. Ali općenito, običan korisnik neće moći u potpunosti kontrolirati računalo, nema pauza ili sljedeće pjesme, samo pokrenite i pokrenite.

Kontrolisanje pokreta na računaru

Još od pojave PlayStation®Eye kamere i kinect-a, ljudi su željeli istu funkcionalnost na računaru. Kasnije je Kinect čak počeo da se prodaje programerima, ali za opšte korisnike takav proizvod nije bio najavljen. Čak postoje vijesti da Kinect 2.0 sa Xbox One neće raditi na računalu, ali će biti objavljena posebna verzija Kinect-a za PC. Istina, bez odgovarajućeg softvera, malo je koristi od toga. Dakle, pređimo na sam softver.

Najpopularniji i pristupačniji način kontrole pokreta je Flutter program i odgovarajuća ekstenzija za Chrome. Gotovo svaka web kamera će raditi s ovim programom.

Ima dosta funkcija, ali rade jako dobro. Možemo zastati i nastaviti pokazivati ​​dlan. Prebacite numere ili video zapise ulijevo ili udesno, ovisno o tome gdje upirete prst. Program radi u PowerPointu, VLC-u, Winampu, iTunes-u, YouTube-u i nekoliko drugih servisa koje ovdje malo tko koristi.

Za pravilan rad, poželjno je biti na udaljenosti od web kamere, ali ne nasumično. Ispostavilo se da je laganje mnogo lošija kontrola od uspravnog sedenja. Lično koristim YouTube samo kada su mi ruke prljave i udobne, ili kada ležim. Još nije bilo povremenih kretanja. Ali ipak ima grešaka kada samo sjediš i mašeš rukama ispred monitora kao potpuni idiot.

Sigurno je da će Flutter uskoro dobiti punu podršku za Chrome, jer je startup kupio Google u oktobru 2013. godine.

Skočni pokret

Pređimo sa softvera na uređaje. Leap Motion uliva samopouzdanje svojim malim izgledom i ogromnom količinom potencijala. Ova stvar definira ruke korisnika, odnosno čak svaki prst. Vaša vlastita trgovina s gomilom aplikacija i igrica ne dopušta vam da dosadite. I što je najvažnije, već je u prodaji i košta oko 5.000 rubalja. Nije mnogo za tu vrstu magije.

Ali, zapravo, ovdje ima mnogo nedostataka. Na Habréu su se vodile rasprave, pa čak i mišljenje jednog od korisnika. Ruke uvijek treba držati sa ručnim zglobom iznad uređaja, mislite li da je to lako? Ostavite da djeluje 5 minuta.

Što se tiče aplikacija, postoji i veliki minus u tome što sve besplatne bugve i ruše. A igrice su gomila neshvatljivih LSD putovanja. I nezgodno je rukovati, preciznost igra u suprotnom smjeru i svaki pogrešan pokret ruke dovodi do nepredviđenih posljedica.

A sam drajver za Leap Motion će potrošiti skoro sve vaše resurse na vašem računaru. Ali ako vas to ne zaustavi, kupite, kao i uvijek, u kancelariji. site. Čak je i na ruskom.

DUO 3D

Postoji i slična tehnologija ruskih programera. Uzeli su samo dvije Eye kamere, napisali softver i napravili kickstarter kompaniju. Nažalost, neuspjeh. Prikupljeno je 62.000 dolara od planiranih 110.000 dolara. Šteta, pogotovo što ovaj novac neće ni dobiti, jer moraju sve da skupe da urade.

Sada su uređaji čak i u slobodnoj prodaji, ali nadamo se da se ovakav razvoj naših ljudi neće tek tako izgubiti.

Myo

Hajde, ko nije čuo za Myo. Narukvica koja detektuje pokrete ne pomoću kamere, kao kod konkurenata, već prepoznavanjem pokreta mišića. Predivan video i neverovatne prilike osvojile su sve, pa i mene. Čim narukvica bude u prodaji, budu poznate aplikacije i sve integracije, pojavit će se recenzije, onda ću kupiti ovu divnu stvar.

Sada se narukvica može unaprijed naručiti za 150 dolara, ali se bojim dobiti sirovu verziju.

Upravljanje računarom preko web kamere na laptopu

Danas proizvođači laptopa vole da eksperimentišu sa kontrolom pokreta. PointGrab je napredovao u ovoj oblasti, njihova konceptualna umjetnost je prilično optimistična.

Proizvode ove kompanije koristi Acer. A Lenovo će, na osnovu ovih razvoja, napraviti sopstveni Motion Control 2.0.

A u septembru 2013. godine, Intel je najavio nove prijenosne računare s glasovnom kontrolom, kontrolom pokreta, kontrolom dodirom, a prije ovog ljeta kompanija je kupila izraelski startup Omek.

Da vidimo šta će biti od svega. Odnedavno imam vječni osjećaj da je budućnost pred vratima i da je ovakva već nekoliko godina. Možete dopuniti moj materijal svojim znanjem, možda postoje neki drugi uređaji ili metode koje je također vrijedilo spomenuti?

Jedan čovjek mi se obratio sa zahtjevom da napišem program koji bi omogućio kontrolu kompjuterskog miša njegovim glasom. Tada nisam mogao ni da zamislim da, skoro potpuno paralizovana osoba koja ne može ni sama da okrene glavu, već može samo da priča, u stanju je da razvija energičnu aktivnost, pomaže sebi i drugima da žive aktivnim životom, stiče nova znanja i veštine, radi i zarađivati ​​novac, komunicirati sa drugim ljudima širom svijeta, učestvovati u natjecanju društvenih projekata.

Dozvolite mi da ovdje citiram nekoliko linkova na stranice, čiji je autor i/ili idejni inspirator ova osoba - Alexander Makarchuk iz grada Borisova, Bjelorusija:

Za rad na kompjuteru, Alexander je koristio program Vocal Joystick, razvoj studenata Univerziteta Washington State koji finansira Nacionalna naučna fondacija (NSF). Vidi melodi.ee.washington.edu/vj

Nisam mogao odoljeti

Inače, na sajtu univerziteta (http://www.washington.edu/) 90% članaka je o novcu. Teško je pronaći bilo šta o naučnom radu. Evo, na primjer, odlomaka sa prve stranice: „Tom, diplomirani fakultet, jeo je pečurke i jedva je plaćao stanarinu. Sada je viši menadžer IT kompanije i pozajmljuje novac univerzitetu", "Bigi podaci pomažu beskućnicima", "Kompanija se obavezala da će platiti 5 miliona dolara za novu akademsku zgradu."

Boli li me samo oko?


Program je napravljen 2005-2009 i dobro je radio na Windows XP-u. U novijim verzijama Windowsa, program se može zamrznuti, što je neprihvatljivo za osobu koja ne može ustati sa stolice i ponovo je pokrenuti. Stoga je program morao biti prerađen.

Izvornih tekstova nema, postoje samo pojedinačne publikacije koje otkrivaju tehnologije na kojima se zasniva (MFCC, MLP - o tome čitajte u drugom dijelu).

Napisan je novi program na sliku i priliku (oko tri mjeseca).

Zapravo, možete vidjeti kako to funkcionira:

Možete preuzeti program i/ili vidjeti izvorne kodove.

Ne morate izvoditi nikakve posebne korake da biste instalirali program, samo kliknite na njega i pokrenite ga. Jedina stvar, u nekim slučajevima je potrebno da se pokrene kao administrator (na primjer, kada radite s virtualnom tastaturom "Comfort Keys Pro"):

Možda je ovdje vrijedno spomenuti i druge stvari koje sam prethodno radio da bih mogao kontrolirati računar bez ruku.

Ako imate mogućnost okretanja glave, žiroskop na glavi je dobra alternativa eViacam-u. Dobićete brzo i precizno pozicioniranje kursora i nezavisnost od osvetljenja.

Ako možete pomicati samo zjenice očiju, onda možete koristiti gaze tracker i program za njega (može biti teško ako nosite naočale).

Dio II. Kako to radi?

Iz objavljenog materijala o programu Vocal Joystick poznato je da on radi na sljedeći način:
  1. Rezanje audio toka u okvire od 25 milisekundi sa preklapanjem od 10 milisekundi
  2. Dobivanje 13 cepstral koeficijenata (MFCC) za svaki okvir
  3. Provjera da se jedan od 6 memorisanih glasova (4 samoglasnika i 2 suglasnika) izgovara višeslojnim perceptronom (MLP)
  4. Dovođenje pronađenih zvukova u pokret / klikove mišem
Prvi zadatak je izuzetan samo po tome što su za njegovo rješavanje u realnom vremenu morala biti unesena tri dodatna toka u program, jer se očitavanje podataka s mikrofona, obrada zvuka i reprodukcija zvuka preko zvučne kartice odvijaju asinhrono.

Potonji zadatak se jednostavno implementira pomoću funkcije SendInput.

Najzanimljiviji, čini mi se, su drugi i treći zadatak. Dakle.

Problem broj 2. Dobivanje 13 kepstralnih koeficijenata

Ako neko nije u temi - glavni problem kompjuterskog prepoznavanja zvukova je sljedeći: teško je uporediti dva zvuka, jer dva zvučna talasa koja su različita u obrisu mogu zvučati slično sa stanovišta ljudske percepcije.

A među onima koji se bave prepoznavanjem govora, traga se za "kamenom filozofa" - skupom karakteristika koje bi nedvosmisleno klasificirale zvučni val.

Od znakova koji su dostupni široj javnosti i opisani u udžbenicima, najčešći su takozvani kepstralni koeficijenti krede frekvencije (MFCC).

Njihova povijest je takva da su u početku bili namijenjeni za nešto sasvim drugo, naime, za suzbijanje eha u signalu (informativni članak o ovoj temi napisali su uvaženi Oppenheim i Schafer, neka radost bude u domovima ovih plemenitih ljudi. Vidi AV Oppenheim i RW Schafer, “Od frekvencije do kvefrencije: Istorija Cepstruma”).

Ali osoba je dizajnirana na takav način da je sklona bolje koristiti ono što mu je poznato. A oni koji su se bavili govornim signalima došli su na ideju da koriste gotov kompaktni prikaz signala u obliku MFCC-a. Ispostavilo se da, općenito, funkcionira. (Moj poznanik, specijalista za ventilacione sisteme, kada sam ga pitao kako da napravim vikendicu, predložio mi je korišćenje ventilacionih kanala. Jednostavno zato što ih poznaje bolje od drugih građevinskih materijala).

Da li su MFCC-i dobar klasifikator zvukova? ne bih rekao. Isti zvuk, koji ja izgovaram u različitim mikrofonima, spada u različite oblasti prostora MFCC koeficijenata, a idealan klasifikator bi ih nacrtao jedan pored drugog. Stoga, posebno kada mijenjate mikrofon, morate ponovo naučiti program.

Ovo je samo jedna od projekcija 13-dimenzionalnog prostora MFCC-a u 3-dimenzionalni, ali pokazuje na šta mislim - crvene, ljubičaste i plave tačke se dobijaju iz različitih mikrofona: (Plantronix, ugrađeni mikrofonski niz, Jabra), ali zvuk se izgovarao sam.

Međutim, kako ne mogu ponuditi ništa bolje, koristit ću i standardnu ​​tehniku ​​- izračunavanje MFCC koeficijenata.

Da se ne bi pogriješili u implementaciji, u prvim verzijama programa kao osnova je korišten kod iz poznatog CMU Sphinx programa, tačnije njegova implementacija u C, nazvana pocketsphinx, razvijena na Univerzitetu Carnegie Mellon. (mir sa obojicom! (C) Hottabych).

Izvorni kodovi pocketsphinxa su otvorenog koda, ali loša sreća - ako ih koristite, morate napisati tekst u svom programu (i u izvornom kodu i u izvršnom modulu) koji sadrži, između ostalog, sljedeće:

* Ovaj rad je djelimično podržan sredstvima Agencije za napredne odbrambene * istraživačke projekte i Nacionalne naučne fondacije * Sjedinjenih Američkih Država i CMU Sphinx Speech Consortium.
Ovo mi se činilo neprihvatljivim i morao sam da prepišem kod. To je uticalo na performanse programa (na bolje, usput rečeno, iako je "čitljivost" koda donekle patila). Uglavnom zahvaljujući korišćenju biblioteka "Intel Performance Primitives", ali sam i sam optimizovao nekoliko stvari, poput MEL filtera. Ipak, provjera testnih podataka pokazala je da su dobiveni MFCC koeficijenti potpuno slični onima dobivenim korištenjem, na primjer, uslužnog programa sphinx_fe.

U sphinxbase programima, MFCC koeficijenti se izračunavaju u sljedećim koracima:

Korak Funkcija Sphinxbase Suština operacije
1 fe_pre_emphasis Većina prethodnog brojanja oduzima se od trenutnog uzorka (na primjer, 0,97 od njegove vrijednosti). Primitivni niskopropusni filter.
2 fe_hamming_window Hamingov prozor - uvodi bledenje na početku i na kraju kadra
3 fe_fft_real Brza Fourierova transformacija
4 fe_spec2magnitude Iz normalnog spektra dobijamo spektar snage, gubi fazu
5 fe_mel_spec Grupiramo frekvencije spektra [na primjer, 256 komada] u 40 hrpa koristeći MEL skalu i težinske faktore
6 fe_mel_cep Uzmite logaritam i primijenite DCT2 transformaciju na 40 vrijednosti iz prethodnog koraka.
Ostavite prvih 13 vrijednosti u rezultatu.
Postoji nekoliko varijanti DCT2 (HTK, legacy, classic), koje se razlikuju po konstanti kojom dijelimo dobijene koeficijente, te posebnoj konstanti za nulti koeficijent. Možete odabrati bilo koju opciju, to neće promijeniti suštinu.

Ovi koraci također uključuju funkcije koje vam omogućavaju da odvojite signal od buke i od tišine, kao što su fe_track_snr, fe_vad_hangover, ali nam ne trebaju i neće nas ometati.

Napravljene su sljedeće zamjene za korake za dobijanje MFCC koeficijenata:

Problem broj 3. Provjera da se izgovara jedan od 6 memorisanih zvukova

Originalni program "Vocal Joystick" koristio je višeslojni perceptron (MLP) za klasifikaciju - neuronsku mrežu bez novonastalih zvona i zviždaljki.

Da vidimo koliko je ovdje opravdana upotreba neuronske mreže.

Prisjetimo se što neuroni rade u umjetnim neuronskim mrežama.

Ako neuron ima N ulaza, tada neuron dijeli N-dimenzionalni prostor na pola. Seci sa hiperravninom bekhendom. Istovremeno, u jednoj polovini prostora radi (daje pozitivan odgovor), au drugoj polovini ne radi.

Pogledajmo [praktički] najjednostavniju opciju - neuron sa dva ulaza. On će prirodno prepoloviti dvodimenzionalni prostor.

Neka se na ulaz unesu vrijednosti X1 i X2, koje neuron množi sa težinskim koeficijentima W1 i W2 i dodaje slobodni član C.


Ukupno, na izlazu neurona (označavamo ga sa Y) dobijamo:

Y = X1 * W1 + X2 * W2 + C

(za sada izostavimo suptilnosti o sigmoidnim funkcijama)

Pretpostavljamo da se neuron aktivira kada je Y> 0. Prava linija data jednadžbom 0 = X1 * W1 + X2 * W2 + C samo dijeli prostor na dio gdje je Y> 0 i dio gdje je Y<0.

Ilustrujmo ono što je rečeno konkretnim brojevima.

Neka je W1 = 1, W2 = 1, C = -5;

Sada da vidimo kako možemo organizirati neuronsku mrežu koja bi radila na određenom području prostora, relativno govoreći - spot, a ne bi radila na svim drugim mjestima.

Sa slike se može vidjeti da su nam za ocrtavanje područja u dvodimenzionalnom prostoru potrebne najmanje 3 ravne linije, odnosno 3 neurona povezana s njima.

Povezat ćemo ova tri neurona zajedno koristeći još jedan sloj, čime ćemo dobiti višeslojnu neuronsku mrežu (MLP).

A ako nam je potrebna neuronska mreža da radi u dva područja prostora, onda su nam potrebna još najmanje tri neurona (4,5,6 na slikama):

I ovdje ne možete bez trećeg sloja:

A treći sloj je skoro duboko učenje...

Sada se okrenimo drugom primjeru za pomoć. Neka naša neuronska mreža proizvede pozitivan odgovor na crvene tačke, a negativan - na plave tačke.

Da se od mene traži da odsečem crvenu od plave ravnim linijama, uradio bih to otprilike ovako:

Ali neuronska mreža a priori ne zna koliko će pravih linija (neurona) trebati. Ovaj parametar se mora postaviti prije obuke mreže. A osoba to radi na osnovu ... intuicije ili pokušaja i grešaka.

Ako odaberemo premalo neurona u prvom sloju (tri, na primjer), onda možemo dobiti takav rez koji će dati puno grešaka (pogrešno područje je zasjenjeno):

Ali čak i ako je broj neurona dovoljan, kao rezultat treninga, mreža možda neće "konvergirati", odnosno dostići određeno stabilno stanje, daleko od optimalnog, kada je postotak grešaka visok. Kao i ovdje, gornja prečka se smjestila na dvije grbe i neće ih nigdje ostaviti. A ispod je veliko područje koje stvara greške:

Opet, mogućnost ovakvih slučajeva zavisi od početnih uslova treninga i redosleda treninga, odnosno od slučajnih faktora:

- Šta mislite šta će taj točak stići, ako se desi, do Moskve ili ne?
- Šta mislite, hoće li se enta neuronska mreža konvergirati ili ne?

Postoji još jedan neugodan trenutak vezan za neuronske mreže. Njihova "zaboravnost".

Ako počnete hraniti mreže samo plavim tačkama, a prestanete hraniti crvene, onda ona može mirno zgrabiti dio crvene površine za sebe, pomjerajući svoje granice tamo:

Ako neuronske mreže imaju toliko nedostataka, a osoba može povući granice mnogo efikasnije od neuronske mreže, zašto ih uopće koristiti?

I postoji jedan mali, ali vrlo važan detalj.

Mogu vrlo dobro odvojiti crveno srce od plave pozadine po segmentima linija u dvodimenzionalnom prostoru.

Mogu dobro odvojiti ravni kipa Venere od okolnog trodimenzionalnog prostora.

Ali u četvorodimenzionalnom prostoru ne mogu ništa da uradim, izvini. I još više u 13-dimenzionalnoj.

Ali za neuronsku mrežu, dimenzija prostora nije prepreka. Smijao sam joj se u niskodimenzionalnim prostorima, ali čim sam otišao dalje od uobičajenog, lako me je uhvatila.

Ipak, pitanje je i dalje otvoreno – koliko je opravdana upotreba neuronske mreže u ovom konkretnom zadatku, s obzirom na gore navedene nedostatke neuronskih mreža.

Zaboravimo na trenutak da su naši MFCC koeficijenti u 13-dimenzionalnom prostoru, i zamislimo da su dvodimenzionalni, odnosno tačke na ravni. Kako bi se u ovom slučaju jedan zvuk mogao odvojiti od drugog?

Neka MFCC tačke zvuka 1 imaju standardnu ​​devijaciju R1, što [otprilike] znači da su tačke koje ne odstupaju previše od srednje vrednosti, najkarakterističnije tačke, unutar kruga poluprečnika R1. Isto tako, tačke kojima vjerujemo za zvuk 2 nalaze se unutar kruga polumjera R2.

Pažnja, pitanje: gdje povući pravu liniju koja bi najbolje odvojila zvuk 1 od zvuka 2?

Odgovor se nameće sam od sebe: u sredini između granica krugova. Ima li primjedbi? Nema prigovora.
Ispravka: U programu ova granica dijeli segment koji povezuje centre krugova u omjeru R1: R2, pa je ispravnije.

I na kraju, ne zaboravimo da negdje u svemiru postoji tačka koja predstavlja potpunu tišinu u MFCC prostoru. Ne, ovo nije 13 nula, kako se čini. Ovo je jedna tačka koja ne može imati standardnu ​​devijaciju. A ravne linije kojima smo ga odsjekli od naša tri zvuka mogu se povući direktno duž granica krugova:

Na donjoj slici svaki zvuk odgovara komadu prostora svoje boje i uvijek možemo reći kojem zvuku pripada ova ili ona tačka u prostoru (ili se ne odnosi ni na jednu):

Pa, dobro, sada se prisjetimo da je prostor 13-dimenzionalan, a ono što je bilo dobro crtati na papiru, sada se ispostavilo da je nešto što se ne uklapa u ljudski mozak.

Tako, ali nije tako. Srećom, u prostoru bilo koje dimenzije ostaju koncepti kao što su tačka, linija, [hiper] ravan, [hiper] sfera.

Ponavljamo sve iste radnje u 13-dimenzionalnom prostoru: pronađemo varijansu, odredimo poluprečnike [hiper] sfera, povežemo njihova središta ravnom linijom, presečemo je [hiper] ravninom u tački jednako udaljenoj od granice [hiper] sfera.

Nijedna neuronska mreža ne može ispravnije odvojiti jedan zvuk od drugog.

Ovdje, međutim, treba napraviti rezervu. Sve je to tačno ako je informacija o zvuku oblak tačaka koje podjednako odstupaju od prosjeka u svim smjerovima, odnosno dobro se uklapaju u hipersferu. Da je ovaj oblak složenog oblika, na primjer, 13-dimenzionalna zakrivljena kobasica, onda sva gornja razmišljanja ne bi bila tačna. I možda bi, uz odgovarajuću obuku, neuronska mreža ovdje mogla pokazati svoje prednosti.

Ali ne bih rizikovao. I primenio bih, na primer, skupove normalnih distribucija (GMM), (što se, inače, radi u CMU Sphinx). Uvijek je ljepše kada shvatite koji je algoritam doveo do rezultata. A ne kao u neuronskoj mreži: Oracle, na osnovu svojih mnogo sati kuhanja bujona iz podataka o obuci, naređuje vam da odlučite da je traženi zvuk zvuk #3. (Posebno me nervira kada kontrolu nad automobilom pokušavaju povjeriti neuronskoj mreži. Kako onda, u nestandardnoj situaciji, razumjeti zašto je auto skrenuo lijevo, a ne desno? Svemogući Neuron je komandovao?).

Ali skupovi normalnih distribucija su već zasebna velika tema, koja je izvan okvira ovog članka.

Nadam se da vam je ovaj članak bio od pomoći i/ili da je vaš gyrus škripao.

Čak i prije izlaska Cortana interfejsa za Windows 10, koji je u razvoju, testiranju i otklanjanju grešaka, korisnici su pokušali da organizuju glasovnu kontrolu računara. Kako se takva funkcija može implementirati u Windows koji je izašao prije 10, bit će razmotreno u današnjem članku.

Cortana

Cortana je glasovni asistent s AI-om koji je razvio Microsoft za Windows 10, telefon i Android, s daljnjim proširenjem na XBox i iOS. Zamjenjuje klasični string za pretraživanje i izvodi mnoge radnje, prvenstveno vezane za traženje informacija i sistemske komande, primajući ih od korisnika u obliku glasovnih komandi. Duboka integracija u Windows 10, odsustvo ruskog jezika (do sada), prikupljanje gotovo svih informacija o korisniku poslanih na Microsoftove servere i odsustvo konačne verzije ne dozvoljavaju većini korisnika da steknu potpunu vlastitu glasovnu kontrolu kompjuter.

Pored Cortane, postoje mnoge aplikacije koje vam omogućavaju da kontrolišete svoj računar putem glasovnih komandi korisnika. Pogledajmo najčešće proizvode za rješavanje ovog problema u Windowsima 7 i 10.

Tip

Aplikacija zauzima vodeću poziciju među korisnicima ruskog govornog područja koji žele da upravljaju računarom svojim glasom. Uslužni program će lako zamijeniti značajan dio funkcija Cortane na Windows 10, a na "sedam" će dodati funkciju koja se često prikazuje u filmovima u kojima ljudi upravljaju kompjuterima koristeći svoj glas.

Prije početka rada kreirajte račun i smislite ključnu frazu, nakon što čujete koju se aplikacija aktivira. Zatim postavljamo glasovnu komandu za upravljanje računarom ili izvođenje određene radnje i dodjeljujemo mu operaciju (pokretanje aplikacije, odlazak na određenu lokaciju). U prozoru za uređivanje kreiranih naredbi postaje moguće podesiti parametre s kojima će se aplikacija pokrenuti i odrediti način pokretanja (cijeli ekran, prozorski).

Funkcionalnost uslužnog programa je veoma ograničena, a interfejs je daleko od Metro stila implementiranog u Windows 10. Punopravna glasovna kontrola na računaru preko Typle-a se ne može implementirati: podržava samo otvaranje datoteka, aplikacija (sa argumentima) i praćenje unapred definisanih veza. Ne postoji čak ni podrška za upravljanje plejerom (pauza, početak sledeće numere).

Zvučnik

  • pravljenje snimaka ekrana stanja ekrana;
  • prebacivanje rasporeda tastature;
  • gašenje Windows 7;
  • pokretanje aplikacije;
  • otvaranje fajla.

Proces čitanja i prepoznavanja informacija koje dolaze na mikrofon počinje nakon pritiska na navedeni taster (bolje je izabrati dugme koje najmanje ređe koristite kako biste izbegli lažne alarme programa). Potrebno je puno vremena za obradu, prepoznavanje govora i izvršenje naredbe - 5 ili više sekundi nego što morate platiti za jeftinoću. Ključne riječi se postavljaju tekstom, a ne riječima, pa se prepoznati govor poredi sa unesenim tekstom, što je daleko od idealnog. U aplikaciji nema kontrole igrača.

Gorynych

Programeri softverskog paketa za upravljanje računarom sa Windows 7 i 10 prvi su ruski tim koji je objavio aplikaciju za rešavanje ovakvih problema. Za jezgro aplikacije uzet je zapadni "Dragon Dictate", gdje je uveden domaći softverski modul za prepoznavanje ruskog govora.

Top srodni članci