Esempio n. 1
0
def test_vad_is_triggered(mock_class):
    context = SpeechContext()
    detector = VoiceActivityDetector(sample_rate=16000,
                                     frame_width=10,
                                     vad_rise_delay=0,
                                     vad_fall_delay=0)
    frame = np.zeros(160, np.int16)
    detector(context, frame)
    assert context.is_speech
    detector.close()
Esempio n. 2
0
def test_vad_rise_delay():
    context = SpeechContext()
    detector = VoiceActivityDetector(frame_width=10, vad_rise_delay=30)
    for i in range(3):
        frame = voice_frame()
        detector(context, frame)
        if i < 2:
            assert not context.is_speech
        else:
            assert context.is_speech
    detector.close()
Esempio n. 3
0
def test_vad_is_triggered():
    context = SpeechContext()
    detector = VoiceActivityDetector(frame_width=10)

    frame = silence_frame()
    detector(context, frame)
    assert not context.is_speech

    frame = voice_frame()
    detector(context, frame)
    assert context.is_speech

    detector.close()
Esempio n. 4
0
def test_vad_rise_delay(mock_class):
    context = SpeechContext()
    detector = VoiceActivityDetector(sample_rate=16000,
                                     frame_width=10,
                                     vad_rise_delay=30,
                                     vad_fall_delay=0)
    for i in range(3):
        frame = np.zeros(160, np.int16)
        detector(context, frame)
        if i < 2:
            assert not context.is_speech
        else:
            assert context.is_speech
    detector.close()
Esempio n. 5
0
def test_vad_fall_untriggered():
    context = SpeechContext()
    detector = VoiceActivityDetector(frame_width=10, vad_fall_delay=20)

    voice = voice_frame()
    silence = silence_frame()

    detector(context, voice)
    assert context.is_speech

    for i in range(10):
        detector(context, silence)
        assert context.is_speech

    detector(context, silence)
    assert not context.is_speech
    detector.close()
Esempio n. 6
0
def test_vad_fall_untriggered():
    context = SpeechContext()
    detector = VoiceActivityDetector(sample_rate=16000,
                                     frame_width=10,
                                     vad_rise_delay=0,
                                     vad_fall_delay=20)
    with patch("webrtcvad.Vad.is_speech", return_value=True):
        frame = np.zeros(160, np.int16)
        detector(context, frame)
        assert context.is_speech

    with patch("webrtcvad.Vad.is_speech", return_value=False):
        frame = np.zeros(160, np.int16)
        detector(context, frame)
        assert context.is_speech

    with patch("webrtcvad.Vad.is_speech", return_value=False):
        frame = np.zeros(160, np.int16)
        detector(context, frame)
        assert not context.is_speech
    detector.close()