SUONO TOOLS AUDIO WORKBENCH · TOKYO PWR
U-11

KEY

READOUT
— — —

Manual

  1. What KEY does

    KEY changes the key (pitch) and tempo (playback speed) of an audio file and exports the result. Key can be shifted by semitones, up to ±12 (one octave), and tempo can be set independently from 50% to 150% of the original speed. Use it to lower a karaoke track to a key that fits your voice, or to slow a fast track down for practice.

  2. This changes audio — it does not detect it

    If you want to know a track's current BPM or key, use the BPM & KEY tool instead. This KEY tool is a different tool: it processes the audio itself by the semitone count and tempo % you set, and exports the result.

  3. How to use it

    Drop an audio file (or a video file with an audio track) onto the drop zone, set the key and tempo, and export. Adjust key by semitone with the flat/sharp step buttons, and tempo with the slider. The export button stays disabled while both are at their defaults (key ±0, tempo 100%), since there would be nothing to change.

  4. How the key change works

    From the semitone count n, a pitch ratio r = 2^(n/12) is computed (a consequence of how musical pitch works: one octave, 12 semitones, doubles the frequency). The pitch is first shifted by reinterpreting the sample rate — which speeds playback up by r as a side effect — and a tempo stage then cancels that speed change and lands on the tempo percentage you set.

  5. How the tempo change works

    Tempo processing changes playback speed without changing pitch. When both key and tempo are changed together, the speed change caused by the pitch shift and your tempo setting are combined into one factor before being applied. That factor has a valid working range, so when it falls outside that range the tool applies it in multiple internal stages — the result is the same either way.

  6. A note on audio quality

    Larger semitone or tempo changes tend to introduce more audible artifacts (muddiness, graininess, an unnatural timbre) — especially shifting vocals by close to an octave, or pushing tempo toward 50% or 150%. It helps to adjust in small steps and listen back as you go.

  7. Use case: lowering a karaoke track to a singable key

    If the original key is hard to sing, dropping it by around −1 to −3 semitones often helps. Keep tempo at 100% and adjust only the key.

  8. Use case: slowing a track down for ear training or practice

    To work out a fast passage by ear, keep the key unchanged and drop tempo to around 70% — pitch stays the same, just slower. Exporting the file ahead of time also lets you play it back in an ordinary player, even without a DAW that supports variable-speed playback.

  9. How it works: in-browser processing and privacy

    Processing happens entirely in your browser (a WebAssembly build of ffmpeg). The file is never uploaded anywhere.

  10. Limits and troubleshooting

    Processing runs in your device's memory, so a very large file (roughly over 1GB) can fail due to low memory. Video input is supported by extracting and processing its audio track only — no video is exported.

  11. FAQ

    How do I lower the key of a karaoke track?
    Use the flat button to lower the key (for example, by 2 semitones) and export with tempo left at 100%. If you're not sure what key suits your voice, try a semitone at a time and listen back.
    Won't this hurt the audio quality?
    Larger semitone or tempo changes cause more noticeable artifacts, especially near a full octave of key change or tempo pushed toward 50%/150%. Try smaller changes, or listen back and adjust.
    Can I change tempo only, and keep the key the same?
    Yes — leave key at ±0 and move only the tempo slider. That's useful for slowing a track down for practice while keeping the pitch unchanged.
    Is my file sent to a server?
    No. Everything runs in your browser, and the file never leaves your device.
    Which file formats are supported?
    WAV, MP3, FLAC, AAC, M4A, OGG and most other formats ffmpeg can read, plus video files with an audio track (only the audio is exported).