Python รู้จำเสียง: วิธีการแปลเสียงพูดเป็นข้อความ

บล็อกนี้ครอบคลุมแนวคิดของการรู้จำเสียงใน python ด้วยโปรแกรมตัวอย่างที่แปลคำพูดเป็นข้อความโดยใช้การรู้จำเสียง

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

การรู้จำเสียงทำงานอย่างไร

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

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

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

ความท้าทายที่ต้องเผชิญกับการรู้จำเสียง ระบบ

การเรียงลำดับอาร์เรย์ในโปรแกรม c ++

ระบบจดจำเสียงพูดกลายเป็นเรื่องยากเพราะเรามีแหล่งที่มาของความแปรปรวนมากมายเมื่อพูดถึงเสียงพูด

รูปแบบการพูด

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

สิ่งแวดล้อม

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

ลักษณะของลำโพง

เสียงของคนชราอาจไม่เหมือนกับเสียงของเด็กทารก ลักษณะของคำพูดของบุคคลนั้นขึ้นอยู่กับหลายปัจจัยรวมทั้งความรุนแรงและความชัดเจนด้วย

ข้อ จำกัด ด้านภาษา

การเปล่งเสียงพูดบางคำอาจไม่มีความหมายที่เป็นประโยชน์ในการแปล

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

แพ็คเกจสำหรับการรู้จำเสียงใน python

  • apiai

  • SpeechRecognition

  • Google_speech_cloud

  • แอสเซมบลี

  • Pocketsphinx

  • Watson_developer_cloud

  • สีขาว

เราจะดูรายละเอียดของแพ็คเกจ SpeechRecognition ในบล็อกนี้และลองดูช่องทางความจำเพื่อทำความเข้าใจว่าระบบการรู้จำเสียงมีการพัฒนาอย่างไรในช่วงหลายปีที่ผ่านมา

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

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

ในปีพ. ศ. 2505 IBM ได้สร้างไฟล์ กล่องรองเท้า แบบจำลองที่สามารถจดจำคำที่แยกได้และยังทำการคำนวณทางคณิตศาสตร์ได้อีกด้วย

จากนั้นมา ฮาร์พี จากมช. ซึ่งสามารถจดจำคำพูดที่เชื่อมต่อจากคำศัพท์ 1,000 คำ ประมาณทศวรรษ 1980 ผู้คนเริ่มใช้แบบจำลองทางสถิติและหนึ่งในกระบวนทัศน์การเรียนรู้ของเครื่องที่ใช้มากที่สุดคือแบบจำลองมาร์กอฟที่ซ่อนอยู่

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

วิธีการติดตั้ง SpeechRecognition ใน Python

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

java สองครั้งเป็น int รอบ

การติดตั้งการรู้จำเสียง python-edureka

ไปจัดเรียง c ++

อีกวิธีหนึ่งในการนี้สามารถเพิ่มแพ็คเกจจากล่ามโครงการได้หากคุณใช้

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

  • การรับรู้ ()
  • remember_google ()
  • recognition_google_cloud ()
  • รับรู้ _houndify ()
  • รับรู้ _ibm ()
  • รับรู้ _ วิทย์ ()
  • รับรู้สฟิงซ์ ()

ตอนนี้สามารถใช้ remember_sphinx เพื่อเรียกใช้ระบบจดจำเสียงแบบออฟไลน์ได้เช่นกัน ต้องติดตั้ง Pocketsphinx

นำเข้าการจดจำเสียงพูดเป็น sr #instance ของตัวจดจำคลาส r = sr.Recognizer ()

รับอินพุตจากไมโครโฟน

ในการใช้ไมโครโฟนเราจะต้องติดตั้งโมดูล pyaudio ด้วย เราใช้คลาสไมโครโฟนเพื่อรับเสียงพูดอินพุตจากไมโครโฟนแทนวิธีการป้อนข้อมูลอื่น ๆ เช่นไฟล์เสียง

สำหรับโครงการส่วนใหญ่เราสามารถใช้ไมโครโฟนเริ่มต้นได้ แต่ถ้าคุณไม่ต้องการใช้ไมโครโฟนเริ่มต้นคุณสามารถรับรายชื่อไมโครโฟนโดยใช้เมธอด list_microphone_names

ในการจับอินพุตจากไมโครโฟนเราใช้วิธีการฟัง

นำเข้าการจดจำเสียงพูดเป็น sr r = sr.Recognizer () พร้อมด้วย sr.Microphone () เป็นแหล่งที่มา: audio = sr.listen (แหล่งที่มา)

วิธีการติดตั้ง Pyaudio ใน Python

ในการติดตั้ง Pyaudio ใน python ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลหรือหากคุณกำลังใช้ pycharm ให้เพิ่มแพ็กเกจจากตัวแปลโปรเจ็กต์ในการตั้งค่า

ใช้กรณี

เราจะสร้างโปรแกรมโดยใช้โมดูลจดจำเสียงพูดใน python เพื่อจดจำเสียงพูดและดำเนินการดังต่อไปนี้:

  1. แปลงคำพูดเป็นข้อความ
  2. เปิด URL โดยใช้โมดูลเว็บเบราว์เซอร์
  3. ส่งข้อความค้นหาโดยใช้การรู้จำเสียงเพื่อทำการค้นหาใน url

ต่อไปนี้เป็นโปรแกรมสำหรับคำชี้แจงปัญหาข้างต้น:

นำเข้า speech_recognition เป็น sr นำเข้าเว็บเบราว์เซอร์เป็น wb r1 = sr.Recognizer () r2 = sr.Recognizer () r3 = sr.Recognizer () โดยมี sr.Mic print ('speak now') audio = r3.listen (source) if 'edureka' in r2.recognize_google (audio): r2 = sr.Recognizer () url = 'https://www.edureka.co/' with sr .Microphone () เป็นแหล่งที่มา: พิมพ์ ('ค้นหาคำค้นหาของคุณ') audio = r2.listen (แหล่งที่มา) ลอง: get = r2.recognize_google (เสียง) พิมพ์ (รับ) wb.get (). open_new (url + get) ยกเว้น sr.UnknownValueError: print ('error') ยกเว้น sr.RequestError เป็น e: print ('failed'.format (e)) if' video 'ใน r1.recognize_google (audio): r1 = sr.Recognizer () url =' https://www.youtube.com/results?search_query= 'ด้วย sr.Microphone () เป็นแหล่งที่มา: พิมพ์ (' ค้นหาวิดีโอ ') เสียง = r2.listen (แหล่งที่มา) ลอง: get = r1.recognize_google (เสียง ) print (get) wb.get (). open_new (url + get) ยกเว้น sr.UnknownValueError: print ('ไม่เข้าใจ') ยกเว้น sr.RequestError เป็น e: print (ไม่สามารถรับผลลัพธ์ 'รูปแบบ (e) )

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

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

มีข้อสงสัยหรือไม่? พูดถึงพวกเขาในความคิดเห็นเราจะติดต่อกลับ