CLASS SOUNDSPECTRUM

gremlins7 Messages postés 380 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 28 décembre 2009 - 2 août 2008 à 11:17
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011 - 23 janv. 2009 à 11:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47475-class-soundspectrum

cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
23 janv. 2009 à 11:01
Et la source ?
lmars Messages postés 4 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 21 janvier 2009
21 janv. 2009 à 14:39
Plus de fichier source ??? disparu...
:(
cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010
13 août 2008 à 11:54
@ yod21: pas tout à fait d'accord avec ton commentaires...

le but de flashkod est de partager, et ce quel que soit son niveau de compétence,
c'est pour ça qu'il y a des sources, débutant (accessible à tous),
initié (pour les gens qui ont une bonne base en flash)
et expert (pour les autistes ... euh pour les gens qui maîtrise à fond je voulais dire...)

il est ausi intéressant pour un novice de trouver un code qui lui fait apprendre un peu plus flash
que pour un pro de trouver un élément de réponses pour un problème plus complexe...

++
sinon très bonne source des 2 côtés je ne vais pas me risquer à départager ^^
yod21 Messages postés 4 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 13 août 2008
13 août 2008 à 09:13
quoi qu'il en soit vous gerez les gars :)
mais je pense que les programmeurs de votre niveau feraient eux meme ce genre de choses,
l' objectivité serai la simplicité

étant novice, je trouve tout de meme, moins compliqué à comprendre le code de gremlins7
sans vouloir dire qui fait mieux que l autre, parceque c est un détail qui n'a aucune importance et je ne connais pas encore assez pour en juger ..

l interet d une source , enfin pour ma vision de choses, est qu elle soit accessible a un max de gens , enfin c est un des détails fondamental du partage non ?
et quand je dis accessible* , j'entends bien : compréhensible et modifiable :)

les 2 sont d'un niveau relativement avancé , mais un peu trop de fichier .as de ton coté top30 ... je me doute que c est pour une meilleur utilité mais c est pas accessible* lol

tous cas, bravo pour ces réalisations
gremlins7 Messages postés 380 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 28 décembre 2009
2 août 2008 à 15:41
CIC veut dire "Cascaded Integrator Comb".
En audio, ou plus précisément dans le traitement du signal (son, image, électricité...), un filtre sert à remanier les données pour provoquer un effet. Finalement c'est un peu comme un filtre sous Photoshop sauf que la c'est du son...Par exemple, les filtres peuvent servir pour augmenter ou diminuer les basses, les aiguës, faire des échos, de la distortion, des flangers...ou tous simplement améliorer la qualité du son (en enlevant du bruit par exemple).
Le filtre CIC sert uniquement à réduire (ou augmenter) la quantité de points du signal sans le déformer. Voici un article de 2006 sur le sujet http://toto2012.cfun.fr/cic.pdf , c'est en anglais, désolé...
La variable z correspond à un buffer de 1 case, et X(k) à un échantillon du tableau de byteArray, Y(n) un échantillon de sortie.
Au finish, bien utilisé, cet algo permet de calculer la moyenne en ne faisant qu'une ou deux additions.

Pour avoir une idée de ce qu'apporte le moyennage (oui ça ce dit comme ça et ça a rien avoir avec le roi Arthur)
voici un exemple sans moyennage : http://jeanphiblog.media-box.net/download/spectro/spectro.swf
Chez moi ça clignote a fond, on a pas le temps de voir. Ce n'est pas lié a la vitesse de l'anim, mais au fait que la signal varie trop vite. Le moyennage à pour but de réduire la vitesse de variation du signal...

Sinon, je me demandais, pour le parsing du spectre si ça ferait pas gagner du temps de travailler que sur des bytesArray et de convertir en int seulement pour l'affichage ?

Voili-voilou
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
2 août 2008 à 14:38
L'idée est de ne pas "définir" l'aspect visuel.
Mais plus de prédéfinir le parsing "computeSpectrum" afin de ne pas avoir à le reprogrammer.

Chacun pouvant dessiner sa "vue" selon les paramètres retourner par l'instance SoundSpectrum.

Eviter le ramage sur la moyenne devrait être posssible en ne stockant dans le buffer, que la quantité de "bande" utilisée et non 512 valeurs à chaque entrée.

Je devrais préparer une "version améliorée" avant mardi.
Où les bandes sseonront des instances de classe SoundSpectrumBand, et où le buffer ne stockera que les bandes désirées.. Voir si effectivement cela permettra une moyenne encore plus grand dans le temps.

Fournier/Fourier, à 3H00 hier soir cela me paraisait pareil !!! Facon je vais en faire une propriété publique puisque qu'elle n'influe que lors du parsing du byteArray.

A plus et explique moi ce qu'est un filtre CIC ...
A plus...
gremlins7 Messages postés 380 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 28 décembre 2009
2 août 2008 à 11:17
Ce n'est pas le spectre que tu affiche mais le signal électrique ! Le choix du type d'affichage n'est pas configurable, j'ai été obligé de forcer private var _fournierTransform :Boolean= true ; pour voir le spectre.
Et tu as le même problème que moi, si tu bouge un peu les paramètres de tailles du spectre (largeur, hauteur, nb de points...) ça rame a fond a cause de la moyenne...mais j'ai la solution héhé un filtre CIC, j'étais train de modifier ma source dans ce sens. Du coup je crois que je vais plutôt modifier à partir de ta source...

Toi qui cherchais un petit composant sympa à d'envelopper, serais tu intéressé pour étoffer cette source ? Le traitement du signal c'est ma spécialité...

PS: C'est une transformée de Fourier, pas de FourNier (ça fait très mal aux oreilles d'un électronicien comme moi...)
Rejoignez-nous