Downloads · 30 days
22
3% of all-time downloads
cadenzachallenge/Dynamic_Source_Separator_Noncausal
Dynamic_Source_Separator_Noncausal is a audio-to-audio model from cadenzachallenge. Use it for the audio-to-audio task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
A Causal separation model for the CAD2-Task2 system.
Downloads · 30 days
22
3% of all-time downloads
All-time downloads
865
Public
Parameters
52.8M
211 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors211 MB · 100%
From the Hugging Face model README
A Causal separation model for the CAD2-Task2 system.
This model is an ensemble of the following instruments:
Each model is based on the ConvTasNet (Kaituo XU) with multichannel support (Alexandre Defossez).
The model was trained using EnsembleSet and CadenzaWoodwind datasets.
from dynamic_source_separator import DynamicSourceSeparator
model = DynamicSourceSeparator.from_pretrained(
"cadenzachallenge/Dynamic_Source_Separator_Causal"
).cpu()
Audio source separation model used in Sytem T002 for Cadenza2 Task2 Challenge
The model is a finetune of the 8 ConvTasNet models from the Task2 baseline. The training optimised the estimated sources and the recosntructed mixture
$$
Loss = \sum_{}^{Sources}(L_1(estimatedsource, refsource)) + L_1(reconstructedmixture, originalmixture)
$$
def dynamic_masked_loss(mixture, separated_sources, ground_truth_sources, indicator):
# Reconstruction Loss
reconstruction = sum(separated_sources.values())
reconstruction_loss = nn.L1Loss()(reconstruction, mixture)
# Separation Loss
separation_loss = 0
for instrument, active in indicator.items():
if active:
separation_loss += nn.L1Loss()(
separated_sources[instrument], ground_truth_sources[instrument]
)
return reconstruction_loss + separation_loss
Model and T002 recipe are shared in Clarity toolkit