def __init__(self, recorder=None, applicationClose=None): # application self.app = None if recorder == None: raise Exception("No Recorder, so go home") self.recorder = recorder if applicationClose == None: raise Exception("No close callback") self.applicationClose = applicationClose self.curve = None self.uiplot = None config = ConfigProvider() self.amplitude = float(config.getAudioConfig()['amplitude']) self.guiIntervall = float(config.getRecordConfig()['guiintervall'])
format=self.audioDev.get_format_from_width(2), channels=1, rate=framerate, output=True)) wb.write_wavefile(self.audioStream, samples, nframes=nframes, sampwidth=2, framerate=framerate, bufsize=bufsize) except AttributeError: pass else: self.audioStream.stopIt() self.audioDev.terminate() return def stopPlaying(self): self.play = False print("Wait for finish current stream") if __name__ == '__main__': from properties.config import ConfigProvider config = ConfigProvider().getAudioConfig() s = Sound() s.startPlaying(float(config['frequency']), float(config['amplitude']), int(config['framerate']), int(config['duration']), int(config['buffersize'])) s.stopPlaying()
def __init__(self, kMeansClassifier=None, applicationClose=None, classSignal=None): self.kmH = None self.kmeans = None self.kmeans_16N = None self.kmeansClusterCenters = None self.kmeansClusterCenters_16N = None self.arraySignal = np.array([]) self.checkOnline = False self.idxLeft = 20 self.idxRight = 44 self.plot_id = 1 self.framesToSkip = 1 self.arraySidesCut = 0 self.showRecords = False self.recordFramesCount = 32 self.gesture0Aktiv, self.gesture1Aktiv, self.gesture3Aktiv, self.gesture4Aktiv = False, False, False, False self.gesture0IconD, self.gesture1IconD, self.gesture2IconD, self.gesture3IconD, self.gesture4IconD, = None, None, None, None, None self.gesture0IconA, self.gesture1IconA, self.gesture2IconA, self.gesture3IconA, self.gesture4IconA, = None, None, None, None, None self.gestureIconList = [[self.gesture0IconD, self.gesture0IconA], [self.gesture1IconD, self.gesture1IconA], [self.gesture2IconD, self.gesture2IconA], [self.gesture3IconD, self.gesture3IconA] ,[self.gesture4IconD, self.gesture4IconA]] self.noiseArray = [] self.arrayFromFile = [] self.globalViewArray = [] self.learnArrayKMeans = [] self.arrayFromFileViewShape = [] self.arrayFromFileViewShapeNorm = [] self.preselectedByKMeansArray = [] self.textEdit = None self.rightPage = None self.textBeginn = True self.akt = 1 self.globalLabelText = 'Init!\n' self.segNormArray = [] self.c0, self.c1, self.c2, self.c3, self.c4, self.c5, self.c6, self.c7 = False, False, False, False, False, False, False, False self.showClusterList = [ self.c0, self.c1, self.c2, self.c3, self.c4, self.c5, self.c6, self.c7 ] # xDummies self.xPoints = np.arange(64) self.fileName = None self.multipleFiles = False self.openFileDirectory = "../classifier_data/kmeans/gestures" self.centroidsFileDirectory = "../classifier_data/kmeans/centroids/" self.app = None if kMeansClassifier == None: raise Exception("No kMeansClassifier, so go home") self.kMeansClassifier = kMeansClassifier self.newSignal = classSignal self.newSignal.currentGestureSignal.connect(self.setGestureTrigger) self.recorder = kMeansClassifier.recorder if applicationClose == None: raise Exception("No close callback") self.applicationClose = applicationClose self.uiplot_tab1, self.curve_tab1, self.curve_2_tab1 = None, None, None self.curve_1, self.curve_2, self.curve_3, self.curve_4, self.curve_5, self.curve_6, self.curve_7, self.curve_8 = Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve() self.curve_9, self.curve_10, self.curve_11, self.curve_12, self.curve_13, self.curve_14, self.curve_15, self.curve_16 = Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve() self.curve_17, self.curve_18, self.curve_19, self.curve_20, self.curve_21, self.curve_22, self.curve_23, self.curve_24 = Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve() self.curve_25, self.curve_26, self.curve_27, self.curve_28, self.curve_29, self.curve_30, self.curve_31, self.curve_32 = Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve(), Qwt.QwtPlotCurve() self.curveList = [ self.curve_1 , self.curve_2 , self.curve_3 , self.curve_4 , self.curve_5 , self.curve_6 , self.curve_7 ,self.curve_8, self.curve_9 ,self.curve_10 ,self.curve_11 ,self.curve_12 ,self.curve_13 ,self.curve_14 , self.curve_15 , self.curve_16, self.curve_17 , self.curve_18 , self.curve_19 , self.curve_20 , self.curve_21 , self.curve_22 , self.curve_23 , self.curve_24, self.curve_25 , self.curve_26 ,self.curve_27 ,self.curve_28 ,self.curve_29 ,self.curve_30 ,self.curve_31 ,self.curve_32] config = ConfigProvider() self.amplitude = float(config.getAudioConfig()['amplitude']) self.guiIntervall = float(config.getRecordConfig()['guiintervall']) self.sampleRate = int(float(config.getRecordConfig()['leftborder']) + float(config.getRecordConfig()['rightborder']))