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 :

Lecture d'un fichier wav


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut Lecture d'un fichier wav
    Salut tout le monde.

    Dans le but de faire un programme qui fait la reconnaissance du locuteur, le premier pas à suivre est l'éxtraction des données à partir d'un fichier wav ( contient un signal de parole) pour les traiter plus tard.

    mon probleme est que la programme C que je l'ai créé pour ouvrir le fichier wav n'ouvre pas ce dernier. i.e la console affiche toujour ( Erreur d'ouverture de fichier). J'arrive pas à trouver pourquoi il ne peut pas l'ouvrir, où se situ l'erreur de programmation. j'ai besoin de votre aide, c'est un petit programme et j'ai des difficultées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #include <stdio.h> 
    #include <malloc.h> 
     
     
     
    int GetFileSize (const char *_pszFilename) 
    { 
    FILE *pFichier= NULL; 
    int iFileSize=0; 
     
    pFichier = fopen (_pszFilename, "rb"); 
    if (pFichier == NULL) 
    { 
    printf ("Erreur d'ouverture de %s en lecture \n", _pszFilename); 
    return 0; 
    } 
     
    fseek (pFichier, 0, SEEK_END); 
    iFileSize = ftell (pFichier)- 44; 
    fseek (pFichier, 0, SEEK_SET); 
    fclose (pFichier); 
    return iFileSize; 
    } 
     
    int main (void) 
    { 
    //FILE *pFichier= NULL; 
    char *pszFichier = "ouvre.wav";  
    int iFileSize=0; 
    iFileSize= GetFileSize (pszFichier); 
    printf ("taille de fichier: %s\n", iFileSize); 
     
    system("PAUSE");      
    return 0; 
    }

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Essaye déjà en donnant le chemin d'accès complet au fichier, il se peut que le "current directory" de l'application ne soit pas celui que tu penses.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Essaye déjà en donnant le chemin d'accès complet au fichier, il se peut que le "current directory" de l'application ne soit pas celui que tu penses.
    Merci Trap D;
    J'ai déja essayé de remplacer le nom de fichier par son emplacement, mais rien à changer !

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Bizarre ton problème. Ca marche très bien chez moi.

    Par contre, il faut remplacer le %s par un %d dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf ("taille de fichier: %d\n", iFileSize);
    sinon le programme crashe.

    Ton wav est dans quel repertoire ? Le repertoire du projet ou celui de Debug/Release ?
    Je ne sais pas quel IDE tu utilises, mais j'utilises Code::Blocks et il cherche le wav dans le repertoire du projet.

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Citation Envoyé par jeroman Voir le message
    Bizarre ton problème. Ca marche très bien chez moi.

    Par contre, il faut remplacer le %s par un %d dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf ("taille de fichier: %d\n", iFileSize);
    sinon le programme crashe.

    Ton wav est dans quel repertoire ? Le repertoire du projet ou celui de Debug/Release ?
    Je ne sais pas quel IDE tu utilises, mais j'utilises Code::Blocks et il cherche le wav dans le repertoire du projet.
    Merci jeroman;
    le fichier est dans le repetoire du projet
    tu peux me passer le wav que tu l'a utilisé, svp?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    J'ai simplement créé un fichier wav bidon (un fichier texte renommé). La fonction 'fopen' ne cherche de toute façon pas à savoir si l'extension du fichier correspond à son contenu. Tant que le fichier s'appelle "ouvre.wav", c'est bon.
    Donc, si tu obtiens un problème d'ouverture de fichier, c'est que l'executable ne le trouve pas ou que quelque chose l'en empêche.

    Edit:
    On va faire un test. Mets ton code source entre
    et Puis rajoute juste après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <stdio.h>
     
    int main(void)
    {
        FILE* fichier;
        fichier=fopen("bidule.txt","wb");
        if (fichier!=NULL)
        {
            printf("Creation fichier reussie");
            fputc('.',fichier);
            fclose(fichier);
        } else printf("Erreur creation fichier");
        printf("\n");
     
        fichier=fopen("bidule.txt","rb");
        if (fichier!=NULL)
        {
            printf("Ouverture fichier reussie");
            fclose(fichier);
        } else printf("Echec ouverture fichier");
     
        getchar();
        return 0;
    }
    Est-ce que l'ouverture du fichier en écriture puis en lecture se passe bien ? Est-ce que fichier a été écrit dans le répertoire du projet ?

  7. #7
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Salut tt le monde
    Quelqu'un peut m'expliquer comment j'applique fenetrage Hamming sur les données extraire du fichier wav?
    j'ai besoin d'aide
    merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] lecture d'un fichier .wav
    Par Maha Ing dans le forum MATLAB
    Réponses: 4
    Dernier message: 16/05/2014, 17h05
  2. Lecture d'un fichier .wav octet par octet
    Par DevVB dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/07/2007, 12h10
  3. Lecture fichier wav sans librairie
    Par websurfeur dans le forum C
    Réponses: 3
    Dernier message: 12/09/2006, 10h51
  4. Lecture Fichier WAV
    Par psiyg69 dans le forum C
    Réponses: 4
    Dernier message: 03/05/2006, 10h34
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 09h43

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