--- license: cc-by-nc-4.0 tags: - audio - music-source-separation - source-separation - htdemucs - acappella inference: false --- # ACappellaSet models ## License scope | Material | License / Terms | | --- | --- | | ACappellaSet contributions to the 29 released model checkpoints | CC BY-NC 4.0, to the extent of rights held by the ACappellaSet contributors. See [license text](licenses/CC-BY-NC-4.0.txt). | | Embedded third-party pretrained weights and encoders | Subject to applicable upstream terms and permissions. See [WEIGHTS_NOTICE.md](WEIGHTS_NOTICE.md). | | Original documentation and metadata | MIT ([LICENSE](LICENSE)) | | Original source code | MIT ([GitHub LICENSE](https://github.com/pting126/ACappellaSet/blob/main/LICENSE)), subject to third-party notices. | **The MIT license does not apply to model weights.** The CC BY-NC 4.0 designation does not relicense third-party pretrained parameters. Redistribution permissions for upstream-derived weights remain subject to verification. Dataset audio is governed by its separate [Dataset Terms](https://huggingface.co/datasets/AcappellaSet/ACappellaSet). Model weights and release metadata for a cappella source separation. The public release contains **29 checkpoints**: three fixed-output models, twelve original part-specific specialists, and fourteen conditioned selections, including two trained with AI-generated singer augmentation. Downloads do not require login or an access request. - **Checkpoint paths, hashes, configurations, and validation selections:** [manifest.json](manifest.json) - **Code and installation:** [ACappellaSet on GitHub](https://github.com/pting126/ACappellaSet) - **Inference:** [fixed-output and part-specific models](https://github.com/pting126/ACappellaSet/blob/main/docs/inference.md), [shared query-conditioned models](https://github.com/pting126/ACappellaSet/blob/main/docs/conditioned-inference.md). - **Training and configurations:** [published code and recipes](https://github.com/pting126/ACappellaSet). - **Dataset:** [ACappellaSet](https://huggingface.co/datasets/AcappellaSet/ACappellaSet) is released with Manual Approval for Non-commercial Research Use. Model downloads do not require dataset access approval, and Dataset Terms do not relicense these model weights. ## Fixed-output and part-specific models These models use the [HTDemucs-MSS architecture](https://github.com/pting126/ACappellaSet/blob/main/models/demucs4ht.py), with parallel waveform and spectrogram branches coupled by a cross-domain Transformer. Fixed-output models predict six vocal parts simultaneously. Each part-specific model has a two-output head for its designated target and residual, with a separate checkpoint per vocal part; no query input is required. JC denotes JaCappella; SK denotes natural Seagull-K recordings; JC + SK denotes joint training. Each checkpoint below links to its file. | Model | Training corpus | Checkpoints | | --- | --- | --- | | Fixed-output HTDemucs (6 outputs) | JC | [Fixed_6stem_htdemucs_JC](fixed/JC/legacy/Fixed_6stem_htdemucs_JC.pt) | | Fixed-output HTDemucs (6 outputs) | SK | [Fixed_6stem_htdemucs_SK](fixed/SK/legacy/Fixed_6stem_htdemucs_SK.pt) | | Fixed-output HTDemucs (6 outputs) | JC + SK | [Fixed_6stem_htdemucs_SKnJC](fixed/SKnJC/legacy/Fixed_6stem_htdemucs_SKnJC.pt) | | Part-specific HTDemucs (mixture input) | JC | [Soprano](specialists/JC/legacy/soprano/epoch_0162.pt), [Alto](specialists/JC/legacy/alto/epoch_0223.pt), [Tenor](specialists/JC/legacy/tenor/epoch_0119.pt), [Bass](specialists/JC/legacy/bass/epoch_0110.pt), [VP](specialists/JC/legacy/vp/epoch_0045.pt), [Lead](specialists/JC/legacy/lead/epoch_0149.pt) | | Part-specific HTDemucs (mixture input) | SK | [Soprano](specialists/SK/legacy/soprano/epoch_0220.pt), [Alto](specialists/SK/legacy/alto/epoch_0237.pt), [Tenor](specialists/SK/legacy/tenor/epoch_0214.pt), [Bass](specialists/SK/legacy/bass/epoch_0182.pt), [VP](specialists/SK/legacy/vp/epoch_0205.pt), [Baritone](specialists/SK/legacy/baritone/epoch_0043.pt) | ## Shared query-conditioned These models extend [HTDemucs with query-conditioned FiLM layers](https://github.com/pting126/ACappellaSet/blob/main/models/conditioned_core.py) in the waveform and spectrogram branches before the cross-domain Transformer. Queries use a learned vocal-part embedding, a matching fine-tuned ReDimNet2 singer-enrollment encoder, or both. A shared model extracts the requested target and its residual; the full-remix and single-clone models use the singer-conditioned architecture with different training data. Checkpoint labels show the selected training step and validation criterion. “Pooled” means JC + SK validation. | Model | Training data | Checkpoint (validation criterion) | | --- | --- | --- | | Vocal-part-conditioned HTDemucs | SK | [4k](conditioned/role/train-sk-natural/sisdr-v1/no-encoder/step-0004000.pt) (JC inclusive); [198k](conditioned/role/train-sk-natural/sisdr-v1/no-encoder/step-0198000.pt) (SK shared) | | Vocal-part-conditioned HTDemucs | JC | [119k](conditioned/role/train-jc-natural/sisdr-v1/no-encoder/step-0119000.pt) (SK inclusive); [141k](conditioned/role/train-jc-natural/sisdr-v1/no-encoder/step-0141000.pt) (JC shared) | | Singer-conditioned HTDemucs | SK | [12k](conditioned/enrollment/train-sk-natural/sisdr-v1/redimnet2-finetuned/step-0012000.pt) (JC shared, JC inclusive); [106k](conditioned/enrollment/train-sk-natural/sisdr-v1/redimnet2-finetuned/step-0106000.pt) (pooled shared, pooled inclusive); [179k](conditioned/enrollment/train-sk-natural/sisdr-v1/redimnet2-finetuned/step-0179000.pt) (SK shared) | | Vocal-part + singer-conditioned HTDemucs | SK | [7k](conditioned/dual/train-sk-natural/sisdr-v1/redimnet2-finetuned/step-0007000.pt) (JC inclusive) | | Singer-conditioned HTDemucs | JC | [184k](conditioned/enrollment/train-jc-natural/sisdr-v1/redimnet2-finetuned/step-0184000.pt) (SK inclusive) | | Vocal-part + singer-conditioned HTDemucs | JC | [188k](conditioned/dual/train-jc-natural/sisdr-v1/redimnet2-finetuned/step-0188000.pt) (SK inclusive) | | Singer-conditioned HTDemucs | JC + SK | [195k](conditioned/enrollment/train-jc-sk-natural/sisdr-v1/redimnet2-finetuned/step-0195000.pt) (JC shared, pooled shared); [198k](conditioned/enrollment/train-jc-sk-natural/sisdr-v1/redimnet2-finetuned/step-0198000.pt) (SK shared) | | Singer-conditioned HTDemucs | SK + full-remix singer augmentation | [131k](conditioned/enrollment/train-sk-full-remix/sisdr-v1/redimnet2-finetuned/step-0131000.pt) (pooled inclusive) | | Singer-conditioned HTDemucs | SK + single-clone singer augmentation | [48k](conditioned/enrollment/train-sk-single-clone/sisdr-v1/redimnet2-finetuned/step-0048000.pt) (pooled inclusive) | Conditioned runs were trained through 200k updates; the released files were selected using validation scores. Training data and validation corpus are separate attributes. Shared aggregates retained S/A/T/B/VP pairs rather than averaging five part means. Inclusive additionally includes JC Lead or SK Bar. In the machine-readable registry, `combined_*` selection labels mean pooled JC + SK validation. ## Download and inference ```bash hf download AcappellaSet/ACappellaSet-Models --local-dir ./ACappellaSet-Models ``` To download one checkpoint, add its file path from the tables above after the repository name. Follow the linked GitHub installation and inference guides and pass the downloaded file with `--checkpoint`. The registry records `inference_model_id` and, for shared query-conditioned models, the available `selection_labels`. Released files contain inference tensors only (plus the selected step for query-conditioned models) and load with `weights_only=True`. Checkpoint and configuration hashes are verified before strict loading. Fixed-output and part-specific models take mixture audio. Shared query-conditioned models additionally use a vocal-part query, singer-enrollment audio, or both, according to their conditioning type. All 29 checkpoints have registered inference adapters. Singer- and dual-conditioned exports include their matching fine-tuned encoder tensors. ### Output conventions The fixed-output JC + SK model returns `vp`, `bass`, `soprano`, `alto`, `tenor`, and `other`. Its `other` output has JC Lead / SK Baritone training semantics; these are not independent outputs. Part-specific specialists use residual index 0 and target index 1. Shared query-conditioned models use target index 0 and residual index 1. Preserve each checkpoint's native source order and inference settings. ## Layout ```text manifest.json fixed/{JC,SK,SKnJC}/legacy/ specialists/{JC,SK}/legacy/{part}/ conditioned/ configs/ ``` `model.json` and conditioned step JSON files record checkpoint identity, configuration, and license. `bank.json` maps specialist roles to model IDs. The registry provides released-file SHA-256 hashes. Configurations are included under `configs/`; maintained executable code is on GitHub. Validation-selected models record the validation corpus, shared/inclusive scope, training cutoff, and selected step. Multiple selectors may refer to the same file. The two AI-augmented entries identify their augmentation datasets explicitly. ## Licenses and citation Original repository documentation and metadata use the [MIT license](LICENSE), which does not apply to model weights. ACappellaSet contributions to the released checkpoints use [CC BY-NC 4.0](licenses/CC-BY-NC-4.0.txt), to the extent of rights held by the contributors. This designation does not relicense embedded third-party pretrained parameters; upstream redistribution permissions remain subject to verification. Preserve attribution and indicate changes when sharing. See [License scope](#license-scope) and [weight notices](WEIGHTS_NOTICE.md). Dataset audio is separate. Upstream architecture attribution is maintained in the GitHub repository's [third-party notices](https://github.com/pting126/ACappellaSet/blob/main/THIRD_PARTY_NOTICES.md). Cite the accompanying paper when a verified citation becomes available; do not infer publication status from this repository.