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.2.tar.gz (4.1 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.2-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

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

Hashes for beets_getlrc-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b5f754154c14e01cccbee051d20cb6b5e0a2de2010081d6e69bfea3382729632
MD5 4e626062181a67e77e1c39d94e097c27
BLAKE2b-256 bb919924cb6b84e289d8de0769d059fc7dbd195a58e21feed396f89c041e09b2

See more details on using hashes here.

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

Hashes for beets_getlrc-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 652de7550e6f9634d6d1b40fcc26111cb57da854ef27701f16272e5fddcbeefc
MD5 a91bab79e5c2ef7640e0c22b6886ef2c
BLAKE2b-256 c1452bf6bca30bd4906e960010a9501568d4e6b4c5748572dc3b78ac2ef2456c

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