
tzhouamandClaude Fable 5.1
49a839ecf9
[Edge][WP5] Add codec-token streaming mode with on-device decoding
* qwen3_tts_talker_only pipeline (single terminal LLM_AR stage,
final_output_type "latent") + vllm_omni/deploy/qwen3_tts_talker_only.yaml;
a terminal talker publishes its per-step codes.audio rows to the client
(omni_client_multimodal_output_keys).
* /v1/audio/speech/stream: session.config.output_mode="codec_tokens" streams
codec.start (JSON) + binary frames (<IHB seq/n_frames/flags + int16 rows,
vllm_omni/entrypoints/openai/codec_stream.py) + codec.done; new input.cancel
message aborts an in-flight generation for both codec and PCM sessions
(single reader task + session inbox replaces direct socket reads); optional
session.config.seed; audio.done gains "cancelled" only when it happened.
* serving_speech._generate_codec_chunks aligns the cumulative code tensor to
output token ids (drops prefill placeholder/EOS rows) and emits deltas.
* TTS adapters: supports_codec_stream / codec_stream_spec (Qwen3-TTS: 16
codebooks, 2048 ids, 12.5 Hz, 24 kHz, decoder qwen3_tts_tokenizer_v2_12hz).
* examples/online_serving/text_to_speech/qwen3_tts/edge_decoder_client.py
decodes locally with Qwen3TTSTokenizerV2Decoder (ramp schedule, 72-frame
context, cancel/reset), codec_parity_check.py and
benchmarks/tts/codec_stream_e2e.py compare against the two-stage server.
* docs/serving/codec_token_streaming.md; CPU unit tests for the wire format,
alignment, session config and handler (frames, unsupported adapter, cancel);
L3 e2e tests/e2e/online_serving/test_qwen3_tts_codec_stream.py.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 11:10:13 +08:00
..
2026-08-25 15:24:59 +08:00
2026-08-25 15:24:59 +08:00
2026-07-18 09:21:07 +00:00
2026-09-09 11:01:39 +08:00
2026-09-03 06:44:42 +00:00
2026-08-25 15:24:59 +08:00
2026-09-04 14:44:10 -07:00
2026-07-18 09:21:07 +00:00
2026-08-25 15:24:59 +08:00
2026-07-18 09:21:07 +00:00
2026-08-14 22:06:05 -07:00
2026-07-28 20:34:35 +08:00
2026-08-12 17:02:02 +00:00
2026-07-18 09:21:07 +00:00
2026-07-18 09:21:07 +00:00
2026-09-04 16:06:47 -07:00
2026-09-06 21:43:37 +08:00
2026-07-18 09:34:33 +00:00
2026-09-04 19:58:33 -07:00
2026-07-18 09:21:07 +00:00
2026-09-07 13:38:23 +08:00
2026-08-28 08:32:32 +08:00
2026-08-31 15:26:35 +08:00
2026-08-19 14:13:40 +08:00
2026-08-19 14:13:40 +08:00
2026-09-06 22:25:35 +08:00
2026-09-06 21:45:10 +08:00
2026-08-30 06:51:24 +00:00
2026-09-04 16:36:26 -07:00
2026-07-18 09:21:07 +00:00
2026-09-05 08:20:21 +00:00
2026-09-02 19:54:55 +00:00
2026-09-05 08:20:21 +00:00
2026-09-02 21:41:05 -07:00
2026-09-04 15:28:49 -07:00
2026-09-09 11:10:13 +08:00
2026-09-02 19:53:02 +00:00
2026-08-22 14:26:49 +08:00
2026-08-10 21:03:32 -07:00
2026-08-24 14:48:31 +08:00
2026-03-24 18:56:55 +08:00
2026-04-25 18:15:38 +08:00
2026-09-02 20:25:32 -07:00
2026-08-11 15:23:46 +00:00
2026-04-17 19:10:02 +08:00