Spaces:
Running
Running
| """Audio processing service interface.""" | |
| from abc import ABC, abstractmethod | |
| from typing import TYPE_CHECKING | |
| if TYPE_CHECKING: | |
| from ..models.audio_content import AudioContent | |
| from ..models.voice_settings import VoiceSettings | |
| from ..models.processing_result import ProcessingResult | |
| class IAudioProcessingService(ABC): | |
| """Interface for audio processing pipeline orchestration.""" | |
| def process_audio_pipeline( | |
| self, | |
| audio: 'AudioContent', | |
| target_language: str, | |
| voice_settings: 'VoiceSettings' | |
| ) -> 'ProcessingResult': | |
| """ | |
| Process audio through the complete pipeline: STT -> Translation -> TTS. | |
| Args: | |
| audio: The input audio content | |
| target_language: The target language for translation | |
| voice_settings: Voice settings for TTS synthesis | |
| Returns: | |
| ProcessingResult: The result of the complete processing pipeline | |
| Raises: | |
| AudioProcessingException: If any step in the pipeline fails | |
| """ | |
| pass |