Bonjour,
Je ne comprend pas une erreur sur mon programme:
J'obtiens ceci comme 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()
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
-----