Nodes/FireRedTTS3/FireRedTTS3 Acoustic Edit
ComfyUI Node

FireRedTTS3 Acoustic Edit

Speed it up, pitch it down, turn it up — without the warping artifacts

By Saganaki22·Created about a month ago·Updated 28 days ago· 23
FireRedTTS3 Acoustic Edit
  • firered_model
  • audio
  • audio
modespeed
value0.5
n_timesteps10
inference_cfg1.20
stop_threshold0.50
seed42
max_audio_seconds64
custom_instruction

Every DAW can speed up a clip or shift its pitch. What a DAW gives you is artifacts - that chipmunk shimmer on a +6 semitone bump, the warbly smear on a 2x speedup. FireRedTTS3's Acoustic Edit takes a different path: instead of stretching the existing waveform, it re-synthesizes the speech through the model, so a 1.5x speed change or a pitch shift comes out clean, in the same voice, with the same language intact. This is the sibling to Semantic Edit: that one changes what's said, this one changes how it sounds.

The mechanism is where it gets interesting, and it's the difference between two ways of using the node. The instruct model was trained on instruction templates, so normally you set two fields:

  • mode - the acoustic attribute: speed, pitch, or volume.
  • value - the amount. Speed is a rate multiplier (0.5–2.0x), volume is a gain multiplier (0.3–2.0x), and pitch is −6 to +6 semitone-like steps (rounded to an integer, not 0).

Pick speed with value 1.5 and the node builds the trained template from those two fields. But there's a third input, custom_instruction, that most people miss: leave it empty and you get the template; fill it with raw text like "adjust the speed to 0.5x" and it overrides the template entirely. It's a handy escape hatch when a template doesn't quite capture what you want - say a combined instruction - though the README pitches it as optional, and the default is "leave empty."

The remaining inputs are the pack's standard generation controls, identical to Semantic Edit and Voice Design: n_timesteps 10 (flow-matching steps per audio patch), inference_cfg 1.2 (the softer guidance used for design/edits, not the clone's 2.0), stop_threshold 0.5, seed, and max_audio_seconds 64. Nothing here needs touching on a first run.

One output: audio (AUDIO), the transformed clip. Send it to a save node, or chain it - the pack's AUDIO-in/AUDIO-out design means you can stack an acoustic edit onto a semantic edit onto a clone and keep everything in the graph.

The realistic workflow for this is voiceover pacing. A narrated line that drags gets a 1.2–1.5x speed edit that stays intelligible; a character voice gets a pitch bump without the cartoon effect. It inherits the input audio's language (the README's verified example: Greek audio edited at 1.5x keeps its Greek transcript), so unlike Voice Design there's no zh/en ceiling - the language constraint on the instruct model is a cloning thing, not an editing thing.

The catches are the same three as the rest of the instruct-only nodes. Load fireredtts3_instruct in the loader or you'll get the "requires the Instruct model" error. Editing is at its most reliable on Chinese and English. And the node regenerates rather than patches, so it's not instant - you're paying for a full re-synthesis, which is the trade for the artifact-free result. Install is the pack standard (ComfyUI Manager search "FireRedTTS3-ComfyUI", or git clone + python install.py), and the usual caveats apply: Transformers 5.3+, multi-gigabyte first download, 8–14 GB VRAM. For the narrow job of "fix the delivery without re-recording," it's the cleanest tool in the pack.

CategoryFireRedTTS3

Inputs (10)

NameTypeDefaultDescription
firered_modelFIREREDTTS3_MODEL
audioAUDIOInput speech to transform.
modeCOMBOspeedAcoustic attribute to edit. Uses the model's trained instruction templates.
valueFLOAT0.5-6–6speed: 0.5-2.0 (rate multiplier). volume: 0.3-2.0 (gain multiplier). pitch: -6 to +6 semitone-like steps (rounded to an integer, not 0).
n_timestepsINT101–50Flow-matching steps per generated audio patch. 10 is the official default; more is slower with diminishing returns.
inference_cfgFLOAT1.200–4Classifier-free guidance strength for the flow head. 0 disables CFG. Official defaults: 2.0 for cloning, 1.2 for design/edits.
stop_thresholdFLOAT0.500.05–0.95Stop-token probability threshold that ends generation. Higher values allow longer audio.
seedINT420–21474836470 uses the current random state. A positive value is repeatable.
max_audio_secondsFLOAT644–160Hard cap on generated audio length per sentence (64s is the official maximum).
custom_instructionoptSTRINGOptional raw instruction override (e.g. 'adjust the speed to 0.5x'). Leave empty to build it from mode + value.

Outputs (1)

NameTypeDescription
audioAUDIO