OpenBMB / OpenBMB/MiniCPM-V

[vllm-omni] - Does MiniCPM-o 4.5 officially support TTS generation beyond 4,096 Talker positions?

Open
#1,127 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
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

https://github.com/vllm-project/vllm-omni/issues/5259

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.