Fmod et les fréquences dans le spectre. Comment savoir quelle fréquence correspo

cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007 - 28 juin 2004 à 21:21
fxmaccobra Messages postés 3 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 28 février 2006 - 28 févr. 2006 à 20:46
Hello all

Vous connaissez peut etre la librairie sonnore Fmod, qui permet de lire des fichiers son mais aussi de pouvoir créer un spectre à partir des données que ses API peuvent renvoyer concernant l'intensité d'une certaine fréquence d'un son.
J'ai la fonction suivante récupérée sur le site pour récuperer les données pour créer le spectre :

Public Function GetSpectrum(ByRef sngSpectrum() As Single)
' Déclaration des variables.
Dim lngOfVals As Long
Dim lngSpectrum As Long

If UBound(sngSpectrum) > 511 Then
lngOfVals = 512
Else
lngOfVals = UBound(sngSpectrum) + 1
End If

lngSpectrum = FSOUND_DSP_GetSpectrum
Call CopyMemory(sngSpectrum(0), ByVal lngSpectrum, lngOfVals * 4)

End Function

J'ai donc un tableau de variables de 512 entrées, concernant l'intensité d'une certaine fréquence. Le probleme, c'est que je ne sais pas qu'elle fréquence correspond à quelle entrée (exemple sngSpectrum(33))
Auriez vous des infos à ce sujet ?

@Z3RtY25 ==
A voir également:

4 réponses

jeremzw Messages postés 1 Date d'inscription mardi 10 août 2004 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 12:31
Je cherche exactement la même chose que toi, hélas !

Haut les coeurs !
0
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
9 juil. 2005 à 21:53
Vu qu'en un an personne à trouvé la réponse, on est mal barré lol !!!

@Z3RtY25 ==
0
fxmaccobra Messages postés 3 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 28 février 2006
28 févr. 2006 à 19:11
Cela dépend de la fréquence d'échantillonnage que vous avez choisi. Si
vous travaillez à 44100Hz, FSOUND_DSP_GetSpectrum divise l'intervalle
0-44khz en 512 parties. Aussi la fréquence à laquelle correspond par
exemple sngSpectrum(33) est la fréquence:

(Fechantillonnage/512)*33 soit si vous travaillez à 44100Hz 44100/512*33 ~2842.4 Hz.



C'est du moins ce que j'ai compris en regardant le code source de fmodsample pour l'affichage du spectre.
0
fxmaccobra Messages postés 3 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 28 février 2006
28 févr. 2006 à 20:46
Je vais un erratum sur ma réponse: Ce n'est pas par rapport à la
fréquence d'échantillonnage mais à la fréquence de coupure. Donc pas
par rapport à 44100Hz mais à 22050Hz. Dans ces conditions
sngSpectrum(33) correspond à 22050/512 * 33 ~ 1431.2Hz
0