From 21653e7ee1da148fd69f4e3b874b1520286617fa Mon Sep 17 00:00:00 2001 From: ybdarrenwang Date: Wed, 5 Oct 2016 15:08:01 -0700 Subject: [PATCH 1/3] changed preemph default to 0.97 and added explanation in msf_mfcc; added function msf_delta for delta feature calculation --- msf_delta.m | 21 +++++++++++++++++++++ msf_mfcc.m | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 msf_delta.m diff --git a/msf_delta.m b/msf_delta.m new file mode 100644 index 0000000..a2bcfb0 --- /dev/null +++ b/msf_delta.m @@ -0,0 +1,21 @@ +%% msf_delta - Delta Feature calculation +% +% function delta = msf_delta(feat, N) +% +% * |feat| - a matrix with each row being the feature vector extracted from a frame +% * |N| - for each frame, calculate delta features based on preceding and following N frames +% +% Example usage: +% +% d_mfcc = msf_delta(mfcc, 2); +% dd_mfcc = msf_delta(d_mfcc, 2); +% +function delta = msf_delta(feat, N) + delta_filter = (N:-1:-1*N); + denom = sumsqr(delta_filter); + delta = zeros(size(feat)); + for feat_dim = 1:size(feat, 2) + tmp = filter(delta_filter, denom, [ones(N,1); feat(:,feat_dim); ones(N,1)]); + delta(:,feat_dim) = tmp(2*N+1:size(tmp)); + end +end diff --git a/msf_mfcc.m b/msf_mfcc.m index 6e45779..16efbec 100644 --- a/msf_mfcc.m +++ b/msf_mfcc.m @@ -20,6 +20,7 @@ % * |'ncep'| - the number of cepstral coeffients to use. Default: 13 % * |'liftercoeff'| - liftering coefficient, 0 is no lifter. Default: 22 % * |'appendenergy'| - if true, replaces 0th cep coeff with log of total frame energy. Default: true +% * |'preemph'| - apply preemphasis filter with preemph as coefficient. 0 is no filter. Default: 0.97 % % Example usage: % @@ -36,7 +37,7 @@ addOptional(p,'ncep', 13, @(x)ge(x,1)); addOptional(p,'liftercoeff', 22, @(x)ge(x,0)); addOptional(p,'appendenergy',true, @(x)ismember(x,[true,false])); - addOptional(p,'preemph', 0, @(x)ge(x,0)); + addOptional(p,'preemph', 0.97, @(x)ge(x,0)); parse(p,varargin{:}); in = p.Results; H = msf_filterbank(in.nfilt, fs, in.lowfreq, in.highfreq, in.nfft); From 1733cbcd85d8277d1b38313728bab3ac85985c31 Mon Sep 17 00:00:00 2001 From: ybdarrenwang Date: Fri, 28 Oct 2016 16:35:59 -0700 Subject: [PATCH 2/3] removed preemph change, focus on msf_delta --- msf_mfcc.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msf_mfcc.m b/msf_mfcc.m index 16efbec..5bebe7f 100644 --- a/msf_mfcc.m +++ b/msf_mfcc.m @@ -37,7 +37,7 @@ addOptional(p,'ncep', 13, @(x)ge(x,1)); addOptional(p,'liftercoeff', 22, @(x)ge(x,0)); addOptional(p,'appendenergy',true, @(x)ismember(x,[true,false])); - addOptional(p,'preemph', 0.97, @(x)ge(x,0)); + addOptional(p,'preemph', 0, @(x)ge(x,0)); parse(p,varargin{:}); in = p.Results; H = msf_filterbank(in.nfilt, fs, in.lowfreq, in.highfreq, in.nfft); From dcc2fb1cb788377534e586b90546a94ff0995bd0 Mon Sep 17 00:00:00 2001 From: ybdarrenwang Date: Fri, 28 Oct 2016 16:37:22 -0700 Subject: [PATCH 3/3] further removed preemph change --- msf_mfcc.m | 1 - 1 file changed, 1 deletion(-) diff --git a/msf_mfcc.m b/msf_mfcc.m index 5bebe7f..6e45779 100644 --- a/msf_mfcc.m +++ b/msf_mfcc.m @@ -20,7 +20,6 @@ % * |'ncep'| - the number of cepstral coeffients to use. Default: 13 % * |'liftercoeff'| - liftering coefficient, 0 is no lifter. Default: 22 % * |'appendenergy'| - if true, replaces 0th cep coeff with log of total frame energy. Default: true -% * |'preemph'| - apply preemphasis filter with preemph as coefficient. 0 is no filter. Default: 0.97 % % Example usage: %