voxity
status: ONGOINGinception: June 2025
Voxity (prev. Audion and Music player) is a PWA local music file player. Its premise is simple: select your file... and... that's it. It has a few cool things, like timed lyrics, visualizers, metadata handling, themes, and a lot of clickable things. What you see is pretty simple, but under the hood, it's quite advanced, considering I made it myself just for putting <audio> on steroids.
features
- Online lyric searching and displaying, with clickable lines from LRCLIB or Musixmatch
- A queue with an intelligent shuffle system and drag-to-reorder
- Metadata parsing and displaying, courtesy of jsmediatags
- 10+ themes
- 3 responsive visualizers with variable FPS
- An intuitive hotkey system with many binds
- Integration with the Media Session API
- Crude WebVTT and SubRip subtitle parsing, on top of LyRiC parsing
- A basic sleep timer
- Sound effects for finished queue, error, welcome, and more
- System notifications when a new song begins (requires permission)
- Modals above sliders for precise input
- Click to copy metadata fields, for example, clicking the artist name copies it to your clipboard
- Variable accent color which applies to the entire UI and visualizer
- A settings area with many options, with more to come
- A lyrics browser and editor
- A rotating tab title which shows various information about the current song to avoid clutter/truncation
- An error/success toast system in the bottom right corner with an intuitive timer and pause-on-hover
and more!
what it doesnt have
- The ability to scan your drive for music -- you must bring it the music
- Live radio / stream support
- Advanced audio manipulation such as an equalizer
- Optimization. However, the code is heavily browser-reliant, so any modern system should run it fine as-is
- Analytics or a server-side component excluding the Musixmatch proxy, which is entirely optional and not even default
why?
I couldn't find a player like this (nor did I really look), and I wanted to consolidate my previous audio-related things into one project I can actually call an "app".