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 :

Energie d'un signal audio


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut Energie d'un signal audio
    Bonjour,

    Je dois lire un fichier wav et calculer l'énergie du signal acoustic durant différentes fenêtres temporelles. Je dispose déjà du code sur Matlab, j'aimerais le transcrire en c++.

    Sur Matlab, après avoir lu le fichier, j'utilisais une fonction "melcepst.m" de la librairie mlab dont le premier coefficient renvoyé par la fonction est l'énergie du signal.

    J'ai télécharger la libraire FMOD mais il ne me semble pas qu'elle soit adapter à ce genre de traitement. Pourriez vous m'aiguiller sur une quelconque librairie qui me permettrait de lire un fichier wav et d'en faire une analyse temporelle de l'énergie?

    Merci d'avance!

  2. #2
    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
    Un fichier wav, c'est très simple. Un petit en-tête qui donne le type des données, le nombre de canaux, ... puis un gros tableau avec les données. Donc avec des entrées/sorties classiques du C++, tu peux lire un fichier wav.

    Ensuite, pour ce que tu cherches à faire en pratique, l'énergie du signal, c'est le carré des échantillons par unité de temps, que des choses très faciles à calculer

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    J'ai oublié de spécifier que mon fichier wav est compressé avec le codec audio MPEG layer 3. Ainsi je ne peux pas récupérer directement les valeurs...

    comment décompresser le signal directement en c++ sans passer par d'autres logiciels genre virtualDub?

  4. #4
    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
    MP3 est un format propriétaire.... Ogg aurait été beaucoup mieux.
    T'as pas moyen de travailler sur un autre format que MP3 ?

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Citation Envoyé par pasqual Voir le message
    J'ai oublié de spécifier que mon fichier wav est compressé avec le codec audio MPEG layer 3.
    Ben dans ce cas, ce n'est pas un wav, c'est un MP3!
    N'appelons pas un chat un "chien mais en différent"...

    Et comme dit plus haut, c'est un format propriétaire, donc pour trouver un décodeur libre, ce n'est pas si évident.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    Bon je vais essayer de décompresser dans un autre format avec virtualDub et ensuite de l'ouvrir comme un fichier normal

  7. #7
    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 pasqual Voir le message
    J'ai oublié de spécifier que mon fichier wav est compressé avec le codec audio MPEG layer 3. Ainsi je ne peux pas récupérer directement les valeurs...
    Alors ce n'est pas un fichier wav. wav, c'est unf ormat de fichier sans compression et c'est tout. Ce que tu as, c'est un fichier audio. Si tu veux une aide adéquate, utilise les bons termes.

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Alors ce n'est pas un fichier wav. wav, c'est unf ormat de fichier sans compression et c'est tout. Ce que tu as, c'est un fichier audio. Si tu veux une aide adéquate, utilise les bons termes.
    Non non, le format WAV est un conteneur capable de contenir de l'audio compressé dans divers formats tels que MP3, WMA, ...

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Euuuh ???
    Je croyais que c'était juste des échantillons à la suite avec simplement un en-tête disant leur taille et combien il y en a par seconde...

    Edit: D'après wotsit.org, j'ai tord...

  10. #10
    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
    Effectivement, il semblerait que ce soit un conteneur. Mais la norme informelle est tout de même qu'un .wav soit un non compressé, qu'un .mp3 soit compressé en mp3, un .mpc en MPC, ...

Discussions similaires

  1. [Signal] [Audio] Un vibrato magique
    Par henderson dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 20/11/2006, 15h00
  2. Amplifier un signal audio
    Par flammeon dans le forum C++
    Réponses: 13
    Dernier message: 25/09/2006, 16h27
  3. Récuperer le signal audio d'un fichier .wav
    Par vienin dans le forum Multimédia
    Réponses: 2
    Dernier message: 11/10/2005, 16h25
  4. [TMS320C6416] FFT et IFFT sur un signal audio...
    Par 0x4e84 dans le forum Autres architectures
    Réponses: 1
    Dernier message: 18/04/2005, 20h21
  5. Réponses: 2
    Dernier message: 08/11/2004, 22h31

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