| { |
| "model_type": "chatterbox_flash_t3_coreml", |
| "source_repo": "ResembleAI/chatterbox-flash", |
| "source_revision": "4385507288b8197e6dab8b4e6b1603328d549d9d", |
| "format": "coreml-mlprogram", |
| "compute_precision": "fp16", |
| "palettization_bits": null, |
| "graphs": [ |
| "ConditioningEncoder.mlmodelc", |
| "TextPrefill.mlmodelc", |
| "BlockDecoder.mlmodelc", |
| "uncond_block_prior.npy" |
| ], |
| "text_len": 256, |
| "block_size": 16, |
| "max_seq": 1024, |
| "cond_len": 34, |
| "prompt_speech_len": 150, |
| "hidden_size": 1024, |
| "num_layers": 30, |
| "num_attention_heads": 16, |
| "num_key_value_heads": 16, |
| "head_dim": 64, |
| "kv_cache_shape": [ |
| 1, |
| 30720, |
| 1, |
| 1024 |
| ], |
| "text_vocab_size": 704, |
| "speech_vocab_size": 8194, |
| "mask_token_id": 8194, |
| "start_speech_token": 6561, |
| "stop_speech_token": 6562, |
| "start_text_token": 255, |
| "stop_text_token": 0, |
| "capabilities": { |
| "end_to_end_waveform": false, |
| "voice_cloning": "partial", |
| "voice_cloning_boundary": "ConditioningEncoder consumes precomputed speaker_emb and prompt_speech_tokens; reference-audio encoders are not part of this Core ML bundle.", |
| "exports_t3_block_diffusion": true, |
| "exports_s3gen_vocoder": false, |
| "exports_voice_encoder": false, |
| "exports_s3_tokenizer": false |
| }, |
| "missing_for_full_voice_cloning": [ |
| "VoiceEncoder reference waveform -> speaker_emb", |
| "S3Tokenizer reference waveform -> prompt_speech_tokens", |
| "S3Gen reference encoder / flow / vocoder -> waveform" |
| ], |
| "runtime_notes": [ |
| "BlockDecoder attention is full-visible inside the speech block.", |
| "The host runtime owns PMI/CFG denoising, sampling, EOS trimming, and S3Gen vocoding.", |
| "For shorter tail blocks, pad speech_token_ids and mask invalid cache columns in key_padding_mask.", |
| "block_cache_map[t, s] must be one where block row t writes to cache column s." |
| ] |
| } |
|
|