Plume — Bandcamp Player Lightweight Ultimate Media Enhancer
The technical stack at play:
if you wish to tip me:
📝 Description
A cross-browser web extension that improves the listening experience on Bandcamp with a volume slider and enhanced progress bar.
Compatible with Chrome, Firefox, Edge, and all other Chromium web browsers!
🎵 Features
Core Improvements
- Unified player: Completely replaces the Bandcamp player with an enhanced version
- Time navigation: Click and drag to seek within the track seamlessly
- Time display mode: Switch between track duration and remaining time (remembered across pages)
- Waveform progress bar: SoundCloud style! (toggleable via feature flags)
- Playback controls: Play/Pause button, previous/next track, and seek backward/forward in a track
- … with fine-tuning in popup: Configure seek jump duration, volume hotkey step, and track restart threshold
- Playback speed: Choose from preset speeds (0.5× to 3×) or enter a custom value
- Loop mode: Cycle through no loop, track loop, and collection loop (remembered across pages)
- Tracklist dropdown: Browse collection tracks from the header and jump directly to any of them
- Go to track: A link button docked to the track title opens the current track’s Bandcamp page
- Visible volume slider: Precise volume control with a sleek slider (remembered across pages)
Quality of Life
- Fullscreen mode: Enjoy the player in fullscreen for an immersive experience
- Responsive design: Adapts to different screen sizes and devices
- Keyboard shortcuts: Control playback, volume, seeking, and more without touching the mouse
- Customizable hotkeys: Remap every shortcut to your liking via the extension popup
- Digit row (0–9), Numpad (0–9 with NumLock), and letter keys all supported
- Sticky player behavior: Player sticks visually while scrolling for quicker access
- Accessibility-minded: Visible focus outlines, ARIA semantics, reduced-motion and contrast preferences, screen reader support
- BPM detection: Detects and displays the track’s tempo live, with indicators in the tracklist
- Beat visualizer: A BPM-driven animation plays in sync with the music’s tempo (toggleable via feature flags, fullscreen view only)
- Feature flags: Toggle individual features on or off from the popup’s Features tab
- Release notifications: A non-intrusive toast notifies you when a new Plume release is available
- Several languages: Enjoy Plume in 7 languages: en 🇺🇸, es 🇪🇸, fr 🇫🇷, it 🇮🇹, pt_BR 🇧🇷, ro 🇷🇴, ru 🇷🇺 (more on demand!)
🚀 Installation
Either install the extension from the Chrome Web Store or the Mozilla Add-ons site.
If you want to install it manually (for local build or development), follow the instructions in the installation file.
- Go to any Bandcamp album or track page
- The extension replaces the original player with the Plume player
- The enjoyment is yours! :sunglasses: and the pleasure is mine :blush:
📝 Development notes
This extension uses:
- Manifest V3: For modern browser compatibility
- Cross-Browser API: Automatic Chromium/Firefox/Safari detection
- Content Scripts: To interact with Bandcamp pages
- Storage API & localStorage: Saves preferences in browser cache
- Vanilla TypeScript: No runtime framework dependency in the injected player
- Sass + Tailwind 4: Used for efficient, maintainable styling
- Vitest: For unit testing core logic and use-cases
- ESLint + Prettier: For code quality and consistency
- Web Audio Beat Detector library: For live BPM detection
The code is fully commented and structured for understanding, easy contribution and modification.
Plume includes a Vitest-based unit test suite for core logic and use-cases.
🐛 Troubleshooting
The extension doesn’t load (developer mode)
- Make sure developer mode is enabled
- Reload the extension from
chrome://extensions/ (or about:debugging for Firefox)
Any other problem
- Check the developer console (F12) for errors
- Make sure there’s an audio player on the page
- Refresh the Bandcamp track/album page
- Try refreshing the page
If the issue persists, open an issue with details about your web browser and the page URL.
🗃️ Roadmap
Find details about each release in CHANGELOG.md.
- [1.13.0] May 15 2026: Ride The Wave #166
- [1.12.0] Apr 29 2026: À la carte #152
- [1.11.0] Apr 11 2026: All Access Pass #142
- [1.10.0] Mar 30 2026: Condo in Manhattan #127
-
- [1.8.0] Feb 23 2026: Silent Robert, Spread The Word! #081
- [1.7.0] Feb 01 2026: Tell Me Quick, What Time Is It? #076
- [1.6.0] Jan 18 2026: Pedal To The Metal #067
- [1.5.0] Nov 10 2025: “Demi-tour, slide !” #060
-
| [1.4.0] Sep 08 2025: Sticky Sherlock #048 |
Reddit hears: Plume is ready for use. |
- [1.3.0] Sep 04 2025: Fiat Lux Numeris #042
- [1.2.0] Aug 19 2025: Whatchu Say? #038
- [1.1.0] Jul 30 2025: Pretty Boy #028
- [1.0.0] Jul 28 2025: First Release #018
- [0.1.0] Jul 28 2025: Project configuration, song title display and playback. #013
- [0.0.0] Jul 28 2025: Hello World!
🔮 Possible future improvements
All of them are listed in the issues.
Those with the 🚀 emoji are new features, those with the ↗️ emoji are improvements!
Don’t hesitate to suggest new ideas by opening an issue yourself!
Developed with ❤️ to enhance the Bandcamp experience
Back to top