https://github.com/imranr98/autolyricize
Automatically find and embed song lyrics.
https://github.com/imranr98/autolyricize
automation genius-lyrics genius-lyrics-search lyrics lyrics-finder lyrics-scraping lyrics-search metadata mp3 music python python-3 python-script python3 song-lyric-fetcher song-lyrics songs web-scraping
Last synced: 3 months ago
JSON representation
Automatically find and embed song lyrics.
- Host: GitHub
- URL: https://github.com/imranr98/autolyricize
- Owner: ImranR98
- Created: 2022-05-02T22:22:55.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-12-14T12:32:30.000Z (10 months ago)
- Last Synced: 2025-07-18T11:39:58.146Z (3 months ago)
- Topics: automation, genius-lyrics, genius-lyrics-search, lyrics, lyrics-finder, lyrics-scraping, lyrics-search, metadata, mp3, music, python, python-3, python-script, python3, song-lyric-fetcher, song-lyrics, songs, web-scraping
- Language: Python
- Homepage:
- Size: 73.2 KB
- Stars: 16
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AutoLyricize
> Automatically find and embed song lyrics.
This script scans a specified directory for audio files, and for each file, finds lyrics from Lyricsify.com or Genius.com (as a fallback), and saves them to the file's metadata.
Perfect for use with [Spotiflyer](https://github.com/Shabinder/SpotiFlyer/), [Retro Music Player](https://github.com/RetroMusicPlayer/RetroMusicPlayer), and [Syncthing](https://github.com/syncthing/syncthing) to reduce your dependence on music streaming services.
## Setup
1. Install [Python](https://www.python.org/).
2. Install dependencies by running `pip install -r requirements.txt`.
3. Copy `template.env` to a new file called `.env` and add a valid [Genius.com](https://docs.genius.com/) access token to it (or set the appropriate environment variable some other way).
- If no token is provided, only [Lyricsify.com](https://www.lyricsify.com/) will be used as a data source.
- Other useful fields and instructions can be found in the same file.## Usage
Run `python main.py "path/to/folder"`.
*useful tip for noobs: you can drag a folder into the terminal window to paste its full path* 👍## Limitations
- Inexact search uses Genius's search system, which loves to give you results that have absolutely nothing to do with the original track. If you use inexact search with instrumental tracks or albums, you are going to get garbage data.
- Only works with mp3 files due to a limitation in the eyed3 library.
- Only supports one lyrics field in the metadata! The script will DELETE all the others. If you have multiple lyrics fields for different languages, kiss them goodbye.This script took a little under 3 hours to run for my 5000-song library.