Skip to main content

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

  1. The plugin looks for the artist and other tags in the meta data
  2. it looks for the lyrics at lrclib.net
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beets_getlrc-0.1.5.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

beets_getlrc-0.1.5-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file beets_getlrc-0.1.5.tar.gz.

File metadata

  • Download URL: beets_getlrc-0.1.5.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for beets_getlrc-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3dbbfd2dd76967b68958f67515f4b4e4a0ad9c439196f7b84f98638406834ce4
MD5 a2f20c772e3e83b147e1b7f6cee47dba
BLAKE2b-256 3dd76529fbd4cdf2fba5ed2740ba84a88c41efdd358415bbc28501158e9a3878

See more details on using hashes here.

File details

Details for the file beets_getlrc-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: beets_getlrc-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for beets_getlrc-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d9d2c1a56757c5a3aba10466802411ebd976eac07088b0450205a38089a37f5b
MD5 83bce29296ddd4000c7fd09d1b4166f5
BLAKE2b-256 2afbfa63b241b81f6aed790d308676a05dfedaa80c68a0c1783c78d33e6c5011

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page