File size: 10,099 Bytes
8617847 78ce56c 2bfe224 8617847 7980875 8617847 7980875 8617847 2bfe224 78ce56c 8617847 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | ---
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.
|