# Author: David Doukhan <doukhan@limsi.fr>
-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
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):
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
'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))