Bonjour,
Je ne comprend pas une erreur sur mon programme:
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:
Traceback (most recent call last):
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

Quelqu'un a une idée ? Merci d'avance pour vos réponses, bonne soirée