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

Traitement du signal Discussion :

[Signal] FFT audio : comment ca marche ?


Sujet :

Traitement du signal

  1. #61
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    en bon vieu C, des tonnes de gens on déjà fait ça.

    je ne peu malheureusement pas te communiquer le module fft en c utilisé par l'entreprise où je travaillait.
    ce module est d'une precision redoutable, codé par un ingénieur doctorant.
    utilisé pour des applications de securité sur les voies ferrées. prevu pour durer et être infaillible.

    precision vraiment impressionante, mesure de frequences espacées de quelques Hertz. 1600 Hz par exemple, cette frequence est mesurée dans un nuage de frequences. et malgres la presence de 1601 Hz, la rejection est precise. impressionant.

  2. #62
    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
    Au niveau du vu-mètre, il ya des normes précises, regarde chez Bob Katz ce qu'il fait.

    Pour le nombre d'échantillons à prendre, il faut d'abord filtrer le signal mis au carré et ensuite le moyenné, mais toutes ces infos sont données dans le Bob Katz.

    edfred > si tu as une fréquence d'échantillonage suffisante, c'est très facile à faire. Si tu ne l'as pas, c'est impossible.

  3. #63
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par lauxley Voir le message
    Sinon p_effect->i_nb_chans me donne le nombre de channels (donc mono ou stereo).
    Avant d'utiliser des optimisations de code, essaye un truc plus simple:

    Code C : 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
     
    /* float (input) buffer */
    float *p_float_buff = (float*)p_buffer->p_buffer;
     
    /* Number of elements in input buffer */
    int nmb_of_elements = p_buffer->i_nb_samples * p_effect->i_nb_chans;
     
    /* int16_t (output) buffer */
    int16_t  *p_s16_buff = (int16_t*)malloc( nmb_of_elements * sizeof(int16_t));
     
    /* pointer on each buffer */
    float   *p_in  = p_float_buff;
    int16_t *p_out = p_s16_buff;
     
    int i;
    for (i = nmb_of_elements; i--; )
    {
        /* convert float in range [-1,1] to int16 in range[-32768,32767] */ 
        if ( *p_in >= 1.0 )
          *p_out = 32767;
        else if ( *p_in < -1.0 )
          *p_out = -32768;
        else
          *p_out = *p_in * 32768.0;
     
        p_in++; p_out++;
    }

  4. #64
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Merci pour ta réponse Matthieu Brucher,

    Mais je me vois mal acheter et me tapper un gros bouquin technique juste pour ajouter une fonction dans un module :o
    D'autant que la mon vumeter à une bonne tête, il a l'air de bien réagir au son, mais je voulais être sur qu'il n'y ai pas trop d'imprécisions..

  5. #65
    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 lauxley Voir le message
    Mais je me vois mal acheter et me tapper un gros bouquin technique juste pour ajouter une fonction dans un module :o
    D'autant que la mon vumeter à une bonne tête, il a l'air de bien réagir au son, mais je voulais être sur qu'il n'y ai pas trop d'imprécisions..
    Ce n'est pas un bouquin technique, c'est un bouquin sur l'audio (pas une ligne de code), sur comment les ingénieurs du son travaillent sur un mastering et sur les outils qu'ils utilisent.
    Si tu fais un Vu-mètre mais si tu ne respectes pas une des normes associées, il ne sera jamais utilisé, parce qu'imprécis sur ce qu'un ingé son recherche.

  6. #66
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Merci pseudocode,
    Mais visuelement le résultat à l'air moins précis que quand j'utilise directement les float oO
    (en faite j'ai des tas de valeurs négative après la mise au carré Oo)
    (je dois avoir chié les casts, je cherche encore un peu )

    Si tu fais un Vu-mètre mais si tu ne respectes pas une des normes associées, il ne sera jamais utilisé, parce qu'imprécis sur ce qu'un ingé son recherche.
    heureusement, je ne fais pas ça pour un ingénieur du son, mais juste pour monitorer plusieurs écrans, et le son qui leur est associé
    bien sur j'aimerais que le vumeter soit le plus précis possible, mais je ne peux malheureusement trop investir la dedans (en temps entre autre).
    C'est pourquoi je vous suis trés reconnaissant pour le temps que vous avez passés sur ce pb.

    Edit1:
    Bon effectivement,
    je faisais les calculs intermédiaires avec des int16, qui ne pouvaient contenir les int16^2.
    au final la puissance devrait être contenue entre 0 et 32768 non ?

    Edit2:
    Bon ben j'ai essayé avec un fichier saturé et tout marche du tonnerre,
    merci à tous pour votre aide, en particulier pseudocode !
    Je sais pas si le thread peut être mis à résolu, vu que ma question diffère de la question originale..

  7. #67
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Bonjour,

    Je suis intéressé par la librairie FFTReal v2.00 mais le site ne semble plus fonctionner : http://ldesoras.free.fr/src/FFTReal-2.00.zip

    Avez-vous ce fichier et pouvez-vous me le mettre à disposition ?

    Merci par avance,
    ZiP

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. [Audio] JAVA SOUND comment ca marche?
    Par billynirvana dans le forum Multimédia
    Réponses: 3
    Dernier message: 04/11/2008, 13h03
  2. FFT IJ.plugin.FFTMath Comment ça marche ?
    Par philippe13 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 20/06/2007, 19h11
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

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