Replace UVR5 separation backend with pymss

Add the five-model MSST backend, CUDA precision reuse, fast MP3/M4A encoding, PyAV compatibility fixes, remote dependencies, model configs, Hugging Face download guidance, and multilingual pymss credits. Remove the obsolete tools/uvr5 implementation.
This commit is contained in:
RVC-Boss
2026-07-23 01:40:12 +08:00
parent dbf85f721c
commit 132126af72
36 changed files with 943 additions and 3767 deletions

View File

@@ -0,0 +1,71 @@
audio:
chunk_size: 352800
dim_f: 1024
dim_t: 256
hop_length: 441
n_fft: 2048
num_channels: 2
sample_rate: 44100
min_mean_abs: 000
model:
dim: 384
depth: 6
stereo: true
num_stems: 1
time_transformer_depth: 1
freq_transformer_depth: 1
num_bands: 60
dim_head: 64
heads: 8
attn_dropout: 0
ff_dropout: 0
flash_attn: True
dim_freqs_in: 1025
sample_rate: 44100 # needed for mel filter bank from librosa
stft_n_fft: 2048
stft_hop_length: 441
stft_win_length: 2048
stft_normalized: False
mask_estimator_depth: 2
multi_stft_resolution_loss_weight: 1.0
multi_stft_resolutions_window_sizes: !!python/tuple
- 4096
- 2048
- 1024
- 512
- 256
multi_stft_hop_size: 147
multi_stft_normalized: False
training:
batch_size: 4
gradient_accumulation_steps: 1
grad_clip: 0
instruments:
- karaoke
- other
lr: 1.0e-05
patience: 2
reduce_factor: 0.95
target_instrument: karaoke
num_epochs: 1000
num_steps: 2000
augmentation: false # enable augmentations by audiomentations and pedalboard
augmentation_type: null
use_mp3_compress: false # Deprecated
augmentation_mix: false # Mix several stems of the same type with some probability
augmentation_loudness: false # randomly change loudness of each stem
augmentation_loudness_type: 1 # Type 1 or 2
augmentation_loudness_min: 0
augmentation_loudness_max: 0
q: 0.95
coarse_loss_clip: false
ema_momentum: 0.999
optimizer: adam
other_fix: false # it's needed for checking on multisong dataset if other is actually instrumental
inference:
batch_size: 1
dim_t: 256
num_overlap: 4

View File

@@ -0,0 +1,76 @@
audio:
chunk_size: 352800
dim_f: 1024
dim_t: 256
hop_length: 441
n_fft: 2048
num_channels: 2
sample_rate: 44100
min_mean_abs: 0.000
model:
dim: 384
depth: 6
stereo: true
num_stems: 1
time_transformer_depth: 1
freq_transformer_depth: 1
num_bands: 60
dim_head: 64
heads: 8
attn_dropout: 0
ff_dropout: 0
flash_attn: True
dim_freqs_in: 1025
sample_rate: 44100 # needed for mel filter bank from librosa
stft_n_fft: 2048
stft_hop_length: 441
stft_win_length: 2048
stft_normalized: False
mask_estimator_depth: 2
multi_stft_resolution_loss_weight: 1.0
multi_stft_resolutions_window_sizes: !!python/tuple
- 4096
- 2048
- 1024
- 512
- 256
multi_stft_hop_size: 147
multi_stft_normalized: False
training:
batch_size: 3
gradient_accumulation_steps: 1
grad_clip: 0
instruments:
- noreverb
- reverb
lr: 5.0e-05
patience: 2
reduce_factor: 0.95
target_instrument: noreverb
num_epochs: 1000
num_steps: 4000
q: 0.95
coarse_loss_clip: false
ema_momentum: 0.999
optimizer: adamw
other_fix: true # it's needed for checking on multisong dataset if other is actually instrumental
use_amp: true # enable or disable usage of mixed precision (float16) - usually it must be true
augmentations:
enable: true # enable or disable all augmentations (to fast disable if needed)
loudness: true # randomly change loudness of each stem on the range (loudness_min; loudness_max)
loudness_min: 0.1
loudness_max: 1.0
mixup: false # mix several stems of same type with some probability (only works for dataset types: 1, 2, 3)
mixup_probs: !!python/tuple # 2 additional stems of the same type (1st with prob 0.2, 2nd with prob 0.02)
- 0.2
- 0.02
mixup_loudness_min: 0.5
mixup_loudness_max: 1.5
inference:
batch_size: 1
dim_t: 801
num_overlap: 2

View File

@@ -0,0 +1,123 @@
audio:
chunk_size: 352800
dim_f: 1024
dim_t: 801
hop_length: 441
min_mean_abs: 0.0
n_fft: 2048
num_channels: 2
sample_rate: 44100
inference:
batch_size: 4
dim_t: 801
num_overlap: 2
model:
attn_dropout: 0.1
depth: 12
dim: 512
dim_freqs_in: 1025
dim_head: 64
ff_dropout: 0.1
flash_attn: true
freq_transformer_depth: 1
freqs_per_bands: !!python/tuple
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 12
- 12
- 12
- 12
- 12
- 12
- 12
- 12
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 48
- 48
- 48
- 48
- 48
- 48
- 48
- 48
- 128
- 129
heads: 8
linear_transformer_depth: 0
mask_estimator_depth: 2
multi_stft_hop_size: 147
multi_stft_normalized: false
multi_stft_resolution_loss_weight: 1.0
multi_stft_resolutions_window_sizes: !!python/tuple
- 4096
- 2048
- 1024
- 512
- 256
num_stems: 1
stereo: true
stft_hop_length: 441
stft_n_fft: 2048
stft_normalized: false
stft_win_length: 2048
time_transformer_depth: 1
training:
batch_size: 2
coarse_loss_clip: true
ema_momentum: 0.999
grad_clip: 0
gradient_accumulation_steps: 1
instruments:
- vocals
- other
lr: 1.0e-05
num_epochs: 1000
num_steps: 1000
optimizer: adam
other_fix: true
patience: 2
q: 0.95
reduce_factor: 0.95
target_instrument: vocals
use_amp: true

View File

@@ -0,0 +1,133 @@
audio:
chunk_size: 352800
dim_f: 1024
dim_t: 801 # don't work (use in model)
hop_length: 441 # don't work (use in model)
n_fft: 2048
num_channels: 2
sample_rate: 44100
min_mean_abs: 0.001
model:
dim: 512
depth: 12
stereo: true
num_stems: 1
time_transformer_depth: 1
freq_transformer_depth: 1
freqs_per_bands: !!python/tuple
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 12
- 12
- 12
- 12
- 12
- 12
- 12
- 12
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 48
- 48
- 48
- 48
- 48
- 48
- 48
- 48
- 128
- 129
dim_head: 64
heads: 8
attn_dropout: 0.1
ff_dropout: 0.1
flash_attn: true
dim_freqs_in: 1025
stft_n_fft: 2048
stft_hop_length: 441
stft_win_length: 2048
stft_normalized: false
mask_estimator_depth: 2
multi_stft_resolution_loss_weight: 1.0
multi_stft_resolutions_window_sizes: !!python/tuple
- 4096
- 2048
- 1024
- 512
- 256
multi_stft_hop_size: 147
multi_stft_normalized: False
training:
batch_size: 16
gradient_accumulation_steps: 1
grad_clip: 0
instruments:
- vocals
- instrumental
lr: 5.0e-05
patience: 2
reduce_factor: 0.95
target_instrument: vocals
num_epochs: 1000
num_steps: 1000
augmentation: false # enable augmentations by audiomentations and pedalboard
augmentation_type: simple1
use_mp3_compress: false # Deprecated
augmentation_mix: true # Mix several stems of the same type with some probability
augmentation_loudness: true # randomly change loudness of each stem
augmentation_loudness_type: 1 # Type 1 or 2
augmentation_loudness_min: 0.5
augmentation_loudness_max: 1.5
q: 0.95
coarse_loss_clip: true
ema_momentum: 0.999
optimizer: adam
other_fix: false # it's needed for checking on multisong dataset if other is actually instrumental
use_amp: true # enable or disable usage of mixed precision (float16) - usually it must be true
inference:
batch_size: 1
dim_t: 901
num_overlap: 4