| import unittest | |
| import numpy as np | |
| from whisper_live.transcriber.tensorrt_utils import load_audio | |
| from whisper_live.vad import VoiceActivityDetector | |
| class TestVoiceActivityDetection(unittest.TestCase): | |
| def setUp(self): | |
| self.vad = VoiceActivityDetector() | |
| self.sample_rate = 16000 | |
| def generate_silence(self, duration_seconds): | |
| return np.zeros(int(self.sample_rate * duration_seconds), dtype=np.float32) | |
| def load_speech_segment(self, filepath): | |
| return load_audio(filepath) | |
| def test_vad_silence_detection(self): | |
| silence = self.generate_silence(3) | |
| is_speech_present = self.vad(silence.copy()) | |
| self.assertFalse(is_speech_present, "VAD incorrectly identified silence as speech.") | |
| def test_vad_speech_detection(self): | |
| audio_tensor = load_audio("assets/jfk.flac") | |
| is_speech_present = self.vad(audio_tensor) | |
| self.assertTrue(is_speech_present, "VAD failed to identify speech segment.") | |