Omahub
← All plugins
E

SongRec

by Elliot

Identify the song playing on your computer or around you, like Shazam in iOS Control Center.

Install
$ omarchy plugin add https://github.com/cempack/SongRec --enable
Widgets #bar #quickshell #media

SongRec for Omarchy

Identify the song playing on your computer or around you from the Omarchy bar, like Shazam in iOS Control Center.

Click the waveform icon to start listening. It uses the theme accent and pulses while SongRec runs. On a match, a notification shows album art, title, and artist. Click the notification to play the track in Spotify (or open Shazam if no Spotify link is available).

Tap again while listening to cancel. After about 20 seconds with no match, listening stops and a “No match found” notification appears.

Requirements

If SongRec is missing, the first click (or the hotkey) installs songrec with pkexec pacman. Omarchy’s polkit dialog asks for your fingerprint or password. After it succeeds, listening starts automatically.

By default it listens to computer playback (the default speaker/headphone monitor) and the microphone at the same time, and uses whichever match arrives first. Set audioDevice to force a single device from songrec recognize -l.

Optional: the official Spotify desktop client, so notification clicks can play the match in the running app.

Install

omarchy plugin add https://github.com/cempack/SongRec.git --enable

Usage

  • Left click the bar icon — start or cancel listening
  • Super+Shift+Z — same toggle, if you bind it (see below)
  • omarchy-shell io.github.cempack.songrec toggle

Settings

Inline on the bar layout entry in ~/.config/omarchy/shell.json:

Key Default Meaning
audioDevice "" Device from songrec recognize -l. Empty listens to playback and the microphone.
timeoutSec 20 Seconds to listen before giving up (5–60).
omarchy bar move io.github.cempack.songrec --section right

Keyboard shortcut

o.bind("SUPER + SHIFT + Z", "Identify song", "omarchy-shell io.github.cempack.songrec toggle")

Privileges and external commands

This plugin runs inside the Omarchy shell (your user session, unsandboxed). It may run:

  • songrec recognize --json to identify audio
  • pkexec pacman -S --noconfirm --needed songrec only when SongRec is not installed
  • curl to download cover art into ~/.cache/omarchy/songrec
  • omarchy-notification-send for match and status toasts
  • busctl / omarchy-launch-spotify / spotify --uri= / xdg-open when you click a match notification

It does not change system files except the optional polkit-authorized songrec package install.

Tests

./tests/run

Remove

omarchy plugin remove io.github.cempack.songrec

License

MIT. See LICENSE.