Spaces:
Running
Running
| """voice ظ¤ the Smart Advisor voice layer. | |
| Public API (this is the whole contract Fatema depends on): | |
| from voice import transcribe_audio, synthesize_speech | |
| from voice import VoiceError # base error to catch | |
| transcript = transcribe_audio(audio).text | |
| audio_path = synthesize_speech(answer_text).audio_path | |
| Async variants (for FastAPI): | |
| from voice import transcribe_audio_async, synthesize_speech_async | |
| By default everything runs in MOCK mode ظ¤ no models, no GPU, no API key ظ¤ so you | |
| can build and test against it immediately. Set the env var VOICE_BACKEND=real | |
| (plus AZURE_SPEECH_KEY / AZURE_SPEECH_REGION) to use Whisper + Azure for real. | |
| """ | |
| from .types import ( | |
| TranscriptionResult, | |
| SynthesisResult, | |
| VoiceError, | |
| STTError, | |
| TTSError, | |
| AudioFormatError, | |
| AudioTooLongError, | |
| EmptyTranscriptError, | |
| TextValidationError, | |
| TTSBackendError, | |
| ) | |
| from .stt import transcribe_audio, transcribe_audio_async, set_mock_transcript | |
| from .tts import synthesize_speech, synthesize_speech_async, AZURE_VOICES | |
| from .config import health_check | |
| __all__ = [ | |
| "transcribe_audio", | |
| "transcribe_audio_async", | |
| "synthesize_speech", | |
| "synthesize_speech_async", | |
| "TranscriptionResult", | |
| "SynthesisResult", | |
| "AZURE_VOICES", | |
| "set_mock_transcript", | |
| "health_check", | |
| "VoiceError", | |
| "STTError", | |
| "TTSError", | |
| "AudioFormatError", | |
| "AudioTooLongError", | |
| "EmptyTranscriptError", | |
| "TextValidationError", | |
| "TTSBackendError", | |
| ] | |