วิธีการทำวินโดวส์และเฟรม
การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN) ลักษณะรูปคลื่นของสัญญาณสัญญาณเสียงพูดนั้นเป็นสัญญาณที่มีการเปลี่ยนแปลงตามเวลา การหาค่าลักษณะสำคัญบนฐานของการแปลงฟูริเยร์นั้นจึงต้องใช้เทคนิคที่เรียกว่า การแปลงฟูริเยร์ในช่วงสั้น (Short-time Fourier Transform: STFT) เพื่อวิเคราะห์สัญญาณสัญญาณเสียงพูดไปเป็นลำดับของเฟรม (Sequence of frames) นั้นๆ วินโดวส์ (Window) การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN) ใช้เพื่อแบ่งเฟรมของสัญญาณเสียงพูดในเชิงเวลา เห็นได้ในรูปที่ 3.2 วินโดว์นั้นมีหลายแบบมากซึ่งสามารถเลือกใช้ได้ตามความเหมาะสมของงานนั้นๆ วินโดวส์ (Window) ในเชิงเวลา กำหนดด้วย w(n) ซึ่งเป็นลำดับจำกัด (Finite-length sequence) สำหรับใช้ในการเลือกเฟรมจากสัญญาณเดิม (s(n)) การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN)ด้วยการคูณในเชิงเวลา สมมติให้วินโดวส์เป็น Causal sequence ซึ่งมีจุดเริ่มต้นที่ n = 0 มีระยะ (Duration) คือ Wn และเป็น Linear phase sequence) การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN) วินโดวส์ในเชิงความถี่จะถูกกำหนดตามสมการ
กระบวนการสร้างเฟรมโดยใช้วินโดวส์ทำได้โดยกลับรูป (Reverse) วินโดวส์ในเชิงเวลาและใช้การเลื่อน (Shift) ขอบของวินโดวส์ไปยังจุดเริ่มต้นซึ่งเป็นเวลาที่ต้องการ m จะได้ w(m-n) การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN)และเฟรมของสัญญาณ s(n) กล่าวคือ fs(n;m) ซึ่งมีความยาวเท่ากับ N และสิ้นสุดที่ m จะได้จาก
แสดงสเปกตรัมความถี่ของสัญญาณฮาร์โมนิกส์ด้วยความถี่พื้นฐานและ สี่โอเวอร์โทน สัญญาณมีการ sampling ความถี่เป็น 22 kHz และขนาดของเฟรมเป็น 512 samples
โดยทั่วไปฟังก์ชันวินโดวส์ที่ใช้จะเป็นลักษณะเรียว (Tapered window) เพื่อลดความไม่ต่อเนื่องที่จะเกิดขึ้นที่ขอบ ซึ่งส่งผลให้เกิดองค์ประกอบความถี่สูงขึ้นในสเปกตรัม การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN)นอกจากนี้ความยาวของวินโดวส์ที่ใช้ยังส่งผลต่อ Time resolution และ Frequency resolution ของสเปกตรัมอีก หากวินโดวส์มีความยาวมาก แต่ Frequency resolution ที่ต่ำจะทำให้ได้รายละเอียดการกระจายข้อมูลของสัญญาณน้อยกว่าที่เป็นอยู่จริงมาก สำหรับฟังชั่นวินโดวส์พื้นฐานที่มีอยู่ในปัจจุบันนั้นมีอยู่ 5 วินโดว์ การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN) คือ วินโดวส์ Rectangular วินโดวส์Triangular วินโดวส์ Hanning วินโดว์ hamming และ วินโดว์ blanckman ตามลำดับ
สำหรับวินโดวส์ที่นิยมใช้ที่รับมาจากพื้นฐานของวินโดวส์ hanning คือ วินโดวส์ hamming เนื่องจากมี Frequency resolution ที่ค่อนข้างสูงและการลดทอนที่ Side lobs ที่มากกว่า 43 dB ซึ่ง วินโดวส์ Hamming นี้มีความแตกต่างจากวินโดวส์ hanning คือ วินโดวส์ hamming มีขอบของวินโดวส์ที่สูงขึ้น 0.08 ฟังก์ชันวินโดวส์ hamming กำหนดตามสมการ
สัญญาณเสียงพูดที่เป็น .WAV
เป็นสัญญาณเสียงพูดที่เก็บไว้ในฐานข้อมูลจำนวน 200 สัญญาณเสียงพูดโดยที่รวมถึง 100 สัญญาณเสียงพูดสำหรับสัญญาณเสียงพูดคำว่าเปิด 100 สัญญาณเสียงพูด สำหรับสัญญาณเสียงพูดคำว่าปิด 100 สัญญาณเสียงพูด
การวิเคราะห์ระบบการจำแนกสัญญาณเสียงพูด
เนื้อหาของวิทยานิพนธ์นี้มีโครงสร้างดังรูปที่ 3.5 โดยขั้นตอน 1 เรียกว่า Preprocessing เป็นการปรับปรุงคุณภาพสัญญาณเสียงพูด โดยที่จะแปลงความถี่จาก 44.1 kHz เป็น 22 kHz, ขั้นตอนที่ 2 เป็นการนำเสนอเครื่องมือการดึงคุณลักษณะเด่นของสัญญาณเสียงพูด ซึ่งในวิทยานิพนธ์นี้ใช้ ค่าสัมประสิทธ์เซปสตรัมบนสเกลเมล (Mel Frequency Cepstral Coefficient) การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN)อัตราการตัดศูนย์ (Zero Crossing Rate) และขั้นตอนที่สุดท้าย เป็นวิธีการจำแนกสัญญาณเสียงพูด
กระบวนการปรับปรุง (Preprocessing)
ในขั้นตอนนี้เป็นการทำ Down-sampling คือจะทำสัญญาณเสียงพูดจาก 44.1 kHz เป็น 22.050 kHz การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN)ซึ่งการทำ down-sampling มีผลกระทบในทางที่ดีต่อการวิเคราะห์ในการค้นคว้าความคล้ายคลึงของสัญญาณเสียงพูด การดึงสัญญาณเสียงพูดดิจิตอลจากไฟล์ จาก n=0,…,N-1 ที่ซึ่ง N เป็นจำนวนของการสุ่มในไฟล์สัญญาณเสียงพูด
กระบวนการหาค่าเวกเตอร์คุณลักษณะเด่นของสัญญาณสัญญาณเสียงพูด
หัวข้อนี้เป็นการคำนวณเพื่อหาลักษณะต่างๆ ของรูปคลื่นสัญญาณ โดยที่สัญญาณมีการเปลี่ยนแปลงตามเวลา การหาค่าคุณลัษณะเด่นบนฐานของการแปลงฟูริเยร์นั้นจึงต้องใช้เทคนิคที่เรียกว่า การแปลงฟูริเยร์ในช่วงสั้น (Short-time Fourier Transform: STFT) เพื่อวิเคราะห์สัญญาณเสียงไปเป็นลำดับของเฟรม (Sequence of frames) การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN)ซึ่งแต่ละเฟรมแทนด้วยคอลัมน์เวกเตอร์ของเวกเตอร์ค่าคุณลักษณะเด่นของสเปกตรัมในเฟรมนั้นๆ
สมมุติให้ Xn คือ ค่าสัญญาณเสียงพูดที่คอมพิวเตอร์ทำการสุ่มเข้ามาครั้งที่ n ดังนั้นสัญญาณที่สุ่มเข้ามาภายในช่วงเวลาหนึ่งจำนวน N ค่า จะสามารถแทนด้วยชุดสัญญาณเสียงพูด [x1,x2,…,xn] ซึ่งเราสามารถคำนวณคุณลักษณะเด่นของสัญญาณเสียงพูดได้โดยใช้เครื่องมือเหล่านี้
Mel-Frequency Cepstral Coefficient (MFCC)
ค่าสัมประสิทธิ์เซปสตรัมบนสเกลเมล (Mel Frequency Cepstral Coefficient: MFCC) ซึ่งเป็นลักษณะเด่นที่ปรับปรุงมาจาก ) การรู้จำแบบทนทานต่อเสียงรบกวนสำหรับเสียงพูด ภาษาไทยโดยใช้อัลกอริทึม K-nearest neighborhood (K-NN)สัมประสิทธิ์เซปสตรัมปกติ ด้วยการปรับสเกลของสเปกตรัมให้อยู่บนเสกลที่เหมาะสมสำหรับการรับฟังของมนุษย์ เพื่อให้สามารถเก็บรายละเอียดของสัญญาณเสียงช่วงความถี่ต่ำ ซึ่งมีนัยสำคัญมากกว่า ช่วงความถี่สูง เรียกว่า สเกลเมล (Mel Scale) ความถี่ของเสียงพูดสามารถปรับให้อยู่ในสเกลเมล (m) ดังสมการ