ivan@138: function testAudioQualityMeasures
ivan@138: %
ivan@138: %
ivan@138: % Usage:
ivan@138: %
ivan@138: %
ivan@138: % Inputs:
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %
ivan@138: % Outputs:
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %          - 
ivan@138: %
ivan@138: % Note that the CVX library is needed.
ivan@138: %
ivan@138: % -------------------
ivan@138: %
ivan@138: % Audio Inpainting toolbox
ivan@138: % Date: June 28, 2011
ivan@138: % By Valentin Emiya, Amir Adler, Maria Jafari
ivan@138: % This code is distributed under the terms of the GNU Public License version 3 (http://www.gnu.org/licenses/gpl.txt).
ivan@138: 
ivan@138: soundDir = './';
ivan@138: 
ivan@138: [xRef fs] = wavread([soundDir 'xClean.wav']);
ivan@138: 
ivan@138: testFiles = {'xClipped.wav','xEst2.wav','xEstInterp'};
ivan@138: Nf = length(testFiles);
ivan@138: 
ivan@138: SNR = zeros(Nf,1);
ivan@138: PSM = zeros(Nf,1);
ivan@138: PSMt = zeros(Nf,1);
ivan@138: PESQ_MOS = zeros(Nf,1);
ivan@138: EAQUAL_ODG = zeros(Nf,1);
ivan@138: EAQUAL_DIX = zeros(Nf,1);
ivan@138: 
ivan@138: options.ENABLE_PEMOQ = true;
ivan@138: 
ivan@138: for kf = 1:Nf
ivan@138:     xTest = wavread([soundDir testFiles{kf}]);
ivan@138:     [SNR(kf) PSM(kf),PSMt(kf),...
ivan@138:         PESQ_MOS(kf),EAQUAL_ODG(kf), EAQUAL_DIX(kf)] = ...
ivan@138:         audioQualityMeasures(xRef,xTest,fs,options);
ivan@138: end
ivan@138: 
ivan@138: for kf = 1:Nf
ivan@138:     fprintf('Quality of %s: SNR = %g dB, PSM=%g, PSMt=%g, PESQ=%g, EAQUAL_ODG=%g, EAQUAL_DIX=%g\n',...
ivan@138:         testFiles{kf},SNR(kf),PSM(kf),PSMt(kf),PESQ_MOS(kf),EAQUAL_ODG(kf),EAQUAL_DIX(kf));
ivan@138: end
ivan@138: 
ivan@138: Q = [SNR,PSM,PSMt,PESQ_MOS,EAQUAL_ODG,EAQUAL_DIX];
ivan@138: Qs = {'SNR','PSM','PSMt','PESQ MOS','EAQUAL ODG','EAQUAL DIX'};
ivan@138: 
ivan@138: figure
ivan@138: for k=1:size(Q,2)
ivan@138:     subplot(ceil(sqrt(size(Q,2))),ceil(sqrt(size(Q,2))),k)
ivan@138:     plot(Q(:,k))
ivan@138:     xlabel('audio files');
ivan@138:     ylabel(Qs{k})
ivan@138: end
ivan@138: return