Afficher le waveform d'un wav

Soyez le premier à donner votre avis sur cette source.

Vue 7 400 fois - Téléchargée 858 fois

Description

Code adapté de planet-source-code, commentaires traduis.
Je l'ai modifié pour pouvoir l'utiliser dans mon projet de logiciel musical

Source / Exemple :


Voir zip

Conclusion :


Pas besoin de commentaires.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3
Date d'inscription
lundi 30 août 2004
Statut
Membre
Dernière intervention
27 octobre 2004

C'est très bien fait ! bravo ! En plus ça vas me servir pour mon TPE :-)
Messages postés
109
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
23 octobre 2007

Je me suis servit de ton code pour afficher les infos sur les wavs (format, fréquences ...)
C'est sympa [:)] !!
Messages postés
248
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
19 décembre 2008

Analyseur de spectre tadiiin :

Function FDT(ElCnt, ByRef ls(), Sortie() As Double, Harmonique As Long) As Long
'tranformé discrete de Fourier
'code issue d'un cours d'algo, retranscrit et intégré pour VB par Proger
'même s'il sais pas trop a quoi correspond ce truc
'Parametre :
'ElCnt = longueur de Ls() - on aurai pu le faire avec UBound, mais bon...
'Ls() : tableau des valeurs a analyser
'Sortie() : pointe vers un tableau qui contiendra le résultat de l'analyse
'Harmonique : indiquez ici une valeur d'harmonique (entre 1 et 48 c'est bien), ca sera egal a la longueur de Sortie()

'plus l'harmonique est élevé, plus il y a de ... je sais pas.
Dim nCos() As Double
Dim nSin() As Double
Dim Harmonique As Integer
Dim Fondamentale As Double 'est inutilisé, je sais pas pourquoi
maxech = ElCnt 'longueur d'échantillon a traité
ReDim nCos(maxech) As Double
ReDim nSin(maxech) As Double
ech = ElCnt 'longueur totale de l'echantillon reçu
If Harmonique 0 Then Harmonique 1
PI = 3.1415926535893
For i = 1 To maxech
Fondamentale = Fondamentale + ls(i)
Next i
Fondamentale = Fondamentale / maxech
For i = 1 To Harmonique
For j = 1 To maxech
nCos(j) = nCos(j) + ls(j) * Cos(i * (ech / (maxech * 2 * PI)))
nSin(j) = nSin(j) + ls(j) * Sin(i * (ech / (maxech * 2 * PI)))
Next j
nCos(i) = 2 * nCos(i) / ech
nSin(i) = 2 * nSin(i) / ech
Next i
Fondamentale = Fondamentale * Fondamentale
ReDim Sortie(Harmonique) As Double
For i = 1 To Harmonique 'truc de Parceval
Sortie(i) = nCos(i) * nCos(i) + nSin(i) * nSin(i)
Next i
FDT = Harmonique 'oui bon ça, ça sert a rien :)
End Function

J'ai fait marcher ce code devant qqun qui m'a dit que "c'est ça, c'est bon, tu as le trucmuche de Fourier de ton signal" , mais moi j'ai rien compris, alors inutile de me demander de l'aide...
Messages postés
149
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
5 février 2006

bientot, il lira le fichier, patience... j'aurai peut-etre besoin d'aide ! je compte utiliser DirectX (comme ca par apres on pourra lire plusieurs fichiers en même temps) mais alors ca suit pas les Bytes au fur et à mesure, ca lit comme ça "paf" d'une traite... et donc pas moyen defaire une ligne qui suit l'avancement de la lecture... sauf évidemment si qqu'un sait comment on fait ! AIDEZ MOI PLZZ !
Messages postés
102
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
9 septembre 2003

c'est super mais dommage qui ne lit pas tout les fichier
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.