Audio Player
The Audio Player is where you practice piano along with real recordings — a song you want to learn by ear, or a backing track you want to play over. Load the audio file and play along on your MIDI keyboard or on the on-screen keys while it runs. If the song is too fast, slow it down: the pitch stays the same. If it is in an awkward key, transpose it. Loop the passage that keeps going wrong until your hands stop guessing — and let the player tell you the key and the tempo before you play a note.
On this page

Audio Player Features at a Glance
The Audio Player combines its practice tools in one panel: a zoomable waveform with an overview, loop regions and markers for A-B repetition, tempo control from 25% to 200% without pitch change, transposition, and automatic key analysis plus BPM detection. Each feature is described in detail below.
Loading Files in the Audio Player
1. Drag an audio file onto the player — or click File and choose Open…
2. In the Open… dialog, pick an audio file (MP3, WAV, OGG, FLAC, M4A, AAC, WebM, or MP4) from your computer (the Local tab) — or open one you saved to the cloud
3. While the file is being prepared, "Decoding audio…" is shown over the waveform area; longer files take a moment
4. The waveform is displayed, and the file name appears in the player's title bar
While no track is loaded, the waveform area is a drop zone: drop your file there, or click choose a file to open your computer's file dialog directly. With a track loaded, drag the next file onto the player to replace it. If you drop a file that belongs to another player — a MIDI file, a video or sheet music — the player offers to open it there. If a file cannot be read, you see a message, and the track you had loaded before stays loaded.
To empty the player again, choose File → Close file. The player itself stays open.
The Audio Player reads 8 audio file formats — MP3, WAV, OGG, FLAC, M4A, AAC, WebM, and MP4 — so almost any song you own opens directly in your browser. Playback processing happens on your device; nothing is uploaded to a server unless you choose to save a track to your cloud library.
Save to Your Cloud Library
The File menu is also where you upload the current track to your personal Cloud Library: store a track, tag it with title, key, tempo, and genre, sort it into folders, and reopen it wherever you sign in.
Maximum file size: 50 MB per file. For folders, search, and the public collection, see the full Cloud Library guide.
Playback Controls
| Control | Description |
|---|---|
| Play/Pause | Start or pause audio playback |
| Back to Start | Jump back to the beginning — or to the start of the loop, while a loop is active |
| Loop | Opens and closes the Loop & Markers panel next to the waveform (see Loop Regions) |
| Jump to Loop | Appears while a loop is on and jumps to its start |
Transport Controller
You can also control audio playback from the Transport Controller – a slide-out side panel accessible via the tab on the right edge of the keyboard area. It provides Play and Stop buttons for the Audio Player, so you can control playback without scrolling to the player panel.
Volume Control
Use the volume slider to adjust playback volume from 0% to 100%, and click the speaker symbol next to it to mute the player. The volume and mute buttons in the header apply to the Audio Player as well.
Tempo Control
You can slow a song down or speed it up from 25% to 200% in steps of 5% with the Tempo slider, without changing its pitch, because the Audio Player uses independent time-stretching. Slowing a track to 50% keeps every note at its original pitch, which makes learning by ear far easier. The value next to the slider shows the current tempo (e.g. 0.75x) and is highlighted whenever it differs from the original. This is useful for:
- Slowing down difficult passages for practice
- Learning songs by ear at a comfortable pace
- Speeding up to test your skills
Tip: Double-click the tempo slider to reset to 1.0x.
Transpose (Pitch Shifting)
Change the pitch of the audio without affecting playback speed using real-time pitch shifting. Click Transpose in the player bar — it opens the Transpose window:
1. Click Detect to analyse the song's key (see Key Analysis)
2. The Key dropdown shows the detected or selected source key
3. The second dropdown selects the target key
4. The difference (e.g., "+2" or "-3") shows the transposition in semitones — the app always takes the shorter way, from 5 semitones down to 6 semitones up
This is useful for:
- Practicing along with songs in a different key
- Matching the audio to your vocal range
- Transposing to match your instrument's tuning
Tip: Double-click the target-key dropdown to reset to the original key (no transposition).
Waveform Display
The waveform shows your recording above the keyboard. The part that has already played is drawn lighter than the part still to come, and a vertical playhead marks the current position. A time ruler runs along the top, and hovering shows the time under your pointer.
| Action | What happens |
|---|---|
| Click | Jump to that position |
| Drag across the waveform | Draw a new loop region (see below) |
| − / + | Zoom out or in, around the playhead |
| Ctrl + mouse wheel (Cmd on Mac) or a pinch on the trackpad | Zoom in or out around the mouse pointer |
| Whole song | Show the whole song again |
| Zoom to loop | Fill the view with the current loop |
| Follow | While zoomed in, keeps the playhead in view: it moves to about 70% of the width, then the view moves along. Scrolling the view yourself pauses following; click Follow to switch it back on |
Below the waveform, a slim overview always shows the whole song. While you are zoomed in, a light window in it marks the part you see — drag the window, or click next to it, to look at another part of the song without moving the playhead. While the whole song is shown, a click in the overview jumps to that position. On small windows the time ruler is hidden to save space.
On a tablet, drag sideways on the waveform with your finger; swiping up or down still scrolls the page.
Progress Bar and Editable Time Display
The progress bar below the controls shows the position in the whole song — click to jump, or drag the handle (also with your finger on the iPad).
Click on the current time display to enter a specific time directly:
1. Click the time (e.g., "1:23")
2. Type a new time (formats: "1:30", "1:30.5" or "90" for 90 seconds)
3. Press Enter to jump to that position, or Escape to cancel
Loop Regions
Loop regions let you repeat one section of a song until you have it under your fingers — the core of A-B practice. Playback cycles between the start (A) and the end (B) of the loop automatically.
How to Create Loop Regions
The quickest way: drag across the waveform from where the passage starts to where it ends. The green loop region appears and is switched on right away.
- Move the loop by dragging the green region, or resize it by dragging its edges
- Click inside the loop to jump to that spot; double-click it to jump to the loop start
- Jump to Loop in the player bar takes you to the loop start, too
If you start a loop — or move it — while the playhead is outside, playback jumps to the loop start, so you hear the passage at once. A loop has to be at least half a second long.
While a loop is on, Back to Start takes you to the loop start rather than to the beginning of the track, so you stay inside the passage you are working on. If you jump to a place outside the loop — by clicking the waveform or the progress bar, typing a time or using a marker — the loop switches off; A and B stay set, and one click switches it back on.
The Loop & Markers Panel
Click Loop in the player bar to open the Loop & Markers panel to the right of the waveform (the waveform makes room for it):
| Element | What it does |
|---|---|
| A / B | The start and end of the loop. Click a time to type it exactly (e.g. "1:24.500"), Set puts the point at the current position, → jumps there, and the bin clears the point |
| Loop on/off | Switches the loop on or off. If only A is set, the loop runs from A to the end of the song |
| Markers | + adds a marker at the current position (M1, M2 …). Click a marker's name to rename it, its time to change it, → to jump there, or delete it |
A has to be before B; if it isn't, the panel tells you. Markers also appear as yellow flags in the waveform — click a flag to jump to it.
Your Loop Is Remembered
The app remembers the loop of each file you open, even after reloading the page: open the same file again and its loop is back. Markers belong to the open file and start empty when you load another one.
Key Analysis
Key analysis detects the musical key of any loaded track automatically, so you know which scale and chords fit before you play a note. The Audio Player compares the notes it hears against all 24 keys (12 major and 12 minor) and ranks the three most likely, each with a confidence value — a method taken from music psychology research.
How to use:
1. Load an audio file
2. Open the Transpose window and click Detect
3. The detected key is set as the source key, and the three most likely keys are shown, ranked by confidence
| Element | Description |
|---|---|
| Primary Key | The most likely key (e.g., "Am" for A minor) |
| Confidence | How certain the algorithm is (higher % = more confident) |
| Alternatives | Other possible keys if the result is ambiguous |
Tip: Relative major/minor keys (like C major and A minor) often have similar confidence scores because they share the same notes.
BPM Analysis
BPM analysis detects the tempo of your audio file automatically by measuring where the beats fall; it looks for tempos between 40 and 240 BPM. One click on Apply to Metronome opens the built-in metronome and sets it to the detected tempo, so you can practice at the exact speed of the recording.
How to use:
1. Load an audio file
2. Click the BPM Analysis button
3. A popup displays the detected BPM with confidence percentage
4. Click Apply to Metronome to set the metronome to match
| Element | Description |
|---|---|
| BPM | Detected tempo in beats per minute |
| Confidence | How consistent the detected tempo is |
| Alternatives | Other possible tempos (half-time, double-time variants) |
| Apply to Metronome | Opens the metronome and sets it to the detected BPM |
When you load another file, the key and BPM results of the previous one are cleared.
Best Practices
For Playback:
- Use loop regions to practice specific sections repeatedly
- Zoom in on the passage you are working on, and set markers at the start of each section
- Slow down the tempo to learn difficult parts by ear
- Adjust volume to match your playing level
For Key Detection:
- Works best with recordings that have clear harmonic content (not just drums)
- Songs with key changes may show lower confidence
- Check the alternatives if the primary result seems wrong
For BPM Detection:
- Works best with music that has a clear, steady beat
- Rubato or freely-timed music may give unreliable results
- Very slow or fast tempos may be detected as half or double the actual BPM
Related: Try the MIDI Player for falling notes or the YouTube Player for video tutorials. See Practicing Songs for a complete practice workflow.
Having issues? See Troubleshooting for common audio solutions.
Frequently Asked Questions
What audio formats does the Audio Player support?
8 formats: MP3, WAV, OGG, FLAC, M4A, AAC, WebM, and MP4. Files are processed entirely in your browser — nothing is uploaded to a server unless you save a track to your cloud library (max 50 MB per file).
Can I slow down audio without changing the pitch?
Yes. Adjust the tempo from 25% to 200% without affecting pitch, so you can learn difficult passages by ear at a comfortable pace. Double-click the tempo slider to reset to 1.0x.
Can I create loop regions for A-B practice?
Yes. Drag across the waveform to draw a loop region — it switches on right away and playback cycles inside it. Move it or drag its edges to adjust it, or type exact A and B times in the Loop & Markers panel. The app remembers the loop of each file, even after reloading the page.
Can I zoom into the waveform and set markers?
Yes. Zoom with the − and + buttons or Ctrl + mouse wheel; the overview below shows where you are in the song, and Follow keeps the playhead in view. Markers are added with + in the Loop & Markers panel, can be renamed, and appear as flags in the waveform — click one to jump there.
How does key analysis and BPM detection work in The Ultimate Piano?
Key analysis compares the notes in the recording against all 24 major and minor keys and ranks the three most likely, each with a confidence value. BPM analysis finds the tempo by measuring where the beats fall, and Apply to Metronome sets the metronome to it in one click.
Ready to try it?
Open The Ultimate Piano in your browser — no download needed.
Open The Ultimate Piano →