Voxity

Voxity (prev. Audion and Music player) is a semi-advanced PWA local music file player. It has a few cool things, like automatic accent color detecting, timed and interactive lyrics, variable visualizers, a lot of settings, and an abundance of clickable things.

features

  • Online lyric searching and displaying, with click-to-jump lines from LRCLIB or Musixmatch (experimental)
  • LRCLIB is configurable: you can query by Strict (artist, title, album, duration) or Lax (artist and title)
  • 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
  • Many many hotkeys (see hotkeys or the hotkeys button in the app)
  • Integration with the Media Session API
  • Supports WebVTT, SubRip, and LRC as lyrics (just drag the file in)
  • A basic sleep timer
  • Sound effects for finished queue, error, welcome, and more
  • System notifications when a new song begins (requires permission)
  • Precise input modals that can be opened by clicking the corresponding slider's label, for example, clicking the "Volume" label opens a modal where you can type in the exact volume you want instead of dragging the slider
  • 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
  • Automatic accent color generation based on album art
  • 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 in the tab name to avoid clutter/truncation
  • An error/success toast system in the bottom right corner with an intuitive timer and pause-on-hover
  • Levenshtein-distance inspired searching function for the queue (CTRL+F, the dedicated button, or middle-click the queue header)
  • Sliders support mouse wheel scrolling
  • Wake lock holder
  • Clicking the duration in the scrubber toggles between elapsed and remaining time
  • A two level cover art viewer: clicking the cover art opens a larger view, and clicking that opens the full-size image in a new tab
  • A modular, explorable and breakable codebase, creating "plugins" or browser extensions (etc) should be fairly easy (allegedly)
  • Works offline after the first load with a respectful update strategy; when a new update is available, it asks if you want to update, and if you say no, nothing happens
  • A linear text scrolling animation system for very long text (scrolls, retracts, pauses, repeat)

and more!

hotkeys

KeyActionDetails / modifiers
Space or KPlay / pause
EscapeClose modalclosest open modal, stacks
RRestart trackfrom 0
Ctrl + FOpen queue search
TToggle loop
HToggle shuffle
ZPrevious track
XNext track
← J AScrub backwarddefault: -10s
Alt: -30s
Shift: -1s
Ctrl: -5s
→ L DScrub forwardsame as above, only +
↑ WVolume up+1%
↓ SVolume down-1%
0 to 9Jump to percentage0 = 0%, 1 = 10%, ..., 9 = 90%
Shift = half-jump; so Shift + 1 = 5%

ascendants

Voxity was birthed in July 2025 after combining these three projects:

Basic player

A basic video/audio player with the same ethos as Voxity; the speed-volume-scrub sliders and controls. player.exerinity.com - github

Visualizer

A... visualizer. visualizer.exerinity.com

Doom/Incompetech player

A concept of a song picker and player, two variants for DOOM and Incompetech (Kevin MacLeod). exerinity.com/doom/ost and demo.player.exerinity.com

Inspirations where credit is due

  • Windows Media Player for the rotating tab title logic, in the mini player
  • Winamp for the status bar system
  • VLC media player for the notifications (...kinda)
  • foobar2000 for the tagline "plays music." (it is a carbon copy from its buttons) and other minor things here and there