From: Thomas Fillon Date: Mon, 16 Dec 2013 08:24:20 +0000 (+0100) Subject: Analyzer : propagate recent changes to IRIt_Speech analyzers X-Git-Tag: 0.5.2~5 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=b2a42ec87ce480da7a968db899244f420cf9cd2b;p=timeside.git Analyzer : propagate recent changes to IRIt_Speech analyzers --- diff --git a/timeside/analyzer/irit_speech_4hz.py b/timeside/analyzer/irit_speech_4hz.py index 1e5e876..ea86677 100644 --- a/timeside/analyzer/irit_speech_4hz.py +++ b/timeside/analyzer/irit_speech_4hz.py @@ -48,7 +48,8 @@ class IRITSpeech4Hz(Analyzer): ''' @interfacedoc - def setup(self, channels=None, samplerate=None, blocksize=None, totalframes=None): + def setup(self, channels=None, samplerate=None, blocksize=None, + totalframes=None): super(IRITSpeech4Hz, self).setup( channels, samplerate, blocksize, totalframes) self.energy4hz = [] @@ -135,13 +136,16 @@ class IRITSpeech4Hz(Analyzer): modEnergy.data_object.value = conf - self._results.add(modEnergy) + self.process_pipe.results.add(modEnergy) # Segment convert = {False: 0, True: 1} label = {0: 'nonSpeech', 1: 'Speech'} segList = segmentFromValues(modEnergyValue > self.threshold) + # Hint : Median filtering could imrove smoothness of the result + # from scipy.signal import medfilt + # segList = segmentFromValues(medfilt(modEnergyValue > self.threshold, 31)) segs = self.new_result(data_mode='label', time_mode='segment') segs.id_metadata.id += '.' + 'segments' @@ -151,12 +155,12 @@ class IRITSpeech4Hz(Analyzer): segs.data_object.label = [convert[s[2]] for s in segList] segs.data_object.time = [(float(s[0]) * self.blocksize() / - self.samplerate()) - for s in segList] + self.samplerate()) + for s in segList] segs.data_object.duration = [(float(s[1]-s[0]) * self.blocksize() / - self.samplerate()) - for s in segList] + self.samplerate()) + for s in segList] - self._results.add(segs) + self.process_pipe.results.add(segs) return diff --git a/timeside/analyzer/irit_speech_entropy.py b/timeside/analyzer/irit_speech_entropy.py index 8f84544..8d13ab4 100644 --- a/timeside/analyzer/irit_speech_entropy.py +++ b/timeside/analyzer/irit_speech_entropy.py @@ -19,7 +19,7 @@ # Author: Maxime Le Coz -from timeside.core import Processor, implements, interfacedoc +from timeside.core import implements, interfacedoc from timeside.analyzer.core import Analyzer from timeside.analyzer.utils import entropy, computeModulation from timeside.analyzer.utils import segmentFromValues @@ -32,7 +32,8 @@ class IRITSpeechEntropy(Analyzer): implements(IAnalyzer) @interfacedoc - def setup(self, channels=None, samplerate=None, blocksize=None, totalframes=None): + def setup(self, channels=None, samplerate=None, blocksize=None, + totalframes=None): super(IRITSpeechEntropy, self).setup( channels, samplerate, blocksize, totalframes) self.entropyValue = [] @@ -76,7 +77,7 @@ class IRITSpeechEntropy(Analyzer): conf.id_metadata.name += ' ' + 'Confidence' conf.data_object.value = confEntropy - self._results.add(conf) + self.process_pipe.results.add(conf) # Binary Entropy binaryEntropy = modulentropy > self.threshold @@ -87,22 +88,20 @@ class IRITSpeechEntropy(Analyzer): label = {0: 'NonSpeech', 1: 'Speech'} segList = segmentFromValues(binaryEntropy) - - segs = self.new_result(data_mode='label', time_mode='segment') segs.id_metadata.id += '.' + 'segments' segs.id_metadata.name += ' ' + 'Segments' - segs.data_object.label = segList + segs.label_metadata.label = label segs.data_object.label = [convert[s[2]] for s in segList] segs.data_object.time = [(float(s[0]) * self.blocksize() / - self.samplerate()) - for s in segList] + self.samplerate()) + for s in segList] segs.data_object.duration = [(float(s[1]-s[0]) * self.blocksize() / - self.samplerate()) - for s in segList] + self.samplerate()) + for s in segList] - self._results.add(segs) + self.process_pipe.results.add(segs) return