• Хэрхэн офлайнаар дуу хоолой танихыг идэвхжүүлэх вэ. Ширээний .NET програмуудыг ашиглан яриа таних офлайн андройд хэлийг таних

    12.12.2021

    Бүтээгдэхүүн, технологи:

    Visual Studio, C#, .NET ярианы сангууд

    Нийтлэлд:

    • консолын програмд ​​яриа таних дэмжлэгийг нэмэх;
    • хүлээн зөвшөөрөгдсөн яриаг боловсруулах;
    • яриа таних номын санг суурилуулах;
    • Microsoft.Speech болон System.Speech-ийн харьцуулалт;
    • Windows Forms програмд ​​яриа таних дэмжлэгийг нэмж байна.

    Windows Phone Cortana, хэл ярианы тусламжтайгаар идэвхжүүлдэг хувийн туслах (түүнчлэн дэмий ярихын аргагүй жимсний компани) бий болсноор ярианы функцтэй програмууд програм хангамж хөгжүүлэхэд улам бүр нэр хүндтэй болж байна. Энэ нийтлэлд би Windows консолын програмууд, Windows Forms програмууд болон Windows Presentation Foundation (WPF) дээр яриа таних, нэгтгэх үйлдлийг хэрхэн эхлүүлэхийг харуулах болно.

    Та мөн Windows Phone програмууд, ASP.NET вэб програмууд, Windows Store програмууд, Windows RT болон Xbox Kinect-д ярианы чадварыг нэмж болно гэдгийг анхаарна уу, гэхдээ техник нь энэ нийтлэлд авч үзсэнээс ялгаатай.

    Сайн аргаЭнэ нийтлэлд яг юу ярихыг ойлгохын тулд хоёр өөр демо програмын дэлгэцийн агшинг харна уу будаа. 1Тэгээд 2 . Консол програмыг ажиллуулсны дараа будаа. 1тэр даруй "Би сэрүүн байна" гэсэн хэллэгийг хэлдэг. Мэдээжийн хэрэг, та энэ нийтлэлийг уншиж байхдаа демо програмыг сонсох боломжгүй тул компьютерийн хэлж байгаа текстийг харуулах болно. Дараа нь хэрэглэгч "Яриа асаах" командыг хэлдэг. Демо програм нь хүлээн зөвшөөрөгдсөн текстээр хариу өгч, дараа нь хоёр тоо нэмэх хүсэлтийг дотооддоо сонсож, хариу өгдөг.

    Цагаан будаа. 1. Консолын программ дахь яриа таних, нэгтгэх


    Цагаан будаа. 2. Windows Forms программ дахь яриа таних

    Хэрэглэгч програмаас нэг, хоёр, дараа нь хоёр, гурав нэмэхийг хүссэн. Аппликейшн нь ярианы командуудыг таньж, дуу хоолойгоор хариулт өгсөн. Би дараа нь яриа таних аргыг ашиглах илүү ашигтай аргуудыг тайлбарлах болно.

    Дараа нь хэрэглэгч "Яриа унтраах" гэж хэлсэн бөгөөд энэ нь нэмэлт командуудыг сонсохыг идэвхгүй болгодог боловч яриа танихыг бүрэн идэвхгүй болгодоггүй. Энэ аман тушаалын дараа нэг, хоёрыг нэмэх дараагийн командыг үл тоомсорлов. Эцэст нь хэрэглэгч сонсох командыг дахин асааж, "Klatu barada nikto" гэсэн утгагүй командыг хэлсэн нь програм нь яриа танихыг бүрэн идэвхгүй болгож, өөрийгөө зогсоох тушаал гэж хүлээн зөвшөөрсөн.

    Асаалттай будаа. 2нь дамми яриа идэвхжүүлсэн Windows Forms програмыг харуулж байна. Энэ аппликейшн нь ярианы командыг таньдаг боловч дуут гаралтаар хариу үйлдэл үзүүлэхгүй. Таныг анх аппликешныг эхлүүлэх үед "Яриа асаах" нүдийг тэмдэглээгүй байсан нь яриа таних идэвхгүй байгааг харуулж байна. Хэрэглэгч энэ хайрцгийг шалгаад "Сайн уу" гэж хэлэв. Програм нь цонхны доод талд байгаа ListBox удирдлагад танигдсан текстийг харуулах замаар хариу үйлдэл үзүүлсэн.

    Дараа нь хэрэглэгч "Текстийн хайрцгийг 1 улаан болгож тохируулна уу" гэж хэлсэн. Аппликешн яриаг таньж, "Текстийн хайрцгийг 1 улаанаар тохируулна уу" гэж хариулсан нь хэрэглэгчийн хэлсэнтэй яг адилхан (гэхдээ тийм биш). Хэдийгээр асаалттай будаа. 2Та үүнийг харахгүй байна, цонхны дээд талд байгаа TextBox удирдлага дахь текст үнэхээр улаан өнгөтэй байна.

    Дараа нь хэрэглэгч: "Текстийн хайрцгийг 1-р цагаан болгож тохируулна уу." Апп нь үүнийг "текст хайрцаг 1 цагаанаар тохируулах" гэж хүлээн зөвшөөрч, үүнийг хийсэн. Хэрэглэгч "Баяртай" гэж хэлсэн үгээ дуусгасан бөгөөд програм нь тэр текстийг харуулсан боловч Windows Forms дээр юу ч хийгээгүй, жишээлбэл, "Яриа асаах" нүдийг арилгах боломжтой байсан.

    Синтезаторын объектыг ашиглах нь маш энгийн.

    Дараах хэсгүүдэд би танд шаардлагатай .NET ярианы сангуудыг суулгах зэрэг демо программуудыг хоёуланг нь бий болгох үйл явцыг зааж өгөх болно. Энэ нийтлэлд та ядаж дунд зэргийн програмчлалын чадвартай, гэхдээ яриа таних, синтезийн талаар юу ч мэдэхгүй гэж үздэг.

    Консолын програмд ​​яриа таних дэмжлэгийг нэмж байна

    Үзүүлсэн демо үүсгэхийн тулд будаа. 1, Би Visual Studio-г эхлүүлж, ConsoleSpeech нэртэй шинэ C# консол программыг үүсгэсэн. Би ярианы хэрэгслийг Visual Studio 2010 болон 2012 дээр амжилттай ашигласан, гэхдээ харьцангуй сүүлийн үеийн хувилбарууд нь зүгээр байх ёстой. Загварын кодыг засварлагч руу ачаалсны дараа би Solution Explorer цонхонд байгаа Program.cs файлын нэрийг илүү тодорхой ConsoleSpeechProgram.cs болгон өөрчилсөн бөгөөд Visual Studio надад зориулж Program классын нэрийг өөрчилсөн.

    Дараа нь би C:\ProgramFiles (x86)\Microsoft SDKs\Speech\v11.0\Assembly дотор байрлах Microsoft.Speech.dll файлын холбоосыг нэмсэн. Энэ DLL миний компьютерт байхгүй байсан тул татаж авах шаардлагатай болсон. Програмд ​​яриа таних, синтез нэмэхэд шаардлагатай файлуудыг суулгах нь тийм ч энгийн зүйл биш юм. Би дараагийн хэсэгт суулгах процессыг дэлгэрэнгүй тайлбарлах болно, гэхдээ одоогоор Microsoft.Speech.dll таны систем дээр байгаа гэж үзье.

    Ярианы DLL-д лавлагаа нэмснээр би дээд түвшний Системийн нэрсийн орон зайг зааснаас бусад кодын дээд талд байгаа бүх ашиглах мэдэгдлийг устгасан. Дараа нь би Microsoft.Speech.Recognition, Microsoft.Speech.Synthesis, System.Globalization нэрийн орон зайд зориулсан мэдэгдлүүдийг нэмсэн. Эхний хоёр нэрийн орон зайг ярианы DLL-д буулгасан. Мөн System.Speech.Recognition, System.Speech.Synthesis гэх мэт нэрийн орон зай байдаг бөгөөд энэ нь төөрөгдүүлж болзошгүйг анхаарна уу. Би тэдний хоорондын ялгааг удахгүй тайлбарлах болно. Даяаршлын нэрийн орон зай нь анхдагчаар боломжтой байсан бөгөөд төсөлд шинэ лавлагаа нэмэх шаардлагагүй байв.

    Демо консол програмын бүх эх кодыг эндээс өгсөн болно будаа. 3, мөн энэ нийтлэлийг дагалдах эх багцад байгаа. Гол санааг аль болох нуун дарагдуулахгүйн тулд би бүх стандарт алдааг арилгасан.

    Цагаан будаа. 3. Демо консол програмын эх код

    системийг ашиглах; Microsoft.Speech.Recognition ашиглах; Microsoft.Speech.Synthesis ашиглах; System.Globalization ашиглах; нэрийн орон зай ConsoleSpeech ( анги ConsoleSpeechProgram ( static SpeechSynthesizer ss = new SpeechSynthesizer(); static SpeechRecognitionEngine sre; static bool done = false; static bool speechOn = true; static void Main (etfault.Arguts) (string.Arguts); цорын ганц.WriteLine ("\n(Ярих: Би сэрүүн байна)" ss.Speak("Би сэрүүн"); SpeechRecognized Choices ch_StartStop = new GrammarBuilder(ch_StartStopCommands(gb_StartStop.)); Нэмэх(" 4"); gb_WhatIsXplusY.Append("Юу вэ"); gb_WhatIsXplusY.Append(ch_Numbers); gb_WhatIsXplusY.Append("нэмэх"); gb_WhatIsXplusY.Append(ch_Numbers); Grammar g_WhatIsXplusY = new Grammar(gb_WhatIsXplusY); sre.LoadGrammarAsync(g_StartStop); sre.LoadGrammarAsync(g_WhatIsXplusY); sre.RecognizeAsync(RecognizeMode.Multiple); байхад (хийсэн == худал) ( ; ) Console.WriteLine("\nХит< enter >бүрхүүлийг хаахын тулд\n"); Console.ReadLine(); ) catch (Exception ex) ( Console.WriteLine(ex.Message); Console.ReadLine(); ) ) // Үндсэн статик хүчингүй sre_SpeechRecognized(объект илгээгч, SpeechRecognizedEventArgs e) ) ( string txt = e.Result.Text; float confidence = e.Result.Confidence; Console.WriteLine("\nТанигдсан: " + txt); хэрэв (итгэлцэл)< 0.60) return; if (txt.IndexOf("speech on") >= 0) ( Console.WriteLine("Яриа асаалттай байна"); speakOn = үнэн; ) if (txt.IndexOf("яригаа унтраасан") >= 0) ( Console.WriteLine("Яриа одоо унтарсан"); speakOn = false ) if (speechOn == false) буцах; if (txt.IndexOf("klatu") >= 0 && txt.IndexOf("barada") >= 0) (((SpeechRecognitionEngine)sender). RecognizeAsyncCancel(); хийсэн = үнэн; Console.WriteLine("(Ярих: Баяртай)"); ss.Speak("Баяртай"); ) if (txt.IndexOf("Юу") >= 0 && txt.IndexOf("нэмэх") >= 0) ( string үгс = txt.Split(" "); int num1 = int.Parse(үг); int num2 = int.Parse(үг); int нийлбэр = тоо1 + тоо2; Console.WriteLine("(Ярих: " + үг + " нэмэх " + үг + " тэнцүү байна " + нийлбэр + ")"); ss.SpeakAsync(үгс + " нэмэх " + үг + " тэнцүү " + нийлбэр); ) ) // sre_SpeechRecognized ) // Програм ) // ns

    Хэрэглээний мэдэгдлийн дараа демо код дараах байдлаар эхэлнэ.

    нэрийн орон зай ConsoleSpeech ( анги ConsoleSpeechProgram ( static SpeechSynthesizer ss = new SpeechSynthesizer(); static SpeechRecognitionEngine sre; статик bool хийгдсэн = худал; static bool speakOn = true; static void Main (string ... args)

    Ангийн түвшний SpeechSynthesizer объект нь яриаг нэгтгэх програмыг идэвхжүүлдэг. SpeechRecognitionEngine объект нь ярианы үг, хэллэгийг сонсох, таних боломжийг програмд ​​олгодог. Хийсэн логикийн хувьсагч нь програмыг бүхэлд нь хэзээ дуусгахыг тодорхойлдог. speakOn логикийн хувьсагч нь програмаас гарах командаас бусад командыг програм сонсох эсэхийг хянадаг.

    Энд байгаа санаа нь консол программ нь гарнаас оруулах оролтыг хүлээн авдаггүй тул командуудыг байнга сонсож байдаг. Гэсэн хэдий ч, speakOn нь худал бол зөвхөн програмаас гарах командыг хүлээн зөвшөөрч, гүйцэтгэнэ; бусад командууд танигдсан боловч үл тоомсорлодог.

    Үндсэн арга нь дараах байдлаар эхэлнэ.

    оролдох ( ss.SetOutputToDefaultAudioDevice(); Console.WriteLine("\n(Ярих: Би сэрүүн байна)"); ss.Speak("Би сэрүүн байна");

    SpeechSynthesizer объектыг зарлах үед түүний жишээ үүсгэгдсэн. Синтезаторын объектыг ашиглах нь маш энгийн. SetOutputToDefaultAudioDevice арга нь таны компьютерт холбогдсон чанга яригч руу гаралтыг илгээдэг (та мөн файл руу гаралтыг илгээж болно). Speak арга нь мөрийг аваад дараа нь ярьдаг. Ийм л амархан.

    Яриа таних нь ярианы синтезээс хамаагүй илүү төвөгтэй байдаг. Үндсэн арга нь шийдвэрлэх объект үүсгэх замаар үргэлжилнэ:

    CultureInfo ci = шинэ CultureInfo("en-us"); sre = шинэ SpeechRecognitionEngine(ci); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized;

    Нэгдүгээрт, CultureInfo объект нь танигдах хэлийг, энэ тохиолдолд АНУ-ын англи хэлийг зааж өгдөг. CultureInfo объект нь Глобалчлалын нэрийн талбарт байгаа бөгөөд бид үүнийг ашиглах мэдэгдлээр лавласан. Дараа нь SpeechRecognitionEngine бүтээгчийг дуудсаны дараа дуут оролтыг анхдагч аудио төхөөрөмжид хуваарилдаг - ихэнхдээ микрофон. Ихэнх зөөврийн компьютерууд нь микрофонтой байдаг гэдгийг анхаарна уу, гэхдээ ширээний компьютеруудТанд гадаад микрофон хэрэгтэй болно (ихэвчлэн өнөө үед чихэвчтэй хослуулсан).

    Танигч объектын гол арга бол SpeechRecognized үйл явдлын зохицуулагч юм. Visual Studio-г ашиглах үед "sre.SpeechRecognized +=" гэж бичээд хэсэгхэн секунд хүлээвэл IntelliSense таны илэрхийлэлийг үйл явдлын зохицуулагч нэрээр автоматаар дуусгах болно - sre_SpeechRecognized. Саналыг хүлээн авахын тулд Tab товчийг дарж, энэ нэрийг өгөгдмөл болгон ашиглахыг зөвлөж байна.

    Сонголтууд ch_Тоонууд = шинэ сонголтууд(); ch_Numbers.Add("1"); ch_Numbers.Add("2"); ch_Numbers.Add("3"); ch_Numbers.Add("4"); // техникийн хамт үзэл бодол, // энэ нь Нэмэх(шинэ мөр ( "4" )); GrammarBuilder gb_WhatIsXplusY = шинэ GrammarBuilder(); gb_WhatIsXplusY.Append("Юу вэ"); gb_WhatIsXplusY.Append(ch_Numbers); gb_WhatIsXplusY.Append("нэмэх"); gb_WhatIsXplusY.Append(ch_Numbers); Grammar g_WhatIsXplusY = new Grammar(gb_WhatIsXplusY);

    Энд байгаа гурван үндсэн объект нь Сонголтуудын багц, GrammarBuilder загвар, дүрмийн удирдлага юм. Би танихын тулд дүрмээ бүтээхдээ таних ёстой зүйлийнхээ тодорхой жишээг жагсааж эхэлдэг. "Нэг нэмэх хоёр хэд вэ?" гэж хэлье. болон "Гурав дээр дөрөв нь хэд вэ?"

    Дараа нь би тохирох ерөнхий загварыг тодорхойлно, жишээлбэл "Юу байна нэмэх ?. Загвар нь GrammarBuilder бөгөөд загварт дамжуулагдсан тодорхой утгууд нь Сонголтуудын багц юм. Grammar объект нь загвар болон Сонголтуудыг багтаасан болно.

    Демо хөтөлбөрт би нэмэлтүүдийг 1-ээс 4 хүртэл хязгаарлаж, Сонголтуудын багцад мөр болгон нэмнэ. Илүү үр дүнтэй арга:

    мөрийн тоо = шинэ мөр ("1", "2", "3", "4"); Сонголтууд ch_Numbers = шинэ Сонголтууд(тоо);

    Би хоёр шалтгааны улмаас Сонголтуудын багц үүсгэх үр ашиг багатай аргыг танилцуулж байна. Нэгдүгээрт, нэг мөр нэмэх нь яриа таних бусад жишээн дээр миний харсан цорын ганц арга байсан. Хоёрдугаарт, та нэг мөр нэмэх нь огт ажиллахгүй байх ёстой гэж бодож магадгүй юм; Visual Studio IntelliSense нь Нэмэх хэт ачааллын аль нэг нь параметрийн стринг хэллэгийн төрлийн параметрийг хүлээн зөвшөөрдөг болохыг бодит цаг хугацаанд харуулж байна. Хэрэв та анзаараагүй бол түлхүүр үг params, та Add арга нь зөвхөн мөрийн массивыг хүлээн авдаг болохоос нэг мөр биш гэж таамагласан байх. Гэхдээ энэ нь тийм биш: тэр хоёуланг нь хүлээн зөвшөөрдөг. Би массивыг дамжуулахыг зөвлөж байна.

    Дараалсан тоонуудаас сонголтын багц үүсгэх нь зарим талаараа онцгой тохиолдол бөгөөд дараахь программчлагдсан хандлагыг зөвшөөрдөг.

    мөрийн тоо = шинэ мөр; хувьд (int i = 0; i< 100; ++i) numbers[i] = i.ToString(); Choices ch_Numbers = new Choices(numbers);

    GrammarBuilder-ийн зайг бөглөх сонголтуудыг үүсгэсний дараа демо програм нь GrammarBuilder, дараа нь хяналтын Grammar-г үүсгэдэг.

    GrammarBuilder gb_WhatIsXplusY = шинэ GrammarBuilder(); gb_WhatIsXplusY.Append("Юу вэ"); gb_WhatIsXplusY.Append(ch_Numbers); gb_WhatIsXplusY.Append("нэмэх"); gb_WhatIsXplusY.Append(ch_Numbers); Grammar g_WhatIsXplusY = new Grammar(gb_WhatIsXplusY);

    Демо программ нь эхлүүлэх, зогсоох командын дүрмүүдийг үүсгэхийн тулд ижил төстэй загварыг ашигладаг.

    Сонголтууд ch_StartStopCommands = шинэ Сонголтууд(); ch_StartStopCommands.Add("яриа асаалттай"); ch_StartStopCommands.Add("яриа унтраах"); ch_StartStopCommands.Add("klatu barada nikto"); GrammarBuilder gb_StartStop = шинэ GrammarBuilder(); gb_StartStop.Append(ch_StartStopCommands); Grammar g_StartStop = new Grammar(gb_StartStop);

    Дүрмийг маш уян хатан байдлаар тодорхойлж болно. Энд "яриа асаах", "ярих унтраах" болон "клату барада никто" гэсэн командууд нь логик уялдаа холбоотой тул нэг дүрмийн хүрээнд байрладаг. Эдгээр гурван командыг гурван өөр дүрмээр тодорхойлж болно, эсвэл "яриа асаах", "ярих унтраах" командыг нэг дүрмийн дотор, "klatu barada nikto" командыг секундэд багтааж болно.

    Та бүх дүрмийн объектыг үүсгэсний дараа тэдгээрийг яриа танигч руу оруулах ба яриа таних функц идэвхжсэн:

    sre.LoadGrammarAsync(g_StartStop); sre.LoadGrammarAsync(g_WhatIsXplusY); sre.RecognizeAsync(RecognizeMode.Multiple);

    RecognizeMode.Multiple аргумент нь нэгээс олон дүрмийн мэдлэгтэй үед хэрэг болох бөгөөд энэ нь хамгийн энгийн программаас бусад бүх программ дээр байх болно. Үндсэн аргыг дараах байдлаар гүйцэтгэнэ.

    байхад (хийсэн == худал) ( ; ) Console.WriteLine("\nХит< enter >бүрхүүлийг хаахын тулд\n"); Console.ReadLine(); ) catch (Exception ex) ( Console.WriteLine(ex.Message); Console.ReadLine(); ) ) // Үндсэн

    Хачирхалтай харагдах хоосон while давталт нь консолын програмын бүрхүүлийг ажиллуулах боломжийг танд олгоно. Ангийн түвшний логикийн хувьсагчийг яриа таних үйл явдал зохицуулагч үнэн гэж тохируулснаар давталт дуусна.

    Хүлээн зөвшөөрөгдсөн ярианы боловсруулалт

    Яриа таних үйл явдлуудыг зохицуулах код дараах байдлаар эхэлнэ.

    статик хүчингүй sre_SpeechRecognized(объект илгээгч, SpeechRecognizedEventArgs e) ( string txt = e.Result.Text; float confidence = e.Result.Confidence; Console.WriteLine("\nТанигдав: " + txtce);< 0.60) return; ...

    Хүлээн зөвшөөрөгдсөн текст нь SpeechRecognizedEventArgs объектын Result.Text шинж чанарт хадгалагдана. Эсвэл та Үр дүн.Үг багцыг ашиглаж болно. Result.Confidence шинж чанар нь 0.0-оос 1.0-ийн хооронд утгыг хадгалдаг бөгөөд энэ нь ярианы текст танигчтай холбоотой ямар ч дүрмэнд хэр нийцэж байгааг харуулсан ойролцоогоор тооцоолол юм. Демо програм нь үйл явдал зохицуулагчийг хүлээн зөвшөөрөгдсөн текстэд итгэх итгэл багатай текстийг үл тоомсорлохыг зааварчилдаг.

    Итгэлийн үнэ цэнэ нь таны дүрмийн нарийн төвөгтэй байдал, микрофоны чанар болон бусад хүчин зүйлээс хамааран ихээхэн ялгаатай байдаг. Жишээлбэл, хэрэв демо програм нь зөвхөн 1-ээс 4 хүртэлх тоог таних шаардлагатай бол миний компьютер дээрх итгэлийн утгууд нь ихэвчлэн 0.75 орчим байдаг. Гэхдээ дүрмийн хувьд 1-ээс 100 хүртэлх тоог таних ёстой бол итгэлийн утга нь ойролцоогоор 0.25 болж буурдаг. Товчхондоо яриа таних чадвар сайтай үр дүнд хүрэхийн тулд та өөртөө итгэх итгэлийн утгыг туршиж үзэх хэрэгтэй.

    if (txt.IndexOf("яригаа унтраасан") >= 0) ( Console.WriteLine("Яриа одоо АСААЛТТАЙ"); speakOn = үнэн; ) if (txt.IndexOf("яриа унтраалттай") >= 0) ( Консол .WriteLine("Яриа одоо OFF"); if (speechOn == false);

    Хэдийгээр энэ нь эхэндээ бүрэн тодорхой биш байж болох ч, хэрэв та энэ талаар бодож байвал энэ логик утга учиртай байх болно. Дараа нь нууц гарах командыг боловсруулна:

    if (txt.IndexOf("klatu") >= 0 && txt.IndexOf("barada") >= 0) (((SpeechRecognitionEngine)sender).RecognizeAsyncCancel(); хийсэн = үнэн; Console.WriteLine("(Ярих: Баяртай)"); ss.Speak("Баяртай"); )

    Яриа таних хөдөлгүүр нь үнэхээр утгагүй үгсийг таньж чадна гэдгийг анхаарна уу. Хэрэв Grammar объект нь тухайн объектын толь бичигт байхгүй үгсийг агуулж байвал Grammar нь боломжтой бол семантик эвристик ашиглан эдгээр үгсийг тодорхойлохыг оролддог бөгөөд ихэвчлэн амжилттай байдаг. Тийм ч учраас би зөв "klaatu" (хуучин шинжлэх ухааны уран зөгнөлт киноны) оронд "klatu" -г ашигласан.

    Мөн та Grammar-аар хүлээн зөвшөөрөгдсөн бүх текстийг боловсруулах шаардлагагүй гэдгийг анхаарна уу ("klatu barada nikto") - та зөвхөн дүрмийн хэллэгийг ("klatu" болон "barada") өвөрмөц тодорхойлох хангалттай мэдээлэлтэй байх хэрэгтэй.

    Хэрэв (txt.IndexOf("Юу") >= 0 && txt.IndexOf("нэмэх") >= 0) ( string үгс = txt.Split(" "); int num1 = int.Parse(words); int num2 = int.Parse(words); int sum = num1 + num2 ("(Ярих: " + үгс + " нэмэх " + " тэнцүү " + нийлбэр + ")" " нэмэх" + үгс; " тэнцүү " + нийлбэр);

    Үр дүн.Текст дэх текст нь жижиг жижиг том үсгээр ялгагдахыг анхаарна уу ("Юу" ба "юу"). Нэг өгүүлбэрийг таньж мэдсэнийхээ дараа үүнийг тодорхой үг болгон задлан шинжилж болно. Энэ тохиолдолд хүлээн зөвшөөрөгдсөн текст нь "Х нэмэх нь у гэж юу вэ" гэсэн хэлбэртэй байх тул "Юу" гэж үгээр байрлуулж, нэмсэн хоёр тоог (мөр хэлбэрээр) үг, үгээр хадгална.

    Номын сангуудыг суулгаж байна

    Демо програмын тайлбар нь таны компьютер дээр шаардлагатай бүх ярианы санг суулгасан гэж үздэг. Демо программ үүсгэх, ажиллуулахын тулд та дөрвөн багцыг суулгах хэрэгтэй: SDK (Visual Studio дээр демо үүсгэх боломжийг олгодог), ажиллах хугацаа (демо-г үүсгэсний дараа ажиллуулдаг), хүлээн зөвшөөрөгдсөн, нэгтгэсэн (дуудлагатай) хэлүүд.

    SDK-г суулгахын тулд интернетээс "Speech Platform 11 SDK" гэж хайна уу. Энэ нь таныг Microsoft Татаж авах төвийн зөв хуудас руу аваачна ( будаа. 4). Татаж авах товчийг дарснаар та дээрх сонголтуудыг харах болно будаа. 5. SDK нь 32 ба 64 битийн хувилбаруудтай. Би таны системийн битийн хэмжээнээс үл хамааран 32 битийн хувилбарыг ашиглахыг зөвлөж байна. 64 битийн хувилбар нь зарим програм дээр ажиллахгүй.


    Цагаан будаа. 4. Microsoft Татаж авах Төв дэх SDK суулгах үндсэн хуудас


    Цагаан будаа. 5. Speech SDK суулгана уу

    Танд x86 (32 битийн системүүдийн хувьд) доорх .msi файлаас өөр зүйл хэрэггүй. Энэ файлыг сонгоод Next товчийг дарснаар суулгагчийг эндээс шууд ажиллуулж болно. Ярианы сангууд суулгац дууссаны талаар тийм ч их санал хүсэлт өгдөггүй тул амжилтын тухай мессеж хайх хэрэггүй.


    Цагаан будаа. 6. Ажиллах цагийн орчныг суурилуулах

    SDK-тэй ижил платформ хувилбарыг (демо хувилбарт 11) болон битийн гүнийг (32 эсвэл 64) сонгох нь туйлын чухал юм. Дахин хэлэхэд, та 64 битийн систем дээр ажиллаж байгаа ч гэсэн 32 битийн хувилбарыг зөвлөж байна.

    Дараа нь та таних хэлийг тохируулж болно. Татаж авах хуудсыг эндээс өгсөн болно будаа. 7. Демо программ нь MSSpeech_SR_en-us_TELE.msi (Англи-АНУ) файлыг ашигладаг. SR нь яриа таних, TELE нь телефон утас гэсэн үг; Энэ нь хүлээн зөвшөөрөгдсөн хэл нь утас эсвэл ширээний микрофон гэх мэт чанар муутай аудио оролттой ажиллахад зориулагдсан гэсэн үг юм.


    Цагаан будаа. 7. Хүлээн зөвшөөрөгдсөн хэлийг тохируулах

    Эцэст нь та ярианы синтезийн хэл, дуу хоолойг тохируулж болно. Татаж авах хуудсыг эндээс өгсөн болно будаа. 8. Демо программ нь MSSpeech_TTS_en-us_Helen.msi файлыг ашигладаг. TTS (текстээс яриа) нь үндсэндээ ярианы синтезтэй ижил утгатай. Англи, АНУ гэсэн хоёр боломжтой дуу хоолойг анхаарна уу. Бусад англи дуу хоолой байдаг ч U.S биш. Синтез хэлний файл үүсгэх нь маш хэцүү ажил юм. Гэсэн хэдий ч та янз бүрийн компаниудаас өөр дуу хоолойг худалдан авч, суулгаж болно.


    Цагаан будаа. 8. Дуу болон синтезийн хэлийг тохируулах

    Сонирхолтой нь яриа таних хэл ба дуу хоолой/ярианы синтезийн хэл нь үнэндээ огт өөр зүйл боловч хоёр багц нь нэг татаж авах хуудсан дээрх сонголтууд юм. Татаж авах төвийн UI нь таних хэл болон синтезийн хэлийг хоёуланг нь шалгах боломжийг олгодог боловч тэдгээрийг нэгэн зэрэг суулгахыг оролдох нь миний хувьд сүйрэлтэй байсан тул тусад нь суулгахыг зөвлөж байна.

    Microsoft.Speech-ийг System.Speech-тэй харьцуулах

    Хэрэв та Windows-ийн хэрэглээний программуудын яриа таних, нэгтгэх талаар шинэхэн бол олон ярианы платформ байдаг тул баримт бичигт амархан андуурч болно. Тодруулбал, энэ нийтлэл дэх үзүүлэн программуудын ашигладаг Microsoft.Speech.dll номын сангаас гадна Windows үйлдлийн системийн нэг хэсэг болох System.Speech.dll нэртэй номын сан бий. Эдгээр хоёр номын сан нь API-ууд нь бараг ижил биш боловч бараг ижил биш гэдгээрээ төстэй юм. Тиймээс, хэрэв та интернетээс яриа боловсруулах жишээг хайж, бүрэн программ биш кодын хэсгүүдийг харвал, жишээ нь System.Speech эсвэл Microsoft.Speech эсэх нь тодорхойгүй байна.

    Хэрэв та яриа боловсруулахад шинээр орсон бол .NET программдаа ярианы дэмжлэг нэмэхийн тулд System.Speech биш Microsoft.Speech номын санг ашиглана уу.

    Хэдийгээр хоёр номын сан нь нийтлэг үндсэн кодын бааз болон ижил төстэй API-г хуваалцдаг боловч тэдгээр нь мэдээж ялгаатай. Зарим гол ялгааг тоймлон харуулав ширээ 1.

    Хүснэгт 1. Microsoft.Speech болон System.Speech хоёрын үндсэн ялгаа

    System.Speech DLL нь үйлдлийн системийн нэг хэсэг тул Windows систем болгон дээр суулгасан байдаг. Microsoft.Speech DLL (болон түүнтэй холбогдох ажиллах хугацаа болон хэлүүд) татан авч систем дээр суулгасан байх ёстой. System.Speech-ийг ашиглан таних нь ихэвчлэн тодорхой хэрэглэгчдэд зориулсан сургалт шаарддаг бөгөөд энэ нь хэрэглэгч зарим текстийг уншиж, систем нь энэ хэрэглэгчийн дуудлагын шинж чанарыг ойлгож сурдаг. Microsoft.Speech ашиглан таних нь ямар ч хэрэглэгчдэд шууд ажилладаг. System.Speech бараг ямар ч үгийг таньж чаддаг (үүнийг чөлөөт диктант гэж нэрлэдэг). Microsoft.Speech нь зөвхөн программд тодорхойлсон Grammar объектод байгаа үг, хэллэгийг таних болно.

    Windows Forms програмд ​​яриа таних дэмжлэгийг нэмж байна

    Windows Forms эсвэл WPF програмд ​​яриа таних болон синтезийн дэмжлэгийг нэмэх үйл явц нь консол програмынхтай төстэй. Үзүүлсэн демо програмыг үүсгэхийн тулд будаа. 2, Би Visual Studio-г эхлүүлж, шинэ C# Windows Forms програмыг үүсгээд WinFormSpeech нэрийг нь өөрчилсөн.

    Загварын кодыг засварлагч руу ачаалсны дараа би консол программ дээр хийсэн шиг Microsoft.Speech.dll файлын холбоосыг Solution Explorer цонхонд нэмсэн. Эх кодын дээд талд би шаардлагагүй мэдэгдлүүдийг устгаж, зөвхөн Систем, Өгөгдөл, Зураг, Маягтын нэрсийн орон зайн лавлагааг үлдээсэн. Дараа нь би Microsoft.Speech.Recognition болон System.Globalization нэрийн орон зайд ашиглах хоёр мэдэгдлийг нэмсэн.

    Windows Forms-д суурилсан демо нь ярианы синтезийг ашигладаггүй тул би Microsoft.Speech.Synthesis номын сантай холбогддоггүй. Windows Forms програмд ​​ярианы синтезийг нэмэх нь консол програмтай адил юм.

    Дизайн горимд Visual Studio дээр би TextBox, CheckBox, ListBox хяналтуудыг маягт руу чирсэн. CheckBox дээр давхар товшиж, Visual Studio автоматаар CheckChanged үйл явдал зохицуулагчийн араг ясыг үүсгэсэн.

    Демо консолын программ шууд л ярианы командуудыг сонсож эхэлсэн бөгөөд дуусах хүртлээ үргэлжлүүлэн хийж байсныг санаарай. Энэ аргыг Windows Forms програмд ​​ашиглаж болох ч оронд нь би хэрэглэгчдэд CheckBox удирдлага (жишээ нь шалгах хайрцаг) ашиглан яриа таних функцийг асаах, унтраахыг зөвшөөрөхөөр шийдсэн.

    Хэсэгчилсэн анги тодорхойлогдсон демо программын Form1.cs файл дахь эх кодыг энд харуулав будаа. 9. Яриа таних хөдөлгүүрийн объектыг маягтын гишүүнээр зарлаж, үүсгэсэн. Маягтын үүсгэгч дээр би SpeechRecognized үйл явдлын зохицуулагчийг холбож, дараа нь хоёр Grammars объект үүсгэж ачаална.

    нийтийн Form1() ( InitializeComponent(); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized; Grammar g_HelloGoodbye = GetHelloGoodbyeGrammar(); Grammar = GetTextTextramBox.TextramBox nc(g_HelloGood) баяртай sre.LoadGrammarAsync(g_SetTextBox ); // sre.RecognizeAsync() нь CheckBox үйл явдал зохицуулагч дотор байна)

    Цагаан будаа. 9. Windows Forms-д яриа таних дэмжлэгийг нэмнэ

    системийг ашиглах; System.Data ашиглах; System.Drawing ашиглах; System.Windows.Forms ашиглах; Microsoft.Speech.Recognition ашиглах; System.Globalization ашиглах; нэрийн орон зай WinFormSpeech ( нийтийн хэсэгчилсэн анги Form1: Маягт ( статик CultureInfo ci = new CultureInfo("en-us"); статик SpeechRecognitionEngine sre = шинэ SpeechRecognitionEngine(ci); нийтийн Form1() ( InitializeComponent(); sre.DevicesAre. .SpeechRecognized += sre_SpeechRecognized; .RecognizeAsync() нь CheckBox үйл явдал зохицуулагч дотор байна) static Grammar GetHelloGoodbyeGrammar() ( Сонголтууд ch_HelloGoodbye = new Choices(); ch_HelloGoodbye."Godbye(_HelloGoodbye."Addo); ") ; GrammarBuilder gb_result = new GrammarBuilder(ch_HelloGoodbye g_result = new Grammar(gb_result); ", "цэнхэр" )); GrammarBuilder gb_result = шинэ GrammarBuilder(); gb_result.Append("текст хайрцаг 1 тохируулах"); gb_result.Append(ch_Colors); Дүрмийн g_үр дүн = шинэ дүрэм(gb_үр дүн); g_үр дүнг буцаана; ) private void checkBox1_CheckedChanged(объект илгээгч, EventArgs e) ( if (checkBox1.Checked == true) sre.RecognizeAsync(RecognizeMode.Multiple); else if (checkBox1.Checked == false) // disabled srecognizelre.)C); void sre_SpeechRecognized(объект илгээгч, SpeechRecognizedEventArgs e) ( string txt = e.Result.Text; float conf = e.Result.Confidence; if (conf)< 0.65) return; this.Invoke(new MethodInvoker(() =>( listBox1.Items.Add("Би чамайг хэлэхийг сонссон: " + txt); ))); // WinForm-ын онцлог хэрэв (txt.IndexOf("текст") >= 0 && txt.IndexOf("box") >= 0 && txt.IndexOf("1")>= 0) ( string үгс = txt.Split( " "); this.Invoke(new MethodInvoker(() => ( textBox1.Text = үгс; ))) // WinForm-ийн онцлог ) ) // Маягт ) // ns

    Би консол программ шиг хоёр Grammar объектыг шууд үүсгэж болох байсан ч оронд нь кодыг бага зэрэг ойлгомжтой болгохын тулд энэ ажлыг гүйцэтгэдэг туслах хоёр аргыг (GetHelloGoodbyeGrammar болон GetTextBox1TextGrammar) тодорхойлсон.

    статик дүрмийн GetTextBox1TextGrammar() ( Сонголтууд ch_Colors = шинэ Сонголт(); ch_Colors.Add(шинэ мөр ( "улаан", "цагаан", "цэнхэр" )); GrammarBuilder gb_result = шинэ GrammarBuilder(); gb_result.Append("текст тохируулах) хайрцаг 1"); gb_result.Append(ch_Colors); Дүрмийн g_үр дүн = шинэ дүрмийн (gb_үр дүн); g_үр дүнг буцаана; )

    Энэхүү туслах арга нь "текстийн хайрцаг 1 улааныг тохируулах" хэллэгийг таних болно. Гэсэн хэдий ч хэрэглэгч энэ хэллэгийг яг таг дуудах шаардлагагүй. Жишээлбэл, тэрээр "Текстийн 1-р хайрцаг дахь текстийг улаан болгож тохируулна уу" гэж хэлж болох ба яриа таних систем нь "текстийн хайрцгийг 1-р улаан болгож тохируулна уу" гэсэн хэллэгийг таньсан хэвээр байх болно. Хэдийгээр дүрмийн дүрэмтэй яг таарч байгаагаас бага итгэл үнэмшилтэй байсан. загвар. Өөрөөр хэлбэл, дүрмийн объект үүсгэхдээ хэллэгийн бүх хувилбарыг анхаарч үзэх шаардлагагүй. Энэ нь яриа таних хэрэглээг эрс хялбаршуулдаг.

    CheckBox-ийн үйл явдлын зохицуулагчийг дараах байдлаар тодорхойлсон:

    private void checkBox1_CheckedChanged(объект илгээгч, EventArgs e) ( if (checkBox1.Checked == true) sre.RecognizeAsync(RecognizeMode.Multiple); else if (checkBox1.Checked == false) // disabled sre.nclance);

    Яриа таних хөдөлгүүрийн объект болох sre (яриа таних хөдөлгүүр) нь Windows Forms програмын ашиглалтын туршид үргэлж байдаг. Хэрэглэгч CheckBox-г сэлгэх үед энэ объектыг RecognizeAsync болон RecognizeAsyncCancel аргууд руу залгаснаар идэвхжүүлж, идэвхгүй болгодог.

    SpeechRecognized үйл явдлын зохицуулагчийн тодорхойлолт нь:

    void sre_SpeechRecognized(объект илгээгч, SpeechRecognizedEventArgs e) ( string txt = e.Result.Text; float conf = e.Result.Confidence; if (conf)< 0.65) return; ...

    Үр дүн нь байнга ашиглагддаг Result.Text болон Result.Confidence шинж чанаруудаас гадна өөр хэд хэдэн ашигтай, гэхдээ илүү төвөгтэй шинж чанартай байдаг. жишээ нь, Homophones болон ReplacementWordUnits. Нэмж дурдахад яриа таних систем нь SpeechHypothesized гэх мэт хэд хэдэн хэрэгтэй үйл явдлыг хангадаг.

    this.Invoke((Action)(() => listBox1.Items.Add("Би чамайг хэлэхийг сонссон: " + txt)));

    Онолын хувьд MethodInvoker төлөөлөгчийг ашиглах нь энэ нөхцөлд Үйлдлээс арай илүү үр дүнтэй байдаг, учир нь MethodInvoker нь Windows.Forms нэрийн талбарын нэг хэсэг бөгөөд тиймээс Windows Forms програмуудад зориулагдсан байдаг. Үйл ажиллагааны төлөөлөгч нь илүү уян хатан байдаг. Энэ жишээ нь яриа таних системээр дамжуулан Windows Forms програмыг бүрэн удирдах боломжтойг харуулж байна - энэ бол гайхалтай хүчирхэг бөгөөд ашигтай функц юм.

    Дүгнэлт

    Хэрэв та .NET програмууд дахь ярианы синтез болон танигдлыг судлахыг хүсвэл энэ нийтлэлд үзүүлсэн мэдээлэл нь таныг шууд эхлүүлэх болно. Нэгэнт овойлтыг даван туулж, технологийг эзэмших нь тийм ч хэцүү биш юм анхан шатны боловсролболон бүрэлдэхүүн хэсгүүдийг суурилуулах. Яриа нэгтгэх, танин мэдэхэд тулгардаг жинхэнэ сорилт бол энэ нь хэзээ хэрэгтэй болохыг ойлгох явдал юм.

    Консолын программуудын тусламжтайгаар та хэрэглэгч асуулт асууж, программ хариулдаг сонирхолтой харилцан яриа үүсгэж, үндсэндээ Кортанатай төстэй орчинтой болно. Таны компьютерийн чанга яригчаас яриа гарахад микрофон түүнийг хүлээн авч дахин танигдах тул та болгоомжтой байх хэрэгтэй. Би асуулт асууж, апп үүнийг таньж, хариулсан ч хэлсэн хариулт нь дараагийн таних үйлдлийг эхлүүлж, инээдтэй, эцэс төгсгөлгүй ярианы давталттай болсон.

    Консолын программ дахь ярианы өөр нэг боломж бол "Тэмдэглэлийн дэвтэр эхлүүлэх", "Үг эхлүүлэх" гэх мэт командуудыг таних явдал юм. Өөрөөр хэлбэл, ийм консол программыг компьютер дээрээ гар, хулганыг маш их засварлах шаардлагатай үйлдэл хийхэд ашиглаж болно.

    Жеймс Маккаффри(Доктор Жеймс Маккаффри) Вашингтоны Редмонд дахь Microsoft Research-д ажилладаг. Тэрээр Internet Explorer, Bing зэрэг Microsoft-ын хэд хэдэн бүтээгдэхүүнийг бүтээхэд оролцсон. Түүнтэй холбогдож болно [имэйлээр хамгаалагдсан].

    Энэ нийтлэлийг хянаж үзсэн Microsoft судалгааны мэргэжилтнүүд Роб Груэн, Марк Маррон, Кертис фон Ве нарт баярлалаа.

    Ямар ч програм бүрэн орлож чадахгүй гар хийцийнбичигдсэн яриаг хуулбарлах замаар. Гэсэн хэдий ч яриаг текст рүү хөрвүүлэх ажлыг ихээхэн хурдасгаж, хөнгөвчлөх, өөрөөр хэлбэл транскрипцийг хялбаршуулах шийдлүүд байдаг.

    Транскрипци гэдэг нь аудио эсвэл видео файлыг текст хэлбэрээр бичих явдал юм. Интернэт дээр төлбөртэй даалгавар байдаг бөгөөд текстийг орчуулсны төлөө жүжигчин тодорхой хэмжээний мөнгө төлдөг.

    Яриа текст рүү орчуулах нь ашигтай

    • оюутнууд бичигдсэн аудио эсвэл видео лекцийг текст болгон орчуулах,
    • вэбсайт, блог ажиллуулдаг блогчид,
    • зохиолчид, ном зохиол бичих сэтгүүлчид,
    • вэбинар, яриа гэх мэтийн дараа текст хэрэгтэй мэдээллийн бизнес эрхлэгчид,
    • бичихэд бэрхшээлтэй хүмүүс - тэд захидал бичиж, гэр бүл эсвэл найз нөхөддөө илгээж болно.
    • бусад сонголтууд.

    Бид компьютер, гар утасны програмууд болон онлайн үйлчилгээнүүдэд байдаг хамгийн үр дүнтэй хэрэгслүүдийг тайлбарлах болно.

    1 speakpad.ru вэбсайт

    Энэ бол Google Chrome хөтөч ашиглан яриаг текст болгон хөрвүүлэх боломжийг олгодог онлайн үйлчилгээ юм. Үйлчилгээ нь микрофон болон бэлэн файлуудтай ажилладаг. Гадны микрофон ашиглаад өөрөө зааж өгвөл чанар нь мэдээж хамаагүй өндөр болно. Гэсэн хэдий ч энэ үйлчилгээ нь YouTube-ийн видеонуудтай ч гэсэн сайн ажилладаг.

    "Бичлэгийг идэвхжүүлэх" дээр дарж, "Микрофон ашиглах" гэсэн асуултанд хариулна уу - үүнийг хийхийн тулд "Зөвшөөрөх" дээр дарна уу.

    Үйлчилгээг ашиглах тухай урт зааврыг Зураг дээр 1-р товчлуур дээр дарж буулгаж болно. 3. Энгийн бүртгэлийг бөглөж байж зар сурталчилгаанаас ангижрах боломжтой.

    Цагаан будаа. 3. Ярианы самбарын үйлчилгээ

    Дууссан үр дүнг засварлахад хялбар байдаг. Үүнийг хийхийн тулд та тодруулсан үгийг гараар засах эсвэл дахин бичих хэрэгтэй. Ажлын үр дүнг хадгална хувийн данс, та мөн тэдгээрийг компьютер дээрээ татаж авах боломжтой.

    Чанарын самбартай ажиллах видео хичээлүүдийн жагсаалт:

    Та Youtube-ээс эсвэл компьютерээсээ видео бичлэг хийж болно, гэхдээ танд холигч хэрэгтэй болно, илүү дэлгэрэнгүй:

    Видео "аудио транскрипт"

    Үйлчилгээ нь долоон хэлээр ажилладаг. Жижиг хасах зүйл бий. Энэ нь хэрэв та дууссан аудио файлыг хуулбарлах шаардлагатай бол түүний дуу чанга яригчаар сонсогддог бөгөөд энэ нь цуурай хэлбэрээр нэмэлт хөндлөнгийн оролцоо үүсгэдэг.

    2 Үйлчилгээ dictation.io

    Хэл яриаг текст рүү үнэгүй, хялбар орчуулах боломжийг олгодог гайхалтай онлайн үйлчилгээ.

    Цагаан будаа. 4. Үйлчилгээний dictation.io

    Зураг дээрх 1. 4 – Хуудасны төгсгөлд орос хэлийг сонгож болно. Google Chrome хөтөч дээр хэлийг сонгосон боловч ямар нэг шалтгаанаар Mozilla-д ийм сонголт байдаггүй.

    Дууссан үр дүнг автоматаар хадгалах чадварыг хэрэгжүүлсэн нь анхаарал татаж байна. Энэ нь таб эсвэл хөтчийг хаасны үр дүнд санамсаргүй устгахаас сэргийлнэ. Энэ үйлчилгээ нь дууссан файлуудыг танихгүй. Микрофонтой ажилладаг. Тайлбар бичихдээ цэг таслалыг нэрлэх хэрэгтэй.

    Текстийг маш зөв хүлээн зөвшөөрсөн, зөв ​​бичгийн алдаа байхгүй. Та гараас өөрөө цэг таслал оруулах боломжтой. Дууссан үр дүнг таны компьютер дээр хадгалах боломжтой.

    3 Бодит чанга яригч

    Энэхүү програм нь хүний ​​яриаг текст болгон хялбархан хөрвүүлэх боломжийг олгодог. Энэ нь Windows, Android, Linux, Mac зэрэг өөр өөр системүүд дээр ажиллахад зориулагдсан. Үүний тусламжтайгаар та сонссон яриаг микрофон болгон хувиргах боломжтой (жишээлбэл, зөөврийн компьютерт суулгаж болно), мөн аудио файл болгон бичиж болно.

    Дэлхийн 13 хэлийг ойлгох чадвартай. Хөтөлбөрийн бета хувилбар нь онлайн үйлчилгээ болж ажилладаг:

    Та дээрх холбоосыг дагаж, орос хэлээ сонгоод, аудио эсвэл видео файлаа онлайн үйлчилгээнд байршуулж, транскрипцийн төлбөрийг төлөх шаардлагатай. Транскрипц хийсний дараа та үүссэн текстийг хуулж болно. Транскрипц хийх файл том байх тусам түүнийг боловсруулахад илүү их цаг хугацаа шаардагдана, илүү дэлгэрэнгүй:

    2017 онд RealSpeaker ашиглан үнэгүй транскрипц хийх боломжтой байсан бол 2018 онд ийм сонголт байхгүй байна. Транскрипц хийсэн файлыг бүх хэрэглэгчдэд татаж авах боломжтой байгаа нь маш их ойлгомжгүй юм.

    Хөгжүүлэгчийн холбоо барих хаяг (VKontakte, Facebook, Youtube, Twitter, Имэйл, утас) програмуудыг түүний вэбсайтын хуудаснаас олж болно (илүү нарийвчлалтай, сайтын доод хэсэгт):

    4 Яриа хөтлөгч

    Өмнөх програмын өөр хувилбар хөдөлгөөнт төхөөрөмжүүд Android дээр ажиллаж байна. Апп дэлгүүрт үнэгүй авах боломжтой:

    Текстийг автоматаар засаж, цэг таслал нэмдэг. Өөртөө тэмдэглэл бичих эсвэл жагсаалт гаргахад маш тохиромжтой. Үүний үр дүнд текст нь маш сайн чанартай байх болно.

    5 Луу диктант

    Энэ нь Apple-аас гар утасны төхөөрөмжүүдэд үнэ төлбөргүй тараагддаг програм юм.

    Хөтөлбөр нь 15 хэлтэй ажиллах боломжтой. Энэ нь үр дүнг засах, жагсаалтаас сонгох боломжийг танд олгоно зөв үгс. Та бүх дууг тодорхой хэлж, шаардлагагүй завсарлага хийж, аялгуунаас зайлсхийх хэрэгтэй. Заримдаа үгийн төгсгөлд алдаа гардаг.

    Dragon Dictation програмыг эзэмшигчид, жишээлбэл, орон сууцанд нүүж байхдаа дэлгүүрт худалдан авалтын жагсаалтыг бичихэд ашигладаг. Тэнд очоод би тэмдэглэл дээрх текстийг харж болох бөгөөд сонсох шаардлагагүй болно.

    Дадлага хийхдээ ямар ч програм ашиглаж байгаа бай, үр дүнг дахин шалгаж, тодорхой тохируулга хийхэд бэлэн байгаарай. Энэ бол алдаагүй, өөгүй текст авах цорын ганц арга зам юм.

    Мөн ашигтай үйлчилгээ:

    Компьютерийн мэдлэгийн талаархи хамгийн сүүлийн үеийн нийтлэлүүдийг шууд хүлээн авна уу Шуудангийн хайрцаг .
    Аль хэдийн илүү 3000 захиалагч

    .

    Шинэчлэгдсэн: 2017 оны 7-р сарын 31-ний Даваа гараг

    Компьютертэй ярих хагас гайхалтай санаа нь мэргэжлийн гэрэл зурагтай ямар холбоотой вэ? Хэрэв та хүний ​​бүх техникийн орчныг эцэс төгсгөлгүй хөгжүүлэх санааны шүтэн бишрэгч биш л бол бараг байхгүй. Та камертаа дуу хоолойгоо солих тушаал өгч байна гэж төсөөлөөд үз дээ фокусын уртмөн өртөлтийг хагас зогсолт нэмэх замаар засна. Алсын удирдлагакамер аль хэдийн хэрэгжсэн, гэхдээ та товчлууруудыг чимээгүй дарах хэрэгтэй, гэхдээ энд сонсголын камер байна!

    Хүн, компьютер хоёрын хоорондох дуу хоолойны жишээ болгон шинжлэх ухааны уран зөгнөлт киног дурьдаж, жишээ нь Стэнли Кубрикийн найруулсан “2001: Сансрын одиссей” киног иш татдаг уламжлал тогтжээ. Тэнд самбар дээрх компьютер нь сансрын нисэгчидтэй утга учиртай яриа хэлэлцээ хийхээс гадна дүлий хүн шиг уруул уншиж чаддаг. Өөрөөр хэлбэл, уг машин хүний ​​яриаг алдаагүй таньж сурсан гэсэн үг. Магадгүй камерын алсаас дуут удирдлага нь зарим хүмүүст илүүдэхгүй мэт санагдаж магадгүй ч олон хүн энэ хэллэгийг хүсч байна "Биднийг буулга, хонгор минь"бүхэл бүтэн гэр бүлийн далдуу модны дэвсгэр дээрх зураг бэлэн боллоо.

    За тэгээд уламжлалдаа хүндэтгэл үзүүлж, жаахан мөрөөдлөө. Гэхдээ зүрх сэтгэлээсээ хэлэхэд энэ нийтлэлийг бичихэд хэцүү байсан бөгөөд энэ бүхэн Android 4 үйлдлийн системтэй ухаалаг гар утас хэлбэрээр бэлэглэснээс эхэлсэн. Энэхүү HUAWEI U8815 загвар нь дөрвөн инчийн жижиг мэдрэгчтэй дэлгэцтэй, дэлгэцийн гартай. Үүн дээр бичих нь ер бусын юм, гэхдээ энэ нь тийм ч шаардлагагүй юм. (зураг01)

    1. Android үйлдлийн системтэй ухаалаг утсанд дуу хоолой таних

    Шинэ тоглоом туршиж байхдаа хайлтын талбарт микрофоны дүрсийг олж харав Googleболон Notes доторх гар дээр. Өмнө нь би энэ тэмдэг ямар утгатай болохыг сонирхдоггүй байсан. Би дотроо яриа өрнүүлсэн Skype, гар дээр бичсэн үсгүүд. Энэ бол ихэнх интернет хэрэглэгчдийн хийдэг зүйл юм. Гэхдээ тэд надад хожим тайлбарласнаар хайлтын системд GoogleОрос хэл дээрх дуут хайлт нэмэгдэж, хөтөч ашиглахдаа богино мессеж бичих боломжийг олгодог програмууд гарч ирэв "Chrome".

    Би гурван үгтэй хэллэг хэлсэн, программ тэднийг тодорхойлж, цэнхэр дэвсгэртэй нүдэнд харуулав. Энд гайхах зүйл байсан, учир нь бүх үгс зөв бичигдсэн байдаг. Хэрэв та энэ нүдэн дээр дарвал Android дэвтэрийн текст талбарт хэллэг гарч ирнэ. Тэгээд би дахиад хэдэн хэллэг хэлээд туслах руу мессеж илгээв.


    2. Дуу таних программуудын товч түүх.

    Дуут удирдлагын орчин үеийн дэвшилтүүд тушаал гаргах боломжтой болсон нь миний хувьд нээлт биш байсан гэр ахуйн цахилгаан хэрэгсэл, машин, робот. Тушаалын горимыг Windows, OS/2 болон Mac OS-ийн өмнөх хувилбаруудад нэвтрүүлсэн. Би ярианы хөтөлбөрүүдтэй тааралдсан, гэхдээ тэдгээр нь ямар хэрэгтэй вэ? Магадгүй миний онцлог бол гар дээр бичихээс илүү ярих нь надад хялбар байдаг, гэхдээ гар утсан дээр би юу ч бичиж чаддаггүй. Та ердийн гартай зөөврийн компьютер дээр харилцагчдыг бичиж, USB кабелиар дамжуулах хэрэгтэй. Гэхдээ зүгээр л микрофоноор ярьж, компьютер өөрөө текстээ алдаагүй бичнэ гэдэг миний хувьд мөрөөдөл байсан. Найдваргүй байдлын уур амьсгалыг форум дээрх хэлэлцүүлгээр хадгалсан. Хаа сайгүй ийм гунигтай бодол төрж байв:

    "Гэсэн хэдий ч бодит байдал дээр өнөөг хүртэл яриаг бодитоор таних хөтөлбөрүүд (тэр ч байтугай орос хэл дээр) бараг байдаггүй бөгөөд удахгүй бий болохгүй нь ойлгомжтой. Түүгээр ч барахгүй таних урвуу асуудал болох ярианы синтез нь танихаас хамаагүй энгийн мэт санагдаж байгаа ч бүрэн шийдэгдээгүй байна." (ComputerPress No. 12, 2004)

    "Компьютерийн хувьд ажил нь нэлээд хэцүү тул яриа таних ердийн програмууд (зөвхөн орос хэлээр биш) байдаггүй. Хамгийн аймшигтай нь хүн үг таних механизм хараахан биелээгүй байгаа тул таних программ зохиохдоо юу ч эхлэхгүй байна." (Форум дээрх өөр нэг хэлэлцүүлэг).

    Үүний зэрэгцээ англи хэл дээрх дуут текст оруулах програмуудын тойм нь тодорхой амжилтыг харуулж байна. Жишээлбэл, IBM ViaVoice 98 Executive Edition 64,000 үгийн үндсэн үгийн сантай, мөн ижил тооны үг нэмэх чадвартай байсан. Хөтөлбөрийг сургахгүйгээр үг таних хувь 80 орчим хувь байсан бөгөөд дараа нь тодорхой хэрэглэгчтэй ажиллахад 95% хүрчээ.

    Орос хэлийг таних хөтөлбөрүүдийн дотроос англи хэл дээрх Dragon Dictate 2.5-ийн нэмэлт болох "Горыныч" -ыг тэмдэглэх нь зүйтэй. Хайлтын тухай, дараа нь "Таван Горыничтай хийсэн тулаан" -ын талаар би тоймны хоёрдугаар хэсэгт хэлэх болно. Анх олдсон зүйл бол "Англи луу" юм.

    3. "Байгалиасаа ярьдаг луу" яриа таних тасралтгүй хөтөлбөр

    Компанийн програмын орчин үеийн хувилбар "Нюанс"Минскийн дээд сургуулийн хуучин найзтайгаа төгссөн Гадаад хэлнүүд. Тэр үүнийг гадаадад хийсэн аялалаас авчирч, "компьютерийн нарийн бичгийн дарга" байж магадгүй гэж бодоод худалдаж авсан. Гэвч ямар нэг зүйл бүтсэнгүй, програм нь зөөврийн компьютер дээр үлдэж, бараг мартагдсан байв. Тодорхой туршлагагүйн улмаас би өөрөө найздаа очихоос өөр аргагүй болсон. Энэ бүх урт танилцуулга нь миний гаргасан дүгнэлтийг зөв ойлгоход зайлшгүй шаардлагатай юм.

    Миний анхны луугийн бүтэн нэр нь: . Хөтөлбөр нь англи хэл дээр байгаа бөгөөд гарын авлагагүй ч гэсэн бүх зүйл тодорхой байна. Эхний алхам бол түүний гүйцэтгэл дэх үгсийн дууны шинж чанарыг тодорхойлохын тулд тодорхой хэрэглэгчийн профайлыг бий болгох явдал юм. Энэ бол миний хийсэн зүйл - илтгэгчийн нас, улс орон, дуудлагын онцлог чухал. Миний сонголт бол 22-54 нас, Их Британийн англи хэл, стандарт дуудлага. Дараа нь микрофоноо тохируулах хэд хэдэн цонх байна. (зураг04)

    Яриа таних ноцтой хөтөлбөрүүдийн дараагийн шат бол тухайн хүний ​​дуудлагын онцлогийг сургах явдал юм. Текстийн мөн чанарыг сонгохыг танаас хүсэх болно: миний сонголт бол богино хэмжээний диктант заавар юм, гэхдээ та инээдмийн түүхийг "захиалах" боломжтой.

    Хөтөлбөртэй ажиллах энэ үе шатны мөн чанар нь маш энгийн - текстийг цонхонд харуулах бөгөөд дээр нь шар сумтай байна. Зөв дуудагдсан тохиолдолд сум нь хэллэгүүдийн дундуур шилжиж, доод хэсэгт дасгалын явцын мөр байна. Би ярианы англи хэлээ бараг мартсан байсан тул ахиц дэвшилд хэцүү байсан. Цаг хугацаа бас хязгаарлагдмал байсан - компьютер минийх биш байсан тул би сургалтаа тасалдуулах шаардлагатай болсон. Харин нэг найз нь хагас цаг хүрэхгүй хугацаанд шалгалт өгсөн гэж хэлсэн. (зураг05)

    Програмд ​​миний дуудлагыг тохируулахыг зөвшөөрөхөөс татгалзаж, би үндсэн цонх руу очиж, суулгасан програмыг ажиллуулав текст засварлагч. Тэрээр компьютер дээрээс олсон зарим бичвэрүүдээс ганцаарчилсан үг хэлсэн. Хөтөлбөр нь түүний зөв хэлсэн үгсийг хэвлэж, муу хэлсэн үгийг нь "Англи" гэсэн үгээр сольсон. "Мөр арилгах" командыг англиар тодорхой дуудсаны дараа програм үүнийг гүйцэтгэсэн. Энэ нь би командуудыг зөв уншиж, програм нь урьдчилан сургалтгүйгээр тэдгээрийг таньдаг гэсэн үг юм.

    Гэхдээ энэ "луу" орос хэл дээр хэрхэн бичдэг нь надад чухал байсан. Өмнөх тайлбараас харахад програмыг сургахдаа та зөвхөн англи хэл дээрх текстийг сонгох боломжтой. Орос хэл яриа таних чадварыг сургах боломжгүй нь ойлгомжтой. Дараагийн зураг дээр та "Сайн уу" гэсэн орос үгийг дуудахдаа програм ямар хэллэг бичсэнийг харж болно. (зураг06)

    Анхны луутай хийсэн ярианы үр дүн бага зэрэг инээдтэй болж хувирав. Хэрэв та албан ёсны вэбсайт дээрх текстийг анхааралтай уншвал англи хэл дээрх "мэргэшсэн байдал" -ыг харж болно програм хангамжийн бүтээгдэхүүн. Нэмж дурдахад, ачаалах үед бид програмын цонхонд "Англи хэл" гэж уншдаг. Тэгвэл энэ бүхэн яагаад хэрэгтэй байсан бэ? Үүнд форум, цуурхал буруутай гэдэг нь ойлгомжтой...

    Гэхдээ бас хэрэгтэй туршлага бий. Миний нэг найз зөөврийн компьютерийнхээ байдлыг харахыг хүссэн. Ямар нэгэн байдлаар тэр аажмаар ажиллаж эхлэв. Энэ нь гайхмаар зүйл биш юм - системийн хуваалт ердөө 5% сул зайтай байсан. Шаардлагагүй програмуудыг устгах явцад албан ёсны хувилбар нь 2.3 ГБ-аас илүү зай эзэлнэ. Энэ тоо бидэнд хожим хэрэг болно. (зураг.07)



    Орос хэл яриаг хүлээн зөвшөөрөх нь тийм ч энгийн ажил биш байсан. Минск хотод би нэг найзаасаа "Гориныч"-ыг олж чадсан. Тэрээр хуучин нурангинаасаа дискийг удаан хугацаанд хайж байсан бөгөөд түүний хэлснээр энэ бол албан ёсны хэвлэл юм. Хөтөлбөрийг шууд суулгасан бөгөөд толь бичигт 5000 орос үг, 100 тушаал, 600 үг байгааг олж мэдэв. Англи үгснэмээд 31 баг.

    Эхлээд та микрофоныг тохируулах хэрэгтэй, үүнийг миний хийсэн. Тэгээд толь бичгээ нээж үг нэмсэн "шалгалт"Учир нь энэ нь програмын толь бичигт байгаагүй юм. Би ойлгомжтой, нэгэн хэвийн ярихыг хичээсэн. Эцэст нь би Gorynych Pro 3.0 програмыг нээж, диктант горимыг асааж, "ойн сонсогдох үгсийн" жагсаалтыг хүлээн авлаа. (зураг.09)

    Үр дүн нь намайг гайхшруулж байсан, учир нь энэ нь Android ухаалаг гар утасны ажлаас эрс ялгаатай байсан тул би "-ээс бусад програмуудыг туршиж үзэхээр шийдсэн. Google Chrome онлайн дэлгүүр". Тэгээд би "горынич могой"-той харьцахаа хожим болтол хойшлуулсан. Би тэгсэн гэж бодсон хойшлуулахОросын анхны сүнсээр хийсэн үйлдэл

    5. Google-ийн дуу хоолойны чадвар

    Дуу хоолойгоор ажиллах ердийн компьютер Windows үйлдлийн системтэй бол та хөтөч суулгах хэрэгтэй болно Гүүгл Кром. Хэрэв та үүн дээр онлайнаар ажилладаг бол баруун доод хэсэгт байрлах дэлгүүрийн холбоос дээр дарж болно програм хангамж. Тэнд би бүрэн үнэгүй, дуут текст оруулах хоёр програм, хоёр өргөтгөл олсон. Програмуудыг дуудаж байна "Дууны дэвтэр"Тэгээд "Voicenot - дуу хоолой руу текст". Суулгасны дараа тэдгээрийг таб дээрээс олж болно "Програм"таны хөтөч "Хром". (зураг. 10)

    Өргөтгөлүүдийг дууддаг "Google Voice Search Hotword (Бета) 0.1.0.5"Тэгээд "Дууны текст оруулах - Speechpad.ru 5.4". Суулгасны дараа тэдгээрийг таб дээрээс унтрааж эсвэл устгаж болно "Өргөтгөлүүд".(зураг. 11)

    VoiceNote. Chrome хөтөч дээрх програмын таб дээр програмын дүрс дээр давхар товшино уу. Доорх зурган дээрх шиг харилцах цонх нээгдэнэ. Микрофоны дүрс дээр дарснаар та микрофон руу богино хэллэгүүдийг хэлдэг. Програм нь таны үгийг яриа таних сервер рүү дамжуулж, цонхонд текстийг бичдэг. Зурагт үзүүлсэн бүх үг, хэллэгийг анх удаа бичсэн. Мэдээжийн хэрэг, энэ арга нь зөвхөн идэвхтэй интернет холболттой үед л ажилладаг. (зураг. 12)

    Дуут тэмдэглэлийн дэвтэр. Хэрэв та програмын цонхноос програмыг ажиллуулбал шинэ интернет хуудасны таб нээгдэнэ Speechpad.ru. Энэ үйлчилгээг хэрхэн ашиглах талаар дэлгэрэнгүй заавар, авсаархан маягт байдаг. Сүүлийнхийг доорх зурагт үзүүлэв. (зураг. 13)

    Дуут оролтТекст нь таны дуу хоолойг ашиглан интернет хуудасны текст талбаруудыг бөглөх боломжийг олгодог. Жишээлбэл, би хуудас руугаа орсон "Google+". Шинэ мессеж оруулах талбарт хулганы баруун товчийг дараад сонгоно уу "Ярианы самбар". Ягаан өнгийн оролтын цонх нь та текстээ бичиж болно гэдгийг харуулж байна. (зураг. 14)

    Google дуут хайлтдуу хоолойгоор хайх боломжийг танд олгоно. Энэ өргөтгөлийг суулгаж идэвхжүүлэхэд хайлтын талбарт микрофоны тэмдэг гарч ирнэ. Үүнийг дарахад том улаан тойрог дотор тэмдэг гарч ирнэ. Хайлтын үг хэллэгээ хэлэхэд л хайлтын үр дүнд гарч ирнэ. (зураг. 15)

    Анхаарах зүйл: Микрофон Chrome өргөтгөлтэй ажиллахын тулд хөтчийнхөө тохиргооноос микрофонд хандахыг зөвшөөрөх шаардлагатай. Энэ нь аюулгүй байдлын үүднээс анхдагчаар идэвхгүй болсон. Руу явах Тохиргоо→Хувийн мэдээлэл→Агуулгын тохиргоо. (Жагсаалтын төгсгөлд байгаа бүх тохиргоонд хандахын тулд товшино уу Үзүүлэх нэмэлт тохиргоо) . Харилцах цонх нээгдэнэ Хуудасны агуулгын тохиргоо. Жагсаалтын доор байгаа зүйлийг сонгоно уу Мультимедиа→микрофон.

    6. Орос хэл яриа таних программтай ажилласан үр дүн

    Дуут текст оруулах програмыг ашиглах багахан туршлага нь интернетийн компанийн сервер дээр энэ функцийг маш сайн хэрэгжүүлж байгааг харуулж байна Google. Урьдчилсан сургалтгүйгээр үгсийг зөв танина. Энэ нь орос хэлийг таних асуудал шийдэгдсэнийг харуулж байна.

    Одоо бид хөгжлийн үр дүн гэж хэлж болно Googleбусад үйлдвэрлэгчдийн бүтээгдэхүүнийг үнэлэх шинэ шалгуур болно. Таних системийг компанийн серверт хандахгүйгээр офлайнаар ажиллуулахыг хүсч байна - энэ нь илүү тохиромжтой бөгөөд хурдан юм. Гэхдээ Оросын ярианы тасралтгүй урсгалтай ажиллах бие даасан хөтөлбөр хэзээ гарах нь тодорхойгүй байна. Гэсэн хэдий ч бэлтгэл хийх боломж олдвол энэхүү "бүтээл" нь жинхэнэ нээлт болно гэж таамаглах нь зүйтэй.

    Оросын хөгжүүлэгчдийн програмууд "Гориныч", "Диктограф"Тэгээд "Тэмцэл"Би энэ тоймыг хоёр дахь хэсэгт нарийвчлан авч үзэх болно. Анхны диск хайхад хэцүү болсон тул энэ нийтлэлийг маш удаан бичсэн. Одоогийн байдлаар би "Combat 2.52"-ээс бусад оросын дуу, текстийг таних хөдөлгүүрийн бүх хувилбартай. Миний найз нөхөд, хамт ажиллагсдын хэн нь ч ийм хөтөлбөртэй байдаггүй бөгөөд би өөрөө форум дээр цөөн хэдэн магтаал сайшаалтай байдаг. Үнэн, ийм хачирхалтай сонголт байсан - "Combat" -ыг SMS-ээр татаж авах, гэхдээ надад дургүй. (зураг 16)


    Богино хэмжээний видео клип нь Android үйлдлийн системтэй ухаалаг гар утсанд яриа таних арга хэрхэн ажилладагийг харуулах болно. Дуугаар бичих онцлог нь Google серверт холбогдох хэрэгцээ юм. Таны интернет ийм байдлаар ажиллах ёстой

    Энэ утас байна яриа танихэсвэл дуут оролт, гэхдээ энэ нь зөвхөн интернетээр холбогдож ажилладаг Google үйлчилгээ. Гэхдээ утсыг интернетгүйгээр яриа танихыг заах боломжтой тул бид орос хэлийг хэрхэн таних талаар авч үзэх болно. офлайн. Энэ аргыг ажиллуулахын тулд та хоёр програм суулгасан байх ёстой Дуут хайлтТэгээд Google-ийн хайлт, хэдийгээр эдгээр программууд нь үйлдвэрийн програм хангамжид аль хэдийн байдаг.

    Програм хангамжийн хувьд

    Утасны тохиргоо руу очоод сонгоно уу

    Орос хэл сонгоод татаж аваарай.

    2.8B програм хангамжийн хувьд

    Шинэ програм хангамжийн цэсийн зүйл " Офлайн яриа таних" байхгүй.

    Хэрэв та програмыг шинэчлэхээс өмнө офлайн багцуудыг суулгасан байсан бөгөөд шинэчлэлтийн явцад арчихгүй (тохиргоог дахин тохируулаагүй) бол тэдгээр нь хадгалагдсан байх ёстой. Үгүй бол та програм хангамж руу буцах хэрэгтэй болно 2.2 , дуут багцуудыг суулгаж, зөвхөн дараа нь системийг шинэчилнэ үү 2.8Б.

    Rev.B төхөөрөмжүүдийн хувьд

    Бид шинэчлэлтийг сэргээх замаар суулгаж, oyline-д дуу таних боломжтой.

    2. Орос хэлээр ярих мэдээллийн санг татаж аваад SD карт руу хуулна

    Russian_offline.zip 1301 татаж авах

    3. Утсаа унтраасан үед (Эзлэхүүн + ба Асаах) дарж сэргээхийг оруулна уу.

    4. Сонго Гадны санах ойгоос шинэчлэлийг хийхболон татаж авсан архивыг сонгоно уу.



    Үүнтэй төстэй нийтлэлүүд