diff toolboxes/AudioInpaintingToolbox/Utils/evaluation/exclude_testAudioQualityMeasures.m @ 144:19e0af570914 release_1.5

Merge from branch "ivand_dev"
author Ivan <ivan.damnjanovic@eecs.qmul.ac.uk>
date Tue, 26 Jul 2011 15:14:15 +0100
parents 56d719a5fd31
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolboxes/AudioInpaintingToolbox/Utils/evaluation/exclude_testAudioQualityMeasures.m	Tue Jul 26 15:14:15 2011 +0100
@@ -0,0 +1,70 @@
+function testAudioQualityMeasures
+%
+%
+% Usage:
+%
+%
+% Inputs:
+%          - 
+%          - 
+%          - 
+%          - 
+%          - 
+%          - 
+%          - 
+%          - 
+%
+% Outputs:
+%          - 
+%          - 
+%          - 
+%          - 
+%
+% Note that the CVX library is needed.
+%
+% -------------------
+%
+% Audio Inpainting toolbox
+% Date: June 28, 2011
+% By Valentin Emiya, Amir Adler, Maria Jafari
+% This code is distributed under the terms of the GNU Public License version 3 (http://www.gnu.org/licenses/gpl.txt).
+
+soundDir = './';
+
+[xRef fs] = wavread([soundDir 'xClean.wav']);
+
+testFiles = {'xClipped.wav','xEst2.wav','xEstInterp'};
+Nf = length(testFiles);
+
+SNR = zeros(Nf,1);
+PSM = zeros(Nf,1);
+PSMt = zeros(Nf,1);
+PESQ_MOS = zeros(Nf,1);
+EAQUAL_ODG = zeros(Nf,1);
+EAQUAL_DIX = zeros(Nf,1);
+
+options.ENABLE_PEMOQ = true;
+
+for kf = 1:Nf
+    xTest = wavread([soundDir testFiles{kf}]);
+    [SNR(kf) PSM(kf),PSMt(kf),...
+        PESQ_MOS(kf),EAQUAL_ODG(kf), EAQUAL_DIX(kf)] = ...
+        audioQualityMeasures(xRef,xTest,fs,options);
+end
+
+for kf = 1:Nf
+    fprintf('Quality of %s: SNR = %g dB, PSM=%g, PSMt=%g, PESQ=%g, EAQUAL_ODG=%g, EAQUAL_DIX=%g\n',...
+        testFiles{kf},SNR(kf),PSM(kf),PSMt(kf),PESQ_MOS(kf),EAQUAL_ODG(kf),EAQUAL_DIX(kf));
+end
+
+Q = [SNR,PSM,PSMt,PESQ_MOS,EAQUAL_ODG,EAQUAL_DIX];
+Qs = {'SNR','PSM','PSMt','PESQ MOS','EAQUAL ODG','EAQUAL DIX'};
+
+figure
+for k=1:size(Q,2)
+    subplot(ceil(sqrt(size(Q,2))),ceil(sqrt(size(Q,2))),k)
+    plot(Q(:,k))
+    xlabel('audio files');
+    ylabel(Qs{k})
+end
+return