import numpy as np
import matplotlib.pyplot as plt
from scipy.io import wavfile

# Charger le fichier audio

sample_rate, audio_data = wavfile.read('suite-violoncelle_extrait.wav')


# Convertir le signal audio en mono en moyennant les canaux stéréo

if audio_data.ndim == 2:
    audio_data = np.mean(audio_data, axis=1)


# Calculer la transformée de Fourier

n = len(audio_data)
frequences = np.fft.fftfreq(n, 1 / sample_rate) #Il faut indiquer aussi la durée entre chaque échantillon
audio_fft = np.fft.fft(audio_data)

# Tracer du spectre de fréquence (module de la transformée de Fourier)

plt.figure(figsize=(10, 6)) #Détermine la largeur et hauteur de votre graphique
plt.plot(frequences, np.abs(audio_fft))
plt.title('Transformée de Fourier du signal audio')
plt.xlabel('Fréquence (Hz)')
plt.ylabel('Amplitude')
plt.xlim(0, sample_rate/2)  # Afficher uniquement la moitié positive des fréquences
plt.grid()
plt.show()
