[vllm-omni] - Does MiniCPM-o 4.5 officially support TTS generation beyond 4,096 Talker positions?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 26.4k
- Forks
- 2.1k
- Avg merge
- 14h 39m
- Merged PRs (30d)
- 3
Description
起始日期 | Start Date
july/31/2026
Issue
Hello,
We're trying matching the MiniCPM-o 4.5 TTS implementation in vLLM-Omni and found one remaining gap in long-form speech generation.
The official Hugging Face streaming_generate() implementation splits text into 10-token conditions. It preserves the Talker KV cache and continuously increases text_start_pos across all conditions and generated codec tokens.
The released checkpoint uses:
{
"attention_type": "full_attention",
"max_position_embeddings": 4096
}
However, the official Hugging Face loop does not appear to stop, reset, or truncate the Talker when the combined sequence exceeds 4,096 positions. This allows speech generation to continue beyond one minute, subject to available GPU memory.
vLLM requires an explicit max_model_len and stops the Talker when the combined text conditions and codec tokens reach that limit. Raising the limit to 8,192 fixes some 500-word cases, but only moves the failure point. Longer responses, such as 1,000 or 1,500 words, can still be truncated.
Could you clarify the intended official behavior?
Should long-form TTS continue using full_attention beyond 4,096 positions with an increased context limit, or should the Talker switch to sliding_window, sliding_recompute, or reindex?
We want to understand which behavior was used for the reported long-speech results and which approach vLLM-Omni should implement for correct long-form TTS. Also, it will be great if you can also share the benchmark script for long-tts regarding this
相关Issues | Reference Issues
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the official MiniCPM-o 4.5 Hugging Face streaming_generate() behavior with the vLLM-Omni discussion in reference issue 5259. Determine how Talker positions are intended to behave beyond 4,096 and locate or request the long-TTS benchmark script; done when the supported long-form behavior and implementation direction are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- audio-video-rtc, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100