มีหลายคนครับ เวลาคุยกับผมเรื่องการวิเคราะห์เสียง มักจะงง ๆ สับสนเสมอระหว่าง Voice Recognition กับ Speech Recognition

ต้องทำความเข้าใจซักนิดนึงว่า Voice Recognition จริง ๆ แล้วเป็นศาสตร์ที่ทำยังไงก็ได้ ให้คอมพิวเตอร์แยกแยะได้ว่าเสียงดังกล่าวเป็นเสียงใครเช่น เสียงนาย กอ, เสียงนาย ขอ, เสียงนาย คอ เป็นต้น

ส่วน Speech Recognition น่ะหมายถึงการทำยังไงก็ได้ ให้คอมพิวเตอร์รู้ว่าคำพูดที่เราพูดเข้าไมโครโฟนน่ะ พิมพ์ออกมาเป็นประโยคข้อความยังไง

มันไม่เหมือนกันครับ!!!

วันนี้เรามาคุยกันเรื่อง Voice Recognition ก่อน โดยวิธีการทำงานจะทำในลักษณะของ Pattern Recognition ก็คือว่าการจะตรวจรู้ได้ว่าเป็นเสียงของใคร ก็ต้องนำเสียงของคน ๆ นั้นมาอัดเป็นต้นแบบไว้ก่อน เมื่ออัดเอาไว้แล้วก็ต้องหาเอกลักษณ์ของเสียงดังกล่าว เหมือนกับการหาเอกลักษณ์เด่นของลายนิ้วมือของแต่ล่ะบุคคล ที่ไม่มีทางที่จะซ้ำกันเลย

แต่ในที่นี้การหาเอกลักษณ์ของเสียง เราจะเรียกว่าการหา Voice Print หรือ ลายเสียง ครับ โดยสิ่งหลัก ๆ ที่จะใช้เป็น Voice Print ก็คือ การตีค่าความถี่ของเสียง, การหาสัมประสิทธิ์เพื่อใช้แทนเสียงในแต่ล่ะ Frame, การใช้กฎการตัดสินใจทางสถิติ เป็นต้น

ดังนั้นถ้ายกตัวอย่างว่าเราเป็นเจ้าของเสียง เราก็ต้องบันทึกเสียงเราเข้าระบบ Voice Recognition ก่อน แล้วระบบก็จะหา Voice Print จากเสียงของเราแล้วบันทึกเข้าฐานข้อมูล

จากนั้นเมื่อเรามาแสดงตนด้วยเสียงของเรา ระบบก็จะเอาเสียงของเรามาหา Voice Print แล้วนำไปสืบค้นในฐานข้อมูลว่า Voice Print ของเรามีค่าใกล้เคียงกับของใครมากที่สุด ด้วยกฎการตัดสินใจต่าง ๆ แล้วจึงแสดงผลออกมาว่าเสียงของเราเป็นเสียงของใคร

ผลประโยชน์ที่จะได้จาก Voice Recognition ก็คือใช้เป็นระบบรักษาความปลอดภัยด้วยเสียงครับ เหมือนในหนังฝรั่งทั่ว ๆ ไปที่กลไกปิด/เปิดประตูจะใช้เสียงของเจ้าของเป็นตัว Verify

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

  1. วิจัยการแยกแยะเสียงของบุคคลแต่ล่ะคนจากแหล่งกำเนิดเสียงเดียวกัน เช่น เสียงที่เกิดในรถเมล์, เสียงที่เกิดในตลาด, เสียงที่เกิดในห้องประชุม, เสียงที่เกิดในสนามกีฬา เป็นต้น
  2. วิจัยการแยกแยะเสียงจากสิ่งมีชีวิตอื่น เช่น เสียงนก, เสียงแมลง, เสียงสัตว์ป่าต่าง ๆ เป็นต้น
  3. วิจัยการแยกแยะเสียงที่เกิดจากสิ่งไม่มีชีวิต เช่น เสียงลม, เสียงเคาะไม้, เสียงใบไม้ร่วง, เสียงรถยนตร์, เสียงนาฬิกา เป็นต้น

การวิจัยเกี่ยวกับเสียงจำเป็นต้องใช้ความรู้ทางคณิตศาสตร์เป็นอย่างมาก รวมถึงต้องมีความรู้ในชุดสมการที่เกี่ยวกับ Wave, Electromagnetic Field และ Fast Fourier Transform อย่างแน่นปึ้กเลยล่ะครับ ถึงจะสามารถทำได้

ซึ่งสำหรับคนไทยอย่างเรา ผมก็คงต้องขอพึ่งคนที่จบวิศวกรรมไฟฟ้าให้เป็นคนบุกเบิกงานวิจัยทางด้านนี้แล้วครับ เพราะ NECTEC เองก็ไม่ได้วิจัยเรื่องนี้ซะด้วย แต่ไปเน้นทางด้าน Speech Recognition แทนอ่ะครับ

Related Posts

13 thoughts on “Voice Recognition

  1. มาเยี่ยมครับ เห็น Keyword น่าสนใจ

    ว่าแต่อย่างงี้น่าจะเรียกว่า Speaker Identification มากกว่ารึเปล่าครับ
    (เท่าที่อ่านในเอกสารด้านนี้นะครับ)

    ส่วน Voice Recognition และ Speech Recognition คนจะใช้สลับๆ กันไป
    (แต่ในแวดวงวิชาการใช้ Speech ซะมากกว่า)

    ยินดีที่ได้รู้จักคนไทยที่ทำด้าน Speech Information Processing เหมือนกันครับ
    ผม(เคย)ทำ Large Vocabulary Continuous Speech Recognition ภาษาไทย
    สมัยที่เรียนปริญญาโทที่ Tokyo Institute of Technology ครับ
    (แต่ตอนนี้ไม่ได้แตะมาสองปีแล้ว…)

  2. เป็นเช่นนั้นแลครับคุณ Oakyman ว่าแต่ blog คุณ Oakyman เน้นบันเทิงล้วน ๆ เลยนะเนี่ย ผมแวะเข้าไปดูแล้ว

  3. ชื่นชม ที่คุณพี่ไท้ คิดเกี่ยวกับ สปีชเรคอกนิชั่นค่ะ

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

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

    1. ควรใช้โปรแกรมสปีช เรคอกนิชั้น แบบที่อาจารย์เค้าแนะนำไหมคะ
    2. โปรแกรมไหนที่ใช้ไม่ยาก และไม่แพงมากคะ

    ขอบพระคุณล่วงหน้าสำหรับคำตอบนะคะ

  4. speech recognition ภาษาไทย ยังอยู่ในช่วงของการวิจัยพัฒนาอยู่เลยครับ ความแม่นยำในการรู้จำยังเฉลี่ยที่ 85% เอง เทคโนโลยีปัจจุบันจึงยังไม่สามารถช่วยอะไรคุณศิริกุลได้เลยครับ เศร้าจิต T-T

  5. ขอบคุณคุณพี่ไท้มากค่ะ ที่กรุณาตอบ ถึงแม้จะเป็นข่าวร้าย และเศร้าใจที่ใช้ไม่ทันการถอดเทปเที่ยวนี้ค่ะ

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

    เอ แล้วพี่ไท้จะพัฒนาโปรแกรมที่เคยทำตอนทำวิทยานิพนธ์ต่ออีกไหมคะ (ตื้ออีกแล้ว ฮิฮิ ยังมีความหวังจะใช้ช่วงปีหน้าหรือต่อๆไปค่ะ) ถ้าทำ ก็ขอเป็นกำลังใจให้สู้ๆ นะคะ จะได้มีของดีที่เป็นของไทยใช้กันบ้าง….

    ขอบคุณพี่ไท้ที่ให้ความกระจ่างและการเขียนบล็อก ดีๆ แบบนี้นะคะ

  6. คุณศิริกุลคงหมายถึง “dragon naturally speaking speech recognition” สินะครับ ตัวนี้ของจริงแพงมากเลยนะ อีกอย่างเขาออกแบบมาสำหรับช่องคอในการออกเสียงภาษาอังกฤษน่ะครับ (สงสัยต้องซื้อแผ่นผีเอา) แต่ก็ไม่แน่นะอาจจะใช้กับภาษาไทยก็ได้ ขึ้นอยู่กับตอนที่โปรแกรมให้เราฝึกฝนเสียงพูดนั้น มันเก็บรายละเอียดของเสียงพูดของเราได้ละเอียดขนาดไหน

    ส่วนเรื่องการพัฒนาต่อนั้นคงเป็นไปได้ยากครับ เพราะผมมีขีดจำกัดทางด้านคณิตศาสตร์ การทำ speech recognition ต้องแก่กล้าทางด้านคณิตศาสตร์ชั้นสูงมาก ๆ ครับ

  7. เราจะเอาเสียงที่ได้ไปเปรียบเทียบกับเสียงที่เคยบันทึกไว้ได้อย่างไรคะ

    อย่างเช่น ถ้าเราพูดคำว่า word ให้เปิด ms word ขึ้นมาหนะคะ

    -เราต้องเขียนโปรแกรมใช่ป่าวคะ ยากมั้ย
    -ถ้าเขียนเราต้องเขียนด้วยภาษาอะไรคะ

    ——————————น่าเศร้าที่ทำเองไม่เป็นคะ—-

  8. สิ่งที่คุณ byte ต้องการ เรียกว่าศาสตร์ทาง speech recognition ครับ ซึ่งปัจจุบันนี้ยังถือเป็นสิ่งที่ยากอยู่ครับ ถึงแม้ว่าทาง Microsoft จะมี Speech API มาให้กับระบบปฏิบัติการแล้วก็ตาม เราต้องเขียนโปรแกรมควบคุมมันครับ ด้วยภาษาซีบนพื้นฐาน Windows Software Development Kit ครับ

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

  10. ผมเป็นคนที่เริ่มสนใจในเรื่องของ voice และ speech ครับ อยากได้ข้อมูลจากเริ่มจนปัจจุบันจะจัดให้ทราบได้ไหมครับ ขอบคุณ

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *