-silverynight- | Bonjour, j'ai vraiment besoin d'aire pour un programme dont je ne comprends pas l'erreur:
Code :
- from numpy import linspace, mean
- from scipy.fftpack import fft, fftfreq
- import matplotlib.pyplot as plt
- from scipy.io.wavfile import read
- # nom du fichier à étudier
- nomfile = open('7991.wav','r')
- # lecture du fichier son 8 Khz mono
- rate,signal = read(nomfile)
- # définition du vecteur temps
- dt = 1./rate
- FFT_size = 2**18
- NbEch = signal.shape[0]
- t = linspace(0,(NbEch-1)*dt,NbEch)
- t = t[0:FFT_size]
- signal = signal[0:FFT_size]# soustraction de la valeur moyenne du signal
- signal = signal - mean(signal)# la fréquence nulle ne nous intéresse pas
- signal_FFT = abs(fft(signal)) # on ne récupère que les composantes réelles
- signal_freq = fftfreq(signal.size, dt)
- signal_FFT = signal_FFT[0:len(signal_FFT)//2]
- signal_freq = signal_freq[0:len(signal_freq)//2]
- #affichage du signal
- plt.subplot(211)
- plt.title('Signal reel et son spectre')
- plt.plot(t,signal)
- plt.xlabel('Temps (s)'); plt.ylabel('Amplitude')
- #affichage FFT
- plt.subplot(212)
- plt.plot(signal_freq,signal_FFT)
- plt.xlabel('Frequence (Hz)'); plt.ylabel('Amplitude')
- plt.show()
|
J'obtiens ceci comme erreur:
File "/media/A620-A5CF/Raspberry Pi/Programmation/ProjetISN.py", line 50, in <module>
plt.plot(signal_freq,signal_FF T)
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2467, in plot
ret = ax.plot(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 3893, in plot
for line in self._get_lines(*args, **kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 322, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 300, in _plot_args
x, y = self._xy_from_xy(x, y)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 240, in _xy_from_xy
raise ValueError("x and y must have same first dimension" )
ValueError: x and y must have same first dimension
Merci d'avance, bonne soirée. |