Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2012-03-23 01:50:29 Analyse des fréquences du flux audio en temps réel

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Analyse des fréquences du flux audio en temps réel



Bonjour à tous,

Je débute en PureData et j'ai pour projet de faire un synthétiseur de glitch. Pour le moment j'arrive à synthétiser des sons, faire mumuse avec et renvoyer des valeurs à Processing via oscp5, cependant, j'aimerais pouvoir analyser les fréquences audio du son passant par ma carte son en temps réel, afin de les récupérer dans Processing et d'animer mon sketch en fonction.

Mon but est de récupérer 5 plages de fréquences (par ex : 50-100hz, 100-300hz, 300-3000hz, 3000-9000hz, 9000-12000hz) ainsi que leur intensité sonore.

J'ai regardé du côté de fiddle~ et sigmund~ mais je n'arrive pas à faire fonctionner le tout...

Pour l'instant j'ai réalisé le simple patch ci-dessous

http://codelab.fr/up/Capture-d-ecran-2012-03-23-a-01.38.39.png

Merci à tous pour votre aide et à bientôt !

Hors ligne

 

#2 2012-03-23 02:10:09 Re : Analyse des fréquences du flux audio en temps réel

philippe boisnard
membre
Date d'inscription: 2008-09-23
Messages: 478

Re: Analyse des fréquences du flux audio en temps réel



pour m apart j'utilise [fiddle~] / regarde l'aide, à partir du unpack des fréquences tu peux facilement les distinguer . il est tard dodo.... :-)

Hors ligne

 

#3 2012-03-23 02:17:50 Re : Analyse des fréquences du flux audio en temps réel

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Re: Analyse des fréquences du flux audio en temps réel



Merci pour ta réponse rapide ! Je suis en train de potasser le patch d'help de fiddle, par contre j'ai l'impression que les résultats sont assez aléatoires, enfin je les exploites pas correctement je pense, quand j'ai un la 440hz j'ai bien mon 440hz qui s'affiche dans ma boite, par contre quand je descends dans les basses fréquences j'ai du 0 partout !

Bonne nuit :p

Petit edit du matin :

Maintenant j'arrive à obtenir 3 "partielles" (d'après ce que j'ai pu comprendre) donc en gros c'est 3 fréquences que je ne sais pas trop comment utiliser, par exemple j'arrive à repérer quand je suis à 220hz ou 440hz donc deux "la" aux octaves contiguës, cependant ces fréquences "changent de boîte" suivant la hauteur....

http://codelab.fr/up/Capture-d-ecran-2012-03-23-a-09.52.23.png

Désolé si je ne suis pas très clair, mais je ne suis pas encore un champion de PureData !

Dernière modification par Taahl (2012-03-23 10:05:21)

Hors ligne

 

#4 2012-03-24 12:45:39 Re : Analyse des fréquences du flux audio en temps réel

dwan
membre
Date d'inscription: 2011-01-24
Messages: 307

Re: Analyse des fréquences du flux audio en temps réel



J'irai au plus simple : le son va dans un filtre passe-bande, et tu récupères l'intensité sonore de ce qui sort du filtre  avec [env~].

Hors ligne

 

#5 2012-03-26 12:55:23 Re : Analyse des fréquences du flux audio en temps réel

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Re: Analyse des fréquences du flux audio en temps réel



J'ai déjà essayé cette solution avec un [lop~ 200] en le câblant à un [env~] mais ça ne fonctionne pas, en effet, quelque soit la note (grave ou aigue) j'ai toujours en 90 en sortie, ce qui n'est pas logique...

Hors ligne

 

#6 2012-03-26 14:51:18 Re : Analyse des fréquences du flux audio en temps réel

dwan
membre
Date d'inscription: 2011-01-24
Messages: 307

Re: Analyse des fréquences du flux audio en temps réel



Plutôt bizarre... Essaie avec [bp~], l'exemple joint marche bien. J'ai cascadé deux filtres pour avoir une réponse plus pentue.

Hors ligne

 

#7 2012-03-26 17:44:16 Re : Analyse des fréquences du flux audio en temps réel

pascsaq
membre
Date d'inscription: 2008-03-24
Messages: 15

Re: Analyse des fréquences du flux audio en temps réel



Et [bonk~ ] ???

Hors ligne

 

#8 2012-03-26 18:47:49 Re : Analyse des fréquences du flux audio en temps réel

benjamin
membre
Lieu: Orléans
Date d'inscription: 2008-03-18
Messages: 168
Site web

Re: Analyse des fréquences du flux audio en temps réel



Je vote aussi pour [bonk~]
sinon pour l'analyse des basses fréquences, il faut augmenter la taille du block audio car par défaut Pd "écoute" des petits blocks audio (64 samples par défaut je crois), ce qui fait que la grande longueur d'onde des basses fréquences est coupée en plusieurs blocks, fiddle~ ou d'autres objets ne peut l'entendre
à tester avec un [block~ 512] ou 1024 dans un sous patch
++b

Dernière modification par benjamin (2012-03-26 18:48:11)

Hors ligne

 

#9 2012-03-26 19:09:17 Re : Analyse des fréquences du flux audio en temps réel

Berenger
membre
Lieu: Nantes
Date d'inscription: 2010-06-02
Messages: 190
Site web

Re: Analyse des fréquences du flux audio en temps réel



Sinon un external pour faire du pitch tracking, avec un page d'aide détaillée

http://www.katjaas.nl/helmholtz/helmholtz.html

il y a des binaries pour 32bits sous OSX, linux et windows. Je n'ai pas encore testé, mais ça mérite peut être un coup d'oeil.

Hors ligne

 

#10 2012-03-26 22:28:45 Re : Analyse des fréquences du flux audio en temps réel

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Re: Analyse des fréquences du flux audio en temps réel



Merci à tous pour vos réponses, je test cela et vous reviens très prochainement pour partager la manière avec laquelle j'ai réussi à obtenir les meilleurs résultats !

Edit :

Merci dwan pour le patch et pour l'astuce de cascade des filtres, ça fonctionne à merveille, j'ai pu adapter le filtrage des basses fréquences en réglant le block à 1024 (merci Benjamin !) en passant mon signal dans un lop~ et dans un env~ ce qui me renvoie une valeur entre 80 et 90, je divise le tout par 8 et connecte un slider (bottom : 8 et top : 10) en sortie, ce qui me donne bien le résultat escompté !

Berenger l'external à l'air pas mal, ça pourra toujours servir pour une utilisation future !!

Dernière modification par Taahl (2012-03-27 14:10:52)

Hors ligne

 

#11 2012-03-28 13:16:03 Re : Analyse des fréquences du flux audio en temps réel

philippe boisnard
membre
Date d'inscription: 2008-09-23
Messages: 478

Re: Analyse des fréquences du flux audio en temps réel



voilà un filtre

en abstrct tu mets l'écart de fréquences en argument de l'absract filtre $1 valeur basse, $2 valeur haute
et hop
c'st fait tu filtres ta fréquence.

Dernière modification par philippe boisnard (2012-03-28 13:34:14)

Hors ligne

 

#12 2012-03-28 14:21:57 Re : Analyse des fréquences du flux audio en temps réel

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Re: Analyse des fréquences du flux audio en temps réel



Merci pour cet exemple, si je comprends bien, le filtre opère entre 200 et 300hz (dans l'exemple) et en gros en sortie j'ai la fréquence sonore actuelle de mon signal ? J'étais parvenu à un résultat similaire avec fiddle~ mais au final pour exploiter les données je voulais connaître l'amplitude en dB de mon signal à une certaine fréquence donnée... car la fréquence de mon signal, vu que je le génère moi-même, a priori elle est déjà connue ?

(Désolé d'insister, mais je ne comprends pas encore très bien)

Hors ligne

 

#13 2012-03-28 15:41:39 Re : Analyse des fréquences du flux audio en temps réel

dwan
membre
Date d'inscription: 2011-01-24
Messages: 307

Re: Analyse des fréquences du flux audio en temps réel



Je pense qu'il y a méprise multiple sur ta demande qui est, je le rappelle :

"j'aimerais pouvoir analyser les fréquences audio du son passant par ma carte son en temps réel, afin de les récupérer dans Processing et d'animer mon sketch en fonction.
Mon but est de récupérer 5 plages de fréquences (par ex : 50-100hz, 100-300hz, 300-3000hz, 3000-9000hz, 9000-12000hz) ainsi que leur intensité sonore."

Pour moi, ça veut simplement dire que tu veux connaître en temps réel le volume dans différentes bandes de fréquences. Pour ça, tu filtres la bande de fréquences qui t'intéresse avec lop~ hip~ ou bp~ ou bien d'autres encore, et tu mesures la pression acoustique avec env~. Truc de DJ : beaucoup de basses => spots rouges au taquet ; pas de basses => spots rouges éteints.

Je connais (très) mal bonk~, mais il semble qu'il soit fait pour te donner le contenu harmonique d'un son dont l'amplitude dépasse une amplitude donnée. Il peut a priori servir à reconnaître des instruments dans un flot sonore. Je ne sais pas s'il est possible de l'utiliser de telle manière qu'il puisse analyser le son en continu.

fiddle~ ou helmhotz~ (qui déchire, d'ailleurs) sont une toute autre sorte de bête, ils servent à te donner la fréquence dominante (approximative) et quelques harmoniques (pour fiddle~) du son que tu envoies dedans, sans condition de volume sonore. Je siffle une note au pif => helmholtz~ me dit "on dirait du 613Hz".

En ce qui me concerne, toutes les solutions à ton problème à base de bonk~, ou pire, fiddle~ (et assimilés) reviennent à sortir le char d'assaut pour aller chercher des carottes dans le jardin : beaucoup d'énergie dépensée pour atteindre un but simple. Tu veux connaître l'intensité du spectre sonore aux alentours d'un fréquence précise ? Dégage les fréquences qui ne t'intéressent pas et mesure ce qu'il reste.

Bien entendu, cela ne t'empêche pas de t'intéresser aux autres objets qui ont été cités smile

Dernière modification par dwan (2012-03-28 15:42:35)

Hors ligne

 

#14 2012-03-28 15:49:13 Re : Analyse des fréquences du flux audio en temps réel

philippe boisnard
membre
Date d'inscription: 2008-09-23
Messages: 478

Re: Analyse des fréquences du flux audio en temps réel



arf oui j'avais pas compris,
oui s'il s'agit de seulement le volume d'une fréquence, en effet la solution est celle que dwan amorce

Hors ligne

 

#15 2012-03-28 15:55:28 Re : Analyse des fréquences du flux audio en temps réel

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Analyse des fréquences du flux audio en temps réel



Le mieux  c'est une analyse fft!!!

à lire http://www.pd-tutorial.com/english/ch03s08.html


La route est longue mais la voie est libre

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024