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

Audio Discussion :

Analyse d'un fichier WAV et détection de silence


Sujet :

Audio

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 89
    Points : 29
    Points
    29
    Par défaut Analyse d'un fichier WAV et détection de silence
    Bonjour à Tous,

    Dans le cadre d'un de mes projets, je dois détecter des silences dans un fichier .wav, seulement je sais pas du tout comment m'y prendre pour analyser le son. Est-ce qu'il existe une librairie ou autre qui permet d'obtenir un "spectrogramme" comme audacity par exemple qui me permettrait par la suite de détecter les silences ????

    Toutes les pistes sont les bienvenues !!! je vous remercie par avance

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Fmod permet ce genre de chose.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 89
    Points : 29
    Points
    29
    Par défaut
    oki merci pour l'info j'suis en train de jeter un coup d'oeil, j'ai vu qu'il était très facile de récupérer le spectrogramme d'un son avec FMOD mais comment détecter les silences sur un spectrogramme ??? c'est possible ???


    Merci en tout cas pour cette piste

  4. #4
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par bartmanb Voir le message
    oki merci pour l'info j'suis en train de jeter un coup d'oeil, j'ai vu qu'il était très facile de récupérer le spectrogramme d'un son avec FMOD mais comment détecter les silences sur un spectrogramme ??? c'est possible ???


    Merci en tout cas pour cette piste
    Je ne suis absolument pas calé en accoustique, mais un silence, c'est quand toutes les valeurs du spectrogramme sont voisines de 0 non ?
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  5. #5
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Oui enfin le silence parfait n'existe pas, avec les bruits électroniques, bruits ambiants...
    Il faut que tu calcules la puissance de ton signal à partir du spectre. Si la puissance est en dessous d'un certain seuil, alors c'est du silence...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 89
    Points : 29
    Points
    29
    Par défaut
    Ok et encore merci pour les renseignements

    Oui enfin le silence parfait n'existe pas, avec les bruits électroniques, bruits ambiants...
    Il faut que tu calcules la puissance de ton signal à partir du spectre. Si la puissance est en dessous d'un certain seuil, alors c'est du silence...
    1°) Ok merci mais comment calculer la puissance du signal à partir du spectre à un instant donné t ????

    2°) Autre question aussi, mais d'ordre temporelle, à partir de combien de temps peut on dire qu'il y'a un silence : 25ms ????

  7. #7
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Ces questions ne concernent pas le C++ directement, mais plus la physique et le traitement du signal. Je le déplace dans le forum physique, en espèrant que tu y trouveras plus de réponses.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Je vois pas bien ce que le spectre de tout ça vient faire ici.

    Ce que tu cherche, c'est in volume sonor, et bien rien de compliqué, tu calcul la puissance du signal, e quand elle est en dessous d'un certain seuile, tu dis que c'est du silence.

    Tout ceci n'a strictement rien a voir avec la programmation. C'est du traitement du signal.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 89
    Points : 29
    Points
    29
    Par défaut
    oki merci mais alors une question bête : comment calculer la puissance du signal en utilisant une librairie telle que FMOD ???

  10. #10
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Je vois pas bien ce que le spectre de tout ça vient faire ici.
    Ce que tu cherche, c'est in volume sonor, et bien rien de compliqué, tu calcul la puissance du signal, e quand elle est en dessous d'un certain seuile, tu dis que c'est du silence.
    Hum... et tu le calcules comment le volume sonore quand tu as un signal avec une bande passante de 20 kHz ? Un signal audio c'est autre chose qu'une belle sinusoïde qui varie un peu.
    Citation Envoyé par deadalnix Voir le message
    Tout ceci n'a strictement rien a voir avec la programmation. C'est du traitement du signal.
    Tout à fait d'accord avec toi, c'est pourquoi j'apporte une méthode typique du traitement du signal...

    La densité spectrale de puissance est le carré du module de la transformée de fourier. Et le spectre, c'est la transformée de fourier...

  11. #11
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 89
    Points : 29
    Points
    29
    Par défaut
    La densité spectrale de puissance est le carré du module de la transformée de fourier. Et le spectre, c'est la transformée de fourier...
    Donc si je comprends bien (j'suis novice en traitement du signal ...) si avec une librairie telle que FMOD j'arrive à récupérer le spectre du .wav alors faudrait par la suite calculer la puissance de ce signal pour pouvoir la comparer à un seuil c'est bien celà ????

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Citation Envoyé par poukill Voir le message
    La densité spectrale de puissance est le carré du module de la transformée de fourier. Et le spectre, c'est la transformée de fourier...
    Oui, et quel est l'intérêt de savoir ou se situe la puissance dans le spectre ?

    Ou en terme musical, est-ce importent de savoir si le bruit est aigu ou grave pour savoir s'il y en as ?

    La réponse est non. S'il y a du son/signal, ça n'est donc pas le silence, et ce quelque soit la note/fréquence du son/signal.

    Au pire, s'il pense avoir du merdier en dehors de la bande de fréquence 20Hz - 20kHz, il fait un filtrage puis calcul de puissance. Ça reste en o(n) alors qu'en passant par un truc type FFT le tout sur fenêtres glissante on a un truc en n²*log(n). Et la consommation mémoire explose aussi.

    Autre question, c'est une boite qui t'embauche bartmanb ? Si oui, je me pose de grosse questions sur la gestion des « ressources humaines ».

  13. #13
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 89
    Points : 29
    Points
    29
    Par défaut
    Autre question, c'est une boite qui t'embauche bartmanb ? Si oui, je me pose de grosse questions sur la gestion des « ressources humaines ».
    Non c'est pas une boîte qui m'embauche, et alors quel est le rapport je viens ici pour m'informer auprès de personnes ayant des connaissances sur un sujet sur lequel je n'en ai pas du tout est-ce un crime ???

    Peut être c'est une question bête mais je sais pas comment on fait pour calculer la puissance d'un signal lorsqu'on a un fichier .wav, je demande pas qu'on me rabaisse mais demande juste des renseignements ...

  14. #14
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Pas la peine de prendre la FFT, il suffit de prendre la puissance du signal (équivalente à la DSP). Donc somme des carrés sur une fenêtre glissante.

    Je mettrai plus ça dans algorithmes pour débutants.

    Pas besoin d'une bibliothèque spécifique pour lire le wav, en général.

  15. #15
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    En effet, mais la discussion semblait partir du spectre, alors...

  16. #16
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par poukill Voir le message
    En effet, mais la discussion semblait partir du spectre, alors...
    Effectivement
    Mais bon, c'est un théorème bien connu qui permet de calculer la puissance dans l'un de ces espaces duals l'un de l'autre.

  17. #17
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 89
    Points : 29
    Points
    29
    Par défaut
    Désolé encore de faire le lourdingue .... mais je pourrai avoir un résumé tout bref de la DSP ??? ainsi que la façon dont on peut calculer celà pour fichier son ??? Désolé mais je n'y connais absolument rien en traitement du signal ...


    Merki encore

  18. #18
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Je répète une dernière fois, pas besoin de FFT, calcule la puissance de ton signal et c'est tout (définition de la puissance vue au lycée = somme des carrés).
    Pour la DSP, wikipedia peut t'aider. Ca serait trop compliqué de t'expliquer ici des concepts de traitement de signal stochastique, sachant que ce n'est pas l'objectif de ce forum

  19. #19
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    Question bête :
    N'est'il pas simplement possible de traiter comme n'importe quel autre fichier (text, bmp, etc...). A partir de la isoler les élément (entête, data, etc...). Et enfant traiter les datas pour en extraire ce que tu veux.
    Je pense pas qu'il y ait besoin de physique dans tout ca, je pense que tu dois savoir comment est fait un wav et interprêter les données.

  20. #20
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Je répète une dernière fois, pas besoin de FFT, calcule la puissance de ton signal et c'est tout (définition de la puissance vue au lycée = somme des carrés).
    Non, ça c'est le puissance d'un signal, mais tu es pardonné. La définition de la puissance d'un signal est a portée de clic.

    DSP = densité spectrale de puissance. Tu n'en as pas besoin ici.
    FFT = Fast fourrier transform, un algo de transformée de fourrier. Utile pour le calcul de la DSP mais tu n'en as pas besoin.

    bartmanb > je ne te rabaisse pas en disant que les ressources humaine font mal leur taff dans ta boite. il est a peu près clair que tu n'as aucune compétences en traitement du signal.

    Ceci dit, la solution a été donnée 50 fois maintenant : calcule la puissance de ton signal. Maintenant ça fait 51. Et si tu ne connais pas la formule, n'importe quel moteur de recherche pourra te la retrouver en un rien de temps.

Discussions similaires

  1. Analyse fichier wav
    Par ducatece2 dans le forum Signal
    Réponses: 1
    Dernier message: 06/01/2014, 21h31
  2. Détection de silences dans un fichier .wav
    Par picard64 dans le forum Signal
    Réponses: 7
    Dernier message: 09/06/2008, 14h10
  3. Réponses: 7
    Dernier message: 18/05/2008, 15h29
  4. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 10h43
  5. [Kylix] jouer un fichier wav avec kilyx
    Par JlouisI dans le forum EDI
    Réponses: 1
    Dernier message: 14/06/2002, 03h05

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