https://github.com/tripasect/lyricsx-musixmatch
Automatically find and download the lyrics of your offline current playing song from Spotify - Musixmatch and display it with LyricsX. Currently works only on Mac OS.
https://github.com/tripasect/lyricsx-musixmatch
lyrics lyrics-fetcher lyrics-finder lyrics-search lyricsx mac mac-os musixmatch spotify
Last synced: 8 months ago
JSON representation
Automatically find and download the lyrics of your offline current playing song from Spotify - Musixmatch and display it with LyricsX. Currently works only on Mac OS.
- Host: GitHub
- URL: https://github.com/tripasect/lyricsx-musixmatch
- Owner: tripasect
- Created: 2023-06-04T13:36:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-12T12:31:34.000Z (about 2 years ago)
- Last Synced: 2023-10-13T09:26:22.988Z (about 2 years ago)
- Topics: lyrics, lyrics-fetcher, lyrics-finder, lyrics-search, lyricsx, mac, mac-os, musixmatch, spotify
- Language: Python
- Homepage:
- Size: 112 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Lyricsx-Musixmatch
Automatically find and download the lyrics of your current offline playing song from Spotify-Musixmatch and display it with LyricsX. Currently works only on Mac OS.
![]()
# Screenshots
https://github.com/tripasect/lyricsx-musixmatch/assets/59469654/968cfe2a-0307-41d4-a631-90fbf39afbb8# Requirements
- [LyricsX](https://github.com/ddddxxx/LyricsX)
- [SpotiPy](https://github.com/spotipy-dev/spotipy)
- [nowplaying-cli](https://github.com/kirtan-shah/nowplaying-cli)
- [Syrics](https://github.com/akashrchandran/syrics)
- [Alfred ](https://www.alfredapp.com/)(Optional: Only if you want to run the script with a hotkey or a keyword.)# Installation
- Make sure you have LyricsX, SpotiPy and Syrics installed. Modify the .command file to add your client_id, client_secret and the path to nowplaying-cli-1.1.0.command.
- Make the .command file executable and execute it. It should do what it's supposed to do.
- Additionaly, you can add a trigger for its execution as an Alfred workflow.# How it Works
It reads your current playing song using 'nowplaying-cli-1.1.0', searches for its trackID on Spotify using 'SpotiPy', downloads the corresponding .lrc lyrics file using 'Syrics', changes its extension to '.lrcx', moves it to default LyricsX folder, relaunches LyricsX for it to notice it's already got the lyrics file.# The 'background-daemon.py' file
Run ```nohup python3 background-daemon.py``` to have it running in the background. It repeatedly watches to see if you've changed your current playing song. When it detects change, it launches the fetch-lyrics-from-musixmatch.command, which fetches and shows the lyrics. It keeps watching for change until, UNTIL you stop listening to music altogether for 4 minutes. In that case it automatically breaks its loop and exits. Make sure to run the daemon again in your next listening session. Add an Alfred workflow for convenience. One is appended.# Alfred workflow
[My personal Alfred workflow](https://github.com/tripasect/lyricsx-musixmatch/blob/main/LyricsX-Musixmatch%20Fetch%20Lyrics.alfredworkflow) is appended. It needs a bit of configuring on your side. Note that in it, ```daemon.py``` points to that same ```background-daemon.py``` file.