Làm cách nào để diễn giải bước DCT trong quy trình trích xuất MFCC?


20

Trong hầu hết các tác vụ xử lý âm thanh, một trong những biến đổi được sử dụng nhiều nhất là MFCC (hệ số cepstral tần số Mel) .

Tôi hầu như biết toán học đằng sau MFCC: Tôi hiểu cả bước lọc ngân hàng và thang đo tần số Mel.

Những gì tôi không nhận được là bước DCT (Biến đổi Cosine rời rạc): Tôi nhận được loại thông tin nào trong bước này? Một đại diện trực quan tốt của bước này là gì?


1
Tôi sẽ thêm một lời giải thích ngắn gọn về MFCC, hoặc ít nhất là một liên kết: en.wikipedia.org/wiki/Mel-frequency_805stral_coffic
một số loại robot

Câu trả lời:


16

Bạn có thể nghĩ về DCT như một bước nén. Thông thường với MFCC, bạn sẽ lấy DCT và sau đó chỉ giữ lại một vài hệ số đầu tiên. Về cơ bản, đây là lý do tương tự mà DCT được sử dụng trong nén JPEG. DCT được chọn vì điều kiện biên của chúng hoạt động tốt hơn trên các loại tín hiệu này.

Hãy đối chiếu DCT với biến đổi Fourier. Biến đổi Fourier được tạo thành từ các sin có số chu kỳ nguyên. Điều này có nghĩa là, tất cả các hàm cơ sở Fourier đều bắt đầu và kết thúc ở cùng một giá trị - chúng không làm tốt việc biểu diễn các tín hiệu bắt đầu và kết thúc ở các giá trị khác nhau. Hãy nhớ rằng biến đổi Fourier giả định một phần mở rộng định kỳ: Nếu bạn tưởng tượng tín hiệu của mình trên một tờ giấy, biến đổi Fourier muốn cuộn tờ giấy đó thành một hình trụ để hai bên trái và phải gặp nhau.

Hãy nghĩ về một quang phổ có hình dạng gần giống như một đường có độ dốc âm (khá điển hình). Biến đổi Fourier sẽ phải sử dụng rất nhiều hệ số khác nhau để phù hợp với hình dạng này. Mặt khác, DCT có các cosin với số chu kỳ nửa số nguyên. Ví dụ, có một hàm cơ sở DCT trông mơ hồ giống như đường đó với độ dốc âm. Nó không giả sử một phần mở rộng thời gian (thay vào đó, một phần mở rộng chẵn), vì vậy nó sẽ làm tốt hơn việc phù hợp với hình dạng đó.

Vì vậy, hãy đặt điều này cùng nhau. Khi bạn đã tính toán phổ tần số Mel, bạn có một biểu diễn phổ rất nhạy theo cách tương tự như cách hoạt động của thính giác con người. Một số khía cạnh của hình dạng này có liên quan nhiều hơn những khía cạnh khác. Thông thường, hình dạng phổ bao trùm càng lớn càng quan trọng hơn các chi tiết mịn nhiễu trong phổ. Bạn có thể tưởng tượng việc vẽ một đường thẳng để đi theo hình dạng phổ và rằng đường thẳng mà bạn vẽ có thể cho bạn biết nhiều về tín hiệu.

Khi bạn lấy DCT và loại bỏ các hệ số cao hơn, bạn đang lấy hình dạng phổ này và chỉ giữ các phần quan trọng hơn để thể hiện hình dạng mịn này. Nếu bạn đã sử dụng biến đổi Fourier, nó sẽ không làm tốt việc giữ thông tin quan trọng ở các hệ số thấp.

Nếu bạn nghĩ về việc cung cấp MFCC như các tính năng cho thuật toán học máy, thì các hệ số bậc thấp này sẽ tạo ra các tính năng tốt, vì chúng đại diện cho một số khía cạnh đơn giản của hình dạng phổ, trong khi các hệ số bậc cao hơn mà bạn loại bỏ sẽ giống như nhiễu hơn và không quan trọng để đào tạo về. Ngoài ra, việc đào tạo về cường độ phổ Mel có thể sẽ không tốt vì biên độ cụ thể ở các tần số khác nhau ít quan trọng hơn hình dạng chung của phổ.


Thật thú vị khi đọc câu trả lời này cho một câu hỏi liên quan là tốt.
Eric Platon

8

Chìa khóa để hiểu MFCC là ở đầu câu trong bài viết được liên kết đến:

Chúng có nguồn gốc từ một loại biểu diễn cepstral của clip âm thanh ...

MFCC giống như một quang phổ của nhật ký , cepstrum .

x(t)

C(z)=F1(log(|F(x(t))|2)

FF1

Lý do cepstrum gọn gàng là do hoạt động logarit xen kẽ có nghĩa là các kết cấu của tín hiệu gốc hiển thị dưới dạng các bổ sung đơn giản trong cepstrum .

Lợi thế đó mang lại cho MFCC, mặc dù việc nâng lên không trực tiếp như với cepstrum tiêu chuẩn.

Trường hợp MFCC khác nhau là việc sử dụng biến đổi cosine rời rạc (DCT) làm biến đổi cuối cùng thay vì biến đổi Fourier ngược.

Ưu điểm của DCT so với biến đổi Fourier là các hệ số kết quả là có giá trị thực , giúp cho việc xử lý và lưu trữ tiếp theo dễ dàng hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.