'''
@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 = []
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'
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
# Author: Maxime Le Coz <lecoz@irit.fr>
-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
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 = []
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
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