card-framework 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- card_framework-1.0.1/LICENSE.md +137 -0
- card_framework-1.0.1/PKG-INFO +344 -0
- card_framework-1.0.1/README.md +295 -0
- card_framework-1.0.1/pyproject.toml +137 -0
- card_framework-1.0.1/setup.cfg +4 -0
- card_framework-1.0.1/src/card_framework/__init__.py +21 -0
- card_framework-1.0.1/src/card_framework/_vendor/__init__.py +2 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/LICENSE_ZH.txt +52 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/README.md +479 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/archive/README_INDEXTTS_1_5.md +247 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/docs/README_zh.md +399 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/examples/cases.jsonl +12 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/ECAPA_TDNN.py +656 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/activations.py +122 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/cuda/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/cuda/activation1d.py +76 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/cuda/load.py +121 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/torch/__init__.py +6 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/torch/act.py +31 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/torch/filter.py +102 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_activation/torch/resample.py +58 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_torch/__init__.py +6 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_torch/act.py +29 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_torch/filter.py +96 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/alias_free_torch/resample.py +49 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/bigvgan.py +534 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/models.py +451 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/nnet/CNN.py +546 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/nnet/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/nnet/linear.py +89 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/nnet/normalization.py +670 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/BigVGAN/utils.py +101 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/accel/__init__.py +9 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/accel/accel_engine.py +659 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/accel/attention.py +154 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/accel/gpt2_accel.py +181 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/accel/kv_manager.py +209 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/cli.py +65 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/conformer/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/conformer/attention.py +312 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/conformer/embedding.py +163 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/conformer/subsampling.py +348 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/conformer_encoder.py +520 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/model.py +713 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/model_v2.py +796 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/perceiver.py +317 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/transformers_beam_search.py +1013 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/transformers_generation_utils.py +4747 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/transformers_gpt2.py +1878 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/gpt/transformers_modeling_utils.py +5525 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/infer.py +690 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/infer_v2.py +856 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/__init__.py +16 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/__main__.py +36 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/model/__init__.py +4 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/model/base.py +294 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/model/dac.py +400 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/model/discriminator.py +228 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/model/encodec.py +320 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/nn/__init__.py +3 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/nn/layers.py +33 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/nn/loss.py +368 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/nn/quantize.py +339 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/utils/__init__.py +123 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/utils/decode.py +95 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/dac/utils/encode.py +94 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/hf_utils.py +12 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/alias_free_torch/__init__.py +5 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/alias_free_torch/act.py +29 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/alias_free_torch/filter.py +96 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/alias_free_torch/resample.py +57 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/audio.py +82 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/activations.py +120 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/activation1d.py +77 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/load.py +86 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/__init__.py +6 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/act.py +30 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/filter.py +101 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/resample.py +58 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/bigvgan.py +492 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/config.json +63 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/env.py +18 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/meldataset.py +354 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/bigvgan/utils.py +99 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/campplus/DTDNN.py +115 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/campplus/classifier.py +70 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/campplus/layers.py +253 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/commons.py +643 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/diffusion_transformer.py +257 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/encodec.py +292 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/flow_matching.py +186 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/gpt_fast/generate.py +436 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/gpt_fast/model.py +360 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/gpt_fast/quantize.py +622 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/hifigan/f0_predictor.py +55 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/hifigan/generator.py +454 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/layers.py +354 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/length_regulator.py +141 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/api.py +186 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/attentions.py +465 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/checkpoints_v2/converter/config.json +57 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/commons.py +160 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/mel_processing.py +183 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/models.py +499 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/modules.py +598 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/openvoice_app.py +275 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/se_extractor.py +153 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/transforms.py +209 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/openvoice/utils.py +194 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/quantize.py +229 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/rmvpe.py +631 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/__init__.py +4 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/heads.py +164 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/helpers.py +71 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/loss.py +114 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/models.py +118 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/modules.py +213 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/pretrained.py +51 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/vocos/spectral_ops.py +192 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/modules/wavenet.py +174 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/optimizers.py +96 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/s2mel/wav2vecbert_extract.py +148 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/arch_util.py +120 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/checkpoint.py +34 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/common.py +122 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/feature_extractors.py +50 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/front.py +718 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/amphion_codec/codec.py +427 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/amphion_codec/quantize/__init__.py +11 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/amphion_codec/quantize/factorized_vector_quantize.py +150 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/amphion_codec/quantize/lookup_free_quantize.py +77 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/amphion_codec/quantize/residual_vq.py +177 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/amphion_codec/quantize/vector_quantize.py +401 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/amphion_codec/vocos.py +881 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/codec_dataset.py +264 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/codec_inference.py +515 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/codec_sampler.py +126 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/codec_trainer.py +166 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/__init__.py +5 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/act.py +29 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/filter.py +96 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/resample.py +57 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/facodec_dataset.py +98 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/facodec_inference.py +137 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/facodec_trainer.py +776 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/JDC/__init__.py +1 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/JDC/model.py +219 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/attentions.py +437 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/commons.py +331 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/gradient_reversal.py +35 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/layers.py +460 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/quantize.py +741 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/style_encoder.py +110 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/modules/wavenet.py +224 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/facodec/optimizer.py +104 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/kmeans/repcodec_model.py +210 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/kmeans/vocos.py +850 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/melvqgan/melspec.py +108 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/README.md +216 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/__init__.py +6 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/__init__.py +5 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/act.py +29 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/filter.py +96 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/resample.py +57 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/facodec.py +1222 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/gradient_reversal.py +35 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/melspec.py +102 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/quantize/__init__.py +7 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/quantize/fvq.py +116 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/quantize/rvq.py +87 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/ns3_codec/transformer.py +234 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/model.py +184 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/__init__.py +27 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/conv.py +346 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/lstm.py +46 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/norm.py +37 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/__init__.py +14 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/ac.py +317 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/core_vq.py +388 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/distrib.py +135 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/vq.py +125 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/speechtokenizer/modules/seanet.py +414 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/codec/vevo/vevo_repcodec.py +592 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/tts/maskgct/llama_nar.py +650 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct/models/tts/maskgct/maskgct_s2a.py +503 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/maskgct_utils.py +259 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/text_utils.py +41 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/typical_sampling.py +30 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/utils.py +93 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/webui_utils.py +42 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/utils/xtransformers.py +1247 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/vqvae/__init__.py +0 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/indextts/vqvae/xtts_dvae.py +395 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/pyproject.toml +117 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tests/cases.jsonl +9 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tests/padding_test.py +99 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tests/regression_test.py +42 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tools/gpu_check.py +85 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tools/i18n/i18n.py +36 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tools/i18n/locale/en_US.json +65 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tools/i18n/locale/zh_CN.json +47 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/tools/i18n/scan_i18n.py +131 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/uv.lock +3876 -0
- card_framework-1.0.1/src/card_framework/_vendor/index_tts/webui.py +557 -0
- card_framework-1.0.1/src/card_framework/agents/__init__.py +2 -0
- card_framework-1.0.1/src/card_framework/agents/base.py +486 -0
- card_framework-1.0.1/src/card_framework/agents/client.py +260 -0
- card_framework-1.0.1/src/card_framework/agents/corrector.py +360 -0
- card_framework-1.0.1/src/card_framework/agents/critic.py +386 -0
- card_framework-1.0.1/src/card_framework/agents/dtos.py +179 -0
- card_framework-1.0.1/src/card_framework/agents/ground_truth_creator.py +500 -0
- card_framework-1.0.1/src/card_framework/agents/health.py +177 -0
- card_framework-1.0.1/src/card_framework/agents/loop_context.py +991 -0
- card_framework-1.0.1/src/card_framework/agents/message_registry.py +250 -0
- card_framework-1.0.1/src/card_framework/agents/parsers.py +325 -0
- card_framework-1.0.1/src/card_framework/agents/qa_evaluator.py +1140 -0
- card_framework-1.0.1/src/card_framework/agents/retrieval.py +76 -0
- card_framework-1.0.1/src/card_framework/agents/summarizer.py +530 -0
- card_framework-1.0.1/src/card_framework/agents/summarizer_loop_controller.py +129 -0
- card_framework-1.0.1/src/card_framework/agents/summarizer_tool_dispatcher.py +587 -0
- card_framework-1.0.1/src/card_framework/agents/tool_call_utils.py +45 -0
- card_framework-1.0.1/src/card_framework/agents/tool_handlers.py +738 -0
- card_framework-1.0.1/src/card_framework/agents/utils.py +100 -0
- card_framework-1.0.1/src/card_framework/api.py +762 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/__init__.py +27 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/alignment.py +114 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/calibration.py +696 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/config.py +15 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/contracts.py +195 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/errors.py +21 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/eta.py +769 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/factory.py +649 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/__init__.py +16 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/ctc_forced_aligner_gateway.py +141 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/demucs_gateway.py +151 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/diarization_common.py +120 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/fallback_gateways.py +71 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/fallback_voice_clone_gateway.py +57 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/faster_whisper_gateway.py +265 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/indextts_voice_clone_gateway.py +817 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/nemo_diarizer_gateway.py +284 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/nemo_msdd_infer_telephonic.yaml +67 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/pyannote_diarizer_gateway.py +192 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/sortformer_diarizer_gateway.py +263 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gateways/speaker_sample_gateway.py +186 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/gpu_heartbeat.py +613 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/interjector.py +1146 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/io.py +69 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/live_draft_voice_clone.py +580 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/orchestrator.py +508 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/runners/indextts_infer_runner.py +65 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/runners/indextts_persistent_runner.py +241 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/runtime.py +99 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/speaker_samples.py +722 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/voice_clone_contracts.py +101 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/voice_clone_orchestrator.py +465 -0
- card_framework-1.0.1/src/card_framework/audio_pipeline/word_speaker_alignment.py +396 -0
- card_framework-1.0.1/src/card_framework/benchmark/README.md +80 -0
- card_framework-1.0.1/src/card_framework/benchmark/__init__.py +1 -0
- card_framework-1.0.1/src/card_framework/benchmark/artifacts.py +107 -0
- card_framework-1.0.1/src/card_framework/benchmark/datasets.py +266 -0
- card_framework-1.0.1/src/card_framework/benchmark/diarization.py +742 -0
- card_framework-1.0.1/src/card_framework/benchmark/diarization_datasets.py +271 -0
- card_framework-1.0.1/src/card_framework/benchmark/diarization_types.py +74 -0
- card_framework-1.0.1/src/card_framework/benchmark/instrumentation.py +74 -0
- card_framework-1.0.1/src/card_framework/benchmark/manifests/benchmark_v1.json +19 -0
- card_framework-1.0.1/src/card_framework/benchmark/manifests/diarization_ami_test.json +218 -0
- card_framework-1.0.1/src/card_framework/benchmark/manifests/diarization_manifest.example.json +16 -0
- card_framework-1.0.1/src/card_framework/benchmark/matrix.py +268 -0
- card_framework-1.0.1/src/card_framework/benchmark/metrics.py +157 -0
- card_framework-1.0.1/src/card_framework/benchmark/mrcr.py +317 -0
- card_framework-1.0.1/src/card_framework/benchmark/provider_profiles.yaml +69 -0
- card_framework-1.0.1/src/card_framework/benchmark/qa.py +1046 -0
- card_framework-1.0.1/src/card_framework/benchmark/qa_config.yaml +42 -0
- card_framework-1.0.1/src/card_framework/benchmark/qa_contracts.py +213 -0
- card_framework-1.0.1/src/card_framework/benchmark/qa_evaluator_runner.py +306 -0
- card_framework-1.0.1/src/card_framework/benchmark/qa_input_guard.py +188 -0
- card_framework-1.0.1/src/card_framework/benchmark/qa_settings.py +338 -0
- card_framework-1.0.1/src/card_framework/benchmark/reference_free/__init__.py +1 -0
- card_framework-1.0.1/src/card_framework/benchmark/reference_free/alignscore_runner.py +215 -0
- card_framework-1.0.1/src/card_framework/benchmark/reference_free/contracts.py +182 -0
- card_framework-1.0.1/src/card_framework/benchmark/reference_free/judge_runner.py +355 -0
- card_framework-1.0.1/src/card_framework/benchmark/reference_free/pipeline.py +92 -0
- card_framework-1.0.1/src/card_framework/benchmark/reference_free/plugins.py +52 -0
- card_framework-1.0.1/src/card_framework/benchmark/rubrics/default_summarization_rubric.json +31 -0
- card_framework-1.0.1/src/card_framework/benchmark/run.py +961 -0
- card_framework-1.0.1/src/card_framework/benchmark/somebody.py +22 -0
- card_framework-1.0.1/src/card_framework/benchmark/test_ui.py +21 -0
- card_framework-1.0.1/src/card_framework/benchmark/types.py +143 -0
- card_framework-1.0.1/src/card_framework/cli/__init__.py +2 -0
- card_framework-1.0.1/src/card_framework/cli/calibrate.py +180 -0
- card_framework-1.0.1/src/card_framework/cli/eval.py +30 -0
- card_framework-1.0.1/src/card_framework/cli/main.py +1668 -0
- card_framework-1.0.1/src/card_framework/cli/run_summary_matrix.py +807 -0
- card_framework-1.0.1/src/card_framework/cli/setup_and_run.py +1859 -0
- card_framework-1.0.1/src/card_framework/cli/ui.py +520 -0
- card_framework-1.0.1/src/card_framework/cli/ui_cli.py +28 -0
- card_framework-1.0.1/src/card_framework/config/config.yaml +335 -0
- card_framework-1.0.1/src/card_framework/orchestration/__init__.py +25 -0
- card_framework-1.0.1/src/card_framework/orchestration/stage_orchestrator.py +617 -0
- card_framework-1.0.1/src/card_framework/orchestration/transcript.py +113 -0
- card_framework-1.0.1/src/card_framework/prompts/__init__.py +2 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/corrector_system.jinja2 +26 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/corrector_user.jinja2 +19 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/critic_system.jinja2 +84 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/critic_user.jinja2 +3 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/interjector_system.jinja2 +32 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/interjector_user.jinja2 +11 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/qa_evaluator_system.jinja2 +46 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/qa_evaluator_user.jinja2 +32 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/qa_ground_truth_system.jinja2 +54 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/qa_ground_truth_user.jinja2 +17 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/query_generation_system.jinja2 +20 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/summarizer_revise.jinja2 +86 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/summarizer_system.jinja2 +121 -0
- card_framework-1.0.1/src/card_framework/prompts/templates/summarizer_user.jinja2 +10 -0
- card_framework-1.0.1/src/card_framework/providers/__init__.py +34 -0
- card_framework-1.0.1/src/card_framework/providers/deepseek_provider.py +315 -0
- card_framework-1.0.1/src/card_framework/providers/glm_provider.py +216 -0
- card_framework-1.0.1/src/card_framework/providers/google_genai_provider.py +142 -0
- card_framework-1.0.1/src/card_framework/providers/huggingface_provider.py +113 -0
- card_framework-1.0.1/src/card_framework/providers/logging_provider.py +260 -0
- card_framework-1.0.1/src/card_framework/providers/nanbeige_provider.py +114 -0
- card_framework-1.0.1/src/card_framework/providers/null_provider.py +34 -0
- card_framework-1.0.1/src/card_framework/providers/response_callbacks.py +119 -0
- card_framework-1.0.1/src/card_framework/providers/sentence_transformer_provider.py +84 -0
- card_framework-1.0.1/src/card_framework/providers/transformers_provider.py +203 -0
- card_framework-1.0.1/src/card_framework/providers/vllm_provider.py +300 -0
- card_framework-1.0.1/src/card_framework/retrieval/__init__.py +2 -0
- card_framework-1.0.1/src/card_framework/retrieval/embeddings.py +112 -0
- card_framework-1.0.1/src/card_framework/runtime/__init__.py +2 -0
- card_framework-1.0.1/src/card_framework/runtime/bootstrap.py +361 -0
- card_framework-1.0.1/src/card_framework/runtime/loop_orchestrator.py +579 -0
- card_framework-1.0.1/src/card_framework/runtime/pipeline_plan.py +132 -0
- card_framework-1.0.1/src/card_framework/shared/__init__.py +2 -0
- card_framework-1.0.1/src/card_framework/shared/events.py +89 -0
- card_framework-1.0.1/src/card_framework/shared/llm_provider.py +274 -0
- card_framework-1.0.1/src/card_framework/shared/logger_utils.py +197 -0
- card_framework-1.0.1/src/card_framework/shared/paths.py +89 -0
- card_framework-1.0.1/src/card_framework/shared/prompt_manager.py +39 -0
- card_framework-1.0.1/src/card_framework/shared/runtime_layout.py +55 -0
- card_framework-1.0.1/src/card_framework/shared/summary_output.py +14 -0
- card_framework-1.0.1/src/card_framework/shared/summary_xml.py +73 -0
- card_framework-1.0.1/src/card_framework.egg-info/PKG-INFO +344 -0
- card_framework-1.0.1/src/card_framework.egg-info/SOURCES.txt +356 -0
- card_framework-1.0.1/src/card_framework.egg-info/dependency_links.txt +1 -0
- card_framework-1.0.1/src/card_framework.egg-info/entry_points.txt +10 -0
- card_framework-1.0.1/src/card_framework.egg-info/requires.txt +33 -0
- card_framework-1.0.1/src/card_framework.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# CARD Framework License
|
|
2
|
+
|
|
3
|
+
CARD Framework is made available under the PolyForm Noncommercial License
|
|
4
|
+
1.0.0. You may use, copy, modify, and distribute this software for
|
|
5
|
+
noncommercial purposes. Commercial use is not permitted unless you obtain
|
|
6
|
+
separate written permission from the licensors.
|
|
7
|
+
|
|
8
|
+
Required Notice: Copyright 2026 Rei Dennis Agustin, Sean Luigi P. Caranzo, Johnbell R. De Leon, and Christian Klein C. Ramos.
|
|
9
|
+
|
|
10
|
+
# PolyForm Noncommercial License 1.0.0
|
|
11
|
+
|
|
12
|
+
## Acceptance
|
|
13
|
+
|
|
14
|
+
In order to get any license under these terms, you must agree
|
|
15
|
+
to them as both strict obligations and conditions to all
|
|
16
|
+
your licenses.
|
|
17
|
+
|
|
18
|
+
## Copyright License
|
|
19
|
+
|
|
20
|
+
The licensor grants you a copyright license for the
|
|
21
|
+
software to do everything you might do with the software
|
|
22
|
+
that would otherwise infringe the licensor's copyright
|
|
23
|
+
in it for any permitted purpose. However, you may
|
|
24
|
+
only distribute the software according to the Distribution
|
|
25
|
+
License and make changes or new works based on the software
|
|
26
|
+
according to the Changes and New Works License.
|
|
27
|
+
|
|
28
|
+
## Distribution License
|
|
29
|
+
|
|
30
|
+
The licensor grants you an additional copyright license
|
|
31
|
+
to distribute copies of the software. Your license
|
|
32
|
+
to distribute covers distributing the software with
|
|
33
|
+
changes and new works permitted by the Changes and New Works
|
|
34
|
+
License.
|
|
35
|
+
|
|
36
|
+
## Notices
|
|
37
|
+
|
|
38
|
+
You must ensure that anyone who gets a copy of any part of
|
|
39
|
+
the software from you also gets a copy of these terms, as well
|
|
40
|
+
as copies of any plain-text lines beginning with
|
|
41
|
+
`Required Notice:` that the licensor provided with the
|
|
42
|
+
software. For this repository, the notice is:
|
|
43
|
+
|
|
44
|
+
> Required Notice: Copyright 2026 Rei Dennis Agustin, Sean Luigi P. Caranzo, Johnbell R. De Leon, and Christian Klein C. Ramos.
|
|
45
|
+
|
|
46
|
+
## Changes and New Works License
|
|
47
|
+
|
|
48
|
+
The licensor grants you an additional copyright license to
|
|
49
|
+
make changes and new works based on the software for any
|
|
50
|
+
permitted purpose.
|
|
51
|
+
|
|
52
|
+
## Patent License
|
|
53
|
+
|
|
54
|
+
The licensor grants you a patent license for the software that
|
|
55
|
+
covers patent claims the licensor can license, or becomes able
|
|
56
|
+
to license, that you would infringe by using the software.
|
|
57
|
+
|
|
58
|
+
## Noncommercial Purposes
|
|
59
|
+
|
|
60
|
+
Any noncommercial purpose is a permitted purpose.
|
|
61
|
+
|
|
62
|
+
## Personal Uses
|
|
63
|
+
|
|
64
|
+
Personal use for research, experiment, and testing for
|
|
65
|
+
the benefit of public knowledge, personal study, private
|
|
66
|
+
entertainment, hobby projects, amateur pursuits, or religious
|
|
67
|
+
observance, without any anticipated commercial application,
|
|
68
|
+
is use for a permitted purpose.
|
|
69
|
+
|
|
70
|
+
## Noncommercial Organizations
|
|
71
|
+
|
|
72
|
+
Use by any charitable organization, educational institution,
|
|
73
|
+
public research organization, public safety or health
|
|
74
|
+
organization, environmental protection organization,
|
|
75
|
+
or government institution is use for a permitted purpose
|
|
76
|
+
regardless of the source of funding or obligations resulting
|
|
77
|
+
from the funding.
|
|
78
|
+
|
|
79
|
+
## Fair Use
|
|
80
|
+
|
|
81
|
+
You may have "fair use" rights for the software under the
|
|
82
|
+
law. These terms do not limit them.
|
|
83
|
+
|
|
84
|
+
## No Other Rights
|
|
85
|
+
|
|
86
|
+
These terms do not allow you to sublicense or transfer any of
|
|
87
|
+
your licenses to anyone else, or prevent the licensor from
|
|
88
|
+
granting licenses to anyone else. These terms do not imply
|
|
89
|
+
any other licenses.
|
|
90
|
+
|
|
91
|
+
## Patent Defense
|
|
92
|
+
|
|
93
|
+
If you make any written claim that the software infringes or
|
|
94
|
+
contributes to infringement of any patent, your patent license
|
|
95
|
+
for the software granted under these terms ends immediately. If
|
|
96
|
+
your company makes such a claim, your patent license ends
|
|
97
|
+
immediately for work on behalf of your company.
|
|
98
|
+
|
|
99
|
+
## Violations
|
|
100
|
+
|
|
101
|
+
The first time you are notified in writing that you have
|
|
102
|
+
violated any of these terms, or done anything with the software
|
|
103
|
+
not covered by your licenses, your licenses can nonetheless
|
|
104
|
+
continue if you come into full compliance with these terms,
|
|
105
|
+
and take practical steps to correct past violations, within
|
|
106
|
+
32 days of receiving notice. Otherwise, all your licenses
|
|
107
|
+
end immediately.
|
|
108
|
+
|
|
109
|
+
## No Liability
|
|
110
|
+
|
|
111
|
+
***As far as the law allows, the software comes as is, without
|
|
112
|
+
any warranty or condition, and the licensor will not be liable
|
|
113
|
+
to you for any damages arising out of these terms or the use
|
|
114
|
+
or nature of the software, under any kind of legal claim.***
|
|
115
|
+
|
|
116
|
+
## Definitions
|
|
117
|
+
|
|
118
|
+
The **licensor** is the individual or entity offering these
|
|
119
|
+
terms, and the **software** is the software the licensor makes
|
|
120
|
+
available under these terms.
|
|
121
|
+
|
|
122
|
+
**You** refers to the individual or entity agreeing to these
|
|
123
|
+
terms.
|
|
124
|
+
|
|
125
|
+
**Your company** is any legal entity, sole proprietorship,
|
|
126
|
+
or other kind of organization that you work for, plus all
|
|
127
|
+
organizations that have control over, are under the control of,
|
|
128
|
+
or are under common control with that organization. **Control**
|
|
129
|
+
means ownership of substantially all the assets of an entity,
|
|
130
|
+
or the power to direct its management and policies by vote,
|
|
131
|
+
contract, or otherwise. Control can be direct or indirect.
|
|
132
|
+
|
|
133
|
+
**Your licenses** are all the licenses granted to you for the
|
|
134
|
+
software under these terms.
|
|
135
|
+
|
|
136
|
+
**Use** means anything you do with the software requiring one
|
|
137
|
+
of your licenses.
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: card-framework
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Constraint-aware audio resynthesis and distillation pipeline.
|
|
5
|
+
License-Expression: LicenseRef-PolyForm-Noncommercial-1.0.0
|
|
6
|
+
Project-URL: Homepage, https://github.com/Lolfaceftw/card-framework
|
|
7
|
+
Project-URL: Repository, https://github.com/Lolfaceftw/card-framework
|
|
8
|
+
Project-URL: Issues, https://github.com/Lolfaceftw/card-framework/issues
|
|
9
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Requires-Python: >=3.12
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE.md
|
|
15
|
+
Requires-Dist: openai
|
|
16
|
+
Requires-Dist: requests
|
|
17
|
+
Requires-Dist: a2a-sdk[all]
|
|
18
|
+
Requires-Dist: httpx
|
|
19
|
+
Requires-Dist: uvicorn
|
|
20
|
+
Requires-Dist: starlette
|
|
21
|
+
Requires-Dist: sentence-transformers>=2.7.0
|
|
22
|
+
Requires-Dist: torch>=2.0.0
|
|
23
|
+
Requires-Dist: numpy
|
|
24
|
+
Requires-Dist: accelerate>=1.12.0
|
|
25
|
+
Requires-Dist: hydra-core>=1.3.0
|
|
26
|
+
Requires-Dist: omegaconf>=2.3.0
|
|
27
|
+
Requires-Dist: rich>=14.3.3
|
|
28
|
+
Requires-Dist: google-genai>=1.64.0
|
|
29
|
+
Requires-Dist: zai-sdk>=0.2.2
|
|
30
|
+
Requires-Dist: jinja2
|
|
31
|
+
Requires-Dist: datasets>=4.5.0
|
|
32
|
+
Requires-Dist: huggingface-hub>=0.34.0
|
|
33
|
+
Requires-Dist: hf-transfer>=0.1.9
|
|
34
|
+
Requires-Dist: pydantic>=2.12.5
|
|
35
|
+
Requires-Dist: platformdirs>=4.3.6
|
|
36
|
+
Requires-Dist: demucs>=4.0.1
|
|
37
|
+
Requires-Dist: faster-whisper>=1.1.1
|
|
38
|
+
Requires-Dist: nemo-toolkit[asr]>=2.4.0
|
|
39
|
+
Requires-Dist: torchaudio>=2.0.0
|
|
40
|
+
Requires-Dist: soundfile>=0.13.1
|
|
41
|
+
Requires-Dist: torchcodec>=0.10.0
|
|
42
|
+
Requires-Dist: nltk>=3.8.1
|
|
43
|
+
Requires-Dist: ctc-forced-aligner
|
|
44
|
+
Requires-Dist: deepmultilingualpunctuation
|
|
45
|
+
Requires-Dist: tiktoken
|
|
46
|
+
Requires-Dist: textual
|
|
47
|
+
Requires-Dist: unidecode
|
|
48
|
+
Dynamic: license-file
|
|
49
|
+
|
|
50
|
+
# CARD Framework
|
|
51
|
+
|
|
52
|
+
This repository is the current implementation of **CARD: Constraint-aware Audio
|
|
53
|
+
Resynthesis and Distillation**, the project described in
|
|
54
|
+
[`EEE_196_CARD_UCL.md`](./EEE_196_CARD_UCL.md).
|
|
55
|
+
|
|
56
|
+
The paper is the conceptual and academic baseline. The codebase, however, has
|
|
57
|
+
already moved beyond parts of the manuscript's original implementation plan.
|
|
58
|
+
This README therefore prioritizes **what the repository actually does now**.
|
|
59
|
+
When the paper and the current code diverge, treat the code, config, and
|
|
60
|
+
`coder_docs` as the source of truth for day-to-day development.
|
|
61
|
+
|
|
62
|
+
## Paper Metadata
|
|
63
|
+
|
|
64
|
+
**Authors**
|
|
65
|
+
|
|
66
|
+
- Rei Dennis Agustin, 2022-03027, BS Electronics Engineering
|
|
67
|
+
- Sean Luigi P. Caranzo, 2022-05398, BS Computer Engineering
|
|
68
|
+
- Johnbell R. De Leon, 2021-01437, BS Computer Engineering
|
|
69
|
+
- Christian Klein C. Ramos, 2022-03126, BS Electronics Engineering
|
|
70
|
+
|
|
71
|
+
**Research Adviser**
|
|
72
|
+
|
|
73
|
+
- Rowel D. Atienza
|
|
74
|
+
|
|
75
|
+
**Affiliation**
|
|
76
|
+
|
|
77
|
+
- University of the Philippines Diliman
|
|
78
|
+
- December 2025
|
|
79
|
+
|
|
80
|
+
## Abstract
|
|
81
|
+
|
|
82
|
+
CARD addresses the long-form podcast consumption bottleneck by generating a
|
|
83
|
+
shorter conversational audio output that retains speaker identity and
|
|
84
|
+
prosodic character instead of collapsing everything into plain text. The
|
|
85
|
+
project combines transcript generation, speaker-aware summarization,
|
|
86
|
+
voice-cloned resynthesis, and conversational overlap handling so a
|
|
87
|
+
multi-speaker recording can be compressed toward a user-defined duration
|
|
88
|
+
without discarding the listening experience that makes the original medium
|
|
89
|
+
valuable.
|
|
90
|
+
|
|
91
|
+
## High-Level Architecture
|
|
92
|
+
|
|
93
|
+
```mermaid
|
|
94
|
+
flowchart LR
|
|
95
|
+
A[Source Audio] --> B[Stage 1<br/>Audio Ingestion]
|
|
96
|
+
B --> C[Transcript JSON<br/>Speaker Metadata]
|
|
97
|
+
C --> D[Stage 2<br/>Summarizer + Critic Loop]
|
|
98
|
+
D --> E[Summary XML<br/>Speaker-Tagged Turns]
|
|
99
|
+
E --> F[Stage 3<br/>Voice Clone Resynthesis]
|
|
100
|
+
F --> G[Cloned Summary Audio]
|
|
101
|
+
G --> H[Stage 4<br/>Interjector / Backchannels]
|
|
102
|
+
H --> I[Final Conversational Audio]
|
|
103
|
+
|
|
104
|
+
C -. Optional evaluation input .-> J[Benchmarks]
|
|
105
|
+
E -. Optional evaluation input .-> J
|
|
106
|
+
|
|
107
|
+
K[Hydra Config + Provider Adapters] -. controls .-> B
|
|
108
|
+
K -. controls .-> D
|
|
109
|
+
K -. controls .-> F
|
|
110
|
+
K -. controls .-> H
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## What CARD Does
|
|
114
|
+
|
|
115
|
+
CARD is a multi-stage pipeline for converting long-form multi-speaker audio into
|
|
116
|
+
a shorter, speaker-aware, resynthesized conversational output.
|
|
117
|
+
|
|
118
|
+
At a high level, the repository currently supports:
|
|
119
|
+
|
|
120
|
+
- **Stage 1: Audio ingestion and transcript generation**
|
|
121
|
+
- Source separation
|
|
122
|
+
- ASR, diarization, and alignment
|
|
123
|
+
- Transcript JSON generation with speaker metadata
|
|
124
|
+
- **Stage 2: Constraint-aware summarization**
|
|
125
|
+
- Summarizer and critic agent loop
|
|
126
|
+
- Duration-first summary generation with speaker-tagged XML output
|
|
127
|
+
- Retrieval-backed or full-transcript summarization paths
|
|
128
|
+
- **Stage 3: Voice cloning and resynthesis**
|
|
129
|
+
- Speaker sample generation
|
|
130
|
+
- Voice-cloned rendering of summary turns
|
|
131
|
+
- Live-draft voice cloning during summarizer edits
|
|
132
|
+
- **Stage 4: Conversational interjection**
|
|
133
|
+
- Optional overlap and backchannel synthesis on top of the cloned summary
|
|
134
|
+
- **Benchmarking and evaluation**
|
|
135
|
+
- Summarization benchmark workflows
|
|
136
|
+
- Source-grounded QA benchmark workflows
|
|
137
|
+
- Diarization benchmark workflows
|
|
138
|
+
|
|
139
|
+
## Paper vs. Current Repository
|
|
140
|
+
|
|
141
|
+
[`EEE_196_CARD_UCL.md`](./EEE_196_CARD_UCL.md) explains the original CARD paper,
|
|
142
|
+
problem framing, and proposed module design. The repository now reflects a more
|
|
143
|
+
developed engineering system than that initial write-up.
|
|
144
|
+
|
|
145
|
+
Important differences from the manuscript-level description include:
|
|
146
|
+
|
|
147
|
+
- The repo is now **configuration-driven** through Hydra instead of being tied
|
|
148
|
+
to one fixed experimental path.
|
|
149
|
+
- The runtime is now **duration-first**, centered on `target_seconds` and
|
|
150
|
+
tolerance checks, rather than a simple word-budget-only workflow.
|
|
151
|
+
- The summary output contract is now **speaker-tagged XML**, which feeds the
|
|
152
|
+
downstream voice-clone and interjector stages.
|
|
153
|
+
- The default stage-2/stage-3 flow can use **live-draft voice cloning**, where
|
|
154
|
+
turn audio is rendered during summary editing instead of only after the final
|
|
155
|
+
draft is approved.
|
|
156
|
+
- The repository includes substantial **benchmarking, evaluation, and operator
|
|
157
|
+
tooling** that goes beyond the initial paper narrative.
|
|
158
|
+
- Provider support has expanded: the codebase is organized around adapters and
|
|
159
|
+
config-selected backends rather than a single hardcoded model stack.
|
|
160
|
+
|
|
161
|
+
In short: the paper explains **why CARD exists**; this repository captures
|
|
162
|
+
**how CARD currently works**.
|
|
163
|
+
|
|
164
|
+
## Repository Layout
|
|
165
|
+
|
|
166
|
+
```text
|
|
167
|
+
src/card_framework/
|
|
168
|
+
agents/ A2A executors, DTOs, tool loops, client transport
|
|
169
|
+
audio_pipeline/ Audio ingestion, speaker samples, voice cloning, interjector
|
|
170
|
+
benchmark/ Summarization, QA, and diarization benchmarks
|
|
171
|
+
cli/ Runtime, setup, calibration, matrix, and eval entrypoints
|
|
172
|
+
config/ Hydra configuration
|
|
173
|
+
orchestration/ Transcript DTOs and stage orchestration
|
|
174
|
+
prompts/ Jinja2 prompt templates
|
|
175
|
+
providers/ LLM and embedding provider adapters
|
|
176
|
+
retrieval/ Transcript indexing and retrieval
|
|
177
|
+
runtime/ Runtime planning and execution support
|
|
178
|
+
shared/ Shared utilities, events, and logging
|
|
179
|
+
_vendor/index_tts/
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Other important locations:
|
|
183
|
+
|
|
184
|
+
- `artifacts/`: generated transcripts, cloned audio, benchmark outputs, and
|
|
185
|
+
other runtime artifacts
|
|
186
|
+
- `checkpoints/`: local model/runtime checkpoints
|
|
187
|
+
- `coder_docs/`: repository-specific architecture, workflow, and maintenance
|
|
188
|
+
guidance
|
|
189
|
+
|
|
190
|
+
## Common Commands
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
uv sync --dev
|
|
194
|
+
uv run python -m card_framework.cli.main --help
|
|
195
|
+
uv run python -m card_framework.cli.setup_and_run --help
|
|
196
|
+
uv run python -m card_framework.cli.calibrate --help
|
|
197
|
+
uv run python -m card_framework.cli.run_summary_matrix --help
|
|
198
|
+
uv run python -m card_framework.benchmark.run --help
|
|
199
|
+
uv run python -m card_framework.benchmark.diarization --help
|
|
200
|
+
uv run python -m card_framework.benchmark.qa --help
|
|
201
|
+
uv run ruff check .
|
|
202
|
+
uv run pytest
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Common execution entrypoints:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
uv run python -m card_framework.cli.setup_and_run --audio-path <path-to-audio>
|
|
209
|
+
uv run python -m card_framework.cli.main
|
|
210
|
+
uv run python -m card_framework.cli.calibrate
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## Package Usage
|
|
214
|
+
|
|
215
|
+
The repository now exposes a library entrypoint for installed-package use:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
pip install card-framework
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
```python
|
|
222
|
+
from card_framework import infer
|
|
223
|
+
|
|
224
|
+
result = infer(
|
|
225
|
+
"audio.wav",
|
|
226
|
+
"outputs/run_001",
|
|
227
|
+
300,
|
|
228
|
+
device="cpu",
|
|
229
|
+
vllm_url="http://localhost:8000/v1",
|
|
230
|
+
)
|
|
231
|
+
print(result.summary_xml_path)
|
|
232
|
+
print(result.final_audio_path)
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
`infer(audio_wav, output_dir, target_duration_seconds, *, device, ...)` runs
|
|
236
|
+
the full stage-1 to stage-4 pipeline and returns an `InferenceResult` with the
|
|
237
|
+
main emitted artifact paths. `target_duration_seconds` is required for every
|
|
238
|
+
call and overrides any duration target declared in the loaded config file.
|
|
239
|
+
`device` is also required and must be either `cpu` or `cuda`. `vllm_url` is the
|
|
240
|
+
first-class packaged-runtime override for OpenAI-compatible endpoints, and it
|
|
241
|
+
forces the shared summarizer, critic, and interjector LLM path onto the
|
|
242
|
+
provided vLLM-compatible server for that call. The call writes into `output_dir`
|
|
243
|
+
using this high-level layout:
|
|
244
|
+
|
|
245
|
+
```text
|
|
246
|
+
outputs/run_001/
|
|
247
|
+
transcript.json
|
|
248
|
+
summary.xml
|
|
249
|
+
agent_interactions.log
|
|
250
|
+
audio_stage/
|
|
251
|
+
voice_clone/
|
|
252
|
+
interjector/
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Installed-package runtime notes:
|
|
256
|
+
|
|
257
|
+
- Supported public packaged-runtime platform as of March 9, 2026: Windows only.
|
|
258
|
+
macOS and Linux are not yet validated for the public `pip install
|
|
259
|
+
card-framework` whole-pipeline path, and `infer(...)` now fails fast on those
|
|
260
|
+
platforms instead of attempting a partial run.
|
|
261
|
+
- `CARD_FRAMEWORK_CONFIG`: optional path to a full YAML config file when you
|
|
262
|
+
need to override the default packaged provider/runtime config for `infer(...)`.
|
|
263
|
+
- `CARD_FRAMEWORK_HOME`: optional writable runtime home used for extracted
|
|
264
|
+
IndexTTS assets, checkpoints, and bootstrap state. If unset, the package uses
|
|
265
|
+
the platform-appropriate user data directory.
|
|
266
|
+
- `CARD_FRAMEWORK_VLLM_URL`: optional environment-variable equivalent of the
|
|
267
|
+
`vllm_url=` argument.
|
|
268
|
+
- `CARD_FRAMEWORK_VLLM_API_KEY`: optional environment-variable equivalent of
|
|
269
|
+
the `vllm_api_key=` argument. If omitted for vLLM, the packaged runtime uses
|
|
270
|
+
`EMPTY`, which matches the common local keyless vLLM setup.
|
|
271
|
+
- If you choose `device="cuda"`, the packaged runtime currently supports only
|
|
272
|
+
CUDA 12.6. `infer(...)` now validates that the installed PyTorch build reports
|
|
273
|
+
CUDA 12.6 before it proceeds.
|
|
274
|
+
- The packaged default is now vLLM-first. If the effective config selects
|
|
275
|
+
another provider, `infer(...)` resolves required credentials before it starts
|
|
276
|
+
the subprocess runtime:
|
|
277
|
+
- interactive terminals: `infer(...)` securely prompts for missing API keys
|
|
278
|
+
or access tokens without echoing them and without placing them on the
|
|
279
|
+
subprocess command line
|
|
280
|
+
- non-interactive runs: `infer(...)` fails fast with an actionable error that
|
|
281
|
+
names the missing config field and the supported environment variable
|
|
282
|
+
- Supported credential environment variables for the packaged path include
|
|
283
|
+
`DEEPSEEK_API_KEY`, `GEMINI_API_KEY` or `GOOGLE_API_KEY`, `ZAI_API_KEY`,
|
|
284
|
+
`HUGGINGFACE_TOKEN` or `HF_TOKEN`, and the configured
|
|
285
|
+
`audio.diarization.pyannote.auth_token_env` value.
|
|
286
|
+
- Whole-pipeline inference still requires external tools such as `ffmpeg`.
|
|
287
|
+
When voice cloning or calibration paths are active, the package also expects
|
|
288
|
+
`uv` so it can bootstrap the vendored IndexTTS runtime in the writable
|
|
289
|
+
runtime home on first use.
|
|
290
|
+
|
|
291
|
+
## Public PyPI Release
|
|
292
|
+
|
|
293
|
+
This repository now includes a GitHub Actions trusted-publishing workflow at
|
|
294
|
+
`.github/workflows/publish-pypi.yml` that publishes tags matching `v*` to PyPI.
|
|
295
|
+
|
|
296
|
+
For the first public release of `card-framework`, use PyPI's **pending
|
|
297
|
+
publisher** flow because the project does not exist on PyPI yet. Configure:
|
|
298
|
+
|
|
299
|
+
- PyPI project name: `card-framework`
|
|
300
|
+
- GitHub owner: `Lolfaceftw`
|
|
301
|
+
- GitHub repository: `card-framework`
|
|
302
|
+
- Workflow filename: `publish-pypi.yml`
|
|
303
|
+
- Environment name: `pypi`
|
|
304
|
+
|
|
305
|
+
Repository-side release steps:
|
|
306
|
+
|
|
307
|
+
1. Merge the publishing workflow to `main`.
|
|
308
|
+
2. In GitHub repository settings, create the `pypi` environment.
|
|
309
|
+
3. In PyPI account settings, add the pending trusted publisher with the fields
|
|
310
|
+
above.
|
|
311
|
+
4. Tag the release from `main` and push it, for example:
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
git tag -a v0.1.0 -m v0.1.0
|
|
315
|
+
git push origin v0.1.0
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
5. After the workflow succeeds, verify the public release:
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
python -m pip install --no-cache-dir card-framework
|
|
322
|
+
python -c "from card_framework import infer; print(infer)"
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
## Documentation
|
|
326
|
+
|
|
327
|
+
- [`EEE_196_CARD_UCL.md`](./EEE_196_CARD_UCL.md): the CARD paper and project
|
|
328
|
+
manuscript
|
|
329
|
+
- [`coder_docs/codebase_guide.md`](./coder_docs/codebase_guide.md): current
|
|
330
|
+
architecture, runtime flow, commands, and maintenance expectations
|
|
331
|
+
- [`coder_docs/memory/errors_and_notes.md`](./coder_docs/memory/errors_and_notes.md):
|
|
332
|
+
repository memory for recurring pitfalls and prior fixes
|
|
333
|
+
- [`coder_docs/fault_localization_workflow.md`](./coder_docs/fault_localization_workflow.md):
|
|
334
|
+
bug triage and failing-test workflow
|
|
335
|
+
|
|
336
|
+
If you are changing behavior, prompts, workflows, or commands, start with
|
|
337
|
+
`coder_docs/codebase_guide.md`.
|
|
338
|
+
|
|
339
|
+
## License
|
|
340
|
+
|
|
341
|
+
This repository is source-available under
|
|
342
|
+
[`LICENSE.md`](./LICENSE.md), using the **PolyForm Noncommercial 1.0.0**
|
|
343
|
+
license. Noncommercial use is allowed; commercial use requires separate
|
|
344
|
+
permission from the licensors.
|