Vibez 0.3.0 out now! TUI Apple Music player for Linux and MacOS - thanks for 100+ stars on GitHub!
▲ 93 r/AppleMusic+5 crossposts

Vibez 0.3.0 out now! TUI Apple Music player for Linux and MacOS - thanks for 100+ stars on GitHub!

Hey!

I've been building vibez, a TUI Apple Music player for Linux and MacOS

v0.3.0 is out today!

Here's what changed:

Play Next

Press Shift+Tab on albums, artists, recommendations, or tracks to insert them right after the currently playing song.

Better queue management

You can now reorder the queue with Shift+↑/↓ (or **Ctrl+↑/↓**). The selection automatically follows the moved track, making queue editing much smoother.

Keyboard shortcut docs

The README and in-app help now document Tab (add to queue), Shift+Tab (play next), and Shift+↑/↓ (move in queue).

More reliable playback

Improved Widevine DRM support for headless playback and macOS, fixing playback issues and CONTENT_UNSUPPORTED/"no DRM" errors in Chrome-based streaming.

Better authentication

Expired Apple Music user tokens are now detected during startup and automatically trigger the re-authentication flow instead of leaving the player stuck on initialization.

Fixes

* Gracefully handle empty Apple Music libraries and Favorites (404 responses now return empty collections instead of failing).
* Fixed equalizer keyboard conflicts, so navigation keys no longer interfere with playback controls while the EQ panel is open.

Install, instructions and more: https://github.com/simonepelosi/vibez

Feedback and issues are very welcome. If you're enjoying vibez, a star on GitHub would mean a lot!

u/pelpsi — 4 days ago
▲ 69 r/linuxaudio+7 crossposts

Vibez v0.2.0 — Apple Music in your terminal, now with library browsing, 10-band EQ, macOS/WSL2 support + more

Hey!!

I've been building vibez — a TUI Apple Music player for Linux. Think cmus or ncspot, but for Apple Music.

v0.2.0 is out today. Here's what changed:

Library browsing

You can now browse your personal Apple Music library sections for Songs, Albums, Artists, and Playlists directly from the interface.

10-band parametric EQ

Fine-tune your playback using a new 10-band parametric equalizer. Settings are fully persisted so your custom mix is saved across sessions.

Configurable audio quality

Take control of your bandwidth and sound. You can now configure your preferred Apple Music audio quality inside your config or change it on
the fly via the :quality command.

macOS & WSL2 support

We've expanded platform compatibility: vibez now supports macOS natively via Chrome/CDP playback and introduces a dedicated workaround flag
to fix audio issues under WSL2.

Fixes

Playlist browsing now gracefully falls back to ?include=tracks if Apple's API returns a 404 for library track requests.

Library loading errors are now properly surfaced in the UI instead of failing silently.

Clearer local-build auth guidance is now displayed on 401 Apple Music API errors.

Install, instructions and more: https://github.com/simonepelosi/vibez

Feedback and issues very welcome — still early days. Star if you like it!

u/pelpsi — 1 month ago
▲ 34 r/linuxaudio+4 crossposts

Vibez v0.1.0 — Apple Music in your Linux terminal, now with auto-update, playlist editing + more

Hey!

I've been building vibez — a TUI Apple Music player for Linux.
v0.1.0 is out today!

Here's what changed:

Auto-update:

vibez now checks GitHub for a new release on startup (once per 24 h). If one is available, it downloads the binary, verifies its SHA-256 checksum, atomically replaces itself, and re-execs — all while showing progress on the loading screen. Pass --no-update to skip it.

Expired session detection:

Before starting the audio engine, vibez now probes Apple Music with the stored user token. If it gets a 401/403 it clears the token and re-authenticates cleanly, instead of looping silently.

Add tracks to playlists:

Press p on any queue item (or ctrl+p in search results) to add it to an existing Apple Music library playlist.

Streaming quality in header:

The current MusicKit bitrate (e.g. 256 kbps) is now shown next to the volume indicator. vibez also explicitly requests the highest available quality.

Fixes:

MPRIS app icon now resolves correctly in desktop media panels and notifications.

Install, instructions and more: https://github.com/simonepelosi/vibez

Feedback and issues very welcome — still early days. Star if you like it!

u/pelpsi — 2 months ago
▲ 3 r/golang

Hey all,

I’m building Vibez, a Go-based app that integrates with Apple Music via MusicKit JS. Right now I’m relying on a headless Chrome instance to handle the web auth flow and playback context, but this feels pretty heavy and fragile.

Repo is there: https://github.com/simonepelosi/vibez

What I’d like to achieve is:
- Remove the Chrome/headless browser dependency entirely
- Handle auth + playback in a cleaner, more backend-driven way (ideally Go-native)
- Still respect Apple Music’s requirements (user token, DRM, etc.)

From what I understand:
- MusicKit JS requires a browser context for user authorization
- Playback is tied to that web environment
- There doesn’t seem to be an official “pure API” way to fully replace it

So I’m wondering:

  1. Has anyone successfully removed headless Chrome when working with MusicKit or similar web-based SDKs?
  2. Are there alternative approaches (e.g. delegating auth to a real browser once, then reusing tokens)?
  3. Is this fundamentally impossible due to DRM / WebKit / FairPlay constraints?
  4. Any Go-friendly patterns for handling this kind of hybrid web/native flow?

I’m open to rethinking the architecture (e.g. separating discovery from playback), but I’d like to avoid spinning up a browser just to make this work.

Curious if anyone has tackled something similar or has insights into cleaner approaches.

Thanks!

u/pelpsi — 2 months ago
▲ 17 r/ASCII

Hey! I'm developing Vibez, an Apple Music TUI player (available there: https://github.com/simonepelosi/vibez ) and I need a feedback for the UI: do you think that the Album ASCII art could fit there? If yes do you have some suggestion/reccomandation ?

u/pelpsi — 2 months ago
▲ 39 r/vibecoders_+9 crossposts

Hey 🐻👋

I've been building vibez — a TUI Apple Music player for Linux that streams full tracks (not 30-second previews) via a headless Chrome +

Widevine DRM. Think cmus or ncspot, but for Apple Music.

v0.0.9 is out today. Here's what changed:

🎨 Themes

Four built-in themes ship now: default (Tokyo Night / Catppuccin), dracula, gruvbox, and nord.

Just drop "theme": "dracula" in ~/.config/vibez/config.json. You can also roll your own palette as a JSON file in

~/.config/vibez/themes/<name>.json — all 20+ color roles are themeable: core palette, progress bar, glow animation, mode chips, even the bear 🐻.

🐛 Fixes that actually matter

- TUI no longer freezes ~500 ms on every track change — _stopAndWait was blocking on the wrong playback states.

- Glow + bear animation no longer speed up over time.

- Library panel was silently broken.

- Apple Music favorites.

- Lyrics panel now loads lazily.

Install, instruction and more there: https://github.com/simonepelosi/vibez

Feedback and issues very welcome — still early days. ⭐️ if you like it!

u/pelpsi — 2 months ago
▲ 22 r/CLI

Hey 🐻👋

I've been building vibez — a TUI Apple Music player for Linux that streams full tracks (not 30-second previews) via a headless Chrome +

Widevine DRM. Think cmus or ncspot, but for Apple Music.

v0.0.9 is out today. Here's what changed:

🎨 Themes

Four built-in themes ship now: default (Tokyo Night / Catppuccin), dracula, gruvbox, and nord.

Just drop "theme": "dracula" in ~/.config/vibez/config.json. You can also roll your own palette as a JSON file in

~/.config/vibez/themes/<name>.json — all 20+ color roles are themeable: core palette, progress bar, glow animation, mode chips, even the bear 🐻.

🐛 Fixes that actually matter

- TUI no longer freezes ~500 ms on every track change — _stopAndWait was blocking on the wrong playback states.

- Glow + bear animation no longer speed up over time.

- Library panel was silently broken.

- Apple Music favorites.

- Lyrics panel now loads lazily.

Install, instruction and more there: https://github.com/simonepelosi/vibez

Feedback and issues very welcome — still early days. ⭐️ if you like it!

u/pelpsi — 2 months ago
▲ 31 r/linuxapps+1 crossposts

Hey 👋

Just dropped v0.0.8 of vibez, my open-source Apple Music TUI for Linux. Here's what's new:

🎙 Last.fm scrobbling Run vibez auth lastfm login once and vibez will automatically:

- Send a Now Playing update when a track starts

- Scrobble it once you've hit 50% playtime (or 4 minutes, whichever comes first)

- Ignore tracks under 30 s and correctly exclude paused time

⏩ Seek Finally! Press ← / → to jump ±10 seconds in the current track. Or use :seek 90 to jump to an exact second.

🔍 Search now returns albums & playlists The / search popup now shows a unified Tracks / Albums / Playlists list, colour-coded by section.

Hit Enter to play, Tab to queue — works on all three types.

Check my repo for trying out (please let me know ❤️): https://github.com/simonepelosi/vibez

u/pelpsi — 3 months ago