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