| """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", | |
| ] | |