SYMBOL INDEX (1337 symbols across 107 files) FILE: audio_separator/remote/api_client.py class AudioSeparatorAPIClient (line 22) | class AudioSeparatorAPIClient: method __init__ (line 25) | def __init__(self, api_url: str, logger: logging.Logger): method separate_audio (line 30) | def separate_audio( method separate_audio_and_wait (line 172) | def separate_audio_and_wait( method get_job_status (line 401) | def get_job_status(self, task_id: str) -> dict: method download_file (line 411) | def download_file(self, task_id: str, filename: str, output_path: Opti... method download_file_by_hash (line 452) | def download_file_by_hash(self, task_id: str, file_hash: str, filename... method _log_server_version_on_error (line 492) | def _log_server_version_on_error(self): method list_models (line 500) | def list_models(self, format_type: str = "pretty", filter_by: Optional... method get_server_version (line 521) | def get_server_version(self) -> str: FILE: audio_separator/remote/cli.py function main (line 13) | def main(): function handle_separate_command (line 162) | def handle_separate_command(args, api_client: AudioSeparatorAPIClient, l... function handle_status_command (line 232) | def handle_status_command(args, api_client: AudioSeparatorAPIClient, log... function handle_models_command (line 259) | def handle_models_command(args, api_client: AudioSeparatorAPIClient, log... function handle_download_command (line 273) | def handle_download_command(args, api_client: AudioSeparatorAPIClient, l... function poll_for_completion (line 285) | def poll_for_completion(task_id: str, api_client: AudioSeparatorAPIClien... function download_files (line 323) | def download_files(task_id: str, files: list, api_client: AudioSeparator... FILE: audio_separator/remote/deploy_cloudrun.py function get_job_store (line 66) | def get_job_store(): function get_output_store (line 76) | def get_output_store(): function generate_file_hash (line 86) | def generate_file_hash(filename: str) -> str: function download_from_gcs (line 91) | def download_from_gcs(gcs_uri: str) -> tuple[bytes, str]: function download_models_from_gcs (line 128) | def download_models_from_gcs(): function separate_audio_sync (line 168) | def separate_audio_sync( class PrettyJSONResponse (line 387) | class PrettyJSONResponse(StarletteResponse): method render (line 390) | def render(self, content: typing.Any) -> bytes: function separate_audio (line 404) | async def separate_audio( function get_job_status (line 562) | async def get_job_status(task_id: str) -> dict: function download_file (line 576) | async def download_file(task_id: str, file_hash: str) -> Response: function get_available_models (line 610) | async def get_available_models() -> PrettyJSONResponse: function get_simplified_models_list (line 620) | async def get_simplified_models_list(filter_sort_by: str = None) -> Plai... function list_presets (line 649) | async def list_presets() -> PrettyJSONResponse: function health_check (line 659) | async def health_check() -> dict: function root (line 671) | async def root() -> dict: function startup_event (line 698) | async def startup_event(): FILE: audio_separator/remote/deploy_modal.py function generate_file_hash (line 49) | def generate_file_hash(filename: str) -> str: class PrettyJSONResponse (line 143) | class PrettyJSONResponse(StarletteResponse): method render (line 148) | def render(self, content: typing.Any) -> bytes: function separate_audio_function (line 153) | def separate_audio_function( function get_job_status_function (line 382) | def get_job_status_function(task_id: str) -> dict: function get_file_function (line 401) | def get_file_function(task_id: str, filename: str) -> bytes: function get_file_by_hash_function (line 415) | def get_file_by_hash_function(task_id: str, file_hash: str) -> tuple[byt... function list_available_models (line 490) | def list_available_models() -> dict: function get_simplified_models (line 513) | def get_simplified_models(filter_sort_by: str = None) -> dict: function separate_audio (line 540) | async def separate_audio( function get_job_status (line 694) | async def get_job_status(task_id: str) -> dict: function download_file (line 706) | async def download_file(task_id: str, file_hash: str) -> Response: function get_available_models (line 738) | async def get_available_models() -> PrettyJSONResponse: function get_simplified_models_list (line 749) | async def get_simplified_models_list(filter_sort_by: str = None) -> Plai... function health_check (line 781) | async def health_check() -> dict: function root (line 789) | async def root() -> dict: function api (line 830) | def api() -> FastAPI: FILE: audio_separator/remote/job_store.py class FirestoreJobStore (line 14) | class FirestoreJobStore: method __init__ (line 20) | def __init__(self, project: str = "nomadkaraoke"): method set (line 27) | def set(self, task_id: str, data: dict) -> None: method get (line 34) | def get(self, task_id: str) -> Optional[dict]: method update (line 41) | def update(self, task_id: str, fields: dict) -> None: method delete (line 46) | def delete(self, task_id: str) -> None: method __contains__ (line 50) | def __contains__(self, task_id: str) -> bool: method cleanup_old_jobs (line 55) | def cleanup_old_jobs(self, max_age_seconds: int = 3600) -> int: FILE: audio_separator/remote/output_store.py class GCSOutputStore (line 11) | class GCSOutputStore: method __init__ (line 14) | def __init__(self, bucket_name: str = "nomadkaraoke-audio-separator-ou... method upload_task_outputs (line 20) | def upload_task_outputs(self, task_id: str, local_dir: str) -> list[str]: method get_file_bytes (line 37) | def get_file_bytes(self, task_id: str, filename: str) -> bytes: method download_file (line 43) | def download_file(self, task_id: str, filename: str, local_path: str) ... method delete_task_outputs (line 50) | def delete_task_outputs(self, task_id: str) -> int: FILE: audio_separator/separator/architectures/demucs_separator.py class DemucsSeparator (line 26) | class DemucsSeparator(CommonSeparator): method __init__ (line 32) | def __init__(self, common_config, arch_config): method separate (line 83) | def separate(self, audio_file_path, custom_output_names=None): method demix_demucs (line 162) | def demix_demucs(self, mix): FILE: audio_separator/separator/architectures/mdx_separator.py class MDXSeparator (line 16) | class MDXSeparator(CommonSeparator): method __init__ (line 22) | def __init__(self, common_config, arch_config): method load_model (line 108) | def load_model(self): method separate (line 135) | def separate(self, audio_file_path, custom_output_names=None): method initialize_model_settings (line 205) | def initialize_model_settings(self): method initialize_mix (line 230) | def initialize_mix(self, mix, is_ckpt=False): method demix (line 293) | def demix(self, mix, is_match_mix=False): method run_model (line 414) | def run_model(self, mix, is_match_mix=False): FILE: audio_separator/separator/architectures/mdxc_separator.py class MDXCSeparator (line 16) | class MDXCSeparator(CommonSeparator): method __init__ (line 22) | def __init__(self, common_config, arch_config): method load_model (line 76) | def load_model(self): method separate (line 118) | def separate(self, audio_file_path, custom_output_names=None): method pitch_fix (line 230) | def pitch_fix(self, source, sr_pitched, orig_mix): method overlap_add (line 246) | def overlap_add(self, result, x, weights, start, length): method demix (line 257) | def demix(self, mix: np.ndarray) -> dict: FILE: audio_separator/separator/architectures/vr_separator.py class VRSeparator (line 21) | class VRSeparator(CommonSeparator): method __init__ (line 27) | def __init__(self, common_config, arch_config: dict): method separate (line 113) | def separate(self, audio_file_path, custom_output_names=None): method loading_mix (line 255) | def loading_mix(self): method inference_vr (line 295) | def inference_vr(self, X_spec, device, aggressiveness): method spec_to_wav (line 368) | def spec_to_wav(self, spec): function rerun_mp3 (line 379) | def rerun_mp3(audio_file, sample_rate=44100): FILE: audio_separator/separator/audio_chunking.py class AudioChunker (line 9) | class AudioChunker: method __init__ (line 25) | def __init__(self, chunk_duration_seconds: float, logger: logging.Logg... method split_audio (line 36) | def split_audio(self, input_path: str, output_dir: str) -> List[str]: method merge_chunks (line 87) | def merge_chunks(self, chunk_paths: List[str], output_path: str) -> str: method should_chunk (line 131) | def should_chunk(self, audio_duration_seconds: float) -> bool: FILE: audio_separator/separator/common_separator.py class CommonSeparator (line 15) | class CommonSeparator: method __init__ (line 57) | def __init__(self, config): method secondary_stem (line 148) | def secondary_stem(self, primary_stem: str): method separate (line 159) | def separate(self, audio_file_path): method final_process (line 165) | def final_process(self, stem_path, source, stem_name): method cached_sources_clear (line 174) | def cached_sources_clear(self): method cached_source_callback (line 184) | def cached_source_callback(self, model_architecture, model_name=None): method cached_model_source_holder (line 210) | def cached_model_source_holder(self, model_architecture, sources, mode... method prepare_mix (line 217) | def prepare_mix(self, mix): method write_audio (line 284) | def write_audio(self, stem_path: str, stem_source): method write_audio_pydub (line 303) | def write_audio_pydub(self, stem_path: str, stem_source): method write_audio_soundfile (line 391) | def write_audio_soundfile(self, stem_path: str, stem_source): method clear_gpu_cache (line 453) | def clear_gpu_cache(self): method clear_file_specific_paths (line 466) | def clear_file_specific_paths(self): method sanitize_filename (line 481) | def sanitize_filename(self, filename): method get_stem_output_path (line 490) | def get_stem_output_path(self, stem_name, custom_output_names): method _detect_roformer_model (line 509) | def _detect_roformer_model(self): method _initialize_roformer_loader (line 533) | def _initialize_roformer_loader(self): method get_roformer_loading_stats (line 545) | def get_roformer_loading_stats(self): method validate_roformer_config (line 556) | def validate_roformer_config(self, config, model_type): FILE: audio_separator/separator/ensembler.py class Ensembler (line 6) | class Ensembler: method __init__ (line 7) | def __init__(self, logger, algorithm="avg_wave", weights=None): method ensemble (line 12) | def ensemble(self, waveforms): method _lambda_max (line 76) | def _lambda_max(self, arr, axis=None, key=None, keepdims=False): method _lambda_min (line 87) | def _lambda_min(self, arr, axis=None, key=None, keepdims=False): method _stft (line 98) | def _stft(self, wave, nfft=2048, hl=1024): method _istft (line 111) | def _istft(self, spec, hl=1024, length=None, original_channels=None): method _ensemble_fft (line 126) | def _ensemble_fft(self, waveforms, weights): method _ensemble_uvr (line 153) | def _ensemble_uvr(self, waveforms, uvr_algorithm): FILE: audio_separator/separator/roformer/bs_roformer_config.py class BSRoformerConfig (line 12) | class BSRoformerConfig(ModelConfiguration): method __post_init__ (line 26) | def __post_init__(self): method _validate_bs_roformer_parameters (line 31) | def _validate_bs_roformer_parameters(self): method get_total_frequency_bins (line 48) | def get_total_frequency_bins(self) -> int: method validate_against_stft_config (line 52) | def validate_against_stft_config(self, n_fft: int) -> bool: method get_stft_compatibility_info (line 67) | def get_stft_compatibility_info(self, n_fft: int) -> Dict[str, Any]: method get_model_type (line 88) | def get_model_type(self) -> RoformerType: method get_bs_roformer_kwargs (line 92) | def get_bs_roformer_kwargs(self) -> Dict[str, Any]: method from_model_config (line 107) | def from_model_config(cls, config_dict: Dict[str, Any]) -> 'BSRoformer... method suggest_stft_n_fft (line 125) | def suggest_stft_n_fft(self) -> int: method get_parameter_summary (line 136) | def get_parameter_summary(self) -> str: method __repr__ (line 142) | def __repr__(self) -> str: FILE: audio_separator/separator/roformer/bs_roformer_validator.py class BSRoformerValidator (line 10) | class BSRoformerValidator(ParameterValidator): method validate_freqs_per_bands (line 23) | def validate_freqs_per_bands(self, config: Dict[str, Any]) -> List[Val... method validate_stft_compatibility (line 106) | def validate_stft_compatibility(self, config: Dict[str, Any]) -> List[... method validate_mask_estimator_config (line 141) | def validate_mask_estimator_config(self, config: Dict[str, Any]) -> Li... method validate_all (line 178) | def validate_all(self, config: Dict[str, Any], model_type: str = "bs_r... method get_parameter_defaults (line 199) | def get_parameter_defaults(self, model_type: str = "bs_roformer") -> D... FILE: audio_separator/separator/roformer/configuration_normalizer.py class ConfigurationNormalizer (line 18) | class ConfigurationNormalizer: method __init__ (line 26) | def __init__(self): method normalize_config (line 32) | def normalize_config(self, method _normalize_structure (line 73) | def _normalize_structure(self, config: Dict[str, Any], model_type: str... method _normalize_parameter_names (line 98) | def _normalize_parameter_names(self, config: Dict[str, Any]) -> Dict[s... method _normalize_parameter_values (line 143) | def _normalize_parameter_values(self, config: Dict[str, Any], model_ty... method _normalize_single_value (line 155) | def _normalize_single_value(self, key: str, value: Any, model_type: st... method _apply_defaults (line 213) | def _apply_defaults(self, config: Dict[str, Any], model_type: str) -> ... method _validate_config (line 225) | def _validate_config(self, config: Dict[str, Any], model_type: str) ->... method detect_model_type (line 237) | def detect_model_type(self, config: Dict[str, Any]) -> Optional[str]: method normalize_from_file_path (line 269) | def normalize_from_file_path(self, FILE: audio_separator/separator/roformer/mel_band_roformer_config.py class MelBandRoformerConfig (line 12) | class MelBandRoformerConfig(ModelConfiguration): method __post_init__ (line 28) | def __post_init__(self): method _validate_mel_band_roformer_parameters (line 33) | def _validate_mel_band_roformer_parameters(self): method get_effective_fmax (line 57) | def get_effective_fmax(self) -> float: method get_frequency_range (line 61) | def get_frequency_range(self) -> tuple[float, float]: method validate_sample_rate (line 65) | def validate_sample_rate(self, sample_rate: int) -> bool: method get_mel_scale_info (line 82) | def get_mel_scale_info(self) -> Dict[str, Any]: method _estimate_bands_per_octave (line 99) | def _estimate_bands_per_octave(self) -> float: method get_model_type (line 110) | def get_model_type(self) -> RoformerType: method get_mel_band_roformer_kwargs (line 114) | def get_mel_band_roformer_kwargs(self) -> Dict[str, Any]: method from_model_config (line 132) | def from_model_config(cls, config_dict: Dict[str, Any]) -> 'MelBandRof... method suggest_optimal_bands (line 150) | def suggest_optimal_bands(self, target_frequency_resolution: float = 5... method get_parameter_summary (line 167) | def get_parameter_summary(self) -> str: method __repr__ (line 173) | def __repr__(self) -> str: FILE: audio_separator/separator/roformer/mel_band_roformer_validator.py class MelBandRoformerValidator (line 10) | class MelBandRoformerValidator(ParameterValidator): method validate_num_bands (line 33) | def validate_num_bands(self, config: Dict[str, Any]) -> List[Validatio... method validate_sample_rate_compatibility (line 104) | def validate_sample_rate_compatibility(self, config: Dict[str, Any]) -... method validate_mel_scale_config (line 162) | def validate_mel_scale_config(self, config: Dict[str, Any]) -> List[Va... method validate_all (line 247) | def validate_all(self, config: Dict[str, Any], model_type: str = "mel_... method get_parameter_defaults (line 268) | def get_parameter_defaults(self, model_type: str = "mel_band_roformer"... FILE: audio_separator/separator/roformer/model_configuration.py class RoformerType (line 11) | class RoformerType(Enum): class ModelConfiguration (line 18) | class ModelConfiguration: method __post_init__ (line 59) | def __post_init__(self): method _validate_basic_parameters (line 64) | def _validate_basic_parameters(self): method _validate_parameter_ranges (line 78) | def _validate_parameter_ranges(self): method to_dict (line 95) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 105) | def from_dict(cls, config_dict: Dict[str, Any]) -> 'ModelConfiguration': method get_transformer_kwargs (line 123) | def get_transformer_kwargs(self) -> Dict[str, Any]: method has_new_parameters (line 137) | def has_new_parameters(self) -> bool: method get_parameter_summary (line 147) | def get_parameter_summary(self) -> str: method __repr__ (line 155) | def __repr__(self) -> str: FILE: audio_separator/separator/roformer/model_loading_result.py class ImplementationVersion (line 11) | class ImplementationVersion(Enum): class ModelLoadingResult (line 19) | class ModelLoadingResult: method __post_init__ (line 39) | def __post_init__(self): method add_warning (line 50) | def add_warning(self, warning: str): method add_model_info (line 55) | def add_model_info(self, key: str, value: Any): method get_summary (line 59) | def get_summary(self) -> str: method is_fallback_used (line 72) | def is_fallback_used(self) -> bool: method is_new_implementation_used (line 76) | def is_new_implementation_used(self) -> bool: method has_warnings (line 80) | def has_warnings(self) -> bool: method get_model_parameters_count (line 84) | def get_model_parameters_count(self) -> Optional[int]: method get_model_size_mb (line 98) | def get_model_size_mb(self) -> Optional[float]: method to_dict (line 107) | def to_dict(self) -> Dict[str, Any]: method success_result (line 122) | def success_result( method failure_result (line 150) | def failure_result( method fallback_success_result (line 175) | def fallback_success_result( method __str__ (line 204) | def __str__(self) -> str: method __repr__ (line 208) | def __repr__(self) -> str: FILE: audio_separator/separator/roformer/parameter_validation_error.py class ParameterValidationError (line 9) | class ParameterValidationError(Exception): method __init__ (line 17) | def __init__( method _create_error_message (line 45) | def _create_error_message(self) -> str: method get_error_details (line 61) | def get_error_details(self) -> dict: method missing_parameter (line 74) | def missing_parameter(cls, parameter_name: str, parameter_type: str, c... method wrong_type (line 95) | def wrong_type(cls, parameter_name: str, expected_type: str, actual_va... method out_of_range (line 117) | def out_of_range(cls, parameter_name: str, valid_range: str, actual_va... method incompatible_parameters (line 139) | def incompatible_parameters(cls, parameter_names: list, issue_descript... method invalid_normalization (line 162) | def invalid_normalization(cls, norm_value: Any, supported_norms: list,... method __repr__ (line 183) | def __repr__(self) -> str: FILE: audio_separator/separator/roformer/parameter_validator.py class ValidationSeverity (line 36) | class ValidationSeverity(Enum): class ValidationIssue (line 42) | class ValidationIssue: class ParameterValidatorInterface (line 50) | class ParameterValidatorInterface: class ParameterValidator (line 57) | class ParameterValidator(ParameterValidatorInterface): method validate_required_parameters (line 115) | def validate_required_parameters(self, config: Dict[str, Any], model_t... method validate_parameter_types (line 144) | def validate_parameter_types(self, config: Dict[str, Any]) -> List[Val... method validate_parameter_ranges (line 173) | def validate_parameter_ranges(self, config: Dict[str, Any]) -> List[Va... method validate_parameter_compatibility (line 202) | def validate_parameter_compatibility(self, config: Dict[str, Any]) -> ... method validate_normalization_config (line 260) | def validate_normalization_config(self, norm_config: Any) -> List[Vali... method get_parameter_defaults (line 297) | def get_parameter_defaults(self, model_type: str) -> Dict[str, Any]: method apply_parameter_defaults (line 339) | def apply_parameter_defaults(self, config: Dict[str, Any], model_type:... method _is_correct_type (line 356) | def _is_correct_type(self, value: Any, expected_type: Union[type, Tupl... method _get_type_name (line 362) | def _get_type_name(self, expected_type: Union[type, Tuple[type, ...]])... method _get_expected_type_description (line 368) | def _get_expected_type_description(self, param_name: str) -> str: method validate_all (line 374) | def validate_all(self, config: Dict[str, Any], model_type: str) -> Lis... method validate_and_raise (line 398) | def validate_and_raise(self, config: Dict[str, Any], model_type: str) ... FILE: audio_separator/separator/roformer/roformer_loader.py class RoformerLoader (line 13) | class RoformerLoader: method __init__ (line 16) | def __init__(self): method load_model (line 23) | def load_model(self, method validate_configuration (line 68) | def validate_configuration(self, config: Dict[str, Any], model_type: s... method _load_with_new_implementation (line 82) | def _load_with_new_implementation(self, method _create_bs_roformer (line 123) | def _create_bs_roformer(self, config: Dict[str, Any]): method _create_mel_band_roformer (line 153) | def _create_mel_band_roformer(self, config: Dict[str, Any]): method _load_with_legacy_implementation (line 197) | def _load_with_legacy_implementation(self, method get_loading_stats (line 237) | def get_loading_stats(self) -> Dict[str, int]: method reset_loading_stats (line 240) | def reset_loading_stats(self) -> None: method detect_model_type (line 246) | def detect_model_type(self, model_path: str) -> str: method get_default_configuration (line 257) | def get_default_configuration(self, model_type: str) -> Dict[str, Any]: FILE: audio_separator/separator/separator.py class Separator (line 52) | class Separator: method __init__ (line 108) | def __init__( method _load_ensemble_preset (line 265) | def _load_ensemble_preset(self, preset_name): method list_ensemble_presets (line 304) | def list_ensemble_presets(self): method setup_accelerated_inferencing_device (line 317) | def setup_accelerated_inferencing_device(self): method get_system_info (line 326) | def get_system_info(self): method check_ffmpeg_installed (line 344) | def check_ffmpeg_installed(self): method log_onnxruntime_packages (line 359) | def log_onnxruntime_packages(self): method setup_torch_device (line 377) | def setup_torch_device(self, system_info): method configure_cuda (line 404) | def configure_cuda(self, ort_providers): method configure_mps (line 416) | def configure_mps(self, ort_providers): method configure_dml (line 431) | def configure_dml(self, ort_providers): method get_package_distribution (line 446) | def get_package_distribution(self, package_name): method get_model_hash (line 456) | def get_model_hash(self, model_path): method download_file_if_not_exists (line 491) | def download_file_if_not_exists(self, url, output_path): method list_supported_model_files (line 515) | def list_supported_model_files(self): method print_uvr_vip_message (line 685) | def print_uvr_vip_message(self): method download_model_files (line 693) | def download_model_files(self, model_filename): method load_model_data_from_yaml (line 758) | def load_model_data_from_yaml(self, yaml_config_filename): method load_model_data_using_hash (line 779) | def load_model_data_using_hash(self, model_path): method load_model (line 830) | def load_model(self, model_filename="model_bs_roformer_ep_317_sdr_12.9... method separate (line 935) | def separate(self, audio_file_path, custom_output_names=None): method _separate_file (line 991) | def _separate_file(self, audio_file_path, custom_output_names=None): method _process_with_chunking (line 1047) | def _process_with_chunking(self, audio_file_path, custom_output_names=... method download_model_and_data (line 1158) | def download_model_and_data(self, model_filename): method get_simplified_model_list (line 1178) | def get_simplified_model_list(self, filter_sort_by: Optional[str] = No... method _separate_ensemble (line 1242) | def _separate_ensemble(self, audio_file_path, custom_output_names=None): FILE: audio_separator/separator/uvr_lib_v5/demucs/__main__.py class SavedState (line 30) | class SavedState: function main (line 37) | def main(): FILE: audio_separator/separator/uvr_lib_v5/demucs/apply.py class BagOfModels (line 28) | class BagOfModels(nn.Module): method __init__ (line 29) | def __init__(self, models: tp.List[Model], weights: tp.Optional[tp.Lis... method forward (line 67) | def forward(self, x): class TensorChunk (line 71) | class TensorChunk: method __init__ (line 72) | def __init__(self, tensor, offset=0, length=None): method shape (line 92) | def shape(self): method padded (line 97) | def padded(self, target_length): function tensor_chunk (line 116) | def tensor_chunk(tensor_or_chunk): function apply_model (line 124) | def apply_model(model, mix, shifts=1, split=True, overlap=0.25, transiti... function demucs_segments (line 263) | def demucs_segments(demucs_segment, demucs_model): FILE: audio_separator/separator/uvr_lib_v5/demucs/demucs.py class BLSTM (line 19) | class BLSTM(nn.Module): method __init__ (line 26) | def __init__(self, dim, layers=1, max_steps=None, skip=False): method forward (line 34) | def forward(self, x): function rescale_conv (line 70) | def rescale_conv(conv, reference): function rescale_module (line 79) | def rescale_module(module, reference): class LayerScale (line 85) | class LayerScale(nn.Module): method __init__ (line 90) | def __init__(self, channels: int, init: float = 0): method forward (line 95) | def forward(self, x): class DConv (line 99) | class DConv(nn.Module): method __init__ (line 107) | def __init__(self, channels: int, compress: float = 4, depth: int = 2,... method forward (line 165) | def forward(self, x): class LocalState (line 171) | class LocalState(nn.Module): method __init__ (line 178) | def __init__(self, channels: int, heads: int = 4, nfreqs: int = 0, nde... method forward (line 197) | def forward(self, x): class Demucs (line 234) | class Demucs(nn.Module): method __init__ (line 236) | def __init__( method valid_length (line 382) | def valid_length(self, length): method forward (line 405) | def forward(self, mix): method load_state_dict (line 444) | def load_state_dict(self, state, strict=True): FILE: audio_separator/separator/uvr_lib_v5/demucs/filtering.py function atan2 (line 8) | def atan2(y, x): function _norm (line 36) | def _norm(x: torch.Tensor) -> torch.Tensor: function _mul_add (line 49) | def _mul_add(a: torch.Tensor, b: torch.Tensor, out: Optional[torch.Tenso... function _mul (line 68) | def _mul(a: torch.Tensor, b: torch.Tensor, out: Optional[torch.Tensor] =... function _inv (line 85) | def _inv(z: torch.Tensor, out: Optional[torch.Tensor] = None) -> torch.T... function _conj (line 97) | def _conj(z, out: Optional[torch.Tensor] = None) -> torch.Tensor: function _invert (line 108) | def _invert(M: torch.Tensor, out: Optional[torch.Tensor] = None) -> torc... function expectation_maximization (line 153) | def expectation_maximization(y: torch.Tensor, x: torch.Tensor, iteration... function wiener (line 312) | def wiener(targets_spectrograms: torch.Tensor, mix_stft: torch.Tensor, i... function _covariance (line 434) | def _covariance(y_j): FILE: audio_separator/separator/uvr_lib_v5/demucs/hdemucs.py function pad1d (line 21) | def pad1d(x: torch.Tensor, paddings: tp.Tuple[int, int], mode: str = "co... class ScaledEmbedding (line 41) | class ScaledEmbedding(nn.Module): method __init__ (line 47) | def __init__(self, num_embeddings: int, embedding_dim: int, scale: flo... method weight (line 59) | def weight(self): method forward (line 62) | def forward(self, x): class HEncLayer (line 67) | class HEncLayer(nn.Module): method __init__ (line 68) | def __init__(self, chin, chout, kernel_size=8, stride=4, norm_groups=1... method forward (line 119) | def forward(self, x, inject=None): class MultiWrap (line 156) | class MultiWrap(nn.Module): method __init__ (line 166) | def __init__(self, layer, split_ratios): method forward (line 192) | def forward(self, x, skip=None, length=None): class HDecLayer (line 252) | class HDecLayer(nn.Module): method __init__ (line 253) | def __init__( method forward (line 299) | def forward(self, x, skip, length): class HDemucs (line 333) | class HDemucs(nn.Module): method __init__ (line 362) | def __init__( method _spec (line 574) | def _spec(self, x): method _ispec (line 601) | def _ispec(self, z, length=None, scale=0): method _magnitude (line 620) | def _magnitude(self, z): method _mask (line 631) | def _mask(self, z, m): method _wiener (line 648) | def _wiener(self, mag_out, mix_stft, niters): method forward (line 674) | def forward(self, mix): FILE: audio_separator/separator/uvr_lib_v5/demucs/htdemucs.py class HTDemucs (line 27) | class HTDemucs(nn.Module): method __init__ (line 56) | def __init__( method _spec (line 383) | def _spec(self, x): method _ispec (line 405) | def _ispec(self, z, length=None, scale=0): method _magnitude (line 415) | def _magnitude(self, z): method _mask (line 426) | def _mask(self, z, m): method _wiener (line 443) | def _wiener(self, mag_out, mix_stft, niters): method valid_length (line 469) | def valid_length(self, length: int): method forward (line 483) | def forward(self, mix): FILE: audio_separator/separator/uvr_lib_v5/demucs/model.py class BLSTM (line 15) | class BLSTM(nn.Module): method __init__ (line 16) | def __init__(self, dim, layers=1): method forward (line 21) | def forward(self, x): function rescale_conv (line 29) | def rescale_conv(conv, reference): function rescale_module (line 37) | def rescale_module(module, reference): function upsample (line 43) | def upsample(x, stride): function downsample (line 54) | def downsample(x, stride): class Demucs (line 61) | class Demucs(nn.Module): method __init__ (line 63) | def __init__( method valid_length (line 154) | def valid_length(self, length): method forward (line 182) | def forward(self, mix): FILE: audio_separator/separator/uvr_lib_v5/demucs/model_v2.py class BLSTM (line 16) | class BLSTM(nn.Module): method __init__ (line 17) | def __init__(self, dim, layers=1): method forward (line 22) | def forward(self, x): function rescale_conv (line 30) | def rescale_conv(conv, reference): function rescale_module (line 38) | def rescale_module(module, reference): function auto_load_demucs_model_v2 (line 44) | def auto_load_demucs_model_v2(sources, demucs_model_name): class Demucs (line 61) | class Demucs(nn.Module): method __init__ (line 63) | def __init__( method valid_length (line 165) | def valid_length(self, length): method forward (line 191) | def forward(self, mix): FILE: audio_separator/separator/uvr_lib_v5/demucs/pretrained.py function demucs_unittest (line 34) | def demucs_unittest(): function add_model_flags (line 39) | def add_model_flags(parser): function _parse_remote_files (line 46) | def _parse_remote_files(remote_file_list) -> tp.Dict[str, str]: function get_model (line 62) | def get_model(name: str, repo: tp.Optional[Path] = None): function get_model_from_args (line 84) | def get_model_from_args(args): function get_url (line 107) | def get_url(name): function is_pretrained (line 112) | def is_pretrained(name): function load_pretrained (line 116) | def load_pretrained(name): function _load_state (line 135) | def _load_state(name, model, quantizer=None): function demucs_unittest (line 143) | def demucs_unittest(pretrained=True): function demucs (line 150) | def demucs(pretrained=True, extra=False, quantized=False, hq=False, chan... function tasnet (line 172) | def tasnet(pretrained=True, extra=False): FILE: audio_separator/separator/uvr_lib_v5/demucs/repo.py class ModelLoadingError (line 25) | class ModelLoadingError(RuntimeError): function check_checksum (line 29) | def check_checksum(path: Path, checksum: str): class ModelOnlyRepo (line 42) | class ModelOnlyRepo: method has_model (line 45) | def has_model(self, sig: str) -> bool: method get_model (line 48) | def get_model(self, sig: str) -> Model: class RemoteRepo (line 52) | class RemoteRepo(ModelOnlyRepo): method __init__ (line 53) | def __init__(self, models: tp.Dict[str, str]): method has_model (line 56) | def has_model(self, sig: str) -> bool: method get_model (line 59) | def get_model(self, sig: str) -> Model: class LocalRepo (line 68) | class LocalRepo(ModelOnlyRepo): method __init__ (line 69) | def __init__(self, root: Path): method scan (line 73) | def scan(self): method has_model (line 88) | def has_model(self, sig: str) -> bool: method get_model (line 91) | def get_model(self, sig: str) -> Model: class BagOnlyRepo (line 101) | class BagOnlyRepo: method __init__ (line 106) | def __init__(self, root: Path, model_repo: ModelOnlyRepo): method scan (line 111) | def scan(self): method has_model (line 117) | def has_model(self, name: str) -> bool: method get_model (line 120) | def get_model(self, name: str) -> BagOfModels: class AnyModelRepo (line 133) | class AnyModelRepo: method __init__ (line 134) | def __init__(self, model_repo: ModelOnlyRepo, bag_repo: BagOnlyRepo): method has_model (line 138) | def has_model(self, name_or_sig: str) -> bool: method get_model (line 141) | def get_model(self, name_or_sig: str) -> AnyModel: FILE: audio_separator/separator/uvr_lib_v5/demucs/spec.py function spectro (line 11) | def spectro(x, n_fft=512, hop_length=None, pad=0): function ispectro (line 25) | def ispectro(z, hop_length=None, length=None, pad=0): FILE: audio_separator/separator/uvr_lib_v5/demucs/states.py function get_quantizer (line 22) | def get_quantizer(model, args, optimizer=None): function load_model (line 34) | def load_model(path_or_package, strict=False): function get_state (line 67) | def get_state(model, quantizer, half=False): function set_state (line 80) | def set_state(model, state, quantizer=None): function save_with_checksum (line 92) | def save_with_checksum(content, path): function copy_state (line 103) | def copy_state(state): function swap_state (line 108) | def swap_state(model, state): function capture_init (line 125) | def capture_init(init): FILE: audio_separator/separator/uvr_lib_v5/demucs/tasnet.py function overlap_and_add (line 44) | def overlap_and_add(signal, frame_step): class ConvTasNet (line 66) | class ConvTasNet(nn.Module): method __init__ (line 68) | def __init__(self, N=256, L=20, B=256, H=512, P=3, X=8, R=4, C=4, audi... method valid_length (line 100) | def valid_length(self, length): method forward (line 103) | def forward(self, mixture): class Encoder (line 121) | class Encoder(nn.Module): method __init__ (line 124) | def __init__(self, L, N, audio_channels): method forward (line 132) | def forward(self, mixture): class Decoder (line 143) | class Decoder(nn.Module): method __init__ (line 144) | def __init__(self, N, L, audio_channels): method forward (line 152) | def forward(self, mixture_w, est_mask): class TemporalConvNet (line 171) | class TemporalConvNet(nn.Module): method __init__ (line 172) | def __init__(self, N, B, H, P, X, R, C, norm_type="gLN", causal=False,... method forward (line 210) | def forward(self, mixture_w): class TemporalBlock (line 230) | class TemporalBlock(nn.Module): method __init__ (line 231) | def __init__(self, in_channels, out_channels, kernel_size, stride, pad... method forward (line 242) | def forward(self, x): class DepthwiseSeparableConv (line 256) | class DepthwiseSeparableConv(nn.Module): method __init__ (line 257) | def __init__(self, in_channels, out_channels, kernel_size, stride, pad... method forward (line 274) | def forward(self, x): class Chomp1d (line 284) | class Chomp1d(nn.Module): method __init__ (line 287) | def __init__(self, chomp_size): method forward (line 291) | def forward(self, x): function chose_norm (line 301) | def chose_norm(norm_type, channel_size): class ChannelwiseLayerNorm (line 318) | class ChannelwiseLayerNorm(nn.Module): method __init__ (line 321) | def __init__(self, channel_size): method reset_parameters (line 327) | def reset_parameters(self): method forward (line 331) | def forward(self, y): class GlobalLayerNorm (line 344) | class GlobalLayerNorm(nn.Module): method __init__ (line 347) | def __init__(self, channel_size): method reset_parameters (line 353) | def reset_parameters(self): method forward (line 357) | def forward(self, y): FILE: audio_separator/separator/uvr_lib_v5/demucs/tasnet_v2.py function overlap_and_add (line 44) | def overlap_and_add(signal, frame_step): class ConvTasNet (line 66) | class ConvTasNet(nn.Module): method __init__ (line 68) | def __init__(self, sources, N=256, L=20, B=256, H=512, P=3, X=8, R=4, ... method valid_length (line 103) | def valid_length(self, length): method forward (line 106) | def forward(self, mixture): class Encoder (line 124) | class Encoder(nn.Module): method __init__ (line 127) | def __init__(self, L, N, audio_channels): method forward (line 135) | def forward(self, mixture): class Decoder (line 146) | class Decoder(nn.Module): method __init__ (line 147) | def __init__(self, N, L, audio_channels): method forward (line 155) | def forward(self, mixture_w, est_mask): class TemporalConvNet (line 174) | class TemporalConvNet(nn.Module): method __init__ (line 175) | def __init__(self, N, B, H, P, X, R, C, norm_type="gLN", causal=False,... method forward (line 213) | def forward(self, mixture_w): class TemporalBlock (line 233) | class TemporalBlock(nn.Module): method __init__ (line 234) | def __init__(self, in_channels, out_channels, kernel_size, stride, pad... method forward (line 245) | def forward(self, x): class DepthwiseSeparableConv (line 259) | class DepthwiseSeparableConv(nn.Module): method __init__ (line 260) | def __init__(self, in_channels, out_channels, kernel_size, stride, pad... method forward (line 277) | def forward(self, x): class Chomp1d (line 287) | class Chomp1d(nn.Module): method __init__ (line 290) | def __init__(self, chomp_size): method forward (line 294) | def forward(self, x): function chose_norm (line 304) | def chose_norm(norm_type, channel_size): class ChannelwiseLayerNorm (line 321) | class ChannelwiseLayerNorm(nn.Module): method __init__ (line 324) | def __init__(self, channel_size): method reset_parameters (line 330) | def reset_parameters(self): method forward (line 334) | def forward(self, y): class GlobalLayerNorm (line 347) | class GlobalLayerNorm(nn.Module): method __init__ (line 350) | def __init__(self, channel_size): method reset_parameters (line 356) | def reset_parameters(self): method forward (line 360) | def forward(self, y): FILE: audio_separator/separator/uvr_lib_v5/demucs/transformer.py function create_sin_embedding (line 19) | def create_sin_embedding(length: int, dim: int, shift: int = 0, device="... function create_2d_sin_embedding (line 29) | def create_2d_sin_embedding(d_model, height, width, device="cpu", max_pe... function create_sin_embedding_cape (line 52) | def create_sin_embedding_cape( function get_causal_mask (line 85) | def get_causal_mask(length): function get_elementary_mask (line 90) | def get_elementary_mask(T1, T2, mask_type, sparse_attn_window, global_wi... function get_mask (line 129) | def get_mask(T1, T2, mask_type, sparse_attn_window, global_window, mask_... class ScaledEmbedding (line 146) | class ScaledEmbedding(nn.Module): method __init__ (line 147) | def __init__(self, num_embeddings: int, embedding_dim: int, scale: flo... method weight (line 154) | def weight(self): method forward (line 157) | def forward(self, x): class LayerScale (line 161) | class LayerScale(nn.Module): method __init__ (line 166) | def __init__(self, channels: int, init: float = 0, channel_last=False): method forward (line 176) | def forward(self, x): class MyGroupNorm (line 183) | class MyGroupNorm(nn.GroupNorm): method __init__ (line 184) | def __init__(self, *args, **kwargs): method forward (line 187) | def forward(self, x): class MyTransformerEncoderLayer (line 196) | class MyTransformerEncoderLayer(nn.TransformerEncoderLayer): method __init__ (line 197) | def __init__( method forward (line 257) | def forward(self, src, src_mask=None, src_key_padding_mask=None): class CrossTransformerEncoderLayer (line 285) | class CrossTransformerEncoderLayer(nn.Module): method __init__ (line 286) | def __init__( method forward (line 364) | def forward(self, q, k, mask=None): method _ca_block (line 394) | def _ca_block(self, q, k, attn_mask=None): method _ff_block (line 399) | def _ff_block(self, x): method _get_activation_fn (line 403) | def _get_activation_fn(self, activation): class CrossTransformerEncoder (line 415) | class CrossTransformerEncoder(nn.Module): method __init__ (line 416) | def __init__( method forward (line 529) | def forward(self, x, xt): method _get_pos_embedding (line 557) | def _get_pos_embedding(self, T, B, C, device): method make_optim_group (line 584) | def make_optim_group(self): class MultiheadAttention (line 594) | class MultiheadAttention(nn.Module): method __init__ (line 595) | def __init__(self, embed_dim, num_heads, dropout=0.0, bias=True, add_b... method forward (line 608) | def forward(self, query, key, value, key_padding_mask=None, need_weigh... function scaled_query_key_softmax (line 639) | def scaled_query_key_softmax(q, k, att_mask): function scaled_dot_product_attention (line 648) | def scaled_dot_product_attention(q, k, v, att_mask, dropout): function _compute_buckets (line 655) | def _compute_buckets(x, R): function dynamic_sparse_attention (line 663) | def dynamic_sparse_attention(query, key, value, sparsity, infer_sparsity... FILE: audio_separator/separator/uvr_lib_v5/demucs/utils.py function unfold (line 35) | def unfold(a, kernel_size, stride): function center_trim (line 53) | def center_trim(tensor: torch.Tensor, reference: tp.Union[torch.Tensor, ... function pull_metric (line 72) | def pull_metric(history: tp.List[dict], name: str): function EMA (line 82) | def EMA(beta: float = 1): function sizeof_fmt (line 104) | def sizeof_fmt(num: float, suffix: str = "B"): function temp_filenames (line 117) | def temp_filenames(count: int, delete=True): function average_metric (line 129) | def average_metric(metric, count=1.0): function free_port (line 139) | def free_port(host="", low=20000, high=40000): function sizeof_fmt (line 157) | def sizeof_fmt(num, suffix="B"): function human_seconds (line 169) | def human_seconds(seconds, display=".2f"): class TensorChunk (line 185) | class TensorChunk: method __init__ (line 186) | def __init__(self, tensor, offset=0, length=None): method shape (line 202) | def shape(self): method padded (line 207) | def padded(self, target_length): function tensor_chunk (line 226) | def tensor_chunk(tensor_or_chunk): function apply_model_v1 (line 234) | def apply_model_v1(model, mix, shifts=None, split=False, progress=False,... function apply_model_v2 (line 295) | def apply_model_v2(model, mix, shifts=None, split=False, overlap=0.25, t... function temp_filenames (line 374) | def temp_filenames(count, delete=True): function get_quantizer (line 386) | def get_quantizer(model, args, optimizer=None): function load_model (line 397) | def load_model(path, strict=False): function get_state (line 425) | def get_state(model, quantizer): function set_state (line 436) | def set_state(model, quantizer, state): function save_state (line 447) | def save_state(state, path): function save_model (line 456) | def save_model(model, quantizer, training_args, path): function capture_init (line 467) | def capture_init(init): class DummyPoolExecutor (line 476) | class DummyPoolExecutor: class DummyResult (line 477) | class DummyResult: method __init__ (line 478) | def __init__(self, func, *args, **kwargs): method result (line 483) | def result(self): method __init__ (line 486) | def __init__(self, workers=0): method submit (line 489) | def submit(self, func, *args, **kwargs): method __enter__ (line 492) | def __enter__(self): method __exit__ (line 495) | def __exit__(self, exc_type, exc_value, exc_tb): FILE: audio_separator/separator/uvr_lib_v5/mdxnet.py class AbstractMDXNet (line 8) | class AbstractMDXNet(LightningModule): method __init__ (line 9) | def __init__(self, target_name, lr, optimizer, dim_c, dim_f, dim_t, n_... method get_optimizer (line 23) | def get_optimizer(self): class ConvTDFNet (line 30) | class ConvTDFNet(AbstractMDXNet): method __init__ (line 31) | def __init__(self, target_name, lr, optimizer, dim_c, dim_f, dim_t, n_... method forward (line 97) | def forward(self, x): class Mixer (line 122) | class Mixer(nn.Module): method __init__ (line 123) | def __init__(self, device, mixer_path): method forward (line 133) | def forward(self, x): FILE: audio_separator/separator/uvr_lib_v5/modules.py class TFC (line 5) | class TFC(nn.Module): method __init__ (line 6) | def __init__(self, c, l, k, norm): method forward (line 19) | def forward(self, x): class DenseTFC (line 25) | class DenseTFC(nn.Module): method __init__ (line 26) | def __init__(self, c, l, k, norm): method forward (line 39) | def forward(self, x): class TFC_TDF (line 45) | class TFC_TDF(nn.Module): method __init__ (line 46) | def __init__(self, c, l, f, k, bn, dense=False, bias=True, norm=nn.Bat... method forward (line 71) | def forward(self, x): FILE: audio_separator/separator/uvr_lib_v5/playsound.py class PlaysoundException (line 4) | class PlaysoundException(Exception): function _canonicalizePath (line 7) | def _canonicalizePath(path): function _playsoundWin (line 19) | def _playsoundWin(sound, block = True): function _handlePathOSX (line 65) | def _handlePathOSX(sound): function _playsoundOSX (line 88) | def _playsoundOSX(sound, block = True): function _playsoundNix (line 128) | def _playsoundNix(sound, block = True): function _playsoundAnotherPython (line 177) | def _playsoundAnotherPython(otherPython, sound, block = True, macOS = Fa... function play (line 240) | def play(audio_filepath): FILE: audio_separator/separator/uvr_lib_v5/pyrb.py function __rubberband (line 23) | def __rubberband(y, sr, **kwargs): function time_stretch (line 68) | def time_stretch(y, sr, rate, rbargs=None): function pitch_shift (line 82) | def pitch_shift(y, sr, n_steps, rbargs=None): FILE: audio_separator/separator/uvr_lib_v5/results.py class Result (line 25) | class Result: method __init__ (line 26) | def __init__( function pcm16 (line 41) | def pcm16(file: str) -> Result: function pcm24 (line 44) | def pcm24(file: str) -> Result: function save_audiofile (line 47) | def save_audiofile(file: str, wav_set="PCM_16") -> Result: FILE: audio_separator/separator/uvr_lib_v5/roformer/attend.py function exists (line 18) | def exists(val): function once (line 22) | def once(fn): class Attend (line 41) | class Attend(nn.Module): method __init__ (line 42) | def __init__(self, dropout=0.0, flash=False): method flash_attn (line 66) | def flash_attn(self, q, k, v): method forward (line 83) | def forward(self, q, k, v): FILE: audio_separator/separator/uvr_lib_v5/roformer/bs_roformer.py function exists (line 21) | def exists(val): function default (line 25) | def default(v, d): function pack_one (line 29) | def pack_one(t, pattern): function unpack_one (line 33) | def unpack_one(t, ps, pattern): function l2norm (line 40) | def l2norm(t): class RMSNorm (line 44) | class RMSNorm(Module): method __init__ (line 45) | def __init__(self, dim): method forward (line 50) | def forward(self, x): class FeedForward (line 58) | class FeedForward(Module): method __init__ (line 59) | def __init__(self, dim, mult=4, dropout=0.0): method forward (line 64) | def forward(self, x): class Attention (line 68) | class Attention(Module): method __init__ (line 69) | def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, rotary_embe... method forward (line 86) | def forward(self, x): class LinearAttention (line 104) | class LinearAttention(Module): method __init__ (line 110) | def __init__(self, *, dim, dim_head=32, heads=8, scale=8, flash=False,... method forward (line 123) | def forward(self, x): class Transformer (line 136) | class Transformer(Module): method __init__ (line 137) | def __init__(self, *, dim, depth, dim_head=64, heads=8, attn_dropout=0... method forward (line 151) | def forward(self, x): class BandSplit (line 163) | class BandSplit(Module): method __init__ (line 165) | def __init__(self, dim, dim_inputs: Tuple[int, ...]): method forward (line 175) | def forward(self, x): function MLP (line 186) | def MLP(dim_in, dim_out, dim_hidden=None, depth=1, activation=nn.Tanh): class MaskEstimator (line 205) | class MaskEstimator(Module): method __init__ (line 207) | def __init__(self, dim, dim_inputs: Tuple[int, ...], depth, mlp_expans... method forward (line 220) | def forward(self, x): class BSRoformer (line 300) | class BSRoformer(Module): method __init__ (line 303) | def __init__( method forward (line 418) | def forward(self, raw_audio, target=None, return_loss_breakdown=False): FILE: audio_separator/separator/uvr_lib_v5/roformer/mel_band_roformer.py function exists (line 20) | def exists(val): function default (line 24) | def default(v, d): function pack_one (line 28) | def pack_one(t, pattern): function unpack_one (line 32) | def unpack_one(t, ps, pattern): function pad_at_dim (line 36) | def pad_at_dim(t, pad, dim=-1, value=0.0): class RMSNorm (line 42) | class RMSNorm(Module): method __init__ (line 43) | def __init__(self, dim): method forward (line 48) | def forward(self, x): class FeedForward (line 53) | class FeedForward(Module): method __init__ (line 54) | def __init__(self, dim, mult=4, dropout=0.0): method forward (line 59) | def forward(self, x): class Attention (line 63) | class Attention(Module): method __init__ (line 64) | def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, rotary_embe... method forward (line 81) | def forward(self, x): class Transformer (line 99) | class Transformer(Module): method __init__ (line 100) | def __init__(self, *, dim, depth, dim_head=64, heads=8, attn_dropout=0... method forward (line 113) | def forward(self, x): class BandSplit (line 122) | class BandSplit(Module): method __init__ (line 124) | def __init__(self, dim, dim_inputs: Tuple[int, ...]): method forward (line 134) | def forward(self, x): function MLP (line 145) | def MLP(dim_in, dim_out, dim_hidden=None, depth=1, activation=nn.Tanh): class MaskEstimator (line 164) | class MaskEstimator(Module): method __init__ (line 166) | def __init__(self, dim, dim_inputs: Tuple[int, ...], depth, mlp_expans... method forward (line 179) | def forward(self, x): class MelBandRoformer (line 191) | class MelBandRoformer(Module): method __init__ (line 194) | def __init__( method forward (line 327) | def forward(self, raw_audio, target=None, return_loss_breakdown=False): FILE: audio_separator/separator/uvr_lib_v5/spec_utils.py function crop_center (line 50) | def crop_center(h1, h2): function preprocess (line 74) | def preprocess(X_spec): function make_padding (line 85) | def make_padding(width, cropsize, offset): function normalize (line 99) | def normalize(wave, max_peak=1.0, min_peak=None): function auto_transpose (line 118) | def auto_transpose(audio_array: np.ndarray): function write_array_to_mem (line 135) | def write_array_to_mem(audio_data, subtype): function spectrogram_to_image (line 145) | def spectrogram_to_image(spec, mode="magnitude"): function reduce_vocal_aggressively (line 169) | def reduce_vocal_aggressively(X, y, softmask): function merge_artifacts (line 180) | def merge_artifacts(y_mask, thres=0.01, min_range=64, fade_size=32): function align_wave_head_and_tail (line 226) | def align_wave_head_and_tail(a, b): function convert_channels (line 232) | def convert_channels(spec, mp, band): function combine_spectrograms (line 250) | def combine_spectrograms(specs, mp, is_v51_model=False): function wave_to_spectrogram (line 282) | def wave_to_spectrogram(wave, hop_length, n_fft, mp, band, is_v51_model=... function spectrogram_to_wave (line 315) | def spectrogram_to_wave(spec, hop_length=1024, mp={}, band=0, is_v51_mod... function cmb_spectrogram_to_wave (line 341) | def cmb_spectrogram_to_wave(spec_m, mp, extra_bins_h=None, extra_bins=No... function get_lp_filter_mask (line 398) | def get_lp_filter_mask(n_bins, bin_start, bin_stop): function get_hp_filter_mask (line 404) | def get_hp_filter_mask(n_bins, bin_start, bin_stop): function fft_lp_filter (line 410) | def fft_lp_filter(spec, bin_start, bin_stop): function fft_hp_filter (line 421) | def fft_hp_filter(spec, bin_start, bin_stop): function spectrogram_to_wave_old (line 432) | def spectrogram_to_wave_old(spec, hop_length=1024): function wave_to_spectrogram_old (line 446) | def wave_to_spectrogram_old(wave, hop_length, n_fft): function mirroring (line 458) | def mirroring(a, spec_m, input_high_end, mp): function adjust_aggr (line 472) | def adjust_aggr(mask, is_non_accom_stem, aggressiveness): function stft (line 495) | def stft(wave, nfft, hl): function istft (line 505) | def istft(spec, hl): function spec_effects (line 515) | def spec_effects(wave, algorithm="Default", value=None): function spectrogram_to_wave_no_mp (line 538) | def spectrogram_to_wave_no_mp(spec, n_fft=2048, hop_length=1024): function wave_to_spectrogram_no_mp (line 547) | def wave_to_spectrogram_no_mp(wave): function invert_audio (line 557) | def invert_audio(specs, invert_p=True): function invert_stem (line 575) | def invert_stem(mixture, stem): function ensembling (line 583) | def ensembling(a, inputs, is_wavs=False): function ensemble_for_align (line 611) | def ensemble_for_align(waves): function ensemble_inputs (line 625) | def ensemble_inputs(audio_input, algorithm, is_normalization, wav_type_s... function to_shape (line 654) | def to_shape(x, target_shape): function to_shape_minimize (line 664) | def to_shape_minimize(x: np.ndarray, target_shape): function detect_leading_silence (line 675) | def detect_leading_silence(audio, sr, silence_threshold=0.007, frame_len... function adjust_leading_silence (line 699) | def adjust_leading_silence(target_audio, reference_audio, silence_thresh... function match_array_shapes (line 752) | def match_array_shapes(array_1: np.ndarray, array_2: np.ndarray, is_swap... function match_mono_array_shapes (line 772) | def match_mono_array_shapes(array_1: np.ndarray, array_2: np.ndarray): function change_pitch_semitones (line 783) | def change_pitch_semitones(y, sr, semitone_shift): function augment_audio (line 793) | def augment_audio(export_path, audio_file, rate, is_normalization, wav_t... function average_audio (line 821) | def average_audio(audio): function average_dual_sources (line 847) | def average_dual_sources(wav_1, wav_2, value): function reshape_sources (line 859) | def reshape_sources(wav_1: np.ndarray, wav_2: np.ndarray): function reshape_sources_ref (line 874) | def reshape_sources_ref(wav_1_shape, wav_2: np.ndarray): function combine_arrarys (line 882) | def combine_arrarys(audio_sources, is_swap=False): function combine_audio (line 892) | def combine_audio(paths: list, audio_file_base=None, wav_type_set="FLOAT... function reduce_mix_bv (line 900) | def reduce_mix_bv(inst_source, voc_source, reduction_rate=0.9): function organize_inputs (line 909) | def organize_inputs(inputs): function check_if_phase_inverted (line 925) | def check_if_phase_inverted(wav1, wav2, is_mono=False): function align_audio (line 937) | def align_audio( function phase_shift_hilbert (line 1114) | def phase_shift_hilbert(signal, degree): function get_phase_shifted_tracks (line 1119) | def get_phase_shifted_tracks(track, phase_shift): function time_correction (line 1134) | def time_correction(mix: np.ndarray, instrumental: np.ndarray, seconds_l... function ensemble_wav (line 1245) | def ensemble_wav(waveforms, split_size=240): function ensemble_wav_min (line 1269) | def ensemble_wav_min(waveforms): function align_audio_test (line 1283) | def align_audio_test(wav1, wav2, sr1=44100): function load_audio (line 1314) | def load_audio(audio_file): function rerun_mp3 (line 1323) | def rerun_mp3(audio_file): FILE: audio_separator/separator/uvr_lib_v5/stft.py class STFT (line 4) | class STFT: method __init__ (line 11) | def __init__(self, logger, n_fft, hop_length, dim_f, device): method __call__ (line 20) | def __call__(self, input_tensor): method pad_frequency_dimension (line 58) | def pad_frequency_dimension(self, input_tensor, batch_dimensions, chan... method calculate_inverse_dimensions (line 70) | def calculate_inverse_dimensions(self, input_tensor): method prepare_for_istft (line 80) | def prepare_for_istft(self, padded_tensor, batch_dimensions, channel_d... method inverse (line 99) | def inverse(self, input_tensor): FILE: audio_separator/separator/uvr_lib_v5/tfc_tdf_v3.py class STFT (line 5) | class STFT: method __init__ (line 6) | def __init__(self, n_fft, hop_length, dim_f, device): method __call__ (line 13) | def __call__(self, x): method inverse (line 32) | def inverse(self, x): function get_norm (line 55) | def get_norm(norm_type): function get_act (line 72) | def get_act(act_type): class Upscale (line 84) | class Upscale(nn.Module): method __init__ (line 85) | def __init__(self, in_c, out_c, scale, norm, act): method forward (line 93) | def forward(self, x): class Downscale (line 97) | class Downscale(nn.Module): method __init__ (line 98) | def __init__(self, in_c, out_c, scale, norm, act): method forward (line 106) | def forward(self, x): class TFC_TDF (line 110) | class TFC_TDF(nn.Module): method __init__ (line 111) | def __init__(self, in_c, c, l, f, bn, norm, act): method forward (line 141) | def forward(self, x): class TFC_TDF_net (line 151) | class TFC_TDF_net(nn.Module): method __init__ (line 152) | def __init__(self, config, device): method cac2cws (line 216) | def cac2cws(self, x): method cws2cac (line 223) | def cws2cac(self, x): method forward (line 230) | def forward(self, x): FILE: audio_separator/separator/uvr_lib_v5/vr_network/layers.py class Conv2DBNActiv (line 8) | class Conv2DBNActiv(nn.Module): method __init__ (line 29) | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, ac... method __call__ (line 36) | def __call__(self, input_tensor): class SeperableConv2DBNActiv (line 42) | class SeperableConv2DBNActiv(nn.Module): method __init__ (line 66) | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, ac... method __call__ (line 95) | def __call__(self, input_tensor): class Encoder (line 102) | class Encoder(nn.Module): method __init__ (line 122) | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.Leaky... method __call__ (line 135) | def __call__(self, input_tensor): class Decoder (line 148) | class Decoder(nn.Module): method __init__ (line 168) | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU,... method __call__ (line 177) | def __call__(self, input_tensor, skip=None): class ASPPModule (line 196) | class ASPPModule(nn.Module): method __init__ (line 213) | def __init__(self, nn_architecture, nin, nout, dilations=(4, 8, 16), a... method forward (line 260) | def forward(self, input_tensor): FILE: audio_separator/separator/uvr_lib_v5/vr_network/layers_new.py class Conv2DBNActiv (line 8) | class Conv2DBNActiv(nn.Module): method __init__ (line 16) | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, ac... method __call__ (line 22) | def __call__(self, input_tensor): class Encoder (line 27) | class Encoder(nn.Module): method __init__ (line 34) | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.Leaky... method __call__ (line 42) | def __call__(self, input_tensor): class Decoder (line 50) | class Decoder(nn.Module): method __init__ (line 57) | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU,... method __call__ (line 64) | def __call__(self, input_tensor, skip=None): class ASPPModule (line 81) | class ASPPModule(nn.Module): method __init__ (line 88) | def __init__(self, nin, nout, dilations=(4, 8, 12), activ=nn.ReLU, dro... method forward (line 100) | def forward(self, input_tensor): class LSTMModule (line 118) | class LSTMModule(nn.Module): method __init__ (line 125) | def __init__(self, nin_conv, nin_lstm, nout_lstm): method forward (line 136) | def forward(self, input_tensor): FILE: audio_separator/separator/uvr_lib_v5/vr_network/model_param_init.py function int_keys (line 15) | def int_keys(d): class ModelParameters (line 44) | class ModelParameters(object): method __init__ (line 52) | def __init__(self, config_path=""): FILE: audio_separator/separator/uvr_lib_v5/vr_network/nets.py class BaseASPPNet (line 8) | class BaseASPPNet(nn.Module): method __init__ (line 18) | def __init__(self, nn_architecture, nin, ch, dilations=(4, 8, 16)): method __call__ (line 42) | def __call__(self, input_tensor): function determine_model_capacity (line 67) | def determine_model_capacity(n_fft_bins, nn_architecture): class CascadedASPPNet (line 96) | class CascadedASPPNet(nn.Module): method __init__ (line 105) | def __init__(self, n_fft, model_capacity_data, nn_architecture): method forward (line 129) | def forward(self, input_tensor): method predict_mask (line 166) | def predict_mask(self, input_tensor): FILE: audio_separator/separator/uvr_lib_v5/vr_network/nets_new.py class BaseNet (line 7) | class BaseNet(nn.Module): method __init__ (line 15) | def __init__(self, nin, nout, nin_lstm, nout_lstm, dilations=((4, 2), ... method __call__ (line 36) | def __call__(self, input_tensor): class CascadedNet (line 58) | class CascadedNet(nn.Module): method __init__ (line 65) | def __init__(self, n_fft, nn_arch_size=51000, nout=32, nout_lstm=128): method forward (line 91) | def forward(self, input_tensor): method predict_mask (line 140) | def predict_mask(self, input_tensor): method predict (line 151) | def predict(self, input_tensor): FILE: audio_separator/utils/cli.py function main (line 10) | def main(): FILE: specs/001-update-roformer-implementation/contracts/fallback_loader_interface.py class ModelLoadingResult (line 11) | class ModelLoadingResult: class FallbackLoaderInterface (line 23) | class FallbackLoaderInterface(ABC): method try_new_implementation (line 32) | def try_new_implementation(self, method try_legacy_implementation (line 50) | def try_legacy_implementation(self, FILE: specs/001-update-roformer-implementation/contracts/parameter_validator_interface.py class ValidationSeverity (line 12) | class ValidationSeverity(Enum): class ValidationIssue (line 20) | class ValidationIssue: class ParameterValidatorInterface (line 30) | class ParameterValidatorInterface(ABC): method validate_required_parameters (line 34) | def validate_required_parameters(self, config: Dict[str, Any], model_t... method validate_parameter_types (line 48) | def validate_parameter_types(self, config: Dict[str, Any]) -> List[Val... method validate_parameter_ranges (line 61) | def validate_parameter_ranges(self, config: Dict[str, Any]) -> List[Va... method validate_parameter_compatibility (line 74) | def validate_parameter_compatibility(self, config: Dict[str, Any]) -> ... method validate_normalization_config (line 87) | def validate_normalization_config(self, norm_config: Any) -> List[Vali... method get_parameter_defaults (line 100) | def get_parameter_defaults(self, model_type: str) -> Dict[str, Any]: method apply_parameter_defaults (line 113) | def apply_parameter_defaults(self, config: Dict[str, Any], model_type:... class BSRoformerValidatorInterface (line 127) | class BSRoformerValidatorInterface(ABC): method validate_freqs_per_bands (line 131) | def validate_freqs_per_bands(self, freqs_per_bands: Tuple[int, ...], s... method calculate_expected_freqs (line 145) | def calculate_expected_freqs(self, stft_n_fft: int) -> int: class MelBandRoformerValidatorInterface (line 158) | class MelBandRoformerValidatorInterface(ABC): method validate_num_bands (line 162) | def validate_num_bands(self, num_bands: int, sample_rate: int) -> List... method validate_sample_rate (line 176) | def validate_sample_rate(self, sample_rate: int) -> List[ValidationIss... class ConfigurationNormalizerInterface (line 189) | class ConfigurationNormalizerInterface(ABC): method normalize_config_format (line 193) | def normalize_config_format(self, raw_config: Any) -> Dict[str, Any]: method map_legacy_parameters (line 206) | def map_legacy_parameters(self, config: Dict[str, Any]) -> Dict[str, A... method extract_nested_config (line 219) | def extract_nested_config(self, config: Any, path: str) -> Any: FILE: specs/001-update-roformer-implementation/contracts/roformer_loader_interface.py class RoformerType (line 12) | class RoformerType(Enum): class ImplementationVersion (line 18) | class ImplementationVersion(Enum): class ModelLoadingResult (line 26) | class ModelLoadingResult: method __post_init__ (line 34) | def __post_init__(self): class ModelConfiguration (line 40) | class ModelConfiguration: class ParameterValidationError (line 72) | class ParameterValidationError(Exception): method __init__ (line 75) | def __init__(self, parameter_name: str, expected_type: str, actual_val... class RoformerLoaderInterface (line 89) | class RoformerLoaderInterface(ABC): method load_model (line 93) | def load_model(self, model_path: str, config: Optional[Dict[str, Any]]... method validate_configuration (line 111) | def validate_configuration(self, config: ModelConfiguration, model_typ... method detect_model_type (line 125) | def detect_model_type(self, model_path: str) -> RoformerType: method get_default_configuration (line 141) | def get_default_configuration(self, model_type: RoformerType) -> Model... class RoformerModelInterface (line 154) | class RoformerModelInterface(ABC): method separate_audio (line 158) | def separate_audio(self, audio_data: Any, **kwargs) -> Any: method get_model_info (line 172) | def get_model_info(self) -> Dict[str, Any]: method cleanup (line 182) | def cleanup(self) -> None: class FallbackLoaderInterface (line 187) | class FallbackLoaderInterface(ABC): method try_new_implementation (line 191) | def try_new_implementation(self, model_path: str, config: ModelConfigu... method try_old_implementation (line 205) | def try_old_implementation(self, model_path: str, config: ModelConfigu... method should_fallback (line 219) | def should_fallback(self, error: Exception) -> bool: FILE: tests/contract/test_parameter_validator_interface.py class TestParameterValidatorInterface (line 38) | class TestParameterValidatorInterface: method test_validate_required_parameters_contract (line 41) | def test_validate_required_parameters_contract(self): method test_validate_parameter_types_contract (line 74) | def test_validate_parameter_types_contract(self): method test_validate_parameter_ranges_contract (line 98) | def test_validate_parameter_ranges_contract(self): method test_validate_parameter_compatibility_contract (line 122) | def test_validate_parameter_compatibility_contract(self): method test_validate_normalization_config_contract (line 145) | def test_validate_normalization_config_contract(self): method test_get_parameter_defaults_contract (line 172) | def test_get_parameter_defaults_contract(self): method test_apply_parameter_defaults_contract (line 193) | def test_apply_parameter_defaults_contract(self): class TestBSRoformerValidatorInterface (line 217) | class TestBSRoformerValidatorInterface: method test_validate_freqs_per_bands_contract (line 220) | def test_validate_freqs_per_bands_contract(self): method test_calculate_expected_freqs_contract (line 244) | def test_calculate_expected_freqs_contract(self): class TestMelBandRoformerValidatorInterface (line 257) | class TestMelBandRoformerValidatorInterface: method test_validate_num_bands_contract (line 260) | def test_validate_num_bands_contract(self): method test_validate_sample_rate_contract (line 286) | def test_validate_sample_rate_contract(self): class TestConfigurationNormalizerInterface (line 298) | class TestConfigurationNormalizerInterface: method test_normalize_config_format_contract (line 301) | def test_normalize_config_format_contract(self): method test_map_legacy_parameters_contract (line 317) | def test_map_legacy_parameters_contract(self): method test_extract_nested_config_contract (line 332) | def test_extract_nested_config_contract(self): FILE: tests/contract/test_roformer_loader_interface.py class TestRoformerLoaderInterface (line 39) | class TestRoformerLoaderInterface: method test_load_model_success_contract (line 42) | def test_load_model_success_contract(self): method test_load_model_failure_contract (line 70) | def test_load_model_failure_contract(self): method test_load_model_parameter_validation_error (line 94) | def test_load_model_parameter_validation_error(self): method test_validate_configuration_contract (line 116) | def test_validate_configuration_contract(self): method test_detect_model_type_contract (line 137) | def test_detect_model_type_contract(self): method test_get_default_configuration_contract (line 157) | def test_get_default_configuration_contract(self): FILE: tests/integration/generate_multi_stem_references.py function run_model (line 40) | def run_model(model, input_file, output_dir): function find_stem_file (line 47) | def find_stem_file(output_files, stem_name, output_dir): function main (line 60) | def main(): FILE: tests/integration/generate_reference_images.py function main (line 18) | def main(): FILE: tests/integration/generate_reference_images_24bit.py function main (line 29) | def main(): FILE: tests/integration/generate_reference_images_ensemble.py function main (line 32) | def main(): FILE: tests/integration/test_24bit_preservation.py function fixture_input_file_24bit (line 21) | def fixture_input_file_24bit(): function fixture_reference_dir (line 27) | def fixture_reference_dir(): function fixture_cleanup_output_files (line 33) | def fixture_cleanup_output_files(): function get_audio_bit_depth (line 45) | def get_audio_bit_depth(file_path): function run_separation_test_24bit (line 60) | def run_separation_test_24bit(model, audio_path, expected_files): function validate_audio_output (line 97) | def validate_audio_output(output_file, reference_dir, waveform_threshold... function test_24bit_model_separation (line 188) | def test_24bit_model_separation(model, expected_files, input_file_24bit,... FILE: tests/integration/test_cli_integration.py function fixture_input_file (line 12) | def fixture_input_file(): function fixture_reference_dir (line 18) | def fixture_reference_dir(): function fixture_cleanup_output_files (line 24) | def fixture_cleanup_output_files(): function run_separation_test (line 39) | def run_separation_test(model, audio_path, expected_files): function validate_audio_output (line 61) | def validate_audio_output(output_file, reference_dir, waveform_threshold... function test_model_separation (line 154) | def test_model_separation(model, expected_files, input_file, reference_d... FILE: tests/integration/test_ensemble_integration.py function fixture_input_file (line 22) | def fixture_input_file(): function fixture_reference_dir (line 28) | def fixture_reference_dir(): function fixture_temp_output_dir (line 34) | def fixture_temp_output_dir(): function fixture_audio_references (line 42) | def fixture_audio_references(): function validate_audio_output (line 48) | def validate_audio_output(output_file, reference_dir, waveform_threshold... function test_ensemble_preset (line 130) | def test_ensemble_preset(preset, expected_files, input_file, reference_d... FILE: tests/integration/test_ensemble_meaningful.py function correlate (line 30) | def correlate(file_a, file_b, sr=44100): function rms (line 38) | def rms(file_path, sr=44100): function run_separation (line 44) | def run_separation(model, input_file, output_dir): function run_preset (line 52) | def run_preset(preset, input_file, output_dir): function find_stem (line 60) | def find_stem(output_files, stem_name, output_dir): function test_vocal_ensemble_matches_best_single_model (line 84) | def test_vocal_ensemble_matches_best_single_model(input_file, ref_prefix... function test_karaoke_ensemble_extracts_lead_only (line 126) | def test_karaoke_ensemble_extracts_lead_only(tmp_path): function test_karaoke_on_vocals_produces_lead_backing_split (line 170) | def test_karaoke_on_vocals_produces_lead_backing_split(tmp_path): FILE: tests/integration/test_multi_stem_verification.py function correlate (line 48) | def correlate(file_a, file_b, sr=44100): function run_separation (line 64) | def run_separation(model, input_file, output_dir): function find_stem (line 72) | def find_stem(output_files, stem_name, output_dir): function test_vocal_instrumental_separation (line 100) | def test_vocal_instrumental_separation(input_file, ref_prefix, tmp_path): function test_four_stem_separation (line 137) | def test_four_stem_separation(input_file, ref_prefix, tmp_path): function test_drumsep_pipeline (line 159) | def test_drumsep_pipeline(tmp_path): function test_karaoke_separation (line 199) | def test_karaoke_separation(input_file, ref_prefix, tmp_path): function test_wind_instrument_extraction (line 234) | def test_wind_instrument_extraction(tmp_path): function test_dereverb_pipeline (line 257) | def test_dereverb_pipeline(tmp_path): FILE: tests/integration/test_remote_api_integration.py class MockAPIHandler (line 18) | class MockAPIHandler(BaseHTTPRequestHandler): method log_message (line 29) | def log_message(self, format, *args): method do_GET (line 33) | def do_GET(self): method do_POST (line 95) | def do_POST(self): method _simulate_processing (line 125) | def _simulate_processing(self, task_id): method _format_models_as_text (line 147) | def _format_models_as_text(self, models): method send_json_response (line 171) | def send_json_response(self, data, status=200): function mock_http_server (line 181) | def mock_http_server(): function api_client (line 199) | def api_client(mock_http_server): function test_audio_file (line 206) | def test_audio_file(): class TestRemoteAPIIntegration (line 214) | class TestRemoteAPIIntegration: method test_server_health_check (line 217) | def test_server_health_check(self, api_client): method test_list_models_pretty_format (line 222) | def test_list_models_pretty_format(self, api_client): method test_list_models_json_format (line 234) | def test_list_models_json_format(self, api_client): method test_list_models_with_filter (line 245) | def test_list_models_with_filter(self, api_client): method test_separate_audio_submission (line 256) | def test_separate_audio_submission(self, api_client, test_audio_file): method test_separate_audio_with_custom_parameters (line 269) | def test_separate_audio_with_custom_parameters(self, api_client, test_... method test_job_status_polling (line 284) | def test_job_status_polling(self, api_client, test_audio_file): method test_file_download (line 316) | def test_file_download(self, api_client, test_audio_file): method test_separate_audio_and_wait_success (line 351) | def test_separate_audio_and_wait_success(self, api_client, test_audio_... method test_separate_audio_and_wait_no_download (line 368) | def test_separate_audio_and_wait_no_download(self, api_client, test_au... method test_job_status_not_found (line 376) | def test_job_status_not_found(self, api_client): method test_download_file_not_found (line 383) | def test_download_file_not_found(self, api_client): method test_multiple_concurrent_jobs (line 388) | def test_multiple_concurrent_jobs(self, api_client, test_audio_file): method test_separate_audio_with_multiple_models (line 416) | def test_separate_audio_with_multiple_models(self, api_client, test_au... class TestRemoteCLIIntegration (line 428) | class TestRemoteCLIIntegration: method test_cli_separate_command_integration (line 432) | def test_cli_separate_command_integration(self, mock_client_class, tes... class TestRemoteAPIEndToEnd (line 500) | class TestRemoteAPIEndToEnd: method test_end_to_end_workflow (line 503) | def test_end_to_end_workflow(self, api_client): method test_error_handling_workflow (line 555) | def test_error_handling_workflow(self, api_client): FILE: tests/integration/test_roformer_audio_quality.py class TestRoformerAudioQuality (line 19) | class TestRoformerAudioQuality: method reference_audio_file (line 23) | def reference_audio_file(self): method test_bs_roformer_audio_quality_regression (line 40) | def test_bs_roformer_audio_quality_regression(self, reference_audio_fi... method test_mel_band_roformer_audio_quality_validation (line 67) | def test_mel_band_roformer_audio_quality_validation(self, reference_au... method test_audio_similarity_calculation_framework (line 93) | def test_audio_similarity_calculation_framework(self, reference_audio_... FILE: tests/integration/test_roformer_backward_compatibility.py class TestRoformerBackwardCompatibility (line 22) | class TestRoformerBackwardCompatibility: method mock_old_roformer_model (line 26) | def mock_old_roformer_model(self): method mock_audio_file (line 55) | def mock_audio_file(self): method test_load_existing_older_model_without_regression (line 67) | def test_load_existing_older_model_without_regression(self, mock_old_r... method test_old_model_uses_fallback_implementation (line 90) | def test_old_model_uses_fallback_implementation(self, mock_old_roforme... method test_old_model_configuration_compatibility (line 121) | def test_old_model_configuration_compatibility(self, mock_old_roformer... method test_audio_quality_regression_detection (line 144) | def test_audio_quality_regression_detection(self, mock_old_roformer_mo... method test_performance_no_significant_degradation (line 167) | def test_performance_no_significant_degradation(self, mock_old_roforme... FILE: tests/integration/test_roformer_config_validation.py class TestRoformerConfigValidation (line 19) | class TestRoformerConfigValidation: method mock_invalid_config_model (line 23) | def mock_invalid_config_model(self): method test_parameter_validation_error_handling (line 41) | def test_parameter_validation_error_handling(self, mock_invalid_config... FILE: tests/integration/test_roformer_e2e.py class TestRoformerE2E (line 16) | class TestRoformerE2E: method setup_method (line 19) | def setup_method(self): method teardown_method (line 29) | def teardown_method(self): method _create_mock_audio_file (line 33) | def _create_mock_audio_file(self): method test_bs_roformer_sw_fixed_e2e (line 50) | def test_bs_roformer_sw_fixed_e2e(self): method test_legacy_roformer_e2e (line 116) | def test_legacy_roformer_e2e(self): method test_mel_band_roformer_e2e (line 176) | def test_mel_band_roformer_e2e(self): method test_roformer_e2e_with_different_audio_formats (line 232) | def test_roformer_e2e_with_different_audio_formats(self): method test_roformer_e2e_error_handling (line 270) | def test_roformer_e2e_error_handling(self): method test_roformer_e2e_performance_validation (line 304) | def test_roformer_e2e_performance_validation(self): method test_roformer_e2e_memory_usage (line 351) | def test_roformer_e2e_memory_usage(self): method test_roformer_e2e_batch_processing (line 389) | def test_roformer_e2e_batch_processing(self): FILE: tests/integration/test_roformer_fallback_mechanism.py class TestRoformerFallbackMechanism (line 19) | class TestRoformerFallbackMechanism: method mock_edge_case_model (line 23) | def mock_edge_case_model(self): method test_fallback_mechanism_activation (line 41) | def test_fallback_mechanism_activation(self, mock_edge_case_model): FILE: tests/integration/test_roformer_model_switching.py class TestRoformerModelSwitching (line 19) | class TestRoformerModelSwitching: method mock_bs_roformer_model (line 23) | def mock_bs_roformer_model(self): method mock_mel_band_roformer_model (line 39) | def mock_mel_band_roformer_model(self): method test_switch_bs_to_mel_band_roformer (line 56) | def test_switch_bs_to_mel_band_roformer(self, mock_bs_roformer_model, ... FILE: tests/integration/test_roformer_new_parameters.py class TestRoformerNewParameters (line 21) | class TestRoformerNewParameters: method mock_new_roformer_model (line 25) | def mock_new_roformer_model(self): method mock_audio_file (line 58) | def mock_audio_file(self): method test_load_newer_model_with_new_parameters (line 68) | def test_load_newer_model_with_new_parameters(self, mock_new_roformer_... method test_new_model_uses_new_implementation (line 91) | def test_new_model_uses_new_implementation(self, mock_new_roformer_mod... method test_new_parameters_are_properly_handled (line 120) | def test_new_parameters_are_properly_handled(self, mock_new_roformer_m... method test_sage_attention_parameter_integration (line 137) | def test_sage_attention_parameter_integration(self, mock_new_roformer_... method test_mlp_expansion_factor_parameter_handling (line 158) | def test_mlp_expansion_factor_parameter_handling(self, mock_new_roform... method test_torch_checkpoint_parameter_integration (line 178) | def test_torch_checkpoint_parameter_integration(self, mock_new_roforme... method test_skip_connection_parameter_integration (line 195) | def test_skip_connection_parameter_integration(self, mock_new_roformer... method test_zero_dc_parameter_handling (line 209) | def test_zero_dc_parameter_handling(self, mock_new_roformer_model): method test_new_model_audio_quality_validation (line 225) | def test_new_model_audio_quality_validation(self, mock_new_roformer_mo... FILE: tests/integration/test_separator_output_integration.py function fixture_input_file (line 11) | def fixture_input_file(): function fixture_temp_output_dir (line 17) | def fixture_temp_output_dir(): function test_separator_output_dir_and_custom_names (line 25) | def test_separator_output_dir_and_custom_names(input_file, temp_output_d... function test_separator_single_stem_output (line 83) | def test_separator_single_stem_output(input_file, temp_output_dir): function test_separator_output_without_custom_names (line 136) | def test_separator_output_without_custom_names(input_file, temp_output_d... FILE: tests/model-metrics/test-all-models.py class DecimalEncoder (line 23) | class DecimalEncoder(JSONEncoder): method default (line 24) | def default(self, obj): function load_combined_results (line 47) | def load_combined_results(): function save_combined_results (line 81) | def save_combined_results(combined_results): function update_combined_results (line 104) | def update_combined_results(model_name, track_name, track_data): function check_track_evaluated (line 125) | def check_track_evaluated(model_name, track_name): function get_track_results (line 131) | def get_track_results(model_name, track_name): function get_track_duration (line 139) | def get_track_duration(track_path): function evaluate_track (line 150) | def evaluate_track(track_name, track_path, test_model, mus_db): function convert_decimal_to_float (line 332) | def convert_decimal_to_float(obj): function calculate_median_scores (line 343) | def calculate_median_scores(track_scores): function check_disk_usage (line 380) | def check_disk_usage(path): function get_evaluated_track_count (line 453) | def get_evaluated_track_count(model_name, museval_results): function get_most_evaluated_tracks (line 460) | def get_most_evaluated_tracks(museval_results, min_count=10): function generate_summary_statistics (line 478) | def generate_summary_statistics( function check_stop_signal (line 530) | def check_stop_signal(): function main (line 538) | def main(): FILE: tests/regression/test_all_models_stem_verification.py function audio_references (line 83) | def audio_references(): function get_all_models (line 88) | def get_all_models(): function build_model_params (line 95) | def build_model_params(): function verify_stem_content (line 112) | def verify_stem_content(stem_path, stem_label, ref_vocal, ref_inst, ref_... function test_model_stem_labels (line 181) | def test_model_stem_labels(arch, friendly_name, model_filename, audio_re... FILE: tests/regression/test_roformer_size_mismatch.py class TestRoformerSizeMismatch (line 13) | class TestRoformerSizeMismatch(unittest.TestCase): method setUp (line 16) | def setUp(self): method test_overlap_add_safe_lengths (line 25) | def test_overlap_add_safe_lengths(self): method _test_single_output_length (line 33) | def _test_single_output_length(self, output_length): method test_overlap_add_edge_cases (line 106) | def test_overlap_add_edge_cases(self): method test_counter_consistency_with_overlap_add (line 151) | def test_counter_consistency_with_overlap_add(self): method test_broadcast_error_prevention (line 207) | def test_broadcast_error_prevention(self): method test_output_length_preservation_regression (line 269) | def test_output_length_preservation_regression(self): method test_memory_layout_consistency (line 310) | def test_memory_layout_consistency(self): FILE: tests/reproduce_ensemble_bug.py function main (line 26) | def main(): FILE: tests/unit/test_audio_chunking.py class TestAudioChunker (line 16) | class TestAudioChunker: method setup_method (line 19) | def setup_method(self): method test_initialization (line 25) | def test_initialization(self): method test_initialization_with_custom_logger (line 30) | def test_initialization_with_custom_logger(self): method test_should_chunk_true (line 37) | def test_should_chunk_true(self): method test_should_chunk_false (line 42) | def test_should_chunk_false(self): method test_should_chunk_exact_boundary (line 47) | def test_should_chunk_exact_boundary(self): method test_should_chunk_just_over_boundary (line 52) | def test_should_chunk_just_over_boundary(self): method test_split_audio_basic (line 60) | def test_split_audio_basic(self, _mock_makedirs, mock_exists, mock_fro... method test_split_audio_uneven_chunks (line 88) | def test_split_audio_uneven_chunks(self, _mock_makedirs, mock_exists, ... method test_split_audio_file_not_found (line 111) | def test_split_audio_file_not_found(self, tmp_path): method test_merge_chunks_basic (line 118) | def test_merge_chunks_basic(self, mock_exists, mock_from_file, tmp_path): method test_merge_chunks_empty_list (line 142) | def test_merge_chunks_empty_list(self, tmp_path): method test_merge_chunks_missing_file (line 148) | def test_merge_chunks_missing_file(self, mock_exists, tmp_path): method test_chunk_duration_calculation (line 155) | def test_chunk_duration_calculation(self): class TestAudioChunkerIntegration (line 167) | class TestAudioChunkerIntegration: method test_split_and_merge_round_trip (line 170) | def test_split_and_merge_round_trip(self): method test_split_with_different_formats (line 207) | def test_split_with_different_formats(self): class TestAudioChunkerEdgeCases (line 230) | class TestAudioChunkerEdgeCases: method test_very_short_file (line 233) | def test_very_short_file(self): method test_exact_multiple_of_chunk_size (line 255) | def test_exact_multiple_of_chunk_size(self): FILE: tests/unit/test_bit_depth_detection.py function create_test_audio_file (line 18) | def create_test_audio_file(output_path, sample_rate=44100, duration=0.5,... function fixture_temp_audio_dir (line 56) | def fixture_temp_audio_dir(): function fixture_mock_separator_config (line 65) | def fixture_mock_separator_config(): function test_16bit_detection (line 90) | def test_16bit_detection(temp_audio_dir, mock_separator_config): function test_24bit_detection (line 114) | def test_24bit_detection(temp_audio_dir, mock_separator_config): function test_32bit_detection (line 138) | def test_32bit_detection(temp_audio_dir, mock_separator_config): function test_numpy_array_input_defaults_to_16bit (line 162) | def test_numpy_array_input_defaults_to_16bit(mock_separator_config): function test_bit_depth_preserved_across_multiple_files (line 182) | def test_bit_depth_preserved_across_multiple_files(temp_audio_dir, mock_... FILE: tests/unit/test_bit_depth_writing.py function is_ffmpeg_available (line 19) | def is_ffmpeg_available(): function create_test_audio_file (line 41) | def create_test_audio_file(output_path, sample_rate=44100, duration=0.5,... function get_audio_bit_depth (line 61) | def get_audio_bit_depth(file_path): function fixture_temp_dir (line 77) | def fixture_temp_dir(): function fixture_mock_separator_config (line 85) | def fixture_mock_separator_config(temp_dir): function test_write_16bit_with_pydub (line 111) | def test_write_16bit_with_pydub(temp_dir, mock_separator_config): function test_write_24bit_with_pydub (line 146) | def test_write_24bit_with_pydub(temp_dir, mock_separator_config): function test_write_32bit_with_pydub (line 180) | def test_write_32bit_with_pydub(temp_dir, mock_separator_config): function test_write_24bit_with_soundfile (line 213) | def test_write_24bit_with_soundfile(temp_dir, mock_separator_config): function test_write_16bit_with_soundfile (line 249) | def test_write_16bit_with_soundfile(temp_dir, mock_separator_config): FILE: tests/unit/test_cli.py function mock_distribution (line 13) | def mock_distribution(): function common_expected_args (line 29) | def common_expected_args(): function test_cli_version_subprocess (line 56) | def test_cli_version_subprocess(): function test_cli_no_args (line 62) | def test_cli_no_args(capsys): function test_cli_multiple_filenames (line 68) | def test_cli_multiple_filenames(): function test_cli_with_audio_file (line 99) | def test_cli_with_audio_file(capsys, common_expected_args): function test_cli_invalid_log_level (line 118) | def test_cli_invalid_log_level(): function test_cli_model_filename_argument (line 128) | def test_cli_model_filename_argument(common_expected_args): function test_cli_output_dir_argument (line 142) | def test_cli_output_dir_argument(common_expected_args): function test_cli_output_format_argument (line 159) | def test_cli_output_format_argument(common_expected_args): function test_cli_normalization_threshold_argument (line 176) | def test_cli_normalization_threshold_argument(common_expected_args): function test_cli_amplification_threshold_argument (line 193) | def test_cli_amplification_threshold_argument(common_expected_args): function test_cli_single_stem_argument (line 210) | def test_cli_single_stem_argument(common_expected_args): function test_cli_invert_spectrogram_argument (line 227) | def test_cli_invert_spectrogram_argument(common_expected_args): function test_cli_use_autocast_argument (line 244) | def test_cli_use_autocast_argument(common_expected_args): function test_cli_custom_output_names_argument (line 261) | def test_cli_custom_output_names_argument(common_expected_args): function test_cli_demucs_output_names_argument (line 279) | def test_cli_demucs_output_names_argument(common_expected_args): function test_cli_extra_models_argument (line 301) | def test_cli_extra_models_argument(common_expected_args): function test_cli_single_model_passes_string (line 315) | def test_cli_single_model_passes_string(common_expected_args): function test_cli_old_syntax_model_before_audio (line 327) | def test_cli_old_syntax_model_before_audio(common_expected_args): function test_cli_ensemble_preset (line 340) | def test_cli_ensemble_preset(common_expected_args): function test_cli_list_presets (line 356) | def test_cli_list_presets(capsys): FILE: tests/unit/test_configuration_normalizer.py class TestConfigurationNormalizer (line 29) | class TestConfigurationNormalizer: method setup_method (line 32) | def setup_method(self): method test_normalize_config_basic (line 36) | def test_normalize_config_basic(self): method test_normalize_config_with_defaults (line 50) | def test_normalize_config_with_defaults(self): method test_normalize_config_with_validation_valid (line 71) | def test_normalize_config_with_validation_valid(self): method test_normalize_config_with_validation_invalid (line 83) | def test_normalize_config_with_validation_invalid(self): method test_normalize_structure_flat_config (line 94) | def test_normalize_structure_flat_config(self): method test_normalize_structure_nested_config (line 108) | def test_normalize_structure_nested_config(self): method test_normalize_parameter_names_aliases (line 137) | def test_normalize_parameter_names_aliases(self): method test_normalize_parameter_values_booleans (line 162) | def test_normalize_parameter_values_booleans(self): method test_normalize_parameter_values_numbers (line 182) | def test_normalize_parameter_values_numbers(self): method test_normalize_parameter_values_tuples (line 207) | def test_normalize_parameter_values_tuples(self): method test_normalize_parameter_values_strings (line 226) | def test_normalize_parameter_values_strings(self): method test_detect_model_type_bs_roformer (line 240) | def test_detect_model_type_bs_roformer(self): method test_detect_model_type_mel_band_roformer (line 253) | def test_detect_model_type_mel_band_roformer(self): method test_detect_model_type_unknown (line 268) | def test_detect_model_type_unknown(self): method test_normalize_from_file_path_bs_roformer (line 280) | def test_normalize_from_file_path_bs_roformer(self): method test_normalize_from_file_path_mel_band_roformer (line 302) | def test_normalize_from_file_path_mel_band_roformer(self): method test_normalize_from_file_path_default_fallback (line 323) | def test_normalize_from_file_path_default_fallback(self): method test_normalization_preserves_original_config (line 340) | def test_normalization_preserves_original_config(self): method test_normalization_error_handling (line 362) | def test_normalization_error_handling(self): method test_comprehensive_normalization_workflow (line 378) | def test_comprehensive_normalization_workflow(self): FILE: tests/unit/test_deploy_cloudrun_async.py class TestGPUSemaphore (line 9) | class TestGPUSemaphore: method test_semaphore_blocks_concurrent_jobs (line 12) | def test_semaphore_blocks_concurrent_jobs(self): method test_semaphore_releases_on_exception (line 33) | def test_semaphore_releases_on_exception(self): method test_semaphore_allows_sequential_access (line 62) | def test_semaphore_allows_sequential_access(self): class TestLazyInit (line 82) | class TestLazyInit: method test_get_job_store_returns_same_instance (line 85) | def test_get_job_store_returns_same_instance(self): method test_get_output_store_returns_same_instance (line 105) | def test_get_output_store_returns_same_instance(self): class TestFireAndForget (line 122) | class TestFireAndForget: method test_run_in_executor_without_await_returns_immediately (line 125) | def test_run_in_executor_without_await_returns_immediately(self): FILE: tests/unit/test_ensemble_presets.py function mock_separator_init (line 10) | def mock_separator_init(): function test_load_preset_vocal_balanced (line 16) | def test_load_preset_vocal_balanced(mock_separator_init): function test_load_preset_karaoke (line 26) | def test_load_preset_karaoke(mock_separator_init): function test_load_preset_instrumental_clean (line 32) | def test_load_preset_instrumental_clean(mock_separator_init): function test_preset_algorithm_override (line 38) | def test_preset_algorithm_override(mock_separator_init): function test_preset_no_algorithm_uses_preset_default (line 50) | def test_preset_no_algorithm_uses_preset_default(mock_separator_init): function test_preset_unknown_name (line 56) | def test_preset_unknown_name(mock_separator_init): function test_no_preset_defaults_to_avg_wave (line 61) | def test_no_preset_defaults_to_avg_wave(mock_separator_init): function test_list_ensemble_presets (line 67) | def test_list_ensemble_presets(mock_separator_init): function test_preset_loads_models_on_load_model (line 77) | def test_preset_loads_models_on_load_model(mock_separator_init): function test_preset_json_valid (line 85) | def test_preset_json_valid(): function test_preset_validation_bad_weights_length (line 111) | def test_preset_validation_bad_weights_length(mock_separator_init): function test_preset_validation_bad_algorithm (line 132) | def test_preset_validation_bad_algorithm(mock_separator_init): function test_preset_validation_single_model (line 152) | def test_preset_validation_single_model(mock_separator_init): function test_preset_weights_applied (line 172) | def test_preset_weights_applied(mock_separator_init): function test_preset_explicit_weights_override (line 192) | def test_preset_explicit_weights_override(mock_separator_init): FILE: tests/unit/test_ensembler.py function logger (line 7) | def logger(): function test_ensembler_avg_wave (line 10) | def test_ensembler_avg_wave(logger): function test_ensembler_weighted_avg (line 18) | def test_ensembler_weighted_avg(logger): function test_ensembler_different_lengths (line 26) | def test_ensembler_different_lengths(logger): function test_ensembler_median_wave (line 36) | def test_ensembler_median_wave(logger): function test_ensembler_max_wave (line 44) | def test_ensembler_max_wave(logger): function test_ensembler_min_wave (line 53) | def test_ensembler_min_wave(logger): function test_ensembler_avg_fft (line 62) | def test_ensembler_avg_fft(logger): function test_ensembler_ensemble_wav_uvr (line 71) | def test_ensembler_ensemble_wav_uvr(logger): function test_ensembler_empty_list (line 81) | def test_ensembler_empty_list(logger): function test_ensembler_single_waveform (line 85) | def test_ensembler_single_waveform(logger): function test_ensembler_mismatched_channels (line 91) | def test_ensembler_mismatched_channels(logger): function test_ensembler_mono_stft (line 101) | def test_ensembler_mono_stft(logger): function test_ensembler_single_channel_stft (line 107) | def test_ensembler_single_channel_stft(logger): function test_ensembler_median_fft (line 113) | def test_ensembler_median_fft(logger): function test_ensembler_min_fft (line 122) | def test_ensembler_min_fft(logger): function test_ensembler_max_fft (line 130) | def test_ensembler_max_fft(logger): function test_ensembler_uvr_max_spec (line 138) | def test_ensembler_uvr_max_spec(logger): function test_ensembler_uvr_min_spec (line 146) | def test_ensembler_uvr_min_spec(logger): function test_ensembler_invalid_algorithm (line 154) | def test_ensembler_invalid_algorithm(logger): function test_ensembler_weight_mismatch_fallback (line 160) | def test_ensembler_weight_mismatch_fallback(logger): FILE: tests/unit/test_job_store.py function mock_firestore_client (line 7) | def mock_firestore_client(): function store (line 15) | def store(mock_firestore_client): class TestFirestoreJobStore (line 19) | class TestFirestoreJobStore: method test_set_creates_document (line 20) | def test_set_creates_document(self, store, mock_firestore_client): method test_get_returns_document_data (line 39) | def test_get_returns_document_data(self, store, mock_firestore_client): method test_get_returns_none_for_missing_document (line 56) | def test_get_returns_none_for_missing_document(self, store, mock_fires... method test_contains_checks_existence (line 66) | def test_contains_checks_existence(self, store, mock_firestore_client): method test_update_merges_fields (line 75) | def test_update_merges_fields(self, store, mock_firestore_client): method test_delete_removes_document (line 87) | def test_delete_removes_document(self, store, mock_firestore_client): method test_cleanup_old_jobs (line 95) | def test_cleanup_old_jobs(self, store, mock_firestore_client): FILE: tests/unit/test_mdxc_roformer_chunking.py class TestMDXCRoformerChunking (line 13) | class TestMDXCRoformerChunking: method setup_method (line 16) | def setup_method(self): method test_chunk_size_uses_model_stft_hop_length (line 31) | def test_chunk_size_uses_model_stft_hop_length(self): method test_chunk_size_falls_back_to_audio_hop_length (line 36) | def test_chunk_size_falls_back_to_audio_hop_length(self): method test_step_clamped_to_chunk_size (line 41) | def test_step_clamped_to_chunk_size(self): method test_overlap_add_short_output_safe (line 65) | def test_overlap_add_short_output_safe(self): method test_counter_updates_safe_len (line 102) | def test_counter_updates_safe_len(self): method test_counter_clamp_no_nan (line 137) | def test_counter_clamp_no_nan(self): method test_short_audio_last_block (line 170) | def test_short_audio_last_block(self): method test_parametrized_shape_invariants (line 221) | def test_parametrized_shape_invariants(self, dim_t, hop_length): method test_logging_for_hop_and_step (line 258) | def test_logging_for_hop_and_step(self, caplog): method test_iteration_count_reasonable (line 300) | def test_iteration_count_reasonable(self): FILE: tests/unit/test_model_configuration.py class TestModelConfiguration (line 28) | class TestModelConfiguration: method test_model_configuration_creation_valid (line 31) | def test_model_configuration_creation_valid(self): method test_model_configuration_defaults (line 59) | def test_model_configuration_defaults(self): method test_model_configuration_immutable (line 84) | def test_model_configuration_immutable(self): method test_model_configuration_type_validation (line 94) | def test_model_configuration_type_validation(self): method test_model_configuration_edge_values (line 108) | def test_model_configuration_edge_values(self): method test_model_configuration_boolean_parameters (line 137) | def test_model_configuration_boolean_parameters(self): method test_model_configuration_new_parameters (line 157) | def test_model_configuration_new_parameters(self): method test_model_configuration_repr (line 176) | def test_model_configuration_repr(self): method test_model_configuration_equality (line 185) | def test_model_configuration_equality(self): method test_model_configuration_hash (line 194) | def test_model_configuration_hash(self): method test_model_configuration_from_dict (line 210) | def test_model_configuration_from_dict(self): method test_model_configuration_with_extra_kwargs (line 228) | def test_model_configuration_with_extra_kwargs(self): FILE: tests/unit/test_output_store.py function mock_storage_client (line 7) | def mock_storage_client(): function store (line 15) | def store(mock_storage_client): class TestGCSOutputStore (line 19) | class TestGCSOutputStore: method test_upload_directory (line 20) | def test_upload_directory(self, store, mock_storage_client): method test_upload_builds_correct_gcs_paths (line 31) | def test_upload_builds_correct_gcs_paths(self, store, mock_storage_cli... method test_download_file (line 40) | def test_download_file(self, store, mock_storage_client): method test_get_file_bytes (line 49) | def test_get_file_bytes(self, store, mock_storage_client): method test_delete_task_outputs (line 60) | def test_delete_task_outputs(self, store, mock_storage_client): FILE: tests/unit/test_parameter_validator.py class TestParameterValidator (line 29) | class TestParameterValidator: method setup_method (line 32) | def setup_method(self): method test_validate_required_parameters_bs_roformer_valid (line 36) | def test_validate_required_parameters_bs_roformer_valid(self): method test_validate_required_parameters_bs_roformer_missing (line 47) | def test_validate_required_parameters_bs_roformer_missing(self): method test_validate_required_parameters_mel_band_roformer_valid (line 66) | def test_validate_required_parameters_mel_band_roformer_valid(self): method test_validate_required_parameters_mel_band_roformer_missing (line 77) | def test_validate_required_parameters_mel_band_roformer_missing(self): method test_validate_parameter_types_valid (line 91) | def test_validate_parameter_types_valid(self): method test_validate_parameter_types_invalid (line 105) | def test_validate_parameter_types_invalid(self): method test_validate_parameter_ranges_valid (line 124) | def test_validate_parameter_ranges_valid(self): method test_validate_parameter_ranges_invalid (line 137) | def test_validate_parameter_ranges_invalid(self): method test_validate_parameter_compatibility_sage_flash_conflict (line 156) | def test_validate_parameter_compatibility_sage_flash_conflict(self): method test_validate_parameter_compatibility_freqs_per_bands_warning (line 168) | def test_validate_parameter_compatibility_freqs_per_bands_warning(self): method test_validate_normalization_config_valid (line 179) | def test_validate_normalization_config_valid(self): method test_validate_normalization_config_invalid (line 193) | def test_validate_normalization_config_invalid(self): method test_get_parameter_defaults_bs_roformer (line 206) | def test_get_parameter_defaults_bs_roformer(self): method test_get_parameter_defaults_mel_band_roformer (line 219) | def test_get_parameter_defaults_mel_band_roformer(self): method test_apply_parameter_defaults (line 231) | def test_apply_parameter_defaults(self): method test_validate_all_comprehensive (line 251) | def test_validate_all_comprehensive(self): method test_validate_all_with_errors (line 266) | def test_validate_all_with_errors(self): method test_validate_and_raise_success (line 285) | def test_validate_and_raise_success(self): method test_validate_and_raise_error (line 296) | def test_validate_and_raise_error(self): method test_private_helper_methods (line 312) | def test_private_helper_methods(self): FILE: tests/unit/test_remote_api_client.py function logger (line 14) | def logger(): function api_client (line 20) | def api_client(logger): function mock_audio_file (line 26) | def mock_audio_file(): class TestAudioSeparatorAPIClient (line 34) | class TestAudioSeparatorAPIClient: method test_init (line 37) | def test_init(self, logger): method test_separate_audio_success (line 48) | def test_separate_audio_success(self, mock_file, mock_post, api_client... method test_separate_audio_with_multiple_models (line 79) | def test_separate_audio_with_multiple_models(self, mock_file, mock_pos... method test_separate_audio_with_custom_parameters (line 99) | def test_separate_audio_with_custom_parameters(self, mock_file, mock_p... method test_separate_audio_file_not_found (line 122) | def test_separate_audio_file_not_found(self, mock_post, api_client): method test_separate_audio_request_error (line 129) | def test_separate_audio_request_error(self, mock_file, mock_post, api_... method test_get_job_status_success (line 137) | def test_get_job_status_success(self, mock_get, api_client): method test_get_job_status_error (line 151) | def test_get_job_status_error(self, mock_get, api_client): method test_download_file_success (line 160) | def test_download_file_success(self, mock_file, mock_get, api_client): method test_download_file_default_output_path (line 176) | def test_download_file_default_output_path(self, mock_file, mock_get, ... method test_download_file_with_spaces_in_filename (line 191) | def test_download_file_with_spaces_in_filename(self, mock_file, mock_g... method test_download_file_with_special_characters (line 210) | def test_download_file_with_special_characters(self, mock_file, mock_g... method test_download_file_with_unicode_characters (line 229) | def test_download_file_with_unicode_characters(self, mock_file, mock_g... method test_download_file_error (line 247) | def test_download_file_error(self, mock_get, api_client): method test_list_models_pretty_format (line 255) | def test_list_models_pretty_format(self, mock_get, api_client): method test_list_models_json_format (line 268) | def test_list_models_json_format(self, mock_get, api_client): method test_list_models_with_filter (line 282) | def test_list_models_with_filter(self, mock_get, api_client): method test_get_server_version_success (line 295) | def test_get_server_version_success(self, mock_get, api_client): method test_get_server_version_no_version (line 308) | def test_get_server_version_no_version(self, mock_get, api_client): method test_get_server_version_error (line 320) | def test_get_server_version_error(self, mock_get, api_client): method test_separate_audio_and_wait_success (line 331) | def test_separate_audio_and_wait_success(self, mock_sleep, mock_downlo... method test_separate_audio_and_wait_error (line 359) | def test_separate_audio_and_wait_error(self, mock_sleep, mock_status, ... method test_separate_audio_and_wait_timeout (line 373) | def test_separate_audio_and_wait_timeout(self, mock_sleep, mock_status... method test_separate_audio_and_wait_no_download (line 387) | def test_separate_audio_and_wait_no_download(self, mock_sleep, mock_do... method test_separate_audio_and_wait_with_output_dir (line 402) | def test_separate_audio_and_wait_with_output_dir(self, mock_sleep, moc... method test_separate_audio_and_wait_with_special_character_filenames (line 418) | def test_separate_audio_and_wait_with_special_character_filenames(self... method test_download_file_server_side_url_decoding_scenario (line 449) | def test_download_file_server_side_url_decoding_scenario(self, mock_fi... method test_download_file_by_hash (line 469) | def test_download_file_by_hash(self, mock_file, mock_get, api_client): method test_separate_audio_and_wait_with_hash_format (line 492) | def test_separate_audio_and_wait_with_hash_format(self, mock_sleep, mo... method test_separate_audio_with_gcs_uri (line 522) | def test_separate_audio_with_gcs_uri(self, mock_post, api_client): method test_separate_audio_requires_file_or_gcs_uri (line 545) | def test_separate_audio_requires_file_or_gcs_uri(self, api_client): method test_separate_audio_rejects_both_file_and_gcs_uri (line 550) | def test_separate_audio_rejects_both_file_and_gcs_uri(self, api_client... method test_separate_audio_and_wait_with_gcs_uri (line 561) | def test_separate_audio_and_wait_with_gcs_uri(self, mock_sleep, mock_s... FILE: tests/unit/test_remote_cli.py function mock_api_client (line 16) | def mock_api_client(): function mock_logger (line 22) | def mock_logger(): function mock_audio_file (line 28) | def mock_audio_file(): class TestRemoteCLI (line 36) | class TestRemoteCLI: method test_version_command_no_api_url (line 42) | def test_version_command_no_api_url(self, mock_print, mock_metadata, m... method test_version_command_with_api_url (line 57) | def test_version_command_with_api_url(self, mock_print, mock_client_cl... method test_version_command_server_error (line 76) | def test_version_command_server_error(self, mock_print, mock_client_cl... method test_no_api_url_error (line 92) | def test_no_api_url_error(self, mock_print): method test_separate_command (line 103) | def test_separate_command(self, mock_handle_separate, mock_client_class): method test_status_command (line 120) | def test_status_command(self, mock_handle_status, mock_client_class): method test_models_command (line 133) | def test_models_command(self, mock_handle_models, mock_client_class): method test_download_command (line 146) | def test_download_command(self, mock_handle_download, mock_client_class): method test_custom_api_url (line 158) | def test_custom_api_url(self, mock_handle_models, mock_client_class): method test_debug_logging (line 174) | def test_debug_logging(self, mock_handle_models, mock_client_class): method test_handle_separate_command_success (line 184) | def test_handle_separate_command_success(self, mock_api_client, mock_l... method test_handle_separate_command_with_multiple_models (line 246) | def test_handle_separate_command_with_multiple_models(self, mock_api_c... method test_handle_separate_command_error (line 275) | def test_handle_separate_command_error(self, mock_api_client, mock_log... method test_handle_separate_command_exception (line 301) | def test_handle_separate_command_exception(self, mock_api_client, mock... method test_handle_status_command_success (line 322) | def test_handle_status_command_success(self, mock_api_client, mock_log... method test_handle_status_command_error_status (line 343) | def test_handle_status_command_error_status(self, mock_api_client, moc... method test_handle_status_command_exception (line 358) | def test_handle_status_command_exception(self, mock_api_client, mock_l... method test_handle_models_command_pretty_format (line 369) | def test_handle_models_command_pretty_format(self, mock_api_client, mo... method test_handle_models_command_json_format (line 385) | def test_handle_models_command_json_format(self, mock_api_client, mock... method test_handle_models_command_exception (line 402) | def test_handle_models_command_exception(self, mock_api_client, mock_l... method test_handle_download_command_success (line 414) | def test_handle_download_command_success(self, mock_api_client, mock_l... method test_handle_download_command_exception (line 434) | def test_handle_download_command_exception(self, mock_api_client, mock... FILE: tests/unit/test_separator_chunking.py class TestSeparatorChunking (line 17) | class TestSeparatorChunking: method setup_method (line 20) | def setup_method(self): method teardown_method (line 25) | def teardown_method(self): method test_process_with_chunking_2_stems (line 32) | def test_process_with_chunking_2_stems(self, mock_chunker_class): method test_process_with_chunking_4_stems (line 85) | def test_process_with_chunking_4_stems(self, mock_chunker_class): method test_process_with_chunking_6_stems (line 144) | def test_process_with_chunking_6_stems(self, mock_chunker_class): method test_stem_name_extraction_from_filename (line 195) | def test_stem_name_extraction_from_filename(self): method test_stem_name_extraction_fallback (line 219) | def test_stem_name_extraction_fallback(self): method test_chunking_preserves_stem_order (line 238) | def test_chunking_preserves_stem_order(self, mock_chunker_class): class TestSeparatorChunkingLogic (line 286) | class TestSeparatorChunkingLogic: method setup_method (line 289) | def setup_method(self): method teardown_method (line 294) | def teardown_method(self): method test_state_restoration_after_chunking (line 301) | def test_state_restoration_after_chunking(self, mock_chunker_class): method test_gpu_cache_cleared_between_chunks (line 348) | def test_gpu_cache_cleared_between_chunks(self, mock_chunker_class): method test_temp_directory_cleanup (line 386) | def test_temp_directory_cleanup(self, mock_chunker_class): method test_error_handling_with_state_restoration (line 431) | def test_error_handling_with_state_restoration(self, mock_chunker_class): method test_audio_chunker_initialization (line 469) | def test_audio_chunker_initialization(self, mock_chunker_class): method test_custom_output_names_applied_to_merged_output (line 503) | def test_custom_output_names_applied_to_merged_output(self, mock_chunk... class TestSeparatorChunkingEdgeCases (line 568) | class TestSeparatorChunkingEdgeCases: method setup_method (line 571) | def setup_method(self): method teardown_method (line 576) | def teardown_method(self): method test_empty_output_handling (line 583) | def test_empty_output_handling(self, mock_chunker_class): method test_inconsistent_stem_count_across_chunks (line 618) | def test_inconsistent_stem_count_across_chunks(self, mock_chunker_class): method test_filename_without_stem_pattern (line 662) | def test_filename_without_stem_pattern(self, mock_chunker_class): FILE: tests/unit/test_separator_detection.py class TestSeparatorDetection (line 12) | class TestSeparatorDetection: method setup_method (line 15) | def setup_method(self): method teardown_method (line 19) | def teardown_method(self): method test_is_roformer_set_from_yaml_path (line 24) | def test_is_roformer_set_from_yaml_path(self): method test_roformer_detection_case_insensitive (line 97) | def test_roformer_detection_case_insensitive(self): method test_roformer_detection_with_full_paths (line 119) | def test_roformer_detection_with_full_paths(self): method test_roformer_detection_with_config_content (line 141) | def test_roformer_detection_with_config_content(self): method test_roformer_routing_integration (line 173) | def test_roformer_routing_integration(self): method test_roformer_detection_edge_cases (line 212) | def test_roformer_detection_edge_cases(self): method test_roformer_detection_with_model_extensions (line 240) | def test_roformer_detection_with_model_extensions(self): FILE: tests/unit/test_stem_naming.py class TestCommonSeparatorStemSwap (line 11) | class TestCommonSeparatorStemSwap: method _make_config (line 14) | def _make_config(self, model_data): method test_no_swap_when_target_matches_instruments0 (line 39) | def test_no_swap_when_target_matches_instruments0(self, mock_detect): method test_swap_when_target_mismatches_instruments0 (line 53) | def test_swap_when_target_mismatches_instruments0(self, mock_detect): method test_no_swap_when_no_target_instrument (line 68) | def test_no_swap_when_no_target_instrument(self, mock_detect): method test_no_swap_when_target_not_in_instruments (line 81) | def test_no_swap_when_target_not_in_instruments(self, mock_detect): method test_single_instrument_no_swap (line 95) | def test_single_instrument_no_swap(self, mock_detect): class TestStemNameMap (line 108) | class TestStemNameMap: method test_stem_name_map_has_expected_entries (line 111) | def test_stem_name_map_has_expected_entries(self): method test_stem_name_map_keys_are_lowercase (line 123) | def test_stem_name_map_keys_are_lowercase(self): class TestEnsembleOutputFilenames (line 129) | class TestEnsembleOutputFilenames: method test_preset_filename_format (line 132) | def test_preset_filename_format(self): method test_custom_ensemble_slug_generation (line 142) | def test_custom_ensemble_slug_generation(self): class TestEnsembleCustomOutputNames (line 166) | class TestEnsembleCustomOutputNames: method test_custom_output_names_not_passed_to_intermediate_separation (line 169) | def test_custom_output_names_not_passed_to_intermediate_separation(self): FILE: tests/unit/test_stft.py class TestSTFT (line 22) | class TestSTFT(unittest.TestCase): method setUp (line 23) | def setUp(self): method create_mock_tensor (line 30) | def create_mock_tensor(self, shape, device=None): method test_stft_initialization (line 36) | def test_stft_initialization(self): method test_stft_call (line 43) | def test_stft_call(self): method test_calculate_inverse_dimensions (line 77) | def test_calculate_inverse_dimensions(self): method test_pad_frequency_dimension (line 92) | def test_pad_frequency_dimension(self): method test_prepare_for_istft (line 106) | def test_prepare_for_istft(self): method test_inverse_stft (line 124) | def test_inverse_stft(self): method test_stft_with_mps_device (line 141) | def test_stft_with_mps_device(self): method test_inverse_with_mps_device (line 150) | def test_inverse_with_mps_device(self): class MockLogger (line 160) | class MockLogger: method debug (line 161) | def debug(self, message): FILE: tests/utils.py function generate_waveform_image (line 13) | def generate_waveform_image(audio_path, output_path=None, fig_size=(10, ... function generate_spectrogram_image (line 58) | def generate_spectrogram_image(audio_path, output_path=None, fig_size=(1... function compare_images (line 117) | def compare_images(image1_path, image2_path, min_similarity_threshold=0.... function generate_reference_images (line 161) | def generate_reference_images(input_path, output_dir=None, prefix=""): FILE: tests/utils_audio_verification.py class StemVerification (line 16) | class StemVerification: function load_references (line 28) | def load_references(input_dir="tests/inputs", sr=44100): function classify_audio (line 49) | def classify_audio(audio_mono, ref_vocal, ref_instrumental, ref_mix, min... function verify_stem (line 77) | def verify_stem(file_path, label, ref_vocal, ref_instrumental, ref_mix, ... function verify_separation_outputs (line 118) | def verify_separation_outputs(output_files, ref_vocal, ref_instrumental,... function print_verification_report (line 143) | def print_verification_report(results): FILE: tools/calculate-model-hashes.py function get_model_hash (line 20) | def get_model_hash(model_path): function download_file_if_missing (line 38) | def download_file_if_missing(url, local_path): function load_json_data (line 55) | def load_json_data(file_path): function iterate_and_hash (line 70) | def iterate_and_hash(directory): FILE: tools/sync-to-github.py function debug_request (line 17) | def debug_request(url: str, headers: dict, response: requests.Response): function get_release_assets (line 28) | def get_release_assets() -> List[Dict]: function list_local_files (line 46) | def list_local_files() -> List[str]: function calculate_file_hash (line 51) | def calculate_file_hash(filepath: str) -> str: function upload_asset (line 60) | def upload_asset(release_id: int, filepath: str): function download_asset (line 79) | def download_asset(asset: Dict): function main (line 96) | def main():