2025-06-02 16:51:22 +02:00
2025-06-02 16:51:22 +02:00
2025-06-02 16:51:22 +02:00
2025-06-02 16:51:22 +02:00
2025-06-02 16:51:22 +02:00

Roon Now Playing Extension

This repository contains a Now Playing extension for Roon that displays current track metadata, including cover art and lyrics. It integrates with the official roon-kit API and uses a Python script to fetch lyrics from the Musixmatch API

Contents

  • roon_extension.js: Main Roon extension that listens to playback events and displays Now Playing information.
  • get_lyrics.py: Python script that fetches lyrics from Musixmatch based on artist and song title.

Requirements

Node.js (for roon_extension.js)

Install dependencies:

npm install roon-kit

on Arch Linux:

yay -S roon-kit

Python (for get_lyrics.py)

  • Python 3.x
  • requests library

Setup

API Key

This extension requires a Musixmatch API key to fetch lyrics. Save your API key to:

~/.apikeys/musixmatch

Make sure the file contains only your API key as plain text.

Run the extension

Start the Roon extension using Node.js:

node roon_extension.js

Make sure Python is in your PATH and executable from the same environment.

Features

  • Displays Now Playing info using the Roon API.
  • Automatically fetches lyrics from Musixmatch.
  • Uses cover art from Roon and external metadata if available.

Waybar config

In modules add

"custom/roon",

then add the extension block

  "custom/roon": {
    "exec": "cat /tmp/waybar_roon_info.json",
    "format": "{text}",
    "tooltip": true,
    "return-type": "json",
    "signal": 3
  },

License

MIT License

Description
No description provided
Readme 29 KiB
Languages
JavaScript 77.5%
Python 22.5%