2010-10-18 6 views
5

Je fais un projet personnel qui nécessite de faire un traitement du signal et une extraction de caractéristiques en C#, en extrayant plus précisément MFCCs, y a-t-il un code disponible pour calculer les MFCC en C#?Comment extraire un MFCC en utilisant C#

De plus, s'il y a quelque chose de bien écrit pour d'autres langages (Objective-C, C, C++, ou même Java), je pense que je pourrai avoir l'idée et la réécrire en C#.

+0

J'étais curieux de savoir si vous avez réussi à transférer du code vers C#. Je cherche quelque chose de similaire et serais heureux de collaborer si possible. –

+0

L'algorithme MFCC est expliqué en détails ici: http://www.practicalcryptography.com/miscine/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/ – zmechanic

+0

J'ai trouvé une implémentation en Python: https://github.com/embatbr/tg/blob/master/src/features.py Il confirme essentiellement l'algorithme que j'ai mentionné dans mon précédent commentaire. Il montre également la DCT appliquée aux énergies, qui n'est pas décrite dans la décomposition de l'algorithme de la publication précédente. DCT n'est mentionné que là, mais les détails d'implémentation sont manquants. – zmechanic

Répondre

0

Si vous vous sentez ambitieux, il existe une implémentation Java in CoMirva. La complexité du portage vers C# est inconnue - pourrait ne pas être trop mauvaise, en fonction de la correspondance entre les fonctionnalités utilisées dans ce domaine et ce qui est dans .Net Fwk. Je pense que la complexité majeure n'est pas de porter cette classe, mais de s'assurer que vous avez également du code pour générer les entrées correctes.

public class MFCC

étend java.lang.Object

Mel Fréquence Coefficients Cepstre - MFCCs

Description:

Calcule la représentation MFCC de un signal pcm. Le signal est découpé en courtes images qui se chevauchent, et pour chaque trame , un vecteur de caractéristiques est calculé, qui consiste en Mel Coefficients fréquentiels de cepstrum.

+0

Merci pour votre réponse, je ne pense pas que la génération de l'entrée serait un gros problème ... il va importer des fichiers wav et les diviser en 1 images, et en leur appliquant des algorithmes MFCC. C'est ainsi que cela se fait normalement dans MATLAB. – Sarah

+0

@Sarah - OK, j'espère que vous trouverez quelque chose qui fonctionne pour vous de toute façon. –

4

Il y a un bon tutoriel de la façon d'obtenir MFCC (facile à mettre en œuvre en C#): Mel Frequency Cepstral Coefficient (MFCC) tutorial

(Je sais que le fil est ans, mais les lecteurs peut-être à venir utiliserai la réponse ...

+1

Le fichier de code DSP.cs est maintenant déplacé à: http://developer.nokia.com/community/wiki/images/1/1f/Dsp.zip?20130912055231 – zmechanic

+0

Le code mentionné dans la réponse est bogué, non documenté et vaut la peine Vous cherchez seulement si vous devez créer votre propre à partir de zéro. – zmechanic

+0

Eh bien, c'est ce dont j'avais besoin, @zmechanic :). Ils ont changé la version du code de celle que j'avais utilisée à l'époque, qui n'est même plus disponible. C'est peut-être la raison pour laquelle, même si vous dites que c'est buggé, je me souviens que cela m'a vraiment aidé. Merci pour votre contribution si ... peut-être que je devrais supprimer la référence au code pour ne pas tromper les gens? – Ioanna

Questions connexes