Ako urobiť rozpoznávanie reči. Najlepší ruský program na rozpoznávanie reči

Služba SendPulse je marketingový nástroj na vytvorenie predplatiteľskej základne a konverziu náhodných návštevníkov vašej stránky na pravidelných. SendPulse kombinuje najdôležitejšie funkcie na prilákanie a udržanie zákazníkov na jednej platforme:
● e-mailové bulletiny,
● web-push,
● SMS správy,
● SMTP,
● poštové zásielky vo Viberi,
● posielať správy na Facebook Messenger.

E-mailové bulletiny

Na zasielanie e-mailových noviniek môžete použiť rôzne tarify, vrátane bezplatných. Bezplatný plán má obmedzenia: základňa predplatného nie je väčšia ako 2 500.
Prvá vec, ktorú treba začať pri práci s e-mailovou poštovou službou, je vytvoriť si vlastnú adresár. Nastavte názov a nahrajte zoznam e-mailových adries.


SendPulse uľahčuje vytváranie predplatné formuláre vo forme vyskakovacieho okna, vložených formulárov, plávajúcich a upevnených v určitej časti obrazovky. Pomocou predplatiteľských formulárov budete zbierať základňu predplatiteľov od začiatku alebo dopĺňať základňu novými adresami.
V nástroji na tvorbu formulárov si môžete vytvoriť presne taký formulár predplatného, ​​ktorý najlepšie vyhovuje vašim potrebám, a servisné tipy vám pomôžu zvládnuť túto úlohu. Je možné použiť aj niektorú z dostupných hotových foriem.


Pri vytváraní predplatiteľských formulárov je povinné použiť e-mail s firemnou doménou. Prečítajte si ako.
Šablóny správ pomôže krásne navrhnúť vaše listy predplatiteľom. V špeciálnom konštruktore si môžete vytvoriť vlastnú šablónu písmen.


Automatické zásielky. Správcovia obsahu aktívne využívajú automatickú distribúciu. Pomáha automatizovať proces práce s klientmi. Existuje niekoľko spôsobov, ako vytvoriť automatický mailer:
Postupná séria písmen. Toto je najjednoduchšia možnosť, keď sa bez ohľadu na podmienky napíše niekoľko listov, ktoré budú odoslané príjemcom v určitom poradí. Tu môžu byť možnosti - séria správ(jednoduchý reťazec správ), špeciálny dátum(listy sú načasované na určité dátumy), spúšťacie písmeno- list sa odosiela v závislosti od akcií predplatiteľa (otvorenie správy atď.).
Automatizácia 360– zasielanie správ s určitými filtrami a podmienkami, ako aj zohľadnenie konverzií.
Hotové reťaze podľa šablóny. Môžete vytvoriť sériu písmen na základe danej šablóny alebo upraviť šablónu a prispôsobiť ju tak, aby vyhovovala vašim potrebám.
A/B testovanie vám pomôže experimentovať s rôznymi možnosťami odosielania série e-mailov a určiť najlepšiu možnosť otvorenia alebo prechodu.

Odosielanie upozornení push

Push-mailingy sú predplatné v okne prehliadača, je to akási náhrada za rss-predplatné. Web-push technológie rýchlo vstúpili do našich životov a už teraz je ťažké nájsť stránku, ktorá nepoužíva push mailing na prilákanie a udržanie zákazníkov. Žiadosť o skript pre , môžete odosielať e-maily manuálne aj vytvárať automatické vysielania vytvorením série e-mailov alebo zhromažďovaním údajov z RSS. Druhá možnosť znamená, že po objavení sa nového článku na vašom webe sa vašim odberateľom automaticky odošle upozornenie s krátkym oznámením.


Novinka od Odoslaťpulz– teraz môžete speňažiť svoje stránky pomocou upozornení push vložením reklám do nich. Po dosiahnutí 10 USD sa každý pondelok uskutočňujú platby na jeden z platobných systémov – Visa / mastercard, PayPal alebo Webmoney.
Push správy v službe sú úplne zadarmo. Platba sa berie len za White Label - zásielky bez uvedenia služby SendPulse, ale ak vám logo služby neprekáža, môžete bez obmedzení využívať push notifikácie zadarmo.

SMTP

Funkcia SMTP chráni váš zoznam adries pred zaradením na čiernu listinu pomocou bielych adries IP. Technológie kryptografického podpisu DKIM a SPF používané v mailingoch SendPulse zvyšujú dôveryhodnosť e-mailov, ktoré odosielate, vďaka čomu je menej pravdepodobné, že vaše e-maily skončia v spame alebo na čiernej listine.

Facebook messenger boti

Facebook chatbot je v beta testovaní. Môžete ho pripojiť k svojej stránke a odosielať správy odberateľom.

Odosielanie SMS

Prostredníctvom služby SendPulse je jednoduché posielať korešpondenciu do databázy telefónnych čísel. Najprv musíte vytvoriť adresár so zoznamom telefónnych čísel. Ak to chcete urobiť, vyberte sekciu "Adresár", vytvorte nový adresár, nahrajte telefónne čísla. Teraz môžete vytvoriť SMS mailing list pre túto databázu. Cena zasielania SMS správ sa líši v závislosti od telekomunikačných operátorov príjemcov a v priemere od 1,26 rubľov do 2,55 rubľov za 1 odoslanú SMS.

partnerský program

SendPulse implementuje pridružený program, v ktorom vám registrovaný používateľ pomocou vášho odkazu, ktorý zaplatil tarifu, prinesie 4 000 rubľov. Pozvaný používateľ dostane zľavu 4 000 rubľov za prvých 5 mesiacov používania služby.

Titulky telefónu pre nepočujúcich a nedoslýchavých

Premeňte svoju obrazovku na úžasnú hlavičku telefónu. Je to plne automatické, vaše konverzácie nepíšu žiadni pisári. Nájsť starých rodičov, že je ťažké počuť rodinu a priateľov na telefóne? Zapnite im Speechlogger a prestaňte kričať do telefónu. Jednoducho pripojte zvukový výstup telefónu k zvukovému vstupu počítača a spustite Speechlogger. Je tiež užitočný pri interakciách tvárou v tvár.

Automatický prepis

Nahrali ste rozhovor? Ušetrite nejaký čas jeho prepísaním z automatickej reči Google na text, ktorý vám do prehliadača prinesie Speechlogger. Prehrajte si nahraný rozhovor do mikrofónu (alebo linky) vášho počítača a nechajte rečový záznamník urobiť prepis. Speechlogger uloží prepis textu spolu s dátumom, časom a vašimi komentármi. Umožňuje tiež upravovať text. Rovnakým spôsobom je možné prepisovať aj telefonické rozhovory. Môžete tiež nahrávať zvukové súbory priamo z počítača, ako je popísané nižšie.

Automatický tlmočník a prekladateľ

Stretnutie so zahraničnými hosťami? Prineste si notebook (alebo dva) so záznamníkom reči a mikrofónom. Každá strana uvidí hovorené slová druhej strany preložené do ich vlastného jazyka v reálnom čase. Užitočné je aj telefonát v cudzom jazyku, aby ste sa uistili, že druhej strane úplne rozumiete. Pripojte zvukový výstup telefónu k linkovému vstupu počítača a spustite Speechlogger.

Naučte sa cudzie jazyky a zlepšite si výslovnosť

Speechlogger je skvelý nástroj na výučbu jazykov a dá sa použiť mnohými spôsobmi. Môžete ho použiť na učenie sa slovnej zásoby tak, že budete hovoriť svojím rodným jazykom a necháte softvér preložiť. Môžete sa naučiť a precvičiť si správnu výslovnosť rozprávaním cudzím jazykom a sledovaním, či Speechlogger rozumie alebo nie. Ak je text prepísaný čiernym písmom, znamená to, že ste ho vyslovili dobre.

Generovanie filmových titulkov

Speechlogger dokáže automaticky nahrávať filmy alebo iné zvukové súbory. Potom vezmite súbor a automaticky ho preložte do akéhokoľvek jazyka, aby ste vytvorili medzinárodné titulky.

Namiesto písania diktujte

Písanie listu? Dokumenty? zoznamy? Súhrn? Čokoľvek potrebujete napísať, skúste to namiesto toho nadiktovať Speechloggeru. Speechlogger ho automaticky uloží za vás a umožní vám ho exportovať do dokumentu.

Zábavná hra :)

Dokážete napodobniť čínsky hovorca? francúzsky? A čo ruština? Skúste napodobniť cudzí jazyk a pomocou Speechloggera uvidíte, čo ste práve povedali. Použite simultánny preklad Speechloggera, aby ste pochopili, čo ste práve povedali. Dosiahnite úžasné výsledky – je to veľká zábava!

Na Facebooku sme dostali otázku:
„Na prácu s textom potrebujem prepísať 3 hodiny hlasového záznamu. Pokúsil som sa nahrať zvukový súbor s obrázkom na YouTube a použiť ich prepisovač textu, ale ukázalo sa, že je to nejaký druh abrakadabra. Viete mi prosim poradit ako to technicky vyriesit? Ďakujem!
Alexander Konovalov»

Alexander, existuje jednoduché technické riešenie – výsledok však bude závisieť výlučne od kvality vašej nahrávky. Vysvetlím, o akej kvalite hovorím.

V posledných rokoch ruské technológie rozpoznávania reči veľmi pokročili. Percento chýb v rozpoznávaní sa znížilo na takú úroveň, že je jednoduchšie „nahovoriť“ iný text v špeciálnej mobilnej aplikácii alebo internetovej službe, manuálne opraviť jednotlivé „chyby“ – než písať celý text na klávesnici.

Aby ale umelá inteligencia rozpoznávacieho systému mohla robiť svoju prácu, musí používateľ urobiť svoju vlastnú. Konkrétne: hovorte do mikrofónu zreteľne a odmerane, vyhýbajte sa silným zvukom v pozadí, ak je to možné, použite stereo slúchadlá alebo externý mikrofón pripevnený k gombíkovej dierke (pre kvalitu rozpoznávania je dôležité, aby bol mikrofón vždy v rovnakej vzdialenosti od pier a vy sami hovoríte rovnakou hlasitosťou). Prirodzene, čím vyššia trieda audio zariadenia, tým lepšie.

Je ľahké dodržať tieto podmienky, ak namiesto priameho prístupu k internetovej službe rozpoznávania reči používate hlasový záznamník ako sprostredkovateľské zariadenie. Mimochodom, takáto "osobná sekretárka" je obzvlášť nevyhnutná, keď nemáte prístup k online. Prirodzene, je lepšie použiť aspoň lacný profesionálny hlasový záznamník ako nahrávacie zariadenie zabudované do lacného mp3 prehrávača alebo smartfónu. To poskytne oveľa väčšiu šancu „nakŕmiť“ prijaté záznamy do služby rozpoznávania reči.

Je to ťažké, ale je možné presvedčiť partnera, s ktorým vediete rozhovor, aby dodržiaval tieto pravidlá (ešte jedna rada: ak nemáte v súprave externý mikrofón na špendlíku, aspoň majte záznamník vedľa účastníka rozhovoru , a nie s vami).

Ale “načrtnúť” konferenciu či seminár na požadovanej úrovni v automatickom režime je podľa mňa prakticky nereálne (predsa len nebudete ovládať reč rečníkov a reakciu publika). Aj keď je to celkom zaujímavá možnosť: premena profesionálne nahraných zvukových prednášok a zvukových kníh na text (ak na nich nebola prekrytá hudba na pozadí a zvuky).

Dúfajme, že kvalita vašej nahrávky z diktafónu je dostatočne vysoká na to, aby ste ju dokázali rozlúštiť automatický režim.

Ak nie, môžete ho dešifrovať takmer v akejkoľvek kvalite záznamu poloautomatický režim.

Najväčšiu úsporu času a námahy vám navyše v mnohých situáciách prinesie, paradoxne, dekódovanie manuálny mód. Presnejšie verzia, ktorú ja sám používam už tucet rokov. 🙂

Takže po poriadku.

1. Automatické rozpoznávanie reči

Mnohí odporúčajú prepis hlasových nahrávok na YouTube. Táto metóda však núti používateľa tráviť čas sťahovaním zvukového súboru a obrázka na pozadí a následným čistením výsledného textu od časových pečiatok. Medzitým sa tento čas dá ľahko ušetriť. 🙂

Zvukové nahrávky môžete rozpoznať priamo z počítača pomocou možností jednej z internetových služieb poháňaných nástrojom na rozpoznávanie Google (odporúčam Speechpad.ru alebo Speechlogger.com). Všetko, čo musíte urobiť, je urobiť malý trik: namiesto toho, aby váš hlas hral z mikrofónu, presmerujte audio stream prehrávaný vaším počítačovým prehrávačom do služby.

Tento trik sa nazýva softvérový stereo mixér (zvyčajne sa používa na nahrávanie hudby do počítača alebo jej vysielanie z počítača na internet).

Stereo mixážny pult bol súčasťou Windows XP – vývojári ho však z neskorších verzií tohto operačného systému odstránili (hovoria, aby ochránili autorské práva: aby hráči nekradli hudbu z hier atď.). Nie je však nezvyčajné, že sa stereo mixpult dodáva s ovládačmi pre zvukové karty (napríklad karty Realtec zabudované na základnej doske). Ak nemôžete nájsť stereo mixážny pult na svojom počítači pomocou snímok obrazovky nižšie, skúste preinštalovať zvukové ovládače z disku CD, ktorý ste dostali s vašou základnou doskou, alebo z webovej stránky výrobcu základnej dosky.

Ak to nepomôže, nainštalujte si do počítača alternatívny program. Napríklad - bezplatné virtuálne zvukové zariadenie VB-CABLE : majiteľ vyššie uvedenej služby Speechpad.ru ho odporúča používať.

Prvý krok musíte vypnúť mikrofón pre použitie v režime nahrávania a namiesto toho povoliť stereo mixážny pult (alebo virtuálny VB-CABLE).

Ak to chcete urobiť, kliknite na ikonu reproduktora v pravom dolnom rohu (v blízkosti hodín) - alebo vyberte časť "Zvuk" v "Ovládacom paneli". Na karte „Záznam“ v okne, ktoré sa otvorí, kliknite pravým tlačidlom myši a začiarknite políčka vedľa položiek „Zobraziť odpojené zariadenia“ a „Zobraziť odpojené zariadenia“. Kliknite pravým tlačidlom myši na ikonu mikrofónu a vyberte možnosť „Stlmiť“ (vo všeobecnosti vypnite všetky zariadenia označené zelenou ikonou).

Kliknite pravým tlačidlom myši na ikonu stereo mixéra a vyberte možnosť „Povoliť“. Na ikone sa zobrazí zelená ikona, ktorá označuje, že stereo mixážny pult sa stal predvoleným zariadením.

Ak sa rozhodnete použiť VB-CABLE, povoľte ho rovnakým spôsobom v záložke „Záznam“.

A tiež - na karte "Prehrávanie".

Druhý krok. Zapnite nahrávanie zvuku v ľubovoľnom prehrávači (ak potrebujete dešifrovať zvukovú stopu videa, môžete spustiť aj prehrávač videa). Zároveň načítajte službu Speechpad.ru v prehliadači Chrome a kliknite na tlačidlo „Povoliť nahrávanie“. Ak je nahrávka dostatočne kvalitná, uvidíte, ako služba pred vašimi očami zmení reč na zmysluplnú a blízku pôvodnému textu. Pravda, bez interpunkčných znamienok, ktoré si budete musieť zariadiť sami.

Ako audio prehrávač vám radím používať AIMP, ktorému sa budeme podrobnejšie venovať v tretej podkapitole. Teraz len poznamenám, že tento prehrávač umožňuje spomaliť nahrávanie bez skreslenia reči, ako aj opraviť niektoré ďalšie chyby. To môže o niečo zlepšiť rozpoznávanie nie veľmi kvalitných nahrávok. (Niekedy sa dokonca odporúča predspracovať zlé nahrávky v profesionálnych programoch na úpravu zvuku. To je však podľa mňa príliš prácna úloha pre väčšinu používateľov, ktorí budú písať text ručne oveľa rýchlejšie. :))

2. Poloautomatické rozpoznávanie reči

Všetko je tu jednoduché. Ak je nahrávka nekvalitná a rozpoznávanie sa „dusí“ alebo služba produkuje príliš veľa chýb, pomôžte príčine sami „začlenením“ do reťazca: „audio prehrávač – hlásateľ – systém rozpoznávania“.

Vašou úlohou je počúvať nahraný prejav v slúchadlách a súčasne ho cez mikrofón diktovať službe rozpoznávania internetu. (Samozrejme, v zozname nahrávacích zariadení nie je potrebné prepínať z mikrofónu na stereo mixpult alebo virtuálny kábel, ako v predchádzajúcej časti). A ako alternatívu k vyššie uvedeným internetovým službám môžete použiť aplikácie pre smartfóny, ako je bezplatná Yandex.Dictation alebo funkcia diktovania na iPhone so systémom iOS 8 a vyšším.

Všimol som si, že v poloautomatickom režime máte možnosť okamžite diktovať interpunkčné znamienka, ktoré služby ešte nie sú schopné umiestniť do automatického režimu.

Ak sa vám podarí diktovať synchrónne s prehrávaním nahrávky na prehrávači, predbežný prepis zaberie takmer toľko času ako samotná nahrávka (nepočítajúc následný čas strávený opravou pravopisných a gramatických chýb). Ale aj práca podľa schémy: „počúvaj frázu – diktuj – počúvaj frázu – diktuj“ vám môže poskytnúť dobrú úsporu času v porovnaní s tradičným písaním.

Ako audio prehrávač odporúčam použiť rovnaký AIMP. Najprv ho môžete použiť na spomalenie prehrávania na rýchlosť, ktorá vám vyhovuje pri synchrónnom diktovaní. Po druhé, tento prehrávač môže vrátiť nahrávku na daný počet sekúnd: niekedy je to potrebné, aby ste lepšie počuli nezrozumiteľnú frázu.

3. Manuálny prepis hlasového záznamníka

To, že vás poloautomatické diktovanie omrzí príliš rýchlo, zistíte v praxi. Alebo robíte príliš veľa chýb so službou. Alebo vďaka vašim schopnostiam rýchleho písania je oveľa jednoduchšie vytvárať hotový opravený text na klávesnici ako pomocou diktovania. Alebo váš hlasový záznamník, mikrofón stereo náhlavnej súpravy alebo zvuková karta neposkytujú pre službu prijateľnú kvalitu zvuku. Alebo možno len nemáte možnosť diktovať nahlas vo svojej práci alebo domácej kancelárii.

Vo všetkých týchto prípadoch vám pomôže moja vlastná ručná metóda dekódovania (vypočujte si nahrávku v AIMP - napíšte do Wordu). S ním môžete premeniť poznámku na text rýchlejšie ako mnohí profesionálni novinári, ktorých rýchlosť písania je podobná tej vašej! Zároveň miniete oveľa menej energie a nervov ako oni. 🙂

Aký je hlavný dôvod plytvania energiou a časom pri prepise zvukových záznamov tradičným spôsobom? Vzhľadom na to, že používateľ robí veľa zbytočných pohybov.

Používateľ neustále naťahuje ruku k hlasovému záznamníku a potom ku klávesnici počítača. Zastavil som prehrávanie - napísal som počúvanú pasáž v textovom editore - znova som zapol prehrávanie - pretočil som nečitateľnú nahrávku späť - atď atď.

Používanie bežného softvérového prehrávača v počítači tento proces trochu zjednodušuje: používateľ musí neustále minimalizovať / rozširovať Word, zastavovať / spúšťať prehrávač a dokonca sa posúvať tam a späť pomocou posúvača prehrávača, aby našiel nečitateľný fragment, a potom sa vrátiť späť na posledné počúvané miesto v nahrávke.

Na zníženie týchto a iných strát času špecializované IT spoločnosti vyvíjajú softvérové ​​a hardvérové ​​prepisovače. Sú to dosť drahé riešenia pre profesionálov - tých istých novinárov, súdnych stenografov, vyšetrovateľov atď. Ale v skutočnosti sú pre naše účely potrebné iba dve funkcie:

  • schopnosť spomaliť prehrávanie hlasovej nahrávky bez jej skreslenia a zníženia tónu (veľa prehrávačov umožňuje spomaliť rýchlosť prehrávania - ale, bohužiaľ, zároveň sa ľudský hlas mení na obludný robotický hlas, ktorý je ťažko počuť na dlhú dobu);
  • možnosť zastaviť nahrávanie alebo ho vrátiť späť na určený počet sekúnd a vrátiť ho späť bez zastavenia písania a bez minimalizácie okna textového editora.

Svojho času som otestoval desiatky audio programov – a našiel som len dve cenovo dostupné platené aplikácie, ktoré spĺňajú tieto požiadavky. Mám jeden z nich. Hľadal som trochu viac pre svojich drahých čitateľov 🙂 - a našiel som úžasné bezplatné riešenie - prehrávač AIMP, ktorý stále používam.

„Po zadaní nastavení AIMP nájdite sekciu Global Keys a prekonfigurujte Stop/Start na kláves Escape (Esc). Verte mi, je to najpohodlnejšie, pretože na to nemusíte myslieť a prst vám náhodou nespadne na iné klávesy. Položky „Posunúť sa trochu dozadu“ a „Trochu dopredu“ nastavte na klávesy Ctrl + dozadu/dopredu (na klávesnici máte štyri klávesy so šípkami - vyberte dve z nich). Táto funkcia je potrebná na opätovné vypočutie posledného fragmentu alebo na preskočenie trochu dopredu.

Potom vyvolaním EQ môžete znížiť hodnoty Velocity a Tempo - a zvýšiť hodnotu Pitch. V tomto prípade si všimnete, že rýchlosť prehrávania sa spomalí, ale výška hlasu (ak dobre zvolíte hodnotu „Pitch“) sa nezmení. Zvoľte tieto dva parametre, aby ste mali čas písať takmer súčasne, len občas ho zastavte.

Keď je všetko nastavené, písanie vám zaberie menej času a vaše ruky budú menej unavené. Zvukový záznam budete môcť prepisovať pokojne a pohodlne, prakticky bez toho, aby ste zdvihli prsty od písania na klávesnici.“

K tomu, čo bolo povedané, môžem len dodať, že ak nahrávka nie je veľmi kvalitná, môžete sa pokúsiť vylepšiť jej prehrávanie experimentovaním s inými nastaveniami v Správcovi zvukových efektov AIMP.

A počet sekúnd, počas ktorých bude pre vás najpohodlnejšie pohybovať sa v zázname dozadu alebo dopredu pomocou klávesových skratiek - nastavte v časti „Prehrávač“ v okne „Nastavenia“ (ktoré je možné vyvolať stlačením klávesových skratiek "Ctrl + P").

Prajem vám, aby ste ušetrili viac času na rutinné úlohy - a plodne ho využili na hlavné veci! 🙂 A nezabudnite si zapnúť mikrofón v zozname nahrávacích zariadení, keď sa chystáte rozprávať cez Skype! 😉

3 spôsoby prepisu hlasového záznamu: rozpoznávanie reči, diktovanie, manuálny režim

Aktualizované: pondelok 31. júla 2017

Čo má polofantastická myšlienka rozhovoru s počítačom spoločné s profesionálnou fotografiou? Takmer žiadny, ak nie ste fanúšikom myšlienky nekonečného rozvoja celého technického prostredia človeka. Na chvíľu si predstavte, že svojmu fotoaparátu dávate hlasové príkazy na zmenu ohniskovej vzdialenosti a korekciu expozície o pol kroku plus. Diaľkové ovládanie kamery už bolo implementované, ale tam musíte ticho stláčať tlačidlá a tu je fotik sluchu!

Stalo sa tradíciou uvádzať nejaký fantastický film ako príklad ľudskej hlasovej komunikácie s počítačom, teda aspoň „Vesmírna odysea 2001“ režiséra Stanleyho Kubricka. Palubný počítač tam nielen vedie zmysluplný dialóg s astronautmi, ale dokáže čítať z pier ako nepočujúci. Inými slovami, stroj sa naučil bez chýb rozpoznávať ľudskú reč. Možno sa niekomu bude zdať diaľkové hlasové ovládanie fotoaparátu nadbytočné, no mnohým by sa toto slovné spojenie páčilo "Zober nás, baby" a obraz celej rodiny na pozadí palmy je hotový.

No a tu som vzdal hold tradícii, trochu fantazírovaný. Ale, hovorím z hĺbky môjho srdca, tento článok sa písal ťažko a všetko to začalo darčekom v podobe smartfónu s OS Android 4. Tento model HUAWEI U8815 má malý štvorpalcový dotykový displej a klávesnicu na obrazovke. Písať na ňom je trochu nezvyčajné, ale ukázalo sa, že to nie je zvlášť potrebné. (obrázok 01)

1. Rozpoznávanie hlasu v smartfóne s OS Android

Pri skúšaní novej hračky som si všimol vo vyhľadávacom paneli grafiku mikrofónu. Google a na klávesnici v aplikácii Notes. Predtým ma nezaujímalo, čo tento symbol znamená. Mal som rozhovory Skype a písali písmená na klávesnici. Toto robí väčšina používateľov internetu. Ale ako mi neskôr vysvetlili, vo vyhľadávači Google pribudlo hlasové vyhľadávanie v ruštine a objavili sa programy, ktoré umožňujú diktovať krátke správy pri používaní prehliadača Chrome.

Povedal som frázu troch slov, program ich identifikoval a ukázal v bunke s modrým pozadím. Bolo sa čomu čudovať, pretože všetky slová boli napísané správne. Ak kliknete na túto bunku, fráza sa zobrazí v textovom poli androidového poznámkového bloku. Povedal teda pár fráz a poslal správu asistentovi cez SMS.


2. Stručná história programov rozpoznávania hlasu.

Nebolo pre mňa objavom, že moderné výdobytky v oblasti hlasového ovládania umožňujú dávať príkazy domácim spotrebičom, autu, robotovi. Príkazový režim bol zavedený v minulých verziách Windows, OS/2 a Mac OS. Videl som programy pre hovorcov, ale načo mi to je? Možno je mojou zvláštnosťou, že sa mi ľahšie hovorí ako píše na klávesnici a na mobile neviem písať vôbec nič. Kontakty musíte nahrávať na notebook s bežnou klávesnicou a prenášať cez USB kábel. Ale len hovoriť do mikrofónu a počítač sám napísal text bez chýb - to bol pre mňa sen. Atmosféru beznádeje podporili diskusie na fórach. Všade ich napadla taká smutná myšlienka:

„Avšak v praxi doteraz programy na skutočné rozpoznávanie reči (a dokonca ani v ruštine) prakticky neexistujú a zrejme sa čoskoro nevytvoria. Navyše ani inverzná úloha rozpoznávania - syntéza reči, ktorá, zdá sa, je oveľa jednoduchšia ako rozpoznávanie, nebola úplne vyriešená. (ComputerPress №12, 2004)

„Dodnes neexistujú žiadne normálne programy na rozpoznávanie reči (nielen v ruštine), pretože táto úloha je pre počítač dosť náročná. A najhoršie je, že nebol zrealizovaný mechanizmus rozpoznávania slov človekom, takže pri tvorbe programov na rozpoznávanie nie je na čom stavať. (Ďalšia diskusia na fóre).

Recenzie programov na zadávanie textu v anglickom jazyku zároveň naznačili jasné úspechy. Napríklad, IBM ViaVoice 98 Executive Edition mali základný slovník 64 000 slov a možnosť pridať rovnaký počet vlastných slov. Percento rozpoznania slov bez školenia programu bolo asi 80% a pri následnej práci s konkrétnym používateľom to bolo 95%.

Z programov na rozpoznávanie ruského jazyka stojí za zmienku "Gorynych" - doplnok k anglickému Dragon Dictate 2.5. O hľadaní a potom o „bitke s piatimi Gorynychmi“ vám poviem v druhej časti recenzie. Ako prvého som našiel „Anglického draka“.

3. Program na rozpoznávanie súvislej reči „Dragon Naturally Speaking“

Moderná verzia programu spoločnosti Nuance Ukázalo sa, že som bol s mojím starým priateľom z Minského inštitútu cudzích jazykov. Priniesla si ho zo zahraničnej cesty a kúpila si ho v domnení, že by mohla byť „sekretárkou počítača“. Niečo však nefungovalo a program zostal takmer zabudnutý na prenosnom počítači. Kvôli nedostatku akéhokoľvek zrozumiteľného zážitku som musel ísť za kamarátom sám. Celý tento dlhý úvod je potrebný na správne pochopenie záverov, ktoré som vyvodil.

Celé meno môjho prvého draka bolo: . Program je v angličtine a všetko je v ňom prehľadné aj bez manuálu. Prvým krokom je vytvorenie profilu konkrétneho používateľa na určenie vlastností zvuku slov v jeho podaní. Čo som urobil – dôležitý je vek hovoriaceho, krajina, zvláštnosti výslovnosti. Moja voľba je: vek 22-54, angličtina UK, štandardná výslovnosť. Ďalej nasleduje niekoľko okien, v ktorých nastavíte mikrofón. (image04)

Ďalšou fázou serióznych programov rozpoznávania reči je nácvik konkrétnej výslovnosti konkrétnej osoby. Vyzývame vás, aby ste si zvolili charakter textu: môj výber je stručný návod na diktovanie, ale môžete si „objednať“ aj humorný príbeh.

Podstata tejto fázy práce s programom je mimoriadne jednoduchá - text sa zobrazuje v okne, nad ním je žltá šípka. Pri správnej výslovnosti sa šípka pohybuje medzi frázami a v spodnej časti je lišta priebehu tréningu. Anglický konverzačný program som dosť zabudol, takže som sa pohyboval len ťažko. Limitovaný bol aj čas – počítač predsa nebol môj a musel som tréning prerušiť. Ale kamarátka povedala, že test urobila za menej ako pol hodiny. (obrázok 05)

Odmietol som prispôsobiť program mojej výslovnosti, prešiel som do hlavného okna a spustil som vstavaný textový editor. Hovoril oddelené slová z niektorých textov, ktoré našiel v počítači. Tie slová, ktoré povedal správne, vytlačený program, tie, ktoré povedal zle, nahradil niečím „anglickým“. Po jasnom vyslovení príkazu „erase line“ v angličtine to program splnil. To znamená, že príkazy čítam správne a program ich rozpoznáva bez predchádzajúceho tréningu.

Ale pre mňa bolo dôležité, ako tento „drak“ píše po rusky. Ako ste pochopili z predchádzajúceho popisu, pri tréningu programu môžete vybrať iba anglický text, jednoducho tam nie je žiadny ruský text. Je jasné, že trénovať rozpoznávanie ruskej reči nebude fungovať. Na ďalšej fotografii môžete vidieť, akú frázu program napísal pri vyslovení ruského slova „Ahoj“. (obrázok 06)

Výsledok komunikácie s prvým drakom dopadol mierne komicky. Ak si pozorne prečítate text na oficiálnej stránke, môžete vidieť anglickú „špecializáciu“ tohto softvérového produktu. Okrem toho pri načítaní čítame v okne programu "Angličtina". Prečo bolo toto všetko potrebné? Je jasné, že na vine sú fóra a fámy ...

Existuje však aj užitočná skúsenosť. Moja kamarátka sa pýtala, v akom stave je jej laptop. Nejako pomaly začal pracovať. To nie je prekvapujúce - systémový oddiel mal iba 5% voľného miesta. Pri odstraňovaní nepotrebných programov som videl, že oficiálna verzia zabrala viac ako 2,3 GB. Toto číslo budeme potrebovať neskôr. (image.07)



Ako sa ukázalo, rozpoznávanie ruskej reči nebola triviálna úloha. V Minsku sa mi podarilo nájsť „Gorynycha“ od kamaráta. Disk dlho hľadal vo svojich starých troskách a podľa jeho slov ide o oficiálnu publikáciu. Program sa okamžite nainštaloval a zistil som, že jeho slovník obsahuje 5000 ruských slov plus 100 príkazov a 600 anglických slov plus 31 príkazov.

Najprv musíte nastaviť mikrofón, čo som urobil. Potom som otvoril slovník a pridal som slovo "vyšetrenie" pretože to nebolo v slovníku programu. Snažil som sa hovoriť jasne, monotónne. Nakoniec som otvoril program Gorynych Pro 3.0, zapol režim diktovania a získal tento zoznam „slov, ktoré znejú podobne“. (image.09)

Výsledok ma zmiatol, pretože sa jasne líšil k horšiemu od práce smartfónu s Androidom a rozhodol som sa vyskúšať iné programy od „ Internetový obchod Google Chrome". A riešenie „gorynych hadov“ odložil na neskôr. Myslel som toto odklad akcia v originálnom ruskom duchu

5. Hlasové schopnosti Google

Ak chcete pracovať s hlasom na bežnom počítači s OS Windows, budete si musieť nainštalovať prehliadač Google Chrome. Ak v ňom pracujete na internete, tak vpravo dole môžete kliknúť na odkaz na obchod so softvérom. Darmo som tam našiel dva programy a dve nadstavby pre hlasové zadávanie textu. Programy sú tzv "Hlasový zápisník" a "Voysnot - hlas na text". Po inštalácii ich nájdete na karte "aplikácie" váš prehliadač "Chromium". (obr. 10)

Rozšírenia sú tzv "Kľúčové slovo Google Voice Search (Beta) 0.1.0.5" a "Text hlasového vstupu - Speechpad.ru 5.4". Po inštalácii ich možno na karte vypnúť alebo odstrániť "rozšírenia".(obr. 11)

Hlasová poznámka. Na karte aplikácie v prehliadači Chrome dvakrát kliknite na ikonu programu. Otvorí sa dialógové okno, ako je znázornené na obrázku nižšie. Kliknutím na ikonu mikrofónu hovoríte krátke frázy do mikrofónu. Program odošle vaše slová na server rozpoznávania reči a napíše text do okna. Všetky slová a frázy zobrazené na obrázku boli napísané na prvý pokus. Je zrejmé, že táto metóda funguje iba s aktívnym internetovým pripojením. (obr. 12)

Hlasový poznámkový blok. Ak spustíte program na karte aplikácií, otvorí sa nová karta internetovej stránky Speechpad.ru. K dispozícii je podrobný návod na používanie tejto služby a kompaktný formulár. Posledné uvedené je znázornené na obrázku nižšie. (obr. 13)

Hlasový vstup text vám umožňuje vypĺňať textové polia internetových stránok vašim hlasom. Napríklad som išiel na svoju stránku Google+. Vo vstupnom poli novej správy kliknite pravým tlačidlom myši a vyberte "SpeechPad". Ružovo sfarbené vstupné pole hovorí, že svoj text môžete diktovať. (obr. 14)

Hlasové vyhľadávanie Google umožňuje vyhľadávanie podľa hlasu. Keď nainštalujete a aktivujete toto rozšírenie, vo vyhľadávacom paneli sa zobrazí symbol mikrofónu. Keď ho stlačíte, vo veľkom červenom kruhu sa zobrazí symbol. Stačí vysloviť hľadaný výraz a zobrazí sa vo výsledkoch vyhľadávania. (obr. 15)

Dôležitá poznámka: Aby mikrofón fungoval s rozšíreniami prehliadača Chrome, musíte v nastaveniach prehliadača povoliť prístup k mikrofónu. Z bezpečnostných dôvodov je predvolene vypnutá. Vstúpte Nastavenia→ Osobné údaje→ Nastavenia obsahu. (Pre prístup ku všetkým nastaveniam na konci zoznamu kliknite na Ukázať pokročilé nastavenia). Otvorí sa dialógové okno Nastavenia obsahu stránky. Vyberte položku v zozname Multimédiá→mikrofón.

6. Výsledky práce s ruskými programami na rozpoznávanie reči

Malé skúsenosti s používaním programov na zadávanie textu hlasom ukázali vynikajúcu implementáciu tejto funkcie na serveroch internetovej spoločnosti Google. Bez akéhokoľvek predchádzajúceho tréningu sú slová rozpoznávané správne. To naznačuje, že problém rozpoznávania ruskej reči bol vyriešený.

Teraz môžeme povedať, že výsledok vývoja Google bude novým kritériom hodnotenia produktov od iných výrobcov. Chcel by som, aby systém rozpoznávania fungoval offline bez kontaktovania serverov spoločnosti - je to pohodlnejšie a rýchlejšie. Kedy však bude vydaný nezávislý program na prácu s nepretržitým prúdom ruskej reči, nie je známe. Stojí však za to predpokladať, že s možnosťou trénovať toto „stvorenie“ bude skutočným prielomom.

Programy ruských vývojárov "Gorynych", "Diktograf" a "boj" Podrobne sa budem venovať v druhej časti tejto recenzie. Tento článok bol napísaný veľmi pomaly, pretože hľadanie originálnych diskov je teraz ťažké. Momentálne už mám všetky verzie ruského softvéru na rozpoznávanie hlasu a textu, okrem Combat 2.52. Nikto z mojich priateľov ani kolegov tento program nemá a ja sám mám na fórach len pár pochvalných recenzií. Je pravda, že existovala taká zvláštna možnosť - stiahnuť si "Combat" cez SMS, ale nepáči sa mi to. (obrázok 16)


Krátky videoklip vám ukáže, ako funguje rozpoznávanie reči v smartfóne s OS Android. Funkciou hlasového vytáčania je potreba pripojenia k serverom Google. Internet by vám teda mal fungovať

) na skutočnom príklade ovládania domácich spotrebičov Hello World.
Prečo domáce spotrebiče? Áno, pretože vďaka takémuto príkladu to človek dokáže oceniť rýchlosť a presnosť, čo je možné dosiahnuť použitím úplne lokálne rozpoznávanie reči bez typových serverov Google ASR alebo Yandex SpeechKit.
K článku pripájam aj všetky zdrojové kódy programu a samotnej zostavy pre Android.

Prečo zrazu?

Keď som na to nedávno narazil, spýtal som sa autora, prečo chce pre svoj program použiť rozpoznávanie reči na strane servera (podľa môjho názoru to bolo nadbytočné a viedlo to k určitým problémom). Na čo som dostal protiotázku, či by som mohol podrobnejšie popísať použitie alternatívnych metód pri projektoch, kde netreba nič rozpoznávať a slovník pozostáva z konečnej množiny slov. Navyše s príkladom praktickej aplikácie ...

Prečo potrebujeme niečo iné okrem Yandex a Google?

Ako veľmi „praktickú aplikáciu“ som si vybral tému hlasové ovládanie inteligentnej domácnosti.
Prečo takýto príklad? Pretože na ňom môžete vidieť tých pár výhod úplne lokálneho rozpoznávania reči oproti rozpoznávaniu pomocou cloudových riešení. menovite:
  • Rýchlosť- nie sme závislí od serverov, a preto nezávisíme od ich dostupnosti, šírky pásma atď. faktory
  • Presnosť- náš engine pracuje iba so slovníkom, o ktorý má naša aplikácia záujem, čím sa zvyšuje kvalita rozpoznávania
  • cena- nemusíme platiť za každú požiadavku na server
  • Hlasová aktivácia- ako ďalší bonus k prvým bodom - môžeme neustále "počúvať vzduch" bez plytvania návštevnosťou a bez načítania servera

Poznámka

Okamžite urobím výhradu, že tieto výhody možno považovať za výhody len pre určitú triedu projektov, Kde sme vieme určite, s ktorým slovníkom a akou gramatikou bude používateľ pracovať. Teda vtedy, keď nepotrebujeme rozpoznať ľubovoľný text (napríklad SMS správu, alebo vyhľadávací dopyt). V opačnom prípade je rozpoznávanie cloudu nevyhnutné.

Android teda dokáže rozpoznať reč bez internetu!
Áno, áno... Len na JellyBean. A to len z pol metra, nie viac. A toto uznanie je rovnaký diktát, len s použitím oveľa menšieho modelu. Nemôžeme ho teda spravovať a konfigurovať. A čo nám vráti nabudúce, nevedno. Hoci na SMS-ok tak akurát!

Čo urobíme?

Implementujeme hlasové diaľkové ovládanie pre domáce spotrebiče, ktoré bude fungovať presne a rýchlo, z niekoľkých metrov a dokonca aj na lacné brzdové haraburdy na veľmi lacné Android smartfóny, tablety a hodinky.
Logika bude jednoduchá, ale veľmi praktická. Aktivujeme mikrofón a vyslovíme jeden alebo viac názvov zariadení. Aplikácia ich rozpozná a zapína alebo vypína v závislosti od aktuálneho stavu. Buď od nich dostane stav a vysloví ho príjemným ženským hlasom. Napríklad aktuálna teplota v miestnosti.

Veľa praktických aplikácií

Ráno bez toho, aby otvorili oči, udreli obrazovku smartfónu na nočný stolík a zavelili „Dobré ráno!“ - scenár sa spustí, kávovar sa zapne a zabzučí, ozve sa príjemná hudba, závesy sa oddelia.
Zaveste si lacný (2 tisíc, nie viac) smartfón v každej miestnosti na stenu. Po práci ideme domov a do prázdna zavelíme „Inteligentný domov! Svetlo, TV! - Čo bude ďalej, myslím, nie je potrebné hovoriť.

Prepisy



Gramatika popisuje čo čo môže používateľ povedať. Aby Pocketsphinx vedela ako vysloví, je potrebné ku každému slovu z gramatiky napísať, ako znie v príslušnom jazykovom modeli. Teda prepis každé slovo. To sa nazýva slovník.

Prepisy sú opísané pomocou špeciálnej syntaxe. Napríklad:
chytrý uu m n ay j dom d oo m

V zásade nič zložité. Dvojhláska v transkripcii označuje prízvuk. Obojstranná spoluhláska je mäkká spoluhláska, po ktorej nasleduje samohláska. Všetky možné kombinácie pre všetky zvuky ruského jazyka.

Je jasné, že nemôžeme vopred opísať všetky prepisy v našej aplikácii, pretože vopred nepoznáme mená, ktoré používateľ svojim zariadeniam dá. Preto budeme takéto prepisy generovať za behu podľa niektorých pravidiel ruskej fonetiky. Ak to chcete urobiť, môžete implementovať takú triedu PhonMapper, ktorá môže prijať reťazec ako vstup a vygenerovať preň správny prepis.

Hlasová aktivácia

Ide o schopnosť nástroja na rozpoznávanie reči neustále „počúvať vzduch“ s cieľom reagovať na preddefinovanú frázu (alebo frázy). Všetky ostatné zvuky a reč budú vyradené. Nie je to to isté ako opísať gramatiku a jednoducho zapnúť mikrofón. Nebudem tu uvádzať teóriu tejto úlohy a mechaniku jej fungovania. Dovoľte mi povedať, že nedávno programátori pracujúci na Pocketsphinx implementovali takúto funkciu a teraz je k dispozícii priamo v API.

Jedna vec určite stojí za zmienku. Pre aktivačnú frázu musíte nielen špecifikovať prepis, ale aj vybrať vhodný prahová hodnota citlivosti. Príliš malá hodnota povedie k množstvu falošných poplachov (to je vtedy, keď ste nepovedali aktivačnú frázu, ale systém ju rozpozná). A príliš vysoká - na imunitu. Preto je toto nastavenie mimoriadne dôležité. Približný rozsah hodnôt - od 1e-1 do 1e-40 v závislosti od aktivačnej frázy.

Aktivácia blízkosti

Táto úloha je špecifická pre náš projekt a nesúvisí priamo s uznaním. Kód je možné vidieť priamo v hlavnej aktivite.
Uvedomuje si SensorEventListener a v momente priblíženia (hodnota snímača je menšia ako maximálna hodnota) spustí časovač, pričom po určitom oneskorení skontroluje, či je snímač stále zablokovaný. Deje sa tak, aby sa predišlo falošným pozitívam.
Keď sa senzor opäť nezablokuje, zastavíme rozpoznávanie a získame výsledok (pozri popis nižšie).

Začíname s rozpoznávaním

Pocketsphinx poskytuje pohodlné API na konfiguráciu a spustenie procesu rozpoznávania. Toto sú triedy SpechRecognizer a SpeechRecognizerSetup.
Takto vyzerá konfigurácia a spustenie rozpoznávania:

PhonMapper phonMapper = new PhonMapper(getAssets().open("dict/ru/hotwords")); Gramatická gramatika = new Grammar(names, phonMapper); gramatika.addWords(hotword); DataFiles dataFiles = new DataFiles(getPackageName(), "ru"); Súbor hmmDir = new File(dataFiles.getHmm()); File dict = new File(dataFiles.getDict()); Súbor jsgf = nový Súbor(dataFiles.getJsgf()); copyAssets(hmmDir); saveFile(jsgf, gramatika.getJsgf()); saveFile(dikt, gramatika.getDict()); mRecognizer = SpeechRecognizerSetup.defaultSetup() .setAcousticModel(hmmDir) .setDictionary(dict) .setBoolean("-remove_noise", false) .setKeywordThreshold(1e-7f) .getRecognizer(); mRecognizer.addKeyphraseSearch(KWS_SEARCH, kľúčové slovo); mRecognizer.addGrammarSearch(COMMAND_SEARCH, jsgf);

Tu najskôr skopírujeme všetky potrebné súbory na disk (Pocketpshinx vyžaduje akustický model, gramatický a transkripčný slovník na disku). Potom sa nakonfiguruje samotný rozpoznávací mechanizmus. Zadané sú cesty k súborom modelu a slovníka, ako aj niektoré parametre (prah citlivosti pre aktivačnú frázu). Ďalej sa nakonfiguruje cesta k súboru s gramatikou, ako aj aktivačná fráza.

Ako môžete vidieť z tohto kódu, jeden motor je nakonfigurovaný na rozpoznávanie gramatiky aj aktivačnej frázy naraz. Prečo sa to robí? Aby sme mohli rýchlo prepínať medzi tým, čo aktuálne potrebujeme rozpoznať. Takto vyzerá spustenie procesu rozpoznávania aktivačnej frázy:

MRecognizer.startListening(KWS_SEARCH);
A takto - rozpoznávanie reči podľa danej gramatiky:

MRecognizer.startListening(COMMAND_SEARCH, 3000);
Druhý argument (voliteľný) je počet milisekúnd, po ktorých sa rozpoznávanie automaticky ukončí, ak nikto nič nepovie.
Ako vidíte, na vyriešenie oboch problémov môžete použiť iba jeden motor.

Ako získať výsledok rozpoznávania

Ak chcete získať výsledok rozpoznávania, musíte zadať aj prijímač udalostí, ktorý implementuje rozhranie RecognitionListener.
Má niekoľko metód, ktoré volá pocketsphinx, keď nastane jedna z udalostí:
  • onBeginningOfSpeech- motor počul nejaký zvuk, možno je to reč (alebo možno nie)
  • onEndOfSpeech- zvuk skončil
  • onPartialResult- existujú medzivýsledky rozpoznávania. Pre aktivačnú frázu to znamená, že to fungovalo. Argumentovať Hypotéza
  • onResult- konečný výsledok uznania. Táto metóda sa zavolá po jej zavolaní zastaviť pri SpeechRecognizer. Argumentovať Hypotéza obsahuje rozpoznávacie údaje (reťazec a skóre)

Implementáciou metód onPartialResult a onResult jedným alebo druhým spôsobom môžete zmeniť logiku rozpoznávania a získať konečný výsledok. Pre našu aplikáciu sa to robí takto:

@Override public void onEndOfSpeech() ( Log.d(TAG, "onEndOfSpeech"); if (mRecognizer.getSearchName().equals(COMMAND_SEARCH)) ( mRecognizer.stop(); ) ) @Override public void onPartialResult(Hypothesis hypothesis) ( if (hypothesis == null) return; String text = hypothesis.getHypstr(); if (KWS_SEARCH.equals(mRecognizer.getSearchName())) ( startRecognition(); ) else ( Log.d(TAG, text); ) ) @Override public void onResult(hypothesis hypothesis) ( mMicView.setBackgroundResource(R.drawable.background_big_mic); mHandler.removeCallbacks(mStopRecognitionCallback); Text reťazca = hypotéza != null ? (hypotéza.getHypnustrll) , "onResult " + text); if (COMMAND_SEARCH.equals(mRecognizer.getSearchName())) ( if (text != null) ( Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); process(text ); ) mRecognizer.startListening(KWS_SEARCH); ) )

Keď prijmeme udalosť onEndOfSpeech a zároveň rozpoznáme príkaz, ktorý sa má vykonať, musíme zastaviť rozpoznávanie, po čom sa okamžite zavolá onResult.
V onResult musíte skontrolovať, čo bolo práve rozpoznané. Ak ide o príkaz, musíte ho spustiť na vykonanie a prepnúť motor, aby rozpoznal aktivačnú frázu.
V onPartialResult nás zaujíma iba rozpoznanie aktivačnej frázy. Ak ho zistíme, okamžite spustíme proces rozpoznania príkazu. Vyzerá to takto:

Súkromné ​​synchronizované void startRecognition() ( if (mRecognizer == null || COMMAND_SEARCH.equals(mRecognizer.getSearchName())) návrat; mRecognizer.cancel(); nový ToneGenerator(AudioManager.STREAM_MUSIC, ToneGenerator.MAX_VOLUME.start.MAXTonenerG. TONE_CDMA_PIP, 200); post(400, nové Runnable() ( @Override public void run() ( mMicView.setBackgroundResource(R.drawable.background_big_mic_green); mRecognizer.startListening(COMMAND_SEARCH, 3000); Log.distening príkazy"); post(4000, mStopRecognitionCallback); ) )); )
Tu najprv zahráme malý signál, aby sme používateľovi dali vedieť, že sme ho počuli a sme pripravení na jeho príkaz. Počas tejto doby musí byť mikrofón vypnutý. Preto rozpoznávanie spustíme po malom timeoute (trochu dlhšom ako je trvanie signálu, aby sme nepočuli jeho ozvenu). Spustí tiež vlákno, ktoré vynúti zastavenie rozpoznávania, ak používateľ hovorí príliš dlho. V tomto prípade sú to 3 sekundy.

Ako zmeniť rozpoznaný reťazec na príkazy

Všetko je už špecifické pre konkrétnu aplikáciu. V prípade nahého príkladu jednoducho vytiahneme z riadku názvy zariadení, vyhľadáme požadované zariadenie a buď zmeníme jeho stav pomocou HTTP požiadavky na ovládač inteligentnej domácnosti, alebo nahlásime jeho aktuálny stav (ako napr. termostat). Túto logiku možno vidieť v triede Controller.

Ako syntetizovať reč

Syntéza reči je inverzná operácia rozpoznávania. Tu je naopak potrebné premeniť riadok textu na reč, aby ho používateľ počul.
V prípade termostatu musíme prinútiť naše zariadenie Android povedať aktuálnu teplotu. Pomocou API Prevod textu na reč je to celkom jednoduché (vďaka Googlu za krásnu ženskú TTS pre ruský jazyk):

Súkromné ​​void speak(String text) ( synchronizované (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, "pravda"); mTextToSpeech.speak(text, TextToSpeech.QUEUE_ADD, parametre); ))

Asi poviem, že je to banálne, ale pred procesom syntézy je potrebné deaktivovať rozpoznávanie. Na niektorých zariadeniach (napríklad na všetkých Samsungoch) je vo všeobecnosti nemožné počúvať mikrofón a zároveň niečo syntetizovať.
Koniec syntézy reči (to znamená koniec procesu hovorenia textu syntetizátorom) možno sledovať v poslucháčovi:

Súkromné ​​finále TextToSpeech.OnUtteranceCompletedListener mUtteranceCompletedListener = new TextToSpeech.OnUtteranceCompletedListener() ( @Override public void onUtteranceCompleted(String utteranceId) (synchronizované (mSpeechQueue) (Empechstarting(Speechpoleue.) KWS_SEARCH); ) ) ) );

V ňom jednoducho skontrolujeme, či sa vo fronte syntézy nenachádza niečo iné, a zapneme rozpoznávanie aktivačnej frázy, ak tam nie je nič iné.

A to je všetko?

Áno! Ako vidíte, nie je ťažké rýchlo a presne rozpoznať reč priamo na zariadení vďaka prítomnosti takých úžasných projektov, ako je Pocketsphinx. Poskytuje veľmi praktické API, ktoré možno použiť na riešenie problémov súvisiacich s rozpoznávaním hlasových príkazov.

V tomto príklade sme priskrutkovali rozpoznávanie na úplne správnu úlohu - hlasové ovládanie zariadení inteligentnej domácnosti. Vďaka lokálnemu rozpoznaniu sme dosiahli veľmi vysokú rýchlosť a minimalizovali chyby.
Je jasné, že rovnaký kód možno použiť aj na iné úlohy súvisiace s hlasom. Nemusí to byť inteligentná domácnosť. Pridať značky