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

VB.NET Discussion :

Frequence d'un son a partir d'une variable


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut Frequence d'un son a partir d'une variable
    Bonjour,


    Je travaille sur un petit programme ( sans grand interet pour l'instant) dont le but est de créer une image a partir d'un son.

    J'utilise pour se faire directsound et le micro de ma webcam .Pour l'instant j'obtient une image de l'intensité sonor de mon son:


    La taille de l'image correspond a la racine de mon byte par seconde,l'image change donc toute les secondes...

    Le probleme : j'aimerais obtenir la frequence des sons que j'emet a partir de ma variable data ( variable contenant les bytes de mon buffer).
    La frequence c'est 1/t ( t etant le temp) -> en language simple c'est le temp pendant laquelle le son creer une sinusoide complete ( une en dessus et une au dessus de l'axe des abcisses). Penser vous que je doit analyser dans ma variable data le nombre " daller retour" vers le point ordonner = 0 ? 3 "aller retour" corresponderais alors a une sinusoide complete....IL y a t'il quelqu'un qui aurait deja essayer se type de calcul ?


    merci

  2. #2
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Bonjour.

    Tu devrais plutôt te pencher sur les transformées de Fourier, la version discrète pour ton problème. L'algorithme le plus répandu pour ça est la FFT (Fast Fourier Transform), dont je ne doutes pas que tu trouveras de nombreuses mises en oeuvre sur le web (il existe notamment une célèbre biblio mathématique GPL, siglée par la GNU, qui a été portée pour dotnet - je ne me rappelle plus son nom). Cherches-en notamment une pour des nombres réels uniquement, les calculs seront simplifiés et deux plus rapides.

    Le principe de cet outil mathématique de te fournir la répartition des fréquences à partir d'un signal. Concrètement, soit un ensemble de 64 échantillons, on calcule 64 coefficients complexes qui décrivent (amplitude, fréquence) un ensemble d'ondes de fréquence 2*pi*n/64. La superposition de ces ondes est une approximation asymptotique du signal d'origine.

    C'est typiquement ce qui est utilisé pour l'analyse des spectres sonores, notamment pour toutes les animations qui évoluent dynamiquement en réaction à une musique (Winamp, Media Player, etc) ou, j'imagine, la reconnaissance sonore.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut ok merci
    Merci, je vait voire pour trouver la bilbiotech dot.net et l'implanter dans mon programme , je vous tienderai au courant si sa marche... merci

Discussions similaires

  1. Réponses: 7
    Dernier message: 12/07/2006, 10h03
  2. Valeur par defaut a partir d'une variable vba ?
    Par Alpha31 dans le forum Access
    Réponses: 2
    Dernier message: 06/06/2006, 16h00
  3. Réponses: 1
    Dernier message: 02/06/2006, 21h18
  4. vérifier un fichier à partir d'une variable
    Par pharaonline dans le forum Langage
    Réponses: 5
    Dernier message: 28/05/2006, 20h51
  5. Exécuter une requête à partir d'une variable
    Par Poussy-Puce dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/03/2006, 14h15

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