Spaces:
Running
Running
| import unittest | |
| from unittest.mock import MagicMock, patch | |
| import numpy as np | |
| from ai_prof import rtc | |
| from ai_prof.rtc import _has_speech | |
| class VoiceGateTests(unittest.TestCase): | |
| def test_silence_is_rejected(self): | |
| self.assertFalse(_has_speech(np.zeros(16_000, dtype=np.float32))) | |
| def test_audible_signal_is_accepted(self): | |
| t = np.arange(16_000, dtype=np.float32) / 16_000 | |
| signal = 0.05 * np.sin(2 * np.pi * 220 * t) | |
| self.assertTrue(_has_speech(signal)) | |
| def test_int16_audio_is_normalized(self): | |
| signal = np.full(2_000, 1_000, dtype=np.int16) | |
| self.assertTrue(_has_speech(signal)) | |
| def test_tts_reuses_session_voice_reference(self, openai_client): | |
| speech = MagicMock() | |
| openai_client.return_value.audio.speech = speech | |
| rtc._speech_request("Next slide.", voice_key="lecture") | |
| kwargs = speech.create.call_args.kwargs | |
| self.assertEqual( | |
| kwargs["extra_body"]["ref_audio"], | |
| "data:audio/wav;base64,abc", | |
| ) | |
| self.assertEqual(kwargs["input"], "Next slide.") | |
| if __name__ == "__main__": | |
| unittest.main() | |