Claude and WiiM

tcapelle

New Member
Joined
May 14, 2023
Messages
5
Integrating the music experience with Claude
Yesterday my wife and I went to a wonderful piano concert featuring Wagner and Liszt. The next day, I wanted to keep exploring Liszt's piano concertos, so I started chatting with Claude about what to hear next. It was immediately useful: Claude suggested different recordings of Piano Concertos No. 1 and No. 2, compared pianists, and pointed me toward versions I would probably never have found on my own.
That made me wonder: if Claude is already great at guiding the listening experience, why not let it search Tidal for me too?
I already have a Tidal subscription, but I often find Tidal's search experience clumsy, especially when I want to explore interpretations, performers, or follow a musical thread. It turns out Tidal has a solid API, and the cleanest way to expose it to Claude is through a Skill. A Skill is basically a Markdown file that gives Claude a small, reusable capability with the right commands and examples.
That led to the first skill in this repo: `tidal-api`. It lets Claude search the Tidal catalog, browse favorites, get recommendations, and create or update playlists. That solved discovery, but not playback. Tidal's API is great for catalog access, yet it does not directly let me tell my audio device, "play this on the speakers in the living room."
That is where the WiiM came in. I have a WiiM Mini at home, so I asked Claude to investigate whether the device could be controlled locally. Bingo: WiiM exposes a local API for transport controls such as play, pause, mute, next, and volume.
At first, the obvious idea was to fetch a Tidal stream URL and send it to the WiiM. Technically, that worked, but the result was disappointing: lower-quality playback, missing artwork, and poor metadata in the app. It felt like a hack, not a real integration.
The better approach was surprisingly simple. WiiM can play one of its saved playlists through the local API, so Claude suggested a bridge:
- Create a playlist in Tidal
- Save that playlist as a favorite on the WiiM
- Use the WiiM API to start playback
That gives me native Tidal playback from Claude, with the full WiiM experience intact.
So the final setup looks like this: `tidal-api` handles discovery and playlist creation, while `wiim` handles local playback control. Together they make Claude feel less like a chatbot and more like a real music companion, one that can both recommend what to hear next and actually put it on.
The code and skill files are here if you want to try the same setup yourself.

What can we do with this?
Once Claude can search Tidal, create playlists, and send them to a WiiM for native playback, the interesting part is not the plumbing anymore. It is the listening workflows you can build on top of it.
Here are a few examples I would personally want to use:
- Learn a musical period. Ask Claude to build a gentle introduction to Baroque music, then expand it over time: start with Bach and Handel, add Vivaldi, then move toward lesser-known composers once the basics feel familiar.
- Explore interpretations of a single work. Create a playlist of ten versions of the same concerto, sonata, or opera excerpt so you can compare phrasing, tempo, and recording styles in one sitting.
- Curate a morning playlist every day. Ask Claude to generate a fresh 30-minute selection each morning based on mood, recent listening, weather, or day of the week, then send it directly to the kitchen or living room speaker.
- Build guided entry points into new genres. For example: "make me a playlist to get into jazz piano," "introduce me to Brazilian music," or "give me a path into ambient music without starting too experimental."
- Make situational playlists quickly. Dinner with friends, focused work, reading, Sunday morning coffee, background music for coding, or a calm late-night set can all become one prompt instead of fifteen minutes of manual searching.
- Follow curiosity in real time. If a concert, a book, or even a conversation mentions a composer, performer, or tradition, Claude can immediately turn that curiosity into something playable instead of leaving it as a tab you never revisit.
- Rebuild and refine playlists iteratively. You can ask for versions like "same idea, but more lyrical," "less famous recordings," "only solo piano," or "keep the first five tracks and replace the rest."
This is the part that feels exciting to me. The setup is small, but it starts to turn music listening into an interactive conversation: not just "play this track," but "help me learn, compare, discover, and shape a listening session on the fly."
 
Back
Top