Skip to content
Contact

How can I help?

Support is available in both English (Hello!) and German (Moin!). I'll get back to you ASAP during my business hours (Mo-Fr, 10:00-17:00 CET).

Listening Post icon Home Listening Post

Listening Post › The Basics

Listening Post hears what you hear. Every minute, it quickly uses the microphone to check for playing music; when it detects a song (using Apple's ShazamKit), it'll verify the recognition a few seconds later. If it's successful in that, the recognized track is saved to its internal database. This always-on recognition is optional, of course. It can also do one-shot music recognition.

Listening Post can also pull in what you shazam elsewhere. Recognitions you make on your iPhone, iPad, or Apple Watch sync over iCloud and land in Listening Post on their own. That makes it the hub for everything you identify across your Apple devices, not just what your Mac's microphone picks up. (This, too, is optional.)

Then, it continues to …

Track enrichment is the process of adding extra metadata to a song after Shazam identifies it. When Listening Post recognizes a track, Apple's Music catalog provides basic information like artist, title, album, and release year.

After that, per-channel enrichment kicks in for enabled channels: for example, ListenBrainz gets MusicBrainz recording IDs, Spotify gets Spotify data, Last.fm provides direct links to the track's Last.fm page, and Deezer provides its own track URL and ID. Each source is only queried when its corresponding channel is enabled and configured. That means that if you haven't set up Last.fm, the app won't bother asking Last.fm for data.

Enrichment happens asynchronously in the background after a track is recognized, once per unique track (not per recognition!), so repeat plays of the same song don't trigger redundant lookups. If an enrichment request fails, the system retries a few times before giving up.

Once a track is enriched and good to go, it's added to an outbox queue, waiting for the end of the so-called …

When a track is recognized, it gets added to a queue for each enabled channel. The app waits for the configured publish delay (default: 5 mins) before sending tracks to any channel — this gives you time to skip false positives (or tell the app to forget particularly awful songs) before they're recorded anywhere. If publishing fails for a particular channel, the track stays in the queue for retry.

After the delay, the track is sent to the channels you've configured.