Hi, and thank you for open-sourcing TaDiCodec — really enjoyed the paper and appreciate the trainer/config you've already shared. I'm working on reproducing [TaDiCodec](https://huggingface.co/amphion/TaDiCodec) and ran into a few gaps between what's released and what's needed to actually train end-to-end. Listing them out below so it's easy to track — would really appreciate any pointers.
1. Dataset / Collator implementation
TadiCodecDataset and TadiCodecCollator are imported in tadicodec_trainer.py but aren't included in the repo. Specifically unclear:
- Audio chunking/cropping length and padding strategy
- Mask (
x_mask) construction
- Text tokenization details — which tokenizer (and revision) was used for
text_ids? text tokenizer model isn't set in the released config.
2. Dynamic batching
The released config sets:
"use_dynamic_batchsize": true
and _train_step has a commented-out "select samples to avoid OOM" block hinting at token-based batching. The actual bucketing/batching implementation isn't in the repo — could you share how batches are formed (e.g. max_tokens / max_sentences usage)?
3. Training entry point
There doesn't appear to be a standalone script tying config → dataset → trainer together. An end-to-end reference script would help a lot.
4. Training details not reflected in code/config
- EMA: was EMA applied to the released TaDiCodec weights? If so, what decay/warmup schedule?
- Per-module LR scaling: is any separate learning rate used for the decoder vs. VQ codebook?
- Gradient clipping:
_train_step hardcodes a 0.5 grad-norm clip — is this what was used for the official run?
If you could share (or point me to) the missing dataset/collator code and the exact training config used for the released [TaDiCodec](https://huggingface.co/amphion/TaDiCodec) model, it would go a long way toward closing the reproduction gap. Happy to share my current reimplementation for comparison if useful. Thanks again for the great work!
Hi, and thank you for open-sourcing TaDiCodec — really enjoyed the paper and appreciate the trainer/config you've already shared. I'm working on reproducing [TaDiCodec](https://huggingface.co/amphion/TaDiCodec) and ran into a few gaps between what's released and what's needed to actually train end-to-end. Listing them out below so it's easy to track — would really appreciate any pointers.
1. Dataset / Collator implementation
TadiCodecDatasetandTadiCodecCollatorare imported intadicodec_trainer.pybut aren't included in the repo. Specifically unclear:x_mask) constructiontext_ids? text tokenizer model isn't set in the released config.2. Dynamic batching
The released config sets:
and
_train_stephas a commented-out "select samples to avoid OOM" block hinting at token-based batching. The actual bucketing/batching implementation isn't in the repo — could you share how batches are formed (e.g.max_tokens/max_sentencesusage)?3. Training entry point
There doesn't appear to be a standalone script tying config → dataset → trainer together. An end-to-end reference script would help a lot.
4. Training details not reflected in code/config
_train_stephardcodes a0.5grad-norm clip — is this what was used for the official run?If you could share (or point me to) the missing dataset/collator code and the exact training config used for the released [TaDiCodec](https://huggingface.co/amphion/TaDiCodec) model, it would go a long way toward closing the reproduction gap. Happy to share my current reimplementation for comparison if useful. Thanks again for the great work!