MOSS-TTS Continue Speech
MOSS-TTS Continue Speech
- mosstts_model
- prefix_audio
- audio
Continue Speech is the pack's answer to a specific annoyance: you have a recording that stops mid-sentence, and you want it to keep going in the same voice, same pace, same room tone - not start a fresh take. You feed it the existing clip plus its transcript, type the ending, and the node continues the audio rather than regenerating it from scratch.
It's a cousin of Voice Clone, and it's worth being clear about the difference because people conflate them. Voice Clone takes a separate reference clip and re-speaks your text from zero. Continue Speech takes the audio itself as the thing to continue - the prefix becomes the conditioning, and the continuation is stitched onto it. Different mechanism, different use case. If you have a half-finished sentence, this is the node you want.
How it works
The prefix audio is encoded into acoustic codes by MOSS-Audio-Tokenizer-v2. The node then builds a conversation where the user message is the full text - prefix_text plus continuation_text concatenated - and the assistant message contains the prefix's audio codes. Generation runs in continuation mode, meaning the model literally continues that acoustic sequence instead of generating unconditioned. Because it's continuing, the speaker's timbre, rhythm, and even the recording's character carry over naturally.
One output flag changes what you get back: return_full_audio (default false). Off, you get just the newly generated tail. On, the node concatenates the original prefix waveform with the continuation so you get the whole thing in one clip.
The inputs that matter
- mosstts_model - the bundle from MOSS-TTS Load Model.
- prefix_audio - the existing clip, as ComfyUI
AUDIO. - prefix_text - the transcript of that clip. This one's required, and it has to actually match what's said. The node does not transcribe for you; that's what the Whisper node in this pack exists for.
- continuation_text - the sentence ending or continuation to generate.
- return_full_audio - the trap, honestly. Everyone forgets it defaults to false and wonders where their original audio went.
- language - same advice as Voice Clone: set it rather than leaving
autoguessing. - instruction, duration_tokens, max_new_tokens, and the sampling group behave identically to Voice Clone - same defaults, same 12.5 frames-per-second math (4096 tokens ≈ 5.5 minutes).
Output: audio - the continuation (or the full clip with return_full_audio on), ready for Save Audio or downstream processing.
Installing
Same as the rest of the pack: ComfyUI Manager → search MOSS-TTS, or
cd ComfyUI/custom_nodes
git clone https://github.com/Saganaki22/Moss_TTS-ComfyUI.git
../venv/bin/python Moss_TTS-ComfyUI/install.py
then restart. The loader node has to run first so there's a mosstts_model to plug in.
Common issues
The prefix transcript is where this node lives or dies. If prefix_text doesn't match the audio - wrong words, missing chunks - the continuation drifts because the model is aligning against text it thinks it said. That's the whole reason the pack ships a Whisper node, and it's covered on the MOSS-TTS Whisper Transcribe page.
Second gotcha: prefix_text and continuation_text are concatenated directly, with no space or punctuation inserted. A Whisper transcript that drops punctuation can make the model run words together at the seam. If your continuation reads as one run-on, check what's actually in prefix_text - a period and a space at the end usually fixes it.
And the return_full_audio default. If your workflow outputs a clip that's suddenly missing its first half, that's not a model failure - flip the toggle.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| mosstts_model | MOSSTTS_MODEL | Loaded MOSS-TTS model bundle. | |
| prefix_audio | AUDIO | Prefix audio to continue from. Provide a matching transcript below. | |
| prefix_text | STRING | This is the transcript of the prefix audio. | Text to synthesize. Inline [pause 0.5s], Pinyin, and IPA are passed through to MOSS-TTS. |
| continuation_text | STRING | This is the sentence ending or continuation to generate. | Text to synthesize. Inline [pause 0.5s], Pinyin, and IPA are passed through to MOSS-TTS. |
| return_full_audio | BOOLEAN | false | When enabled, concatenate the original prefix audio with the generated continuation. |
| language | COMBO | auto | Language hint. v1.5 performs best when the language is specified. |
| instruction | STRING | Optional free-form style or delivery instruction. | |
| duration_tokens | INT | 00–45000 | Optional duration target in audio tokens. 0 omits the field. MOSS runs around 12.5 tokens per second. |
| quality | STRING | Optional quality hint field exposed by the MOSS user-message schema. | |
| sound_event | STRING | Optional sound-event hint field exposed by the MOSS user-message schema. | |
| ambient_sound | STRING | Optional ambient-sound hint field exposed by the MOSS user-message schema. | |
| max_new_tokens | INT | 40961–45000 | Generation budget in audio frames. At 12.5 frames per second, 4096 is roughly 5.5 minutes. |
| do_sample | BOOLEAN | true | Use stochastic sampling. Disable for deterministic greedy decoding. |
| text_temperature | FLOAT | 1.000–2 | Sampling temperature for assistant text/audio-control tokens. |
| text_top_p | FLOAT | 1.000–1 | Nucleus sampling for assistant text/audio-control tokens. |
| text_top_k | INT | 500–4096 | Top-K sampling for assistant text/audio-control tokens. |
| audio_temperature | FLOAT | 1.700–3 | Recommended v1.5 audio sampling temperature. |
| audio_top_p | FLOAT | 0.800–1 | Recommended v1.5 nucleus sampling cutoff for audio codebooks. |
| audio_top_k | INT | 250–1024 | Recommended v1.5 Top-K cutoff for audio codebooks. |
| audio_repetition_penalty | FLOAT | 1.001–2 | Penalty for repeated acoustic code patterns. |
| seed | INT | 00–9223372036854776000 | 0 leaves sampling unseeded. Positive values make identical settings repeatable. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |