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.6.tar.gz (5.2 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.6-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: beets_getlrc-0.1.6.tar.gz
  • Upload date:
  • Size: 5.2 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.6.tar.gz
Algorithm Hash digest
SHA256 65385c1871f4c20cfa061d7be6f42f9e563d5feb1e66343ec11457e0311d5514
MD5 7af8c1bdc67fae4dab289306e6f940e7
BLAKE2b-256 971e44f6e7279c28c01ce50923744dc75dc3f2be1f1920bcde4d846590de7aa7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beets_getlrc-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.5 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a393298a4ede06f9079707e51ebc89aeda5298273afb31348fdf85617d120543
MD5 41ee6b32b9f444cd2a6773efbf844712
BLAKE2b-256 652c81990bf3a37c6bc92ba24095d4aa47ed25d62fcd1fb8517e5c440d99e82e

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