1. ความเป็นมา
ในปัจจุบันนี้ทางเทคโนโลยีได้มีการใช้เสียงเพื่อมาช่วยในการสั่งการโปรแกรมหรือการใช้งานในชีวิตประจำวันมากขึ้น ปัจจุบันโทรศัพท์สมาร์ทโฟนสามารถใช้คุณสมบัติการแปลงเสียงพูดเป็นข้อความ โดยใช้เทคโนโลยี Speech recognition หรือโปรแกรมที่สามารถแปลงเสียงพูดให้เป็นข้อความหรือตัวหนังสือ โดยการจำแนกคำพูดที่มนุษย์พูดใส่ไมโครโฟน หรือโทรศัพท์ โดยระบบจะรับเสียงพูด และตัดสินใจว่าเสียงที่ได้ยินนั้นเป็นคำใด โดยใช้เทคโนโลยีที่เรียกว่า Hidden Markov Model (HMM) ไม่ว่าจะเป็น IOS หรือ Android สามารถใช้คุณสมบัติการแปลงเสียงพูดเป็นข้อความ หรือ Speech to text (STT) เพื่อช่วยให้การการพิมพ์ข้อความสะดวกกว่าเดิมมาก เพียงแค่กดรูปไมโครโฟนที่แป้นพิมพ์คีย์บอดร์ด แล้วพูดข้อความที่ต้องการลงไป เพื่อให้เครื่องแปลงเสียงเป็นข้อความแทนการพิมพ์ได้ทันที หรือขะเป็นทาง google Doc ก็สามารถแปลงเสียงเป็นเป็นข้อความได้เช่นกัน ซึ่งในบทความนี้เราก็จะมาดูกันว่าในระบบสั่งการเสียงหรือแปลงเป็นข้อความเราสามารถที่จะทำเองได้และสามารถเอาไปประยุกต์ใช้ศึกษาต่อยอดได้อีกด้วย
2. วัตถุประสงค์
- เพื่อพัฒนาระบบแปลงเสียงเป็นข้อความให้รองรับได้หลายภาษา (เปรียบเสมือน google แปลภาษา)
- เพื่อต่อยอดระบบแปลงเสียงเป็นขอความ ให้เป็นระบบ AI สามารถโต้ตอบเราได้
3. ขอบเขต
- สามารถแปลงเสียงเป็นข้อความได้และยังสามารถอ่านจากข้อความแล้วแปลงกลับมาเป็นเสียงได้
- ตัวระบบยังสามารถทำการบันทึกเสียงที่อ่านจากข้อความไว้เป็นไฟล์ MP3
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 ส่วนคือ
1) ส่วนรับเสียง (Acoustic Front-end) เป็นส่วนที่ทำหน้าที่เกี่ยวกับการประมวลผลสัญญาณ (signal processing) และสกัดคุณลักษณะ (feature extraction)
2) โมเดลเสียง (Acoustic Model) เป็นส่วนที่จัดเก็บความรู้สำหรับระบบรู้จำเสียงพูด
3) โมเดลภาษา (Language Model) เป็นส่วนที่รวบรวมเงื่อนไขของลำดับคำในภาษา
4) ตัวตรวจจับ (Decoder) เป็นส่วนที่ค้นหาความคล้ายของลำดับคำจากเสียงที่ได้รับ
5) คลังศัพท์ (Lexicon) เป็นส่วนที่จัดเก็บคำศัพท์ทั้งหมด
5.3 ได้รู้จักกับ gTTS เป็นโมดูลสังเคราะห์เสียงจากข้อความเป็นเสียงพูด จะได้ไฟล์ mp3 ออกมา gTTS เป็นโมดูลที่ดึง Google TTS (Text-to-Speech) API เข้ามาใช้งาน โดยจะสร้างไฟล์เสียงสังเคราะห์ขึ้นมาในรูปแบบ mp3 ไม่จำกัดความยาว รองรับภาษาต่าง ๆ รวมถึงภาษาไทยด้วย (เวลาใช้งานต้องเรียกใช้อินเทอร์เน็ต) ใช้ License: MIT รองรับทั้ง Python 2.7 และ Python 3 ครับ
สามารถติดตั้งได้โดยสั่ง pip