mirror of
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
synced 2026-08-29 10:09:32 +02:00
69 lines
2.5 KiB
Python
69 lines
2.5 KiB
Python
"""Public Python API for pymss.
|
|
|
|
pymss provides model catalog helpers, model downloading, audio I/O, ensemble
|
|
utilities, logging helpers, and the ``MSSeparator`` runtime for music source
|
|
separation. Most users can import from this top-level package instead of
|
|
importing submodules directly.
|
|
|
|
Exports:
|
|
MSSeparator: Main runtime class for loading separation models and producing
|
|
stems. Prefer ``MSSeparator.from_model_name(...)`` for catalog models.
|
|
get_separation_logger: Create or reuse the package logger.
|
|
create_separator: Create ``MSSeparator`` from a catalog model name.
|
|
get_model_entry: Resolve catalog metadata for one model name or alias.
|
|
list_models: List model catalog entries.
|
|
resolve_model: Resolve catalog model paths without constructing a
|
|
separator.
|
|
download_model: Download all files required by one catalog model.
|
|
ensemble_audios: Load and combine multiple audio files.
|
|
save_ensemble_audio: Ensemble multiple audio files and save the result.
|
|
WorkflowRunner: Run a multi-model audio workflow.
|
|
load_audio: Load an audio file into a NumPy array.
|
|
save_audio: Save a NumPy audio array to wav/flac/mp3/m4a.
|
|
|
|
Example:
|
|
>>> from pymss import MSSeparator
|
|
>>> separator = MSSeparator.from_model_name(
|
|
... "bs_roformer_voc_hyperacev2",
|
|
... download=True,
|
|
... model_dir="models",
|
|
... )
|
|
>>> separator.process_folder("song.wav")
|
|
|
|
Example:
|
|
>>> from pymss import download_model, list_models
|
|
>>> models = list_models(supported=True)
|
|
>>> download_model(models[0].name, model_dir="models")
|
|
|
|
Example:
|
|
>>> from pymss import ensemble_audios, save_ensemble_audio
|
|
>>> audio, sample_rate = ensemble_audios(["a.wav", "b.wav"], weights=[1, 1])
|
|
>>> save_ensemble_audio(["a.wav", "b.wav"], "ensemble.wav")
|
|
"""
|
|
|
|
from .separator import MSSeparator
|
|
from .logger import get_separation_logger
|
|
from .model_registry import create_separator, get_model_entry, list_models, resolve_model
|
|
from .model_download import download_model
|
|
from .ensemble import ensemble_audios, save_ensemble_audio
|
|
from .audio_io import load_audio, save_audio
|
|
from .workflow import WorkflowRunner, load_workflow_file, run_workflow_file, validate_workflow
|
|
|
|
__all__ = (
|
|
"MSSeparator",
|
|
"get_separation_logger",
|
|
"create_separator",
|
|
"get_model_entry",
|
|
"list_models",
|
|
"resolve_model",
|
|
"download_model",
|
|
"ensemble_audios",
|
|
"save_ensemble_audio",
|
|
"WorkflowRunner",
|
|
"load_workflow_file",
|
|
"run_workflow_file",
|
|
"validate_workflow",
|
|
"load_audio",
|
|
"save_audio",
|
|
)
|