/** * Test whether the speech marker is able to handle cases in which an * DataEndSignal occurs somewhere after a SpeechStartSignal. This is might * occur if the microphone is stopped while someone is speaking. */ @Test public void testEndWithoutSilence() throws DataProcessingException { int sampleRate = 1000; input.add(new DataStartSignal(sampleRate)); input.addAll(createClassifiedSpeech(sampleRate, 2., true)); input.add(new DataEndSignal(-2)); List<Data> results = collectOutput(createDataFilter(false)); assertThat(results, Matchers.hasSize(104)); assertThat(results.get(0), instanceOf(DataStartSignal.class)); assertThat(results.get(1), instanceOf(SpeechStartSignal.class)); assertThat(results.get(102), instanceOf(SpeechEndSignal.class)); assertThat(results.get(103), instanceOf(DataEndSignal.class)); }
@Test public void testUsualInput() throws DataProcessingException { int sampleRate = 1000; input.add(new DataStartSignal(sampleRate)); input.addAll(createDataInput(600, 120, sampleRate, 0)); input.add(new DataEndSignal(0)); List<Data> output = collectOutput(100); Assert.assertEquals(output.size(), 6); Assert.assertEquals(201, ((DoubleData) output.get(2)).getFirstSampleNumber()); Assert.assertTrue(hasIncreasingOrder(output, 600)); }
if (!utteranceStarted) { utteranceStarted = true; output = new DataStartSignal(sampleRate); } else { if (dataStream != null) {
audioList.add(new DataStartSignal(sampleRate)); logger.info("DataStartSignal added"); try {
@Test public void skipLastSamples() throws DataProcessingException { int sampleRate = 1000; input.add(new DataStartSignal(sampleRate)); input.addAll(createDataInput(500, 500, sampleRate, 0)); input.addAll(createDataInput(300, 300, sampleRate, 500)); input.add(new DataEndSignal(0)); List<Data> output = collectOutput(250); Assert.assertEquals(output.size(), 3); Assert.assertEquals(501, ((DoubleData) output.get(2)).getFirstSampleNumber()); Assert.assertTrue(hasIncreasingOrder(output, 750)); }
@Test public void testLongInput() throws DataProcessingException { int sampleRate = 1000; input.add(new DataStartSignal(sampleRate)); input.addAll(createDataInput(1000, 1000, sampleRate, 0)); // create one second of data sampled with 1kHz input.add(new DataEndSignal(0)); Assert.assertTrue(hasIncreasingOrder(collectOutput(100), 1000)); }
data = new DataStartSignal(sampleRate); curPoint++; } else if (curPoint == numPoints) {
data = new DataStartSignal(sampleRate); curPoint++; } else if (curPoint == numPoints) {
if (!utteranceStarted) { utteranceStarted = true; output = new DataStartSignal(sampleRate); } else { if (dataStream != null) {
private DataBufferProcessor createDummyFrontEnd() { DataBufferProcessor bufferProc = ConfigurationManager.getInstance(DataBufferProcessor.class); bufferProc.processDataFrame(new DataStartSignal(16000)); for (DoubleData doubleData : RandomDataProcessor.createFeatVectors(5, 16000, 0, 39, 10)) bufferProc.processDataFrame(doubleData); bufferProc.processDataFrame(new SpeechStartSignal()); for (DoubleData doubleData : RandomDataProcessor.createFeatVectors(3, 16000, 1000, 39, 10)) bufferProc.processDataFrame(doubleData); bufferProc.processDataFrame(new SpeechEndSignal()); for (DoubleData doubleData : RandomDataProcessor.createFeatVectors(5, 16000, 2000, 39, 10)) bufferProc.processDataFrame(doubleData); bufferProc.processDataFrame(new DataEndSignal(123)); return bufferProc; }
audioList.add(new DataStartSignal(sampleRate)); logger.info("DataStartSignal added"); try {
if (!utteranceStarted) { utteranceStarted = true; output = new DataStartSignal(sampleRate); } else { if (dataStream != null) {
data = new DataStartSignal(sampleRate); curPoint++; } else if (curPoint == numPoints) {
data = new DataStartSignal(sampleRate); curPoint++; } else if (curPoint == numPoints) {
output = new DataStartSignal((int) sampleRate); totalValuesRead = 0; } else {
output = new DataStartSignal((int) sampleRate); totalValuesRead = 0; } else {
if (!utteranceStarted) { utteranceStarted = true; output = new DataStartSignal(sampleRate); } else { if (dataStream != null) {