rPlay is a fast, frontend-only media looper for music practice, video analysis, and continuous background listening. Loop YouTube links, local audio/video files, or free tracks with precision A-B looping and a one-tap video/waveform view.
- 🔁 Infinite Looping: every source loops automatically; combine it with A-B points to repeat just a section.
- 🎯 A-B Precision Looping: set start (A) and end (B) points to loop a specific passage endlessly, down to the millisecond.
- 📺 Video ⇄ Waveform Toggle: switch any playing track between its video frame and a live audio waveform. For local files this is a real, live amplitude trace; for YouTube and Audius streams it's an animated visualizer (streaming platforms' audio can't always be safely analyzed in-browser without risking silent playback, so we trade exact accuracy for reliability there).
▶️ YouTube Links: paste a URL or video ID. rPlay tries to unlock background & waveform playback automatically, and falls back to the standard embedded player if that isn't possible for a given video.- 📁 Local File Support: drag-and-drop
.mp3,.wav,.mp4, or.webmfiles. Nothing is ever uploaded anywhere; playback is 100% local to your browser. - 🔎 Free Track Search: search and stream full, free tracks from independent artists via Audius, no account required.
- ⏱️ Playback Speed: cycle from 0.5× to 2× with one tap, on any source.
- 📲 Installable (PWA): add rPlay to your home screen / app list on desktop, Android, and iOS for an app-like, offline-capable experience.
- 🔒 Privacy-First: pure static client-side app: zero tracking, zero backend analytics.
| Key | Action |
|---|---|
| Space | Play / Pause media |
| ← / → | Seek backward / forward 5 seconds |
| A | Set Point A (loop start) to current timestamp |
| B | Set Point B (loop end) to current timestamp |
| L | Toggle A-B precision loop ON / OFF |
| V | Toggle between video and waveform view |
Desktop (Chrome, Edge, Brave): open the live demo, then click the Install button in the header (or the install icon in the address bar).
Android: open the live demo in Chrome, tap Install in the header, or use the browser menu → Add to Home screen.
iOS (Safari): tap the Share icon → Add to Home Screen. iOS doesn't support automatic install prompts, so rPlay shows you this instruction when you tap Install.
Once installed, rPlay opens full-screen like a native app and keeps working offline for anything already cached.
Browsers only allow true background/lock-screen audio for direct <audio>/<video> elements not for embedded YouTube iframes. To make YouTube links behave the same way, rPlay tries to fetch a direct audio stream for the video (via public Invidious instances) before falling back to the standard embedded player. When that works, you also get lock-screen controls and the waveform view; when it doesn't (e.g. all public instances are temporarily unreachable), rPlay automatically falls back to the normal YouTube player, and background/waveform playback for that video won't be available. Local files and Audius search results always support both.
For developer setup, architecture notes, and how to extend rPlay, see DEVDOC.md.
Distributed under the MIT License. See LICENSE for more information.