ฉันจะตีความขั้นตอน DCT ในกระบวนการแยก MFCC ได้อย่างไร


20

ในงานการประมวลผลเสียงมากที่สุดคนหนึ่งของแปลงที่ใช้มากที่สุดคือMFCC (เมลความถี่ค่าสัมประสิทธิ์ Cepstral)

ฉันส่วนใหญ่รู้คณิตศาสตร์ที่อยู่เบื้องหลัง MFCC: ฉันเข้าใจทั้งขั้นตอนตัวกรองของธนาคารและการปรับความถี่เมล

สิ่งที่ฉันไม่ได้รับคือขั้นตอน DCT (การแปลงโคไซน์ไม่ต่อเนื่อง): ฉันจะได้รับข้อมูลประเภทใดในขั้นตอนนี้ การแสดงภาพที่ดีของขั้นตอนนี้คืออะไร


1
ฉันจะเพิ่มคำอธิบายสั้น ๆ ของ MFCC หรืออย่างน้อยลิงค์: en.wikipedia.org/wiki/Mel-frequency_cepstral_coefficient
หุ่นยนต์บางชนิด

คำตอบ:


16

คุณสามารถนึกถึง DCT ว่าเป็นขั้นตอนการบีบอัด โดยทั่วไปกับ MFCCs คุณจะใช้ DCT แล้วเก็บค่าสัมประสิทธิ์เพียงไม่กี่ครั้งแรกเท่านั้น นี่เป็นเหตุผลเดียวกันที่ DCT ใช้ในการบีบอัด JPEG DCT ได้รับเลือกเนื่องจากเงื่อนไขขอบเขตทำงานได้ดีกับสัญญาณประเภทนี้

ลองเปรียบเทียบ DCT กับการแปลงฟูริเยร์กัน การแปลงฟูริเยร์นั้นสร้างจากไซนัสที่มีจำนวนเต็ม ซึ่งหมายความว่าฟังก์ชันพื้นฐานของฟูเรียร์ทั้งหมดเริ่มต้นและสิ้นสุดที่ค่าเดียวกัน - พวกเขาทำงานได้ไม่ดีในการเป็นตัวแทนของสัญญาณที่เริ่มต้นและสิ้นสุดที่ค่าที่ต่างกัน โปรดจำไว้ว่าการแปลงฟูริเยร์ถือว่าส่วนขยายเป็นระยะ: ถ้าคุณจินตนาการว่าสัญญาณของคุณบนกระดาษหนึ่งแผ่นการแปลงฟูริเยร์ต้องการม้วนแผ่นนั้นเป็นทรงกระบอกเพื่อให้ด้านซ้ายและด้านขวาพบกัน

ลองนึกถึงสเปกตรัมที่มีรูปร่างเหมือนเส้นที่มีความชันเป็นลบ (ซึ่งเป็นเรื่องปกติ) การแปลงฟูริเยร์จะต้องใช้สัมประสิทธิ์ที่แตกต่างกันมากมายเพื่อให้พอดีกับรูปร่างนี้ ในทางกลับกัน DCT มีค่า cosines ที่มีจำนวนครึ่งจำนวนเต็ม ยกตัวอย่างเช่นมีฟังก์ชั่นพื้นฐาน DCT ที่มีลักษณะเหมือนรางรถไฟที่มีความชันเป็นลบ มันไม่ถือว่าการขยายรอบระยะเวลา (แทนการขยายที่เท่ากัน) ดังนั้นมันจะทำงานได้ดีขึ้นของรูปร่างที่เหมาะสม

ดังนั้นมารวมกัน เมื่อคุณคำนวณสเปกตรัม Mel-frequency คุณจะได้เป็นตัวแทนของสเปกตรัมที่ไวต่อการได้ยินของมนุษย์ บางแง่มุมของรูปร่างนี้มีความเกี่ยวข้องมากกว่าด้านอื่น โดยปกติแล้วรูปร่างของสเปกตรัมที่ครอบคลุมมากขึ้นนั้นมีความสำคัญมากกว่ารายละเอียดที่มีเสียงดังในสเปกตรัม คุณสามารถจินตนาการถึงการวาดเส้นที่ราบเรียบเพื่อติดตามรูปร่างสเปกตรัมและเส้นที่ราบเรียบที่คุณวาดอาจบอกคุณเกี่ยวกับสัญญาณมากพอ

เมื่อคุณใช้ DCT และละทิ้งค่าสัมประสิทธิ์ที่สูงขึ้นคุณจะได้รูปทรงสเปกตรัมนี้และรักษาเฉพาะส่วนที่สำคัญกว่าสำหรับการแสดงรูปร่างที่ราบรื่นนี้เท่านั้น หากคุณใช้การแปลงฟูริเยร์มันจะไม่ทำงานที่ดีในการเก็บข้อมูลสำคัญในค่าสัมประสิทธิ์ต่ำ

ถ้าคุณคิดว่าการป้อน MFCCs เป็นคุณสมบัติของอัลกอริทึมการเรียนรู้ของเครื่องสัมประสิทธิ์ลำดับล่างเหล่านี้จะทำให้คุณสมบัติที่ดีเนื่องจากมันแสดงถึงลักษณะที่เรียบง่ายของรูปร่างสเปกตรัมในขณะที่ค่าสัมประสิทธิ์ลำดับสูงกว่าที่คุณละ และไม่มีความสำคัญในการฝึกฝน นอกจากนี้การฝึกฝนเกี่ยวกับขนาดสเปกตรัมของ Mel เองอาจจะไม่ดีนักเนื่องจากขนาดของคลื่นที่ความถี่แตกต่างกันนั้นมีความสำคัญน้อยกว่ารูปร่างทั่วไปของสเปกตรัม



8

กุญแจสำคัญในการทำความเข้าใจ MFCC อยู่ในจุดเริ่มต้นของประโยคในบทความเชื่อมโยงไปยัง:

พวกเขาได้มาจากประเภทของการเป็นตัวแทน cepstral ของคลิปเสียง ...

MFCCs เป็นเหมือนคลื่นความถี่ของ a- บันทึก -spectrum ที่cepstrum

x(เสื้อ)

(Z)=F-1(เข้าสู่ระบบ(|F(x(เสื้อ))|2)

FF-1

เหตุผลที่เซพสทรุมนั้นเรียบร้อยก็คือการดำเนินการลอการิทึมแบบ interposed หมายความว่าการโน้มน้าวใจของสัญญาณดั้งเดิมแสดงให้เห็นว่าเป็นการเพิ่มเติมอย่างง่ายในเซพสตั

ข้อได้เปรียบดังกล่าวนำไปสู่ ​​MFCC แม้ว่าการยกจะไม่ตรงเช่นเดียวกับ cepstrum มาตรฐาน

โดยที่ MFCC แตกต่างกันคือการใช้การแปลงแบบไม่ต่อเนื่องโคไซน์ (DCT) เป็นการแปลงสุดท้ายแทนการแปลงฟูริเยร์ผกผัน

ข้อได้เปรียบที่ DCT มีมากกว่าการแปลงฟูริเยร์คือค่าสัมประสิทธิ์ที่ได้คือค่าที่แท้จริงซึ่งทำให้การประมวลผลและการจัดเก็บที่ตามมาง่ายขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.