2010-10-18 38 views
5

Tôi đang thực hiện một dự án cá nhân yêu cầu tôi thực hiện một số xử lý tín hiệu và trích xuất tính năng trong C#, cụ thể hơn là trích xuất MFCCs, có bất kỳ mã nào có sẵn để tính MFCCs trong C# không?Làm thế nào để trích xuất một MFCC bằng cách sử dụng C#

Ngoài ra nếu có bất kỳ điều gì được viết tốt cho các ngôn ngữ khác (Mục tiêu-C, C, C++ hoặc thậm chí Java), tôi nghĩ tôi sẽ có thể có được ý tưởng và viết lại trong C#.

+0

Tôi đã tò mò muốn biết nếu bạn có xung quanh để chuyển mã để C#. Tôi đang tìm kiếm một cái gì đó tương tự và sẽ rất vui khi cộng tác nếu có thể. –

+0

Thuật toán MFCC được giải thích chi tiết ở đây: http://www.practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/ – zmechanic

+0

Tôi đã tìm thấy một triển khai bằng Python: https://github.com/embatbr/tg/blob/master/src/features.py Về cơ bản nó xác nhận thuật toán tôi đã đề cập trong bình luận trước của tôi. Nó cũng cho thấy DCT được áp dụng cho năng lượng, không được mô tả trong phân tích thuật toán từ bài trước. DCT chỉ được đề cập ở đó nhưng chi tiết triển khai bị thiếu. – zmechanic

Trả lời

0

Nếu bạn cảm thấy tham vọng, có một triển khai Java in CoMirva. Sự phức tạp của việc chuyển sang C# là không rõ - có thể không quá tệ, tùy thuộc vào sự khớp giữa các tính năng được sử dụng trong đó và những gì có trong .Net Fwk.

Tôi đoán là sự phức tạp chính không phải là trong việc chuyển lớp này, nhưng trong việc đảm bảo bạn cũng có mã để tạo đầu vào chính xác cho nó.

public class MFCC

kéo dài java.lang.Object

Mel Tần Cepstrum Hệ số - MFCCs

Mô tả:

Tính đại diện của MFCC a tín hiệu pcm. Tín hiệu được cắt thành các khung chồng chéo ngắn và cho mỗi khung , một vector đặc trưng là được tính, bao gồm Mel Hệ số Cepstrum tần số.

+0

Cảm ơn bạn đã trả lời của bạn, tôi không nghĩ rằng việc tạo ra các đầu vào sẽ được nhiều của một vấn đề ... nó sẽ được nhập khẩu một số tập tin wav và chia chúng thành 1s khung, và áp dụng MFCC thuật toán cho họ. đây là cách thực hiện bình thường của nó trong MATLAB. – Sarah

+0

@Sarah - OK, hy vọng bạn sẽ tìm được thứ gì đó phù hợp với mình. –

4

Có một hướng dẫn tuyệt vời về cách để có được MFCC (dễ thực hiện trong C#): Mel Frequency Cepstral Coefficient (MFCC) tutorial

(Tôi biết thread là tuổi, nhưng có lẽ độc giả trong tương lai sẽ sử dụng câu trả lời ...)

+1

Tệp mã DSP.cs hiện đã được chuyển đến: http://developer.nokia.com/community/wiki/images/1/1f/Dsp.zip?20130912055231 – zmechanic

+0

Mã được đề cập trong câu trả lời là lỗi, không có giấy tờ và có giá trị chỉ tìm kiếm nếu bạn cần tạo một cái của riêng bạn từ đầu. – zmechanic

+0

Vâng, đó là những gì tôi cần, @zmechanic :). Họ đã thay đổi phiên bản của mã từ mã mà tôi đã sử dụng vào lúc đó, thậm chí không còn có sẵn nữa. Có lẽ đây là lý do tại sao, mặc dù bạn nói rằng đó là lỗi, tôi nhớ đó là sự giúp đỡ thực sự đối với tôi. Cảm ơn bạn cho đầu vào của bạn mặc dù ... có lẽ tôi nên loại bỏ các tham chiếu đến mã không để lừa dối mọi người? – Ioanna

Các vấn đề liên quan