Config
config
Configuration
Classes:
Name | Description |
---|---|
LazyModelConfig |
A lazily validated model configuration. |
AudioIOConfig |
|
TorchCompileConfig |
|
InferenceConfig |
|
ChunkingConfig |
|
SubtractConfig |
|
SumConfig |
|
OutputConfig |
|
Config |
|
Attributes:
Name | Type | Description |
---|---|---|
Tuple |
|
|
NonEmptyUnique |
|
|
ModelInputStemName |
TypeAlias
|
|
ModelOutputStemName |
TypeAlias
|
|
DerivedStemName |
TypeAlias
|
The name of a derived stem, e.g. |
StemName |
TypeAlias
|
A name of a stem, either a model output stem or a derived stem. |
DerivedStemRule |
TypeAlias
|
|
DerivedStemsConfig |
TypeAlias
|
|
NonEmptyUnique
module-attribute
NonEmptyUnique = Annotated[
_S,
Len(min_length=1),
AfterValidator(_validate_unique_sequence),
Field(json_schema_extra={"unique_items": True}),
]
ModelOutputStemName
module-attribute
ModelOutputStemName: TypeAlias = Annotated[
ModelOutputStemName, StringConstraints(min_length=1)
]
LazyModelConfig
Bases: BaseModel
A lazily validated model configuration.
Note that it is not guaranteed to be fully valid until to_concrete
is called.
Methods:
Name | Description |
---|---|
to_concrete |
Validate against a real model configuration and convert to it. |
Attributes:
Name | Type | Description |
---|---|---|
chunk_size |
ChunkSize
|
|
output_stem_names |
NonEmptyUnique[Tuple[ModelOutputStemName]]
|
|
stem_names |
tuple[ModelInputStemName | ModelOutputStemName, ...]
|
Returns the model's input and output stem names. |
model_config |
|
output_stem_names
instance-attribute
output_stem_names: NonEmptyUnique[
Tuple[ModelOutputStemName]
]
to_concrete
to_concrete(
model_config: type[ModelConfigLikeT],
*,
pydantic_config: ConfigDict = ConfigDict(
extra="forbid"
),
) -> ModelConfigLikeT
Validate against a real model configuration and convert to it.
Raises:
Type | Description |
---|---|
pydantic.ValidationError
|
if extra fields are present in the model configuration that doesn't exist in the concrete model configuration. |
Source code in src/splifft/config.py
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
|
stem_names
property
stem_names: tuple[
ModelInputStemName | ModelOutputStemName, ...
]
Returns the model's input and output stem names.
model_config
class-attribute
instance-attribute
model_config = ConfigDict(strict=True, extra='allow')
AudioIOConfig
Bases: BaseModel
Attributes:
Name | Type | Description |
---|---|---|
target_sample_rate |
SampleRate
|
|
force_channels |
Channels | None
|
Whether to force mono or stereo audio input. If None, keep original. |
model_config |
|
force_channels
class-attribute
instance-attribute
force_channels: Channels | None = 2
Whether to force mono or stereo audio input. If None, keep original.
model_config
class-attribute
instance-attribute
model_config = _PYDANTIC_STRICT_CONFIG
TorchCompileConfig
InferenceConfig
Bases: BaseModel
Attributes:
Name | Type | Description |
---|---|---|
normalize_input_audio |
bool
|
|
batch_size |
BatchSize
|
|
force_weights_dtype |
Dtype | None
|
|
use_autocast_dtype |
Dtype | None
|
|
compile_model |
TorchCompileConfig | None
|
|
apply_tta |
bool
|
|
model_config |
|
model_config
class-attribute
instance-attribute
model_config = _PYDANTIC_STRICT_CONFIG
ChunkingConfig
Bases: BaseModel
Attributes:
Name | Type | Description |
---|---|---|
method |
Literal['overlap_add_windowed']
|
|
overlap_ratio |
OverlapRatio
|
|
window_shape |
WindowShape
|
|
padding_mode |
PaddingMode
|
|
model_config |
|
method
class-attribute
instance-attribute
method: Literal["overlap_add_windowed"] = (
"overlap_add_windowed"
)
model_config
class-attribute
instance-attribute
model_config = _PYDANTIC_STRICT_CONFIG
DerivedStemName
module-attribute
DerivedStemName: TypeAlias = Annotated[
str, StringConstraints(min_length=1)
]
The name of a derived stem, e.g. vocals_minus_drums
.
StemName
module-attribute
StemName: TypeAlias = Union[
ModelOutputStemName, DerivedStemName
]
A name of a stem, either a model output stem or a derived stem.
SubtractConfig
Bases: BaseModel
Attributes:
Name | Type | Description |
---|---|---|
operation |
Literal['subtract']
|
|
stem_name |
StemName
|
|
by_stem_name |
StemName
|
|
model_config |
|
SumConfig
Bases: BaseModel
Attributes:
Name | Type | Description |
---|---|---|
operation |
Literal['sum']
|
|
stem_names |
NonEmptyUnique[Tuple[StemName]]
|
|
model_config |
|
model_config
class-attribute
instance-attribute
model_config = _PYDANTIC_STRICT_CONFIG
DerivedStemRule
module-attribute
DerivedStemRule: TypeAlias = Annotated[
Union[SubtractConfig, SumConfig],
Discriminator("operation"),
]
DerivedStemsConfig
module-attribute
DerivedStemsConfig: TypeAlias = dict[
DerivedStemName, DerivedStemRule
]
OutputConfig
Bases: BaseModel
Attributes:
Name | Type | Description |
---|---|---|
stem_names |
Literal['all'] | NonEmptyUnique[Tuple[StemName]]
|
|
file_format |
FileFormat
|
|
audio_encoding |
AudioEncoding
|
|
bit_depth |
BitDepth
|
|
model_config |
|
stem_names
class-attribute
instance-attribute
stem_names: (
Literal["all"] | NonEmptyUnique[Tuple[StemName]]
) = "all"
model_config
class-attribute
instance-attribute
model_config = _PYDANTIC_STRICT_CONFIG
Config
Bases: BaseModel
Methods:
Name | Description |
---|---|
check_derived_stems |
|
from_file |
|
Attributes:
Name | Type | Description |
---|---|---|
identifier |
str
|
Unique identifier for this configuration |
model_type |
ModelType
|
|
model |
LazyModelConfig
|
|
audio_io |
AudioIOConfig
|
|
inference |
InferenceConfig
|
|
chunking |
ChunkingConfig
|
|
derived_stems |
DerivedStemsConfig | None
|
|
output |
OutputConfig
|
|
experimental |
dict[str, Any] | None
|
Any extra experimental configurations outside of the |
model_config |
|
audio_io
class-attribute
instance-attribute
audio_io: AudioIOConfig = Field(
default_factory=AudioIOConfig
)
inference
class-attribute
instance-attribute
inference: InferenceConfig = Field(
default_factory=InferenceConfig
)
chunking
class-attribute
instance-attribute
chunking: ChunkingConfig = Field(
default_factory=ChunkingConfig
)
output
class-attribute
instance-attribute
output: OutputConfig = Field(default_factory=OutputConfig)
experimental
class-attribute
instance-attribute
Any extra experimental configurations outside of the splifft
core.
check_derived_stems
check_derived_stems() -> Self
Source code in src/splifft/config.py
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 |
|
from_file
classmethod
Source code in src/splifft/config.py
254 255 256 257 258 |
|
model_config
class-attribute
instance-attribute
model_config = ConfigDict(
arbitrary_types_allowed=True,
strict=True,
extra="forbid",
)