2010-10-18 3 views
5

का उपयोग करके एक एमएफसीसी निकालने के लिए कैसे करें मैं एक निजी परियोजना कर रहा हूं जिसके लिए मुझे सी # में कुछ सिग्नल प्रोसेसिंग और फीचर निष्कर्षण करने की आवश्यकता है, विशेष रूप से MFCCs निकालने के लिए, क्या सी # में एमएफसीसी की गणना के लिए कोई उपलब्ध कोड है?सी #

यदि अन्य भाषाओं (उद्देश्य-सी, सी, सी ++, या यहां तक ​​कि जावा) के लिए कुछ भी अच्छी तरह लिखा गया है, तो मुझे लगता है कि मैं विचार प्राप्त कर पाऊंगा और इसे सी # में फिर से लिखूंगा।

+0

मुझे यह जानने के लिए उत्सुक था कि क्या आप सी # को कोड पोर्ट करने के लिए आसपास गए हैं। मैं कुछ इसी तरह की तलाश में हूं और यदि संभव हो तो सहयोग करने में खुशी होगी। –

+0

एमएफसीसी एल्गोरिदम को यहां बड़े विवरणों में समझाया गया है: http://www.practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/ – zmechanic

+0

मुझे पायथन में एक कार्यान्वयन मिला: https://github.com/embatbr/tg/blob/master/src/features.py यह मूल रूप से मेरी पिछली टिप्पणी में उल्लिखित एल्गोरिदम की पुष्टि करता है। यह ऊर्जा पर लागू डीसीटी भी दिखाता है, जिसे पिछले पोस्ट से एल्गोरिदम ब्रेकडाउन में वर्णित नहीं किया गया है। डीसीटी का अभी उल्लेख किया गया है लेकिन कार्यान्वयन विवरण गायब हैं। – zmechanic

उत्तर

0

यदि आप महत्वाकांक्षी महसूस कर रहे हैं तो जावा कार्यान्वयन in CoMirva है। सी # को पोर्टिंग की जटिलता अज्ञात है - उसमें उपयोग की जाने वाली सुविधाओं और .NET Fwk में मौजूद सुविधाओं के बीच मिलान के आधार पर बहुत बुरा नहीं हो सकता है।

मेरा अनुमान है कि प्रमुख जटिलता इस वर्ग को पोर्ट करने में नहीं है, लेकिन यह सुनिश्चित करने में कि आपके पास सही इनपुट उत्पन्न करने के लिए कोड भी है।

सार्वजनिक वर्ग MFCC

फैली java.lang.Object

मेल आवृत्ति cepstrum गुणांकों - MFCCs

विवरण:

की MFCC प्रतिनिधित्व की गणना करता है एक पीसीएम संकेत। सिग्नल शॉर्ट ओवरलैपिंग फ्रेम में कटौती की जाती है, और प्रत्येक फ्रेम के लिए, एक फीचर वेक्टर गणना की जाती है, जिसमें मेल फ्रीक्वेंसी सेप्स्ट्रम गुणांक होते हैं।

+0

आपके उत्तर के लिए धन्यवाद, मुझे नहीं लगता कि इनपुट उत्पन्न करना एक मुद्दा होगा ... यह कुछ WAV फाइलों को आयात करेगा और उन्हें 1s फ्रेम में विभाजित करेगा, और उन्हें एमएफसीसी एल्गोरिदम लागू करेगा। यह सामान्य रूप से MATLAB में किया गया तरीका है। – Sarah

+0

@ सराह - ठीक है, आशा है कि आपको ऐसा कुछ मिल जाए जो आपके लिए काम करता है। –

4

वहाँ कैसे MFCC (सी # में लागू करना आसान) प्राप्त करने के लिए के एक महान ट्यूटोरियल है: Mel Frequency Cepstral Coefficient (MFCC) tutorial

(मैं जानता हूँ कि धागा साल पुराना है, लेकिन शायद भविष्य पाठकों जवाब का उपयोग करेगा ...)

+1

डीएसपीसीएस कोड फ़ाइल अब इस पर ले जाया गया है: http://developer.nokia.com/community/wiki/images/1/1f/Dsp.zip?20130912055231 – zmechanic

+0

उत्तर में उल्लिखित कोड छोटी गाड़ी, अनियंत्रित और लायक है केवल तभी दिख रहा है जब आपको खरोंच से अपना खुद का निर्माण करना होगा। – zmechanic

+0

ठीक है, मुझे यही चाहिए, @zmechanic :)। उन्होंने उस कोड का संस्करण बदल दिया जिसे मैंने वापस उपयोग किया था, जो अब भी उपलब्ध नहीं है। शायद यही कारण है कि, भले ही आप कहते हैं कि यह छोटी है, मुझे याद है कि यह मेरे लिए असली मदद थी। यद्यपि आपके इनपुट के लिए धन्यवाद ... शायद मुझे कोड के संदर्भ को हटा देना चाहिए ताकि लोगों को गुमराह न किया जाए? – Ioanna