WAV Pitch Changer

Shift a WAV up or down in whole semitones without changing its duration.

Pitch changer (WAV only)

source file

PCM16 WAV · 44.1 kHz · up to 120 s · processed in this tab.

Supported input limits
  • Input: 16-bit PCM WAV, 44100 Hz, mono or stereo
  • Up to 120 seconds, at most 22,000,000 bytes
  • Whole semitones only, −24 … +24; fractional values rejected
  • Output: 16-bit PCM WAV, 44100 Hz, same duration; no resampling
  • No MP3 or other compressed input formats
  • No upload — decoding and shifting happen in this tab

semitones

semitones

Whole semitones only — fractional values are rejected.

preview & export

Original audio

Pitched audio

Audio is decoded and processed in this browser tab; the pitch changer has no upload step. Data-handling characteristics of the hosted site are outside this tool and are not guaranteed here.

Examples

−12

Drop an octave

Move a bass line or a low synth part away from a vocal without re-recording it. The take keeps its original length and timing.

0

Pass-through run

No shift at all — a control run to confirm the file decodes and the exported WAV matches the input's duration before committing to a shift.

+12

Lift an octave

Turn a thin demo vocal or a rumbling effect into a brighter guide line or texture. Listen for added brightness artifacts at large shifts.

These are positions inside the supported −24 … +24 whole-step range, not stored presets. Duration stays the same at every position.

How it works

The file is decoded and pitch-shifted inside this browser tab in a Web Worker, using the SoundTouch time-stretching algorithm (soundtouchjs 0.3.0). Pitch is changed by transposition with tempo compensation, so the result plays for exactly as long as the input did. The pitch changer performs no upload of your audio; hosting, retention and data-handling characteristics of the deployed site are described by its operator, not by this tool.

Public review version: audio quality is awaiting human listening, and browser compatibility beyond the tested Chromium is not established. SoundTouchJS is supplied as a separate, replaceable module underLGPL-2.1-or-later. Its source-file manifestidentifies the unmodified library and original sources supplied with this site. No restriction is imposed on replacing the LGPL library or reverse engineering for debugging modifications to that library.

Scope and limits

Guides