ผู้เขียนบทความ : นายภูธเนศ อินทะโณ COE #12 Show 1. ความเป็นมาในปัจจุบันนี้ทางเทคโนโลยีได้มีการใช้เสียงเพื่อมาช่วยในการสั่งการโปรแกรมหรือการใช้งานในชีวิตประจำวันมากขึ้น ปัจจุบันโทรศัพท์สมาร์ทโฟนสามารถใช้คุณสมบัติการแปลงเสียงพูดเป็นข้อความ โดยใช้เทคโนโลยี Speech recognition หรือโปรแกรมที่สามารถแปลงเสียงพูดให้เป็นข้อความหรือตัวหนังสือ โดยการจำแนกคำพูดที่มนุษย์พูดใส่ไมโครโฟน หรือโทรศัพท์ โดยระบบจะรับเสียงพูด และตัดสินใจว่าเสียงที่ได้ยินนั้นเป็นคำใด โดยใช้เทคโนโลยีที่เรียกว่า Hidden Markov Model (HMM) ไม่ว่าจะเป็น IOS หรือ Android สามารถใช้คุณสมบัติการแปลงเสียงพูดเป็นข้อความ หรือ Speech to text (STT) เพื่อช่วยให้การการพิมพ์ข้อความสะดวกกว่าเดิมมาก เพียงแค่กดรูปไมโครโฟนที่แป้นพิมพ์คีย์บอดร์ด แล้วพูดข้อความที่ต้องการลงไป เพื่อให้เครื่องแปลงเสียงเป็นข้อความแทนการพิมพ์ได้ทันที หรือขะเป็นทาง google Doc ก็สามารถแปลงเสียงเป็นเป็นข้อความได้เช่นกัน ซึ่งในบทความนี้เราก็จะมาดูกันว่าในระบบสั่งการเสียงหรือแปลงเป็นข้อความเราสามารถที่จะทำเองได้และสามารถเอาไปประยุกต์ใช้ศึกษาต่อยอดได้อีกด้วย 2. วัตถุประสงค์
3. ขอบเขต
4. ประโยชน์ที่คาดว่าจะได้รับ
5. ความรู้ที่เกี่ยวข้อง5.1 ความรู้ในเขียนภาษา Python ภาษาโปรแกรม Python คือภาษาโปรแกรมคอมพิวเตอร์ระดับสูง โดยถูกออกแบบมาให้เป็นภาษาสคริปต์ที่อ่านง่าย โดยตัดความซับซ้อนของโครงสร้างและไวยกรณ์ของภาษาออกไป ในส่วนของการแปลงชุดคำสั่งที่เราเขียนให้เป็นภาษาเครื่อง Python มีการทำงานแบบ Interpreter คือเป็นการแปลชุดคำสั่งทีละบรรทัด เพื่อป้อนเข้าสู่หน่วยประมวลผลให้คอมพิวเตอร์ทำงานตามที่เราต้องการ นอกจากนั้นภาษาโปรแกรม Python ยังสามารถนำไปใช้ในการเขียนโปรแกรมได้หลากหลายประเภท โดยไม่ได้จำกัดอยู่ที่งานเฉพาะทางใดทางหนึ่ง (General-purpose language) จึงทำให้มีการนำไปใช้กันแพร่หลายในหลายองค์กรใหญ่ระดับโลก เช่น Google, YouTube, Instagram, Dropbox และ NASA เป็นต้น 5.2 ได้รู้จักและศึกษาโมดูล
SpeechRecognition ระบบโปรแกรมคอมพิวเตอร์ที่สามารถแปลงเสียงพูด (Audio File) เป็นข้อความตัวอักษร (Text) โดยสามารถแจกแจงคำพูดต่างๆ ที่มนุษย์สามารถพูดใส่ไมโครโฟน โทรศัพท์หรืออุปกรณ์อื่นๆ และเข้าใจคำศัพท์ทุกคำอย่างถูกต้องเกือบ 100% โดยเป็นอิสระจากขนาดของกลุ่มคำศัพท์ ความดังของเสียงและลักษณะการออกเสียงของผู้พูด โดยระบบจะรับฟังเสียงพูดและตัดสินใจว่าเสียงที่ได้ยินนั้นเป็นคำๆใด เทคโนโลยีที่เป็นส่วนสำคัญในการทำ ASR เรียกว่า Hidden Markov Model (HMM) เทคโนโลยีชนิดนี้สามารถที่จะเข้าใจคำพูด
จากการจำแนกความแตกต่างและการประมาณการถึงความเป็นไปได้ของส่วนประกอบของหน่วยที่เป็นพื้นฐานของเสียงที่อยู่ติดๆกัน โดยอาศัยหลักการที่ว่าเสียงแต่ละเสียงจะมีขอบเขตของสัญญาณและลักษณะเฉพาะที่มีความแตกต่างกันโดยระบบรู้จำเสียงพูด มีส่วนประกอบหลัก 5 ส่วนคือ 5.3 ได้รู้จักกับ gTTS เป็นโมดูลสังเคราะห์เสียงจากข้อความเป็นเสียงพูด จะได้ไฟล์ mp3 ออกมา gTTS เป็นโมดูลที่ดึง Google TTS (Text-to-Speech) API เข้ามาใช้งาน โดยจะสร้างไฟล์เสียงสังเคราะห์ขึ้นมาในรูปแบบ mp3 ไม่จำกัดความยาว รองรับภาษาต่าง ๆ รวมถึงภาษาไทยด้วย (เวลาใช้งานต้องเรียกใช้อินเทอร์เน็ต) ใช้
License: MIT รองรับทั้ง Python 2.7 และ Python 3 ครับ 6. ผลการดำเนินงานรูปตัวอย่างการเขียนโปรแกรม รูปตัวอย่างการเขียนโปรแกรม (ต่อ)รับเสียงแปลงเป็นข้อความและอ่านจากข้อความให้มาเป็นเสียงในขณะอ่านข้อความให้กลายเป็นเสียงระบบทำการบันทึกเสียงเป็น MP3 และบันทึกไว้อัติโนมัติสามารถเอาโค้ดไปศึกษาได้ตรงนี้ครับ import sysfrom qtpy import QtCore from qtpy.QtGui import * from qtpy.QtWidgets import * from gtts import gTTS import pyglet import speech_recognition as sr r = sr.Recognizer() def sayHello(): def speak(): tts = gTTS(text=say,lang=’th’) tts.save(‘hello-thai.mp3’) music = pyglet.resource.media(‘hello-thai.mp3’) music.play() with sr.Microphone() as source: audio = r.listen(source) try: say = r.recognize_google(audio,language = “th-TH”) textEdit = QTextEdit(say) layout.addWidget(textEdit) button2 = QPushButton(“TEXT”) button2.resize(75, 30) button2.clicked.connect(speak) layout.addWidget(button2) except LookupError: print(“Could not understand audio”) app = QApplication(sys.argv) widget = QWidget() widget.setWindowTitle(“Voice receiver converts to text and synthesizes text”) layout = QVBoxLayout() widget.setLayout(layout) button = QPushButton(“Pick up sound”) button.resize(75, 30) button.clicked.connect(sayHello) layout.addWidget(button) widget.show() app.exec_() แผนผังการทำงานของระบบ อธิบายการทำงานของแผนผัง 7. สรุปผลและข้อเสนอแนะสรุป ข้อเสนอแนะ 8. ข้อมูลอ้างอิงแหล่งที่มา เว็บไซต์ที่ใช้ในการศึกษา เว็บไซต์ศึกษา
GUI เว็บไซต์สำหรับศึกษา Speech
recognition เว็บไซต์เพิ่มเติม บทความที่เกี่ยวข้องกัน |