예제 #1
0
    async def test_get_chunk_audio(self):
        a_s = audio_fakes.SilentAudioSource()
        chunk = await a_s.get_chunk()
        sample = b'\0\0' * 1600

        self.assertEqual(3200, len(chunk.audio))
        self.assertEqual(sample, chunk.audio)

        chunk = await a_s.get_chunk()
        self.assertEqual(b'\0' * len(chunk.audio), chunk.audio)
 async def test_transcribe(self):
     with mock.patch('websockets.connect') as mock_ws:
         fake_ws = FakeWatsonWS()
         mock_ws.return_value = fake_ws.connect()
         ts = transcriber.WatsonTranscriber(audio_fakes.SilentAudioSource(),
                                            16000, 'fakeuser', 'fakepass')
         handler = EvHandler(ts)
         ts.register_event_handler(handler.handle)
         async with ts:
             await handler.called.wait()
예제 #3
0
    async def test_get_chunk_audio(self):
        a_s = audio_fakes.SilentAudioSource()
        block = await a_s.__anext__()
        chunk = await block.__anext__()
        sample = b'\0'

        self.assertAlmostEqual(3200, len(chunk.audio), delta=4)
        self.assertEqual(sample * len(chunk.audio), chunk.audio)

        chunk = await block.__anext__()
        self.assertEqual(b'\0' * len(chunk.audio), chunk.audio)
예제 #4
0
    async def test_get_chunk_delay(self):
        a_s = audio_fakes.SilentAudioSource()
        start_time = time.time()

        await a_s.get_chunk()
        self.assertAlmostEqual(start_time, time.time(), delta=.01)

        await a_s.get_chunk()
        self.assertAlmostEqual(start_time + .1, time.time(), delta=.2)

        await a_s.get_chunk()
        self.assertAlmostEqual(start_time + .2, time.time(), delta=.2)
예제 #5
0
 async def test_get_silent_chunk(self):
     a_s = audio.SquelchedSource(audio_fakes.SilentAudioSource(),
                                 squelch_level=0)
     async with a_s.listen():
         with self.assertRaises(asyncio.TimeoutError):
             await asyncio.wait_for(a_s.get_chunk(), .2)
예제 #6
0
 async def test_detect_silent_level(self):
     a_s = audio.SquelchedSource(audio_fakes.SilentAudioSource())
     level = await a_s.detect_squelch_level(detect_time=.2)
     self.assertEqual(level, a_s.squelch_level)
     self.assertEqual(0, level)
 async def test_event_handler(self):
     ts = FakeTranscriber(audio_fakes.SilentAudioSource())
     handler = EvHandler(ts)
     ts.register_event_handler(handler.handle)
     async with ts:
         await handler.called.wait()
예제 #8
0
 async def test_event_handler(self):
     ts = FakeTranscriber(audio_fakes.SilentAudioSource())
     handler = EvHandler(ts)
     ts.register_event_handler(handler.handle)
     await ts.transcribe()
     self.assertEqual(handler.called, True)