Kako narediti prepoznavanje govora. Najboljši program za prepoznavanje ruskega govora

Storitev SendPulse je marketinško orodje za ustvarjanje naročniške baze in pretvorbo naključnih obiskovalcev vaše strani v običajne. SendPulse združuje najpomembnejše funkcije za privabljanje in ohranjanje strank na eni platformi:
● e-novice,
● web-push,
● SMS sporočila,
● SMTP,
● pošiljanje v Viberju,
● pošiljanje sporočil v Facebook Messenger.

E-novice

Za pošiljanje e-novic lahko uporabite različne tarife, vključno z brezplačnimi. Brezplačni načrt ima omejitve: naročniška baza ne presega 2500.
Prva stvar, s katero morate začeti pri delu z e-poštno storitvijo, je ustvariti svojo lastno imenik. Nastavite naslov in naložite seznam e-poštnih naslovov.


SendPulse olajša ustvarjanje naročniške obrazce v obliki pojavnega okna, vdelanih obrazcev, lebdečih in pritrjenih na določenem delu zaslona. S pomočjo naročnin boste zbrali bazo naročnikov iz nič ali jo dopolnili z novimi naslovi.
V graditelju obrazcev lahko ustvarite točno tisto naročnino, ki najbolj ustreza vašim potrebam, nasveti storitve pa vam bodo pomagali pri tem opravilu. Možna je tudi uporaba enega od razpoložljivih že pripravljenih obrazcev.


Pri izdelavi naročnin je obvezna uporaba elektronske pošte s korporativno domeno. Preberite, kako.
Predloge sporočil bo pomagal lepo oblikovati vaša pisma naročnikom. Svojo predlogo črk lahko ustvarite v posebnem konstruktorju.


Avtomatsko pošiljanje. Upravljavci vsebin aktivno uporabljajo samodejno distribucijo. Pomaga avtomatizirati proces dela s strankami. Avtomatski pošiljatelj lahko ustvarite na več načinov:
Zaporedna serija črk. To je najpreprostejša možnost, ko je ne glede na pogoje napisanih več pisem, ki bodo poslana prejemnikom v določenem vrstnem redu. Tukaj so morda možnosti - serija sporočil(preprosta veriga sporočil), poseben datum(pisma so časovno omejena na določene datume), sprožilno pismo- pismo se pošlje glede na dejanja naročnika (odpiranje sporočila itd.).
Avtomatizacija360– pošiljanje po pošti z določenimi filtri in pogoji ter upoštevanjem konverzij.
Končane verige po predlogi. Ustvarite lahko serijo črk na podlagi dane predloge ali pa spremenite predlogo in jo prilagodite svojim potrebam.
A/B testiranje vam bo pomagal preizkusiti različne možnosti za pošiljanje niza e-poštnih sporočil in določiti najboljšo možnost za odprtja ali prehode.

Pošiljanje potisnih obvestil

Push-mailing je naročnina v oknu brskalnika, je nekakšna zamenjava za rss-naročnine. Spletne potisne tehnologije so hitro vstopile v naša življenja in že zdaj je težko najti spletno stran, ki ne uporablja potisnih sporočil za privabljanje in ohranjanje strank. Zahtevajte skript za , lahko ročno pošiljate e-pošto in ustvarite samodejno oddajanje tako, da ustvarite niz e-poštnih sporočil ali zbirate podatke iz RSS. Druga možnost pomeni, da bo po pojavu novega članka na vašem spletnem mestu vašim naročnikom samodejno poslano obvestilo s kratkim obvestilom.


Novo iz pošiljanjautrip– zdaj lahko svoje spletno mesto monetizirate s potisnimi obvestili, tako da vanje vdelate oglase. Ko dosežete 10 $, se vsak ponedeljek izvedejo plačila na enega od plačilnih sistemov - Visa / mastercard, PayPal ali Webmoney.
Potisna sporočila v storitvi so popolnoma brezplačna. Plača se samo za White Label - pošiljanje brez omembe storitve SendPulse, če pa vas logotip storitve ne moti, lahko brez omejitev uporabljate potisna obvestila brezplačno.

SMTP

Funkcija SMTP ščiti vaš poštni seznam pred črnim seznamom z uporabo belih naslovov IP. Tehnologiji kriptografskega podpisa DKIM in SPF, ki se uporabljata v poštnih sporočilih SendPulse, povečata verodostojnost e-poštnih sporočil, ki jih pošiljate, zaradi česar je manj verjetno, da bodo vaša e-poštna sporočila končala v neželeni pošti ali na črni listi.

Facebook messenger roboti

Facebook chatbot je v beta testiranju. Lahko ga povežete s svojo stranjo in pošiljate sporočila naročnikom.

Pošiljanje SMS-a

Prek storitve SendPulse je enostavno pošiljanje e-pošte v bazo telefonskih številk. Najprej morate ustvariti imenik s seznamom telefonskih številk. Če želite to narediti, izberite razdelek »Imenik«, ustvarite nov imenik, naložite telefonske številke. Zdaj lahko ustvarite poštni seznam SMS za to zbirko podatkov. Cena pošiljanja SMS se razlikuje glede na telekomunikacijske operaterje prejemnikov in v povprečju znaša od 1,26 rublja do 2,55 rublja za 1 poslano SMS.

Partnerski program

SendPulse izvaja pridruženi program, v katerem vam bo registriran uporabnik, ki uporablja vašo povezavo in je plačal tarifo, prinesel 4.000 rubljev. Povabljeni uporabnik prejme popust v višini 4000 rubljev za prvih 5 mesecev uporabe storitve.

Telefonski podnapis za gluhe in naglušne

Spremenite svoj zaslon v čudovito glavo telefona. Je popolnoma samodejen, brez tipkarjev, ki bi tipkali vaše pogovore. Se vam stari starši težko slišijo z družino in prijatelji po telefonu? Vklopite jim Speechlogger in nehajte kričati po telefonu. Preprosto povežite zvočni izhod telefona z zvočnim vhodom računalnika in zaženite Speechlogger. Uporaben je tudi pri interakcijah iz oči v oči.

Samodejni prepis

Ste posneli intervju? Prihranite nekaj časa tako, da ga prepišete iz Googlovega samodejnega govora v besedilo, ki ga v vaš brskalnik prinese Speechlogger. Predvajajte posneti intervju v mikrofon (ali linijo) vašega računalnika in pustite, da govorni zapisovalnik naredi prepis. Speechlogger shrani prepis besedila skupaj z datumom, uro in vašimi komentarji. Omogoča tudi urejanje besedila. Telefonske pogovore je mogoče prepisati na enak način. Zvočne datoteke lahko posnamete tudi neposredno iz računalnika, kot je opisano spodaj.

Avtomatski tolmač in prevajalec

Srečanje s tujimi gosti? S seboj prinesite prenosni računalnik (ali dva) z govornim zapisovalcem in mikrofonom. Vsaka stran bo videla izgovorjene besede druge strani prevedene v svoj jezik v realnem času. Prav tako je koristno telefonirati v tujem jeziku, da se prepričate, da popolnoma razumete drugo stran. Povežite zvočni izhod telefona z linijskim vhodom računalnika in zaženite Speechlogger.

Naučite se tujih jezikov in izboljšajte svoje sposobnosti izgovorjave

Speechlogger je odlično orodje za učenje jezikov in ga je mogoče uporabljati na več načinov. Uporabite ga lahko za učenje besedišča tako, da govorite svoj materni jezik in dovolite programski opremi, da ga prevede. Pravilne izgovorjave se lahko naučite in vadite tako, da govorite tuji jezik in preverite, ali Speechlogger razume ali ne. Če je besedilo prepisano v črni pisavi, pomeni, da ste ga dobro izgovorili.

Generiranje filmskih podnapisov

Speechlogger lahko samodejno snema filme ali druge zvočne datoteke. Nato vzemite datoteko in jo samodejno prevedite v kateri koli jezik, da ustvarite mednarodne podnapise.

Narekujte namesto tipkanja

Pisanje pisma? Dokumenti? Seznami? Povzetek? Karkoli morate vnesti, poskusite namesto tega narekovati Speechloggerju. Speechlogger ga bo samodejno shranil namesto vas in vam omogočil izvoz v dokument.

Smešna igra :)

Ali lahko posnemate kitajščino? francosko? Kaj pa ruščina? Poskusite posnemati tuji jezik in si oglejte, kaj ste pravkar povedali s programom Speechlogger. Uporabite simultani prevod Speechloggerja, da boste razumeli, kaj ste pravkar rekli. Dosezite neverjetne rezultate – zelo je zabavno!

Na Facebooku so nas vprašali:
»Za delo z besedilom moram prepisati 3 ure zvočnega posnetka. Poskušal sem naložiti zvočno datoteko s sliko na YouTube in uporabiti njihov prepisovalnik besedil, vendar se je izkazalo za nekakšno abrakadabro. Mi lahko prosim poveste, kako to tehnično rešiti? Hvala vam!
Aleksander Konovalov»

Alexander, obstaja preprosta tehnična rešitev - vendar bo rezultat odvisen izključno od kakovosti vašega posnetka. Naj pojasnim, o kakšni kvaliteti govorim.

V zadnjih letih so ruske tehnologije za prepoznavanje govora zelo napredovale. Odstotek napak pri prepoznavanju se je zmanjšal na tolikšno raven, da je postalo lažje "izgovoriti" drugo besedilo v posebni mobilni aplikaciji ali internetni storitvi, ročno popravljati posamezne "napake" - kot vtipkati celotno besedilo na tipkovnici.

A da bi umetna inteligenca sistema za prepoznavanje lahko opravila svoje delo, mora uporabnik opraviti svoje. Namreč: v mikrofon govorite razločno in odmerjeno, izogibajte se močnim zvokom iz ozadja, če je mogoče, uporabite stereo slušalke ali zunanji mikrofon, pritrjen na gumbnico (za kakovost prepoznave je pomembno, da je mikrofon vedno enako oddaljen od ustnic) , in sami govorite z enako glasnostjo ). Seveda je višji razred avdio naprave, bolje je.

Te pogoje je enostavno upoštevati, če namesto neposrednega dostopa do internetne storitve za prepoznavanje govora kot vmesno posredniško napravo uporabite diktafon. Mimogrede, tak "osebni tajnik" je še posebej nepogrešljiv, ko nimate dostopa do spleta. Seveda je bolje uporabiti vsaj poceni profesionalni diktafon kot pa snemalno napravo, vgrajeno v poceni predvajalnik mp3 ali pametni telefon. To bo dalo veliko več možnosti, da prejete zapise "nahranimo" storitvi za prepoznavanje govora.

Težko je, a se da prepričati sogovornika, ki ga intervjuvaš, da upošteva ta pravila (še en nasvet: če v kompletu nimaš zunanjega mikrofona na ščipalki, imej snemalnik vsaj ob sogovorniku) , in ne z vami).

Toda »orisovanje« konference ali seminarja na zahtevani ravni v samodejnem načinu je po mojem mnenju praktično nerealno (navsezadnje ne boste mogli nadzorovati govora govornikov in odziva občinstva). Čeprav precej zanimiva možnost: pretvarjanje profesionalno posnetih zvočnih predavanj in zvočnih knjig v besedilo (če glasba v ozadju in zvoki niso prekriti z njimi).

Upajmo, da je kakovost vašega diktafonskega posnetka dovolj visoka, da ga lahko dešifrirate avtomatski način.

Če ne, lahko s skoraj vsako kakovostjo snemanja dešifrirate polavtomatski način.

Poleg tega vam bo v številnih situacijah največji prihranek časa in truda, paradoksalno, prineslo dekodiranje v ročni način. Natančneje različico, ki jo sam uporabljam že ducat let. 🙂

Torej po vrsti.

1. Samodejno prepoznavanje govora

Mnogi svetujejo prepisovanje glasovnih posnetkov na YouTubu. Toda ta metoda prisili uporabnika, da porabi čas za prenos zvočne datoteke in slike ozadja ter nato čiščenje nastalega besedila iz časovnih žigov. Medtem je ta čas enostavno prihraniti. 🙂

Zvočne posnetke lahko prepoznate neposredno iz računalnika s pomočjo zmogljivosti ene od internetnih storitev, ki jih poganja Googlov mehanizem za prepoznavanje (priporočam Speechpad.ru ali Speechlogger.com). Vse kar morate storiti je, da naredite majhen trik: namesto vašega glasu, ki se predvaja iz mikrofona, preusmerite zvočni tok, ki ga predvaja vaš računalniški predvajalnik, na storitev.

Ta trik se imenuje programska stereo mešalna miza (običajno se uporablja za snemanje glasbe v računalnik ali njeno predvajanje iz računalnika v internet).

Stereo mešalnik je bil del operacijskega sistema Windows XP - vendar so ga razvijalci odstranili iz novejših različic tega operacijskega sistema (pravijo, da zaradi zaščite avtorskih pravic: da igralci iger ne kradejo glasbe iz iger itd.). Vendar pa ni neobičajno, da ima stereo mešalnik gonilnike za zvočne kartice (na primer kartice Realtec, vgrajene v matično ploščo). Če s spodnjimi posnetki zaslona ne najdete stereo mešalne mize na vašem računalniku, poskusite znova namestiti zvočne gonilnike s CD-ja, ki ste ga dobili z matično ploščo, ali s spletnega mesta proizvajalca matične plošče.

Če to ne pomaga, v računalnik namestite drug program. Na primer - brezplačna virtualna avdio naprava VB-CABLE : lastnik zgoraj omenjene storitve Speechpad.ru priporoča njeno uporabo.

Prvi korak onemogočiti morate mikrofon za uporabo v snemalnem načinu in namesto tega omogočiti stereo mešalnik (ali virtualni VB-CABLE).

Če želite to narediti, kliknite ikono zvočnika v spodnjem desnem kotu (v bližini ure) - ali izberite razdelek »Zvok« na »Nadzorni plošči«. V zavihku »Snemanje« okna, ki se odpre, z desno miškino tipko kliknite in potrdite polja poleg elementov »Prikaži odklopljene naprave« in »Prikaži odklopljene naprave«. Z desno miškino tipko kliknite ikono mikrofona in izberite "Izklopi zvok" (na splošno izklopite vse naprave, označene z zeleno ikono).

Z desno miškino tipko kliknite ikono stereo mešalnika in izberite "Omogoči". Na ikoni se prikaže zelena ikona, ki označuje, da je stereo mešalna miza postala privzeta naprava.

Če se odločite za uporabo VB-CABLE, ga omogočite na enak način v zavihku "Snemanje".

In tudi - v zavihku "Predvajanje".

Drugi korak. V poljubnem predvajalniku vključite snemanje zvoka (če morate dešifrirati zvočni posnetek videa, lahko zaženete tudi video predvajalnik). Istočasno naložite storitev Speechpad.ru v brskalnik Chrome in v njej kliknite gumb »Omogoči snemanje«. Če je posnetek dovolj kakovosten, boste videli, kako storitev pred vašimi očmi spremeni govor v smiselno in blizu izvirnemu besedilu. Res je, brez ločil, ki jih boste morali urediti sami.

Kot predvajalnik zvoka vam svetujem uporabo AIMP, o katerem bomo podrobneje govorili v tretjem podpoglavju. Zdaj bom samo omenil, da vam ta predvajalnik omogoča upočasnitev snemanja brez popačenja govora, pa tudi popravljanje nekaterih drugih napak. To lahko nekoliko izboljša prepoznavanje ne zelo kakovostnih posnetkov. (Včasih se celo svetuje, da slabe posnetke predhodno obdelamo v profesionalnih programih za montažo zvoka. Vendar je to po mojem mnenju prezahtevno opravilo za večino uporabnikov, ki bodo besedilo veliko hitreje tipkali z roko. :))

2. Polavtomatsko prepoznavanje govora

Tukaj je vse preprosto. Če je posnetek slabe kakovosti in se prepoznavanje "duši" ali storitev povzroča preveč napak, si vzrok pomagajte sami z "vgradnjo" v verigo: "predvajalnik zvoka - napovedovalec - sistem za prepoznavanje".

Vaša naloga je poslušati posneti govor v slušalkah in ga hkrati preko mikrofona narekovati internetni storitvi za prepoznavanje. (Seveda vam na seznamu snemalnih naprav ni treba preklopiti z mikrofona na stereo mešalno mizo ali virtualni kabel, kot v prejšnjem razdelku). Kot alternativo zgoraj omenjenim internetnim storitvam lahko uporabite aplikacije za pametne telefone, kot je brezplačni Yandex.Dictation ali funkcijo nareka v iPhonu z iOS 8 ali novejšim.

Opažam, da imate v polavtomatskem načinu možnost takojšnjega narekovanja ločil, ki jih storitve še ne morejo postaviti v samodejnem načinu.

Če vam uspe narekovati sinhrono s predvajanjem posnetka na predvajalniku, bo predhodni prepis vzel skoraj toliko časa kot sam posnetek (brez upoštevanja kasnejšega časa, porabljenega za popravljanje črkovalnih in slovničnih napak). Toda tudi delo po shemi: "poslušaj frazo - narekuj - poslušaj frazo - narekuj" vam lahko prihrani čas v primerjavi s tradicionalnim tipkanjem.

Kot predvajalnik zvoka priporočam uporabo istega AIMP. Prvič, z njim lahko upočasnite predvajanje na hitrost, ki vam ustreza pri sinhronem nareku. Drugič, ta predvajalnik lahko vrne posnetek za določeno število sekund: to je včasih potrebno, da bolje slišite nerazumljivo frazo.

3. Ročno prepisovanje diktafona

Da se polavtomatskega narekovanja prehitro naveličaš, lahko ugotoviš v praksi. Ali pa pri storitvi naredite preveč napak. Ali pa je zaradi vaših spretnosti hitrega tipkanja veliko lažje ustvariti že pripravljeno popravljeno besedilo na tipkovnici kot z uporabo nareka. Ali pa vaš diktafon, mikrofon stereo slušalk, zvočna kartica ne zagotavljajo sprejemljive kakovosti zvoka za storitev. Ali pa morda preprosto nimate možnosti glasno narekovati v službi ali domači pisarni.

V vseh teh primerih vam bo pomagal moj lastniški način ročnega dekodiranja (poslušajte posnetek v AIMP - vnesite Word). Z njim lahko zapis pretvorite v besedilo hitreje kot marsikateri profesionalni novinar, ki ima podobno hitrost tipkanja kot vi! Hkrati boste porabili veliko manj energije in živcev kot oni. 🙂

Kaj je glavni razlog za izgubo energije in časa pri transkripciji zvočnih posnetkov na klasičen način? Zaradi dejstva, da uporabnik naredi veliko nepotrebnih gibov.

Uporabnik nenehno izteguje roko do diktafona, nato do računalniške tipkovnice. Ustavil sem predvajanje - odlomek, ki sem ga poslušal, vtipkal v urejevalnik besedila - ponovno vključil predvajanje - nečitljiv posnetek sem previl nazaj - itd., itd.

Uporaba običajnega predvajalnika programske opreme v računalniku nekoliko olajša postopek: uporabnik mora nenehno minimizirati/razširjati Word, ustaviti/zagnati predvajalnik in se celo plaziti naprej in nazaj z drsnikom predvajalnika, da najde nečitljiv fragment, in se nato vrne na zadnje poslušano mesto v posnetku.

Da bi zmanjšali te in druge izgube časa, specializirana IT podjetja razvijajo programske in strojne prepisovalnike. To so precej drage rešitve za profesionalce - iste novinarje, sodne stenografe, preiskovalce itd. Toda v resnici sta za naše namene potrebni samo dve funkciji:

  • možnost upočasnitve predvajanja glasovnega posnetka, ne da bi ga popačili in znižali ton (mnogi predvajalniki vam omogočajo upočasnitev hitrosti predvajanja - toda, žal, hkrati se človeški glas spremeni v pošastni robotski glas, ki je težko slišati dlje časa);
  • zmožnost ustaviti snemanje ali ga vrniti nazaj za določeno število sekund in ga vrniti nazaj, ne da bi prenehali tipkati in brez minimiziranja okna urejevalnika besedila.

V svojem času sem preizkusil na desetine zvočnih programov - in našel le dve cenovno ugodni plačljivi aplikaciji, ki izpolnjujeta te zahteve. Imam enega od njih. Še malo sem pobrskal za svojimi dragimi bralci 🙂 - in našel čudovito brezplačno rešitev - predvajalnik AIMP, ki ga tudi sam še vedno uporabljam.

»Po vnosu nastavitev AIMP poiščite razdelek Global Keys in znova konfigurirajte Stop/Start na tipko Escape (Esc). Verjemite mi, to je najbolj priročno, saj vam ni treba razmišljati o tem in vaš prst ne bo slučajno padel na druge tipke. Nastavite elementa »Premakni se malo nazaj« in »Premakni se malo naprej« na tipki Ctrl + nazaj/naprej (na tipkovnici imate štiri puščične tipke - izberite dve od njih). Ta funkcija je potrebna za ponovno poslušanje zadnjega fragmenta ali preskok naprej.

Nato lahko s priklicem EQ zmanjšate vrednosti Velocity in Tempo - in povečate vrednost Pitch. V tem primeru boste opazili, da se bo hitrost predvajanja upočasnila, vendar se višina glasu (če dobro izberete vrednost »Pitch«) ne bo spremenila. Ta dva parametra izberite tako, da boste imeli čas za tipkanje skoraj istočasno, le občasno ga ustavite.

Ko je vse nastavljeno, vam bo tipkanje vzelo manj časa in vaše roke bodo manj utrujene. Zvočni posnetek boste lahko prepisali mirno in udobno, tako rekoč ne da bi odmaknili prste od tipkanja po tipkovnici.”

K povedanemu lahko dodam le to, da če posnetek ni zelo kakovosten, lahko poskusite izboljšati njegovo predvajanje z eksperimentiranjem z drugimi nastavitvami v AIMP-jevem upravitelju zvočnih učinkov.

In število sekund, za katere vam bo najbolj priročno, da se premikate nazaj ali naprej po posnetku z vročimi tipkami - nastavite v razdelku »Predvajalnik« v oknu »Nastavitve« (ki ga lahko prikličete s pritiskom na vroče tipke "Ctrl + P").

Želim vam, da prihranite več časa pri rutinskih opravilih - in ga plodno porabite za glavne stvari! 🙂 In ne pozabite vklopiti mikrofona na seznamu snemalnih naprav, ko se boste pogovarjali po Skypu! 😉

3 načini prepisovanja glasovnega posnetka: prepoznavanje govora, narekovanje, ročni način

Posodobljeno: ponedeljek, 31. julij 2017

Kaj ima napol fantastična ideja o pogovoru z računalnikom opraviti s profesionalno fotografijo? Skoraj nič, če niste oboževalec ideje o neskončnem razvoju celotnega tehničnega okolja človeka. Za trenutek si predstavljajte, da svojemu fotoaparatu glasovno ukazujete, naj spremeni goriščno razdaljo in kompenzacijo osvetlitve poveča za pol koraka. Daljinski upravljalnik kamere je že implementiran, vendar morate tiho pritisniti gumbe in tukaj je slušni fotik!

Tradicija je postala navajanje fantastičnega filma kot primera človeške glasovne komunikacije z računalnikom, no, vsaj "Space Odyssey 2001" režiserja Stanleyja Kubricka. Tam vgrajeni računalnik ne samo vodi smiseln dialog z astronavti, ampak lahko bere z ustnic kot gluha oseba. Z drugimi besedami, stroj se je naučil prepoznati človeški govor brez napak. Morda se bo komu zdel daljinski glasovni nadzor kamere odveč, vendar bi mnogi želeli to frazo "Take Us Off Baby" in slika celotne družine na ozadju palme je pripravljena.

No, tukaj sem se poklonil tradiciji, malo fantaziral. Toda, če govorim iz srca, je bilo težko napisati ta članek in vse se je začelo z darilom v obliki pametnega telefona z operacijskim sistemom Android 4. Ta model HUAWEI U8815 ima majhen 4-palčni zaslon na dotik in zaslonsko tipkovnico. Nekoliko nenavadno je tipkati po njem, vendar se je izkazalo, da ni posebej potrebno. (slika01)

1. Prepoznavanje glasu v pametnem telefonu z operacijskim sistemom Android

Med preizkušanjem nove igrače sem v iskalni vrstici opazil grafiko mikrofona. Google in na tipkovnici v Notesu. Prej me ni zanimalo, kaj ta simbol pomeni. Imel sem pogovore v Skype in tipkal črke na tipkovnici. To počne večina uporabnikov interneta. Ampak kot so mi kasneje pojasnili, v iskalniku Google dodano je bilo glasovno iskanje v ruščini in pojavili so se programi, ki omogočajo narekovanje kratkih sporočil pri uporabi brskalnika Chrome.

Povedal sem frazo treh besed, program jih je identificiral in pokazal v celici z modrim ozadjem. Bilo je nekaj za presenečenje, saj so bile vse besede pravilno napisane. Če kliknete to celico, se stavek prikaže v besedilnem polju androidove beležnice. Zato je rekel nekaj stavkov in poslal sporočilo pomočniku prek SMS-a.


2. Kratka zgodovina programov za prepoznavanje glasu.

Zame ni bilo odkritje, da sodobni dosežki na področju glasovnega upravljanja omogočajo dajanje ukazov gospodinjskim aparatom, avtomobilom, robotom. Ukazni način je bil predstavljen v prejšnjih različicah operacijskega sistema Windows, OS/2 in Mac OS. Videl sem govoreče programe, ampak kakšna je korist od njih? Mogoče je to moja posebnost, da mi je lažje govoriti kot tipkati po tipkovnici, na mobitelu pa ne morem vtipkati čisto nič. Morate posneti stike na prenosnem računalniku z običajno tipkovnico in jih prenesti prek kabla USB. Ampak samo govoriti v mikrofon in računalnik sam vnese besedilo brez napak - to so bile zame sanje. Vzdušje brezupnosti so podkrepile razprave na forumih. Povsod so imeli tako žalostno misel:

»Vendar pa v praksi do zdaj programi za pravo prepoznavanje govora (in celo v ruščini) praktično ne obstajajo in očitno ne bodo kmalu ustvarjeni. Še več, tudi inverzna naloga prepoznavanja - sinteza govora, ki je na videz veliko preprostejša od prepoznavanja, ni bila v celoti rešena. (ComputerPress št. 12, 2004)

»Običajnih programov za prepoznavanje govora (ne samo ruskega) še danes ni, saj je naloga za računalnik precej težka. In najslabše je, da mehanizem prepoznavanja besed s strani osebe ni bil uresničen, zato pri ustvarjanju programov za prepoznavanje ni ničesar, na čemer bi lahko gradili. (Še ena razprava na forumu).

Hkrati so pregledi programov za vnos besedila v angleškem jeziku pokazali jasne uspehe. na primer IBM ViaVoice 98 Executive Edition imeli osnovni slovar s 64.000 besedami in možnost dodajanja prav toliko svojih besed. Odstotek prepoznavanja besed brez usposabljanja programa je bil približno 80%, z naknadnim delom z določenim uporabnikom pa je dosegel 95%.

Od programov za prepoznavanje ruskega jezika je treba omeniti "Gorynych" - dodatek k angleškemu jeziku Dragon Dictate 2.5. O iskanju in nato o "bitki s petimi Gorynychi" bom povedal v drugem delu pregleda. Najprej sem našel "Angleškega zmaja".

3. Program za prepoznavanje neprekinjenega govora "Dragon Naturally Speaking"

Sodobna različica programa podjetja Niansa izkazalo se je, da sem z mojim starim prijateljem iz inštituta za tuje jezike v Minsku. Prinesla jo je s potovanja v tujino in jo kupila, saj je mislila, da bi lahko bila »računalniška tajnica«. Toda nekaj ni delovalo in program je ostal skoraj pozabljen na prenosniku. Zaradi pomanjkanja kakršnih koli razumljivih izkušenj sem moral sam do svojega prijatelja. Ves ta dolg uvod je potreben za pravilno razumevanje zaključkov, ki sem jih naredil.

Polno ime mojega prvega zmaja je bilo: . Program je v angleščini in v njem je vse jasno tudi brez priročnika. Prvi korak je ustvariti profil določenega uporabnika, da se določijo značilnosti zvoka besed v njegovi izvedbi. Kar sem storil - pomembna je starost govorca, država, posebnosti izgovorjave. Moja izbira je: starost 22-54, angleščina UK, standardna izgovorjava. Sledi nekaj oken, kjer nastavite svoj mikrofon. (slika04)

Naslednja stopnja resnih programov prepoznavanja govora je usposabljanje za določeno izgovorjavo določene osebe. Vabljeni, da izberete naravo besedila: moj izbor je kratko navodilo za narekovanje, lahko pa »naročite« tudi šaljivo zgodbo.

Bistvo te stopnje dela s programom je zelo preprosto - besedilo je prikazano v oknu, nad njim je rumena puščica. Pri pravilni izgovorjavi se puščica premika skozi fraze, na dnu pa je vrstica napredka treninga. Angleško pogovorno sem že precej pozabil, zato sem se s težavo premikal. Tudi čas je bil omejen – navsezadnje računalnik ni bil moj in sem morala prekiniti trening. Toda prijateljica je rekla, da je test opravila v manj kot pol ure. (slika05)

Ker nisem hotel prilagoditi programa moji izgovorjavi, sem šel v glavno okno in zagnal vgrajeni urejevalnik besedil. Govoril je ločene besede iz nekaterih besedil, ki jih je našel na računalniku. Tiste besede, ki jih je povedal pravilno, je program natisnil, tiste, ki jih je rekel slabo, je zamenjal z nečim »angleškim«. Ko je jasno izgovoril ukaz "izbriši vrstico" v angleščini, ga je program izpolnil. To pomeni, da ukaze pravilno berem, program pa jih prepozna brez predhodnega šolanja.

Ampak meni je bilo pomembno, kako ta "zmaj" piše v ruščini. Kot ste razumeli iz prejšnjega opisa, lahko med usposabljanjem programa izberete samo angleško besedilo, ruskega besedila tam preprosto ni. Jasno je, da ne bo uspelo usposobiti prepoznavanja ruskega govora. Na naslednji fotografiji lahko vidite, katero besedno zvezo je program vnesel, ko je izgovoril rusko besedo "Hi". (slika06)

Rezultat komunikacije s prvim zmajem se je izkazal za rahlo komičnega. Če natančno preberete besedilo na uradni spletni strani, lahko vidite angleško "specializacijo" tega programskega izdelka. Poleg tega pri nalaganju preberemo v oknu programa "angleščina". Zakaj je bilo torej vse to potrebno? Jasno je, da so krivi forumi in govorice ...

Obstaja pa tudi koristna izkušnja. Moja prijateljica je prosila, da vidi stanje njenega prenosnika. Nekako počasi je začel delati. To ni presenetljivo - sistemska particija je imela le 5% prostega prostora. Med brisanjem nepotrebnih programov sem videl, da uradna verzija zavzame več kot 2,3 GB. To številko bomo potrebovali pozneje. (slika.07)



Prepoznavanje ruskega govora, kot se je izkazalo, ni bila nepomembna naloga. V Minsku mi je uspelo najti "Gorynych" od prijatelja. Ploščo je dolgo iskal po svojih starih ruševinah in po njegovih besedah ​​je to uradna objava. Program se je takoj namestil in ugotovil sem, da njegov slovar vsebuje 5000 ruskih besed in 100 ukazov ter 600 angleških besed in 31 ukazov.

Najprej morate nastaviti mikrofon, kar sem tudi naredil. Nato sem odprl slovar in dodal besedo "izpit" ker ga ni bilo v slovarju programa. Poskušal sem govoriti jasno, monotono. Končno sem odprl program Gorynych Pro 3.0, vklopil način nareka in dobil ta seznam "besed, ki zvenijo podobno po zvoku". (slika.09)

Rezultat me je zmedel, ker se je očitno razlikoval na slabše od dela pametnega telefona Android, zato sem se odločil preizkusiti druge programe iz " Spletna trgovina Google Chrome". In odložil je ukvarjanje s "gorynych kačami" za pozneje. Mislil sem to odlog akcija v izvirnem ruskem duhu

5. Googlove glasovne zmogljivosti

Če želite delati z glasom na običajnem računalniku z OS Windows, boste morali namestiti brskalnik Google Chrome. Če v njem delate na internetu, lahko spodaj desno kliknete na povezavo do trgovine s programsko opremo. Tam sem brezplačno našel dva programa in dve razširitvi za glasovni vnos besedila. Programi se imenujejo "Glasovna beležnica" in "Voysnot - glas v besedilo". Po namestitvi jih najdete na zavihku "Aplikacije" vaš brskalnik "Krom". (slika.10)

Razširitve se imenujejo »Sprožilna beseda Google Voice Search (Beta) 0.1.0.5« in "Glasovni vnos besedila - Speechpad.ru 5.4". Po namestitvi jih je mogoče izklopiti ali izbrisati na zavihku "Razširitve".(slika.11)

VoiceNote. Na zavihku aplikacije v brskalniku Chrome dvokliknite ikono programa. Odpre se pogovorno okno, kot je prikazano na spodnji sliki. S klikom na ikono mikrofona izgovorite kratke fraze v mikrofon. Program pošlje vaše besede strežniku za prepoznavanje govora in vnese besedilo v okno. Vse besede in besedne zveze, prikazane na ilustraciji, so bile vnesene v prvem poskusu. Očitno ta metoda deluje samo z aktivno internetno povezavo. (slika.12)

Glasovna beležnica. Če program zaženete na zavihku aplikacij, se odpre nov zavihek internetne strani Speechpad.ru. Obstajajo podrobna navodila za uporabo te storitve in strnjen obrazec. Slednji je prikazan na spodnji sliki. (slika.13)

Glasovni vnos text vam omogoča, da z glasom izpolnite besedilna polja internetnih strani. Na primer, šel sem na svojo stran Google+. V polju za vnos novega sporočila z desno miškino tipko kliknite in izberite "SpeechPad". Rožnato polje za vnos pravi, da lahko narekujete svoje besedilo. (slika.14)

Google glasovno iskanje omogoča glasovno iskanje. Ko namestite in aktivirate to razširitev, se v iskalni vrstici pojavi simbol mikrofona. Ko ga pritisnete, se v velikem rdečem krogu prikaže simbol. Samo izgovorite iskalni izraz in pojavil se bo med rezultati iskanja. (slika.15)

Pomembna opomba: če želite, da mikrofon deluje z razširitvami za Chrome, morate omogočiti dostop do mikrofona v nastavitvah brskalnika. Iz varnostnih razlogov je privzeto onemogočen. Vstopi Nastavitve → Osebni podatki → Nastavitve vsebine. (Za dostop do vseh nastavitev na koncu seznama kliknite Pokaži napredne nastavitve). Odpre se pogovorno okno Nastavitve vsebine strani. Izberite element na seznamu Multimedija→mikrofon.

6. Rezultati dela s programi za prepoznavanje ruskega govora

Malo izkušenj z uporabo programov za vnos besedila z glasom je pokazalo odlično implementacijo te funkcije na strežnikih internetnega podjetja Google. Brez predhodnega usposabljanja se besede pravilno prepoznajo. To pomeni, da je problem prepoznavanja ruskega govora rešen.

Zdaj lahko rečemo, da je rezultat razvoja Google bo novo merilo za ocenjevanje izdelkov drugih proizvajalcev. Želel bi, da sistem za prepoznavanje deluje brez povezave, ne da bi se obrnil na strežnike podjetja - je bolj priročno in hitreje. Toda kdaj bo izšel neodvisen program za delo z neprekinjenim tokom ruskega govora, ni znano. Vendar je vredno domnevati, da bo z možnostjo usposabljanja to "kreacijo" pravi preboj.

Programi ruskih razvijalcev "Gorynych", "Diktograf" in "Boj" Podrobneje bom šel v drugem delu tega pregleda. Ta članek je bil napisan zelo počasi, ker je iskanje originalnih plošč zdaj težko. Trenutno že imam vse različice ruske programske opreme za prepoznavanje glasu v besedilo, razen Combat 2.52. Nihče od mojih prijateljev ali sodelavcev nima tega programa, sam pa imam le nekaj pohvalnih ocen na forumih. Res je, obstajala je tako čudna možnost - prenesite "Combat" prek SMS-a, vendar mi ni všeč. (slika16)


Kratek videoposnetek vam bo pokazal, kako deluje prepoznavanje govora v pametnem telefonu z operacijskim sistemom Android. Značilnost glasovnega klicanja je potreba po povezavi z Googlovimi strežniki. Tako bi moral internet delati za vas

) na resničnem Hello World primeru krmiljenja gospodinjskih aparatov.
Zakaj gospodinjski aparati? Da, saj se zaradi takega zgleda to zna ceniti hitrost in natančnost, kar lahko dosežete z uporabo povsem lokalno prepoznavanje govora brez tipskih strežnikov Google ASR oz Yandex SpeechKit.
Članku prilagam tudi vse izvorne kode programa in sam sklop za Android.

Zakaj kar naenkrat?

Ko sem pred kratkim naletel na to, sem avtorja vprašal, zakaj želi za svoj program uporabiti prepoznavanje govora na strani strežnika (po mojem mnenju je bilo to odveč in je povzročalo nekaj težav). Na kar sem prejel nasprotno vprašanje, ali lahko podrobneje opišem uporabo alternativnih metod za projekte, kjer ni treba ničesar prepoznati, slovar pa je sestavljen iz končnega nabora besed. Poleg tega s primerom praktične uporabe ...

Zakaj potrebujemo nekaj drugega poleg Yandexa in Googla?

Kot tisto zelo »praktično aplikacijo« sem izbral temo glasovno upravljanje pametnega doma.
Zakaj tak primer? Ker na njem vidite tistih nekaj prednosti popolnoma lokalnega prepoznavanja govora pred prepoznavanjem z oblačnimi rešitvami. namreč:
  • Hitrost- nismo odvisni od strežnikov in zato nismo odvisni od njihove razpoložljivosti, pasovne širine itd. dejavniki
  • Natančnost- naš motor deluje samo s slovarjem, ki ga zanima naša aplikacija, s čimer se poveča kakovost prepoznave
  • Cena- ni nam treba plačati vsake zahteve strežniku
  • Glasovna aktivacija- kot dodaten bonus k prvim točkam - lahko nenehno "poslušamo zrak", ne da bi zapravljali promet in ne obremenjevali strežnika

Opomba

Takoj bom rezerviral, da se te prednosti lahko štejejo za prednosti samo za določen razred projektov, Kje smo zagotovo vemo, s katerim slovarjem in katero slovnico bo uporabnik operiral. To pomeni, da nam ni treba prepoznati poljubnega besedila (na primer SMS sporočila ali iskalne poizvedbe). Sicer pa je prepoznavanje v oblaku nepogrešljivo.

Torej lahko Android prepozna govor brez interneta!
Da, da ... Samo na JellyBean. In samo od pol metra, nič več. In to prepoznavanje je isti narek, le z uporabo veliko manjšega modela. Zato ga tudi ne moremo upravljati in konfigurirati. In kaj nam bo vrnila naslednjič, ni znano. Čeprav za SMS-ok ravno prav!

Kaj počnemo?

Izvedli bomo glasovni daljinski upravljalnik za gospodinjske aparate, ki bo deloval natančno in hitro, od nekaj metrov in celo na poceni zavorni krami na zelo poceni Android pametnih telefonih, tablicah in urah.
Logika bo preprosta, a zelo praktična. Aktiviramo mikrofon in izgovorimo eno ali več imen naprav. Aplikacija jih prepozna in glede na trenutno stanje vklopi ali izklopi. Bodisi od njih prejme stanje in ga izgovori s prijetnim ženskim glasom. Na primer, trenutna temperatura v prostoru.

Veliko praktičnih aplikacij

Zjutraj so, ne da bi odprli oči, udarili z zaslonom pametnega telefona na nočno omarico in ukazali "Dobro jutro!" - scenarij se začne, aparat za kavo se prižge in brni, sliši se prijetna glasba, zavese se odmaknejo.
V vsako sobo na steno obesite poceni (2 tisoč, nič več) pametni telefon. Po službi gremo domov in v prazno ukažemo »Pametna hiša! Svetloba, TV! - Kaj se bo zgodilo potem, mislim, da ni treba reči.

Transkripcije



Slovnica opisuje, kaj kaj lahko pove uporabnik. Da Pocketsphinx ve kako jo bo izgovoril, je treba za vsako besedo iz slovnice napisati, kako zveni v ustreznem jezikovnem modelu. To je prepisovanje vsako besedo. Se imenuje slovar.

Transkripcije so opisane s posebno sintakso. Na primer:
pametna uu m n ay j hiša d oo m

Načeloma nič zapletenega. Dvojni samoglasnik v transkripciji označuje naglas. Dvojni soglasnik je mehak soglasnik, ki mu sledi samoglasnik. Vse možne kombinacije za vse zvoke ruskega jezika.

Jasno je, da v naši aplikaciji ne moremo vnaprej opisati vseh transkripcij, saj ne poznamo vnaprej imen, ki jih bo uporabnik dal svojim napravam. Zato bomo takšne transkripcije generirali sproti po nekaterih pravilih ruske fonetike. Če želite to narediti, lahko implementirate tak razred PhonMapper, ki lahko sprejme niz kot vhod in zanj ustvari pravilen prepis.

Glasovna aktivacija

To je zmožnost mehanizma za prepoznavanje govora, da ves čas »posluša zrak«, da se odzove na vnaprej določeno frazo (ali fraze). Vsi drugi zvoki in govor bodo zavrženi. Ni isto kot opisovati slovnico in samo prižgati mikrofon. Tukaj ne bom podajal teorije te naloge in mehanike njenega delovanja. Naj samo povem, da so nedavno programerji, ki delajo na Pocketsphinxu, uvedli takšno funkcijo in je zdaj na voljo takoj v API-ju.

Ena stvar je vsekakor vredna omembe. Za aktivacijsko besedno zvezo morate ne le določiti prepisa, ampak tudi izbrati ustreznega vrednost praga občutljivosti. Premajhna vrednost bo povzročila veliko lažnih pozitivnih rezultatov (to je, ko niste izgovorili aktivacijske fraze, vendar jo sistem prepozna). In previsoka - do imunitete. Zato je ta nastavitev še posebej pomembna. Približno območje vrednosti - od 1e-1 do 1e-40 odvisno od aktivacijske fraze.

Aktivacija bližine

Ta naloga je specifična za naš projekt in ni neposredno povezana s prepoznavanjem. Kodo lahko vidite kar v glavni dejavnosti.
Ona se zaveda SensorEventListener in v trenutku približevanja (vrednost senzorja je manjša od maksimalne vrednosti), zažene časovnik, ki po določenem zamiku preveri, ali je senzor še vedno blokiran. To se naredi, da se izognemo lažnim pozitivnim rezultatom.
Ko senzor ni ponovno blokiran, zaustavimo prepoznavanje in pridobimo rezultat (glej opis spodaj).

Začnemo s prepoznavanjem

Pocketsphinx ponuja priročen API za konfiguriranje in izvajanje postopka prepoznavanja. To so razredi SpechRecognizer in SpeechRecognizerSetup.
Konfiguracija in zagon prepoznave izgledata takole:

PhonMapper phonMapper = nov PhonMapper(getAssets().open("dict/ru/hotwords")); Grammar grammar = nova slovnica (imena, phonMapper); grammar.addWords(hotword); DataFiles dataFiles = nove podatkovne datoteke(getPackageName(), "ru"); Datoteka hmmDir = nova datoteka (dataFiles.getHmm()); Datoteka dict = nova datoteka (dataFiles.getDict()); Datoteka jsgf = nova datoteka (dataFiles.getJsgf()); copyAssets(hmmDir); saveFile(jsgf, grammar.getJsgf()); saveFile(dict, grammar.getDict()); mRecognizer = SpeechRecognizerSetup.defaultSetup() .setAcousticModel(hmmDir) .setDictionary(dict) .setBoolean("-remove_noise", false) .setKeywordThreshold(1e-7f) .getRecognizer(); mRecognizer.addKeyphraseSearch(KWS_SEARCH, vroča beseda); mRecognizer.addGrammarSearch(COMMAND_SEARCH, jsgf);

Tukaj najprej prekopiramo vse potrebne datoteke na disk (Pocketpshinx zahteva akustični model, slovnico in transkripcijski slovar na disku). Nato je konfiguriran sam mehanizem za prepoznavanje. Določene so poti do datotek modela in slovarja ter nekateri parametri (prag občutljivosti za aktivacijsko frazo). Nato je konfigurirana pot do slovnične datoteke in fraza za aktiviranje.

Kot lahko vidite iz te kode, je en mehanizem konfiguriran za prepoznavanje slovnice in aktivacijske fraze hkrati. Zakaj se to počne? Da lahko hitro preklapljamo med tem, kar moramo trenutno prepoznati. Takole izgleda zagon postopka prepoznavanja aktivacijske fraze:

MRecognizer.startListening(KWS_SEARCH);
In takole - prepoznavanje govora po dani slovnici:

MRecognizer.startListening(COMMAND_SEARCH, 3000);
Drugi argument (izbirno) je število milisekund, po katerem se bo prepoznavanje samodejno končalo, če nihče ne reče ničesar.
Kot lahko vidite, lahko za rešitev obeh težav uporabite samo en motor.

Kako do rezultata prepoznavanja

Če želite dobiti rezultat prepoznavanja, morate podati tudi poslušalca dogodkov, ki implementira vmesnik RecognitionListener.
Ima več metod, ki jih kliče pocketsphinx, ko pride do enega od dogodkov:
  • onBeginningOfSpeech- motor je slišal nekaj zvoka, morda je govor (ali morda ne)
  • onEndOfSpeech- zvok se je končal
  • onPartialResult- obstajajo vmesni rezultati priznavanja. Za aktivacijsko besedno zvezo to pomeni, da je delovala. Prepir Hipoteza
  • onResult- končni rezultat pripoznanja. Ta metoda bo poklicana po klicu metode stop pri SpeechRecognizer. Prepir Hipoteza vsebuje podatke o prepoznavanju (niz in rezultat)

Z implementacijo metod onPartialResult in onResult na tak ali drugačen način lahko spremenite logiko prepoznavanja in dobite končni rezultat. Takole je to storjeno za našo aplikacijo:

@Override public void onEndOfSpeech() ( Log.d(TAG, "onEndOfSpeech"); if (mRecognizer.getSearchName().equals(COMMAND_SEARCH)) ( mRecognizer.stop(); ) ) @Override public void onPartialResult(Hipoteza hipoteze) ( if (hypothesis == null) return; String text = hypothesis.getHypstr(); if (KWS_SEARCH.equals(mRecognizer.getSearchName())) ( startRecognition(); ) else ( Log.d(TAG, text); ) ) @Override public void onResult(Hipoteza hipoteze) ( mMicView.setBackgroundResource(R.drawable.background_big_mic); mHandler.removeCallbacks(mStopRecognitionCallback); String text = hipoteza != null ? hypothesis.getHypstr() : null; Log.d(TAG) , "onResult " + besedilo); if (COMMAND_SEARCH.equals(mRecognizer.getSearchName())) ( if (text != null) ( Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); process(text ); ) mRecognizer.startListening(KWS_SEARCH); ) )

Ko prejmemo dogodek onEndOfSpeech in če hkrati prepoznamo ukaz, ki ga je treba izvesti, moramo prepoznavanje prekiniti, po tem pa bo takoj poklican onResult.
V onResultu morate preveriti, kaj je bilo pravkar prepoznano. Če je to ukaz, ga morate zagnati za izvedbo in preklopiti motor, da prepozna aktivacijski stavek.
V onPartialResult nas zanima le prepoznavanje aktivacijske fraze. Če ga zaznamo, takoj sprožimo postopek prepoznavanja ukaza. Takole izgleda:

Zasebno sinhronizirano void startRecognition() ( if (mRecognizer == null || COMMAND_SEARCH.equals(mRecognizer.getSearchName())) return; mRecognizer.cancel(); new ToneGenerator(AudioManager.STREAM_MUSIC, ToneGenerator.MAX_VOLUME).startTone(ToneGenerator. TONE_CDMA_PIP, 200); post(400, new Runnable() ( @Override public void run() ( mMicView.setBackgroundResource(R.drawable.background_big_mic_green); mRecognizer.startListening(COMMAND_SEARCH, 3000); Log.d(TAG, "Poslušaj ukazi"); post(4000, mStopRecognitionCallback); ) )); )
Tukaj najprej predvajamo majhen signal, da uporabnik ve, da smo ga slišali in smo pripravljeni na njegov ukaz. V tem času mora biti mikrofon izklopljen. Zato začnemo prepoznavanje po majhnem časovnem intervalu (malo daljšem od trajanja signala, da ne slišimo njegovega odmeva). Prav tako zažene nit, ki prisili prepoznavanje, da se ustavi, če uporabnik govori predolgo. V tem primeru je to 3 sekunde.

Kako pretvoriti prepoznan niz v ukaze

No, vse je že specifično za posamezno aplikacijo. V primeru golega primera preprosto izvlečemo imena naprav iz vrstice, poiščemo želeno napravo in bodisi spremenimo njeno stanje z zahtevo HTTP do krmilnika pametnega doma ali sporočimo njeno trenutno stanje (kot v primeru termostat). To logiko je mogoče videti v razredu krmilnika.

Kako sintetizirati govor

Sinteza govora je inverzna operacija prepoznavanja. Tukaj, nasprotno, morate spremeniti vrstico besedila v govor, tako da ga lahko uporabnik sliši.
V primeru termostata moramo narediti, da naša naprava Android pove trenutno temperaturo. Uporaba API-ja Besedilo v govor to je zelo preprosto (hvala Googlu za čudovit ženski TTS za ruski jezik):

Private void speak(String text) ( sinhronizirano (mSpeechQueue) ( ​​​​mRecognizer.stop(); mSpeechQueue.add(text); HashMap params = nov HashMap (2); params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, UUID.randomUUID().toString()); params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_MUSIC)); params.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true"); mTextToSpeech.speak(besedilo, TextToSpeech.QUEUE_ADD, parametri); ) )

Verjetno bom rekel, da je banalen, ampak pred postopkom sinteze je potrebno onemogočiti prepoznavanje. Na nekaterih napravah (na primer vseh Samsungih) je na splošno nemogoče poslušati mikrofon in hkrati nekaj sintetizirati.
Konec sinteze govora (to je konec procesa govorjenja besedila s sintetizatorjem) lahko sledite v poslušalcu:

Zasebni končni TextToSpeech.OnUtteranceCompletedListener mUtteranceCompletedListener = new TextToSpeech.OnUtteranceCompletedListener() ( @Override public void onUtteranceCompleted(String utteranceId) ( sinhronizirano (mSpeechQueue) ( ​​​​mSpeechQueue.poll(); if (mSpeechQueue.poll(); if (mSpeechQueueue.poll(); if (mSpeechQuetyRecoue.iszer(mSpeechQuetyRecoue.is)) KWS_ISKANJE) ; ) ) ) );

V njem preprosto preverimo, ali je v čakalni vrsti za sintezo še kaj, in vklopimo prepoznavanje aktivacijske fraze, če ni ničesar drugega.

In to je vse?

ja! Kot lahko vidite, ni težko hitro in natančno prepoznati govora neposredno na napravi, zahvaljujoč prisotnosti tako čudovitih projektov, kot je Pocketsphinx. Zagotavlja zelo priročen API, ki ga je mogoče uporabiti za reševanje težav, povezanih s prepoznavanjem glasovnih ukazov.

V tem primeru smo prepoznavanje privili na povsem pravilno nalogo - glasovno upravljanje naprav pametnega doma. Zaradi lokalnega prepoznavanja smo dosegli zelo visoko hitrost in minimalne napake.
Jasno je, da se lahko ista koda uporablja za druge naloge, povezane z glasom. Ni nujno, da je pameten dom. Dodajte oznake