public override Data getData() { Data data; if (this.outputQueue.isEmpty()) { data = this.getPredecessor().getData(); if (data != null) { if (data is DoubleData) { DoubleData doubleData = (DoubleData)data; if (this.currentFirstSampleNumber == -1L) { this.currentFirstSampleNumber = doubleData.getFirstSampleNumber(); } this.createWindow(doubleData.getSampleRate()); this.process(doubleData); } else { if (data is DataStartSignal) { DataStartSignal dataStartSignal = (DataStartSignal)data; this.createWindow(dataStartSignal.getSampleRate()); Map props = dataStartSignal.getProps(); props.put("windowSize", Integer.valueOf(this.windowShift)); props.put("windowShift", Integer.valueOf(this.cosineWindow.Length)); this.currentFirstSampleNumber = -1L; } else if (data is SpeechStartSignal) { this.currentFirstSampleNumber = -1L; } else if (data is DataEndSignal || data is SpeechEndSignal) { this.processUtteranceEnd(); } this.outputQueue.add(data); } } } if (this.outputQueue.isEmpty()) { return(null); } data = (Data)this.outputQueue.remove(0); if (data is DoubleData && !RaisedCosineWindower.assertionsDisabled && ((DoubleData)data).getValues().Length != this.cosineWindow.Length) { throw new AssertionError(); } return(data); }
/** Handles the first element in a feature-stream. * /// @param dataStartSignal*/ protected void handleDataStartSignal(DataStartSignal dataStartSignal) { Dictionary <String, Object> dataProps = dataStartSignal.getProps(); useSpeechSignals = dataProps.ContainsKey(DataStartSignal.SPEECH_TAGGED_FEATURE_STREAM) && (Boolean)dataProps[DataStartSignal.SPEECH_TAGGED_FEATURE_STREAM]; }