[signal]=audioread('Original.wav');
[noise]=audioread('Noise.wav');
[noise_reduced_signal]=audioread('Filtered.wav');
[noisysignal]=audioread('Noisy.wav');
snr_before = mean( signal.^ 2 ) / mean( noise .^ 2 );
snr_before_db = 10 * log10( snr_before ) % in dB
%==========================================================%
% After noise reduction, the residual noise can be calculated as the difference
% of the wanted signal and the actual signal. Calculation of SNR is then straightforward:
%==========================================================%
snr_after = mean( signal .^ 2 ) / mean( noise_reduced_signal .^ 2 );
snr_after_db = 10 * log10( snr_after ) % in dB
Diff = snr_after_db - snr_before_db;
disp(['Diff = ' num2str(Diff) ' dB'])