What is the NoMercy Music Player
nomercy-music-player is the headless audio engine that powers music on NoMercy TV.
The tricky part of a music player is the hand-off between two tracks, and this engine is built around getting it right: sample-accurate crossfade on the Web Audio backend, or a gapless transition when you want one track to run straight into the next.
Lyric sync and a full EQ chain are here too.
No UI is bundled; you wire your own to plain events and methods.
What you get
NMMusicPlayer<T>, a typed player class generic over your own track typenmMPlayer(id), a factory that creates or returns a named instance- Sample-accurate crossfade and gapless playback, with a swappable audio backend
- Lyric sync, a ten-band equalizer, and spectrum data for visualisers
- A plugin for every optional capability, plus full TypeScript types
Where it sits
The generic parts (queue, auth, plugins, i18n, storage) live in nomercy-player-core underneath, so this package stays focused on what makes audio hard.
3
Your applicationYour app code
Your UI and app logic, built on the player.
2
nomercy-music-playerYou are here
Music-specific methods and events (IMusicPlayer<T>).
1
nomercy-player-corePeer dependency
Queue, auth, plugins, event bus, i18n, storage.
Next steps
- Quick Start: a working player in a few lines
- Configuration: every option and default
- Crossfade: the signature feature
- Architecture: the Web Audio signal chain, the equalizer, and the design decisions