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.4.tar.gz (4.4 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.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: beets_getlrc-0.1.4.tar.gz
  • Upload date:
  • Size: 4.4 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.4.tar.gz
Algorithm Hash digest
SHA256 acf9c4d07c7713fa662a1f5dd5b83f319d1545051d4c67d4c433820a9294f144
MD5 5f15d7f6c01b9473162ab63799390cbf
BLAKE2b-256 af7b8e64768e9bffe0c98edc2d68dc0b024d2b1536e7b60f7b42c1c916fcc033

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beets_getlrc-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 4.6 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6db940dfa1c14f465844c0fb5069bb2fb06e059c86156d600fafb6c45f751c8f
MD5 1123501eef8ed77589ccaec2118c6ab4
BLAKE2b-256 596afb1f25f3ca5977068496faf5e640981041021136417effce812cfe1ba1f7

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