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

Signal Discussion :

Filtrage d'un son wav


Sujet :

Signal

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Points : 42
    Points
    42
    Par défaut Filtrage d'un son wav
    bonjour

    S'il vous plait je créé un filtre butter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [B,A]=butter(20,0.6,'high');
    ensuite je lis un fichier .wav
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [elise,fs]=wavread('Elise.wav');
    je créé un signal Blanc
    je filtre le signal
    si j'ajoute le bruit filtré
    j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> plus
    Matrix dimensions must agree.
     
    Error in ==> sigBruite at 30
    c=y+elise;
    j'ai meme augmenté l'ordre du filtre ça ne resoud pas le problème

    s'il vous plait comment y remedier

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par patricx Voir le message
    comment y remedier
    Simplement en regardant plus précisément l'emploi des fonctions que tu utilises:
    Citation Envoyé par doc filter
    y = filter(b,a,X) filters the data in vector X with the filter described by numerator coefficient vector b and denominator coefficient vector a. If a(1) is not equal to 1, filter normalizes the filter coefficients by a(1). If a(1) equals 0, filter returns an error.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Points : 42
    Points
    42
    Par défaut
    Merci

    j'ai plus d'erreur liée au taille des matrices

    mais j'ai ces warnings

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Warning: Data clipped during write to file:musique.wav 
    > In wavwrite>PCM_Quantize at 287
      In wavwrite>write_wavedat at 309
      In wavwrite at 138
      In sigBruite at 36
    >>
    et à la fin mon son a quand meme un un arrière son

    mon code
    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
    37
    38
    %Exercice3 Signal  bruité
    function []= sigBruite()
     
    %filtre passe-haut de type Butterworth en utilisant la fonction butter
    [B,A]=butter(20,0.6,'high');
     
    %Representation de la réponse en  frequence
    [h1,w1]=freqz(B,A,512);
    plot(w1/pi,abs(h1));
     
    hold on;
     
    %filtre passe-bas de type Butterworth en utilisant la fonction butter
    [C,D]=butter(20,0.6,'low');
     
    %Representation de la   réponse en  frequence
    [h2,w2]=freqz(C,D,512);
    plot(w2/pi,abs(h2));
     
    % Lecture  du  fichier Elise.wav
    [elise,fs]=wavread('Elise.wav');
     
    %signal(bruit) Blanc de meme taille qu'elise
    sb=rand(size(elise));
     
    % Filtre du signal bruité  à  partir du  filtre passe  haut 
    y=filter(B,A,sb);
     
    %Ajout du signal  blanc filtré au  son  Elise 
    c=y+elise;
     
    % Filtre du son Elise bruité  à  partir du  filtre passe bas 
    fpbs=filter(C,D,c);
     
    %Ecriture du signal  filtré
    wavwrite(fpbs,fs-1,'musique.wav')
    %a=size(y)
    %b=size(elise)
    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. API Sound - Filtrage passe-bas d'un son Wav
    Par Anified dans le forum Multimédia
    Réponses: 0
    Dernier message: 09/03/2010, 01h06
  2. Filtrage son wav..
    Par choco97 dans le forum Signal
    Réponses: 6
    Dernier message: 25/01/2008, 20h18
  3. Créer un champ contenant un son wav dans une base Paradox
    Par Grandad95 dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/07/2004, 17h00
  4. Existe t'il un composant permettant de jouer un son wav?
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/06/2002, 14h10

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