From edb330b866539d4928e1ed5fc47303478151864d Mon Sep 17 00:00:00 2001 From: Thomas Fillon Date: Mon, 23 Jun 2014 09:27:10 +0200 Subject: [PATCH] refactor(irit_noise_startSilences): add __init__ and option for saving to lab files. Change name of prototype files --- timeside/analyzer/irit_noise_startSilences.py | 40 ++++++++++++------ ...> irit_noise_startSilences_protoStart.dat} | Bin ... irit_noise_startSilences_protoStart2.dat} | Bin ... irit_noise_startSilences_protoStart3.dat} | Bin 4 files changed, 26 insertions(+), 14 deletions(-) rename timeside/analyzer/{protoStart.dat => irit_noise_startSilences_protoStart.dat} (100%) rename timeside/analyzer/{protoStart2.dat => irit_noise_startSilences_protoStart2.dat} (100%) rename timeside/analyzer/{protoStart3.dat => irit_noise_startSilences_protoStart3.dat} (100%) diff --git a/timeside/analyzer/irit_noise_startSilences.py b/timeside/analyzer/irit_noise_startSilences.py index 209d07f..50d784b 100644 --- a/timeside/analyzer/irit_noise_startSilences.py +++ b/timeside/analyzer/irit_noise_startSilences.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (c) 2013 Maxime Le Coz +# Copyright (c) 2013-2014 Maxime Le Coz # This file is part of TimeSide. @@ -17,6 +17,7 @@ # You should have received a copy of the GNU General Public License # along with TimeSide. If not, see . # Author: Maxime Le Coz + from __future__ import absolute_import from timeside.core import implements, interfacedoc @@ -35,6 +36,16 @@ class IRITStartSeg(Analyzer): Properties: ''' + @interfacedoc + def __init__(self, save_lab=False): + super(IRITStartSeg, self).__init__() + + self._save_lab = save_lab + + self.energy = [] + self.maxenergy = 0.002 + self.min_overlap = 20 + self.threshold = 0.1 @interfacedoc def setup(self, channels=None, samplerate=None, @@ -54,10 +65,6 @@ class IRITStartSeg(Analyzer): f1 = lowFreq / sr f2 = highFreq / sr self.filtre = firwin(10, [f1, f2], pass_zero=False) - self.energy = [] - self.maxenergy = 0.002 - self.min_overlap = 20 - self.threshold = 0.1 @staticmethod @interfacedoc @@ -100,6 +107,7 @@ class IRITStartSeg(Analyzer): prototype = numpy.load('timeside/analyzer/protoStart2.dat') prototype2 = numpy.load('timeside/analyzer/protoStart3.dat') + # Lissage pour éliminer les petits segments dans un sens ou l'autre struct = [1] * len(prototype) silences = binary_closing(silences, struct) @@ -130,15 +138,19 @@ class IRITStartSeg(Analyzer): segsList.append(s) label = {0: 'Start', 1: 'Session'} - with open('out.lab', 'w') as f: - for s in segsList: - f.write( - '%.2f\t%.2f\t%s\n' % - (s[0] * step, s[1] * step, label[s[2]])) - - with open('cand.lab', 'w') as f: - for s in candidates: - f.write('%.2f\t%.2f\t%f\n' % (s[0] * step, s[1] * step, s[2])) + + if self._save_lab: + with open('out.lab', 'w') as f: + for s in segsList: + f.write( + '%.2f\t%.2f\t%s\n' % + (s[0] * step, s[1] * step, label[s[2]])) + + with open('cand.lab', 'w') as f: + for s in candidates: + f.write('%.2f\t%.2f\t%f\n' % (s[0] * step, + s[1] * step, + s[2])) segs = self.new_result(data_mode='label', time_mode='segment') segs.id_metadata.id += '.' + 'segments' diff --git a/timeside/analyzer/protoStart.dat b/timeside/analyzer/irit_noise_startSilences_protoStart.dat similarity index 100% rename from timeside/analyzer/protoStart.dat rename to timeside/analyzer/irit_noise_startSilences_protoStart.dat diff --git a/timeside/analyzer/protoStart2.dat b/timeside/analyzer/irit_noise_startSilences_protoStart2.dat similarity index 100% rename from timeside/analyzer/protoStart2.dat rename to timeside/analyzer/irit_noise_startSilences_protoStart2.dat diff --git a/timeside/analyzer/protoStart3.dat b/timeside/analyzer/irit_noise_startSilences_protoStart3.dat similarity index 100% rename from timeside/analyzer/protoStart3.dat rename to timeside/analyzer/irit_noise_startSilences_protoStart3.dat -- 2.39.5