IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Detection Audio - Transformée de Fourrier


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Par défaut Detection Audio - Transformée de Fourrier
    Salam,

    - Je débute en C# et pour mon premier "vrai" projet je bloque déjà sur certains points. Bon pour commencer, je veut faire en sorte que quand un son arrive sur la ligne in de la carte son ( un instrument de musique par exemple ) mon programme analyse le son et affiche la fréquence de la note jouée. Après m'être un peu documenté sur le sujet, je savais que j'allais en arriver tôt ou tard à la transformée de fourrier, j'ai donc commencé par chercher une implémentation de cette dernière pour C# et j'ai réussi à en trouver. Jusqu'ici c'est bon. Le problème c'est que je ne sais pas comment "récupérer" un son avec C# L'implémentation de la transformée de fourrier demande un tableau de données comme paramètre, mais je ne vois pas comment mettre le son sur l'entrée de la carte son sous forme de tableau.

    - Donc voila, mon problème c'est comment récupérer le son sur ma carte son et le passer en paramètre à ma fonction de fourrier pour pouvoir extraire la fréquence (?)

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Regarde du côté de DirectX, et plus précisément de DirectSound

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Il y a un exemple de capture de son en code managé dans le SDK DirectX je crois.

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Par défaut
    Citation Envoyé par Black-Ghost Voir le message
    Salam,


    - Donc voila, mon problème c'est comment récupérer le son sur ma carte son et le passer en paramètre à ma fonction de fourrier pour pouvoir extraire la fréquence (?)

    Merci
    Très bonne question
    1. INPUT : du son, de la vidéo ou un Ampermetre numérique.......
    2. OUTPUT : du signale vers X

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    juste en passant

    il y a 1 an environ, j'avais trouvé sur le net, une petite classe en C# qui permettait de recuperer le son allant dans la carte Son

    L'avantage de ce bout de code, c'est qu'il pouvait etre utiliser pour , par exemple, enregistrer tout flux audio allant de le Out de ta carte son...

    Donc, par exemple pour enregistrer un flux audio venant du net, etc...
    (evidemment, enregistrement en flux continu, donc, si decrochage du streaming audio du site => repercussion dans le fichier)...

    Je pense que si tu fais une recherche sur "Enregistrer audio ou son en C#"
    sur ton moteur de recherche préféré, tu devrais aboutir à trouver
    différentes choses interessantes

    Sinon, j'ai moi meme developper un moteur Audio basé sur les drivers Asio, mais bon... 1 c'est en C++ (j'ai mis au point un Wrapper C#)... et 2, beh, je ne peux malheureusement pas le mettre à disposition gratuitement (faut bien gagner sa vie)... loin de moi l'idée de faire une quelconque publicité ici...

    PAr contre, effectivement soit du coté DirectX, soit du coté Asio (faire un moteur basique en ASIO qui recupere les données provenant du buffer d'acquisition en assez facile...).. donc, apres, il te faudrait juste faire
    un Wrapper remontant du moteur C++ vers C# le buffer de donnée...

    Apres, j'ai juste une crainte.. C'est qu'au niveau des performances tu es peut-etre quelques soucis...

    Enfin, il faudrait voir si l'implémentation de ton fourrier en C# est presque ou voir aussi rapide qu'une implémentation en C++ natif...

    En tout cas, bon courage

    The Monz, Toulouse

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    J'ai fait il y a déjà quelque temps un projet similaire à ce que tu souhaites faire. C'était un suiveur de partition musicale. J'avais récupéré le flux audio en utilisant DirectSound, ensuite passage dans la magnifique (j'en suis encore tout ému rien que d'y penser) transformée de Fourrier (d'ailleurs il me semble qu'il vaut mieux utiliser une autre transformée qui a un autre nom mais qui est en fait une transformée à fenêtre flottante si je me rappelle bien). Et ensuite reconnaissance des notes.

    Mais juste pour t'avertir un peu, il y aura forcément du bruit dans ton flux audio, donc il faut penser à faire du nettoyage... Moi à l'époque j'avais trouvé que c'est là qu'est le problème le plus important, ch...., gênant...

    Bon courage

  7. #7
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    (d'ailleurs il me semble qu'il vaut mieux utiliser une autre transformée qui a un autre nom mais qui est en fait une transformée à fenêtre flottante si je me rappelle bien)
    Une FFT serait plus adaptée je pense...

  8. #8
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Tout dépend de ce qu'il souhaite car la FFT a une mauvaise tendance à perdre en précision dans les hautes et les bases fréquences en fonction de la fréquence d'échantillonage (et d'autres paramètres, mais je me rappelle plus ça fait tellement longtemps). C'est pourquoi j'avançais l'idée de la transformée de Fourrier à fenêtre flottante.

Discussions similaires

  1. [Audio] Transformation d'un signal
    Par downfall dans le forum Multimédia
    Réponses: 2
    Dernier message: 17/02/2010, 13h51
  2. implementation de la transformé de Fourrier !
    Par The-msx dans le forum Traitement d'images
    Réponses: 8
    Dernier message: 17/09/2008, 15h15
  3. Calculer une transformer de fourrier un peu spéciale
    Par 2click dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/01/2008, 17h28
  4. [Signal] Transformé de Fourrier
    Par kurul1 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/12/2006, 08h30
  5. Transformé de Fourrier
    Par kurul1 dans le forum C++Builder
    Réponses: 15
    Dernier message: 06/12/2006, 08h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo