diff --git a/matlab/tests/test_gen_gabmul_operator.m b/matlab/tests/test_gen_gabmul_operator.m
new file mode 100644
index 0000000000000000000000000000000000000000..f4e8058061e543c063de929e1e3b0e243d0b8fd2
--- /dev/null
+++ b/matlab/tests/test_gen_gabmul_operator.m
@@ -0,0 +1,81 @@
+clc; clear; close all;
+
+% Ce script permet de tester la fonction qui genere le multiplicateur de Gabor.
+% et de faire  des tests permettant de verifier  ses proprietes 
+%% 
+win_type='hann';
+approx_win_len=128;
+hop = approx_win_len/8;
+nbins = approx_win_len*2;
+sig_len=1024;
+fs=1;
+
+%% Les parametres du signal
+
+signal_params = generate_signal_parameters(fs, sig_len);
+dgt_params = generate_dgt_parameters(win_type, approx_win_len, hop, nbins, sig_len);
+
+[dgt, idgt] = get_stft_operators(dgt_params, signal_params);
+
+%% A ton adjoint_stft(direct_stft(x)) = x? c'est-a dire la propriete de tight frame ? 
+
+x =randn(sig_len,1);
+test = idgt(dgt(x));
+disp(norm(test-x,2)) 
+
+%% Le mask
+
+% dimension de la TFCT
+M = dgt_params.nbins/2 +1; 
+N = signal_params.sig_len/ dgt_params.hop; 
+
+T= duration;     
+
+
+t_lim = [0.3, 0.5];
+f_lim =[0.1, 0.2];
+
+mask = generate_rectangular_mask(nbins, hop, sig_len, t_lim, f_lim);
+figure; plotdgtreal(mask, dgt_params.hop, dgt_params.nbins,fs)
+
+%% Generation du multiplicateur et verification de la propi�t� de symetrie
+
+mul1 = gen_gabmul_operator(dgt, idgt, mask);
+
+mask1 = conj(mask);
+mul2 = gen_gabmul_operator(dgt, idgt, mask1);
+
+disp(norm(mul1(x)-mul2(x))) %verifie la symetrie
+
+%% Si mask_id = I, a t-on mul1(x)=x ?;
+
+mask_id = zeros(M,N);
+mul_id = gen_gabmul_operator(dgt, idgt, mask_id);
+Mul = mul_id(x);
+ 
+disp(norm(Mul-x,2))
+
+
+%% diagonalisation : mul1 est-elle une matrice SDP ?
+
+[U,D] = eigs(mul1,signal_params.sig_len, signal_params.sig_len);
+
+%% SDP
+
+fprintf("test de positivite des valeus propres \n") 
+disp(diag(D)>=0);
+
+%% Verifier si U est bien unitaire
+
+
+%%
+fprintf("test de normalite des vecteurs propres \n") 
+disp(norm(U*U',2))
+disp(norm(U'*U,2))
+figure; imagesc(abs(U*U') -eye(1024))
+
+
+max(max(abs(U*U' )-eye(1024)))
+
+
+
diff --git a/matlab/tests/test_generate_dgt_parameters.m b/matlab/tests/test_generate_dgt_parameters.m
new file mode 100644
index 0000000000000000000000000000000000000000..c07939e057d4050666c72246c0daf81b0c9bb210
--- /dev/null
+++ b/matlab/tests/test_generate_dgt_parameters.m
@@ -0,0 +1,18 @@
+clc; clear; close all;
+%%
+% This script tests the generation of the DGT parameters
+%%
+
+win_type='hann';
+approx_win_len=256;
+hop = approx_win_len/8;
+nbins = approx_win_len*2;
+sig_len=16384;
+dgt_params = generate_dgt_parameters(win_type, approx_win_len, hop, nbins, sig_len);
+
+%%
+fprintf(['Les parametres de la DGT sont:\n win_type = %s\n',...,
+    ' hop=%.2f\n nbins=%.2f\n win_len=%.4f\n'],...,
+    dgt_params.win_type, dgt_params.hop, dgt_params.nbins,...,
+    dgt_params.win_len);
+
diff --git a/matlab/tests/test_generate_mask.m b/matlab/tests/test_generate_mask.m
new file mode 100644
index 0000000000000000000000000000000000000000..798eb52f8ecc565ecadec94b24135a50e7d01e99
--- /dev/null
+++ b/matlab/tests/test_generate_mask.m
@@ -0,0 +1,49 @@
+clc; clear; close all;
+%%
+%script test pour le mask
+%%
+
+wideband_src='car';
+loc_source='bird';
+
+win_type='hann';
+approx_win_len = 512;
+hop = approx_win_len/8;
+nbins = approx_win_len*2;
+
+sig_len=16384;
+fs=8000;
+signal_params= generate_signal_parameters(fs, sig_len);
+ alpha=1;
+ seuil=0.01;
+ radius=2;
+
+dgt_params = generate_dgt_parameters(win_type, approx_win_len, hop, nbins, sig_len);
+ %%
+ind_wideband=1;
+ind_localized=2;
+deb=0;
+
+[x_wideband,x_localized] =  load_pairs(ind_wideband, ind_localized, fs,  sig_len, deb);
+
+[dgt, idgt] = get_stft_operators(dgt_params, signal_params);
+%%
+tf_mat_wideband = compute_dgt(x_wideband,dgt);
+tf_mat_loc=compute_dgt(x_localized,dgt);
+[mask, original_mask, mask_after_imclose]= generate_mask(tf_mat_wideband, tf_mat_loc, alpha, seuil, radius);
+
+%%
+figure;
+plot_mask(original_mask, hop, nbins, fs);
+title('Original mask');
+%%
+figure;
+plot_mask(mask_after_imclose, hop, nbins, fs);
+title('Smooth mask- after imclose');
+%%
+figure;
+plot_mask(mask, hop, nbins, fs);
+title('Smooth and final mask - after impoen');
+
+
+%% 
diff --git a/matlab/tests/test_generate_rectangular_mask.m b/matlab/tests/test_generate_rectangular_mask.m
new file mode 100644
index 0000000000000000000000000000000000000000..e83ca88a21699674da46176619151e905d52987d
--- /dev/null
+++ b/matlab/tests/test_generate_rectangular_mask.m
@@ -0,0 +1,15 @@
+clc; clear; close all;
+
+%%
+
+t_lim = [0.3, 0.5];
+f_lim =[0.1, 0.2];
+nbins=128;
+hop =2;
+sig_len=1024;
+fs=1;
+mask = generate_rectangular_mask(nbins, hop, sig_len, t_lim, f_lim);
+
+figure; plot_mask(mask, hop, nbins, fs)
+title(['mask ',num2str(sig_len)])
+
diff --git a/matlab/tests/test_get_stft_operators.m b/matlab/tests/test_get_stft_operators.m
new file mode 100644
index 0000000000000000000000000000000000000000..58ac3f123490d7b6f0f7204c77f4b1048e67ab56
--- /dev/null
+++ b/matlab/tests/test_get_stft_operators.m
@@ -0,0 +1,28 @@
+clc; clear; close all
+%%
+% This script tests the operators of the DGT
+%%
+
+win_type='gauss';
+
+sig_len=16384;
+fs=8000;
+approx_win_len=256;
+hop=approx_win_len/4;
+nbins=approx_win_len*4;
+signal_params= generate_signal_parameters(fs, sig_len);
+
+
+dgt_params = generate_dgt_parameters(win_type, approx_win_len, hop, nbins, sig_len);
+
+
+[dgt, idgt] = get_stft_operators(dgt_params, signal_params);
+
+
+s_2 = randn(signal_params.sig_len,1);
+X = dgt(s_2);
+xrec = idgt(X);
+
+norm(s_2-xrec)
+
+figure('name','spectrogram'); imagesc(abs(X))
\ No newline at end of file
diff --git a/matlab/tests/test_wave_read.m b/matlab/tests/test_wave_read.m
new file mode 100644
index 0000000000000000000000000000000000000000..a728c63641762fad84d60938acb5867c908f54c6
--- /dev/null
+++ b/matlab/tests/test_wave_read.m
@@ -0,0 +1,23 @@
+clc; clear; close all; 
+
+%%
+%This script is used to test the wave_read function. 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+data = load('signal_lists.mat');
+ind_wideband = 1; 
+ind_localized = 2;
+
+ wideband_file = [data.wide_band_sources_files(ind_wideband).folder, filesep,...
+     data.wide_band_sources_files(ind_wideband).name];
+localized_file = [data.localized_sources_files(ind_localized).folder, filesep, ...
+    data.localized_sources_files(ind_localized).name];
+
+
+deb=0;
+sig_len = 16384;
+fs=8000;
+signal_params = generate_signal_parameters(fs, sig_len);
+x= wave_read(wideband_file, fs, sig_len,deb);
+
+figure; sgram(x,'dynrange',90)
\ No newline at end of file