Select Git revision
MANIFEST.in
get_all_mixtures.m 2.66 KiB
clc; clear; close all;
%%
% Generate all combination between wide-band and localized signals
%%
make_wav_pairs()
%%
pwd;
pathname ='spectro_all_mixtures';
if ~exist('spectro_all_mixtures','dir')
mkdir('spectro_all_mixtures');
end
addpath('spectro_all_mixtures')
%%
data = load('signal_lists.mat');
%%
resampling_fs = 8000;
sig_len =16384;
signal_params = generate_signal_parameters(resampling_fs, sig_len);
%% DGT parameters
approx_win_len = 512;
win_len = approx_win_len;
win_type='hann';
params = get_params(win_len, win_type);
dgt_params = generate_dgt_parameters(win_type, approx_win_len, params.hop, params.nbins, sig_len);
%% DGT operators
[dgt, idgt] = get_stft_operators(dgt_params, signal_params);
%% All mix
close all
target_name ={'car','plane','train'};
per_name = {'beeps','bird','clicks','pop'};
gamma=0.7;
deb=0;
close all;
for k=1:length(data.wide_band_sources_files)
sig_wd = load_wideband_signal(k, resampling_fs, sig_len);
for l=1:length(data.localized_sources_files)
%%
%figure;
sig_loc = load_localized_signal(l, resampling_fs, sig_len,deb);
signals = generate_mix_signal(sig_wd, sig_loc, gamma);
tf_mat_target = compute_dgt(signals.wideband, dgt );
tf_mat_per = compute_dgt(signals.localized, dgt );
tf_mat_mix = compute_dgt(signals.mix, dgt );
[alpha, seuil, radius] = set_smooth_mask_params(target_name{k}, per_name{l}, win_type);
sdr_mix = sdr(signals.wideband, signals.mix);
[original_mask, mask_after_imclose, mask_after_imopen,...,
mask] = generate_mask(tf_mat_target, tf_mat_per, alpha, seuil, radius);
subplot(221);
plot_spectrogram(tf_mat_target, dgt_params, signal_params, dgt )
title(target_name{k})
subplot(222);
plot_spectrogram(tf_mat_per, dgt_params, signal_params, dgt )
title(per_name(l));
subplot(223);
plot_spectrogram(tf_mat_mix, dgt_params, signal_params, dgt )
title(['Mix SDR= ',num2str(sdr_mix),'dB']);
subplot(224);
plot_spectrogram(mask, dgt_params, signal_params, dgt )
title(['mask - ', num2str(win_type)]);
saveas(gcf,fullfile(pathname, [target_name{k},'_' num2str(l), '_',num2str(win_type) '.png']));
% figure;
% plot_spectrogram((1-mask).*tf_mat_per, dgt_params, signal_params, dgt );
% title(['masked spectro - ', target_name{k}, per_name(l)])
%saveas(gcf,fullfile(pathname, ['masked_spectro_', target_name{k},'_' num2str(l), '_',num2str(win_type) '.png']));
end
end