Skip to content
ModelListedExternal
Download

Dynamic Source Separator Noncausal

A Causal separation model for the CAD2-Task2 system.

KindOtherVersionRevision 71855d4

Model source

Kind
Other
File size
201 MB
Version
vRevision 71855d4
Updated
Sep 12, 2026
Downloads
11
Source
Hugging Face

Source description

Cadenza Challenge: CAD2-Task2

A Causal separation model for the CAD2-Task2 system.

This model is an ensemble of the following instruments:

  • Bassoon
  • Cello
  • Clarinet
  • Flute
  • Oboe
  • Sax
  • Viola
  • Violin

Each model is based on the ConvTasNet (Kaituo XU) with multichannel support (Alexandre Defossez).

  • Parameters:
    • B: 256
    • C: 2
    • H: 512
    • L: 20
    • N: 256
    • P: 3
    • R: 3
    • X: 8
    • audio_channels: 2
    • causal: true
    • mask_nonlinear: relu
    • norm_type: cLN

Dataset

The model was trained using EnsembleSet and CadenzaWoodwind datasets.

How to use

from dynamic_source_separator import DynamicSourceSeparator

model = DynamicSourceSeparator.from_pretrained(
    "cadenzachallenge/Dynamic_Source_Separator_Causal"
).cpu()

Description

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

Sources

1 source
Hugging FacePrimaryVersion 71855d419169dd6a9bcb89ba156d576485d481fe
huggingface.co/cadenzachallenge/Dynamic_Source_Separator_Noncausal/tree/71855d419169dd6a9bcb89ba156d576485d481fe

Verified Sep 12

Model artifacts

1 artifact

model.safetensors

safetensors · 201 MB · SHA-256 65d1daa1a61b…3bb4 · Hugging Face

Download

Source excerpts

2 excerpts

--- license: apache-2.0 language: - en tags: - hearing loss - challenge - signal processing - source separation - audio - audio-to-audio - NonCausal --- # Cadenza Challenge: CAD2-Task2 A Causal separation model for the CAD2-Task2 system. This model is an ensemble of the following instruments: - Bassoon - Cello - Clarinet - Flute - Oboe - Sax - Viola - Violin Each model is based on the ConvTasNet (Kaituo XU) with multichannel support (Alexandre Defossez). * Parameters: * B: 256 * C: 2 * H: 512 * L: 20 * N: 256 * P: 3 * R: 3 * X: 8 * audio_channels: 2 * causal: true * mask_nonlinear: relu * norm_type: cLN ## Dataset The model was trained using EnsembleSet and CadenzaWoodwind datasets. ## How to use ``` from dynamic_source_separator import DynamicSourceSeparator model = DynamicSourceSeparator.from_pretrained( "cadenzachallenge/Dynamic_Source_Separator_Causal" ).cpu() ``` ## Description Audio source separation model used in Sytem T002 for [Cadenza2 Task2 Challenge](https://cadenzachallenge.org/docs/cadenza2/Rebalancing%20Classical/rebalancing) 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(estimated~source, ref~source)) + L_1(reconstructed~mixture, original~mixture) $$ ```Python 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](https://github.com/claritychallenge/clarity)

Source context: 11 downloads · 0 likes · Pipeline audio-to-audio · Repo cadenzachallenge/Dynamic_Source_Separator_Noncausal