clear; close all; taille_ecran = get(0, 'ScreenSize'); L = taille_ecran(3); H = taille_ecran(4); chemin = '/mnt/n7fs/ens/tp_jmelou/Shazam/Morceaux/'; fichiers = dir([chemin '*.wav']); % Lecture d'un fichier audio : numero_morceau = 02; [y, f_ech] = audioread([chemin fichiers(numero_morceau).name]); % Découpage d'un extrait de 15 secondes : y = y(1:f_ech * 15); % Paramètres : n_fenetre = 512; % Largeur de la fenêtre (en nombre de points) n_decalage = 256; % Décalage entre deux fenêtres (en nombre de points) fenetre = 'hann'; % Type de la fenêtre % Calcul du sonagramme : [Y, valeurs_t, valeurs_f] = TFCT(y, f_ech, n_fenetre, n_decalage, fenetre); S = 20 * log10(abs(Y) + eps); % Calcul des pics spectraux : [pics_t, pics_f] = pics_spectraux(S); % Affichage du spectrogramme et des pics spectraux : figure('units', 'normalized', 'outerposition', [0 0 1 1]); imagesc(valeurs_t, valeurs_f, S); caxis([-40 20]); hold on; plot(valeurs_t(pics_t), valeurs_f(pics_f), 'ro', 'MarkerSize', 7, 'MarkerFaceColor', 'r', 'LineWidth', 1); axis xy; title('Pics spectraux') xlabel('Temps (s)'); ylabel('Frequence (Hz)'); drawnow; export_fig(gcf, "saves/exo1_" + num2str(numero_morceau) + ".png", '-png', '-painters', '-m2');