← SetKey
SetKey

SetKey

Every song in your key.

v1.1.1

Practice any song in the key your band actually plays.

What SetKey does

SetKey pitch-shifts YouTube audio by semitones so you can practice songs in the key your band actually plays. Paste a URL, pick your key, and hear the song transposed — at normal speed, on your own machine. No account, no subscription, no extension.

How to use it

  1. Paste a YouTube URL and load it. SetKey extracts the audio and detects the original key automatically.
  2. Shift the pitch with the ♭/♯ buttons, or select any dot on the semitone strip. Each dot is one half-step on a piano. Or pick your target key directly — SetKey calculates the offset for you.
  3. Press play. The song plays at normal speed in your new key. Vocals will sound a bit different — you’re practicing the harmony and rhythm, not singing along.

SetKey for Mac

SetKey is a Mac desktop app. YouTube restricts audio extraction from web servers, so everything runs locally on your computer — extraction, pitch shifting, key detection. Nothing passes through a remote server.

On first launch, macOS may show a security prompt. Right-click the app and choose “Open” to confirm. This only happens once.

Key detection

SetKey automatically detects the original key of the song using audio analysis. The detected key appears in the “Original” box above the pitch controls. You can override it by clicking the box and selecting a different note.

If you know your band’s target key, click the “Target” box and select it — SetKey calculates the semitone offset for you. No counting half-steps. No guessing. Just “the recording is in Bb, we play it in G” and you’re set.

Key detection is algorithmic and may occasionally be wrong — always trust your ears.

Looping a section

The practice loop is the heart of SetKey. Here’s how it works:

  1. Play the song until you reach the section you want to practice.
  2. Click SET IN to mark the start. The button turns teal and shows the timestamp.
  3. Keep playing until the end of the section, then click SET OUT.
  4. The section loops automatically. A teal band appears on the timeline showing your loop region.

To adjust: drag the teal marker handles left or right on the timeline. To clear: click the IN timestamp button. To temporarily disable looping without losing your markers, click the LOOP badge next to the time display.

Quick answers

Who is this for?
Any musician who needs to practice a song in a different key. Bassists, vocalists, keyboardists — anyone who can’t just capo up.
What’s a semitone?
One half-step — the distance between any two adjacent keys on a piano. Twelve semitones make one octave. The ♭/♯ buttons move one semitone at a time.
Why do the vocals sound weird?
Pitch shifting changes the frequency of everything, including voices. The chords and melody are in the right key, but vocals will sound slightly off. This is normal and expected.
Does it change the tempo?
No. The pitch shifts without changing the speed. The track plays at normal tempo in the new key.
Does it work with Spotify or Apple Music?
No. SetKey works with YouTube URLs only. Most songs and live recordings are available on YouTube.
Does it work offline?
You need an internet connection to load a YouTube video. Once the audio is extracted and loaded, playback and pitch shifting work without a connection until you close the app.
Will it work on Windows or Linux?
Mac only for now. YouTube’s restrictions on audio extraction require a desktop app.
What’s the maximum video length?
15 minutes. Most worship songs are well under that. Longer tracks need too much memory to process in the browser.

Privacy

SetKey doesn’t know who you are, doesn’t care what you play, and doesn’t keep your audio.

SetKey makes no network requests beyond downloading the YouTube audio you ask for. No telemetry, no phone-home, no update checks.

Keyboard shortcuts

Space
Play / Pause
Left Arrow
Skip back 10 seconds
Right Arrow
Skip forward 10 seconds
I
Jump to loop start (or track start if no loop)
Enter
Jump to the very beginning of the track
Escape
Close the key picker

How it works under the hood

SetKey uses yt-dlpYouTube audio extractor
Open-source successor to youtube-dl. Maintained by a global community of contributors. Extracts audio without downloading the video.
to extract audio from YouTube, librosaMusic analysis library
Python library for audio and music analysis, created by Brian McFee at NYU. Powers SetKey’s key detection using the Krumhansl-Schmuckler algorithm.
to detect the key, and SoundTouchJSReal-time pitch shifter
JavaScript port of the SoundTouch audio library. Uses the WSOLA algorithm to shift pitch without changing tempo. Processes audio entirely in your browser.
to shift the pitch in real time — all without changing the tempo.

Terms of use

SetKey is provided free of charge, “as is,” with no warranty of any kind. There is no guarantee of availability, uptime, or accuracy. By using SetKey you accept these terms.

You are responsible for how you use this tool and the audio it processes. SetKey is intended for personal music practice. It does not host, store, or redistribute copyrighted content — audio is extracted on demand, cached temporarily on your device, and automatically deleted.

Limitation of liability

SetKey is a free tool made by one person. To the fullest extent permitted by law, the author shall not be liable for any damages arising from your use of this software, including but not limited to data loss, service interruption, or inaccurate output. Use it at your own risk.

Disclaimer

SetKey is an independent application. It is not affiliated with, endorsed by, or sponsored by YouTube, Google, or any music rights holder. Users are solely responsible for ensuring their use of this application complies with all applicable laws, regulations, and third-party terms of service.

Open-source attribution

SetKey is built with open-source software:

Trademarks

YouTube and Google are trademarks of Google LLC. Apple and macOS are trademarks of Apple Inc. All other trademarks are the property of their respective owners.

View the Liner Notes — a record of every change.
Built for the musicians who show up early to rehearsal.