วิธีเปิดใช้งานการจดจำเสียงแบบออฟไลน์ การรู้จำเสียงโดยใช้แอปพลิเคชันเดสก์ท็อป .NET การรู้จำเสียง Android ออฟไลน์

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พูดประโยคนี้ทันทีว่า "ฉันตื่นแล้ว" แน่นอนว่าคุณจะไม่ได้ยินแอปพลิเคชันสาธิตในขณะที่อ่านบทความนี้ ดังนั้นจึงแสดงข้อความที่คอมพิวเตอร์กำลังพูด จากนั้นผู้ใช้ก็พูดคำสั่ง "Speech on" แอปพลิเคชันสาธิตตอบสนองด้วยข้อความที่รู้จัก จากนั้นรับฟังภายในและตอบสนองต่อคำขอให้บวกตัวเลขสองตัว

ข้าว. 1. การรู้จำและการสังเคราะห์เสียงในแอปพลิเคชันคอนโซล


ข้าว. 2. การรู้จำเสียงในแอปพลิเคชัน Windows Forms

ผู้ใช้ขอให้แอปเพิ่มหนึ่งและสอง จากนั้นจึงเพิ่มสองและสาม แอปพลิเคชันจดจำคำสั่งเสียงพูดและให้คำตอบด้วยเสียง ฉันจะอธิบายวิธีที่เป็นประโยชน์เพิ่มเติมในการใช้การรู้จำเสียงในภายหลัง

จากนั้นผู้ใช้พูดว่า “Speech off” ซึ่งเป็นคำสั่งเสียงที่ปิดใช้งานการฟังคำสั่งเพิ่มเติม แต่ไม่ได้ปิดใช้งานการรู้จำเสียงอย่างสมบูรณ์ หลังจากคำสั่งด้วยวาจานี้ คำสั่งถัดไปที่เพิ่มหนึ่งและสองจะถูกละเว้น ในที่สุด ผู้ใช้เปิดคำสั่งในการฟังอีกครั้งและพูดคำสั่งที่ไม่มีความหมายว่า “Klatu barada nikto” ซึ่งแอปพลิเคชันรับรู้ว่าเป็นคำสั่งให้ปิดการใช้งานการรู้จำคำพูดโดยสมบูรณ์และยุติการทำงานของตัวเอง

บน ข้าว. 2แสดงแอปพลิเคชัน Windows Forms ที่เปิดใช้งานคำพูดจำลอง แอปพลิเคชั่นนี้จดจำคำสั่งเสียงพูด แต่ไม่ตอบสนองต่อคำสั่งเหล่านั้นด้วยเอาต์พุตเสียง เมื่อคุณเปิดแอพครั้งแรก กล่องกาเครื่องหมายเปิดคำพูดไม่ได้ถูกเลือก แสดงว่าการรู้จำเสียงไม่ได้ทำงานอยู่ ผู้ใช้ทำเครื่องหมายในช่องนี้แล้วพูดว่า "สวัสดี" แอปพลิเคชันตอบสนองด้วยการแสดงข้อความที่รู้จักในตัวควบคุมกล่องรายการที่ด้านล่างของหน้าต่าง

ผู้ใช้จึงพูดว่า “ตั้งค่ากล่องข้อความ 1 เป็นสีแดง” แอปพลิเคชันจดจำคำพูดและตอบกลับว่า “ตั้งค่ากล่องข้อความ 1 สีแดง” ซึ่งเกือบจะ (แต่ไม่ทั้งหมด) ตรงกับสิ่งที่ผู้ใช้พูด แม้ว่าจะเปิดอยู่ก็ตาม ข้าว. 2คุณไม่สามารถมองเห็นได้ ข้อความในตัวควบคุมกล่องข้อความที่ด้านบนของหน้าต่างเป็นสีแดงจริงๆ

จากนั้นผู้ใช้กล่าวว่า: “โปรดตั้งค่ากล่องข้อความ 1 เป็นสีขาว” แอปรับรู้สิ่งนี้ว่า "ตั้งค่ากล่องข้อความ 1 สีขาว" และทำเช่นนั้น ผู้ใช้สรุปด้วยการพูดว่า "ลาก่อน" และแอปพลิเคชันแสดงข้อความนั้น แต่ไม่ได้ทำอะไรกับ Windows Forms แม้ว่าจะสามารถล้างช่องทำเครื่องหมาย Speech On ได้แล้วก็ตาม

การใช้วัตถุซินธิไซเซอร์นั้นค่อนข้างง่าย

ในส่วนต่อไปนี้ ฉันจะแนะนำคุณตลอดขั้นตอนการสร้างโปรแกรมสาธิตทั้งสองโปรแกรม รวมถึงการติดตั้งไลบรารีคำพูด .NET ที่จำเป็น บทความนี้อนุมานว่าคุณมีทักษะการเขียนโปรแกรมระดับกลางเป็นอย่างน้อย แต่ไม่รู้อะไรเลยเกี่ยวกับการรู้จำและการสังเคราะห์เสียงพูด

การเพิ่มการสนับสนุนการรู้จำเสียงให้กับแอปพลิเคชันคอนโซล

เพื่อสร้างการสาธิตที่แสดงใน ข้าว. 1ฉันเปิดตัว Visual Studio และสร้างแอปพลิเคชันคอนโซล C# ใหม่ชื่อ ConsoleSpeech ฉันใช้เครื่องมือคำพูดกับ Visual Studio 2010 และ 2012 ได้สำเร็จ แต่เวอร์ชันล่าสุดก็น่าจะใช้ได้ หลังจากโหลดโค้ดเทมเพลตลงในตัวแก้ไข ฉันเปลี่ยนชื่อไฟล์ Program.cs ในหน้าต่าง Solution Explorer เป็น ConsoleSpeechProgram.cs ที่สื่อความหมายได้มากขึ้น และ Visual Studio เปลี่ยนชื่อคลาส Program ให้ฉัน

ต่อไป ฉันเพิ่มลิงก์ไปยังไฟล์ Microsoft.Speech.dll ซึ่งอยู่ใน C:\ProgramFiles (x86)\Microsoft SDKs\Speech\v11.0\Assembly DLL นี้หายไปจากคอมพิวเตอร์ของฉัน และฉันต้องดาวน์โหลดมัน การติดตั้งไฟล์ที่จำเป็นเพื่อเพิ่มการรู้จำเสียงและการสังเคราะห์เสียงให้กับแอปพลิเคชันนั้นไม่ใช่เรื่องเล็กน้อย ฉันจะอธิบายขั้นตอนการติดตั้งโดยละเอียดในส่วนถัดไป แต่สำหรับตอนนี้ สมมติว่า Microsoft.Speech.dll อยู่ในระบบของคุณ

ด้วยการเพิ่มการอ้างอิงไปยังคำพูด DLL ฉันได้ลบคำสั่งการใช้งานทั้งหมดออกจากด้านบนของโค้ด ยกเว้นคำสั่งที่ชี้ไปที่เนมสเปซของระบบระดับบนสุด จากนั้น ฉันเพิ่มการใช้คำสั่งสำหรับเนมสเปซ Microsoft.Speech.Recognition, Microsoft.Speech.Synthetic และ System.Globalization สองเนมสเปซแรกถูกแมปกับคำพูด DLL โปรดทราบว่ายังมีเนมสเปซ เช่น System.Speech.Recognition และ System.Speech.Synthetic ซึ่งอาจทำให้เกิดความสับสนได้ ฉันจะอธิบายความแตกต่างระหว่างพวกเขาในไม่ช้า เนมสเปซ Globalization พร้อมใช้งานตามค่าเริ่มต้น และไม่จำเป็นต้องเพิ่มการอ้างอิงใหม่ลงในโปรเจ็กต์

ซอร์สโค้ดทั้งหมดสำหรับแอปพลิเคชันคอนโซลสาธิตมีให้ที่ ข้าว. 3และยังมีอยู่ในแพ็คเกจต้นฉบับที่มาพร้อมกับบทความนี้ด้วย ฉันได้ลบการจัดการข้อผิดพลาดมาตรฐานทั้งหมดออกเพื่อหลีกเลี่ยงการปิดบังแนวคิดหลักให้มากที่สุด

ข้าว. 3. ซอร์สโค้ดแอปพลิเคชันคอนโซลสาธิต

ใช้ระบบ; ใช้ Microsoft.Speech.Recognition; ใช้ Microsoft.Speech.Synthetic; โดยใช้ System.Globalization; Namespace ConsoleSpeech (คลาส ConsoleSpeechProgram ( static SpeechSynthesizer ss = new SpeechSynthesizer(); static SpeechRecognitionEngine sre; static bool เสร็จแล้ว = false; static bool SpeechOn = true; static void Main(string args) ( ลอง ( ss.SetOutputToDefaultAudioDevice(); Console.WriteLine ("\n(กำลังพูด: ฉันตื่นแล้ว)"); CultureInfo ci = new CultureInfo("en-us"); SpeechRecognized; ตัวเลือก ch_StartStopCommands = ตัวเลือกใหม่ (gb_StartStop); ตัวเลือก ch_Numbers (); 4"); gb_WhatIsXplusY.Append("คืออะไร"); gb_WhatIsXplusY.ผนวก(ch_Numbers); gb_WhatIsXplusY.ผนวก("บวก"); gb_WhatIsXplusY.ผนวก(ch_Numbers); ไวยากรณ์ g_WhatIsXplusY = ไวยากรณ์ใหม่ (gb_WhatIsXplusY); sre.LoadGrammarAsync(g_StartStop); sre.LoadGrammarAsync(g_WhatIsXplusY); sre.RecognizeAsync(RecognizeMode.หลายรายการ); ในขณะที่ (เสร็จสิ้น == false) ( ; ) Console.WriteLine("\nHit< enter >เพื่อปิดเชลล์\n"); Console.ReadLine(); ) catch (ข้อยกเว้น เช่น) ( Console.WriteLine(ex.Message); Console.ReadLine(); ) ) // Main static void sre_SpeechRecognized(ผู้ส่งวัตถุ, SpeechRecognizedEventArgs e ) ( string txt = e.Result.Text; float Confidence; Console.WriteLine("\nRecognized: " + txt); if (ความมั่นใจ< 0.60) return; if (txt.IndexOf("speech on") >= 0) ( Console.WriteLine("คำพูดเปิดอยู่"); SpeechOn = true; ) if (txt.IndexOf("ปิดคำพูด") >= 0) ( Console.WriteLine("คำพูดปิดอยู่"); SpeechOn = false ) ถ้า (speechOn == false) กลับมา; if (txt.IndexOf("klatu") >= 0 && txt.IndexOf("barada") >= 0) ( ((SpeechRecognitionEngine)ผู้ส่ง) RecognizeAsyncCancel(); Done = true; Console.WriteLine("(พูด: ลาก่อน)"); ss.Speak("อำลา"); ) if (txt.IndexOf("What") >= 0 && txt.IndexOf("plus") >= 0) ( คำสตริง = txt.Split(" "); int num1 = int.Parse(คำ); int num2 = int.Parse(คำ); int sum = num1 + num2; Console.WriteLine("(การพูด: " + คำ + " บวก " + คำ + " เท่ากับ " + sum + ")"); ss.SpeakAsync (คำ + " บวก " + คำ + " เท่ากับ " + ผลรวม); ) ) // sre_SpeechRecognized ) // โปรแกรม ) // ns

หลังจากใช้คำสั่ง โค้ดสาธิตจะเริ่มต้นดังนี้:

Namespace ConsoleSpeech (คลาส ConsoleSpeechProgram ( static SpeechSynthesizer ss = new SpeechSynthesizer(); static SpeechRecognitionEngine sre; static bool เสร็จแล้ว = false; static bool SpeechOn = true; static void Main(string args) ( ...

อ็อบเจ็กต์ SpeechSynthesizer ในระดับชั้นเรียน ช่วยให้แอปพลิเคชันสามารถสังเคราะห์คำพูดได้ ออบเจ็กต์ SpeechRecognitionEngine อนุญาตให้แอปพลิเคชันฟังและจดจำคำพูดหรือวลี ตัวแปรบูลีนที่ทำเสร็จแล้วจะกำหนดว่าเมื่อใดที่แอปพลิเคชันทั้งหมดสิ้นสุดลง ตัวแปร SpeechOn Boolean จะควบคุมว่าแอปพลิเคชันจะฟังคำสั่งใดๆ นอกเหนือจากคำสั่งเพื่อออกจากโปรแกรมหรือไม่

แนวคิดก็คือแอปพลิเคชันคอนโซลไม่ยอมรับการป้อนข้อมูลด้วยแป้นพิมพ์ ดังนั้นจึงคอยฟังคำสั่งอยู่เสมอ อย่างไรก็ตาม หาก SpeechOn เป็นเท็จ ระบบจะรับรู้และดำเนินการเฉพาะคำสั่งให้ออกจากโปรแกรมเท่านั้น คำสั่งอื่นๆ จะถูกรับรู้แต่ถูกละเลย

วิธีการหลักเริ่มต้นดังนี้:

ลอง ( ss.SetOutputToDefaultAudioDevice(); Console.WriteLine("\n(พูด: ฉันตื่นแล้ว)"); ss.Speak("ฉันตื่นแล้ว");

อินสแตนซ์ของวัตถุ SpeechSynthesizer ถูกสร้างขึ้นเมื่อมีการประกาศ การใช้วัตถุซินธิไซเซอร์นั้นค่อนข้างง่าย เมธอด SetOutputToDefaultAudioDevice ส่งสัญญาณเอาท์พุตไปยังลำโพงที่เชื่อมต่อกับคอมพิวเตอร์ของคุณ (คุณยังสามารถส่งสัญญาณเอาท์พุตเป็นไฟล์ได้ด้วย) วิธีการพูดใช้สตริงแล้วพูด นั่นเป็นวิธีที่ง่าย

การรู้จำเสียงมีความซับซ้อนมากกว่าการสังเคราะห์เสียงพูดมาก วิธีการหลักดำเนินต่อไปโดยการสร้างวัตถุตัวแก้ไข:

CultureInfo ci = ใหม่ CultureInfo("en-us"); sre = SpeechRecognitionEngine ใหม่ (ci); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized;

ขั้นแรก ออบเจ็กต์ CultureInfo ระบุภาษาที่จะจดจำ ในกรณีนี้คือ United States English ออบเจ็กต์ CultureInfo อยู่ในเนมสเปซ Globalization ซึ่งเราอ้างอิงด้วยคำสั่ง การใช้ จากนั้น หลังจากเรียกตัวสร้าง SpeechRecognitionEngine แล้ว การป้อนข้อมูลด้วยเสียงจะถูกกำหนดให้กับอุปกรณ์เสียงเริ่มต้น ซึ่งส่วนใหญ่มักจะเป็นไมโครโฟน โปรดทราบว่าแล็ปท็อปส่วนใหญ่มีไมโครโฟนในตัว แต่ คอมพิวเตอร์ตั้งโต๊ะคุณจะต้องมีไมโครโฟนภายนอก (มักใช้ร่วมกับหูฟังในปัจจุบัน)

วิธีการหลักสำหรับวัตถุตัวจดจำคือตัวจัดการเหตุการณ์ SpeechRecognized เมื่อใช้ Visual Studio หากคุณพิมพ์ "sre.SpeechRecognized +=" และรอสักครู่ IntelliSense จะสิ้นสุดนิพจน์ของคุณด้วยชื่อตัวจัดการเหตุการณ์ - sre_SpeechRecognized โดยอัตโนมัติ ฉันขอแนะนำให้คุณกดแป้น Tab เพื่อยอมรับข้อเสนอแนะและใช้ชื่อนี้เป็นค่าเริ่มต้น

ตัวเลือก ch_Numbers = ตัวเลือกใหม่ (); 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.ผนวก(ch_Numbers); gb_WhatIsXplusY.ผนวก("บวก"); gb_WhatIsXplusY.ผนวก(ch_Numbers); ไวยากรณ์ g_WhatIsXplusY = ไวยากรณ์ใหม่ (gb_WhatIsXplusY);

ออบเจ็กต์หลักสามออบเจ็กต์ที่นี่คือชุดตัวเลือก เทมเพลต GrammarBuilder และตัวควบคุมไวยากรณ์ เมื่อฉันสร้างไวยากรณ์เพื่อการจดจำ ฉันจะเริ่มต้นด้วยการยกตัวอย่างสิ่งที่ฉันจำเป็นต้องจดจำ สมมุติว่า "หนึ่งบวกสองเป็นเท่าใด" และ “สามบวกสี่คืออะไร”

จากนั้น ฉันจะกำหนดเทมเพลตทั่วไปที่เกี่ยวข้อง เช่น "คืออะไร บวก - เทมเพลตคือ GrammarBuilder และค่าเฉพาะที่ส่งไปยังเทมเพลตคือชุดของตัวเลือก ออบเจ็กต์ไวยากรณ์สรุปเทมเพลตและตัวเลือก

ในโปรแกรมสาธิต ฉันจำกัดการเพิ่มไว้ที่ 1 ถึง 4 และเพิ่มเป็นสตริงในชุดตัวเลือก แนวทางที่มีประสิทธิภาพมากขึ้น:

หมายเลขสตริง = สตริงใหม่ ("1", "2", "3", "4" ); ตัวเลือก ch_Numbers = ตัวเลือกใหม่ (ตัวเลข);

ฉันกำลังนำเสนอแนวทางที่มีประสิทธิภาพน้อยกว่าในการสร้างชุดตัวเลือกด้วยเหตุผลสองประการ ประการแรก การเพิ่มทีละบรรทัดเป็นวิธีเดียวที่ฉันเคยเห็นในตัวอย่างการรู้จำเสียงอื่นๆ ประการที่สอง คุณอาจคิดว่าการเพิ่มทีละแถวไม่ควรทำงานเลย Visual Studio IntelliSense แสดงแบบเรียลไทม์ว่าหนึ่งในการเพิ่มโอเวอร์โหลดยอมรับพารามิเตอร์ของวลีสตริงประเภทพารามิเตอร์ หากคุณไม่ได้สังเกต คำสำคัญพารามิเตอร์ คุณอาจสันนิษฐานได้ว่าวิธีการเพิ่มยอมรับเฉพาะอาร์เรย์ของสตริงเท่านั้น ไม่ใช่สตริงเดียว แต่กลับไม่เป็นเช่นนั้น เขายอมรับทั้งสองอย่าง ฉันแนะนำให้ผ่านอาร์เรย์

การสร้างชุดตัวเลือกจากตัวเลขตามลำดับถือเป็นกรณีพิเศษและอนุญาตให้ใช้แนวทางทางโปรแกรม เช่น:

หมายเลขสตริง = สตริงใหม่; สำหรับ (int i = 0; i< 100; ++i) numbers[i] = i.ToString(); Choices ch_Numbers = new Choices(numbers);

หลังจากสร้างตัวเลือกเพื่อเติมช่อง GrammarBuilder แล้ว โปรแกรมสาธิตจะสร้าง GrammarBuilder จากนั้นจึงสร้างไวยากรณ์ควบคุม:

GrammarBuilder gb_WhatIsXplusY = ใหม่ GrammarBuilder(); gb_WhatIsXplusY.Append("คืออะไร"); gb_WhatIsXplusY.ผนวก(ch_Numbers); gb_WhatIsXplusY.ผนวก("บวก"); gb_WhatIsXplusY.ผนวก(ch_Numbers); ไวยากรณ์ g_WhatIsXplusY = ไวยากรณ์ใหม่ (gb_WhatIsXplusY);

โปรแกรมสาธิตใช้เทมเพลตที่คล้ายกันเพื่อสร้างไวยากรณ์สำหรับคำสั่งเริ่มและหยุด:

ตัวเลือก ch_StartStopCommands = ตัวเลือกใหม่ (); ch_StartStopCommands.Add("คำพูดบน"); ch_StartStopCommands.Add("ปิดคำพูด"); ch_StartStopCommands.Add("กลุ่มเพื่อน"); GrammarBuilder gb_StartStop = ใหม่ GrammarBuilder(); gb_StartStop.ผนวก(ch_StartStopCommands); ไวยากรณ์ g_StartStop = ไวยากรณ์ใหม่ (gb_StartStop);

ไวยากรณ์สามารถกำหนดได้อย่างยืดหยุ่นมาก คำสั่ง "speech on", "speech off" และ "klatu barada nikto" อยู่ในไวยากรณ์เดียว เนื่องจากมีความเกี่ยวข้องกันในเชิงตรรกะ คำสั่งทั้งสามนี้สามารถกำหนดได้ด้วยไวยากรณ์สามแบบที่แตกต่างกัน หรือคำสั่ง "speech on" และ "speech off" สามารถวางไว้ในไวยากรณ์เดียวและคำสั่ง "klatu barada nikto" ได้ในวินาทีเดียว

เมื่อคุณสร้างออบเจ็กต์ไวยากรณ์ทั้งหมดแล้ว คุณใส่วัตถุเหล่านั้นลงในโปรแกรมรู้จำเสียงพูดและการรู้จำเสียงจะเปิดใช้งาน:

sre.LoadGrammarAsync(g_StartStop); sre.LoadGrammarAsync(g_WhatIsXplusY); sre.RecognizeAsync(RecognizeMode.หลายรายการ);

อาร์กิวเมนต์ RecognizeMode.Multiple จำเป็นเมื่อคุณมีไวยากรณ์มากกว่าหนึ่งรายการ ซึ่งจะเป็นเช่นนั้นในทุกโปรแกรม ยกเว้นโปรแกรมที่ง่ายที่สุด วิธีการหลักเสร็จสิ้นดังนี้:

ในขณะที่ (เสร็จสิ้น == false) ( ; ) Console.WriteLine("\nHit< enter >เพื่อปิดเชลล์\n"); Console.ReadLine(); ) catch (ข้อยกเว้น เช่น) ( Console.WriteLine(ex.Message); Console.ReadLine(); ) ) // Main

การวนซ้ำ while ที่ดูแปลกตาทำให้คุณสามารถเก็บเชลล์ของแอปพลิเคชันคอนโซลไว้ได้ การวนซ้ำจะเสร็จสมบูรณ์เมื่อตัวแปรบูลีนระดับชั้นเรียนถูกตั้งค่าเป็นจริงโดยตัวจัดการเหตุการณ์การรู้จำเสียง

การประมวลผลคำพูดที่ได้รับการยอมรับ

รหัสสำหรับจัดการเหตุการณ์การรู้จำเสียงเริ่มต้นดังนี้:

โมฆะคงที่ sre_SpeechRecognized (ผู้ส่งวัตถุ SpeechRecognizedEventArgs e) ( string txt = e.Result.Text; float Confidence = e.Result.Confidence; Console.WriteLine("\nRecognized: " + txt); if (ความมั่นใจ< 0.60) return; ...

ข้อความที่รู้จักจะถูกเก็บไว้ในคุณสมบัติ Result.Text ของวัตถุ SpeechRecognizedEventArgs หรือคุณสามารถใช้ชุด Result.Words ได้ คุณสมบัติ Result.Confidence จะเก็บค่าระหว่าง 0.0 ถึง 1.0 ซึ่งเป็นค่าประมาณคร่าวๆ ว่าข้อความที่พูดตรงกับไวยากรณ์ใดๆ ที่เกี่ยวข้องกับตัวจดจำได้ดีเพียงใด โปรแกรมสาธิตจะสั่งให้ตัวจัดการเหตุการณ์ละเว้นข้อความโดยมีความมั่นใจต่ำในข้อความที่รู้จัก

ค่าความเชื่อมั่นจะแตกต่างกันไปมากขึ้นอยู่กับความซับซ้อนของไวยากรณ์ คุณภาพไมโครโฟน และปัจจัยอื่นๆ ตัวอย่างเช่น หากโปรแกรมสาธิตต้องจดจำตัวเลข 1 ถึง 4 เท่านั้น ค่าความเชื่อมั่นในคอมพิวเตอร์ของฉันมักจะอยู่ที่ประมาณ 0.75 แต่ถ้าไวยากรณ์ต้องจดจำตัวเลขตั้งแต่ 1 ถึง 100 ค่าความเชื่อมั่นจะลดลงเหลือประมาณ 0.25 โดยสรุปคุณควรทดสอบด้วยค่าความมั่นใจเพื่อให้ได้ผลลัพธ์การรู้จำเสียงที่ดี

if (txt.IndexOf("speech on") >= 0) ( Console.WriteLine("Speech is now ON"); SpeechOn = true; ) if (txt.IndexOf("speech off") >= 0) ( คอนโซล .WriteLine("คำพูดถูกปิดแล้ว");คำพูดOn = false; ถ้า (speechOn == false) กลับ;

แม้ว่าในตอนแรกอาจไม่ชัดเจนนัก แต่ตรรกะนี้ก็น่าจะสมเหตุสมผลหากคุณลองคิดดู คำสั่ง Secret Exit จะถูกประมวลผล:

if (txt.IndexOf("klatu") >= 0 && txt.IndexOf("barada") >= 0) ( ((SpeechRecognitionEngine)sender).RecognizeAsyncCancel(); เสร็จสิ้น = true; Console.WriteLine("(พูด: ลาก่อน)"); ss.Speak("อำลา"); )

โปรดทราบว่ากลไกการรู้จำเสียงพูดสามารถจดจำคำที่ไร้สาระได้จริง หากออบเจ็กต์ไวยากรณ์มีคำที่ไม่ได้อยู่ในพจนานุกรมในตัวของออบเจ็กต์ ไวยากรณ์จะพยายามระบุคำเหล่านั้นโดยใช้การวิเคราะห์พฤติกรรมเชิงความหมายหากเป็นไปได้ และมักจะค่อนข้างประสบความสำเร็จ นั่นเป็นเหตุผลที่ฉันใช้ "klatu" แทน "klaatu" ที่ถูกต้อง (จากภาพยนตร์ไซไฟเก่า)

โปรดทราบว่าคุณไม่จำเป็นต้องประมวลผลข้อความทั้งหมดที่ไวยากรณ์รู้จัก (“klatu barada nikto”) คุณเพียงแค่ต้องมีข้อมูลเพียงพอที่จะระบุวลีทางไวยากรณ์ (“klatu” และ “barada”) โดยไม่ซ้ำกัน

If (txt.IndexOf("What") >= 0 && txt.IndexOf("plus") >= 0) ( คำสตริง = txt.Split(" "); int num1 = int.Parse(words); int num2 = int.Parse(words); int sum = num1 + num2; Console.WriteLine("(พูด: " + คำ + " บวก " + คำ + " เท่ากับ " + ผลรวม + ")"); " เท่ากับ " + ผลรวม); ) ) // sre_SpeechRecognized ) // โปรแกรม ) // ns

โปรดทราบว่าข้อความใน Results.Text คำนึงถึงขนาดตัวพิมพ์ ("อะไร" และ "อะไร") เมื่อจดจำวลีได้แล้ว ก็สามารถแยกวิเคราะห์เป็นคำเฉพาะได้ ในกรณีนี้ ข้อความที่รู้จักจะอยู่ในรูปแบบ “x บวก y คืออะไร” ดังนั้น “อะไร” จึงถูกวางไว้เป็นคำ และตัวเลขที่บวกทั้งสอง (เป็นสตริง) จะถูกเก็บไว้ในคำและคำ

การติดตั้งไลบรารี

คำอธิบายของโปรแกรมสาธิตถือว่ามีการติดตั้งไลบรารีคำพูดที่จำเป็นทั้งหมดบนคอมพิวเตอร์ของคุณ ในการสร้างและรันโปรแกรมสาธิต คุณต้องติดตั้งแพ็คเกจสี่ชุด: SDK (ให้ความสามารถในการสร้างการสาธิตใน Visual Studio), รันไทม์ (รันการสาธิตหลังจากที่สร้างขึ้นแล้ว) และภาษาที่รู้จักและสังเคราะห์ (ออกเสียง)

หากต้องการติดตั้ง SDK ให้ค้นหา "Speech Platform 11 SDK" ในอินเทอร์เน็ต ซึ่งจะนำคุณไปยังหน้าที่ถูกต้องในศูนย์ดาวน์โหลดของ Microsoft ( ข้าว. 4- เมื่อคลิกปุ่มดาวน์โหลด คุณจะเห็นตัวเลือกต่างๆ ปรากฏขึ้น ข้าว. 5- SDK มีเวอร์ชัน 32 และ 64 บิต ฉันขอแนะนำอย่างยิ่งให้ใช้เวอร์ชัน 32 บิต โดยไม่คำนึงถึงขนาดบิตของระบบของคุณ เวอร์ชัน 64 บิตใช้ไม่ได้กับบางแอปพลิเคชัน


ข้าว. 4. หน้าการติดตั้ง SDK หลักใน Microsoft Download Center


ข้าว. 5. ติดตั้งคำพูด SDK

คุณไม่จำเป็นต้องมีอะไรมากไปกว่าไฟล์ .msi ไฟล์เดียวภายใต้ x86 (สำหรับระบบ 32 บิต) เมื่อเลือกไฟล์นี้แล้วคลิกถัดไป คุณสามารถเรียกใช้โปรแกรมติดตั้งได้โดยตรงจากที่นี่ ไลบรารีคำพูดไม่ได้ให้ผลตอบรับมากนักว่าการติดตั้งเสร็จสมบูรณ์เมื่อใด ดังนั้นอย่ามองหาข้อความแสดงความสำเร็จใดๆ


ข้าว. 6. การติดตั้งสภาพแวดล้อมรันไทม์

สิ่งสำคัญอย่างยิ่งคือต้องเลือกเวอร์ชันแพลตฟอร์มเดียวกัน (11 ในการสาธิต) และความลึกบิต (32 หรือ 64) เป็น SDK ฉันขอแนะนำเวอร์ชัน 32 บิตอีกครั้ง แม้ว่าคุณจะใช้งานระบบ 64 บิตก็ตาม

จากนั้นคุณสามารถตั้งค่าภาษาการจดจำได้ หน้าดาวน์โหลดมีให้ที่ ข้าว. 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 ที่ใช้โดยโปรแกรมสาธิตในบทความนี้ ยังมีไลบรารีชื่อ System.Speech.dll ซึ่งเป็นส่วนหนึ่งของระบบปฏิบัติการ Windows ไลบรารีทั้งสองมีความคล้ายคลึงกันในแง่ที่ว่า API เกือบจะเหมือนกันแต่ไม่สมบูรณ์ทั้งหมด ดังนั้น หากคุณค้นหาตัวอย่างการประมวลผลคำพูดบนอินเทอร์เน็ต และดูส่วนย่อยของโค้ดแทนที่จะดูโปรแกรมทั้งหมด จะไม่ชัดเจนว่าตัวอย่างดังกล่าวคือ System.Speech หรือ Microsoft.Speech

หากคุณยังใหม่ต่อการประมวลผลคำพูด ให้ใช้ไลบรารี Microsoft.Speech แทน System.Speech เพื่อเพิ่มการสนับสนุนคำพูดให้กับแอปพลิเคชัน .NET ของคุณ

แม้ว่าไลบรารีทั้งสองจะใช้ฐานโค้ดหลักร่วมกันและ API ที่คล้ายกัน แต่ก็มีความแตกต่างกันอย่างแน่นอน สรุปความแตกต่างที่สำคัญบางประการได้ดังนี้ โต๊ะ 1.

โต๊ะ 1. ความแตกต่างหลักระหว่าง Microsoft.Speech และ System.Speech

System.Speech DLL เป็นส่วนหนึ่งของระบบปฏิบัติการ ดังนั้นจึงได้รับการติดตั้งบนระบบ Windows ทุกระบบ ต้องดาวน์โหลดและติดตั้ง Microsoft.Speech DLL (รวมถึงรันไทม์และภาษาที่เกี่ยวข้อง) ในระบบ การจดจำโดยใช้ System.Speech มักจะต้องมีการฝึกอบรมสำหรับผู้ใช้เฉพาะ เมื่อผู้ใช้อ่านข้อความบางส่วน และระบบเรียนรู้ที่จะเข้าใจลักษณะการออกเสียงของผู้ใช้รายนี้ การจดจำโดยใช้ Microsoft.Speech ใช้งานได้ทันทีสำหรับผู้ใช้ทุกคน System.Speech สามารถจดจำคำได้เกือบทุกคำ (ซึ่งเรียกว่าการเขียนตามคำบอกฟรี) Microsoft.Speech จะจดจำเฉพาะคำและวลีที่อยู่ในวัตถุไวยากรณ์ที่กำหนดไว้ในโปรแกรมเท่านั้น

การเพิ่มการสนับสนุนการรู้จำเสียงให้กับแอปพลิเคชัน 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.Synthetic การเพิ่มการสังเคราะห์เสียงลงในแอปพลิเคชัน Windows Forms จะเหมือนกับในแอปพลิเคชันคอนโซล

ใน Visual Studio ในโหมดการออกแบบ ฉันลากตัวควบคุมกล่องข้อความ กล่องกาเครื่องหมาย และกล่องรายการไปยังแบบฟอร์ม คลิกสองครั้งที่ช่องทำเครื่องหมายและ Visual Studio จะสร้างวิธีจัดการเหตุการณ์ CheckChanged โครงกระดูกโดยอัตโนมัติ

โปรดจำไว้ว่าโปรแกรมคอนโซลสาธิตเริ่มฟังคำสั่งเสียงทันทีและฟังต่อไปจนกว่าจะสิ้นสุด วิธีการนี้สามารถใช้ในแอปพลิเคชัน Windows Forms ได้ แต่ฉันตัดสินใจอนุญาตให้ผู้ใช้เปิดและปิดการรู้จำเสียงโดยใช้ตัวควบคุมกล่องกาเครื่องหมายแทน (เช่น กล่องกาเครื่องหมาย)

ซอร์สโค้ดในไฟล์ Form1.cs ของโปรแกรมสาธิตที่มีการกำหนดคลาสบางส่วนจะแสดงอยู่ที่ ข้าว. 9- มีการประกาศวัตถุกลไกการรู้จำเสียง และสร้างเป็นสมาชิกแบบฟอร์ม ใน Constructor ของแบบฟอร์ม ฉันขอตัวจัดการเหตุการณ์ SpeechRecognized จากนั้นสร้างและโหลดอ็อบเจ็กต์ Grammars สองรายการ:

สาธารณะ Form1() ( InitializeComponent(); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized; ไวยากรณ์ g_HelloGoodbye = GetHelloGoodbyeGrammar(); ไวยากรณ์ g_SetTextBox = GetTextBox1TextGrammar(); sre.LoadGrammarAsync(g_HelloGood) บาย); อะซิงก์(g_SetTextBox ); // sre.RecognizeAsync() คือ // ในตัวจัดการเหตุการณ์ช่องทำเครื่องหมาย)

ข้าว. 9. เพิ่มการสนับสนุนการรู้จำเสียงให้กับ Windows Forms

ใช้ระบบ; ใช้ System.Data; โดยใช้ระบบการวาดภาพ; โดยใช้ System.Windows.Forms; ใช้ Microsoft.Speech.Recognition; โดยใช้ System.Globalization; เนมสเปซ WinFormSpeech (คลาสสาธารณะบางส่วน Form1: แบบฟอร์ม ( คงที่ CultureInfo ci = ใหม่ CultureInfo ("en-us"); คงที่ SpeechRecognitionEngine sre = ใหม่ SpeechRecognitionEngine (ci); สาธารณะ Form1 () ( InitializeComponent (); sre.SetInputToDefaultAudioDevice (); sre .SpeechRecognized += sre_SpeechRecognized; .RecognizeAsync() คือ // ในตัวจัดการเหตุการณ์ CheckBox) ไวยากรณ์คงที่ GetHelloGoodbyeGrammar() ( Choices ch_HelloGoodbye = new Choices(); ch_HelloGoodbye.Add("hello"); ch_HelloGoodbye.Add("goodbye") ; GrammarBuilder gb_result = new GrammarBuilder(ch_HelloGoodbye); ไวยากรณ์ใหม่ (gb_result); ) ไวยากรณ์แบบคงที่ GetTextBox1TextGrammar() ( Choices ch_Colors = new Choices(); ch_Colors.Add(new string ( "red", "white" ", "สีน้ำเงิน" )); GrammarBuilder gb_result = ใหม่ GrammarBuilder(); gb_result.Append("ตั้งค่ากล่องข้อความ 1"); gb_result.ผนวก(ch_Colors); ไวยากรณ์ g_result = ไวยากรณ์ใหม่ (gb_result); กลับ g_result; ) โมฆะส่วนตัว checkBox1_CheckedChanged (ผู้ส่งวัตถุ EventArgs e) ( ถ้า (checkBox1.Checked == จริง) sre.RecognizeAsync (RecognizeMode.Multiple); else if (checkBox1.Checked == false) // ปิดการใช้งาน sre.RecognizeAsyncCancel(); ) เป็นโมฆะ 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 if (txt.IndexOf("text") >= 0 && txt.IndexOf("box") >= 0 && txt.IndexOf("1")>= 0) ( string word = txt.Split( " "); this.Invoid(new MethodInviver(() => ( textBox1.Text = word; ))); // ข้อมูลเฉพาะของ WinForm ) ) // แบบฟอร์ม ) // ns

ฉันสามารถสร้างออบเจ็กต์ไวยากรณ์สองตัวได้โดยตรง เช่นเดียวกับในโปรแกรมคอนโซล แต่เพื่อให้โค้ดชัดเจนขึ้นเล็กน้อย ฉันจึงกำหนดวิธีตัวช่วยสองวิธี (GetHelloGoodbyeGrammar และ GetTextBox1TextGrammar) ที่ทำงานแทน

ไวยากรณ์คงที่ GetTextBox1TextGrammar() ( Choices ch_Colors = new Choices(); ch_Colors.Add(สตริงใหม่ ( "red", "white", "blue" )); GrammarBuilder gb_result = new GrammarBuilder(); gb_result.Append("set text กล่อง 1"); gb_result.Append(ch_Colors); ไวยากรณ์ g_result = ไวยากรณ์ใหม่ (gb_result); return g_result; )

วิธีการช่วยเหลือนี้จะจดจำวลี "set text box 1 red" อย่างไรก็ตาม ผู้ใช้ไม่จำเป็นต้องออกเสียงวลีนี้ทุกประการ ตัวอย่างเช่น เขาอาจพูดว่า "โปรดตั้งค่าข้อความในกล่องข้อความ 1 เป็นสีแดง" และกลไกการรู้จำเสียงจะยังคงจดจำวลีดังกล่าวเป็น "ตั้งค่ากล่องข้อความ 1 สีแดง" แม้ว่าจะมีค่าความเชื่อมั่นต่ำกว่าการจับคู่แบบตรงทั้งหมดกับไวยากรณ์ แม่แบบ กล่าวอีกนัยหนึ่ง เมื่อสร้างออบเจ็กต์ไวยากรณ์ คุณไม่จำเป็นต้องคำนึงถึงรูปแบบวลีทั้งหมด สิ่งนี้ช่วยลดความยุ่งยากในการใช้การรู้จำเสียงอย่างมาก

ตัวจัดการเหตุการณ์สำหรับ CheckBox ถูกกำหนดดังนี้:

โมฆะส่วนตัว checkBox1_CheckedChanged (ผู้ส่งวัตถุ EventArgs e) ( ถ้า (checkBox1.Checked == จริง) sre.RecognizeAsync (RecognizeMode.Multiple); else if (checkBox1.Checked == false) // ปิดการใช้งาน sre.RecognizeAsyncCancel(); )

ออบเจ็กต์กลไกการรู้จำเสียง sre (เครื่องมือรู้จำเสียง) จะมีอยู่เสมอตลอดอายุของแอปพลิเคชัน Windows Forms วัตถุนี้ถูกเปิดใช้งานและปิดใช้งานโดยการเรียกไปยังเมธอด RecognizeAsync และ RecognizeAsyncCancel เมื่อผู้ใช้สลับกล่องกาเครื่องหมายตามลำดับ

คำนิยามตัวจัดการเหตุการณ์ SpeechRecognized เริ่มต้นด้วย:

เป็นโมฆะ sre_SpeechRecognized (ผู้ส่งวัตถุ SpeechRecognizedEventArgs e) ( string txt = e.Result.Text; float conf = e.Result.Confidence; if (conf< 0.65) return; ...

นอกจากคุณสมบัติ Result.Text และ Result.Confidence ที่ใช้อย่างต่อเนื่องไม่มากก็น้อย ออบเจ็กต์ Result ยังมีคุณสมบัติที่มีประโยชน์แต่ซับซ้อนกว่าอีกหลายรายการที่คุณอาจต้องการสำรวจ ตัวอย่างเช่น คำพ้องเสียง และ ReplacementWordUnits นอกจากนี้ กลไกการรู้จำเสียงยังมีกิจกรรมที่เป็นประโยชน์หลายอย่าง เช่น SpeechHypothesized

this.Invoke((Action)(() => listBox1.Items.Add("ฉันได้ยินคุณพูดว่า: " + txt)));

ตามทฤษฎี การใช้ผู้รับมอบสิทธิ์ MethodInviver จะมีประสิทธิภาพมากกว่าการดำเนินการเล็กน้อยในสถานการณ์นี้ เนื่องจาก MethodInviver เป็นส่วนหนึ่งของเนมสเปซ Windows.Forms และดังนั้นจึงเฉพาะเจาะจงกับแอปพลิเคชัน Windows Forms ผู้รับมอบสิทธิ์การดำเนินการมีความหลากหลายมากขึ้น ตัวอย่างนี้แสดงให้เห็นว่าคุณสามารถจัดการแอปพลิเคชัน Windows Forms ได้อย่างสมบูรณ์ผ่านกลไกการรู้จำเสียง - นี่เป็นคุณสมบัติที่ทรงพลังและมีประโยชน์อย่างเหลือเชื่อ

บทสรุป

ข้อมูลที่นำเสนอในบทความนี้ควรช่วยให้คุณเริ่มต้นได้ทันทีหากคุณต้องการสำรวจการสังเคราะห์เสียงและการจดจำคำพูดในแอปพลิเคชัน .NET การเรียนรู้เทคโนโลยีนั้นไม่ใช่เรื่องยากเกินไปเมื่อคุณผ่านพ้นอุปสรรคต่างๆ ไปแล้ว การศึกษาระดับประถมศึกษาและการติดตั้งส่วนประกอบ ความท้าทายที่แท้จริงในการสังเคราะห์เสียงพูดและการรู้จำคือการทำความเข้าใจว่าเมื่อใดจะมีประโยชน์จริง

ด้วยโปรแกรมคอนโซล คุณสามารถสร้างการสนทนากลับไปกลับมาที่น่าสนใจโดยที่ผู้ใช้ถามคำถามและคำตอบของโปรแกรม ส่งผลให้เกิดสภาพแวดล้อมที่คล้ายกับ Cortana คุณต้องใช้ความระมัดระวัง เนื่องจากเมื่อคำพูดออกมาจากลำโพงของคอมพิวเตอร์ ไมโครโฟนจะรับคำพูดนั้นและอาจจดจำได้อีกครั้ง ฉันพบว่าตัวเองอยู่ในสถานการณ์ที่ค่อนข้างตลกเมื่อฉันถามคำถาม แอปจดจำและตอบกลับ แต่คำตอบที่พูดจะกระตุ้นให้เกิดเหตุการณ์การจดจำครั้งต่อไป และฉันก็จบลงด้วยคำพูดที่ตลกไม่รู้จบ

การใช้คำพูดที่เป็นไปได้อีกอย่างหนึ่งในโปรแกรมคอนโซลคือการจดจำคำสั่งเช่น "Launch Notepad" และ "Launch Word" กล่าวอีกนัยหนึ่งโปรแกรมคอนโซลดังกล่าวสามารถใช้บนคอมพิวเตอร์ของคุณเพื่อดำเนินการที่อาจต้องใช้การจัดการแป้นพิมพ์และเมาส์เป็นจำนวนมาก

เจมส์ แมคคาฟฟรีย์(ดร.เจมส์ แมคคาฟฟรีย์) ทำงานให้กับ Microsoft Research ในเมืองเรดมอนด์ รัฐวอชิงตัน เขามีส่วนร่วมในการสร้างผลิตภัณฑ์ Microsoft หลายอย่าง รวมถึง Internet Explorer และ Bing สามารถติดต่อได้ที่ [ป้องกันอีเมล].

ขอขอบคุณผู้เชี่ยวชาญด้านการวิจัยของ Microsoft Rob Gruen, Mark Marron และ Curtis von Veh สำหรับการตรวจทานบทความนี้

ไม่มีโปรแกรมใดสามารถแทนที่ได้อย่างสมบูรณ์ ทำด้วยมือโดยการถอดเสียงคำพูดที่บันทึกไว้ อย่างไรก็ตามมีวิธีแก้ไขปัญหาที่สามารถเพิ่มความเร็วและอำนวยความสะดวกในการแปลคำพูดเป็นข้อความได้อย่างมากนั่นคือทำให้การถอดเสียงง่ายขึ้น

การถอดเสียงเป็นการบันทึกไฟล์เสียงหรือวิดีโอในรูปแบบข้อความ มีงานที่ต้องชำระเงินบนอินเทอร์เน็ตเมื่อนักแสดงได้รับเงินจำนวนหนึ่งสำหรับการถอดเสียงข้อความ

การแปลคำพูดเป็นข้อความมีประโยชน์

  • นักเรียนสามารถแปลเสียงหรือวิดีโอบรรยายที่บันทึกไว้เป็นข้อความ
  • บล็อกเกอร์ที่ทำงานเว็บไซต์และบล็อก
  • นักเขียน นักข่าวสำหรับเขียนหนังสือและตำรา
  • นักธุรกิจข้อมูลที่ต้องการข้อความหลังจากการสัมมนาทางเว็บ สุนทรพจน์ ฯลฯ
  • ผู้ที่มีปัญหาในการพิมพ์ - พวกเขาสามารถเขียนจดหมายและส่งให้ครอบครัวหรือเพื่อนได้
  • ตัวเลือกอื่น.

เราจะอธิบายเครื่องมือที่มีประสิทธิภาพสูงสุดบนพีซี แอปพลิเคชันมือถือ และบริการออนไลน์

1 เว็บไซต์ Speechpad.ru

นี่คือบริการออนไลน์ที่ให้คุณแปลคำพูดเป็นข้อความโดยใช้เบราว์เซอร์ Google Chrome บริการนี้ใช้งานได้กับไมโครโฟนและไฟล์สำเร็จรูป แน่นอนว่าคุณภาพจะสูงขึ้นมากหากคุณใช้ไมโครโฟนภายนอกและควบคุมตัวเอง อย่างไรก็ตาม บริการนี้ทำงานได้ดีแม้กระทั่งกับวิดีโอ YouTube ก็ตาม

คลิก "เปิดใช้งานการบันทึก" ตอบคำถามเกี่ยวกับ "การใช้ไมโครโฟน" - โดยคลิก "อนุญาต"

คำแนะนำแบบยาวเกี่ยวกับการใช้บริการสามารถยุบได้โดยคลิกที่ปุ่ม 1 ในรูป 3. คุณสามารถกำจัดโฆษณาได้โดยการลงทะเบียนง่ายๆ

ข้าว. 3. บริการแผ่นเสียง

ผลลัพธ์ที่ได้คือง่ายต่อการแก้ไข ในการดำเนินการนี้ คุณจะต้องแก้ไขคำที่ไฮไลต์ด้วยตนเองหรือเขียนตามคำบอกอีกครั้ง ผลลัพธ์ของงานจะถูกบันทึกไว้ใน บัญชีส่วนตัวคุณยังสามารถดาวน์โหลดลงในคอมพิวเตอร์ของคุณได้

รายการบทเรียนวิดีโอเกี่ยวกับการทำงานกับแป้นคำพูด:

คุณสามารถถอดเสียงวิดีโอจาก Youtube หรือจากคอมพิวเตอร์ของคุณได้ อย่างไรก็ตาม คุณจะต้องมีมิกเซอร์ รายละเอียดเพิ่มเติม:

วิดีโอ "การถอดเสียง"

บริการนี้ดำเนินการในเจ็ดภาษา มีลบเล็กน้อย อยู่ในความจริงที่ว่าหากคุณต้องการถอดเสียงไฟล์เสียงที่เสร็จแล้วเสียงนั้นจะได้ยินผ่านลำโพงซึ่งทำให้เกิดการรบกวนเพิ่มเติมในรูปแบบของเสียงสะท้อน

2 บริการเขียนตามคำบอก.io

บริการออนไลน์ที่ยอดเยี่ยมที่ช่วยให้คุณแปลคำพูดเป็นข้อความได้ฟรีและง่ายดาย

ข้าว. 4. บริการเขียนตามคำบอก.io

1 ในรูป 4 – สามารถเลือกภาษารัสเซียได้ที่ท้ายหน้า ในเบราว์เซอร์ Google Chrome จะมีการเลือกภาษา แต่ด้วยเหตุผลบางอย่างใน Mozilla จึงไม่มีตัวเลือกดังกล่าว

เป็นที่น่าสังเกตว่ามีการใช้ความสามารถในการบันทึกผลลัพธ์ที่เสร็จสมบูรณ์โดยอัตโนมัติ วิธีนี้จะป้องกันการลบโดยไม่ตั้งใจอันเป็นผลมาจากการปิดแท็บหรือเบราว์เซอร์ บริการนี้ไม่รู้จักไฟล์ที่เสร็จสมบูรณ์ ทำงานร่วมกับไมโครโฟน คุณต้องตั้งชื่อเครื่องหมายวรรคตอนเมื่อเขียนตามคำบอก

ข้อความได้รับการยอมรับค่อนข้างถูกต้องไม่มีการสะกดผิด คุณสามารถแทรกเครื่องหมายวรรคตอนได้ด้วยตนเองจากแป้นพิมพ์ ผลลัพธ์ที่เสร็จสิ้นแล้วสามารถบันทึกลงในคอมพิวเตอร์ของคุณได้

3 เรียลสปีกเกอร์

โปรแกรมนี้ช่วยให้คุณแปลคำพูดของมนุษย์เป็นข้อความได้อย่างง่ายดาย ได้รับการออกแบบมาเพื่อทำงานบนระบบต่างๆ: Windows, Android, Linux, Mac ด้วยความช่วยเหลือนี้ คุณสามารถแปลงคำพูดที่ได้ยินเป็นไมโครโฟนได้ (เช่น สามารถติดไว้ในแล็ปท็อปได้) รวมทั้งบันทึกเป็นไฟล์เสียงด้วย

สามารถเข้าใจภาษาโลกได้ 13 ภาษา มีโปรแกรมรุ่นเบต้าที่ทำงานเป็นบริการออนไลน์:

คุณต้องไปที่ลิงก์ด้านบน เลือกภาษารัสเซีย อัปโหลดไฟล์เสียงหรือวิดีโอของคุณไปยังบริการออนไลน์ และชำระค่าถอดเสียง หลังจากการถอดเสียง คุณสามารถคัดลอกข้อความผลลัพธ์ได้ ยิ่งไฟล์สำหรับการถอดเสียงมีขนาดใหญ่เท่าใด ก็จะยิ่งต้องใช้เวลาในการประมวลผลมากขึ้นเท่านั้น รายละเอียดเพิ่มเติม:

ในปี 2560 มีตัวเลือกการถอดเสียงฟรีโดยใช้ RealSpeaker แต่ในปี 2561 ไม่มีตัวเลือกดังกล่าว เป็นเรื่องที่น่าสับสนมากที่ไฟล์ที่คัดลอกมานั้นพร้อมให้ดาวน์โหลดสำหรับผู้ใช้ทุกคน บางทีนี่อาจจะได้รับการปรับปรุงให้ดีขึ้น

ติดต่อนักพัฒนา (VKontakte, Facebook, Youtube, Twitter, อีเมล, โทรศัพท์) สามารถพบได้ในหน้าเว็บไซต์ของเขา (แม่นยำยิ่งขึ้นในส่วนท้ายของเว็บไซต์):

4 เครื่องบันทึกคำพูด

ทางเลือกอื่นนอกเหนือจากการสมัครก่อนหน้าสำหรับ อุปกรณ์เคลื่อนที่ทำงานบน Android มีให้บริการฟรีใน App Store:

ข้อความจะถูกแก้ไขโดยอัตโนมัติและเพิ่มเครื่องหมายวรรคตอน สะดวกมากสำหรับการจดบันทึกให้ตัวเองหรือทำรายการ เป็นผลให้ข้อความมีคุณภาพดีมาก

5 การเขียนตามคำบอกมังกร

นี่คือแอปพลิเคชันที่แจกฟรีสำหรับอุปกรณ์มือถือจาก Apple

โปรแกรมสามารถทำงานได้ถึง 15 ภาษา ช่วยให้คุณสามารถแก้ไขผลลัพธ์ได้โดยเลือกจากรายการ คำพูดที่ถูกต้อง- คุณต้องออกเสียงเสียงทั้งหมดให้ชัดเจน ไม่มีการหยุดชั่วคราวโดยไม่จำเป็น และหลีกเลี่ยงน้ำเสียง บางครั้งคำลงท้ายก็มีผิดพลาด

เจ้าของใช้แอปพลิเคชัน Dragon Dictation เพื่อกำหนดรายการช้อปปิ้งในร้านค้าขณะเคลื่อนที่ไปรอบ ๆ อพาร์ตเมนต์ เมื่อฉันไปถึงที่นั่น ฉันสามารถดูข้อความในบันทึกได้ และฉันก็ไม่จำเป็นต้องฟัง

ไม่ว่าคุณจะใช้โปรแกรมอะไรในการฝึก ให้เตรียมตรวจสอบผลลัพธ์อีกครั้งและทำการปรับเปลี่ยนบางอย่าง นี่เป็นวิธีเดียวที่จะได้รับข้อความที่สมบูรณ์แบบโดยไม่มีข้อผิดพลาด

อีกด้วย บริการที่เป็นประโยชน์:

รับบทความล่าสุดเกี่ยวกับความรู้คอมพิวเตอร์ส่งตรงถึงคุณ ตู้ไปรษณีย์ .
มากขึ้นแล้ว สมาชิก 3,000 ราย

.

อัปเดต: วันจันทร์ที่ 31 กรกฎาคม 2017

ความคิดกึ่งมหัศจรรย์ในการพูดคุยกับคอมพิวเตอร์เกี่ยวข้องกับการถ่ายภาพมืออาชีพอย่างไร? แทบไม่มีเลยเว้นแต่คุณจะเป็นแฟนตัวยงของแนวคิดในการพัฒนาสภาพแวดล้อมทางเทคนิคทั้งหมดของมนุษย์อย่างไม่มีที่สิ้นสุด ลองนึกภาพสักครู่ว่าคุณกำลังออกคำสั่งด้วยเสียงให้กล้องเปลี่ยน ความยาวโฟกัสและแก้ไขค่าแสงอีกครึ่งสต็อปบวก รีโมทกล้องได้รับการติดตั้งแล้ว แต่คุณต้องกดปุ่มอย่างเงียบ ๆ แต่นี่คือกล้องช่วยฟัง!

กลายเป็นประเพณีไปแล้วที่จะอ้างถึงภาพยนตร์นิยายวิทยาศาสตร์บางเรื่องเป็นตัวอย่างของการสื่อสารด้วยเสียงระหว่างบุคคลกับคอมพิวเตอร์ เช่น “2001: A Space Odyssey” กำกับโดยสแตนลีย์ คูบริก ที่นั่น คอมพิวเตอร์ออนบอร์ดไม่เพียงแต่ทำการสนทนาที่มีความหมายกับนักบินอวกาศเท่านั้น แต่ยังสามารถอ่านริมฝีปากได้เหมือนคนหูหนวกอีกด้วย กล่าวอีกนัยหนึ่ง เครื่องเรียนรู้ที่จะจดจำคำพูดของมนุษย์โดยไม่มีข้อผิดพลาด บางทีการควบคุมกล้องด้วยเสียงจากระยะไกลอาจดูไม่จำเป็นสำหรับบางคน แต่หลายคนคงชอบวลีนี้ "พาเราลงไปที่รัก"และรูปถ่ายของทั้งครอบครัวกับพื้นหลังต้นปาล์มก็พร้อม

ฉันก็เลยแสดงความเคารพต่อประเพณีและฝันขึ้นนิดหน่อย แต่หากพูดจากใจจริง บทความนี้เขียนยากและทั้งหมดนี้เริ่มต้นด้วยของขวัญในรูปแบบของสมาร์ทโฟนที่ใช้ระบบปฏิบัติการ Android 4 HUAWEI U8815 รุ่นนี้มีหน้าจอสัมผัสขนาดเล็ก 4 นิ้วและแป้นพิมพ์บนหน้าจอ การพิมพ์ข้อความเป็นเรื่องผิดปกติเล็กน้อย แต่กลับกลายเป็นว่าไม่จำเป็นอย่างยิ่ง (รูปภาพ01)

1. การจดจำเสียงในสมาร์ทโฟนที่ใช้ระบบปฏิบัติการ Android

ขณะลองของเล่นใหม่ ฉันสังเกตเห็นกราฟิกของไมโครโฟนในแถบค้นหา Googleและบนคีย์บอร์ดในแอพโน้ต ก่อนหน้านี้ฉันไม่สนใจว่าสัญลักษณ์นี้หมายถึงอะไร ฉันมีบทสนทนาใน สไกป์และพิมพ์ตัวอักษรบนแป้นพิมพ์ นี่คือสิ่งที่ผู้ใช้อินเทอร์เน็ตส่วนใหญ่ทำ แต่อย่างที่พวกเขาอธิบายให้ฉันฟังในภายหลังในเครื่องมือค้นหา Googleเพิ่มการค้นหาด้วยเสียงในภาษารัสเซียและมีโปรแกรมปรากฏขึ้นที่ให้คุณกำหนดข้อความสั้น ๆ เมื่อใช้เบราว์เซอร์ "โครเมียม".

ฉันพูดวลีสามคำ โปรแกรมระบุพวกเขาและแสดงให้พวกเขาเห็นในเซลล์ที่มีพื้นหลังสีน้ำเงิน มีบางอย่างที่น่าประหลาดใจเกี่ยวกับที่นี่เพราะทุกคำเขียนถูกต้อง หากคุณคลิกเซลล์นี้ วลีดังกล่าวจะปรากฏในช่องข้อความของ Notepad ของ Android ฉันก็เลยพูดอีกสองสามประโยคแล้วส่งข้อความถึงผู้ช่วยทาง SMS


2. ประวัติโดยย่อของโปรแกรมจดจำเสียง

สำหรับฉันไม่ใช่การค้นพบว่าความก้าวหน้าสมัยใหม่ในด้านการควบคุมด้วยเสียงทำให้สามารถออกคำสั่งได้ เครื่องใช้ในครัวเรือน,รถยนต์,หุ่นยนต์. โหมดคำสั่งถูกนำมาใช้ใน Windows, OS/2 และ Mac OS เวอร์ชันก่อนหน้า ฉันเคยเจอโปรแกรมพูดคุย แต่มันมีประโยชน์อะไร? บางทีอาจเป็นลักษณะเฉพาะของฉันที่พูดง่ายกว่าพิมพ์บนคีย์บอร์ด แต่บนโทรศัพท์มือถือฉันไม่สามารถพิมพ์อะไรเลย คุณต้องจดรายชื่อผู้ติดต่อบนแล็ปท็อปด้วยแป้นพิมพ์ปกติและถ่ายโอนผ่านสาย USB แต่การที่จะพูดใส่ไมโครโฟนและให้คอมพิวเตอร์พิมพ์ข้อความโดยไม่มีข้อผิดพลาดนั้นเป็นความฝันสำหรับฉัน บรรยากาศของความสิ้นหวังถูกรักษาไว้โดยการสนทนาในฟอรั่ม มีความคิดที่น่าเศร้าอยู่ทุกที่ในตัวพวกเขา:

“ อย่างไรก็ตามในความเป็นจริงจนถึงปัจจุบันไม่มีโปรแกรมสำหรับการรู้จำคำพูดจริง (และแม้แต่ภาษารัสเซีย) และจะไม่ถูกสร้างขึ้นในไม่ช้า ยิ่งกว่านั้นแม้แต่ปัญหาการรู้จำแบบผกผัน - การสังเคราะห์เสียงซึ่งดูเหมือนว่าจะง่ายกว่าการรู้จำมากยังไม่ได้รับการแก้ไขอย่างสมบูรณ์" (สำนักพิมพ์คอมพิวเตอร์ ฉบับที่ 12, 2547)

“ยังไม่มีโปรแกรมรู้จำเสียงปกติ (ไม่ใช่แค่ภาษารัสเซีย) เพราะงานนี้ค่อนข้างยากสำหรับคอมพิวเตอร์ และสิ่งที่แย่ที่สุดคือกลไกการรู้จำคำของมนุษย์ยังไม่เกิดขึ้นจริง ดังนั้นจึงไม่มีอะไรต้องเริ่มต้นเมื่อสร้างโปรแกรมการรู้จำ” (การสนทนาอื่นในฟอรัม)

ในเวลาเดียวกัน การทบทวนโปรแกรมป้อนข้อความเสียงภาษาอังกฤษบ่งชี้ถึงความสำเร็จที่ชัดเจน ตัวอย่างเช่น, ไอบีเอ็ม ViaVoice 98 ฉบับผู้บริหารมีคำศัพท์พื้นฐาน 64,000 คำ และสามารถเพิ่มจำนวนคำของตัวเองได้เท่าเดิม เปอร์เซ็นต์ของการรู้จำคำโดยไม่ต้องฝึกอบรมโปรแกรมคือประมาณ 80% และในระหว่างการทำงานในภายหลังกับผู้ใช้เฉพาะถึง 95%

ในบรรดาโปรแกรมการรู้จำภาษารัสเซียเป็นที่น่าสังเกตว่า "Gorynych" ซึ่งเป็นส่วนเสริมของ Dragon Dictate 2.5 ภาษาอังกฤษ ฉันจะบอกคุณเกี่ยวกับการค้นหาแล้ว "ต่อสู้กับ Gorynychs ทั้งห้า" ในส่วนที่สองของบทวิจารณ์ สิ่งแรกที่ฉันพบคือ "มังกรอังกฤษ"

3. โปรแกรมการรู้จำเสียงพูดต่อเนื่อง “Dragon Naturally Speaking”

โปรแกรมของบริษัทเวอร์ชั่นทันสมัย "แตกต่างกันนิดหน่อย"ลงเอยกับเพื่อนเก่าของฉันจากสถาบันมินสค์ ภาษาต่างประเทศ- เธอนำมันกลับมาจากการไปเที่ยวต่างประเทศ และซื้อมาโดยคิดว่าน่าจะเป็น “เลขานุการคอมพิวเตอร์” แต่มีบางอย่างใช้งานไม่ได้และโปรแกรมยังคงอยู่ในแล็ปท็อปจนเกือบลืมไปแล้ว เนื่องจากขาดประสบการณ์ที่ชัดเจน ฉันจึงต้องไปหาเพื่อนด้วยตัวเอง การแนะนำที่ยาวทั้งหมดนี้จำเป็นสำหรับความเข้าใจที่ถูกต้องเกี่ยวกับข้อสรุปที่ฉันได้วาดไว้

ชื่อเต็มของมังกรตัวแรกของฉันคือ: - โปรแกรมเป็นภาษาอังกฤษและทุกอย่างในนั้นชัดเจนแม้จะไม่มีคู่มือก็ตาม ขั้นตอนแรกคือการสร้างโปรไฟล์ของผู้ใช้เฉพาะเพื่อกำหนดลักษณะเสียงของคำในการแสดงของเขา นั่นคือสิ่งที่ฉันทำ - คุณสมบัติอายุ ประเทศ และการออกเสียงของผู้พูดมีความสำคัญ ตัวเลือกของฉันมีดังนี้ อายุ 22–54 ปี ภาษาอังกฤษแบบอังกฤษ การออกเสียงมาตรฐาน ถัดไปคือหน้าต่างหลายบานที่คุณกำหนดค่าไมโครโฟน (รูปภาพ04)

ขั้นตอนต่อไปสำหรับโปรแกรมการรู้จำเสียงอย่างจริงจังคือการฝึกอบรมคุณสมบัติการออกเสียงของบุคคลใดบุคคลหนึ่ง คุณจะถูกขอให้เลือกลักษณะของข้อความ: ตัวเลือกของฉันคือคำสั่งสั้น ๆ แต่คุณสามารถ "สั่ง" เรื่องราวที่มีอารมณ์ขันได้เช่นกัน

สาระสำคัญของการทำงานกับโปรแกรมในขั้นตอนนี้นั้นง่ายมาก - ข้อความจะปรากฏในหน้าต่างโดยมีลูกศรสีเหลืองอยู่ด้านบน เมื่อออกเสียงถูกต้อง ลูกศรจะเลื่อนไปตามวลีต่างๆ และที่ด้านล่างจะมีแถบความคืบหน้าในการออกกำลังกาย ฉันลืมการสนทนาภาษาอังกฤษไปมากแล้ว ดังนั้นฉันจึงก้าวหน้าไปด้วยความยากลำบาก เวลาก็มีจำกัด คอมพิวเตอร์ไม่ใช่ของฉัน และฉันต้องหยุดการฝึกอบรม แต่เพื่อนบอกว่าเธอสอบได้ภายในไม่ถึงครึ่งชั่วโมง (รูปภาพ05)

ปฏิเสธที่จะให้โปรแกรมปรับการออกเสียงของฉัน ฉันไปที่หน้าต่างหลักและเปิดใช้งานในตัว โปรแกรมแก้ไขข้อความ- เขาพูดแต่ละคำจากข้อความบางข้อความที่เขาพบในคอมพิวเตอร์ โปรแกรมพิมพ์คำที่เขาพูดถูกต้อง และแทนที่คำที่เขาพูดไม่ดีด้วยคำว่า "ภาษาอังกฤษ" เมื่อออกเสียงคำสั่ง “ลบบรรทัด” เป็นภาษาอังกฤษอย่างชัดเจน โปรแกรมจึงดำเนินการ ซึ่งหมายความว่าฉันอ่านคำสั่งได้อย่างถูกต้อง และโปรแกรมจดจำคำสั่งเหล่านั้นได้โดยไม่ต้องมีการฝึกอบรมล่วงหน้า

แต่มันสำคัญสำหรับฉันว่า "มังกร" ตัวนี้เขียนเป็นภาษารัสเซียอย่างไร ตามที่คุณเข้าใจจากคำอธิบายก่อนหน้านี้เมื่อฝึกโปรแกรมคุณสามารถเลือกได้เฉพาะข้อความภาษาอังกฤษเท่านั้นไม่มีภาษารัสเซียอยู่เลย เป็นที่ชัดเจนว่าจะไม่สามารถฝึกการรู้จำคำพูดภาษารัสเซียได้ ในภาพถัดไปคุณจะเห็นว่าโปรแกรมพิมพ์วลีใดเมื่อออกเสียงคำภาษารัสเซีย "สวัสดี" (รูปภาพ06)

ผลลัพธ์ของการสนทนากับมังกรตัวแรกกลายเป็นเรื่องขบขันเล็กน้อย หากคุณอ่านข้อความบนเว็บไซต์อย่างเป็นทางการอย่างละเอียด คุณจะเห็น "ความเชี่ยวชาญ" ภาษาอังกฤษของข้อความนี้ ผลิตภัณฑ์ซอฟต์แวร์- นอกจากนี้เมื่อโหลดเราจะอ่านคำว่า "ภาษาอังกฤษ" ในหน้าต่างโปรแกรม แล้วทำไมทั้งหมดนี้ถึงจำเป็นล่ะ? เป็นที่ชัดเจนว่าฟอรัมและข่าวลือเป็นเหตุ...

แต่ยังมีประสบการณ์ที่เป็นประโยชน์อีกด้วย เพื่อนของฉันคนหนึ่งขอดูสภาพแล็ปท็อปของเธอ เขาก็เริ่มทำงานอย่างช้าๆ ไม่น่าแปลกใจเลย - พาร์ติชันระบบมีพื้นที่ว่างเพียง 5% ในขณะที่ลบโปรแกรมที่ไม่จำเป็น ฉันเห็นว่าเวอร์ชันอย่างเป็นทางการกินพื้นที่มากกว่า 2.3 GB ตัวเลขนี้จะเป็นประโยชน์สำหรับเราในภายหลัง (รูปภาพ.07)



ตามที่ปรากฏออกมาการจดจำคำพูดของรัสเซียนั้นเป็นงานที่ไม่สำคัญ ในมินสค์ฉันสามารถหา "Gorynych" จากเพื่อนได้ เขาค้นหาแผ่นดิสก์เป็นเวลานานในซากปรักหักพังเก่าของเขาและตามที่เขาพูดนี่คือสิ่งพิมพ์อย่างเป็นทางการ โปรแกรมติดตั้งทันที และฉันพบว่าพจนานุกรมมีคำศัพท์ภาษารัสเซีย 5,000 คำ บวกด้วยคำสั่ง 100 คำ และ 600 คำ คำภาษาอังกฤษบวก 31 ทีม

ก่อนอื่นคุณต้องตั้งค่าไมโครโฟน ซึ่งฉันทำไปแล้ว จากนั้นฉันก็เปิดพจนานุกรมและเพิ่มคำว่า "การตรวจสอบ"เพราะไม่มีอยู่ในพจนานุกรมโปรแกรม ฉันพยายามพูดให้ชัดเจนและซ้ำซากจำเจ ในที่สุดฉันก็เปิดโปรแกรม Gorynych Pro 3.0 เปิดโหมดการเขียนตามคำบอกและได้รับรายการ "คำที่ฟังดูใกล้เคียง" (รูปภาพ.09)

ผลลัพธ์ทำให้ฉันงงงวยเพราะมันแตกต่างอย่างชัดเจนจากการทำงานของสมาร์ทโฟน Android และฉันตัดสินใจลองใช้โปรแกรมอื่นจาก “ ร้านค้าออนไลน์ของ Google Chrome"- และฉันก็เลื่อนการจัดการกับ "งู gorynych" ออกไปในภายหลัง ฉันคิดว่ามันเป็น การเลื่อนออกไปการกระทำในจิตวิญญาณดั้งเดิมของรัสเซีย

5. ความสามารถด้านเสียงของ Google

เพื่อทำงานด้วยเสียง คอมพิวเตอร์ปกติด้วย Windows OS คุณจะต้องติดตั้งเบราว์เซอร์ Google Chrome- หากคุณทำงานออนไลน์คลิกที่ลิงค์ร้านค้าที่มุมขวาล่าง ซอฟต์แวร์- ที่นั่นฉันพบสองโปรแกรมและสองส่วนขยายสำหรับการป้อนข้อความเสียงฟรีโดยสมบูรณ์ โปรแกรมต่างๆ ที่ถูกเรียกว่า "สมุดบันทึกเสียง"และ "Voicenot - เสียงเป็นข้อความ"- หลังการติดตั้งสามารถพบได้บนแท็บ “แอพพลิเคชั่น”เบราว์เซอร์ของคุณ "โครเมียม". (ภาพที่ 10)

ส่วนขยายเรียกว่า "คำที่นิยมค้นหาด้วยเสียงของ Google (เบต้า) 0.1.0.5"และ "การป้อนข้อความเสียง - Speechpad.ru 5.4"- หลังการติดตั้งสามารถปิดหรือลบได้บนแท็บ "ส่วนขยาย".(ภาพที่ 11)

วอยซ์โน้ต- ในแท็บแอปพลิเคชันในเบราว์เซอร์ Chrome ให้ดับเบิลคลิกที่ไอคอนโปรแกรม กล่องโต้ตอบจะเปิดขึ้นดังภาพด้านล่าง เมื่อคลิกที่ไอคอนไมโครโฟน คุณจะพูดวลีสั้นๆ ใส่ไมโครโฟน โปรแกรมจะส่งคำของคุณไปยังเซิร์ฟเวอร์การรู้จำเสียงและพิมพ์ข้อความในหน้าต่าง คำและวลีทั้งหมดที่แสดงในภาพประกอบถูกพิมพ์ในครั้งแรก แน่นอนว่าวิธีนี้ใช้ได้เฉพาะเมื่อมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้เท่านั้น (ภาพที่ 12)

แผ่นจดบันทึกด้วยเสียง- หากคุณเปิดโปรแกรมจากแท็บแอปพลิเคชัน แท็บหน้าอินเทอร์เน็ตใหม่จะเปิดขึ้น Speechpad.ru- มีคำแนะนำโดยละเอียดเกี่ยวกับวิธีการใช้บริการนี้และรูปแบบกะทัดรัด ส่วนหลังแสดงในภาพประกอบด้านล่าง (ภาพที่ 13)

การป้อนข้อมูลด้วยเสียงข้อความช่วยให้คุณกรอกช่องข้อความบนหน้าอินเทอร์เน็ตโดยใช้เสียงของคุณ ตัวอย่างเช่น ฉันไปที่หน้าของฉัน "กูเกิล+"- ในช่องป้อนข้อความใหม่ คลิกขวาและเลือก "สปีชแพด"- หน้าต่างป้อนข้อมูลสีชมพูบ่งบอกว่าคุณสามารถกำหนดข้อความของคุณได้ (ภาพที่ 14)

Google ค้นหาด้วยเสียงช่วยให้คุณสามารถค้นหาด้วยเสียง เมื่อคุณติดตั้งและเปิดใช้งานส่วนขยายนี้ สัญลักษณ์ไมโครโฟนจะปรากฏในแถบค้นหา เมื่อกดแล้วจะมีสัญลักษณ์ปรากฏเป็นวงกลมสีแดงขนาดใหญ่ เพียงพูดวลีค้นหาของคุณแล้วข้อความนั้นจะปรากฏในผลการค้นหา (ภาพที่ 15)

หมายเหตุสำคัญ: เพื่อให้ไมโครโฟนใช้งานได้กับส่วนขยายของ Chrome คุณต้องอนุญาตให้เข้าถึงไมโครโฟนในการตั้งค่าเบราว์เซอร์ของคุณ มันถูกปิดใช้งานโดยค่าเริ่มต้นด้วยเหตุผลด้านความปลอดภัย ไปที่ การตั้งค่า → ข้อมูลส่วนบุคคล → การตั้งค่าเนื้อหา- (หากต้องการเข้าถึงการตั้งค่าทั้งหมดที่ท้ายรายการ คลิก แสดง การตั้งค่าเพิ่มเติม) - กล่องโต้ตอบจะเปิดขึ้น การตั้งค่าเนื้อหาของหน้า- เลือกรายการจากรายการ มัลติมีเดีย → ไมโครโฟน.

6. ผลลัพธ์ของการทำงานร่วมกับโปรแกรมรู้จำเสียงภาษารัสเซีย

ประสบการณ์เล็กน้อยในการใช้โปรแกรมป้อนข้อความเสียงได้แสดงให้เห็นถึงการใช้งานคุณสมบัตินี้บนเซิร์ฟเวอร์ของบริษัทอินเทอร์เน็ตได้อย่างดีเยี่ยม Google- หากไม่มีการฝึกอบรมเบื้องต้น ก็จะจดจำคำศัพท์ได้อย่างถูกต้อง สิ่งนี้บ่งชี้ว่าปัญหาการรู้จำเสียงภาษารัสเซียได้รับการแก้ไขแล้ว

ตอนนี้เราสามารถพูดได้ว่าผลลัพธ์ของการพัฒนา Googleจะเป็นเกณฑ์ใหม่ในการประเมินผลิตภัณฑ์จากผู้ผลิตรายอื่น ฉันต้องการให้ระบบจดจำการทำงานแบบออฟไลน์โดยไม่ต้องเข้าถึงเซิร์ฟเวอร์ของบริษัท สะดวกและรวดเร็วยิ่งขึ้น แต่ไม่ทราบว่าเมื่อใดจะมีการเปิดตัวโปรแกรมอิสระสำหรับการทำงานกับคำพูดภาษารัสเซียอย่างต่อเนื่อง อย่างไรก็ตาม เป็นเรื่องที่ควรค่าแก่การสันนิษฐานว่าด้วยความเป็นไปได้ของการฝึกอบรม "การสร้างสรรค์" นี้จะกลายเป็นความก้าวหน้าที่แท้จริง

โปรแกรมของนักพัฒนาชาวรัสเซีย "กอรีนิช", "นักเขียนบท"และ "การต่อสู้"ฉันจะลงรายละเอียดในส่วนที่สองของรีวิวนี้ บทความนี้เขียนช้ามากเนื่องจากการค้นหาดิสก์ต้นฉบับเป็นเรื่องยาก ในขณะนี้ ฉันมีกลไกการรู้จำเสียงเป็นข้อความภาษารัสเซียทุกเวอร์ชันอยู่แล้ว ยกเว้น “Combat 2.52” ไม่มีเพื่อนหรือเพื่อนร่วมงานของฉันคนใดที่มีโปรแกรมนี้ และตัวฉันเองก็มีบทวิจารณ์ที่น่ายกย่องเพียงไม่กี่รายการในฟอรั่ม จริงอยู่มีตัวเลือกแปลก ๆ เช่นนี้ - ดาวน์โหลด "Combat" ทาง SMS แต่ฉันไม่ชอบมัน (ภาพที่ 16)


คลิปวิดีโอสั้นจะแสดงให้คุณเห็นว่าการรู้จำคำพูดทำงานอย่างไรในสมาร์ทโฟนที่ใช้ระบบปฏิบัติการ Android ลักษณะเฉพาะของการพิมพ์ด้วยเสียงคือความจำเป็นในการเชื่อมต่อกับเซิร์ฟเวอร์ของ Google นี่คือวิธีที่อินเทอร์เน็ตของคุณควรทำงาน

โทรศัพท์เครื่องนี้มี การรู้จำเสียงพูดหรือการป้อนข้อมูลด้วยเสียงแต่ใช้งานได้ผ่านอินเทอร์เน็ตเท่านั้นโดยเชื่อมต่อเข้ากับ บริการของ Google- แต่โทรศัพท์สามารถสอนให้จดจำคำพูดได้โดยไม่ต้องใช้อินเทอร์เน็ต เราจะมาดูวิธีเปิดใช้งานการรู้จำภาษารัสเซียกัน ออฟไลน์- เพื่อให้วิธีนี้ใช้งานได้ คุณต้องติดตั้งแอปพลิเคชันสองตัวไว้ ค้นหาด้วยเสียงและ ค้นหา Googleแม้ว่าโปรแกรมเหล่านี้จะมีอยู่ในเฟิร์มแวร์ของโรงงานแล้วก็ตาม

สำหรับเฟิร์มแวร์

ไปที่การตั้งค่าโทรศัพท์ของคุณแล้วเลือก

เลือกภาษารัสเซียและดาวน์โหลด

สำหรับเฟิร์มแวร์ 2.8B

ในเฟิร์มแวร์ใหม่รายการเมนู " การรู้จำเสียงพูดแบบออฟไลน์" ไม่มา.

หากคุณได้ติดตั้งแพ็คเกจออฟไลน์ไว้ก่อนที่จะอัพเดตเฟิร์มแวร์ และคุณไม่ได้ล้างข้อมูล (รีเซ็ตการตั้งค่า) ระหว่างการอัพเดต แพ็คเกจเหล่านั้นควรจะถูกเก็บรักษาไว้ ไม่เช่นนั้นคุณจะต้องย้อนกลับไปใช้เฟิร์มแวร์ 2.2 ติดตั้งแพ็คเกจเสียงแล้วอัปเดตระบบเป็นเท่านั้น 2.8B.

สำหรับอุปกรณ์ Rev.B

เราติดตั้งการอัปเดตผ่านการกู้คืนและเพลิดเพลินกับการจดจำเสียงใน oyline

2. ดาวน์โหลดฐานข้อมูลคำพูดภาษารัสเซียและคัดลอกไปยังการ์ด SD

ดาวน์โหลด Russian_offline.zip 1301

3. เข้าสู่การกู้คืนโดยกด (ระดับเสียง + และเปิด) ค้างไว้โดยปิดโทรศัพท์

4. เลือก ใช้การอัปเดตจากที่จัดเก็บข้อมูลภายนอกและเลือกไฟล์เก็บถาวรที่ดาวน์โหลด



บทความที่คล้ายกัน