From 119cb8870f9fd7e00ccf3b320d102239ac6e8163 Mon Sep 17 00:00:00 2001 From: Thomas Fillon Date: Mon, 19 May 2014 15:17:32 +0200 Subject: [PATCH] Update Limsi-SAD to match new package structure (i.e. use get_processor) --- timeside/analyzer/limsi_sad.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/timeside/analyzer/limsi_sad.py b/timeside/analyzer/limsi_sad.py index df9603d..0d079a3 100644 --- a/timeside/analyzer/limsi_sad.py +++ b/timeside/analyzer/limsi_sad.py @@ -19,13 +19,13 @@ # Author: David Doukhan -from timeside.core import implements, interfacedoc +from timeside.core import implements, interfacedoc, get_processor from timeside.analyzer.core import Analyzer from timeside.api import IAnalyzer import timeside import yaafelib -import numpy as N +import numpy as np import pickle import os.path @@ -39,14 +39,14 @@ class GMM: def llh(self, x): n_samples, n_dim = x.shape - llh = -0.5 * (n_dim * N.log(2 * N.pi) + N.sum(N.log(self.vars), 1) - + N.sum((self.means ** 2) / self.vars, 1) - - 2 * N.dot(x, (self.means / self.vars).T) - + N.dot(x ** 2, (1.0 / self.vars).T)) - + N.log(self.weights) - m = N.amax(llh, 1) - dif = llh - N.atleast_2d(m).T - return m + N.log(N.sum(N.exp(dif), 1)) + llh = -0.5 * (n_dim * np.log(2 * np.pi) + np.sum(np.log(self.vars), 1) + + np.sum((self.means ** 2) / self.vars, 1) + - 2 * np.dot(x, (self.means / self.vars).T) + + np.dot(x ** 2, (1.0 / self.vars).T)) + + np.log(self.weights) + m = np.amax(llh, 1) + dif = llh - np.atleast_2d(m).T + return m + np.log(np.sum(np.exp(dif), 1)) class LimsiSad(Analyzer): @@ -82,7 +82,7 @@ class LimsiSad(Analyzer): spec.addFeature( 'mfccd2: MFCC CepsIgnoreFirstCoeff=0 blockSize=1024 stepSize=256 > Derivate DOrder=2') spec.addFeature('zcr: ZCR blockSize=1024 stepSize=256') - parent_analyzer = Yaafe(spec) + parent_analyzer = get_processor('yaafe')(spec) self.parents.append(parent_analyzer) # informative parameters @@ -130,7 +130,7 @@ class LimsiSad(Analyzer): 'yaafe.mfccd2']['data_object']['value'] zcr = self.process_pipe.results['yaafe.zcr']['data_object']['value'] - features = N.concatenate((mfcc, mfccd1, mfccd2, zcr), axis=1) + features = np.concatenate((mfcc, mfccd1, mfccd2, zcr), axis=1) res = 0.5 + 0.5 * \ (self.gmms[0].llh(features) - self.gmms[1].llh(features)) -- 2.39.5