SloppyAudio Pitch
Pitch-shift audio without the chipmunk tempo, straight in ComfyUI
- audio
- audio
Every sound you generate or record in ComfyUI lands at the pitch it was made at, and sometimes that's the wrong pitch. A TTS voice that should sound darker, a vocal stem that needs to sit in a different key, a foley hit that would read better an octave down. SloppyAudio Pitch is the node that shifts a clip's pitch in semitones while leaving the tempo alone - so nothing speeds up, slows down, or turns into that rubbery "formant-smear" mess you get from a naive resample.
The pitch-shift-without-tempo-change part matters more than it sounds like it does. If you've ever tried to fix a vocal by changing the sample rate of the whole file, you know the pain: the key drops but so does the speed, and suddenly your 30-second clip is 34 seconds and every transient is off. This node does the same pitch change and keeps the clock running exactly where it was.
What you set
Two inputs, really. audio, the AUDIO you want shifted, and semitones - a float from -24 to +24 (two octaves either direction) in 0.5 steps, defaulting to 0. That's the entire UI. Negative is down, positive is up, and because it's a float you can do micro-shifts: -1.5 for a subtle deepening of a voiceover, -12 for a full-octave monster growl on a foley hit, +7 if you want to jam a vocal stem up a fifth to match a beat.
It returns one audio output with the same sample rate and duration as the input, ready to wire anywhere your original was going.
How it works
Like its sibling Fade node, this is a thin wrapper over the embedded SoX binary. Your audio gets written to a temp WAV, SoX runs its pitch effect on it with your semitones converted to cents, and the result comes back as a ComfyUI AUDIO dict. SoX's pitch is a resampling-based shift, which is why tempo survives untouched.
One honest caveat about what it isn't: this is not a formant-preserving shift. SoX pitch keeps the timing but it does change the vocal character - shove a voice up a big interval and it gets that classic cartoon-chipmunk color, not a natural key change. For subtle corrections (-2 to +2) it's transparent enough that you won't notice. For dramatic shifts on voices, treat the result as an effect, not a retune. You've been warned; that's a feature for aliens and a bug for everything else.
If you set semitones to 0 (or anything within a cent of it), the node returns your audio untouched rather than running SoX at all - so it's safe to leave in a graph permanently.
Installing it
Same shared story as the rest of this pack. ComfyUI Manager → search sloppyaudio → Install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/forcepusher/comfyui-sloppyaudio
Restart after. Dependencies (torch, numpy, soundfile, librosa, einops, safetensors) come automatically via Manager. The SoX binary that does the actual shifting ships inside the pack for Windows, macOS, and Linux - no separate SoX install, no brew install sox step. That's the pack's best trait and it applies to this node directly.
Where people get burned
- Big shifts on voices sound artificial. Not a bug, not a broken install - that's non-formant-preserving pitch shifting doing its thing. Reach for -2 to +2 for natural results.
- Nothing changes. Same silent-failure pattern as Fade: if SoX errors, the node returns the original audio and logs
[SloppyAudio] SoX errorto the console. Check there before assuming the node is broken. - The range is ±2 octaves. If you need more than that, you probably want a different node anyway, because SoX at ±24 is going to sound like a ring-modulated fax machine.
Pitch is the quiet utility of this pack - one knob, honest behavior, and the fastest way in ComfyUI to make a voice or a stem sit where you want it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| semitones | FLOAT | 0.0-24–24 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |