Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/x-eon-max/LiveLyrics/llms.txt

Use this file to discover all available pages before exploring further.

You can have real-time song lyrics showing up in your Discord custom status in about five minutes. All you need is Python, two pip packages, and your Discord user token — no accounts, no sign-ups, no build steps.
Prerequisites — make sure you have the following before starting:
  • Python 3.8 or newer installed on Windows
  • Windows 10 or Windows 11
  • A Discord account and your Discord user token
1

Install dependencies

Open a PowerShell or Command Prompt window and install the two required packages:
pip install requests winsdk
2

Configure your token

Open LiveLyrics.py in any text editor and set the TOKEN variable at the top of the file to your Discord user token:
LiveLyrics.py
TOKEN = 'paste-your-discord-token-here'
Save the file. Not sure where to find your token? See the Installation guide for a step-by-step walkthrough.
3

Start playing music

Open any media player — Spotify, Windows Media Player, a YouTube tab in your browser, or anything else that integrates with the Windows media session — and start playing a track. LiveLyrics reads whichever session Windows marks as the current one.
4

Run the script

In your terminal, navigate to the folder containing LiveLyrics.py and run it:
python LiveLyrics.py
The script will begin polling immediately. Leave the terminal window open; closing it stops the script.
5

Check Discord

Switch to Discord and look at your profile or the member list in any server. Your custom status should now display the current lyric line alongside the 🎵 emoji, updating automatically as each new line begins.

What you’ll see in the terminal

LiveLyrics logs every action it takes with a [HH:MM:SS] timestamp so you can follow exactly what it’s doing:
[12:34:01] Starting script.
[12:34:01] Requesting media sessions (MediaManager.request_async)...
[12:34:01] Sessions retrieved, searching for current session...
[12:34:01] Session found: <session>
[12:34:02] Media found -> title='Bohemian Rhapsody' artist='Queen'
[12:34:02] Requesting LRCLIB for track_name='Bohemian Rhapsody', artist_name='Queen'...
[12:34:02] LRCLIB response: status_code=200
[12:34:02] 85 lines of lyrics parsed.
[12:34:02] Updating Discord status with: 'Is this the real life?'
Each iteration of the loop repeats this process, sleeping only 10 ms between cycles so lyric transitions feel immediate.

Fallback behavior

If LRCLIB has no synced lyrics for the currently playing track, LiveLyrics will set your Discord status to "Artist - Title" (for example, "Queen - Bohemian Rhapsody") instead of leaving it blank. Once you start a track that does have synced lyrics, the status switches back to line-by-line display automatically.

Next steps

How media detection works

Learn how LiveLyrics uses the Windows SDK to find the active media session and extrapolate the playback position in real time.

Configuration reference

See every configurable value in the script — token, cache behaviour, polling interval, and more.

Build docs developers (and LLMs) love