GESTION DU SON AVEC DELPHI : RECHERCHE D'UN FILTRE DE FREQUENCE
jamy02
Messages postés7Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention11 juin 2005
-
10 juin 2005 à 23:19
jamy02
Messages postés7Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention11 juin 2005
-
11 juin 2005 à 23:42
Merci à KENAVO qui m'a donné l'adresse d'un composant WaveIn qui m'a permis de gérer unnWave
dans Delphi.
En creusant au niveau du composant j'ai utilisé la propriété Peak qui est interessante.
Mais existe t-il un composant qui réalise un filtre passe bas sur un échantillon de signal ?
Cordialement
A voir également:
GESTION DU SON AVEC DELPHI : RECHERCHE D'UN FILTRE DE FREQUENCE
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 20095 11 juin 2005 à 12:50
Salut,
J'ai repensé à ton problème, et en réfichissant un peu (car ce n'est
pas pour me vanter, mais il m'arrive de réfléchir un peu), je crois que
les pistes que je te donnais ne sont pas adaptées.
Le filtres numériques (et le traitement numérique du signal en général)
forment un domaine plutôt complexe des mathématiques (et mes souvenirs
sur les transformées en Z et la transmormée de Fourrier discrète sont
trop loin pour que je te donne des pistes sérieuses)
Un filtre passe-bas du premier ordre est facilement codé par Out = (n * Out-1 + In) / (n+1) , In étant l'échantillon du signal d'entrée, Out-1 étant le résultat du calcule avec l'échantillon précédent In-1
Dans ton cas , il y a un fossé entre la fréquence que tu cherche
(quelques hetz max) et celles qu'on peut observer dasn notre buffer (en
gros spectre audio)
Mais, il y a peut être une autre méthode pour arriver à ton résultat :
tu règles le TWaveIn avec un buffer assez court, et tu construit un
tableau des moyennes (TWaveIn.Level) des buffers obtenus
(WaveIn1BufferFull). En fait tu crées un tableau qui contient les
valeurs du vu-mètre, si le BPM que tu cherches est "visible" dans le
vu_mètre, tu dois pouvoir le retrouver dans le tableau. Pour que ce
soit assez aisé, cela suppose tout de même d'avoir un temps marqué
assez ... lourd !
jamy02
Messages postés7Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention11 juin 2005 11 juin 2005 à 23:42
Bonsoir,
Oui ,j'avais déjà réalisé un bout de programme pour cela mais avec le level, un
boom de batterie peut se confondre avec un peak de guitare électrique.C'est
pour cela qu'il faut filtrer et booster entr' 60 et 90 Hz dans mon cas.
Je suis en train de travailler sur un composant que j'ai trouvé pour l'adapter.
Pas facile il s'agit de dspIIRFilter surhttp://www.teworks.com/ .
Avec ce composant, on peut par exemple analyser en temps réel un signal
avec un peu plus de 4 millions de samples / s.
Essayé sur ma machine et réglé en lowpass et filtre de butterworth de 2nd ordre.
A plus