ผมขอเริ่มจากจุดเริ่มต้น วิธีการคำนวณ cepstrum มาตรฐานมีดังต่อไปนี้:
ค( x ( t ) ) =F- 1[ บันทึก( F[ x ( t ) ] ) ]
ในกรณีของกรณีสัมประสิทธิ์ MFCC แตกต่างกันเล็กน้อย แต่ก็ยังคล้ายกัน
หลังจากเน้นก่อนและหน้าต่างคุณคำนวณ DFT ของสัญญาณของคุณและใช้ตัวกรองธนาคารของตัวกรองรูปสามเหลี่ยมที่ทับซ้อนกันแยกในระดับเมล (แม้ว่าในบางกรณีขนาดเชิงเส้นจะดีกว่า Mel):
ในส่วนที่เกี่ยวกับคำจำกัดความ cepstrum ตอนนี้คุณได้แสดงซองจดหมายของสเปกตรัม (ลดสเปกตรัม) ในระดับ mel-frequency หากคุณเป็นตัวแทนของนั้นคุณจะเห็นว่ามันคล้ายกับสเปกตรัมสัญญาณเดิมของคุณ
ขั้นต่อไปคือการคำนวณลอการิทึมของค่าสัมประสิทธิ์ที่ได้รับข้างต้น นี่เป็นเพราะความจริงที่ว่าเซพสตัมควรจะเป็นการเปลี่ยนแปลงโฮโมมอร์ฟิคที่แยกสัญญาณจากการตอบสนองของแรงกระตุ้นของระบบเสียง ฯลฯ ได้อย่างไร
สัญญาณเสียงพูดต้นฉบับ s ( t ) ส่วนใหญ่จะเชื่อมั่นกับการตอบสนองแรงกระตุ้น h ( t ) ของระบบเสียง:
s^( t ) = s ( t ) ⋆ h ( t )
ในโดเมนความถี่สังวัตนาคือการคูณของสเปกตรัม:
S^( ฉ) = S( ฉ) ⋅ H( ฉ)
ที่สามารถย่อยสลายเป็นสองส่วนตามคุณสมบัติต่อไปนี้: เข้าสู่ระบบ( a ⋅ b ) =บันทึก( a ) +บันทึก( b ).
เราคาดหวังว่าการตอบสนองต่อแรงกระตุ้นจะไม่เปลี่ยนแปลงเมื่อเวลาผ่านไปดังนั้นจึงสามารถลบออกได้ง่ายโดยการลบค่าเฉลี่ย ตอนนี้คุณจะเห็นว่าทำไมเราถึงใช้ลอการิทึมของพลังงานวงของเรา
ขั้นตอนสุดท้ายในนิยาม cepstrum คือ Inverse Fourier Transform F- 1. ปัญหาคือเรามีเพียง log-energies ของเราเท่านั้นไม่มีข้อมูลเฟสดังนั้นหลังจากใช้ifft
เราจะได้ค่าสัมประสิทธิ์ที่มีค่าเชิงซ้อน - ไม่ได้สวยงามมากนักสำหรับความพยายามทั้งหมดนี้เพื่อเป็นตัวแทนที่กะทัดรัด แม้ว่าเราจะสามารถใช้การแปลงแบบไม่ต่อเนื่องโคไซน์ซึ่งเป็น FT เวอร์ชัน 'ง่าย' ของ FT และรับค่าสัมประสิทธิ์มูลค่าจริง! ขั้นตอนนี้สามารถมองเห็นเป็นโคไซน์ที่ตรงกับค่าสัมประสิทธิ์การใช้พลังงานของเรา คุณอาจจำได้ว่า cepstrum เรียกอีกอย่างว่า 'สเปกตรัมของสเปกตรัม'? นั่นเป็นขั้นตอนที่สำคัญมาก - เรากำลังค้นหาช่วงเวลาใด ๆ ในค่าสัมประสิทธิ์ซองจดหมายพลังงานของเรา
ดังนั้นตอนนี้คุณจะเห็นว่าตอนนี้มันค่อนข้างยากที่จะเข้าใจว่าคลื่นเดิมมีลักษณะอย่างไร นอกจากนี้เรามักจะรับ 12 MFCC ตัวแรกเท่านั้นเนื่องจากค่าที่สูงกว่ากำลังอธิบายการเปลี่ยนแปลงอย่างรวดเร็วของพลังงานบันทึกซึ่งมักทำให้อัตราการรู้จำแย่ลง ดังนั้นเหตุผลในการทำ DCT มีดังต่อไปนี้:
แต่เดิมคุณต้องดำเนินการ IFFT แต่การรับค่าสัมประสิทธิ์มูลค่าจริงจาก DCT นั้นง่าย นอกจากนี้เราไม่มีสเปกตรัมเต็มรูปแบบ (ช่องเก็บความถี่ทั้งหมด) อีกต่อไป แต่ค่าสัมประสิทธิ์พลังงานภายในตัวกรองเมล - แบงค์ดังนั้นการใช้ IFFT จึงค่อนข้างเกิน
คุณเห็นรูปแรกที่กรองธนาคารซ้อนกันดังนั้นพลังงานจากพลังงานที่อยู่ติดกันจะกระจายไประหว่างสอง - DCT อนุญาตให้ตกแต่งได้ โปรดจำไว้ว่านี่เป็นคุณสมบัติที่ดีเช่นในกรณีของแบบจำลองการผสมแบบเกาส์เซียนซึ่งคุณสามารถใช้เมทริกซ์ความแปรปรวนร่วมแนวทแยงมุม (ไม่มีความสัมพันธ์กันระหว่างค่าสัมประสิทธิ์อื่น ๆ ) แทนที่จะเป็นแบบเต็ม (ค่าสัมประสิทธิ์ทั้งหมดมีความสัมพันธ์กัน)
อีกวิธีหนึ่งในการหาค่าสัมประสิทธิ์ความถี่เมลด้วยการตกแต่งก็คือ PCA (การวิเคราะห์องค์ประกอบหลัก) เทคนิคที่ใช้เพื่อการนี้โดยเฉพาะ สำหรับโชคของเรานั้นได้รับการพิสูจน์แล้วว่า DCT นั้นดีมากสำหรับ PCA เมื่อเทียบกับสัญญาณที่เกี่ยวข้องกันดังนั้นข้อดีอีกอย่างของการใช้ Discrete Cosine Transform
บางวรรณกรรม:
Hyoung-Gook Kim, Nicolas Moreau, Thomas Sikora - MPEG-7 Audio and Beyond: การจัดทำดัชนีเนื้อหาเสียงและการสืบค้น