Real-time Windows Now Playing data + Audio Visualizer JSON over WebSocket
NowPlaying.WebSocket is a lightweight Windows application that:
- Streams Now Playing media data
- Streams real-time Audio Visualizer data (real FFT-based frequency analysis, not a fake amplitude sampler)
- Exposes everything via local WebSocket (JSON)
- Works as a standalone desktop media controller
App Main ScreenShots
Settings UI
Flyout UI
Most tools can show Now Playing.
Very few provide:
- Real-time Audio Visualizer data
- Clean JSON over WebSocket
- Easy integration for browser apps, overlays, or OBS
This app focuses on all of them together.
The main feature.
The app streams live audio analysis data, computed with a real FFT (not a time-domain approximation):
- Volume level (mono + separate Left/Right channel levels)
- Bass / Mid / Treble
- 16-band frequency spectrum array
Perfect for:
- Audio visualizers
- Reactive UI
- OBS browser sources
- Web-based overlays
- Stream tools
๐ก Endpoint: ws://localhost:27871
Real-time media information:
- Title
- Artist
- Album
- Playback state
- Timeline (position / duration)
- Album art URL
{
"type": "audioVisualizer",
"schemaVersion": 1,
"appVersion": "6.8.26",
"volume": 35,
"volumeLeft": 33,
"volumeRight": 37,
"bass": 59,
"mid": 43,
"treble": 40,
"spectrum": [50, 36, 42, 40, 41, 38, 37, 42, 38, 41, 35, 30, 22, 15, 8, 2],
"updatedAt": "21:18:20"
}{
"type": "nowPlaying",
"schemaVersion": 1,
"appVersion": "6.8.26",
"title": "Come Together - Remastered 2009",
"artist": "The Beatles",
"album": "Abbey Road (Remastered)",
"playback": "Playing",
"isPlaying": true,
"positionSec": 74,
"durationSec": 259,
"positionText": "1:14",
"durationText": "4:19",
"timelineVisible": true,
"timelineState": "interpolating",
"timelineReason": "trusted.native.timelineEvent",
"albumArtUrl": "http://localhost:27871/album-art",
"updatedAt": "21:18:20"
}All JSON fields use
camelCase. Every message also carriesschemaVersion(a protocol version number) andappVersion(the running app's version) โ checkschemaVersionif you're building an integration that needs to detect an outdated/mismatched client.
Not just a WebSocket server โ a full Windows app.
- Play / Pause
- Next / Previous
- Mute / Unmute
- Volume control (slider + mouse wheel)
- Tray icon with quick access
- Click to open flyout panel
- Lightweight, always accessible
- Checks for new versions automatically
- One-click update from the About panel โ downloads, verifies, and installs the new version for you
- Update status is echoed as a small banner when it's relevant
- Click Title / Artist / Album โ copy to clipboard
- Always on top (optional)
- Run at startup
- Start minimized to tray (no visible flash on launch)
- Dark theme
- Hide tray icon
- Automatic loopback capture
- Manual device selection:
- Speakers
- Headphones
- Microphones (WASAPI)
Control update speed:
- Lower = smoother animation
- Higher = lower CPU usage
Useful for fine-tuning real-time visualizers.
Use directly in:
<img>- Canvas apps
- Overlays
Designed for:
- Frontend developers
- OBS users
- Stream tool creators
- Dashboard builders
This repository includes ready-to-use HTML examples that connect to the WebSocket server and visualize real-time data.
๐ Just open them in your browser while the app is running.
- Displays title, artist, album
- Shows playback state
- Timeline & progress bar
- Live JSON stream
๐ File: examples/basic-nowplaying.html
- Adaptive bars
- Beat punch effect
- Radial visualizer
- Smoothing & gain control
๐ File: examples/advanced-plus-audio-visualizer.html
- Audio Visualizer (web)
- OBS browser source
- Desktop widgets
- Music dashboards
- Stream overlays
- Web-based music UI
Latest version: Releases
- No personal data collected
- No media content sent externally
- Everything runs locally
Optional: Anonymous usage analytics (can be disabled)
This repository contains compiled application only. Source code is not included.
Free for personal use. Commercial use requires permission.








