1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import matplotlib.pyplot as plt
from scipy.io import wavfile
from scipy.fftpack import rfft
fs, data = wavfile.read('ringin.wav') # chargement du fichier wav.
# fs est la fréquence d'échantillonnage / s => 44100 points/seconde
print(fs, len(data)) # 44100 49728
a = data.T[0] # 1er canal. type de data et a: class 'numpy.ndarray'
print(len(a))
b = [(elem / (2 ** 8)) * 2 - 1 for elem in a] # changement d'échelle des valeurs
c = rfft(b) # liste de complexes. type de c: class 'numpy.complex128'
d = len(c) // 2 # on n'a besoin que de la moitié de la liste fft
plt.plot(abs(c[0:(d - 1)]), 'r') # affichage
plt.show() |
Partager