Fetch synced .lrc lyrics from lrclib.net for beets
Project description
beets-getlrc
A beets plugin that downloads synced .lrc lyric files for your music.
What does this do?
Some digital audio players (like the walkman, HiBy R3, Shanling M0 Pro, FiiO devices, etc.) can display synced lyrics — the kind that scroll line-by-line as the song plays — but they require a separate .lrc file next to each track.
Beets already has a built-in lyrics plugin that fetches plain text lyrics and stores them in your library database. beets-getlrc fills a different gap: it fetches synced .lrc files from lrclib.net and saves them as sidecar files right next to your FLAC or MP3s.
Installation
bash
# If you installed beets with pip:
pip install beets-getlrc
# If you installed beets with pipx (recommended):
pipx inject beets beets-getlrc
Configuration
Add getlrc to your beets config and tweak the options if needed:
plugins:
- getlrc
- ... your other plugins
getlrc: auto: yes # Fetch lyrics automatically when importing new music overwrite: no # Don't replace existing .lrc files unless you say so timeout: 30 # Seconds to wait per request (prevents hanging) retries: 3 # How many times to retry if lrclib.net is slow delay: 0.5 # Seconds between requests (prevents rate-limit errors)
Usage
Run it manually any time with the beet getlrc command:
| Command | Description |
|---|---|
beet getlrc |
Fetch lyrics for all tracks in your library |
beet getlrc beatles |
Only fetch for tracks matching "beatles" |
beet getlrc -a beatles |
Fetch for albums matching "beatles" |
beet getlrc -f |
Force overwrite existing .lrc files |
beet getlrc -p |
Pretend mode — shows what would be fetched without writing anything |
How it Works
- The plugin looks for the artist and other tags in the meta data
- it looks for the lyrics at lrclib.net
- if found, it adds them to the folder using the same name structure you perfer
Example
Music/ ├── 01 Song Name.flac └── 01 Song Name.lrc <-- created by beets-getlrc
Requirements
- beets 2.0.0 or newer
- python 3.9 or later
- internet
Notes
- This only fetches synced lyrics, so if lrclib.net does not have them, then no lrc files will be created.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file beets_getlrc-0.1.2.tar.gz.
File metadata
- Download URL: beets_getlrc-0.1.2.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5f754154c14e01cccbee051d20cb6b5e0a2de2010081d6e69bfea3382729632
|
|
| MD5 |
4e626062181a67e77e1c39d94e097c27
|
|
| BLAKE2b-256 |
bb919924cb6b84e289d8de0769d059fc7dbd195a58e21feed396f89c041e09b2
|
File details
Details for the file beets_getlrc-0.1.2-py3-none-any.whl.
File metadata
- Download URL: beets_getlrc-0.1.2-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
652de7550e6f9634d6d1b40fcc26111cb57da854ef27701f16272e5fddcbeefc
|
|
| MD5 |
a91bab79e5c2ef7640e0c22b6886ef2c
|
|
| BLAKE2b-256 |
c1452bf6bca30bd4906e960010a9501568d4e6b4c5748572dc3b78ac2ef2456c
|