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

Modules Perl Discussion :

Lire les données d'un fichier .wav ?


Sujet :

Modules Perl

  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut Lire les données d'un fichier .wav ?
    Bonjour,

    Je cherche à lire les données d'un fichier .wav pour controler si c'est un RIFF header, si le format est bien un format WAVE, si le format audio est bien PCM ... je suis débutante dans ce domaine et je ne sais pas comment faire ...
    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
     
    #!/usr/local/bin/perl
     
    $file=$ARGV[0];
     
     
    if (open(AUDIO, "$file")) {  
    	my $Riff;
    	my $Format;
    	my $AudioFormat;
    	my $Size;
     
    	if ($Riff='ChunkID'){
    		if ($Riff='RIFF'){
    			if ($Format='WAVE'){
    				if ($AudioFormat='PCM'){
    					print "Ce fichier correspond à ma recherche !";
    					print "Chercher à définir la taille du fichier :";
     
    				}
    			}
    		}
    	}
     
    }
     
     else {  
    		die("Cannot open $mon_fichier\n");  
    }
    Est ce qu eje susi sur la bonne voie ?

    Je cherche ensuite à déterminer la taille du fichier en heure, min, seconde ...
    Est ce que quelqu'un peut m'éclairer concernant à la méthode à suivre ?

    Merci beaucoup

    Delph

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Bonjour,

    le problème, c'est que tu ouvres ton fichier .wav comme s'il s'agissait d'un fichier texte alors qu'à mon avis, c'est en mode binaire qu'il te faudrait l'ouvrir.

    Ensuite, tes variables $Riff, $Format, $AudioFormat et $Size ne se voient affecter aucune valeur. Tout test effectué ensuite sur la valeur que contiennent ces variables ne peut donc aboutir.

    Sinon, cette syntaxe là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (open(AUDIO, "$file")) {  
     ... ...
    } else {  
        die("Cannot open $mon_fichier\n");  
    }
    est bonne mais pas très usuelle en Perl. Tu peux tout simplement faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    open(AUDIO, "$file") or die("Cannot open $file\n");
    ... ...
    Sinon, en recherchant brièvement sur le net, j'ai trouvé ceci qui pourrait peut être t'aider : http://tomacorp.com/perl/wav/Freqext.html

    Un petit exemple tiré du site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/usr/bin/perl
     
    use strict;
    use Freqext;
    $|++;
     
    my $datadir= "/home/toma/perl/examples/wav/data";
    my $datafile= "engine2.wav";
     
    my $filename= "$datadir/$datafile";
    print "Extracting file $filename\n";
     
    Freqext::trackz($filename, 10, "$datadir/eng2freq.txt");

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut
    Merci :-)) ça m'a bien aidé :-))

Discussions similaires

  1. lire les données d'un fichier text dans un vecteur
    Par kruskal21 dans le forum MATLAB
    Réponses: 5
    Dernier message: 11/01/2011, 17h52
  2. Réponses: 2
    Dernier message: 20/03/2008, 09h38
  3. Lire les données d'un fichier
    Par bafade dans le forum MATLAB
    Réponses: 2
    Dernier message: 02/10/2007, 15h07
  4. [EXCEL] Lire les données d'un fichier multi-feuilles
    Par FeydRautha dans le forum WinDev
    Réponses: 4
    Dernier message: 28/05/2007, 13h32
  5. Réponses: 3
    Dernier message: 31/01/2007, 17h46

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