From f6652727522abf896b9804e9b26c11050e9bbe71 Mon Sep 17 00:00:00 2001
From: SAAD <saad.agoumi@imt-atlantique.net>
Date: Fri, 2 May 2025 14:06:53 +0200
Subject: [PATCH] seance2

---
 q1 3.m | 17 +++++++++++++++++
 q1 4.m | 39 +++++++++++++++++++++++++++++++++++++++
 q2 1.m | 16 ++++++++++++++++
 3 files changed, 72 insertions(+)
 create mode 100644 q1 3.m
 create mode 100644 q1 4.m
 create mode 100644 q2 1.m

diff --git a/q1 3.m b/q1 3.m
new file mode 100644
index 0000000..448f3ec
--- /dev/null
+++ b/q1 3.m	
@@ -0,0 +1,17 @@
+t = 0:0.01:3;
+amplitudes = 10.^([77.25 75.91 60.74 63.01 59.83 56.54 55.12 41.16]/20);
+frequences = [220.46 442.12 663.62 885.62 1108.42 1331.54 1556.29 1782.8];
+
+y = zeros(size(t));  % initialiser le signal
+
+for k = 1:length(amplitudes)
+    y = y + amplitudes(k) * sin(2*pi*frequences(k)*t);
+end
+
+figure(1);
+plot(t, y);
+
+xlabel('temps (s)');
+ylabel('Amplitude');
+title('Piano1/superposition');
+grid;
diff --git a/q1 4.m b/q1 4.m
new file mode 100644
index 0000000..915cedf
--- /dev/null
+++ b/q1 4.m	
@@ -0,0 +1,39 @@
+fs = 44100;        % fr�quence d'�chantillonnage
+dur = 2;           % dur�e du signal (en secondes)
+t = 0:(1/fs):dur;  % axe temporel
+
+% Amplitudes et fr�quences
+amplitudes = 10.^([77.25 75.91 60.74 63.01 59.83 56.54 55.12 41.16]/20);
+frequences = [220.46 442.12 663.62 885.62 1108.42 1331.54 1556.29 1782.8];
+
+% G�n�ration du signal
+y = zeros(size(t));
+for k = 1:length(amplitudes)
+    y = y + amplitudes(k) * sin(2*pi*frequences(k)*t);
+end
+
+% -- (Optionnel) enveloppe ADSR --
+% Param�tres ADSR
+attack = 0.1; decay = 0.05; sustain = 0.7; sustainTime = 1.4; release = 0.4;
+attackS = round(attack*fs);
+decayS = round(decay*fs);
+sustainS = round(sustainTime*fs);
+releaseS = round(release*fs);
+
+% Cr�ation de l'enveloppe
+env = [linspace(0, 1, attackS), ...
+       linspace(1, sustain, decayS), ...
+       sustain*ones(1, sustainS), ...
+       linspace(sustain, 0, releaseS)];
+env = [env, zeros(1, length(t) - length(env))];  % compl�ter si besoin
+
+% Appliquer l'enveloppe
+yenv = y .* env;
+
+plot(t,y,'b');
+hold on
+plot(t,yenv,'r');
+
+% Lecture ou sauvegarde
+% audiowrite('piano_synthetise.wav', y, fs);  % pour sauvegarder
+
diff --git a/q2 1.m b/q2 1.m
new file mode 100644
index 0000000..cbbc243
--- /dev/null
+++ b/q2 1.m	
@@ -0,0 +1,16 @@
+Fe = 44100
+T = 1/440;
+t = 0:1/Fe:1;
+x_square = square(2*pi*t/T);
+x_saw = sawtooth(2*pi*t/T);
+disp(x_square)
+plot(t, x_square);
+plot(t, x_saw);
+
+
+X_sq = fftshift(fft(x_square));
+X_sw = fftshift(fft(x_saw));
+
+% Filtrage passe-bas d'ordre 1
+y_lp = filter([0.5, 0.5], 1, x_saw);
+
-- 
GitLab