NewPixdrop visualizer, synced lyrics and karaoke→
Classic Winamp skins. Pixel‑exact. Native on your Mac.
Pixamp is a music player in the style of Winamp 2.x. Drop in any .wsz skin and it draws the way its author made it. Watch the music with a MilkDrop-style visualizer. Sing along with synced lyrics. Script it from the terminal, or bind it to Raycast hotkeys. No Electron. No web view.
Free and open source (MIT) · macOS 14 or later · No prebuilt download yet
Click a skin to reskin this page.
1. Skins
Thousands of skins. Drop one on any window.
A .wsz skin is a zip of bitmaps. Pixamp reads the same sprites at the same coordinates as the original player. Nothing is redrawn or approximated.
- Find a skin. The Winamp Skin Museum has thousands.
- Drop it on the player, the equalizer or the playlist. Or choose Skins → Install Skin…
- Missing bitmaps are fine. Graphite fills any gap a skin leaves.
2. Pixdrop
Put the music on the big screen.
Pixdrop is a MilkDrop-style visualizer, drawn with Metal. Its 15 presets react to bass, mid and treble. Every 20 to 35 seconds, one blends into the next.
- ⌃⇧K
- Show Pixdrop
- F
- Full screen. Or double-click. Esc leaves it.
- N P
- Next or previous preset
- H
- Hard cut: change preset with no blend
- A
- Auto-change on or off
Full screen keeps the display awake while music plays. Pixdrop has its own presets. It does not load MilkDrop .milk files.
3. Lyrics
Synced lyrics. Karaoke in full screen.
Put an .lrc file next to the song, with the same name. The lyrics window lights up each line as it's sung. Click a line to play from there.
- ⌥L
- Show lyrics
- ↑ ↓
- Previous or next line
- + −
- Lyrics early or late? Nudge them a quarter second. The fix is saved in the
.lrc. - F
- Karaoke: the current line large, over the blurred album cover
Pixamp doesn't download lyrics. LRCGET fetches them for a whole library. Karaoke keeps the display awake while music plays.
- There is a flower within my heart
- Daisy, Daisy!
- Planted one day by a glancing dart
- Planted by Daisy Bell!
- Whether she loves me or loves me not
- Sometimes it's hard to tell
- Yet I am longing to share the lot
- Of beautiful Daisy Bell!
- Daisy, Daisy, give me your answer, do
- I'm half crazy, all for the love of you
- It won't be a stylish marriage
- I can't afford a carriage
- But you'll look sweet upon the seat
- Of a bicycle built for two
4. Keys
Your fingers still know the keys.
Z X C V B: previous, play, pause, stop, next. Same as always. Try them on the display.
- Space
- Play or pause
- ← →
- Seek 5 seconds
- J
- Jump to file
- Q
- Queue the selected tracks to play next
- ⌃V
- Stop after the current track
- L
- Open files
- ⌃D
- Double size
Press X to play
5. CLI and Raycast
Drive it from the terminal. Or from Raycast.
While Pixamp runs, it listens on a local socket. The pixamp command and the Raycast extension both talk to it. Only your user account can connect. No network port.
# This terminal drives the player above.
# Type a pixamp command, or tap one below.
Command line
Choose Pixamp → Install Command Line Tool… to put pixamp in ~/.local/bin. No admin password.
Raycast Local install
17 commands. Now Playing, playlist search and a menu bar item. EQ and Pixdrop presets, a sleep timer, and play what's selected in Finder. Bind any of them to a hotkey. Not in the Raycast Store yet. Setup
Your own scripts
One JSON request in, one JSON response out. The protocol is small and documented. Read the API
6. Player
The whole player. Plus the Mac parts.
Main window, 10-band equalizer and playlist editor. Pixdrop, album art and lyrics windows too. All drawn from the skin's bitmaps.
Albums play straight through, with no gap between tracks. Repeat all, repeat one and shuffle.
Ten bands and a preamp. 17 built-in presets. Loads and saves .eqf files.
Spectrum analyzer and oscilloscope. Click to switch. Right-click for options.
M3U, M3U8 and PLS. Drop a folder and Pixamp walks it recursively.
Press J, type part of a title, press Return. It plays. ⇧ Return plays it next.
Press Q in the playlist. Queued tracks play next, in order. Then the playlist carries on where it was.
⌃V stops after this track. The sleep timer fades out over 10 seconds, then pauses.
⌥A shows the embedded cover, or the cover image in the album folder. Now Playing uses it too.
Pick speakers or headphones. Pixamp remembers them. If they disconnect, sound goes to the system default until they return.
Windows snap to each other and to screen edges. ⌃D for double size.
Always on top. In every Stage Manager stage. On every desktop.
Media keys, Control Center and the Now Playing widget all work.
MP3, AAC/M4A, ALAC, FLAC, WAV, AIFF. Anything Core Audio decodes.
Internet radio, OGG/Opus, window shade mode, non-rectangular skins.
7. Build
No download yet. Build it yourself.
Pixamp is a personal project, made for daily use. Signed and notarized downloads are planned, with no date promised. Until then, it takes four commands.
- macOS 14 or later
- Xcode 16 or later
- Swift 6
$ git clone https://github.com/gnapse/pixamp.git $ cd pixamp $ make release $ cp -R build/Pixamp.app /Applications/
Builds are signed ad hoc, for your own Mac. Add make install-cli for the pixamp command.