From 878ee950da116e6d36a407e6025b3bab331ca8b4 Mon Sep 17 00:00:00 2001 From: c24leray <camille.lerays@imt-atlantique.net> Date: Fri, 16 May 2025 09:22:28 +0200 Subject: [PATCH] coucou --- question_11.m | 14 ++++++++++++++ question_12.m | 24 ++++++++++++++++++++++++ question_13.m | 26 ++++++++++++++++++++++++++ question_14.m | 35 +++++++++++++++++++++++++++++++++++ question_15.m | 18 ++++++++++++++++++ 5 files changed, 117 insertions(+) create mode 100644 question_11.m create mode 100644 question_12.m create mode 100644 question_13.m create mode 100644 question_14.m create mode 100644 question_15.m diff --git a/question_11.m b/question_11.m new file mode 100644 index 0000000..02adce5 --- /dev/null +++ b/question_11.m @@ -0,0 +1,14 @@ +% Question 1 : + +[x,fe]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_celtic-harp-a3.wav"); + +soundsc(x,fe); +L1 = length(x1); +X1 = fftshift(fft(x1)); +f1 = (-L1/2 : L1/2 - 1)*(fe1/L1); + +figure; +plot(f1, log(abs(X1)),'r'); +title("spectre") +xlabel("fréquence en Hz") +ylabel("log|X(f)|") \ No newline at end of file diff --git a/question_12.m b/question_12.m new file mode 100644 index 0000000..ad21a52 --- /dev/null +++ b/question_12.m @@ -0,0 +1,24 @@ +% Question 2 : + +[x1,fe1]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano1.wav"); +[x2,fe2]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav"); + +soundsc(x1,fe1); +soundsc(x2,fe2); + +L1 = length(x1); +L2 = length(x2); + +X1 = fftshift(fft(x1)); +X2 = fftshift(fft(x2)); + +f1 = (-L1/2 : L1/2 - 1)*(fe1/L1); +f2 = (-L2/2 : L2/2 - 1)*(fe2/L2); + +figure; +plot(f1, log(abs(X1)),'r'); +hold on; +plot(f2, log(abs(X2)),'b'); +title("spectre"); +xlabel("fréquence en Hz"); +ylabel("10*log|X(f)|"); \ No newline at end of file diff --git a/question_13.m b/question_13.m new file mode 100644 index 0000000..1e24050 --- /dev/null +++ b/question_13.m @@ -0,0 +1,26 @@ +% Question 3 : + +freq_r=[220;442;663;885;1108;1331;1556;1782;2009]; +Amplitude = [7259; 5541; 982; 1408; 502; 672; 573; 114; 347]; + +% Durée et fréquence d'échantillonnage +Fe = 44100; % fréquence d'échantillonnage (standard audio) +duree = 1; % durée du signal en secondes +t = 0:1/Fe:duree; % vecteur temps + +% Initialiser le signal composite +s = zeros(size(t)); + +% Ajouter les sinusoïdes +for k = 1:length(freq_r) + s = s + Amplitude(k) * sin(2*pi*freq_r(k)*t); +end + +% Normaliser pour éviter la saturation (valeurs entre -1 et 1) +s = s / max(abs(s)); + +% Jouer le son +soundsc(s, Fe); + +figure; +plot(t,s) \ No newline at end of file diff --git a/question_14.m b/question_14.m new file mode 100644 index 0000000..e83689b --- /dev/null +++ b/question_14.m @@ -0,0 +1,35 @@ +% Question 4 + +% Define ADSR parameters + +A = 0.1; % Attack time (seconds) +D = 0.005; % Decay time (seconds) +S = 0.8; % Sustain level (0 to 1) +R = 0.75; % Release time (seconds) +fs = 44100; % Sampling frequency (Hz) + +% Total duration of the envelope +totalTime = A + D + R; + +% totalTime = totalTime * 6; % Extend the envelope for 6 seconds +t = linspace(0, totalTime, totalTime * fs); + +% Generate ADSR envelope +attack = linspace(0, 1, A * fs); +decay = linspace(1, S, D * fs); +release = linspace(S, 0, R * fs); + + % Combine all segments +adsrEnvelope = [attack, decay, release]; + +% Plot the envelope +plot(t, adsrEnvelope); +xlabel('Time (s)'); +ylabel('Amplitude'); +title('ADSR Envelope'); +[x, fe] = audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav"); + +% Apply the ADSR envelope to the audio signal +adsrSignal = x(1:length(adsrEnvelope)) .* adsrEnvelope'; +sound(adsrSignal, fe); +audiowrite("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav", adsrSignal, fe); \ No newline at end of file diff --git a/question_15.m b/question_15.m new file mode 100644 index 0000000..f4c7c48 --- /dev/null +++ b/question_15.m @@ -0,0 +1,18 @@ + +[xA, feA] = audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav"); + + + +% Apply the ADSR envelope to the audio signal +adsrSignal = abs(ifftshift(ifft(xA))); +sound(adsrSignal, feA); + +% Plot the envelope + +figure; +plot(feA, adsrSignal); +xlabel('Time (s)'); +ylabel('Amplitude'); +title('ADSR Envelope'); + +audiowrite("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav", adsrSignal, fe); -- GitLab