Step_Audio_EditX_SM_KSampler
Edit the emotion and style of audio you already have
- model
- audio
- audio
- audio_path
Most ComfyUI audio packs only generate speech - prompt in, wav out. This node is the one that edits audio you already have: flip a recording from flat to angry, whisper it, make it sound older, add laughter or a sigh, clean up noise, even respeak the whole thing in someone's cloned voice. It's the ComfyUI wrapper around StepFun's Step-Audio-EditX, the LLM-based audio model that treats sound like a token sequence an LLM can rewrite - released open-source in November 2025 with its technical report on arXiv (2511.03601).
Honest take from people who've run it: the zero-shot voice cloning is genuinely good but a little bland on its own. The reason anyone actually reaches for this node is the editing second pass - the emotion, style, and paralinguistic controls are the draw, not the TTS. And expectations matter: several styles and emotions land so subtly you'll barely notice, while a few (laughter, whisper, anger) work really well. Don't expect a miracle every tag.
What the "sampler" actually does
The task dropdown is the whole personality of this node, and it has seven modes: clone, emotion, style, vad, denoise, paralinguistic, and speed.
- clone - zero-shot voice cloning.
prompt_textis what's spoken in your input audio;target_textis the new sentence you want spoken in that voice. Give it 3–10 seconds of a voice and it'll say anything you type. - emotion / style - edit mode. The model re-speaks your audio's content applying the tag you put in
edit_info, e.g.happy,sad,angry(emotion) orwhisper,child,older,radio,authority(style). Thetarget_textfield is ignored in edit modes - the words stay the same, only the delivery changes. - paralinguistic - non-lexical sounds. This is the fun one: you type the tag into the text itself, on a second line, like
早上好,[Suprise-ah] ,吃了没(or in English, insert[Laughter],[Breathing],[Sigh]at the point you want it). - vad / denoise - cleanup modes. Voice activity detection and noise removal, no tag needed.
- speed -
edit_infotakesfaster,slower,more faster,more slower.
n_edit_iter is how many passes the edit runs - 2 is the default and the README's sweet spot, 3 if you want the effect pushed harder. A big caveat the author is explicit about: the emotion tag has to roughly match the content of the audio. The model strengthens what's there; it can't invent crying-laughing from a flat line.
Inputs you'll actually touch
Three matter for everything, two are quality knobs:
prompt_text- the transcription of what your input audio says (the loader's FunASR does this, but you can correct it; accuracy helps).edit_info- the emotion/style/speed tag. Defaultsad, which is a fun way to discover the node forgot to set it.offload- on by default; turn off only if you've got the VRAM and want speed.temperature- 0–1, default 0.7. Higher = more creative delivery, lower = more conservative.max_amplitude- the normalize-to-avoid-clipping ceiling (default 0.6). If input audio peaks above it, the node normalizes before processing.
Outputs are audio (wire it to PreviewAudio / SaveAudio, or into another audio node) and audio_path, a string pointing at the saved wav in your output folder - handy if you want the file path programmatically.
Install and running
Same pack as the model loader: clone smthemex/ComfyUI_Step_Audio_EditX_SM into custom_nodes, pip install -r requirements.txt, restart. Pin transformers==4.53.3 or you'll get silent output - that pin is load-bearing. See the Step_Audio_EditX_SM_Model article for the model layout: both Step-Audio-EditX and Step-Audio-Tokenizer must live under ComfyUI/models/SAEditX/.
The VRAM reality
This is a big model: StepFun quotes ~32GB of VRAM optimal at fp16, tested on an L40S. If you're under 16GB, keep offload on and expect it to be slow - it's the difference between this running at all and not. It's not a node you queue casually; it's a node you leave for a coffee break.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | Step_Audio_EditX_SM_Model | — | |
| audio | AUDIO | — | |
| prompt_text | STRING | 这里输入音频的内容 | — |
| target_text | STRING | 这里输入你要输出的声音 | — |
| task | COMBO | 7 options: clone, emotion, style, vad, denoise, paralinguistic, +1 | |
| edit_info | STRING | sad | — |
| offload | BOOLEAN | true | — |
| n_edit_iter | INT | 21–20 | — |
| max_amplitude | FLOAT | 0.60–1 | — |
| temperature | FLOAT | 0.70–1 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| audio_path | STRING | — |