From 069db72b9ce3e09fe83bba660903219849ab4a87 Mon Sep 17 00:00:00 2001
From: YE Victor <victor.ye@imt-atlantique.net>
Date: Tue, 27 May 2025 16:22:04 +0000
Subject: [PATCH] Upload New File

---
 src/SAR2Q3.m | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 src/SAR2Q3.m

diff --git a/src/SAR2Q3.m b/src/SAR2Q3.m
new file mode 100644
index 0000000..cbdccaf
--- /dev/null
+++ b/src/SAR2Q3.m
@@ -0,0 +1,44 @@
+
+
+function synthese_comparaison()
+    % Paramètres
+    Fe = 44100;             % Fréquence d'échantillonnage (Hz)
+    D = 1;                  % Durée du son (s)
+    f0 = 220;               % Fréquence fondamentale (Hz)
+    t = 0:1/Fe:D-1/Fe;
+
+    % Enveloppe ADSR simple
+    A = 0.1; D_env = 0.2; S = 0.7; R = 0.2;
+    env = envelope_adsr(length(t), Fe, A, D_env, S, R);
+
+    % --- Synthèse soustractive ---
+    % Source riche : dent de scie
+    x1 = sawtooth(2*pi*f0*t);
+    % Filtrage passe-bas
+    x1_filtered = filter([0.5 0.5], 1, x1);
+    y_soustractive = x1_filtered .* env;
+
+    % --- Synthèse additive ---
+    N_harm = 10;
+    y_additive = zeros(size(t));
+    for n = 1:N_harm
+        y_additive = y_additive + (1/n) * sin(2*pi*f0*n*t);
+    end
+    y_additive = y_additive .* env;
+
+    % --- Écoute ---
+    soundsc(y_soustractive, Fe);
+    pause(D + 1);
+    soundsc(y_additive, Fe);
+end
+
+function env = envelope_adsr(N, Fe, A, D, S, R)
+    Na = round(A * Fe);
+    Nd = round(D * Fe);
+    Nr = round(R * Fe);
+    Ns = N - Na - Nd - Nr;
+    env = [linspace(0,1,Na), ...
+           linspace(1,S,Nd), ...
+           S*ones(1,Ns), ...
+           linspace(S,0,Nr)];
+end
-- 
GitLab