-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[Model] Add Ming-omni-tts dense 0.5B pipeline #2906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
hsliuustc0106
merged 97 commits into
vllm-project:main
from
akshatvishu:feat/ming-omni-tts-dense
Jun 10, 2026
Merged
Changes from 67 commits
Commits
Show all changes
97 commits
Select commit
Hold shift + click to select a range
487345c
feat(ming-tts): add dense omni pipeline
akshatvishu 9cda910
fix(ming-tts): serialize stage0 stop reason as tensor
akshatvishu 9add4ef
docs: Update Ming TTS example
akshatvishu 1bee58d
Refactor Ming TTS model layout
akshatvishu 276b954
Extract shared async chunk transfer helpers
akshatvishu 8bd43d1
Migrate Ming TTS to deploy config
akshatvishu ac4fe0a
Reuse shared speaker embedding loader
akshatvishu d1920a5
fix: resolve F821 undefined name by adding raw_request to audio chunk…
akshatvishu e8b97bd
fix(ming_tts): update hf_architectures to match BailingMMNative archi…
akshatvishu 6b8f2c3
fix(config): ensure DeployConfig.pipeline override is honored when au…
akshatvishu d0a51e8
fix ming_tts offline runner truncating multi-chunk audio
akshatvishu 01055e3
docs: migrate Ming TTS docs to deploy config
akshatvishu 12ac6a7
Merge remote-tracking branch 'origin/main' into feat/ming-omni-tts-dense
akshatvishu 169800b
fix incorrectly importing OmniServerParams
akshatvishu b4187e3
tests: align Ming TTS offline coverage
akshatvishu 5aeb88c
tests: fix Ming TTS online imports
akshatvishu dc2ea22
test(ming_tts): fix L3 runtime and deploy config path
akshatvishu a781827
fix(ming_tts): align async chunk payload with generation adapter
akshatvishu 0508d2b
Fix Ming TTS codec frame rate derivation for online serving
akshatvishu 80de956
Merge remote-tracking branch 'upstream/main' into feat/ming-omni-tts-…
akshatvishu 88199f4
refactor(ming-tts): flatten prompt helpers and remove legacy dense
akshatvishu 42bacb4
test(ming-tts): update e2e coverage for prompt helper refactor
akshatvishu ee047ce
style: reorder imports in ming_tts/qwen3 and fix noqa in test_serving…
akshatvishu 55f9025
Add Ming dense prompt utilities
akshatvishu f5dd5bb
Fix Ming dense config initialization order
akshatvishu 9609ece
Fix Ming dense config initialization and e2e validation
akshatvishu bf95f76
Disable prefix caching for Ming dense TTS
akshatvishu 5170171
vllm_omni/entrypoints/openai/serving_speech.py
akshatvishu 0b7eeca
fix(ming_tts): align llm2audio_vae signature with custom_process_inpu…
akshatvishu dc3240a
fix(ming_tts): fall back to soundfile when torchcodec unavailable
akshatvishu b72dea9
Fix Ming speaker audio fallback
akshatvishu 6edc6ff
Align Ming podcast prompt formatting
akshatvishu 736f7b8
ming-tts: address decode state and ISTFT reuse concerns
akshatvishu f1a8179
fix(ming_tts_llm): allow compute_logits with plain tensor during prof…
akshatvishu e0dfa42
ming-tts: align sampled multimodal stop state for logits
akshatvishu 94c91a9
fix(ming-tts): skip text-mode requests in decode window validation
akshatvishu 9ac9689
refactor(ming-tts): prune dense runtime dead code
akshatvishu f3f730c
Merge branch 'main' into feat/ming-omni-tts-dense
akshatvishu 51d03d4
style: apply pre-commit formatting fixes
akshatvishu a10ed8f
test(ming-tts): update zh evaluation prompt in e2e tests
akshatvishu dfebed5
refactor(ming-tts): centralize stop reason metadata
akshatvishu e9519a0
test(ming-tts): keep branch tests focused on e2e
akshatvishu 93bde5f
refactor(ming-tts): remove redundant validation from FlowLoss.sample
akshatvishu c924b34
refactor(ming-tts): remove dead conditioning dropout arg
akshatvishu 0b2d070
refactor(ming-tts): use runner request id
akshatvishu 4d923c7
examples: consolidate Ming TTS examples
akshatvishu da94f8a
Add Ming-omni-tts 0.5b Dense recipe
akshatvishu 2b9d5b5
refactor: remove dead ingress and preprocessor plumbing per review
akshatvishu a8a7bf7
fix(ming-tts): prevent abandoned stream leaks and fix encoder race co…
akshatvishu 6155fae
chore(ming-tts): address config, pathing and defensive review nits
akshatvishu 7fc12ef
Gate Ming TTS final-stage logging
akshatvishu 9862a46
Split Ming TTS prompt helpers by responsibility
akshatvishu b9ea555
Refactor Ming shared AudioVAE and CFM utilities
akshatvishu 98364f1
Simplify Ming TTS documentation links
akshatvishu 1eabd87
Remove redundant Ming DIT checks
akshatvishu 6822cad
Fix Ming Flash Omni transformer compatibility
akshatvishu 081a1e9
Fix Ming Flash Omni talker input bridge
akshatvishu 149b0c0
Fix Ming Flash Omni transformer compatibility
akshatvishu 55c1b12
Fix Ming Flash Omni talker input bridge
akshatvishu 97109e0
Revert "Fix Ming Flash Omni talker input bridge"
akshatvishu 7043a59
Revert "Fix Ming Flash Omni transformer compatibility"
akshatvishu ab9cf8f
Merge remote-tracking branch 'upstream/main'
akshatvishu d90be88
Merge remote-tracking branch 'upstream/main' into feat/ming-omni-tts-…
akshatvishu 9977080
Merge remote-tracking branch 'upstream/main'
akshatvishu 924d04a
Merge remote-tracking branch 'upstream/main'
akshatvishu 0516572
Merge remote-tracking branch 'upstream/main'
akshatvishu 6a9ffcb
Merge remote-tracking branch 'upstream/main' into feat/ming-omni-tts-…
akshatvishu 463a850
Clean Ming TTS logits state handling
akshatvishu 0b22925
test(e2e): add ROCm MI325 support to Ming Flash Omni expansion tests
akshatvishu b0e4fa9
Fix Ming Flash Omni language model accessor
akshatvishu a138a0f
fix(ming_tts): fallback to dummy next-tokens during engine profiling
akshatvishu 6a7203c
fix: use typed payloads for Ming TTS async chunks
akshatvishu cae62ee
fix: support newer transformers 5.X in Ming Flash Omni talker
akshatvishu bccb3d0
Merge remote-tracking branch 'upstream/main'
akshatvishu 2375df0
Add Bailing MoE input embedding delegate
akshatvishu 4e1bfce
Merge remote-tracking branch 'upstream/main'
akshatvishu 34d13eb
refactor(ming): move shared utilities to models/common/ming
akshatvishu 459c8d8
Merge remote-tracking branch 'upstream/main'
akshatvishu 8a8c118
Merge remote-tracking branch 'upstream/main'
akshatvishu 59c7e30
Merge remote-tracking branch 'upstream/main'
akshatvishu ad86490
refactor(ming_tts): inline review-only helpers
akshatvishu 89ffeee
Merge remote-tracking branch 'upstream/main'
akshatvishu a60dd84
Merge branch 'main' into feat/ming-omni-tts-dense
akshatvishu 8027e2d
chore: restore qwen3 tts processor
akshatvishu cb58f98
refactor(ming_tts): wrap prompt builder output in tokens_input
akshatvishu d4a1c3e
Address Ming TTS review cleanup
akshatvishu 183a87f
docs: update docs for upstream parity and MI300X ROCm test environment
akshatvishu b281640
refactor(tts): use required stage fields directly in Ming TTS detection
akshatvishu f5df86f
refactor(ming-tts): remove dead input embedding fallback
akshatvishu a072ff3
docs: use absolute GitHub links for Ming recipe references
akshatvishu 7c95a5d
Align flowloss calculation with upstream
akshatvishu 87ca95f
fix(ming_tts): use shared audio loader for speaker extraction
akshatvishu b6b39d7
Merge remote-tracking branch 'upstream/main' into feat/ming-omni-tts-…
akshatvishu eceb32c
refactor: align async omni engine with upstream
akshatvishu f552651
docs: remove duplicate Ming TTS example pages
akshatvishu 7002e0d
Merge branch 'main' into feat/ming-omni-tts-dense
hsliuustc0106 54a13b0
ci(buildkite): add Ming-Omni-TTS E2E tests to merge-test pipeline
akshatvishu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Ming-omni-tts | ||
|
|
||
| Source <https://github.com/vllm-project/vllm-omni/tree/main/examples/offline_inference/text_to_speech/ming_tts>. | ||
|
|
||
| For the TTS model hub, see | ||
| [`examples/offline_inference/text_to_speech/README.md`](https://github.com/vllm-project/vllm-omni/tree/main/examples/offline_inference/text_to_speech/README.md). | ||
|
|
||
| ## Example materials | ||
|
|
||
| ??? abstract "README.md" | ||
| ``````md | ||
| --8<-- "examples/offline_inference/text_to_speech/ming_tts/README.md" | ||
| `````` | ||
| ??? abstract "end2end.py" | ||
| ``````py | ||
| --8<-- "examples/offline_inference/text_to_speech/ming_tts/end2end.py" | ||
| `````` | ||
| ??? abstract "cases.yaml" | ||
| ``````yaml | ||
| --8<-- "examples/offline_inference/text_to_speech/ming_tts/cases.yaml" | ||
| `````` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| # Ming-omni-tts | ||
|
|
||
| Source <https://github.com/vllm-project/vllm-omni/tree/main/examples/online_serving/text_to_speech/ming_tts>. | ||
|
|
||
| For the online TTS serving hub, see | ||
| [`examples/online_serving/text_to_speech/README.md`](https://github.com/vllm-project/vllm-omni/tree/main/examples/online_serving/text_to_speech/README.md). | ||
|
|
||
| ## Example materials | ||
|
|
||
| ??? abstract "README.md" | ||
| ``````md | ||
| --8<-- "examples/online_serving/text_to_speech/ming_tts/README.md" | ||
| `````` | ||
| ??? abstract "run_server.sh" | ||
| ``````sh | ||
| --8<-- "examples/online_serving/text_to_speech/ming_tts/run_server.sh" | ||
| `````` | ||
| ??? abstract "openai_speech_client.py" | ||
| ``````py | ||
| --8<-- "examples/online_serving/text_to_speech/ming_tts/openai_speech_client.py" | ||
| `````` | ||
| ??? abstract "run_curl.sh" | ||
| ``````sh | ||
| --8<-- "examples/online_serving/text_to_speech/ming_tts/run_curl.sh" | ||
| `````` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
240 changes: 240 additions & 0 deletions
240
examples/offline_inference/text_to_speech/ming_tts/README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,240 @@ | ||
| # Ming-omni-tts Offline Inference | ||
|
|
||
| `end2end.py` runs Ming dense 0.5B end to end with vLLM-Omni. It uses the in-repo Ming prompt builder directly, so the example request shape matches the real integration instead of a simplified wrapper. | ||
|
|
||
| ## Files | ||
|
|
||
| | File | Purpose | | ||
| |---|---| | ||
| | `end2end.py` | Driver: CLI, case loading, prompt construction, orchestration (~150 lines) | | ||
| | `cases.yaml` | All 11 built-in case definitions (prompt, text, instruction, ref-audio flags, flow controls) | | ||
| | `_runner.py` | Engine management and audio output (streaming + blocking paths; internal helper) | | ||
|
|
||
| ## Model Overview | ||
|
|
||
| Ming dense 0.5B is exposed here as a two-stage offline pipeline: | ||
|
|
||
| - **Stage 0**: Qwen2-based AR generation with Ming prompt formatting and inline flow controls | ||
| - **Stage 1**: audio VAE decode to mono 44.1 kHz waveform | ||
|
|
||
| The example supports both: | ||
|
|
||
| - **Blocking eager** via `vllm_omni/deploy/ming_tts.yaml` | ||
| - **Async chunk eager** via `vllm_omni/deploy/ming_tts.yaml` (default `async_chunk: true`) | ||
|
|
||
| ## Setup | ||
|
|
||
| Install vLLM-Omni with the platform requirements for your accelerator: | ||
|
|
||
| ```bash | ||
| uv pip install -e . | ||
| ``` | ||
|
|
||
| The Ming offline example does not require a separate upstream Ming package. | ||
| Reference-audio cases use the repo dependencies for audio loading, | ||
| resampling, and CampPlus speaker extraction, including `soundfile`, | ||
| `torchaudio`, and `onnxruntime`. | ||
|
|
||
| ## Supported Cases | ||
|
|
||
| These cases cover the upstream dense 0.5B cookbook surface that maps cleanly onto the current vLLM-Omni example: | ||
|
|
||
| - `style`: zero-speaker style-conditioned speech | ||
| - `ip`: zero-speaker IP voice generation | ||
| - `bgm`: music-only generation | ||
| - `tta`: text-to-audio event generation with FlowLoss controls | ||
| - `emotion`: reference-audio speech with emotion control | ||
| - `basic`: reference-audio speech with speed / pitch / volume control | ||
| - `dialect`: reference-audio speech with dialect control | ||
| - `zero_shot`: reference-audio cloning with explicit transcript | ||
| - `podcast`: multi-reference dialogue generation with automatic speaker embedding extraction | ||
| - `speech_bgm`: speech with background music conditioning | ||
| - `speech_sound`: speech with environmental sound conditioning | ||
|
|
||
| ## Quick Start | ||
|
|
||
| Run the zero-speaker style example: | ||
|
|
||
| ```bash | ||
| python examples/offline_inference/text_to_speech/ming_tts/end2end.py \ | ||
| --case style \ | ||
| --deploy-config vllm_omni/deploy/ming_tts.yaml \ | ||
| --enforce-eager | ||
| ``` | ||
|
|
||
| Run zero-shot cloning with a transcript: | ||
|
|
||
| ```bash | ||
| python examples/offline_inference/text_to_speech/ming_tts/end2end.py \ | ||
| --case zero_shot \ | ||
| --ref-audio /path/to/10002287-00000094.wav \ | ||
| --ref-text "在此奉劝大家别乱打美白针。" \ | ||
| --deploy-config vllm_omni/deploy/ming_tts.yaml \ | ||
| --enforce-eager | ||
| ``` | ||
|
|
||
| Run emotion-controlled speech: | ||
|
|
||
| ```bash | ||
| python examples/offline_inference/text_to_speech/ming_tts/end2end.py \ | ||
| --case emotion \ | ||
| --ref-audio /path/to/emotion_prompt.wav \ | ||
| --deploy-config vllm_omni/deploy/ming_tts.yaml \ | ||
| --enforce-eager | ||
| ``` | ||
|
|
||
| Run podcast generation with two reference clips: | ||
|
|
||
| ```bash | ||
| python examples/offline_inference/text_to_speech/ming_tts/end2end.py \ | ||
| --case podcast \ | ||
| --ref-audio-paths /path/to/CTS-CN-F2F-2019-11-11-423-012-A.wav /path/to/CTS-CN-F2F-2019-11-11-423-012-B.wav \ | ||
| --deploy-config vllm_omni/deploy/ming_tts.yaml \ | ||
| --enforce-eager | ||
| ``` | ||
|
|
||
| The script automatically extracts one 192-d speaker embedding per reference WAV using the Ming model's `campplus.onnx`. | ||
|
|
||
| If you already have precomputed multi-speaker embeddings, you can override extraction with: | ||
|
|
||
| ```bash | ||
| --speaker-embedding /path/to/podcast_speaker_embeddings.json | ||
| ``` | ||
|
|
||
| where the JSON is a list of speaker embeddings, one 192-d vector per speaker. | ||
|
|
||
| Run text-to-audio event generation: | ||
|
|
||
| ```bash | ||
| python examples/offline_inference/text_to_speech/ming_tts/end2end.py \ | ||
| --case tta \ | ||
| --deploy-config vllm_omni/deploy/ming_tts.yaml \ | ||
| --enforce-eager | ||
| ``` | ||
|
|
||
| Use async_chunk streaming: | ||
|
|
||
| ```bash | ||
| python examples/offline_inference/text_to_speech/ming_tts/end2end.py \ | ||
| --case basic \ | ||
| --ref-audio /path/to/10002287-00000095.wav \ | ||
| --streaming \ | ||
| --deploy-config vllm_omni/deploy/ming_tts.yaml \ | ||
| --enforce-eager | ||
| ``` | ||
|
|
||
| `--streaming` uses `AsyncOmni` and the async_chunk stage config. It currently | ||
| supports one prompt per process invocation; use blocking mode for | ||
| `--num-prompts > 1`. | ||
|
|
||
| Collect runtime stats and a manifest: | ||
|
|
||
| ```bash | ||
| python examples/offline_inference/text_to_speech/ming_tts/end2end.py \ | ||
| --case style \ | ||
| --deploy-config vllm_omni/deploy/ming_tts.yaml \ | ||
| --enforce-eager \ | ||
| --enable-stats \ | ||
| --stats-log-file output_audio/ming_style_pipeline.log \ | ||
| --metadata-json output_audio/ming_style_manifest.json | ||
| ``` | ||
|
|
||
| ## Reference Fixtures | ||
|
|
||
| The upstream Ming cookbook uses these public audio fixtures from `inclusionAI/Ming-omni-tts/data/wavs`: | ||
|
|
||
| - `10002287-00000094.wav` for zero-shot cloning | ||
| - `10002287-00000095.wav` for `basic` | ||
| - `emotion_prompt.wav` for `emotion` | ||
| - `yue_prompt.wav` for `dialect` | ||
| - `00000309-00000300.wav` for `speech_bgm` and `speech_sound` | ||
| - `CTS-CN-F2F-2019-11-11-423-012-A.wav` and `CTS-CN-F2F-2019-11-11-423-012-B.wav` for `podcast` | ||
|
|
||
| ## Validation Matrix | ||
|
|
||
| The repo-facing example is intended to cover the same dense TTS workflows used | ||
| by the local Ming validation script: | ||
|
|
||
| | Case | Blocking `deploy/ming_tts.yaml` | Async chunk `deploy/ming_tts.yaml` | Extra inputs | | ||
| |---|---:|---:|---| | ||
| | `style` | Yes | Optional smoke test | none | | ||
| | `ip` | Yes | Optional smoke test | none | | ||
| | `bgm` | Yes | Optional smoke test | none | | ||
| | `tta` | Yes | Optional smoke test | none | | ||
| | `emotion` | Yes | Yes | `--ref-audio emotion_prompt.wav` | | ||
| | `basic` | Yes | Yes | `--ref-audio 10002287-00000095.wav` | | ||
| | `dialect` | Yes | Yes | `--ref-audio yue_prompt.wav` | | ||
| | `zero_shot` | Yes | Yes | `--ref-audio 10002287-00000094.wav --ref-text ...` | | ||
| | `podcast` | Yes | Yes | two `--ref-audio-paths` | | ||
| | `speech_bgm` | Yes | Yes | `--ref-audio 00000309-00000300.wav` | | ||
| | `speech_sound` | Yes | Yes | `--ref-audio 00000309-00000300.wav` | | ||
|
|
||
| ## Validated Outputs | ||
|
|
||
| Validation on an L4 GPU completed the full blocking matrix and the default | ||
| async_chunk matrix. Default async_chunk matched blocking output frame counts | ||
| and Stage-1 patch counts for every case: | ||
|
|
||
| | Case | Blocking frames / patches / sec | Async chunk frames / patches / sec | | ||
| |---|---:|---:| | ||
| | `style` | 409248 / 29 / 9.28 | 409248 / 29 / 9.28 | | ||
| | `ip` | 183456 / 13 / 4.16 | 183456 / 13 / 4.16 | | ||
| | `bgm` | 1326528 / 94 / 30.08 | 1326528 / 94 / 30.08 | | ||
| | `tta` | 465696 / 33 / 10.56 | 465696 / 33 / 10.56 | | ||
| | `emotion` | 324576 / 23 / 7.36 | 324576 / 23 / 7.36 | | ||
| | `basic` | 211680 / 15 / 4.80 | 211680 / 15 / 4.80 | | ||
| | `dialect` | 239904 / 17 / 5.44 | 239904 / 17 / 5.44 | | ||
| | `zero_shot` | 409248 / 29 / 9.28 | 409248 / 29 / 9.28 | | ||
| | `podcast` | 437472 / 31 / 9.92 | 437472 / 31 / 9.92 | | ||
| | `speech_bgm` | 296352 / 21 / 6.72 | 296352 / 21 / 6.72 | | ||
| | `speech_sound` | 352800 / 25 / 8.00 | 352800 / 25 / 8.00 | | ||
|
|
||
| ## Key Arguments | ||
|
|
||
| | Argument | Description | | ||
| |---|---| | ||
| | `--model` | Hugging Face repo or local Ming checkpoint path | | ||
| | `--deploy-config` | Deploy config YAML. Use `vllm_omni/deploy/ming_tts.yaml` | | ||
| | `--case` | Built-in demo case | | ||
| | `--ref-audio` | Single reference wav path for cloning-style cases | | ||
| | `--ref-audio-paths` | Multiple reference wav paths, used by `podcast` | | ||
| | `--ref-text` | Reference transcript. Required for `zero_shot` | | ||
| | `--instructions` | Free-form Ming instruction string | | ||
| | `--instruction-json` | Structured Ming instruction JSON | | ||
| | `--speaker-embedding` | JSON file containing a 192-d speaker embedding | | ||
| | `--extract-speaker-embeddings` | Force CampPlus speaker extraction from the provided reference audio paths | | ||
| | `--max-decode-steps` | Override `ming_max_decode_steps` | | ||
| | `--num-prompts` | Repeat the same case N times. Outputs are indexed when `N > 1` | | ||
| | `--streaming` | Use `AsyncOmni` and async_chunk transport | | ||
| | `--enforce-eager` | Recommended for Ming dense; non-eager is out of scope | | ||
| | `--enable-stats` / `--log-stats` | Enable vLLM-Omni per-request stats logging | | ||
| | `--stats-log-file` | Optional path for the stats log | | ||
| | `--metadata-json` | Optional path for the run manifest JSON | | ||
| | `--stage-init-timeout` | Per-stage initialization timeout in seconds | | ||
| | `--init-timeout` | Total initialization timeout in seconds | | ||
| | `--batch-timeout` | Batch timeout in seconds | | ||
| | `--worker-backend` | `multi_process` or `ray` | | ||
| | `--ray-address` | Ray cluster address when using `--worker-backend ray` | | ||
|
|
||
| ## Output | ||
|
|
||
| - The script writes one mono 44.1 kHz WAV file per run | ||
| - Default output directory: `output_audio/` | ||
| - Default filename: `ming_<case>.wav` | ||
| - When `--num-prompts > 1`, outputs are indexed as `ming_<case>_00000.wav`, `..._00001.wav`, etc. | ||
| - When stats are enabled, the script can also write: | ||
| - a stats log file such as `ming_style_pipeline.log` | ||
| - a manifest JSON with per-output metadata, stage durations, peak memory info, | ||
| and streaming client latency metrics when `--streaming` is used | ||
|
|
||
| ## Notes | ||
|
|
||
| - `style` and `ip` are zero-speaker paths and do not require a reference clip | ||
| - `emotion`, `basic`, `dialect`, `speech_bgm`, and `speech_sound` require one reference clip | ||
| - `zero_shot` requires both `--ref-audio` and `--ref-text` | ||
| - `podcast` requires at least two reference clips via `--ref-audio-paths` | ||
| - `podcast` automatically extracts one speaker embedding per reference clip | ||
| - `--speaker-embedding` may contain either one 192-d vector or a list of 192-d vectors | ||
| - `--enforce-eager` was used for the validated runs | ||
| - Validation on the L4 GPU used SDPA for the Ming audio VAE instead of | ||
| FlashAttention2, which is the preferred default when available. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will this be autogenerated? cc @Gaohan123
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes these are.