diff --git a/matlab 1.1 b/matlab 1.1 new file mode 100644 index 0000000000000000000000000000000000000000..9bf0646257ba58d3b6172694eb2460fa5edf4423 --- /dev/null +++ b/matlab 1.1 @@ -0,0 +1,39 @@ +% analyse_guitare.m +% Analyse du spectre d'un son de guitare (nylon-guitar.wav) + +% Charger le fichier audio +[x, fe] = audioread('nylon-guitar.wav'); + +% Si le son est stereo, convertir en mono +if size(x,2) == 2 + x = mean(x, 2); +end + +% Nombre d'echantillons +N = length(x); + +% Calcul de la FFT +X = fft(x); + +% Deplacement du zero de la FFT au centre +X_shifted = fftshift(X); + +% Axe des frequences +f = linspace(-fe/2, fe/2, N); + +% Amplitude en dB +amplitude_dB = 20*log10(abs(X_shifted) + eps); % eps pour eviter log(0) + +% Affichage du spectre +figure; +plot(f, amplitude_dB); +xlabel('Frequence (Hz)'); +ylabel('Amplitude (dB)'); +title('Spectre en amplitude de nylon-guitar.wav'); +grid on; +xlim([-fe/2 fe/2]); + +% Determination de la frequence fondamentale +[~, idx_max] = max(abs(X(1:floor(N/2)))); % Cherche sur les frequences positives +f1 = (idx_max-1) * fe/N; +disp(['Frequence fondamentale estimee : ', num2str(f1), ' Hz']); \ No newline at end of file