"""Pipeline modules for audio source separation and analysis.""" # Import only data structures (no external dependencies needed) from .data_structures import TalkerInfo, PipelineOutput # Delayed imports for modules with external dependencies def _get_audio_loader(): from .audio_loader import load_audio, validate_audio return load_audio, validate_audio def _get_feature_extraction(): from .feature_extraction import extract_stft, extract_mel_spectrogram, compute_energy return extract_stft, extract_mel_spectrogram, compute_energy def _get_spatial_processing(): from .spatial_processing import estimate_direction_from_mixing_matrix return estimate_direction_from_mixing_matrix def _get_gender_classifier(): from .gender_classifier import estimate_gender return estimate_gender def _get_transcriber(): from .transcriber import transcribe_audio return transcribe_audio def _get_talker_selector(): from .talker_selector import select_talker_of_interest return select_talker_of_interest __all__ = [ "TalkerInfo", "PipelineOutput", ]