Ceci est une continuation de cette question here.Reconnaissance des notes dans le son enregistré - Partie 2 - Python
Ce code je pour obtenir les échantillons:
spf = wave.open(speech,'r')
sound_info = spf.readframes(-1)
sound_info = fromstring(sound_info, 'Int16')
La longueur de sound_info est 194560, qui est 4,4 fois le taux d'échantillonnage de 44100. La longueur du fichier son est 2,2 secondes, donc sound_info n'est pas deux fois la longueur qu'il devrait être?
Aussi, je ne peux trouver que l'information suffisante sur pourquoi FFT sont utilisés afin de produire le spectre de fréquence. Je souhaite diviser un son et analyser le spectre de fréquence de plusieurs fractions de seconde, plutôt que le fichier son entier.
Aide serait très appréciée. :)
Voici le graphique de base sound_info
plot(sound_info)
Voici le graphique FFT
freq = [abs(x.real) for x in fft(sound_info)]
plot(freq)
'n'est pas sound_info deux fois la longueur qu'il devrait être?': Stéréo? – bobince
merci pour ce bobince, mais alors comment interpréter sound_info? Parce que les données sont séquentielles – RadiantHex