diff Code/Descriptors/Matlab/MPEG7/FromWeb/VoiceSauce/func_GetH1H2_H2H4.m @ 4:92ca03a8fa99 tip

Update to ICASSP 2013 benchmark
author Dawn Black
date Wed, 13 Feb 2013 11:02:39 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/Descriptors/Matlab/MPEG7/FromWeb/VoiceSauce/func_GetH1H2_H2H4.m	Wed Feb 13 11:02:39 2013 +0000
@@ -0,0 +1,35 @@
+function [H1H2, H2H4] = func_GetH1H2_H2H4(H1, H2, H4, Fs, F0, F1, F2, B1, B2)
+% [H1H2, H2H4] = func_GetH1H2_H2H4(H1, H2, H4, Fs, F0, F1, F2, B1, B2)
+% Input:  H1, H2, H4, vectors
+%         Fs - sampling frequency
+%         F0 - vector of fundamental frequencies
+%         Fx, Bx - vectors of formant frequencies and bandwidths
+% Output: H1A1, H1A2, H1A3 vectors
+% Notes:  Function produces the corrected versions of the parameters. They
+% are stored as HxHx for compatibility reasons. Use func_buildMData.m to
+% recreate the mat data with the proper variable names.
+% Also note that the bandwidths from the formant trackers are not currently
+% used due to the variability of those measurements.
+%
+% Author: Yen-Liang Shue, Speech Processing and Auditory Perception Laboratory, UCLA
+% Copyright UCLA SPAPL 2009
+
+
+if (nargin == 7)
+  B1 = func_getBWfromFMT(F1, F0, 'hm');
+  B2 = func_getBWfromFMT(F2, F0, 'hm');
+end
+
+
+H1_corr = H1 - func_correct_iseli_z(F0, F1, B1, Fs);
+H1_corr = H1_corr - func_correct_iseli_z(F0, F2, B2, Fs);
+H2_corr = H2 - func_correct_iseli_z(2*F0, F1, B1, Fs);
+H2_corr = H2_corr - func_correct_iseli_z(2*F0, F2, B2, Fs);
+H4_corr = H4 - func_correct_iseli_z(4*F0, F1, B1, Fs);
+H4_corr = H4_corr - func_correct_iseli_z(4*F0, F2, B2, Fs);
+
+H1H2 = H1_corr - H2_corr;
+H2H4 = H2_corr - H4_corr;
+
+
+